Index: palm/tags/release-3.7/DOC/app/appendix_a.html
===================================================================
--- palm/tags/release-3.7/DOC/app/appendix_a.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/appendix_a.html	(revision 393)
@@ -0,0 +1,3682 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+
+
+    
+  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>PALM Appendix A</title></head><body>
+
+    
+<h1>PALM error messages</h1>
+
+
+    
+    
+<h3>Explanation</h3>
+
+    
+<dl>
+
+      <dt> PA**** </dt>
+
+      <dd> Identifier for messages in the PALM standard code  </dd>
+
+      <dt>UI**** </dt>
+
+      <dd> Identifier for messages in "user_" routines </dd>
+
+      <dt>NC**** </dt>
+
+      <dd>  Identifier for messages from the NetCDF library </dd>
+
+    
+</dl>
+
+
+    
+<table style="text-align: left; width: 75%;" border="1" cellpadding="2" cellspacing="2">
+
+      <tbody>
+    <tr>
+
+        <td style="vertical-align: top; width: 25%;"><font size="4"><b>Message identifier</b></font></td>
+
+        <td style="vertical-align: top;"><font size="4"><b>Error message</b></font></td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0001"></a>PA0001</td>
+
+         <td>
+      <p>"host" is not set. Please check that environment 
+              variable "localhost" is set before running PALM</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0002"></a>PA0002</td>
+
+         <td>
+      <p>illegal coupling mode: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0003"></a>PA0003</td>
+
+         <td>
+      <p>dt_coupling is  not set but required for coupling mode "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0004"></a>PA0004</td>
+
+         <td>
+      <p>coupling mode "...": dt_coupling = ... is not equal 
+             to dt_coupling_remote = ... </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0005"></a>PA0005</td>
+
+         <td>
+      <p>coupling mode "...": dt_coupling &lt;= 0.0 is not allowed 
+             and is reset to MAX(dt_max(A,O)) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0006"></a>PA0006</td>
+
+         <td>
+      <p>coupling mode "...": restart_time = ... is not equal 
+             to restart_time_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0007"></a>PA0007</td>
+
+         <td>
+      <p>coupling mode "...": dt_restart = ... is not equal 
+             to dt_restart_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0008"></a>PA0008</td>
+
+         <td>
+      <p>coupling mode "...": simulation_time_since_reference =
+             ... is not equal to
+             simulation_time_since_reference_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0009"></a>PA0009</td>
+
+         <td>
+      <p>coupling mode "...":  dx = ... is not equal to 
+             dx_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0010"></a>PA0010</td>
+
+         <td>
+      <p>coupling mode "...":  dy = ... is not equal to 
+             dy_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0011"></a>PA0011</td>
+
+         <td>
+      <p>coupling mode "...": nx = ... is not equal to 
+             nx_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0012"></a>PA0012</td>
+
+         <td>
+      <p>coupling mode "...": ny = ... is not equal to 
+             ny_remote = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0013"></a>PA0013</td>
+
+         <td>
+      <p>illegal value given for loop_optimization: "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0014"></a>PA0014</td>
+
+         <td>
+      <p>a non-flat topography does not allow ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0015"></a>PA0015</td>
+
+         <td>
+      <p>ocean = .T. does not allow ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0016"></a>PA0016</td>
+
+         <td>
+      <p>unknown solver for perturbation pressure: 
+             psolver = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0017"></a>PA0017</td>
+
+         <td>
+      <p>psolver = "..." only works for a 
+             1d domain-decomposition along x 
+             please do not set npey/=1 in the parameter file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0018"></a>PA0018</td>
+
+         <td>
+      <p>psolver = ".." does not work for subdomains with 
+             unequal size please set grid_matching = ''strict''
+             in the parameter file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0019"></a>PA0019</td>
+
+         <td>
+      <p>psolver = "..." only works for a parallel environment</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0020"></a>PA0020</td>
+
+         <td>
+      <p>unknown multigrid cycle: cycle_mg = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+         <td style="vertical-align: top;"><a name="PA0021"></a>PA0021</td>
+
+         <td>
+      <p>unknown fft-algorithm: fft_method = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0022"></a>PA0022</td>
+
+         <td>
+      <p>unknown advection scheme: momentum_advec = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0023"></a>PA0023</td>
+
+         <td>
+      <p>momentum_advec = "..." is not allowed with 
+             timestep_scheme = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0024"></a>PA0024</td>
+
+         <td>
+      <p>unknown advection scheme: scalar_advec = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0025"></a>PA0025</td>
+
+         <td>
+      <p>use_upstream_for_tke set .TRUE. because 
+             use_sgs_for_particles = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0026"></a>PA0026</td>
+
+         <td>
+      <p>use_upstream_for_tke = .TRUE. not allowed with 
+             timestep_scheme = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0027"></a>PA0027</td>
+
+         <td>
+      <p>unknown timestep scheme: timestep_scheme = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0028"></a>PA0028</td>
+
+         <td>
+      <p>scalar advection scheme "..." does not work with 
+             timestep_scheme ".."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0029"></a>PA0029</td>
+
+         <td>
+      <p>momentum advection scheme "..." does not work with 
+             timestep_scheme "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0030"></a>PA0030</td>
+
+         <td>
+      <p>initializing_action = "..." unkown or not allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0031"></a>PA0031</td>
+
+         <td>
+      <p>initializing_actions = "set_constant_profiles" and 
+             "set_1d-model_profiles" are not allowed simultaneously</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0032"></a>PA0032</td>
+
+         <td>
+      <p>initializing_actions = "set_constant_profiles" and 
+             "by_user" are not allowed simultaneously</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0033"></a>PA0033</td>
+
+         <td>
+      <p>initializing_actions = "by_user" and  
+             "set_1d-model_profiles" are not allowed simultaneously</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0034"></a>PA0034</td>
+
+         <td>
+      <p>cloud_physics = ... is not allowed with humidity = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0035"></a>PA0035</td>
+
+         <td>
+      <p>precipitation = ... is not allowed with 
+             cloud_physics = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0036"></a>PA0036</td>
+
+         <td>
+      <p>humidity = .TRUE. and sloping_surface = .TRUE. are not 
+             allowed simultaneously</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0037"></a>PA0037</td>
+
+         <td>
+      <p>UPS-scheme is not implemented for humidity = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0038"></a>PA0038</td>
+
+         <td>
+      <p>humidity = .TRUE. and passive_scalar = .TRUE. is not 
+             allowed simultaneously'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0039"></a>PA0039</td>
+
+         <td>
+      <p>UPS-scheme is not implemented for passive_scalar = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0040"></a>PA0040</td>
+
+         <td>
+      <p>illegal value "..." found for parameter grid_matching</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0041"></a>PA0041</td>
+
+         <td>
+      <p>plant_canopy = .TRUE. requires a non-zero 
+             drag coefficient given value is drag_coefficient = 0.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0042"></a>PA0042</td>
+
+         <td>
+      <p>use_top_fluxes must be .TRUE. in ocean version</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0043"></a>PA0043</td>
+
+         <td>
+      <p>ABS( alpha_surface = ... ) must be&lt; 90.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0044"></a>PA0044</td>
+
+         <td>
+      <p>dt = ... &lt;= 0.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0045"></a>PA0045</td>
+
+         <td>
+      <p>cfl_factor = ...  out of range 
+             0.0 &lt; cfl_factor &lt;= 1.0 is required</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0046"></a>PA0046</td>
+
+         <td>
+      <p>baroclinicity (ug) not allowed simultaneously with 
+              galilei transformation</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0047"></a>PA0047</td>
+
+         <td>
+      <p>baroclinicity (vg) not allowed simultaneously with 
+              galilei transformation</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0048"></a>PA0048</td>
+
+         <td>
+      <p>variable translation speed used for 
+             galilei-transformation, which may cause instabilities 
+             in stably stratified regions</p>
+      </td>
+
+      </tr>
+    <tr>
+
+      </tr>
+
+        <tr>
+      <td style="vertical-align: top;"><a name="PA0049"></a>PA0049</td>
+
+         <td>
+      <p>unknown boundary condition: bc_lr = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0050"></a>PA0050</td>
+
+         <td>
+      <p>unknown boundary condition: bc_ns = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0051"></a>PA0051</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries do not 
+             allow psolver = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0052"></a>PA0052</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries do not allow 
+             momentum_advec = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0053"></a>PA0053</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries do not allow 
+             scalar_advec = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0054"></a>PA0054</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries do not allow 
+                       galilei_transformation = .T. </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0055"></a>PA0055</td>
+
+         <td>
+      <p>adjust_mixing_length = TRUE and bc_e_b = "neumann"</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0056"></a>PA0056</td>
+
+         <td>
+      <p>adjust_mixing_length = FALSE and bc_e_b = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0057"></a>PA0057</td>
+
+         <td>
+      <p>boundary condition bc_e_b changed to "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0058"></a>PA0058</td>
+
+         <td>
+      <p>unknown boundary condition: bc_e_b = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0059"></a>PA0059</td>
+
+         <td>
+      <p>unknown boundary condition: bc_p_b = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0060"></a>PA0060</td>
+
+         <td>
+      <p>boundary condition: bc_p_b = "..." not allowed with 
+             prandtl_layer = .FALSE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0061"></a>PA0061</td>
+
+         <td>
+      <p>unknown boundary condition: bc_p_t = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0062"></a>PA0062</td>
+
+         <td>
+      <p>unknown boundary condition: bc_pt_b = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0063"></a>PA0063</td>
+
+         <td>
+      <p>unknown boundary condition: bc_pt_t = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0064"></a>PA0064</td>
+
+         <td>
+      <p>both, top_momentumflux_u AND top_momentumflux_v 
+             must be set</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0065"></a>PA0065</td>
+
+         <td>
+      <p>boundary_condition: bc_pt_b = "..." is not allowed 
+             with constant_heatflux = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0066"></a>PA0066</td>
+
+         <td>
+      <p>constant_heatflux = .TRUE. is not allowed with 
+             pt_surface_initial_change (/=0) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0067"></a>PA0067</td>
+
+         <td>
+      <p>boundary_condition: bc_pt_t = "..." is not allowed 
+             with constant_top_heatflux = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0068"></a>PA0068</td>
+
+         <td>
+      <p>unknown boundary condition: bc_sa_t = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0069"></a>PA0069</td>
+
+         <td>boundary condition: bc_sa_t = "..." requires to set 
+             top_salinityflux
+      <p></p>
+      </td>
+
+      </tr>
+
+      
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0070"></a>PA0070</td>
+
+         <td>
+      <p>boundary condition: bc_sa_t = "..." is not allowed 
+                       with constant_top_salinityflux = .TRUE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0071"></a>PA0071</td>
+
+         <td>
+      <p>unknown boundary condition: bc_..._b ="..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0072"></a>PA0072</td>
+
+         <td>
+      <p>unknown boundary condition: bc_..._t ="..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0073"></a>PA0073</td>
+
+         <td>
+      <p>boundary condition: bc_..._b = "..." is not allowed
+             with prescribed surface flux</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0074"></a>PA0074</td>
+
+         <td>
+      <p>a prescribed surface flux is not allowed 
+             with ..._surface_initial_change (/=0) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0075"></a>PA0075</td>
+
+         <td>
+      <p>boundary condition: bc_uv_b = "..." is not allowed 
+             with prandtl_layer = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0076"></a>PA0076</td>
+
+         <td>
+      <p>unknown boundary condition: bc_uv_b = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0077"></a>PA0077</td>
+
+         <td>
+      <p>unknown boundary condition: bc_uv_t = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0078"></a>PA0078</td>
+
+         <td>
+      <p>rayleigh_damping_factor = ... out of range [0.0,1.0]</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0079"></a>PA0079</td>
+
+         <td>
+      <p>rayleigh_damping_height = ... out of range [0.0, ...]</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0080"></a>PA0080</td>
+
+         <td>
+      <p>overshoot_limit_... &lt; 0.0 is not allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0081"></a>PA0081</td>
+
+         <td>ups_limit_... &lt; 0.0 is not allowed
+      <p></p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0082"></a>PA0082</td>
+
+         <td>
+      <p>number of statistic_regions = ...  but only 
+             10 regions are allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0083"></a>PA0083</td>
+
+         <td>
+      <p>normalizing_region = ... must be &gt;= 0 and &lt;= ... (value 
+             of statistic_regions)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0084"></a>PA0084</td>
+
+         <td>
+      <p>dt_sort_particles is reset to 0.0 because of 
+                       cloud_droplets = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0085"></a>PA0085</td>
+
+         <td>
+      <p>averaging_interval = ...  must be &lt;= dt_data_output = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0086"></a>PA0086</td>
+
+         <td>
+      <p>averaging_interval_pr = ...  must be &lt;= dt_dopr = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0087"></a>PA0087</td>
+
+         <td>
+      <p>averaging_interval_sp = ...  must be &lt;= dt_dosp = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0088"></a>PA0088</td>
+
+         <td>
+      <p>dt_averaging_input = ...  must 
+             be &lt;= averaging_interval = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0089"></a>PA0089</td>
+
+         <td>
+      <p>dt_averaging_input_pr = ...  must be 
+                       &lt;= averaging_interval_pr = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0090"></a>PA0090</td>
+
+         <td>
+      <p>precipitation_amount_interval = ...  must not be 
+                       larger than dt_do2d_xy = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0091"></a>PA0091</td>
+
+         <td>
+      <p>data_output_pr = ...  is not implemented for 
+                       ocean = .FALSE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0092"></a>PA0092</td>
+
+         <td>
+      <p>data_output_pr = ... is not implemented for 
+                       humidity = .FALSE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0093"></a>PA0093</td>
+
+         <td>
+      <p>data_output_pr = ... is not implemented for
+                       passive_scalar = .FALSE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0094"></a>PA0094</td>
+
+         <td>
+      <p>data_output_pr = ... is not implemented for 
+                       cloud_physics = .FALSE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0095"></a>PA0095</td>
+
+         <td>
+      <p>data_output_pr = ... is not implemented for 
+                       cloud_physics = .FALSE. and humidity = .FALSE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0096"></a>PA0096</td>
+
+         <td>
+      <p>data_output_pr = ... is not implemented for 
+                       cloud_physics = .FALSE. or cloud_droplets = .FALSE</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0097"></a>PA0097</td>
+
+         <td>
+      <p>illegal value for data_output_pr or 
+             data_output_pr_user = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0098"></a>PA0098</td>
+
+         <td>
+      <p>illegal value for data_output_pr = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0099"></a>PA0099</td>
+
+         <td>
+      <p>z_max_do1d = ...  must be &gt;= ... or &lt;= ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0100"></a>PA0100</td>
+
+         <td>
+      <p>unknown normalization method cross_normalized_x = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0101"></a>PA0101</td>
+
+         <td>
+      <p>unknown normalization method cross_normalized_y = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0102"></a>PA0102</td>
+
+         <td>
+      <p>number of output quantitities given by data_output 
+             and data_output_user exceeds the limit of 100</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0103"></a>PA0103</td>
+
+         <td>
+      <p>output of "..." requires constant_diffusion = .FALSE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0104"></a>PA0104</td>
+
+         <td>
+      <p>output of "..." requires a "particles_par"-NAMELIST 
+             in the parameter file (PARIN)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0105"></a>PA0105</td>
+
+         <td>
+      <p>output of "..." requires humidity = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0106"></a>PA0106</td>
+
+         <td>
+      <p>output of "" requires cloud_physics = .TRUE. or 
+                       cloud_droplets = .TRUE.'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0107"></a>PA0107</td>
+
+         <td>
+      <p>output of "..." requires cloud_droplets = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0108"></a>PA0108</td>
+
+         <td>
+      <p>output of "..." requires cloud_physics = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0109"></a>PA0109</td>
+
+         <td>
+      <p>output of "..." requires ocean = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0110"></a>PA0110</td>
+
+         <td>
+      <p>output of "..." requires passive_scalar = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0111"></a>PA0111</td>
+
+         <td>
+      <p>illegal value for data_output: "..." only 
+             2d-horizontal cross sections are allowed for this value</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0112"></a>PA0112</td>
+
+         <td>
+      <p>output of "..." requires precipitation = .TRUE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0113"></a>PA0113</td>
+
+         <td>
+      <p>temporal averaging of precipitation amount "..." 
+             is not possible'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0114"></a>PA0114</td>
+
+         <td>
+      <p>illegal value for data_output or data_output_user = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0115"></a>PA0115</td>
+
+         <td>
+      <p>illegal value for data_output = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0116"></a>PA0116</td>
+
+         <td>z_max_do2d = ..., z_max_do2d must be &gt;= ... (zu(nzb+1)) 
+             and &lt;= ...(zu(nzt))
+      <p></p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0117"></a>PA0117</td>
+
+         <td>
+      <p>do3d_compress = .TRUE. not allowed on host ""</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0118"></a>PA0118</td>
+
+         <td>
+      <p>illegal precision: do3d_comp_prec ( ...) = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0119"></a>PA0119</td>
+
+         <td>
+      <p>unknown variable "..." given for do3d_comp_prec(...)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0120"></a>PA0120</td>
+
+         <td>
+      <p>unknown value for data_output_format "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0121"></a>PA0121</td>
+
+         <td>
+      <p>km_constant = ... &lt; 0.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0122"></a>PA0122</td>
+
+         <td>
+      <p>prandtl_number = ... &lt; 0.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0123"></a>PA0123</td>
+
+         <td>
+      <p>prandtl_layer is not allowed with fixed value of km</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0124"></a>PA0124</td>
+
+         <td>
+      <p>outflow_damping width out of range</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0125"></a>PA0125</td>
+
+         <td>
+      <p>rif_min = ...  must be less than rif_max = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0126"></a>PA0126</td>
+
+         <td>
+      <p>disturbance_level_b = ... must be &gt;= ... (zu(3))</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0127"></a>PA0127</td>
+
+         <td>
+      <p>disturbance_level_b = ... must be &lt;= ... (zu(nzt-2))</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0128"></a>PA0128</td>
+
+         <td>
+      <p>disturbance_level_t = ... must be &lt;= ... (zu(nzt-2))</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0129"></a>PA0129</td>
+
+         <td>
+      <p>disturbance_level_t = ... must 
+             be &gt;= disturbance_level_b = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0130"></a>PA0130</td>
+
+         <td>
+      <p>disturbance_level_ind_t =...  must 
+                       be &gt;= disturbance_level_b = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0131"></a>PA0131</td>
+
+         <td>
+      <p>inflow_disturbance_begin out of range</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0132"></a>PA0132</td>
+
+         <td>
+      <p>inflow_disturbance_end out of range</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0133"></a>PA0133</td>
+
+         <td>
+      <p>turbulent_inflow = .T. requires a Dirichlet 
+             condition at the inflow boundary</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0134"></a>PA0134</td>
+
+         <td>
+      <p>illegal value for recycling_width: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0135"></a>PA0135</td>
+
+         <td>
+      <p>unknown random generator: random_generator = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0136"></a>PA0136</td>
+
+         <td>
+      <p>damp_level_1d = ...  must be &gt; 0.0 and &lt; ... (zu(nzt+1))</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0137"></a>PA0137</td>
+
+         <td>
+      <p>mixing_length_1d = "..." is unknown</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0138"></a>PA0138</td>
+
+         <td>
+      <p>dissipation_1d = "..." is unknown</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0139"></a>PA0139</td>
+
+         <td>
+      <p>termination_time_needed = ...  must be &gt; 30.0 on host ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0140"></a>PA0140</td>
+
+         <td>
+      <p>termination_time_needed = ... should be &gt;= 300.0 
+             on host "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0141"></a>PA0141</td>
+
+         <td>
+      <p>coupling requires PALM to be called with 
+             ''mrun -K parallel''</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0142"></a>PA0142</td>
+
+         <td>
+      <p>absolute temperature &lt; 0.0 at zu(...) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0143"></a>PA0143</td>
+
+         <td>
+      <p>k=... j=... i=... ql_c=... part(...)%wf=...  
+                       delta_r=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0144"></a>PA0144</td>
+
+         <td>
+      <p>#1 k=... j=... i=... e_s=...  e_a=... t_int=... 
+             d_radius=... delta_r=... particle_radius=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0145"></a>PA0145</td>
+
+         <td>
+      <p>collision_efficiency out of range: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0146"></a>PA0146</td>
+
+         <td>
+      <p>maximum_number_of_particles needs to be increased 
+                       but this is not allowed with NetCDF output switched on</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0147"></a>PA0147</td>
+
+         <td>
+      <p>maximum_number_of_tails needs to be increased 
+                       but this is not allowed with NetCDF output switched on</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0148"></a>PA0148</td>
+
+         <td>
+      <p>particle too fast.  n = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0149"></a>PA0149</td>
+
+         <td>
+      <p>particle out of range: i=... j=... k=... 
+             nxl=... nxr=... nys=... nyn=... nzb=... nzt=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0150"></a>PA0150</td>
+
+         <td>
+      <p>Both dp_external and conserve_volume_flow are .TRUE. 
+                       but one of them must be .FALSE.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0151"></a>PA0151</td>
+
+         <td>
+      <p>dp_level_b = ... is out of range</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0152"></a>PA0152</td>
+
+         <td>
+      <p>dp_external is .TRUE. but dpdxy is zero, 
+             i.e. the external 
+             pressure gradient will not be applied</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0153"></a>PA0153</td>
+
+         <td>
+      <p>dpdxy is nonzero but dp_external is .FALSE., i.e. the 
+             external pressure gradient will not be applied</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0154"></a>PA0154</td>
+
+         <td>
+      <p>unknown conserve_volume_flow_mode: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0155"></a>PA0155</td>
+
+         <td>
+      <p>noncyclic boundary conditions require
+             conserve_volume_flow_mode = ''inflow_profile''</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0156"></a>PA0156</td>
+
+         <td>
+      <p>cyclic boundary conditions require 
+             conserve_volume_flow_mode = ''initial_profiles'' or 
+             ''bulk_velocity'' requires noncyclic boundary conditions</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA01357"></a>PA0137</td>
+
+         <td>
+      <p>nonzero bulk velocity requires 
+             conserve_volume_flow = .T. and 
+             conserve_volume_flow_mode = ''bulk_velocity''</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0158"></a>PA0158</td>
+
+         <td>
+      <p>no vertical boundary condition for variable "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0159"></a>PA0159</td>
+
+         <td>
+      <p>no term for component "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0160"></a>PA0160</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries along x do not allow 
+                       calculation of spectra along x</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA00161"></a>PA0161</td>
+
+         <td>
+      <p>sorry, calculation of spectra in non parallel mode is 
+                       still not realized</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0162"></a>PA0162</td>
+
+         <td>
+      <p>non-cyclic lateral boundaries along y do not allow 
+                       calculation of spectra along y</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0163"></a>PA0163</td>
+
+         <td>
+      <p>run will be terminated because it is running out of 
+                       job cpu limit remaining time: ... s 
+                       termination time needed: ... s</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0164"></a>PA0164</td>
+
+         <td>
+      <p>run will be terminated due to user settings of 
+                       restart_time / dt_restart new restart time is: ... s</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0165"></a>PA0165</td>
+
+         <td>
+      <p>re-open of unit 14 is not verified. Please check results!</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0166"></a>PA0166</td>
+
+         <td>
+      <p>re-opening of file-id ... is not allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0167"></a>PA0167</td>
+
+         <td>
+      <p>opening file-id ... not allowed for PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0168"></a>PA0168</td>
+
+         <td>
+      <p>opening file-id ... is not allowed since it is used 
+             otherwise</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0169"></a>PA0169</td>
+
+         <td>
+      <p>no filename for AVS-data-file found in MRUN-config-file 
+             filename in FLD-file set to "unknown"</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0170"></a>PA0170</td>
+
+         <td>no path for batch_scp on host "..."
+      <p></p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0171"></a>PA0171</td>
+
+         <td>
+      <p>NetCDF: no 64-bit offset allowed on this machine</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0172"></a>PA0172</td>
+
+         <td>
+      <p>no OPEN-statement for file-id ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0173"></a>PA0173</td>
+
+         <td>
+      <p>wrong component: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0174"></a>PA0174</td>
+
+         <td>
+      <p>wrong argument  expected: ... given:</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0175"></a>PA0175</td>
+
+         <td>
+      <p>no time measurement defined on this host</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0176"></a>PA0176</td>
+
+         <td>
+      <p>negative time interval occured 
+             PE ... L=PAUSE "..." new=...  last=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0177"></a>PA0177</td>
+
+         <td>
+      <p>negative time interval occured
+             PE ... L=STOP "..." new=... last=... isum=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0178"></a>PA0178</td>
+
+         <td>
+      <p>negative time interval occured
+                       PE ... L=STOP "..." sum=...  mtime=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0179"></a>PA0179</td>
+
+         <td>
+      <p>unknown modus of time measurement: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0180"></a>PA0180</td>
+
+         <td>
+      <p>unknown cross-section: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0181"></a>PA0181</td>
+
+         <td>
+      <p>no output provided for: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0182"></a>PA0182</td>
+
+         <td>
+      <p>no output available for: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0183"></a>PA0183</td>
+
+         <td>
+      <p>if humidity/passive_scalar = FALSE output of ... 
+             is not provided</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0184"></a>PA0184</td>
+
+         <td>
+      <p>if cloud_physics = FALSE output of ... is not provided</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0185"></a>PA0185</td>
+
+         <td>
+      <p>data_output_profiles: normalizing cross ... 
+             is not possible since one of the normalizing factors 
+             is zero! 
+             cross_normx_factor(...,...) = ... 
+             cross_normy_factor(...,...) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0186"></a>PA0186</td>
+
+         <td>
+      <p>no spectra data available</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0187"></a>PA0187</td>
+
+         <td>
+      <p>fft method "..." currently does not work on NEC</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0188"></a>PA0188</td>
+
+         <td>
+      <p>no system-specific fft-call available</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0189"></a>PA0189</td>
+
+         <td>
+      <p>fft method "..." not available</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0190"></a>PA0190</td>
+
+         <td>
+      <p>flow_statistics is called two times within one timestep</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0191"></a>PA0191</td>
+
+         <td>
+      <p>unknown action(s): ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0192"></a>PA0192</td>
+
+         <td>
+      <p>timestep has exceeded the lower limit dt_1d = ... s   
+             simulation stopped!</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA01793"></a>PA0193</td>
+
+         <td>
+      <p>unknown initializing problem</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0194"></a>PA0194</td>
+
+         <td>
+      <p>number of time series quantities exceeds its maximum 
+             of dots_max = ... Please increase dots_max in 
+             modules.f90.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0195"></a>PA0195</td>
+
+         <td>
+      <p>dvrp_username is undefined</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0196"></a>PA0196</td>
+
+         <td>dvrp_output="..." not allowed
+      <p></p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0197"></a>PA0197</td>
+
+         <td>
+      <p>dvrp_file="..." not allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0198"></a>PA0198</td>
+
+         <td>
+      <p>mode_dvrp="..." not allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0199"></a>PA0199</td>
+
+         <td>
+      <p>split of communicator not realized with  MPI1 coupling 
+             atmosphere-ocean'</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0200"></a>PA0200</td>
+
+         <td>
+      <p>missing dz</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0201"></a>PA0201</td>
+
+         <td>
+      <p>dz=... &lt;= 0.0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0202"></a>PA0202</td>
+
+         <td>
+      <p>grid anisotropy exceeds threshold given by only local
+                horizontal reduction of near_wall mixing length l_wall
+                starting from height level k = ... .</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0203"></a>PA0203</td>
+
+         <td>
+      <p>inconsistent building parameters: bxl=... bxr=... bys=...
+                byn=... nx=... ny=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0204"></a>PA0204</td>
+
+         <td>
+      <p>no street canyon width given</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0205"></a>PA0205</td>
+
+         <td>
+      <p>inconsistent canyon parameters: cxl=... cxr=...
+               cwx=... ch=... nx=... ny=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0206"></a>PA0206</td>
+
+         <td>
+      <p>inconsistent canyon parameters:... cys=... cyn=...
+                cwy=... ch=... nx=... ny=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0207"></a>PA0207</td>
+
+         <td>
+      <p>inconsistent canyon parameters: street canyon can 
+                only be oriented either in x- or in y-direction</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0208"></a>PA0208</td>
+
+         <td>
+      <p>file TOPOGRAPHY_DATA does not exist</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0209"></a>PA0209</td>
+
+         <td>
+      <p>errors in file TOPOGRAPHY_DATA</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0210"></a>PA0210</td>
+
+         <td>
+      <p>nzb_local values are outside the model domain
+                MINVAL( nzb_local ) = ...
+               MAXVAL( nzb_local ) = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0211"></a>PA0211</td>
+
+         <td>
+      <p>nzb_local does not fulfill cyclic boundary condition 
+                in x-direction</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0212"></a>PA0212</td>
+
+         <td>
+      <p>nzb_local does not fulfill cyclic boundary condition 
+                in y-direction  </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0213"></a>PA0213</td>
+
+         <td>
+      <p>max_number_of_particle_groups =...
+                number_of_particle_groups reset to ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0214"></a>PA0214</td>
+
+         <td>
+      <p>version mismatch concerning data from prior run 
+                version on file    = ...
+                version in program = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0215"></a>PA0215</td>
+
+         <td>
+      <p>particle group # ...  has a density ratio /= 0 
+                but radius = 0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0216"></a>PA0216</td>
+
+         <td>
+      <p>number of initial particles (...) exceeds
+                maximum_number_of_particles (...) on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0217"></a>PA0217</td>
+
+         <td>
+      <p>unknown boundary condition bc_par_b = "..." </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0218"></a>PA0218</td>
+
+         <td>
+      <p> unknown boundary condition bc_par_t = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0219"></a>PA0219</td>
+
+         <td>
+      <p>unknown boundary condition bc_par_lr = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0220"></a>PA0220</td>
+
+         <td>
+      <p>unknown boundary condition bc_par_ns = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0221"></a>PA0221</td>
+
+         <td>
+      <p>number of PEs of the prescribed topology (...) does not 
+                match the number of PEs available to the job ()</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0222"></a>PA0222</td>
+
+         <td>
+      <p>if the processor topology is prescribed by the user,
+                both values of "npex" and "npey" must be given
+                in the NAMELIST-parameter file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0223"></a>PA0223</td>
+
+         <td>
+      <p>psolver = "poisfft_hybrid" can only be used in case of 
+                       a 1d-decomposition along x</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0224"></a>PA0224</td>
+
+         <td>
+      <p>no matching grid for transpositions found</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0225"></a>PA0225</td>
+
+         <td>
+      <p>x-direction: gridpoint number (...)is not an
+                integral divisor of the number of procesors (...)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0226"></a>PA0226</td>
+
+         <td>
+      <p>x-direction: nx does not match the requirements given 
+                by the number of PEs used
+               please use nx = ... instead of nx =...</p>
+      </td>
+
+      </tr>
+ 
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0227"></a>PA0227</td>
+
+         <td>
+      <p>y-direction: gridpoint number (...) is not an
+                integral divisor of the number of processors (...)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0228"></a>PA0228</td>
+
+         <td>
+      <p>y-direction: ny does not match the requirements given 
+                by the number of PEs used
+                please use ny = ... instead of ny =...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0229"></a>PA0229</td>
+
+         <td>
+      <p>1d-decomposition along x chosen but nz restrictions 
+                may occur since ups-scheme is activated</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0230"></a>PA0230</td>
+
+         <td>
+      <p>transposition z --&gt; x:
+                nz=... is not an integral divisior of pdims(1)= ...</p>
+      </td>
+
+      </tr>
+    
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA031"></a>PA0231</td>
+
+         <td>
+      <p>transposition x --&gt; y:
+                nx+1=... is not an integral divisor of pdims(2)= ... </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0232"></a>PA0232</td>
+
+         <td>
+      <p>transposition y --&gt; z:
+                ny+1=... is not an integral divisor of pdims(1)=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0233"></a>PA0233</td>
+
+         <td>
+      <p>transposition x --&gt; y:
+                ny+1=... is not an integral divisor of pdims(1)=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0234"></a>PA0234</td>
+
+         <td>
+      <p>direct transposition z --&gt; y (needed for spectra):
+                nz=... is not an integral divisor of pdims(2)=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0235"></a>PA0235</td>
+
+         <td>
+      <p>mg_switch_to_pe0_level out of range and reset to 
+                default (=0)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0236"></a>PA0236</td>
+
+         <td>
+      <p>not enough memory for storing gathered multigrid data 
+                on PE0</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0237"></a>PA0237</td>
+
+         <td>
+      <p>multigrid gather/scatter impossible in non parallel mode</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0238"></a>PA0238</td>
+
+         <td>
+      <p>more than 10 multigrid levels</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0239"></a>PA0239</td>
+
+         <td>
+      <p>The value for "topography_grid_convention" is not set. 
+                Its default value is only valid for 
+                "topography" = ''single_building'', 
+                ''single_street_canyon'' or ''read_from_file'' 
+                Choose ''cell_edge'' or ''cell_center''.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0240"></a>PA0240</td>
+
+         <td>
+      <p>The value for "topography_grid_convention" is not 
+                recognized. Choose ''cell_edge'' or ''cell_center''.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0241"></a>PA0241</td>
+
+         <td>
+      <p>netcdf_precision must contain a "_" 
+                netcdf_precision(...)="..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0242"></a>PA0242</td>
+
+         <td>
+      <p>illegal netcdf precision: netcdf_precision( ...)="..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0243"></a>PA0243</td>
+
+         <td>
+      <p>unknown variable in inipar assignment:
+                netcdf_precision(', i, ')="..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0244"></a>PA0244</td>
+
+         <td>
+      <p>no grid defined for variable ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0245"></a>PA0245</td>
+
+         <td>
+      <p> NetCDF file for volume data ... from previuos run found,
+                 but this file cannot be extended due to variable
+                 mismatch. 
+                 New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0246"></a>PA0246</td>
+
+         <td>
+      <p>NetCDF file for volume data ... from previuos run found,
+                but this file cannot be extended due to mismatch in 
+                number of vertical grid points (nz_do3d).
+                New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0247"></a>PA0247</td>
+
+         <td>
+      <p>NetCDF file for volume data ... from previuos run found,
+                but this file cannot be extended because the current 
+                output time is less or equal than the last output time 
+                on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0248"></a>PA0248</td>
+
+         <td>
+      <p>NetCDF file for volume data ... from previous run found.
+                This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0249"></a>PA0249</td>
+
+         <td>
+      <p>NetCDF file for cross-sections ... from previuos run 
+                found, but this file cannot be extended due to 
+                variable mismatch. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0250"></a>PA0250</td>
+
+         <td>
+      <p>NetCDF file for cross-sections ... from previuos run 
+                found, but this file cannot be extended due to
+                mismatch in  number of cross sections. New file 
+                is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0251"></a>PA0251</td>
+
+         <td>
+      <p>NetCDF file for cross-sections ... from previuos run 
+                found but this file cannot be extended due to mismatch 
+                in cross section levels. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0252"></a>PA0252</td>
+
+         <td>
+      <p>NetCDF file for cross sections ... from previuos run 
+                found, but this file cannot be extended because the 
+                current output time is less or equal than the last 
+                output time on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0253"></a>PA0253</td>
+
+         <td>
+      <p>NetCDF file for cross-sections ... from previous run 
+                found. This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0254"></a>PA0254</td>
+
+         <td>
+      <p>NetCDF file for vertical profiles from previuos run 
+                found, but this file cannot be extended due to variable
+                mismatch. New file is created instead. </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0255"></a>PA0255</td>
+
+         <td>
+      <p>NetCDF file for vertical profiles from previuos run 
+                found, but this file cannot be extended because the 
+                current output time is less or equal than the last 
+                output time on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0256"></a>PA0256</td>
+
+         <td>
+      <p>NetCDF file for vertical profiles from previous run 
+                found. This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0257"></a>PA0257</td>
+
+         <td>
+      <p>NetCDF file for vertical profiles from previous run 
+                found. This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0258"></a>PA0258</td>
+
+         <td>
+      <p>NetCDF file for time series from previuos run found,
+                but this file cannot be extended because the current 
+                output time is less or equal than the last output time 
+                on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0259"></a>PA0259</td>
+
+         <td>
+      <p>NetCDF file for time series from previous run found.
+                This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0260"></a>PA0260</td>
+
+         <td>
+      <p>NetCDF file for spectra from previuos run found, 
+                but this file cannot be extended due to variable 
+                mismatch. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0261"></a>PA0261</td>
+
+         <td>
+      <p>NetCDF file for spectra from previuos run found, 
+                but this file cannot be extended due to mismatch in 
+                number of vertical levels. New file is created instead. </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0262"></a>PA0262</td>
+
+         <td>
+      <p>NetCDF file for spectra from previuos run found, 
+                but this file cannot be extended due to mismatch in 
+                heights of vertical levels. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0263"></a>PA0263</td>
+
+         <td>
+      <p>NetCDF file for spectra from previuos run found, 
+                but this file cannot be extended because the current 
+                output time is less or equal than the last output time 
+                on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0264"></a>PA0264</td>
+
+         <td>
+      <p>NetCDF file for spectra from previous run found.
+                This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0265"></a>PA0265</td>
+
+         <td>
+      <p>NetCDF file for particles from previuos run found,
+                but this file cannot be extended because the current 
+                output time is less or equal than the last output time 
+                on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0266"></a>PA0266</td>
+
+         <td>
+      <p>NetCDF file for particles from previous run found. 
+                This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0267"></a>PA0267</td>
+
+         <td>
+      <p>NetCDF file for particle time series from previuos run 
+                found, but this file cannot be extended due to 
+                variable mismatch. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0268"></a>PA0268</td>
+
+         <td>
+      <p>NetCDF file for particle time series from previuos run 
+                found, but this file cannot be extended because the 
+                current output time is less or equal than the last 
+                output time on this file. New file is created instead.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0269"></a>PA0269</td>
+
+         <td>
+      <p>NetCDF file for particle time series from previous run 
+                found. This file will be extended.</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0270"></a>PA0270</td>
+
+         <td>
+      <p>mode "..." not supported</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0271"></a>PA0271</td>
+
+         <td>
+      <p>errors in \$inipar &#8744; no \$inipar-namelist found 
+                (CRAY-machines only)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0272"></a>PA0272</td>
+
+         <td>
+      <p> no \$inipar-namelist found</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0273"></a>PA0273</td>
+
+         <td>
+      <p>no value or wrong value given for nx: nx=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0274"></a>PA0274</td>
+
+         <td>
+      <p>no value or wrong value given for ny: ny=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0275"></a>PA0275</td>
+
+         <td>
+      <p>no value or wrong value given for nz: nz=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0276"></a>PA0276</td>
+
+         <td>
+      <p>local file ENVPAR not found 
+                some variables for steering may not be properly set</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0277"></a>PA0277</td>
+
+         <td>
+      <p>errors in local file ENVPAR 
+                some variables for steering may not be properly set</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0278"></a>PA0278</td>
+
+         <td>
+      <p>no envpar-NAMELIST found in local file ENVPAR
+                some variables for steering may not be properly set</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0279"></a>PA0279</td>
+
+         <td>
+      <p> wrong component: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0280"></a>PA0280</td>
+
+         <td>
+      <p>Number of OpenMP threads = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0281"></a>PA0281</td>
+
+         <td>
+      <p>running optimized multinode version
+                switch_per_lpar        = ...
+                tasks_per_lpar         = ...
+                tasks_per_logical_node = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0282"></a>PA0282</td>
+
+         <td>
+      <p>parallel environment (MPI) required</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0283"></a>PA0283</td>
+
+         <td>
+      <p>no sufficient convergence within 1000 cycles</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0284"></a>PA0284</td>
+
+         <td>
+      <p>data from subdomain of previous run mapped more 
+                than 1000 times</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0285"></a>PA0285</td>
+
+         <td>
+      <p>number of PEs or virtual PE-grid changed in restart run
+                PE ... will read from files ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0286"></a>PA0286</td>
+
+         <td>
+      <p>version mismatch concerning data from prior run
+                version on file    = "..."
+                version in program = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0287"></a>PA0287</td>
+
+         <td>
+      <p>problem with index bound nxl on restart file "..."
+                nxl = ... but it should be = ... from the index bound 
+                information array</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0288"></a>PA0288</td>
+
+         <td>
+      <p>problem with index bound nxr on restart file "..."
+                nxr = ... but it should be = ... from the index bound 
+                information array</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0289"></a>PA0289</td>
+
+         <td>
+      <p>problem with index bound nys on restart file "..."
+                nys = .. but it should be = ... from the index bound 
+                information array</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0290"></a>PA0290</td>
+
+         <td>
+      <p>problem with index bound nyn on restart file "..."
+                nyn = ... but it should be = ... from the index bound 
+                information array</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0291"></a>PA0291</td>
+
+         <td>
+      <p>mismatch between actual data and data 
+                from prior run on PE ...
+                nzb on file = ... 
+                nzb         = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0292"></a>PA0292</td>
+
+         <td>
+      <p>mismatch between actual data and data 
+                from prior run on PE ...
+                nzt on file = ...
+                nzt         = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0293"></a>PA0293</td>
+
+         <td>
+      <p>read_3d_binary: spectrum_x 
+                on restart file ignored because total numbers of 
+                grid points (nx) do not match</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0294"></a>PA0294</td>
+
+         <td>
+      <p>read_3d_binary: spectrum_y 
+                on restart file ignored because total numbers of 
+                grid points (ny) do not match
+      </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0295"></a>PA0295</td>
+
+         <td>
+      <p>unknown field named "..." found in data from 
+                prior run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0296"></a>PA0296</td>
+
+         <td>
+      <p>version mismatch concerning control variables
+                version on file    = "..."
+                version on program = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0297"></a>PA0297</td>
+
+         <td>
+      <p>numprocs not found in data from prior run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0298"></a>PA0298</td>
+
+         <td>
+      <p>hor_index_bounds not found in data from prior 
+                run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0299"></a>PA0299</td>
+
+         <td>
+      <p>nz not found in data from prior run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0300"></a>PA0300</td>
+
+         <td>
+      <p>max_pr_user not found in data from prior run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0301"></a>PA0301</td>
+
+         <td>
+      <p>statistic_regions not found in data from prior 
+                run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0302"></a>PA0302</td>
+
+         <td>
+      <p>unknown variable named "..." found in data from 
+                prior run on PE ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0303"></a>PA0303</td>
+
+         <td>
+      <p>nz not found in restart data file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0304"></a>PA0304</td>
+
+         <td>
+      <p>mismatch concerning number of gridpoints along z
+                nz on file    = "..."
+                nz from run   = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0305"></a>PA0305</td>
+
+         <td>
+      <p>max_pr_user not found in restart data file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0306"></a>PA0306</td>
+
+         <td>
+      <p>number of user profiles on restart data file differs 
+                from the current run
+                max_pr_user on file    = "..."
+                max_pr_user from run   = "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0307"></a>PA0307</td>
+
+         <td>
+      <p>statistic_regions not found in restart data file</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0308"></a>PA0308</td>
+
+         <td>
+      <p>statistic regions on restart data file differ 
+                from the current run
+                statistic regions on file    = "..."
+                statistic regions from run   = "..."
+                statistic data may be lost!</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0309"></a>PA0309</td>
+
+         <td>
+      <p>inflow profiles not temporally averaged.
+                Averaging will be done now using ... samples.  </p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0310"></a>PA0310</td>
+
+         <td>
+      <p>remote model "..." terminated with 
+                terminate_coupled_remote = ... 
+                local model  "..." has terminate_coupled = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0311"></a>PA0311</td>
+
+         <td>
+      <p>number of gridpoints along x or/and y contain illegal  
+                factors only factors 8,6,5,4,3,2 are allowed</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0312"></a>PA0312</td>
+
+         <td>
+      <p> Time step has reached minimum limit.<br>
+
+                 dt      = ... s  Simulation is terminated.<br>
+ 
+                 old_dt  = ... s<br>
+                          
+                 dt_u    = ... s<br>
+                             
+                 dt_v    = ... s<br>
+                            
+                 dt_w    = ... s<br>
+                             
+                 dt_diff = ... s<br>
+                          
+                 u_max   = ... m/s   k=... j=...  i=...<br>
+            
+                 v_max   = ... m/s   k=... j=...  i=...<br>
+            
+                 w_max   = ... m/s   k=... j=...  i=...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0313"></a>PA0313</td>
+
+         <td>
+      <p>illegal value for parameter particle_color: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0314"></a>PA0314</td>
+
+         <td>
+      <p>illegal value for parameter particle_dvrpsize: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0315"></a>PA0315</td>
+
+         <td>
+      <p>color_interval(2) &lt;= color_interval(1)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0316"></a>PA0316</td>
+
+         <td>
+      <p>dvrpsize_interval(2) &lt;= dvrpsize_interval(1)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0317"></a>PA0317</td>
+
+         <td>
+      <p>ocean = .F. does not allow coupling_char = ...
+                set by mrun-option "-y"</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0318"></a>PA0318</td>
+
+         <td>
+      <p>inflow_damping_height must be explicitly specified
+                because the inversion height calculated by the prerun
+                is zero</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0319"></a>PA0319</td>
+
+         <td>
+      <p>section_xy must be &lt;= nz + 1 = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0320"></a>PA0320</td>
+
+         <td>
+      <p>section_xz must be &lt;= ny + 1 = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="PA0321"></a>PA0321</td>
+
+         <td>
+      <p>section_yz must be &lt;= nx + 1 = ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+      <td><a name="PA0322"></a>PA0322</td>
+      <td>output of q*w*(0) requires humidity=.TRUE.</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top;"><a name="PA0323"></a>PA0323<br>
+      </td>
+      <td style="vertical-align: top;">output of averaged quantity "..." requires to set a non-zero averaging interval<br>
+      </td>
+    </tr>
+<tr>
+
+        <td style="vertical-align: top;"><a name="UI0001"></a>UI0001</td>
+
+         <td>
+      <p>unknown location "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0002"></a>UI0002</td>
+
+         <td>
+      <p>location "..." is not allowed to be called with 
+                parameters "i" and "j"</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0003"></a>UI0003</td>
+
+         <td>
+      <p>no output possible for: ...</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0004"></a>UI0004</td>
+
+         <td>
+      <p>unknown mode "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0005"></a>UI0005</td>
+
+         <td>
+      <p>topography "..." not available yet</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0006"></a>UI0006</td>
+
+         <td>
+      <p>unknown topography "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0007"></a>UI0007</td>
+
+         <td>
+      <p>canopy_mode "..." not available yet</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0008"></a>UI0008</td>
+
+         <td>
+      <p>unknown canopy_mode "..."</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0009"></a>UI0009</td>
+
+         <td>
+      <p>the number of user-defined profiles given in 
+                data_output_pr (...) does not match the one 
+                found in the restart file (...)</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0010"></a>UI0010</td>
+
+         <td>
+      <p>Spectra of ... can not be calculated</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0011"></a>UI0011</td>
+
+         <td>
+      <p>Spectra of ... are not defined</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="UI0012"></a>UI0012</td>
+
+         <td>
+      <p>unknown variable named "..." found in data from prior 
+                run on PE</p>
+      </td>
+
+      </tr>
+
+      <tr>
+
+        <td style="vertical-align: top;"><a name="NC****"></a>NC****</td>
+
+         <td>
+      <p>**** contains numbers in the range from 1-444</p>
+      </td>
+
+      </tr>
+
+ 
+    
+  </tbody>
+</table>
+
+
+     
+<p style="line-height: 100%;"><i>Last
+      change:&nbsp;</i> $Id$ </p>
+
+  
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_1.0.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_1.0.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_1.0.html	(revision 393)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 1.0</title> <meta content="StarOffice 7 (Win32)" name="GENERATOR"> <meta content="Marcus Oliver Letzel" name="AUTHOR"> <meta content="20040719;13375546" name="CREATED"> <meta content="20041112;13163393" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="de-DE"><h2 style="line-height: 100%;"><font size="4">1.0
+Introduction</font></h2>
+<p style="line-height: 100%;">This documentation wants to
+give
+assistance how to carry out runs with the large eddy simulation
+model <span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">PALM.</span>
+It contains
+<font color="#000000">instructions</font><font color="#800000"> </font>for
+the installation of the model (<a href="chapter_5.0.html">chapter
+5.0</a>), for the practical execution of application runs (<a href="chapter_3.0.html">chapter
+3.0</a>) and for the steering of the model by parameters (<a href="chapter_4.0.html">chapter
+4.0</a>). New users should first of all read <a href="chapter_2.0.html">chapters
+2.0</a> and <a href="chapter_3.0.html">3.0</a>
+(up to and including <a href="chapter_3.5.html">3.5</a>).
+</p>
+<p style="line-height: 100%;"><b>This documentation
+does not explain
+the <font color="#000000">mathematical,</font>
+numerical and physical
+background of large eddy simulation models and it also does not
+provide appropriate meteorological background knowledge. Good
+knowledge concerning this is presupposed and is indispensable for a
+successful application of the model.</b> In addition to this,
+knowledge of the operating system<span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">
+Unix, </span>the <span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">Queueing
+System (NQS, PBS, Load Leveler, etc.)</span> to generate batch
+jobs,
+the basic functionality of <font color="#000000">parallel
+computers
+</font>and the programming language <span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">FORTRAN90
+(particularly</span>, if code extensions are to be written by the
+user) are presupposed. Programming user-defined software usually
+requires exact knowledge of the internal model structure. First insight
+herei<span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">n
+<font color="#000000">is
+given</font></span> in <a href="chapter_2.0.html">chapter
+2.0</a> and in the <a href="../tec/index.html">technical/numerical
+documentation</a>. The information obtained there is usually not
+<font color="#000000">sufficient</font> and has to
+be accompanied by
+detailed study of the source code of the model. A<span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">dditional
+</span>experience in parallel programming with the
+message passing interface<span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">
+(MPI)</span> maybe presupposed. </p>
+<p style="line-height: 100%;">A documentation lives on
+criticism and
+suggestions by users. T<font color="#000000">hi</font>s
+is expressly
+requested. Please contact&nbsp; the PALM group
+(<span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">see
+<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/PALM_group.html#0">members</a></span>).
+The model documentation is regularly maintained and brought up-to-date
+by the PALM group. The date of the last code
+revision is specified at the top of the table of contents of this
+documentation. <br>
+&nbsp;
+</p><hr><font color="#000080"><font color="#000080"><br>
+<a href="index.html"><font color="#000080"><img name="Grafik1" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_2.0.html"><font color="#000080"><img name="Grafik2" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font><br><br>
+<span style="font-style: italic;">Last change:</span>
+$Id$<br>
+<br></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_2.0.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_2.0.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_2.0.html	(revision 393)
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 2.0</title> <meta content="StarOffice 7 (Win32)" name="GENERATOR"> <meta content="Marcus Oliver Letzel" name="AUTHOR"> <meta content="20040719;14534028" name="CREATED"> <meta content="20041117;10385730" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="en-US"><h2 style="line-height: 100%;"><font size="4">2.0
+Basic techniques of
+the LES model and its parallelization </font>
+</h2><p style="line-height: 100%;">LES models
+generally permit the
+simulation of turbulent flows, whereby those eddies, that carry the
+main energy are resolved by the numerical grid. Only the
+effect of such turbulence elements with diameter equal to or smaller
+than the grid spacing are parameterized in the model and
+by so-called subgrid-scale (SGS) transport. Larger structures are
+simulated directly (they are explicitly resolved) and their effects are
+represented by the advection terms. </p>
+<p style="font-style: normal; line-height: 100%;">PALM is
+based on the
+non-hydrostatic incompressible Boussinesq equations. It contains a
+water cycle with cloud formation and takes into account infrared
+radiative cooling in cloudy conditions. The model has six prognostic
+quantities in total &ndash; u,v,w, liquid water potential
+temperature
+<font face="Thorndale, serif">&Theta;</font><sub>l
+</sub>(BETTS,
+1973), total water content q and subgrid-scale turbulent kinetic energy
+e. The
+subgrid-scale turbulence is modeled according to DEARDOFF (1980) and
+requires the solution of an additional prognostic equation for the
+turbulent kinetic energy e. The long wave radiation scheme is based
+on the parametrization of cloud effective emissivity (e.g. Cox, 1976)
+and condensation is considered by a simple '0%-or-100%'-scheme, which
+assumes that within each grid box the air is either entirely
+unsaturated or entirely saturated ( see e.g., CUIJPERS and DUYNKERKE,
+1993). The water cycle is closed by using a simplified version of
+KESSLERs scheme (KESSLER, 1965; 1969) to parameterize precipitation
+processes (M&Uuml;LLER and CHLOND, 1996). Incompressibility is
+applied by means of a Poisson equation for pressure, which is solved
+with a direct method (SCHUMANN and SWEET, 1988). The Poisson equation
+is Fourier transformed in both horizontal directions and the
+resulting tridiagonal matrix is solved for the transformed pressure
+which is then transformed back. Alternatively, a multigrid method can
+also be used. Lateral boundary conditions of the model are cyclic and
+MONIN-OBUKHOV similarity is assumed between the surface and the first
+computational grid level above. Alternatively, noncyclic boundary
+conditions
+(Dirichlet/Neumann) can be used along one of the
+horizontal directions. At the lower surface, either temperature/
+humidity or their respective fluxes can be prescribed. </p>
+<p style="font-style: normal; line-height: 100%;">The
+advection terms
+are treated by the scheme proposed by PIACSEK and WILLIAMS (1970),
+which conserves the integral of linear and quadratic quantities up to
+very small errors. The advection of scalar quantities can optionally
+be performed by the monotone, locally modified version of Botts
+advection scheme (CHLOND, 1994). The time integration is performed
+with the third-order Runge-Kutta scheme. A second-order Runge-Kutta
+scheme, a leapfrog scheme and an Euler scheme are also implemented.</p>
+<p style="line-height: 100%;">By default, the time step is
+computed
+with respect to the different criteria (CFL, diffusion) and adapted
+automatically. In case of a non-zero geostrophic
+wind the coordinate system can be moved along with the mean wind in
+order to maximize the time step (Galilei-Transformation). </p>
+<p style="font-style: normal; line-height: 100%;">In
+principle a model
+run is carried out in the following way: After reading the control
+parameters given by the user, all prognostic variables are
+initialized. Initial values can be e.g. vertical profiles of the
+horizontal wind, calculated using a 1D subset of the 3D prognostic
+equation and are set in the 3D-Model as horizontally homogeneous
+initial values. Temperature profiles can only be prescribed linear
+(with constant gradients, which may change for different vertical
+height intervals) and they are assumed in the 1D-Model as stationary.
+After the initialization phase during which also different kinds of
+disturbances may be imposed to the prognostic fields, the time
+integration begins. Here for each individual time step the prognostic
+equations are successively solved for the velocity components u, v and
+w
+as well as for the potential temperature and possibly for the TKE.
+After the calculation of the boundary values in accordance with the
+given boundary conditions the provisional velocity fields are
+corrected with the help of the pressure solver. Following this, all
+diagnostic turbulence quantities including possible
+Prandtl-layer&ndash;quantities are computed. At the end of a time
+step the data output requested by the user is made
+(e.g. statistic of analyses for control purposes or profiles and/or
+graphics data). If the given end-time was reached, binary data maybe
+be saved for restart. </p>
+<p style="font-style: normal; line-height: 100%;">The
+model is based
+on the originally non-parallel LES model which has been operated at the
+institute since 1989
+and which was parallelized for massively parallel computers with
+distributed memory using the Message-Passing-Standard MPI. It is
+still applicable on a single processor and also well optimized for
+vector machines. The parallelization takes place via a so-called domain
+decomposition, which divides the entire model
+domain into individual, vertically standing cubes, which extend from
+the bottom to the top of the model domain. One processor (processing
+element, PE) is assigned to each cube, which
+accomplishes the computations on all grid points of the subdomain.
+Users can choose between a two- and a one-dimensional domain
+decomposition. A 1D-decomposition is preferred on machines with a
+slow&nbsp; network interconnection. In case of a 1D-decomposition,
+the
+grid points along x direction are
+distributed among the individual processors, but in y- and z-direction
+all respective grid points belong to the same PE. </p>
+<p style="line-height: 100%;">The calculation of central
+differences or
+non-local arithmetic operations (e.g. global
+sums, FFT) demands communication and an appropriate data exchange
+between the PEs. As a substantial innovation in relation to
+the non-parallel model version the individual subdomains are
+surrounded by so-called ghost points, which contain the grid point
+information of the neighbor processors. The appropriate grid point
+values must be exchanged after each change (i.e. in particular after
+each time step). For this purpose MPI routines (<tt>MPI_SENDRCV</tt>)
+are used. For the solution of the FFT conventional (non-parallelized)
+procedures are used. Given that the FFTs are used in x and/or
+y-direction, the data which lie distributed on the individual central
+processing elements, have to be collected and/or relocated before.
+This happens by means of the routine <tt>MPI_ALLTOALLV</tt>.
+Certain
+global operations like e.g. the search for absolute maxima or minima
+within the 3D-arrays likewise require the employment of special MPI
+routines (<tt>MPI_ALLREDUCE</tt>). </p>
+<p style="line-height: 100%;">Further details of the
+internal model
+structure are described in the <a href="../tec/index.html">technical/numerical
+documentation</a>. <br>
+&nbsp; </p>
+<hr><font color="#000080"><font color="#000080"><br><a href="chapter_1.0.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.0.html"><font color="#000080"><img name="Grafik3" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a><br>
+</font></font><br><p style="line-height: 100%;"><span style="font-style: italic;">Last
+change: </span>$Id$<font color="#000080"><font color="#000080"><br>
+</font></font></p></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.0.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.0.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.0.html	(revision 393)
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.0</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Marcus Oliver Letzel"> <meta name="CREATED" content="20040723;15213734"> <meta name="CHANGED" content="20041112;13170538"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h2 style="font-style: normal; line-height: 100%;"><font size="4">3.0
+Execution of model runs</font></h2>
+<p style="line-height: 100%;">Given that the model was
+installed by the user (look at <a href="chapter_5.0.html">chapter
+5.0</a>) and that it is clear, which phenomenon is to be
+simulated,
+there is a whole set of questions which must be answered before
+executing
+the actual application run, e.g.: </p>
+<ul> <li> <p style="margin-bottom: 0cm; font-style: normal; line-height: 100%;">How
+large does the model domain have to be and what grid size does
+phenomenon to be simulated require? </p> </li> <li>
+<p style="margin-bottom: 0cm; font-style: normal; line-height: 100%;">How
+long is the time which should be simulated, i.e. which typical time
+scale does the phenomenon have? </p> </li> <li> <p style="margin-bottom: 0cm; font-style: normal; line-height: 100%;">Which
+boundary conditions and initial conditions are to be selected? </p>
+</li> <li> <p style="font-style: normal; line-height: 100%;">Which model
+output data are necessary at which points in time, in order to be able
+to analyze the phenomenon afterwards? </p> </li>
+</ul><p style="line-height: 100%;">The answers to
+these questions
+substantially determine the choice of values for the most important
+model parameters, with which the model run is steered. All possible
+parameters are described in chapters <a href="chapter_4.1.html">4.1</a>,
+<a href="chapter_4.2.html">4.2</a>
+and <a href="chapter_4.3.html">4.3</a>.
+The basic steering of the model with these parameters is explained in
+the introduction to <a href="chapter_4.0.html">chapter
+4</a>. The user will rarely use all model parameters, since many
+are
+preset with consistent default values and therefore do not have to be
+changed by the user. Some of the most important parameters are not
+preset with default values and must be adjusted by the user in each
+case. Such a typical, minimum parameter set is described in <a href="chapter_4.4.1.html">chapter
+4.4.1</a>. For the subsequent analysis of model runs, graphical
+visualization of model data is particularly important. <a href="chapter_4.5.html">Chapter
+4.5</a> describes, how such outputs are produced with the model. </p>
+<p style="line-height: 100%;">The selected parameters and
+their values
+have to be supplied to the model as an input file. The
+structure of this file is described in the introduction to <a href="chapter_4.0.html">chapter
+4</a>. The data, produced by the model, are located in a number
+of
+different output files. The model works with relative file names
+(i.e. without absolute path information). Thus all input and output
+files are
+expected and put in the directory, in which the actual model (the
+executable program created from the FORTRAN source code) is started
+(but also see next paragraph).
+All user-relevant input and output files are described in <a href="chapter_3.4.html">chapter
+3.4</a>. </p>
+<p style="line-height: 100%;">The actual model (the
+executable
+program) is not started directly via the user, but with the help of
+the shell script <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html">mrun</a>,which
+can be called by the user. This script takes over the entire pre- and
+postprocessing work, which is necessary for a model run. In addition
+to this, it generates e.g. automatically batch jobs for model runs on
+remote computers, provides for the appropriate file transfers of the
+input and output files to these computers, secures data on existing
+archives systems, starts if necessary restart jobs, and much more.
+<span style="font-weight: bold;">mrun</span> allows
+to specify
+individual path names for each simulation and
+for the different types of input/output files. The start of model runs
+with <b>mrun</b> is described in <a href="chapter_3.1.html">chapter
+3.1</a>. </p>
+<p style="line-height: 100%;">The implementation of user
+code
+extensions in
+the model is made possible by a set of defined interfaces. You will
+find references to the programming of such extensions in <a href="chapter_3.5.html">chapter
+3.5</a>. Frequently errors arise during the execution of the
+model
+after such changes, which can often be found only by interactive
+model steering and error tracing (debugging), which are described in
+<a href="chapter_3.6.html">chapter
+3.6</a>. </p>
+<hr><p style="font-style: normal; line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_2.0.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.1.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font><br>
+</p><p style="font-style: normal; line-height: 100%;"><span style="font-style: italic;">Last change:</span>
+$Id$<br>
+</p></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.1.html	(revision 393)
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
+chapter 3.1</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Marcus Oliver Letzel"> <meta name="CREATED" content="20040806;13565279"> <meta name="CHANGED" content="20040806;13575492"> <meta name="KEYWORDS" content="parallel LES model"></head>
+
+<body style="direction: ltr;" lang="de-DE"><h3 style="line-height: 100%;">3.1 Job control with mrun</h3>
+<p style="line-height: 100%;">The start of model runs in
+principle
+takes place via executing the shell script <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html">mrun.</a>
+With this script it is possible to operate the model both
+interactively and in batch mode. Batch operation is possible on the
+local computer as well as on a remote computer (supposed that a batch
+queuing system is available). Here only the batch operation on a remote
+computer is
+described, because this represents the usual mode of operation due to
+the large computing time requirements of the model. The interactive
+execution differs only in some points and is described in <a href="chapter_3.6.html">chapter
+3.6</a>. </p>
+<p style="line-height: 100%;">By the call of <b>mrun
+</b>a complete
+batch job is produced, transferred to the user determined remote
+computer
+and submitted to its queuing system (LoadLeveler, PBS, etc.).
+After processing of the job, the so-called job protocol is sent back
+to the local computer of the user (the local computer is the
+computer, on which the user calls <b>mrun</b>). The
+following actions
+are implemented by the job, amongst other: </p>
+<ul> <li> <p style="margin-bottom: 0cm; line-height: 100%;">Change to a
+temporary working directory. </p> </li> <li> <p style="margin-bottom: 0cm; line-height: 100%;">The input
+files
+needed by the model are copied into this directory. These files are
+transferred from the local computer. </p> </li> <li>
+<p style="margin-bottom: 0cm; line-height: 100%;">Execute
+the
+model. </p> </li> <li> <p style="margin-bottom: 0cm; line-height: 100%;">Copy the
+output
+files produced by the model into the directories determined by the user
+(these are also allowed to lie on the local computer). Depending on the
+choice of the user, the files may also be saved on an archiving system
+(if existing). </p> </li> <li> <p style="margin-bottom: 0cm; line-height: 100%;">Delete the
+temporary working direction. </p> </li> <li> <p style="line-height: 100%;">Transfer the job protocol to the
+local computer. </p> </li>
+</ul><p style="line-height: 100%;">From this list it
+becomes clear that two
+of the substantial functions of <b>mrun</b> are the supply
+of input
+files for the model and the storage of output files produced by the
+model. The model exclusively works with so-called local files, which
+lie in the temporary working directory created by <b>mrun.</b>
+The
+&ldquo;local&rdquo; names of these files are determined by the
+model
+(in the appropriate OPEN instructions). In <a href="chapter_3.4.html">chapter
+3.4</a> all possible input and output filenames are specified. In
+contrast to this, the input files, made available by the user,
+usually lie in permanent directories (e.g. in the /home directory) and
+the output data, produced by the model, may also be
+stored there. The directory names are arbitrary. The actual file name
+(without path) of these input and output files is specified by an
+option of <b>mrun</b>. All input and output files of the
+model
+receive this file name (e.g. <i>abcde</i>), but each
+individual file
+is still provided with an extension (e.g. <i>abcde_par</i>,
+etc.
+<i>abcde_dat</i>) - otherwise the files would not be
+distinguishable.
+The linkage of local file names with the names of the permanent
+directories and the file name extensions takes place in a
+configuration file, which <b>mrun</b> expects to find in
+the
+respective current working directory of the user. A detailed
+description of this configuration file - which still offers a variety
+of further functions &ndash; is found in the
+documentation of the shell script <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html">mrun</a>
+(sorry: this is only available in German, so far. If you think that you
+would profit from an English version, please give a message to the PALM
+group).
+In the next chapter a simple example of a minimum configuration file
+is described. </p>
+<p style="line-height: 100%;">A simple call of <b>mrun</b>
+could read
+as follows: </p>
+<ul> <p style="line-height: 100%;"><tt>mrun -
+h <i>ibmh</i> -d <i>abcde</i></tt></p>
+</ul><p style="line-height: 100%;">The model is
+started by option -<tt>h
+<i>ibmh</i></tt> on the IBM Regatta hanni at the
+HLRN, i.e. on the
+local computer a batch job is generated, transferred to the remote
+computer (IBM) and submitted to a suitable queue of the queuing system.
+With the
+option <tt>-d</tt> the so-called basis file name (<i>abcde</i>)
+is
+specified, from which, together with the path names and file name
+extensions, the complete file names (including the path) of the
+permanent input and output files are <font color="#000000">formed.</font><font color="#800000">
+</font>Usually the specification of a set of further options is
+necessary, e.g. the CPU time needed by the model and the memory size
+needed as well as, on parallel computers, the number of processing
+elements which are to be used (options <tt>-t</tt>, <tt>-m</tt>
+and
+<tt>-X</tt>). A precondition for the call of <b>mrun</b>
+of course is
+that the installation of the model on the local computer and the
+remote machine is complete (see <a href="chapter_5.0.html">chapter
+5.0</a>). </p>
+<p>Beyond these options a variety of further options for model
+steering can be used in the call of <b>mrun</b>. These are
+fully
+described in the <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html">mrun</a>
+documentation (in German). <br>
+&nbsp; </p>
+<hr><p><a href="chapter_3.0.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.2.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></p>
+<p><i>Last change:&nbsp;</i>$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.2.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.2.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.2.html	(revision 393)
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.2</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Marcus Oliver Letzel"> <meta name="CREATED" content="20040726;13164873"> <meta name="CHANGED" content="20050119;9245042"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.2 Example of a minimum
+configuration
+file</h3>
+<p style="line-height: 100%;">In this chapter a sample
+configuration
+file is described. It contains only instructions which are really
+necessary for the execution of a simple model run (configuration
+files can be much more complex). The example presented here is stored
+in an appropriate <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/.mrun.config">example
+file</a> (containing more than the configuration data presented
+here)
+and can be used, together with the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d">parameter
+file</a> presented in <a href="chapter_4.4.1.html">chapter
+4.4.1</a>, for the execution of a simple model run. In chapter 4.4.1
+the
+complete <b>mrun</b> options which are necessary for the
+appropriate
+parameter file are described. Furthermore not all details of the
+configuration file are described here. Therefore you should take a
+look at the <a href="http://www.muk.uni-hannover.de/%7Eraasch/Software/mrun_beschreibung.html">mrun</a>
+documentation (sorry: this is only available in German, so far. If you
+think that you
+would profit from an English version, please give a message to the PALM
+group). </p>
+<p style="line-height: 100%;">The following configuration
+data
+exclusively applies to model runs on the SGI ICE system of the
+HLRN when using several processing elements (i.e. for the parallel
+version of the model). The proper installation of the model is
+presumed (see <a href="chapter_5.0.html">chapter
+5.0</a>). Furthermore it is supposed that the user is located in
+the
+directory <tt><font style="font-size: 10pt;" size="2">$HOME/palm/current_version</font></tt>
+&nbsp;on its local computer, where the configuration file (<tt><font style="font-size: 10pt;" size="2">.mrun.config</font></tt>) should reside.
+The configuration file has the following contents (among other things):
+<br>&nbsp;
+</p><pre style="line-height: 100%;"><font style="font-size: 10pt;" size="2">%mainprog          palm.f90<br>%base_directory    $HOME/palm/current_version<br>%base_data         ~/palm/current_version/JOBS<br>%source_path       $base_directory/trunk/SOURCE<br>#<br></font><font style="font-size: 10pt;" size="2">%fopts      -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgih parallel<br></font><font style="font-size: 10pt;" size="2">%lopts      -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib                 lcsgih parallel</font><font style="font-size: 10pt;" size="2"><br>#</font><br><font style="font-size: 10pt;" size="2">EC:[[ \$locat = execution]] &amp; &amp; <i>cat </i>RUN_CONTROL </font><br><font style="font-size: 10pt;" size="2">#</font><br><a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN</font></a><font style="font-size: 10pt;" size="2"> in:job  d3#  $base_data/$fname/INPUT _p3d</font><br><font style="font-size: 10pt;" size="2">#</font><br><a href="chapter_3.4.html#RUN_CONTROL"><font style="font-size: 10pt;" size="2">RUN_CONTROL</font></a><font style="font-size: 10pt;" size="2"> out:loc:tr d3#   $base_data/$fname/MONITORING _rc</font><br><a href="chapter_3.4.html#HEADER"><font style="font-size: 10pt;" size="2">HEADER</font></a><font style="font-size: 10pt;" size="2">      out:loc:tr d3#   $base_data/$fname/MONITORING _header</font><span style="font-family: mon;"><span style="text-decoration: underline;"><br></span><a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a></span><font style="font-size: 10pt;" size="2">   out:loc:tr pr# ~/palm/current_version/JOBS/$fname/OUTPUT _pr  nc</font></pre>
+<p style="line-height: 100%;"><font face="Thorndale, serif">The first
+five lines specify values of
+so-called environment variables. Such lines begin with a
+&ldquo;%&rdquo;-
+sign. After at least one blank the name of the variable</font> <font face="Thorndale, serif">(e.g.
+</font><tt><i><font face="Thorndale, serif">source_path</font></i></tt><font face="Thorndale, serif">)
+follows and then seperated by at least one blank the value of the
+variable. Again separated by blank t<font face="Thorndale, serif">he
+so-called validity domain</font> can be indicated (later more).
+With the first four variables <b>mrun</b> gets to know in
+which
+directory the source code lies (</font><tt><i><font face="Thorndale, serif">source_path</font></i></tt><font face="Thorndale, serif">),
+the file name of the main program (</font><tt><i><font face="Thorndale, serif">mainprog</font></i></tt><font face="Thorndale, serif">)</font><font face="Thorndale, serif">. Also, two variables are defined which contain path informations used later in the file (<span style="font-style: italic;">base_directory</span>, <span style="font-style: italic;">base_data</span>).&nbsp; <b>mrun
+</b>needs these information, <font color="#000000">because
+for each
+model run the executable is created by compiling the respective source file.</font>
+Normally, only the main program (palm.f90) will be compiled while all
+other object files are just linked. These object files have already
+been created from the source code files during the installation of the
+model
+(see </font><a href="chapter_5.0.html"><font face="Thorndale, serif">chapter
+5.0</font></a><font face="Thorndale, serif">).
+<b>mrun</b> uses
+certain standard options for the compilation process. Beyond that you
+can
+declare additional options with the environment variable </font><tt><i><font face="Thorndale, serif">fopts</font></i></tt><font face="Thorndale, serif">.
+Within the value assignment of an environment variable in the
+configuration file no blanks must be
+used. If blanks are necessary they must <font face="Thorndale, serif">be
+replaced </font>by colons (&ldquo;:&rdquo;). <b>mrun</b>
+will
+interpret these colons as blanks (2 colons written one behind the
+other will be interpreted as a colon). Thus in the example above</font> fopts
+has the value<tt><font face="Thorndale, serif"> </font></tt>&ldquo;<tt>-g -w -xT -O3 -cpp -r8 -ftz -fno-alias -no-prec-div -no-prec-sqrt -ip -nbs -convert little_endian<i><font face="Thorndale, serif"><font color="#000000">&rdquo;</font></font></i></tt><font face="Thorndale, serif"><font color="#000000">.
+Thus a PALM executable is generated using high level optimization (</font></font><font color="#000000"><span style="font-family: monospace;">-O3</span></font><font face="Thorndale, serif"><font color="#000000">).</font></font><font color="#000000"><font face="Thorndale, serif">
+For all other options
+see the compiler manual on the SGI (</font><font size="2"><font face="Cumberland, monospace">man</font></font></font><tt><font color="#000000"> <span style="font-family: Cumberland,monospace;">ifort</span></font></tt><font face="Thorndale, serif"><font color="#000000">).
+Additional libraries
+which the compiler should use may have to be given by
+the environment variable </font></font><tt><font size="2"><font face="Cumberland, monospace"><font color="#000000">lopts</font></font></font></tt><font color="#000000">
+<font face="Thorndale, serif">(loader options).</font></font><font color="#000000"><font face="Thorndale, serif"> </font></font>
+</p><p style="line-height: 100%;"><font color="#000000">Compiler and
+loader options usually differ from computer to computer. In the
+configuration file therefore several value assignments for the
+variables </font><tt><font style="font-size: 10pt;" size="2"><font color="#000000">fopts</font></font></tt><font color="#000000">
+and </font><tt><font style="font-size: 10pt;" size="2"><font color="#000000">lopts</font></font></tt><font color="#000000">
+exist which become active for different computers.</font><font color="#800000">
+<font color="#000000">Which value assignment is used is
+described by
+the so-called validity domain which follows in the appropriate
+variable lines after the value of variables.</font></font><font color="#000000">
+In the example above the entry &ldquo;</font><font color="#000000"><font style="font-size: 11pt; font-style: italic; font-family: monospace;" size="2">lcsgih</font></font><tt><font color="#000000"><span style="font-style: italic; font-family: monospace;">
+</span></font><font color="#000000"><i><font style="font-size: 11pt;" size="2">parallel</font></i></font></tt><font color="#000000">&rdquo;
+stands for </font><tt><font style="font-size: 10pt;" size="2"><font color="#000000">fopts</font></font></tt><font color="#000000">
+and </font><tt><font style="font-size: 10pt;" size="2"><font color="#000000">lopts</font></font></tt><font color="#000000">.
+These lines only become active if a run on the parallel computer of
+the HLRN (</font><tt><i><font style="font-size: 10pt;" size="2">lcsgih</font></i></tt><font color="#000000">)
+on several <font color="#000000">(</font><tt><i><font style="font-size: 10pt;" size="2"><font color="#000000">parallel</font></font></i></tt><font color="#000000">)
+</font>processors is started. The activation takes place when you
+appropriately specify the <span style="font-weight: bold;">mrun</span>
+options </font><tt><font color="#000000">-h</font></tt><font color="#000000">
+and </font><tt><font color="#000000">-K</font></tt><font color="#000000">
+(see below). This way, the validity domain can be limited also for all
+other environment-variables. If no validity domain
+is indicated then the given values of variables are valid for all
+computers. </font>
+</p><p style="line-height: 100%;">After the value
+assignment for the
+variables the so-called error commands follow which have to begin with
+&ldquo;<tt><font style="font-size: 11pt;" size="2">EC:</font></tt>&rdquo;
+in the first column (comment lines begin with &ldquo;<tt>#</tt>&rdquo;).
+Directly
+after the colon Unix commands follow (korn shell syntax) which are
+processed by <b>mrun</b> if errors arise during
+the model run. The command described in the example (<tt><font style="font-size: 10pt;" size="2">cat
+RUN_CONTROL</font></tt>) is executed thereby only on the
+condition that errors during the execution of the model (<tt><font style="font-size: 10pt;" size="2">execution</font></tt>)
+arise. An <b>mrun </b>internal environment variable which
+indicates
+the
+respective abort place in case of errors is <tt><a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#locat">locat</a></tt>.
+In order to determine the actual value of this variable at the
+execution of <b>mrun</b> the &ldquo;<tt>$</tt>&rdquo;
+- prefix
+must be protected by a &ldquo;\&rdquo; since the configuration
+file has been
+already interpreted once when reading in through <b>mrun</b>
+and the
+value from
+<tt>locat</tt> would then supply the empty character
+string. If
+errors arise during the model run this command
+copies the data written by the model up to then to the local file
+<a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+on the standard output where they can be checked after
+job end.<font color="#000000"> RUN_CONTROL is an output
+file of the
+model which has to be copied according to the default configuration
+file
+(see below) after the end of the model run to a permanent file of the
+user but this action would not be performed in case of errors
+in the model run, so that the file content would be lost.</font>
+With
+the help of the error command one can secure it nevertheless. </p>
+<p style="line-height: 100%;">Before and/or after
+the error commands in the example file you can find the so-called input
+and/or output commands which are implemented before and/or after the
+model run. </p>
+<p style="line-height: 100%;">After the output commands<font color="#000000">
+<font color="#000000">in the example file t</font>he
+so-called file
+connection statements</font> <font color="#000000">follow
+</font>via
+which tell <span style="font-weight: bold;">mrun</span>
+how to connect
+the local files in the temporary working
+directory of the model with the respective permanent files of the user.
+<b>mrun</b> copies the input and output files in accordance
+with the
+data in these connection statements. The file connection statements are
+explained in detail in the <b>mrun</b>
+description (<a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#chapter6.3">chapter
+6.3</a>, in German) and are described here only as far as
+necessary. A
+file connection statement usually consists of entries in 5 columns
+whereby all columns are separated from each other by one or more blanks
+(the blanks define the individual columns). In the
+first column the local file name (e.g. <tt><font size="2">PARIN</font></tt>)
+is given as it is addressed by the model. It must begin directly at
+the start of the line. In the second column the so-called file
+attributes
+are given. These determine whether the file is an input file (<tt><font style="font-size: 10pt;" size="2">in</font></tt>)
+or an output file (<tt><font size="2">out</font></tt>),
+whether output
+files are to be transferred to the local computer of the user (<tt><font style="font-size: 10pt;" size="2">tr</font></tt>)
+or whether they are to be archived (<font size="2"><font face="Cumberland, monospace">fl</font></font>).
+If a file has several attributes then they are separated by a <font color="#000000">colon
+in each case .</font> </p>
+<p style="line-height: 100%;">With the entries in the
+third column one
+specifies the conditions under which a file connection statement
+becomes active i.e. under
+which circumstances it is executed by <b>mrun</b>. Then <b>mrun</b>
+copies the appropriate in or output files only if at least one of the
+character strings registered in column 3 (again two or more character
+strings have to be separated from each other by a colon) is
+indicated within the mrun <b>call</b> by the option <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#Opt-r">-r</a>.
+Thus a call of the form </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun - h lcsgih -d abcde -r "d3#"</font></pre></ul>
+<p style="line-height: 100%;">would lead to the fact that
+the input
+file with the local name PARIN is made available and the output files
+RUN_CONTROL and HEADER are copied to permanent files. The output
+files PLOT1D_PAR and PLOT1D_DATA are not copied so that their
+contents are not available to the user after the end of the job. If
+these files are to be copied of <b>mrun</b> then the call
+must be</p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -h lcsgih -d abcde -r "d3# pr#"</font></pre></ul>
+<p style="line-height: 100%;">Instead of the option -r you
+can
+separately address the file connection statements for input and/or
+output files with the options -i and -o. If one likes to make sure with
+these two options that in the example configuration
+file all file connection statements are actually executed then
+the call must be: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -h lcsgih -d abcde -i "d3#" -o "d3# pr#"</font></pre></ul>
+<p style="line-height: 100%;"><font color="#000000">The
+names of the
+local files assigned permanent files are build from the entries in
+the 4th and 5th column of the file connection statements and the
+value of the <span style="font-weight: bold;">mrun</span>
+option </font><tt><font style="font-size: 10pt;" size="2"><font color="#000000">-d</font></font></tt><font color="#000000">
+in the following way:</font><font color="#800000"> </font>
+</p><ul> <p style="line-height: 100%;">File
+name (inclusive path) = &ldquo;value of
+the 4th column&rdquo; + &ldquo;value of the option <tt><font size="2">-d</font></tt>&rdquo;
++ &ldquo;value of the 5th column&rdquo;.</p>
+</ul><p style="line-height: 100%;">The 4th column
+contains the path name
+whereby <tt><a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#fname">$fname</a></tt>
+is replaced by the value indicated for the option <tt><font size="2">-d</font></tt>.
+The 5th column contains the so-called file name extension. The name
+of the permanent file which was copied by <b>mrun</b> to
+the local
+file <tt>PARIN</tt> thereby reads: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/abcde/INPUT/abcde_p3d.</font></pre></ul>
+<p style="line-height: 100%;">In the same way the names of
+the
+permanent files of the remaining <font color="#000000">file
+connection statements </font>can be formed. </p>
+<p style="line-height: 100%;">With this example
+configuration file
+exactly one input file is copied into the temporary working directory
+of the model. This file has the local name <a href="chapter_3.4.html#PARIN">PARIN</a>
+and contains the steering parameters for the model and has to be
+provided by the user for each model run. </p>
+<p style="line-height: 100%;">The example configuration
+file also
+instructs <b>mrun</b> to copy three output files of the
+model to
+appropriate permanent files of the user at the end of the run.
+There are timestep information (local file name <tt><a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a></tt>),
+the so-called header file, in which the values of the most selected
+parameters for this run (<tt><a href="chapter_3.4.html#HEADER">HEADER</a></tt>)
+are located, as well as a file with data of horizontally averaged
+vertical profiles
+(<tt><a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a></tt>).
+A model run does not presuppose neither the file connection statements
+for
+output files nor their activation. But without declaring AND activating
+them usually the data produced by the model
+are lost after the end of the model run! </p>
+<p style="line-height: 100%;">As already mentioned the
+configuration
+file offers a variety of further possibilities to steer the
+execution of the model run. Some of them are described in the next
+chapter. Same applies to possible other options of the <b>mrun</b>
+call. For these please refer to the <a href="http://www.muk.uni-hannover.de/%7Eraasch/Software/mrun_beschreibung.html">mrun</a>
+documentation (in German). An <b>mrun </b>call for the
+execution of a
+model run
+on several processors on the SGI ICE of the HLRN must be
+supplemented by the following options in each case: </p>
+<ul style="font-family: monospace;"> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun - K parallel -X ... -T ... -t ... -m ---</font></pre></ul>
+<p style="line-height: 100%;">Only the indication of <tt><font style="font-size: 11pt;" size="2">-K
+parallel</font></tt> causes the parallel execution of the
+run on
+several processors (otherwise a scalar execution on one processor is
+accomplished). In addition to this the number of the
+processing elements which shall be used has to be pre-scribed with the
+option <tt><font style="font-size: 10pt;" size="2">-X</font>
+</tt><font size="2">(</font><font style="font-size: 10pt;" size="2">e.g.
+</font><tt><font style="font-size: 10pt;" size="2">-X 32</font></tt><font size="2">) and the number of tasks (processors) on onde node have to be given by option -T.</font>
+In each case the permitted CPU time in seconds and the required memory
+size in MB must be indicated by the options <tt><font style="font-size: 11pt;" size="2">-t</font></tt>
+and <tt><font style="font-size: 11pt;" size="2">-m</font></tt>,
+respectively<font face="Thorndale, serif">.</font>
+Alternatively, memory and cpu-time demands can be set by the appropriate environment
+variables in the configuration file: </p>
+<blockquote style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">%memory&nbsp; <i>1500</i> lcsgih parallel</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">%cputime <i>1000</i> lcsgih parallel</font></font></tt></blockquote>
+<p style="line-height: 100%;">The values indicated there
+can be
+overridden with the values of the options <tt><font style="font-size: 10pt;" size="2">-t</font></tt>
+and/or <tt><font style="font-size: 10pt;" size="2">-m</font></tt>,
+respectivly.</p><p style="line-height: 100%;"><span style="font-weight: bold;">Warning: When changing the coniguration file, please never use the TAB key!</span> </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.1.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.3.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.3.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.3.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.3.html	(revision 393)
@@ -0,0 +1,257 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
+chapter 3.3</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Marcus Oliver Letzel"> <meta name="CREATED" content="20040728;14053490"> <meta name="CHANGED" content="20041112;14150257"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.3 Initialization and restart
+runs</h3>
+<p style="line-height: 100%;">A job started by <b>mrun</b>
+will
+- according to its requested computing time, its memory size
+requirement and
+the number of necessary processing elements (on parallel computers) -
+be queued by the queuing-system of the remote computer into a suitable
+job
+class which fulfills these requirements. Each job class permits only
+jobs with certain maximum requirements (e.g.
+the job class <tt><font style="font-size: 11pt;" size="2">cdev</font></tt>
+on the IBM Regatta "hanni" of the HLRN permits only jobs with no more
+than 7200 seconds required computing time and with using no more than
+32
+processing elements). The job classes are important for the scheduling
+process of&nbsp; the computer. Jobs with small requirements usually
+come to execution
+very fast, jobs with higher requirements must wait longer (sometimes
+several days). </p>
+<p style="line-height: 100%;">Before the start of a model
+run the user
+must estimate how much CPU time the model will need for the simulation.
+The necessary time in seconds has to be indicated with the mrun
+<b>option</b> <tt><a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#Opt-t">-t</a></tt>
+and has an influence on the job class into which the job is queued. Due
+to the fact that the model usually uses a variable
+time step and thus the number of time steps to be executed and
+consequently the time needed by the model is not
+known at the beginning, this can be measured only very roughly in
+many cases. So it may happen that the model needs more time than
+indicated for the option <tt><u><font style="font-size: 10pt;" size="2">-t</font></u>,</tt>
+which normally leads to an abort of the job as soon as the available
+CPU time is consumed. In principle one could solve this problem by
+setting a very generously estimated value for <u><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">-t</font></font></u>,
+but this will possibly lead to the disadvantage that the queued job has
+to wait longer for execution.<br>
+</p><p style="line-height: 100%;">To avoid this
+problem <b>mrun </b>offers
+the possibility of so-called <b>restart runs</b>. During
+the model
+run PALM continuously examines how much time is left for the
+execution of the job. If the run is not completed and finished shortly
+before
+expiration of this time, the model stops and writes down the values
+of (nearly) all model variables in binary form to a file (local name
+<a href="chapter_3.4.html#BINOUT">BINOUT</a>).
+After copying the output files required by the user, <b>mrun</b>
+automatically starts a restart run. For this purpose a new <b>mrun</b>
+call is set off automatically on the local computer of the user; <b>mrun</b>
+thus calls itself. The options with this call correspond to a large
+extent to those which the user had selected with his initial call of <b>mrun</b>.
+The model restarts and this time at the beginning it reads in the
+binary data written before and continues the run with them. If in
+this job the CPU time is not sufficient either, in order to terminate
+the run, at the end of the job another restart run is started, etc.,
+until the time which shall be simulated by the model, is reached.
+Thus a set of restart runs can develop - a so-called job chain. The
+first run of this chain (model start at t=0) is called
+<b>initial run</b>. </p>
+<p style="line-height: 100%;">Working with restart runs
+and their
+generation through <b>mrun</b> requires certain entries in
+the
+mrun-configuration file and in the parameter file, which are
+described and explained in the following. The configuration file must
+contain the following entries (example for the IBM Regatta of the
+HLRN): </p>
+<ul> <pre style="line-height: 100%;"><font style="font-size: 10pt;" size="2">%write_binary true restart</font><br><font style="font-size: 10pt;" size="2">#</font><br><a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN</font></a><font style="font-size: 10pt;" size="2"> in:job:npe d3# ~/palm/current_version/JOBS/$fname/INPUT _p3d</font><br><font style="font-size: 10pt;" size="2">PARIN in:job:npe d3f ~/palm/current_version/JOBS/$fname/INPUT _p3df</font><br><a href="chapter_3.4.html#BININ"><font style="font-size: 10pt;" size="2">BININ</font></a><font style="font-size: 10pt;" size="2"> in:loc d3f ~/palm/current_version/JOBS/$fname/OUTPUT _d3d</font><br><font style="font-size: 10pt;" size="2">#</font><br><a href="chapter_3.4.html#BINOUT"><font style="font-size: 10pt;" size="2">BINOUT</font></a><font style="font-size: 10pt;" size="2"> out:loc restart ~/palm/current_version/JOBS/$fname/OUTPUT _d3d</font></pre></ul>
+<p style="line-height: 100%;">The <b>mrun</b>
+call for the
+initialization run of the job chain must look as follows: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -h ibmh -d abcde -t 900 -r "d3# restart"</font></pre></ul>
+<p style="line-height: 100%;">The specification of the
+environment
+variable <tt><tt><font style="font-size: 10pt;" size="2">writ</font></tt></tt><tt><tt><font style="font-size: 10pt;" size="2">e_binary</font><font style="font-size: 11pt;" size="2">, </font></tt></tt>which
+must be
+assigned the value <tt><tt><font style="font-size: 10pt;" size="2">true</font></tt></tt>,
+is essential. Only in this case the model writes
+binary-coded data for a possible restart run to the local file <tt><tt><a href="chapter_3.4.html#BINOUT">BINOUT</a></tt></tt>
+at the end of the run. Then of course this output file must be stored
+on a permanent file with an appropriate file connection statement
+(last line of the example above). As you can see, both instructions
+(variable declaration and connection statements) are only carried out
+by <b>mrun</b>, if the character string <tt><tt><font style="font-size: 10pt;" size="2">restart</font></tt></tt>
+is given for the option <tt><font style="font-size: 10pt;" size="2">-r</font>
+</tt>in the <span style="font-weight: bold;">mrun</span>
+call. Thus
+the example above can also be used
+if no restart runs are intended. In such cases the character string
+<tt><tt><font style="font-size: 10pt;" size="2">restart</font></tt></tt>
+with the option <tt><font style="font-size: 10pt;" size="2">-r</font></tt>
+can simply be omitted. </p>
+<p style="line-height: 100%;">Only by the specification of
+<tt><font style="font-size: 10pt;" size="2">write_binary=true</font><font style="font-size: 11pt;" size="2">
+</font><font face="Thorndale, serif">the</font></tt>
+model is
+instructed to compute the remaining CPU time after each time step and
+stop, if the run is not going to be completed and finished briefly
+before expiration of
+this time. Actually the stop takes place when the
+difference from the available job time (determined by the <b>mrun</b>
+option <tt><font style="font-size: 10pt;" size="2">-t</font></tt>)
+and
+the time used so far by the job becomes smaller than the time given
+by the model variable <a href="chapter_4.2.html#termination_time_needed">termination_time_needed</a>.
+With the variable <b>termination_time_needed </b>the user
+determines,
+how much time is needed for binary copying of the data for restart
+runs, as
+well as for the following data archiving and transfer of result data
+etc. (as long as this is part of the job). Thus, as soon as the
+remaining job time is less than <b>termination_time_needed</b>,
+the
+model stops
+the time step procedure and copies the data for a restart run to the
+local binary file BINOUT. The so-called initialization parameters are
+also written to this file (see <a href="chapter_4.0.html">chapter
+4.0</a>). In a last step the model produces another file with the
+local name CONTINUE_RUN. The presence of this file signals <b>mrun</b>
+the fact that a restart run must be started and leads to the
+start of an appropriate job. </p>
+<p style="line-height: 100%;"><font color="#000000">During
+the initial
+phase of a restart ru</font>n different actions than during the
+initial
+phase of an initial run of the model are neccessary. In this
+case the model must read in the binary data written by the preceding
+run at the beginning of the run. Beyond that it also reads the
+initialization parameters from this file. Therefore these do not need
+to be indicated in the parameter file (local name <a href="chapter_3.4.html#PARIN">PARIN</a>).
+If they are indicated nevertheless and if their value deviates from
+their value of the initial run, then this is ignored. There is
+exactly one exception to this rule: with the help of the
+initialization parameter <a href="chapter_4.1.html#initializing_actions">initializing_actions</a>
+it is determined whether the job is a restart run or an
+initial run. If <b>initializing_actions</b> =
+&ldquo;<i>read_restart_data&rdquo;</i>, then it is
+a restart
+run, otherwise an initial run. The previous remarks make it
+clear that the model obviously needs two different parameter files
+(local name PARIN) for the case of job chains. One is needed for the
+initial run and contains all initialization parameters set by
+the user and the other one is needed for restart runs. The
+last one only contains the initialization parameter
+<b>initializing_actions</b> (also, initialization
+parameters with values different from the initial run may appear in
+this file, but they will be ignored), which
+must have the value &ldquo;<i>read_restart_data&rdquo;</i>.
+Therefore the user must produce two different parameter files if he
+wants to operate job chains. Since the model always expects the
+parameter file on the local file <tt>PARIN</tt>, two
+different file
+connection statements must be given for this file in the
+configuration file. One may be active only at the initial run,
+the other one only at restart runs. The <b>mrun </b>call
+for the
+initial run shown above activates the first of the two
+specified connection statements, because the character string <tt><font style="font-size: 10pt;" size="2">d3#</font></tt>
+with the option <tt><font style="font-size: 10pt;" size="2">-r</font></tt>
+coincides with the character
+string in the third column of the connection statement. Obviously
+the next statement must be active</p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PARIN in:job:npe d3f ~/palm/current_version/JOBS/$fname/INPUT _p3df</font></pre></ul>
+<p style="line-height: 100%;">with the restart runs. Given
+that t<font color="#000000">his statement only gets</font>
+active if the option <tt><font style="font-size: 10pt;" size="2">-r</font></tt> is given the value
+<tt><font style="font-size: 11pt;" size="2">d3f</font></tt>
+and that
+the <b>mrun</b> call for this restart run is produced
+automatically (thus not by the user), <b>mrun</b>
+obviously has to
+replace <tt><font style="font-size: 10pt;" size="2">"d3#"</font></tt>
+of the initial run with <tt><tt><font style="font-size: 10pt;" size="2">"d3f"</font>
+</tt></tt>within the call of this restart run. Actually,
+with restart
+runs all <tt><font style="font-size: 10pt;" size="2">"#"</font></tt>
+characters within the strings given for the options <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">-r</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">
+, </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">-i</font></font></tt>
+and <tt><font style="font-size: 10pt;" size="2">-o</font></tt>
+are
+replaced by <tt><font style="font-size: 10pt;" size="2">&ldquo;f&rdquo;</font></tt>.
+</p>
+<p style="line-height: 100%;">For example, for the initial
+run
+the permanent file </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;">~/palm/current_version/JOBS/abcde/INPUT/abcde_p3d</pre></ul>
+<p style="line-height: 100%;">and for restart runs the
+permanent file<span style="font-family: monospace;"> </span></p>
+<ul style="font-family: monospace;"> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/abcde/INPUT/abcde_p3df</font></pre></ul>
+<p style="line-height: 100%;">is used. Only with restart
+runs the
+local file <tt>BININ</tt> is made available as input file,
+because
+the appropriate file connection statement also contains the
+character string <tt><font style="font-size: 10pt;" size="2">"d3f"</font></tt>
+in the third column. This is logical and necessary since in BININ the
+binary data, produced by the model of the preceding job of the chain,
+are expected and the initial run does not need these
+data The permanent names of this input file (local name BININ) and
+the corresponding output file (local name BINOUT) are identical and
+read </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/abcde/OUTPUT/abcde_d3d.</font></pre></ul>
+<p style="line-height: 100%;">However, after the file
+produced by the
+previous job was read in by the model and after at the local file
+<tt>BINOUT </tt>was produced at the end of the job, the
+restart job does not overwrite this permanent file (<tt>&hellip;/<font style="font-size: 10pt;" size="2">abcde_d3d</font></tt>)
+with the new data. Instead of that, it is examined whether already
+a permanent file with the name <tt><font style="font-size: 10pt;" size="2">&hellip;/abcde_d3d</font>
+<font face="Thorndale, serif">exists </font></tt>when
+copying the
+output file (<tt><font style="font-size: 10pt;" size="2">BINOUT</font></tt>)
+of <b>mrun</b>. If this is the case, <tt><font style="font-size: 10pt;" size="2">BINOUT</font></tt>
+is copied to the file<font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">
+</font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&hellip;/abcde_d3d.1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font>
+Even if this file is already present, <tt><font style="font-size: 10pt;" size="2">&hellip;/abcde_d3d.2</font></tt>
+is tried etc. For an input file the highest existing cycle
+of the respective permanent file is copied. In the example above this
+means: the initial run creates the permanent file
+<tt><font style="font-size: 10pt;" size="2">&hellip;/abcde_d3d</font></tt><font style="font-size: 11pt;" size="2">,</font>
+the first restart run uses this file and creates <tt>&hellip;/<font style="font-size: 10pt;" size="2">abcde_d3d.1</font></tt>,
+the second restart run creates <tt><font style="font-size: 10pt;" size="2">&hellip;/abcde_d3d.2</font></tt><font style="font-size: 10pt;" size="2">
+</font>etc. After completion of the job chain the user can still
+access all files created by the jobs. This makes it possible for the
+user for example to restart the model run of a certain job of the job
+chain again. </p>
+<p style="line-height: 100%;">Therefore restart jobs can
+not only be
+started automatically through <b>mrun</b>, but also
+manually by the
+user. This is necessary e.g. whenever after the end of a job chain
+it is decided that the simulation must be continued further, because
+the phenomenon which should be examined did not reach the desired
+state yet. In such cases the <b>mrun</b> options
+completely
+correspond to those of the initial call; simply the <tt><font style="font-size: 10pt;" size="2">"#"</font></tt>
+characters in the
+arguments of options <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">-r</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">,
+</font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">-i</font></font></tt>
+and <tt><font style="font-size: 10pt;" size="2">-o</font></tt>
+must be
+replaced by <tt><font style="font-size: 10pt;" size="2">"f"</font></tt>.
+</p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.2.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.4.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.4.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.4.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.4.html	(revision 393)
@@ -0,0 +1,4061 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+
+
+  
+  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
+
+  
+  <title>PALM chapter 3.4</title></head>
+<body>
+
+
+<h3 style="line-height: 100%;"><font color="#000000">3.4
+Input and
+output files</font></h3>
+
+
+<p style="line-height: 100%;"></p>
+
+
+<p style="line-height: 100%;"><font color="#000000">The
+model works
+with a set of files, which are all located in the temporary working
+directory and which are either expected at the beginning of the run
+(the so-called input files) or which are
+produced during the run and/or at the end of the simulation (output
+files).</font><font color="#800000">
+<font color="#000000">The following table lists all
+default files
+addressed by the model. They are arranged according to the
+associated FORTRAN unit (unit number).</font> </font><font color="#000000">The
+unit 90 is used for different files, which are opened only briefly
+and uniquely in the model and closed directly afterwards.
+Unit numbers 101 - 109, 111 - 113, and 116&nbsp;refer to data files
+which have NetCDF format.
+These are not opened by a FORTRAN-OPEN-statement but by a corresponding
+NetCDF call (NF90_CREATE or NF90_OPEN). These files are only created on
+machines where a NetCDF library is available.<br>
+
+
+</font></p>
+
+
+<p style="line-height: 100%;"><font color="#000000">The
+file
+names described in the list correspond to the names indicated in the
+respective OPEN instruction, i.e. the files are expected and saved
+under these names in the temporary working directory of the model. By
+default, file names are always written in capital letters. The
+third column indicates whether it is an input or output file (I
+and/or O). The NetCDF files can be both input and output files (I/O).
+If restart jobs shall append data to an existing NetCDF file (created
+by a previous job of the job chain), the respective file has to be
+given as an input file (see also <a href="../app/chapter_4.5.1.html">chapter
+4.5.1</a> which gives more details about the PALM-NetCDF-output).</font>
+</p>
+
+
+<p style="line-height: 100%;"> </p>
+
+
+<p style="line-height: 100%;"><font color="#000000">On
+parallel
+computers many of the files are read and/or written by the central
+processing element 0 (PE0) only. These files have processor-independent
+content (and therefore they can be read or written by other
+PEs just as well). However, certain files have processor-dependent
+content. For the binary output of data for restart runs (local file
+<a href="#BINOUT">BINOUT</a>),
+for example, <font color="#000000">each PE outputs only
+the data of
+its subdomain. So each processing element writes
+into its own file with its own file name. These files lie in a
+subdirectory of the temporary working directory. Their names are build
+off from the underline ("_ ") and the four digit
+processor ID. The data written for restart runs would be e.g. on the
+files BINOUT/_0000 (PE0), BINOUT/_0001 (PE1), BINOUT/_0002 (PE2) etc.
+Such files, which have processor-dependent content on parallel
+computers, are marked in the following list by the fact, that to the
+file name a line (&rdquo;/&ldquo;) is attached. If appropriate
+output
+files are to be copied through <b>mrun</b> to permanent
+files, and/or
+files with processor-dependent content are supposed to be copied as
+input files into the temporary working directory of the model, you have
+to indicate a special file attribute in the appropriate file
+connection statement </font>(see <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#arpe">arpe</a>,
+<a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#flpe">flpe</a>
+<font color="#000000">in the <b>mrun </b>description).</font><font color="#800000">
+</font><font color="#000000">Then the permanent file
+name will be
+interpreted as a directory name, in which the input files are
+expected and/or to which output files are written. The file names in
+these directories are always named _0000, _0001, _0002 etc. </font>
+</font></p>
+
+
+<p><font color="#000000"><font color="#000000">For
+internal use,
+the model may open a set of further files, which are not
+defined by the user but contain no usable information and
+therefore are not included in this list.</font></font></p>
+<p><font color="#000000"><font color="#000000">
+
+<a name="coupled"></a>In case of <a href="chapter_3.8.html">coupled</a> atmosphere-ocean
+runs (see <a href="chapter_3.8.html">chapter 3.8</a>),
+both the atmosphere and the </font></font><font color="#000000"><font color="#000000"><a href="chapter_4.1.html#ocean">ocean</a> executable use
+the same temporary working directory. However, each executable requires its own, unique set of files for I/O. In order to
+distinguish between atmosphere and ocean files, coupled </font></font><font color="#000000"><font color="#000000">atmosphere-ocean
+</font></font><font color="#000000"><font color="#000000">runs use the </font></font><font color="#000000"><font color="#000000">following
+filename convention</font></font><font color="#000000"><font color="#000000">. </font></font><font color="#000000"><font color="#000000">The
+atmosphere executable uses the set of normal filenames given in the
+table below. The ocean executable uses a set of modified filenames that
+have the string '_O' added to their normal name. The coupled
+ocean filenames are given in brackets in the table below where
+applicable. The string '_O' is simply appended </font></font><font color="#000000"><font color="#000000">to most
+filenames</font></font><font color="#000000"><font color="#000000">; exceptions are highlighted in bold face. (<span style="font-weight: bold;">Note:</span> uncoupled
+ocean runs use the normal set of filenames without '_O'.)</font></font></p>
+<p></p>
+<font color="#000000"><font color="#000000">
+
+<br>
+
+
+</font>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+  <tbody>
+
+
+    <tr valign="top">
+
+
+      <td width="8%">
+      
+      <p><font size="4"><b>Unit</b></font></p>
+
+
+      </td>
+
+
+      <td width="12%">
+      
+      <p><font size="4"><b>Name</b></font></p>
+
+
+      </td>
+
+
+      <td width="4%">
+      
+      <p><font size="4"><b>I/O</b></font></p>
+
+
+      </td>
+
+
+      <td width="9%">
+      
+      <p><font size="4"><b>Format</b></font></p>
+
+
+      </td>
+
+
+      <td colspan="1" width="67%">
+      
+      <p><font size="4"><b>Description/contents</b></font></p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr valign="top">
+
+
+      <td style="text-align: center;" width="8%"> 11<br>
+
+
+      </td>
+
+
+      <td width="12%">
+      
+      <p><a name="PARIN"></a>PARIN<br>
+
+
+(PARIN_O)</p>
+
+
+      </td>
+
+
+      <td width="4%">
+      
+      <p align="center">I</p>
+
+
+      </td>
+
+
+      <td style="width: 9%;">
+      
+      <p>ASCII/&nbsp; <br>
+
+
+NAMELIST</p>
+
+
+      </td>
+
+
+      <td colspan="1" width="67%">
+      
+      <p><font color="#000000">Parameter
+for model steering. This file
+is needed by the model in each case. Its content and structure is
+described in detail in</font> <a href="chapter_4.0.html">chapter
+4.0</a>. <a href="chapter_4.4.1.html">Chapter
+4.4.1</a> <font color="#000000">shows a simple
+example. </font> </p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr valign="top">
+
+
+      <td style="text-align: center;" width="8%">
+      
+      <p align="center">13</p>
+
+
+      </td>
+
+
+      <td width="12%">
+      
+      <p><a name="BININ"></a>BININ/<br>
+
+
+(BININ<span style="font-weight: bold;">_O</span>/)</p>
+
+
+      </td>
+
+
+      <td width="4%">
+      
+      <p align="center">I</p>
+
+
+      </td>
+
+
+      <td width="9%">
+      
+      <p>Binary</p>
+
+
+      </td>
+
+
+      <td colspan="1" width="67%">
+      
+      <p>Binary data,
+which are read in by the model at the beginning
+of a restart run (see <a href="chapter_3.3.html">chapter
+3.3</a>). The appropriate file must have been written by the
+preceding
+job of the job chain (see <a href="#BINOUT">BINOUT</a>).
+This file contains the initial parameters (see <a href="chapter_4.1.html">chapter
+4.1</a>) of the job chain, arrays of the prognostic and
+diagnostic
+variables as well as those parameters and variables for plots of
+horizontally averaged vertical profiles (see <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>),
+which have been determined by the job chain so far. Concerning runs on
+several processors it has to be noted that each processing element
+reads its own file and the file content is processor-dependent. The
+number of processors which can be used must not be changed during a job
+chain and/or if a job chain is continued.&nbsp; </p>
+
+
+      
+      <p>Knowledge
+of the file structure is usually not necessary,
+because the file is produced and also read again by the model, but it
+can be useful for error determination in case of read errors .
+Therefore the file structure is described in the following.&nbsp; </p>
+
+
+      
+      <p>The first record of this file contains a version number
+(ten
+character string) of the subroutine, which, which output the data that
+follows (write_var_list.f90). This number has to
+agree with the version number subroutine which is reading the file
+(read_var_list.f90) in case of a restart run. Otherwise the model run
+is aborted. Version numbers are changed whenever new code revisions
+require a change of the file format.&nbsp; </p>
+
+
+      
+      <p>Starting
+from the second record, all initial parameters follow
+(exception: <a href="chapter_4.1.html#initializing_actions">initializing_actions</a>),
+whereby each parameter fills two records. In the first record the name
+of the parameter is saved as a character string (30 characters long,
+short names are filled by trailing blanks, longer names are cut off at
+the end), in the second record the value (or the values) of the
+parameter follow. The sequence of parameters on the file may be
+arbitrary, however the first and second variable must be <a href="chapter_4.1.html#nz">nz</a>
+and <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>.
+If a variable with unknown name is found the model run is
+aborted.&nbsp; </p>
+
+
+      
+      <p>At the end of the initial
+parameters a record with the string "<i>***
+end ***</i>"follows (filled up with trailing blanks up to a
+length of
+30 characters).&nbsp; </p>
+
+
+      
+      <p>Afterwards the fields
+of the prognostic and diagnostic
+variables follow. This part of the file also begins with a record
+consisting of a character string of length 10, which contains the
+version number of the subroutine that wrote the arrays that follow
+(write_3d_binary.f90). It must agree with the number of the reading
+subroutine (read_3d_binary.f90).&nbsp; </p>
+
+
+      
+      <p>The
+following record contains the number of processors which
+were used in the model run producing this file, the processor ID of the
+special processor, which creates the file, as well as the lower and
+upper array indices of the subdomain belonging to this processing
+element. If no complete agreement with the values of the current model
+run exists, then this is aborted. This examination must be made in
+particular on parallel computers, because the jobs of a job chain
+always have to use the same number of processors and the same virtual
+processor grid.&nbsp; </p>
+
+
+      
+      <p>After these tests the
+individual arrays as well as parameters
+and variables for plots of horizontally averaged vertical profiles
+follow. Like the initialization parameters, they consist of two
+records. In the first record, the name of the array or the variable
+(character string, consisting of 20 characters, filled with trailing
+blanks) is located, in the second one its values follow. The sequence
+of the individual variables may be arbitrary again. The parameters for
+the plot and the respective variables are only read in if for the run
+parameter <a href="chapter_4.2.html#use_prior_plot1d_parameters">use_prior_plot1d_parameters</a>
+= <i>.TRUE</i> is selected, otherwise they will be
+skipped.&nbsp; </p>
+
+
+      
+      <p>At the end of the file there
+has to be a record with the
+character string "<span style="font-style: italic;"></span><i>***
+end
+***</i>"(filled up with trailing blanks up to a length of 20
+characters).</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr valign="top">
+
+
+      <td style="text-align: center;" width="8%">
+      
+      <p align="center">14</p>
+
+
+      </td>
+
+
+      <td width="12%">
+      
+      <p><a name="BINOUT"></a>BINOUT/<br>
+
+
+(BINOUT<span style="font-weight: bold;">_O</span>/)</p>
+
+
+      </td>
+
+
+      <td width="4%">
+      
+      <p align="center">O</p>
+
+
+      </td>
+
+
+      <td width="9%">
+      
+      <p>Binary</p>
+
+
+      </td>
+
+
+      <td colspan="1" width="67%">
+      
+      <p>Binary data,
+which are written by the model at the end of the
+run and possibly needed by restart runs (see <a href="chapter_3.3.html">chapter
+3.3</a>) for the initialization. This output file is then read in
+as
+file <a href="#BININ">BININ</a>.
+It contains the initial parameters (see <a href="chapter_4.1.html">chapter
+4.1</a>) of the model run, arrays of the prognostic and
+diagnostic
+variables as well as those parameters determined so far during a job
+chain and variables for plots of horizontally averaged vertical
+profiles (see <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>).
+With runs on several processors it has to be noted that each processing
+element writes its own file and the file content is
+processor-dependent. A specification of the file format can be found in
+the
+description of the file <a href="#BININ">BININ</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The file BINOUT is written by the model only if,
+with the help
+of the <b>mrun</b>-configuration file, the <font face="Thorndale, serif">value</font> <span style="font-family: monospace;">true</span> is
+assigned for the
+environment
+variable <span style="font-size: 10pt; font-family: monospace;">write_binary</span>
+(see <a href="chapter_3.3.html">chapter
+3.3</a>).&nbsp; </p>
+
+
+      
+      <p>With large grid point
+numbers the file BINOUT (or the
+files residing in directory BINOUT/) will be very large and should
+be stored (if available) on the archive system of the remote computer.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">15<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="RUN_CONTROL"></a>RUN_CONTROL<br>
+
+
+(RUN_CONTROL_O)</td>
+
+
+      <td style="vertical-align: top;">O</td>
+
+
+      <td style="vertical-align: top;">Ascii</td>
+
+
+      <td colspan="1" width="67%">
+      
+      <p>This file contains
+the so-called time step control output of
+the model. At certain temporal intervals, which are described by the
+run
+parameter <a href="chapter_4.1.html#dt_run_control">dt_run_control</a>,
+a line with the values of certain control parameters is written into
+this
+file. Additionally, such a control line is always written, whenever the
+time step of the model changes. All data and quantities always refer to
+the entire model domain.&nbsp; </p>
+
+
+      
+      <p>If the
+1D-model is switched on for the initialization of the
+3D-models, then control lines are likewise written into this file at
+certain temporal intervals (see <a href="chapter_4.1.html#dt_run_control_1d">dt_run_control_1d</a>).&nbsp;
+      </p>
+
+
+      
+      <p>By default, the file RUN_CONTROL only lists
+information
+about the selected model parameters at the beginning of the
+initial run. These informations are written at the beginnning of a run.
+They correspond to those of the file <a href="#HEADER">HEADER</a>
+(however without data concerning the consumed CPU time, because these
+are
+only known at the end of a run). With the run parameter <a href="chapter_4.2.html#force_print_header">force_print_header</a>
+it can be achieved that this information is also written at the
+beginning of the file RUN_CONTROL at restart runs.&nbsp; </p>
+
+
+      
+      <p>The individual columns of the 1D - time step control
+output
+have the following meaning (listed by the respective heading of the
+appropriate
+column in the file):&nbsp; <br>
+
+
+      </p>
+
+
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2">
+
+
+        <tbody>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">ITER.</td>
+
+
+            <td style="vertical-align: top;">Number of
+time steps
+accomplished so far</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">HH:MM:SS</td>
+
+
+            <td style="vertical-align: top;">Time (in
+hours: minutes:
+seconds)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">DT</td>
+
+
+            <td style="vertical-align: top;">Time step (in
+s)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">UMAX</td>
+
+
+            <td style="vertical-align: top;">Maximum
+absolute wind
+velocity
+(u-component) (in m/s)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">VMAX</td>
+
+
+            <td style="vertical-align: top;">Maximum
+absolute wind
+velocity
+(v-component) (in m/s)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">U *</td>
+
+
+            <td style="vertical-align: top;">Friction
+velocity (<font color="#000000">in </font>m/s)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">ALPHA</td>
+
+
+            <td style="vertical-align: top;">Angle of the
+wind vector
+(to the x-axis) at the top of the
+Prandtl layer (k=1) (<font color="#000000">in </font>degrees)</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">ENERG.</td>
+
+
+            <td style="vertical-align: top;">Kinetic
+energy of the
+1D-model (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>),
+averaged over all grid points</td>
+
+
+          </tr>
+
+
+        
+        </tbody>
+      
+      </table>
+
+
+      
+      <p>&nbsp;
+The individual columns of the 3D - time step control output
+have the following meaning (listed by the respective heading of the
+appropriate
+column in the file):<br>
+
+
+      </p>
+
+
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2">
+
+
+        <tbody>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">RUN</td>
+
+
+            <td style="vertical-align: top;">Serial-number
+of the job
+in the job chain. The initial
+run has the number 0, restart runs accordingly have larger numbers.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">ITER.</td>
+
+
+            <td style="vertical-align: top;">Number of
+time steps
+accomplished since starting time t=0 of
+the initial run.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">HH:MM:SS</td>
+
+
+            <td style="vertical-align: top;">Time (<font color="#000000">in </font>hours: minutes:
+seconds) since starting time t=0 of the
+initial run.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">DT (E)</td>
+
+
+            <td style="vertical-align: top;">Time step (<font color="#000000">in </font>s). The
+following character indicates whether the
+time
+step is limited by the advection criterion (A) or the diffusion
+criterion (D). After changes of the time step a further character
+follows,
+which indicates with which time step procedure the changed time step
+was accomplished (<span style="font-family: monospace;">L:</span>
+Leapfrog, <span style="font-family: monospace;">E:</span>
+Euler). This
+does
+not apply for the default Runge-Kutta timestep scheme.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">UMAX</td>
+
+
+            <td style="vertical-align: top;">Maximum
+absolute wind
+velocity (u-component) (<font color="#000000">in </font>m/s).
+If at
+the
+appropriate output time a random disturbance was added to the
+horizontal velocity field (see <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>),
+the character D will appear directly after the velocity value.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">VMAX</td>
+
+
+            <td style="vertical-align: top;">Maximum
+absolute wind
+velocity (v-component) (<font color="#000000">in </font>m/s).
+If at
+the
+appropriate output time a random disturbance was added to the
+horizontal velocity field (see <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>),
+the character D will appear directly after the velocity value.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">WMAX</td>
+
+
+            <td style="vertical-align: top;">Maximum
+absolute wind
+velocity (w-component) (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">U
+*</td>
+
+
+            <td style="vertical-align: top;">Horizontal
+average of the
+friction velocity (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">W
+*</td>
+
+
+            <td style="vertical-align: top;">Convective
+velocity scale
+(<font color="#000000">in </font>m/s). The assumed
+boundary layer
+height is determined via the heat flux minimum criterion.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">THETA *</td>
+
+
+            <td style="vertical-align: top;">Characteristic
+temperature
+of the Prandtl - layer (<font color="#000000">in </font>K).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">Z_I</td>
+
+
+            <td style="vertical-align: top;">Height of the
+convective
+boundary layer (<font color="#000000">in </font>m),
+determined via
+the criterion of the heat flux minimum.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">ENERG.</td>
+
+
+            <td style="vertical-align: top;">Average
+resolved total
+energy of the flow field (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>),
+normalized with the total number of grid points.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">DISTENERG</td>
+
+
+            <td style="vertical-align: top;">Average
+resolved
+disturbance energy of flow field (<font color="#000000">in
+            </font>m<sup>2</sup>/s<sup>2</sup>),
+normalized with the total number of grid points.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">DIVOLD</td>
+
+
+            <td style="vertical-align: top;"><font color="#000000">Divergence
+of the velocity field (sum of
+the absolute values) (</font><font color="#000000">in
+            </font><font color="#000000">1/s) before
+call of the
+pressure solver,
+normalized with the total number of grid points.</font></td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">DIVNEW</td>
+
+
+            <td style="vertical-align: top;"><font color="#000000">Divergence
+of the velocity field (sum of
+the absolute values) (</font><font color="#000000">in
+            </font><font color="#000000">1/s) after
+call of the
+pressure solver, normalized</font>
+with the total number of grid points.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">UMAX (KJI)</td>
+
+
+            <td style="vertical-align: top;">Indices of
+the grid point
+with the maximum absolute
+u-component of the wind velocity (sequence: k, j, i).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">VMAX (KJI)</td>
+
+
+            <td style="vertical-align: top;">Indices of
+the grid point
+with the maximum absolute
+v-component of the wind velocity (sequence: k, j, i).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">WMAX (KJI)</td>
+
+
+            <td style="vertical-align: top;">Indices of
+the grid point
+with the maximum absolute
+w-component of the wind velocity (sequence: k, j, i).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">ADVECX</td>
+
+
+            <td style="vertical-align: top;">Distance (<font color="#000000">in </font>km) the
+coordinate system has been moved in
+x-direction with Galilei-Transformation switched on (see <a href="chapter_4.1.html#galilei_transformation">galilei_transformation</a>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;">ADVECY</td>
+
+
+            <td style="vertical-align: top;">Distance (<font color="#000000">in </font>km) the
+coordinate system has been moved in
+y-direction with Galilei-Transformation switched on (see <a href="chapter_4.1.html#galilei_transformation">galilei_transformation</a>).</td>
+
+
+          </tr>
+
+
+        
+        </tbody>
+      
+      </table>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">16<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="LIST_PROFIL"></a>LIST_PROFIL<br>
+
+
+(LIST_PROFIL_O) </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">This file contains
+horizontally
+(and possibly temporally)
+averaged vertical profiles of some model variables. The quantities
+saved are set model-internally and can not be determined by the user.
+At each output time (see <a href="chapter_4.2.html#dt_dopr_listing">dt_dopr_listing</a>)
+two tables are written to the file consecutively. The first contains
+variables which are defined on the scalar / u-v-grid-levels, the
+second table contains variables which are defined on the w-grid-levels.
+If subdomains were defined with the initialization parameter <a href="chapter_4.1.html#statistic_regions">statistic_regions </a>for
+additional statistic evaluation, then the tables
+described above are written for each individual subdomain. The name of
+the respective subdomain (see <a href="chapter_4.3.html#region">region</a>)
+appears in the header of the respective table. <br>
+
+
+In each case the tables consist of a header, followed by the
+profiles arranged next to each other in columns. The header contains
+some basic information of the respective run (model version, run
+identifier consisting of
+basic file name and number of the job in the job chain, executing
+computer, date, time of the beginning of the run, name of the
+subdomain, output time, kind of averaging). On the u-v-level the
+following columns are written: <br>
+
+
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2">
+
+
+        <tbody>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">k<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Vertical
+grid point index.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">zu<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Height
+of the grid point
+level (<font color="#000000">in </font>m).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">u<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">u-component
+of the wind
+velocity (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">du<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Deviation
+of the
+u-component from the initial profile at the
+time t=0 (initialization profile) (<font color="#000000">in
+            </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">v<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">v-component
+of the wind
+velocity (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">dv<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Deviation
+of the
+v-component from the initial profile at the
+time t=0 (initialization profile) (<font color="#000000">in
+            </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">pt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Potential
+temperature (<font color="#000000">in </font>K).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">dpt<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Deviation
+of potential
+temperature from the initial profile at
+the time t=0 (initialization profile) (<font color="#000000">in
+            </font>K).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">e<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+kinetic energy
+(subgrid-scale) (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">Km<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+diffusion
+coefficient for momentum (<font color="#000000">in </font>m<sup>2</sup>/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">Kh<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+diffusion
+coefficient for heat (<font color="#000000">in </font>m<sup>2</sup>/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">l<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Mixing
+length (<font color="#000000">in </font>m).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: top;"><br>
+
+
+            </td>
+
+
+            <td style="vertical-align: top;"><br>
+
+
+            </td>
+
+
+          </tr>
+
+
+        
+        </tbody>
+      
+      </table>
+
+
+On the w-level the following columns are written:<br>
+
+
+      <br>
+
+
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2">
+
+
+        <tbody>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">k<br>
+
+
+            </td>
+
+
+            <td style="vertical-align: middle;">Vertical
+grid point
+index.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">zw<br>
+
+
+            </td>
+
+
+            <td style="vertical-align: middle;">Height of
+the grid
+point
+level (<font color="#000000">in </font>m).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">w'pt'</td>
+
+
+            <td style="vertical-align: middle;">Vertical
+subgrid-scale
+kinematic heat flux (<font color="#000000">in </font>K
+m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">wpt</td>
+
+
+            <td style="vertical-align: middle;">Vertical
+total (
+subgrid-scale + resolved)
+kinematic heat flux (<font color="#000000">in </font>K
+m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">w'u'</td>
+
+
+            <td style="vertical-align: middle;">u-component
+of the
+vertical subgrid-scale momentum flux (<font color="#000000">in
+            </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">wu</td>
+
+
+            <td style="vertical-align: middle;">u-component
+of the
+total
+vertical momentum flux (
+subgrid-scale + resolved) (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">w'v'</td>
+
+
+            <td style="vertical-align: middle;">v-component
+of the
+vertical subgrid-scale momentum flux (<font color="#000000">in
+            </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="vertical-align: middle;">wv</td>
+
+
+            <td style="vertical-align: middle;">v-component
+of the
+total
+vertical momentum flux (
+subgrid-scale + resolved) (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+        
+        </tbody>
+      
+      </table>
+
+
+      <br>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">17
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="LIST_PROFIL_1D"></a>LIST_PROFIL_1D<br>
+
+
+(LIST_PROFIL_1D_O)</td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii </td>
+
+
+      <td style="vertical-align: top;">This file contains
+the vertical
+profiles calculated by the
+1D-model within initial runs. The quantities saved are set
+model-internally and cannot be determined by the user. At the
+respective output times (see <a href="chapter_4.1.html#dt_pr_1d">dt_pr_1d</a>)
+a table with the following information is written to the file: The
+table header contains some basic information of the respective run
+(model version, run identifier consisting of basic file name and number
+of the job in the
+job chain (this number should always be 00, because the 1D-model is
+only switched on at initial runs), executing computer, date,
+time of the beginning of the run, output time). Afterwards the
+following columns appear:<br>
+
+
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2">
+
+
+        <tbody>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">k<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Vertical
+grid point index.</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">zu<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Height
+of the grid point
+level (<font color="#000000">in </font>m).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">u<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">u-component
+of the wind
+velocity (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">v<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">v-component
+of the wind
+velocity (<font color="#000000">in </font>m/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">pt<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Potential
+temperature (<font color="#000000">in </font>K).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">e<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+kinetic energy (<font color="#000000">in </font>m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">rif<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Flux
+Richardson number</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">Km<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+diffusion
+coefficient for momentum (<font color="#000000">in </font>m<sup>2</sup>/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">Kh<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;">Turbulent
+diffusion
+coefficient for heat (<font color="#000000">in </font>m<sup>2</sup>/s).</td>
+
+
+          </tr>
+
+
+          <tr>
+
+
+            <td style="text-align: left; vertical-align: middle;">l<br>
+
+
+            </td>
+
+
+            <td style="text-align: left; vertical-align: middle;"><font color="#000000">Mixing
+length (</font><font color="#000000">in </font><font color="#000000">m).</font></td>
+
+
+          </tr>
+
+
+        
+        </tbody>
+      
+      </table>
+
+
+      <br>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">18
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="CPU_MEASURES"></a>CPU_MEASURES<br>
+
+
+(CPU_MEASURES_O)</td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii </td>
+
+
+      <td style="vertical-align: top;">Time measurements
+are
+accomplished through the subroutine <span style="font-family: monospace;">cpu_log.f90.</span><span style="font-size: 10pt;"></span> The file
+CPU_MEASURES contains a header with some basic information of the
+respective run
+(model version, run identifier consisting of basic file name and
+number of the job in the job chain, executing computer, date, time of
+the beginning of the run) and afterwards two tables with data of CPU
+times which have been consumed by certain model parts. The model parts
+analyzed in the first table do not overlap and the CPU times needed for
+them therefore approximately add up to the &ldquo;total&rdquo;
+value given in the
+first line of this table. In the second table (heading: special
+measures) overlaps (in particular with the parts described in the first
+table) are possible.&nbsp; <br>
+
+
+For each model part it is indicated in the following columns how much
+CPU time was needed (absolutely and relative), and how often it was
+called.&nbsp; With runs on several processors the average values of
+all
+processors are indicated. In the case of parallel runs information for
+those processors with the largest and smallest CPU time follow as
+well as the standard deviation of all PEs from the average value. With
+good
+parallelization the CPU times on the individual processors should
+differ only little from each other and the standard deviation should be
+small.&nbsp; </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">19
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="HEADER"></a>HEADER<br>
+
+
+(HEADER_O) </td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>Information about
+the selected model parameters (physical and
+numerical values) as well as general information about the
+run.&nbsp; </p>
+
+
+      
+      <p>This file contains the values of
+all important steering
+parameters
+(numerical procedures, computing grid and model dimensions, boundary
+conditions, physical dimension, turbulence quantities, actions during
+the simulation, 1D-model-parameters) as well as data concerning the
+selected plot and list outputs. The headlines of the file list the
+program version used, date and time of the beginning of the run, the
+name of the executing computer, the run identifier (corresponds to the
+selected base file name) and the number of the run (number of the
+restart run). With parallel runs the number of processors as well as
+the assigned virtual processor net also appear. After these headlines
+run time and time step information appear (point of starting time,
+related to t=0 of the initial run, end-time, time actually reached, CPU
+time, etc.). If a model run is incorrectly terminated (e.g.
+run time error or excess of the permitted CPU time), information over
+the time reached and the necessary CPU time is missing (to understand:
+the file HEADER is written twice by the model; once briefly after
+beginning of the simulation (naturally here the information over the
+time reached is missing etc.) and then briefly before the normal end of
+the simulation. The second, now complete output overwrites the first
+output.).&nbsp; </p>
+
+
+      
+      <p>At the end of the file,
+information about the values of user
+parameters (see <a href="chapter_3.7.html">chapter
+3.7</a> and <a href="targetliste:chapter_1.0.html#chapter%204.3">chapter
+4.3</a>) can be output by the user with the help of the
+subroutine <tt><font style="font-size: 11pt;" size="2">user_header</font></tt>
+(located in
+the file <tt><font style="font-size: 10pt;" size="2">user_interface.f90</font></tt>).
+If no user parameters were found, the string &ldquo;<tt><font style="font-size: 10pt;" size="2">*** no user-defined
+variables found</font></tt>&rdquo;
+appears at the end of the file.
+If user parameters were indicated, the string &ldquo;<tt><font style="font-size: 11pt;" size="2">user-defined
+variables and actions</font></tt>&rdquo;
+is printed, followed by informations about the user-defined subdomains
+for which
+profiles and time series are output. All further information to appear
+here, must be provided by the user (by appropriate
+WRITE statements in <tt><font style="font-size: 10pt;" size="2">user_header</font></tt>).</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">21
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XY"></a>PLOT2D_XY<br>
+
+
+(PLOT2D_XY_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>This file
+contains data of the two-dimensional horizontal
+cross sections written by the model (see <a href="chapter_4.2.html#data_output">data_output</a>)
+in a format readable by <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">ISO2D</a>
+(the first record contains the coordinate information <tt><font style="font-size: 11pt;" size="2">dx</font></tt><font style="font-size: 11pt;" size="2">, </font><tt><font style="font-size: 11pt;" size="2">eta</font></tt><font style="font-size: 11pt;" size="2">, </font><tt><font style="font-size: 11pt;" size="2">hu</font></tt><font style="font-size: 11pt;" size="2">, <tt>ho</tt></font>,
+then
+the individual arrays follow). The data are visualized with the help of
+ISO2D using
+NAMELIST - parameter sets, which are directly written by the model to
+the
+local files <a href="#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>
+and <a href="#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>.&nbsp;
+      </p>
+
+
+      
+      <p>With parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
+= <i>.T.</i> each processing element writes the data of
+its subdomain
+to a separate file with the name
+PLOT2D_XY_&lt;processor-Id&gt;,
+whereby &lt;processor-Id&gt; is a four digit number (e.g.
+PLOT2D_XY_0000). These files are not suitable for ISO2D, but after the
+end
+of the model run they can be combined to one file readable by ISO2D
+with
+the help of the program <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>.
+This tool expects the files of the individual processing
+elements under the names described above and outputs the combined file
+under the name PLOT2D_XY. Usually it is called by an appropriate OUTPUT
+- command (OC:) in the MRUN-configuration file. The tool writes
+informative messages about the actions accomplished into the job
+protocol (e.g., even if no files were found).
+By the call of <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>
+possibly existing files of the other cross sections (xz and/or yz)
+and three-dimensional arrays (see <a href="#PLOT3D_DATA">PLOT3D_DATA</a>)
+are also combined.&nbsp; </p>
+
+
+      
+      <p>Further information
+about the output of plots of
+two-dimensional cross sections is found in the description of the run
+parameter <a href="chapter_4.2.html#data_output">data_output</a>.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">22<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XZ"></a>PLOT2D_XZ<br>
+
+
+(PLOT2D_XZ_O) </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>This file contains
+the data of the xz
+cross sections written by the model.&nbsp; </p>
+
+
+The description of the local file <a href="#PLOT2D_XY">PLOT2D_XY</a>
+applies to this file, respectively </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">23<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_YZ"></a>PLOT2D_YZ<br>
+
+
+      <font color="#000000">(PLOT2D_YZ_O)</font></td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>This file contains
+the data of the xz
+cross sections written by the model.&nbsp; </p>
+
+
+The description of the local file <a href="#PLOT2D_XY">PLOT2D_XY</a>
+applies to this file, respectively </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">27<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XY_LOCAL"></a>PLOT2D_XY_LOCAL<br>
+
+
+(PLOT2D_XY_LOCAL_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/ NAMELIST<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST -
+parameter sets, with which the plot layout of the
+data in the local file <a href="#PLOT2D_XY">PLOT2D_XY</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">ISO2D</a>.
+This file contains the so-called local parameter set (NAMELIST - group
+name: &amp;LOCAL) required by ISO2D (one parameter set for each
+field
+present at the file PLOT2D_XY). After the model run these parameter
+sets can be edited by the user, if neccessary.&nbsp; </p>
+
+
+      
+      <p>Additionally
+ISO2D still needs another so-called global
+parameter set. This is saved by the model to the local file <a href="#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>.
+Due to the fact that ISO2D expects global and local parameter sets on
+one and the same
+file, in fact the global parameter set first, the user has to append
+the
+contents of the file PLOT2D_XY_LOCAL to the file PLOT2D_XY_GLOBAL
+before the call of ISO2D (e.g. by an OUTPUT-command in the
+MRUN-configuration file: &ldquo;PLOT2D_XY_LOCAL &gt;&gt;
+PLOT2D_XY_GLOBAL&rdquo;).
+This relatively pedantic proceeding is due to the fact that the model
+can produce the file PLOT2D_XY_GLOBAL only at the end of the simulation
+(only then e.g. when the final value of the global ISO2D - parameter <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html#PLANZ">planz</a>
+is known), while the local parameter sets are written continuously
+to the file PLOT2D_XY_LOCAL during the run.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">28<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XZ_LOCAL"></a>PLOT2D_XZ_LOCAL<br>
+
+
+      <font color="#000000">(PLOT2D_XZ_LOCAL_O)</font>
+      </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/ NAMELIST<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST -
+parameter sets, with which the plot layout of the
+data in the local file <a href="#PLOT2D_XZ">PLOT2D_XZ</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">ISO2D</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The description of the local file <a href="#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>
+applies to this file, respectively. </p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">29<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_YZ_LOCAL"></a>PLOT2D_YZ_LOCAL<br>
+
+
+      <font color="#000000">(PLOT2D_YZ_LOCAL_O)</font></td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/ NAMELIST<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST -
+parameter sets, with which the plot layout of the
+data in the local file <a href="#PLOT2D_YZ">PLOT2D_YZ</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">ISO2D</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The description of the local file <a href="#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>
+applies to this file, respectively. </p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">30<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT3D_DATA"></a>PLOT3D_DATA<br>
+
+
+(PLOT3D_DATA_O) </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>This file contains
+the data of the three-dimensional arrays
+(see <a href="chapter_4.2.html#data_output">data_output</a>)
+written by the model in a format readable for the visualization
+software AVS. Beyond that AVS
+needs coordinate information, which are output into the
+local file <a href="#PLOT3D_COOR">PLOT3D_COOR</a>,
+as well as the local files <a href="#PLOT3D_FLD">PLOT3D_FLD</a>
+and <a href="#PLOT3D_FLD_COOR">PLOT3D_FLD_COOR</a>,
+which describe the structure of the files PLOT3D_DATA and PLOT3D_COOR
+in the so-called AVS-FLD-format. Due to
+the fact that AVS expects these information in only one (so-called FLD
+-) file, the content of the file PLOT3D_FLD_COOR must be appended to
+the file PLOT3D_FLD by the user after the end of the model run (e.g.
+with an appropriate OUTPUT - command in the MRUN - configuration file: "<span style="font-family: monospace;">cat PLOT3D_FLD_COOR
+&gt;&gt; PLOT3D_FLD</span>").&nbsp; </p>
+
+
+      
+      <p>With
+parallel runs each processing element writes the data of
+its subdomain to a separate file with the name
+PLOT3D_DATA_&lt;Processor-Id&gt;, where
+&lt;Processor-Id&gt; is a
+four digit number (e.g. PLOT3D_DATA_0000). These files are not suitable
+for AVS, but after the end of the model run they can be combined to one
+file readable for AVS with the help of the program <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>.
+This tool expects the files of the individual processing
+elements under the names described above and outputs the combined file
+into a new file PLOT3D_DATA. Usually it is called by an appropriate
+OUTPUT - command in the MRUN-configuration file. The tool
+writes informative messages about the accomplished actions into
+the job protocol (e.g., even if no files were
+found). By the call of <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>
+also possibly existing files with two-dimensional plot data (see e.g. <a href="#PLOT2D_XY">PLOT2D_XY</a>)
+are combined.&nbsp; </p>
+
+
+      
+      <p>With parallel runs the
+output of data of large volume is also
+possible in compressed form. For this purpose the initialization
+parameter&nbsp; <a href="chapter_4.2.html#do3d_compress">do3d_compress</a>
+= <i>.TRUE.</i> must be set and the desired output
+accuracy has to be
+indicated
+with the help of <a href="chapter_4.2.html#do3d_comp_prec">do3d_comp_prec</a>.
+In favorable cases the file size can be reduced by
+a factor of up to 5. For the visualization of compressed data a special
+AVS module (<tt><font style="font-size: 11pt;" size="2">read_compressed_field</font></tt>)
+and a further entry in the MRUN-configuration file are needed. More
+details can be found in <a href="chapter_4.5.6.html">chapter
+4.5.6</a>.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">31<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT3D_COOR"></a>PLOT3D_COOR </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>Coordinate
+information concerning
+the three-dimensional arrays (see <a href="#PLOT3D_DATA">PLOT3D_DATA</a>)
+needed by the visualization software AVS.&nbsp; </p>
+
+
+      
+      <p>The
+file PLOT3D_COOR should be saved by the user into the same
+permanent directory as the file PLOT3D_DATA.&nbsp; </p>
+
+
+      
+      <p>For
+parallel runs PLOT3D_COOR is written by PE0 only.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">32<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT3D_FLD"></a>PLOT3D_FLD </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/&nbsp; <br>
+
+
+AVS-Fld </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>AVS-fld-file
+describing the three-dimensional
+array data, saved by the model into the local file <a href="#PLOT3D_DATA">PLOT3D_DATA</a>,
+needed by the visualization software AVS.&nbsp; </p>
+
+
+      
+      <p>This
+file describes the structure of the file PLOT3D_DATA
+(e.g. number of arrays, array dimensions, data type etc.). It uses the
+so-called AVS-Fld-format. It also contains the name of the file
+(inclusive cycle number, but without path) under which the local file
+PLOT3D_DATA is saved (this is the file name given in the file
+connection statement of the MRUN &ndash; configuration) in the
+permanent
+directory of the user (possibly on remote computers). Under this name
+AVS expects the data which are to be visualized. If there is no file
+connection statement for PLOT3D_DATA indicated in the configuration
+file, that file (filename) is registered &ldquo;unknown&rdquo;
+in the file
+PLOT3D_FLD and the
+actual name must be inserted later by hand. The file PLOT3D_FLD should
+be saved by the user in the same permanent directory as PLOT3D_DATA, so
+that AVS can find the file PLOT3D_DATA without any problems. If the two
+files lie in different directories, then the path name of the file
+PLOT3D_DATA must be added.&nbsp; </p>
+
+
+      
+      <p>AVS-fld-files
+are expected by AVS to have the
+suffix "<span style="font-family: monospace;">.fld</span>"<font face="Cumberland, monospace">.</font>
+Cycle numbers must not be attached behind this "<span style="font-family: monospace;">.fld</span>" suffix.
+This suffix is
+attached to the permanent file names (still after
+possible cycle numbers) by <span style="font-weight: bold;">mrun</span>
+if&nbsp;"<span style="font-family: monospace;">fld</span>"
+is indicated in the <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#Spalte6">column
+6 </a>of the file connection statement.&nbsp; </p>
+
+
+      
+      <p>Likewise,
+AVS expects information about the coordinate
+system underlying the arrays on this file. This information is output
+by the model
+into the local file <a href="#PLOT3D_FLD_COOR">PLOT3D_FLD_COOR</a>,
+whose content the user has to append to the file PLOT3D_FLD after the
+end of the model run (e.g. with an appropriate OUTPUT-command in the
+MRUN-configuration file: &ldquo;cat PLOT3D_FLD_COOR
+&gt;&gt;
+PLOT3D_FLD&rdquo;).&nbsp; </p>
+
+
+      
+      <p>For parallel
+runs, PLOT3D_FLD is produced by PE0 only.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">33
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT3D_FLD_COOR"></a>PLOT3D_FLD_COOR </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/&nbsp; <br>
+
+
+AVS-Fld </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>File
+for the description of the coordinate information output
+by the model into the local file <a href="#PLOT3D_COOR">PLOT3D_COOR</a>,
+which is needed for the visualization of three-dimensional array data
+by visualization-software AVS.&nbsp; </p>
+
+
+      
+      <p>This
+file describes the structure of the file PLOT3D_COOR
+(e.g. grid spacing, data type etc.) using the so-called AVS-Fld-format.
+It also contains the name of the file (inclusive cycle number, but
+without path) into which the local file PLOT3D_COOR (this is the file
+name described in the file connection statement of the MRUN -
+configuration file) is output in the permanent directory of the user
+(possibly on remote computers). Under this name AVS expects the data
+which are to be visualized. If there is no file connection statement
+for
+PLOT3D_COOR indicated in the configuration file, that file is
+registered as "unknown" in the file
+PLOT3D_FLD_COOR and the actual name
+must be inserted later by hand.&nbsp; </p>
+
+
+      
+      <p>AVS
+expects the information contained in the file
+PLOT3D_FLD_COOR, as well as the remaining information about the
+three-dimensional arrays output by the model (see <a href="#PLOT3D_FLD">PLOT3D_FLD</a>)
+in one and the same file. This is satisfied by appending the file
+PLOT3D_FLD_COOR after the end of a run are to the
+file PLOT3D_FLD (e.g. with an appropriate OUTPUT-command in the
+MRUN-configuration file: &ldquo;cat PLOT3D_FLD_COOR
+&gt;&gt;
+PLOT3D_FLD&rdquo;).&nbsp; </p>
+
+
+      
+      <p>For parallel
+runs, PLOT3D_FLD_COOR is written by PE0 only.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">
+      
+      <p align="center">40&nbsp; </p>
+
+
+      
+      <p align="center">and/or&nbsp; <br>
+
+
+possibly&nbsp; </p>
+
+
+      
+      <p align="center">40-49</p>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p><a name="PLOT1D_DATA"></a>PLOT1D_DATA<br>
+
+
+(PLOT1D_DATA_O) </p>
+
+
+      
+      <p>and/or&nbsp; <br>
+
+
+possibly&nbsp; </p>
+
+
+PLOT1D_DATA_0&nbsp; <br>
+
+
+PLOT1D_DATA_1<br>
+
+
+...<br>
+
+
+      <br>
+
+
+(PLOT1D_DATA<span style="font-weight: bold;">_O</span>_0&nbsp;<br>
+
+
+      <font color="#000000">PLOT1D_DATA<span style="font-weight: bold;">_O</span>_1 <br>
+
+
+      </font><font color="#000000">...)<span style="font-weight: bold;"></span>&nbsp;</font></td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>This file contains
+data (possibly horizontally and/or
+temporally averaged) of the vertical profiles (see <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>)
+written by the model in a format readable by <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.
+It is created only if <a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>
+is assigned. This file's format is suitable to be read by the plot
+software <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.
+Each data point of the profiles is output in one single line (1st
+column: height in m, 2nd column: value of the respective quantity).
+Within the file, data
+of the individual profiles are located one behind the other. The order
+of the data in the file follows the order used in the assignment for <b>data_output_pr</b>
+(<b>data_output_pr</b> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span>,&hellip;
+means that the file starts with the data of the u-component profile,
+followed by the v-component profile, etc.).&nbsp;</p>
+
+
+      
+      <p><br>
+
+
+The data can only be visualized with <span style="font-weight: bold;">profil</span>
+using NAMELIST-parameter sets, which are saved by the
+model into the local file <a href="#PLOT1D_PAR">PLOT1D_PAR</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The profile data written to the file are described
+with the
+run parameter <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>.
+Plots produced with these data using the parameter file PLOT1D_PAR do
+not have to contain all these profiles. The profiles which can be drawn
+in the plot are described with run parameter <a href="chapter_4.2.html#cross_profiles">cross_profiles</a>.
+By subsequent editing of the file PLOT1D_PAR all profiles can be
+plotted (also the basic layout of the plots can be
+changed). For orientation, each profile existing on the file
+PLOT1D_DATA, starts with a comment line, which indicates the
+presented variable and the output time. The text of these comment
+lines is used as a legend in the plot. The very first line of the file
+is a
+comment line, containing information about the used model version, the
+run identifier (base file name + number of the respective restart
+run), the name of the executing computer, as well as the date and time
+of the beginning of the run. At the end of this comment line is the
+name
+of the subdomain, to which the profiles belong (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).
+By default, the profiles present averages of the total model domain. If
+the model has to produce profiles for other subdomains beyond that, up
+to 9 further files (units No. 41-49) are created, whereby the number of
+the respective subdomain is attached
+to the file name (e.g. PLOT1D_DATA_1). The name of the file with the
+data of the total
+domain in this case reads PLOT1D_DATA_0.&nbsp; </p>
+
+
+      
+      <p>For
+presentation in the same plot, profile data of the restart
+runs can be attached to existing data of preceding runs of a job chain.
+One can do this with the file attribute <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#tra">tra</a>
+in the file connection statement. The model produces a parameter file
+(PLOT1D_PAR) for these combined data, if the run parameter is set <a href="chapter_4.2.html#use_prior_plot1d_parameters">use_prior_plot1d_parameters</a>
+= <i>.T</i>. If this is omitted, then the parameter file
+gives
+wrong plots (i.e. <span style="font-family: monospace;">use_prior_plot1d_parameters
+= .T.</span> and "<span style="font-family: monospace;">tra</span>"
+must be specified together)!&nbsp; </p>
+
+
+      
+      <p>Further
+information about output of
+vertical profile data is given in the description of the run parameter <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">80
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PARTICLE_INFOS"></a>PARTICLE_INFOS/<br>
+
+
+(PARTICLE_INFOS<span style="font-weight: bold;">_O</span>/)
+      </td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii </td>
+
+
+      <td style="vertical-align: top;">This
+file is created in case of particle transport (see the <a href="chapter_4.2.html#particles_package">particles
+package</a>). It contains statistical informations about the
+number of
+particles used and about the number of particles exchanged between each
+single PE. These informations are output after every timestep if
+switched on by parameter <a href="chapter_4.2.html#write_particle_statistics">write_particle_statistics</a>.
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">81
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOTSP_X_PAR"></a>PLOTSP_X_PAR<br>
+
+
+(PLOTSP_X_PAR_O)</td>
+
+
+      <td style="vertical-align: top;">O </td>
+
+
+      <td style="vertical-align: top;">Ascii/<br>
+
+
+NAMELIST </td>
+
+
+      <td style="vertical-align: top;">This
+file is created if spectra along x are calculated and output (see the <a href="chapter_4.2.html#particles_package">spectra
+package</a>). It contains the NAMELIST parameter set, with which
+the
+layout of a plot
+of the data in the local file <a href="#PLOTSP_X_DATA">PLOTSP_X_DATA</a>
+can be steered, if these data are plotted with the plot software <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.<br>
+
+
+      
+      <p>It contains the so-called RAHMEN (frame)- and
+CROSS-parameter sets (NAMELIST- group names <span style="font-style: normal;">&amp;RAHMEN and/or
+&amp;CROSS</span>)
+needed by <span style="font-weight: bold;">profil</span>.
+The user can edit these parameter sets (and thus all details of the
+plot layout) after the run.<br>
+
+
+      </p>
+
+
+      
+      <p>By default,
+for one quantity, all spectra at different heights
+are plotted into a single panel. Different colors and line styles are
+used for each height. Panels of up to four quantities are arranged on
+one page in two lines (and two columns). More quantities are plotted on
+additional page(s). If there is more than one output time (see <a href="chapter_4.2.html#dt_dosp">dt_dosp</a>),
+additional pages will be plotted for each single output time. </p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">82<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOTSP_X_DATA"></a>PLOTSP_X_DATA<br>
+
+
+(PLOTSP_X_DATA_O) </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">This
+file is created if spectra along x are calculated and output (see the <a href="chapter_4.2.html#particles_package">spectra
+package</a>). It contains the spectral data along x (see <a href="chapter_4.2.html#data_output_sp">data_output_sp</a>)
+in a format readable by <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.
+The data can only be visualized with <span style="font-weight: bold;">profil</span>
+using NAMELIST parameter sets, which are written by
+the model to the local file <a href="#PLOTSP_X_PAR">PLOTSP_X_PAR</a>.<br>
+
+
+      <br>
+
+
+Regardless of the (sub)set of spectra specified by <a href="chapter_4.2.html#plot_spectra_level">plot_spectra_level</a>
+for actual plotting, this file contains all data of spectra specified
+by <a href="chapter_4.2.html#comp_spectra_level">comp_spectra_level</a>.<br>
+
+
+      <br>
+
+
+      <font>Each data point of a spectrum is output in a
+single line
+(1st column:
+wavenumber, 2nd column: spectral coefficient). If spectra are to be
+calculated and output for more than one height (see </font><font><a href="chapter_4.2.html#comp_spectra_level"><span lang="en-GB"><font face="Thorndale">comp_spectra_level</font></span></a></font><font>),
+the spectral coefficients for the further heights can be found in the
+subsequent columns. </font>The order
+of the data in the file follows the order used in the assignment for <span style="font-style: italic;"></span><span style="font-style: italic;"></span><a href="chapter_4.2.html#data_output_sp">data_output_sp</a>.<br>
+
+
+      <br>
+
+
+For orientation, a header of comment lines (one for each height level)
+is placed in front of the spectral data of each quantity. They indicate
+the respective quantity and the output time. The text of these comment
+lines is used as a legend in the plot. </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">83<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOTSP_Y_PAR"></a>PLOTSP_Y_PAR<br>
+
+
+(PLOTSP_Y_PAR_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">This
+file is created if spectra along y are calculated and output (see the <a href="chapter_4.2.html#particles_package">spectra
+package</a>). It contains the NAMELIST parameter set, with which
+the
+layout of a plot
+of the data in the local file <a href="#PLOTSP_Y_DATA">PLOTSP_Y_DATA</a>
+can be steered, if these data are plotted with the plot software <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.<br>
+
+
+      <br>
+
+
+For more details see <a href="#PLOTSP_X_PAR">PLOTSP_X_PAR</a>.<br>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">84<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOTSP_Y_DATA"></a>PLOTSP_Y_DATA<br>
+
+
+(PLOTSP_Y_DATA_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">This
+file is created if spectra along x are calculated and output (see the <a href="chapter_4.2.html#particles_package">spectra
+package</a>). It contains the spectral data along y (see <a href="chapter_4.2.html#data_output_sp">data_output_sp</a>)
+in a format readable by <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.
+The data can only be visualized with <span style="font-weight: bold;">profil</span>
+using NAMELIST parameter sets, which are written by
+the model to the local file <a href="#PLOTSP_Y_PAR">PLOTSP_Y_PAR</a>.<br>
+
+
+      <br>
+
+
+For more details see <a href="#PLOTSP_X_DATA">PLOTSP_X_DATA</a>.</td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">85<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PARTICLE_DATA"></a>PARTICLE_DATA/<br>
+
+
+(PARTICLE_DATA<span style="font-weight: bold;">_O</span>/)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">This
+file is created if particle transport is switched on (see the <a href="chapter_4.2.html#particles_package">particles
+package</a>) and contains all particle data for one or several
+output
+times (see <a href="chapter_4.2.html#dt_write_particle_data">dt_write_particle_data</a>).<br>
+
+
+      <br>
+
+
+The first record of this file contains an identification string (PALM
+version number, run identifier, etc., 80 characters long). The second
+record also contains a version string (80 characters long) followed by
+two records with particle group informations (see file <span style="font-family: monospace;">check_open.f90</span>).
+Then, for each
+output time, two records follow, where the first one gives some general
+information (numbers of particles, etc.) and the second one contains
+the actual particle data. A FORTRAN TYPE structure is used for storing
+the particle attributes. See file <span style="font-family: monospace;">advec_particles.f90</span>
+for the detailed format.</td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90</td>
+
+
+      <td style="vertical-align: top;"><a name="PARTICLE_RESTART_DATA_IN"></a>PARTICLE_RESTART_<br>
+
+
+DATA_IN/</td>
+
+
+      <td style="vertical-align: top;">I<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary
+data, which are read in by the model at the beginning
+of a restart run (see <a href="chapter_3.3.html">chapter
+3.3</a>). The appropriate file must have been written by the
+preceding
+job of the job chain (see <a href="#PARTICLE_RESTART_DATA_OUT">PARTICLE_RESTART_DATA_OUT</a>).
+This file is needed if particle transport is switched on (see the <a href="chapter_4.2.html#particles_package">particles
+package</a>) and contains all particle informations (particle
+positions, velocities, etc.) from the end of the preceding run.
+Concerning runs on
+several processors it has to be noted that each processing element
+reads its own file and that the file content is processor-dependent.
+The
+number of processors which can be used must not be changed during a job
+chain and/or if a job chain is continued. <br>
+
+
+      <br>
+
+
+The first record of this file contains a version number (four character
+string) of the subroutine, which output the data that follows (<span style="font-family: monospace;">write_particles</span>,
+see end of
+file <span style="font-family: monospace;">advec_particles.f90</span>).
+This number has to
+agree with the version number of the subroutine which is reading the
+file
+(<span style="font-family: monospace;">init_parrticles.f90</span>)
+in
+case of a restart run. Otherwise the model run
+is aborted. Version numbers are changed whenever new code revisions
+require a change of the file format. Some general informations like the
+number of particles stored in the file, the number of particle groups,
+etc.. are stored in the second record. The third record includes the
+particles to be released at the source and the fourth record contains
+all current particles. In case that particle tails are used (see <a href="chapter_4.2.html#maximum_number_of_tailpoints">maximum_number_of_tailpoints</a>),
+a further record may follow, which contains the particle tail
+informations. A FORTRAN TYPE structure is used for storing the particle
+attributes. For detailed informations about the file format see the
+corresponding READ statements in file <span style="font-family: monospace;">init_particles.f90</span>
+.<br>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PARTICLE_RESTART_DATA_IN"></a>PARTICLE_RESTART_<br>
+
+
+DATA_OUT/</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Binary
+data, which are output at the end of the
+run and possibly needed by restart runs (see <a href="chapter_3.3.html">chapter
+3.3</a>) for the initialization. This output file is then read as
+file <a href="#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>.
+The file is only written if particle transport is switched on (see the <a href="chapter_4.2.html#particles_package">particles
+package</a>). For a more detailed description of the file
+structure see <a href="#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>.</td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p><a name="PLOT1D_PAR"></a>PLOT1D_PAR<br>
+
+
+(PLOT1D_PAR_O) </p>
+
+
+      
+      <p>and/or&nbsp; <br>
+
+
+possibly&nbsp; </p>
+
+
+      
+      <p>PLOT1D_PAR_0&nbsp; <br>
+
+
+PLOT1D_PAR_1&nbsp; <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+PLOT1D_PAR_9</p>
+
+
+      
+      <p></p>
+
+
+      
+      <p>(PLOT1D_PAR<span style="font-weight: bold;">_O</span>_0&nbsp;
+      <br>
+
+
+PLOT1D_PAR<font color="#000000"><span style="font-weight: bold;">_O</span></font>_1&nbsp;
+      <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+.&nbsp; <br>
+
+
+PLOT1D_PAR<font color="#000000"><span style="font-weight: bold;">_O</span></font>_9)</p>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/
+NAMELIST<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST parameter set, with which the layout of a plot
+of the data in the local file <a href="#PLOT1D_DATA">PLOT1D_DATA</a>
+can be steered, if these data are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>.&nbsp;
+      </p>
+
+
+      
+      <p>This file contains the so-called RAHMEN (frame)-
+and
+CROSS-parameter sets (NAMELIST- group names <span style="font-style: normal;">&amp;RAHMEN and/or
+&amp;CROSS</span>)
+needed by <span style="font-weight: bold;">profil</span>.
+These parameter sets (and thus all details of the plot layout) can be
+edited after the model run by the user. By default, all profiles of one
+variable saved at different times are drawn into one panel. Different
+colors are used for each output time. Which profiles are drawn
+into which plane and how these planes are arranged on the
+plot, is determined with the parameters <a href="chapter_4.2.html#cross_profiles">cross_profiles</a>,
+      <a href="chapter_4.2.html#profile_columns">profile_columns</a>
+and <a href="chapter_4.2.html#profile_rows">profile_rows</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The file PLOT1D_PAR is created by the model
+briefly before
+the end of a run. If a model run crashes uncontrolled (run time
+errors or CPU - time exceeded), this file is usually missing, although
+profile data were saved to the file PLOT1D_DATA.&nbsp; </p>
+
+
+      
+      <p>If
+the model has to create profiles for different subdomains
+(see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>),
+further files are created, whereby the file name includes the number of
+the respective subdomain (e.g. PLOT1D_PAR_1). In this case the name of
+the file with NAMELIST parameters of the total domain is
+PLOT1D_PAR_0.&nbsp; </p>
+
+
+      
+      <p>For presentation in the
+same plot, profile data of the restart
+runs can be appended to existing data of preceding runs of a job chain.
+One can do this with the file attribute <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#tra">tra</a>
+in the file connection statement for PLOT1D_DATA. The model produces
+a parameter file PLOT1D_PAR for these combined data, if the run
+parameter is set <a href="chapter_4.2.html#use_prior_plot1d_parameters">use_prior_plot1d_parameters</a>
+= <i>.T</i>. If this is omitted, then the parameter file
+gives
+wrong plots (i.e. <span style="font-family: monospace;">use_prior_plot1d_parameters
+= .T.</span> and "<span style="font-family: monospace;">tra</span>"
+must be specified together)!</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XY_GLOBAL"></a>PLOT2D_XY_GLOBAL<br>
+
+
+(PLOT2D_XY_GLOBAL_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/&nbsp; <br>
+
+
+NAMELIST</td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST
+parameter set, with which the plot layout
+of the data in local file <a href="#PLOT2D_XY">PLOT2D_XY</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>.
+This file contains the so-called global parameter set (NAMELIST - group
+name: &amp;GLOBAL) needed by <span style="font-weight: bold;">iso2d</span>.
+This parameter set can be edited
+after the model run by the user. By default, the arrays are drawn using
+isolines and each array
+will be drawn onto a separate page (thus no color shading
+presentation, no vector arrows, streamlines etc.).&nbsp; </p>
+
+
+      
+      <p>Additionally <span style="font-weight: bold;">iso2d</span>
+needs the so-called local parameter
+sets. These are saved by the model to the local file <a href="#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>.
+Due to the fact that <span style="font-weight: bold;">iso2d</span>
+expects global and local parameter sets on one and the same
+file, in fact the global parameter set first, the user has to append
+the contents of the file PLOT2D_XY_LOCAL to the file PLOT2D_XY_GLOBAL
+before call of <span style="font-weight: bold;">iso2d</span>
+(e.g. by
+an OUTPUT - command in the MRUN -
+configuration file: &ldquo;cat PLOT2D_XY_LOCAL &gt;&gt;
+PLOT2D_XY_GLOBAL&rdquo;).
+This
+relatively pedantic proceedure is due to the fact that the model can
+create the file PLOT2D_XY_GLOBAL only at the end of the simulation
+(only then, when the final value of the global <span style="font-weight: bold;">iso2d</span>-parameter <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html#PLANZ">planz</a>
+is known), while the local parameter sets are written continuously
+to the file PLOT2D_XY_LOCAL during the run. Since the file
+PLOT2D_XY_GLOBAL needs to be addressed only briefly once, output-unit
+90 is used, which is also used for other files.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_XZ_GLOBAL"></a>PLOT2D_XZ_GLOBAL<br>
+
+
+(PLOT2D_XZ_GLOBAL_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/&nbsp; <br>
+
+
+NAMELIST</td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST
+parameter set, with which the plot layout of the data
+in the local file <a href="#PLOT2D_XZ">PLOT2D_XZ</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The description of the local file <a href="#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>
+applies to this file, respectively.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;"><a name="PLOT2D_YZ_GLOBAL"></a>PLOT2D_YZ_GLOBAL<br>
+
+
+(PLOT2D_YZ_GLOBAL_O)</td>
+
+
+      <td style="vertical-align: top;">O<br>
+
+
+      </td>
+
+
+      <td style="vertical-align: top;">Ascii/&nbsp; <br>
+
+
+NAMELIST</td>
+
+
+      <td style="vertical-align: top;">
+      
+      <p>NAMELIST
+parameter set, with which the plot layout of the data
+in the local file <a href="#PLOT2D_YZ">PLOT2D_YZ</a>
+can be steered, if they are visualized with the plot program <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>.&nbsp;
+      </p>
+
+
+      
+      <p>The description of the local file <a href="#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>
+applies to this file, respectively.</p>
+
+
+      </td>
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">90</td>
+
+
+      <td style="vertical-align: top;"><a name="TOPOGRAPHY_DATA"></a>TOPOGRAPHY_DATA</td>
+
+
+      <td style="vertical-align: top;">I</td>
+
+
+      <td style="vertical-align: top;">Ascii</td>
+
+
+      <td>Two-dimensional rastered <font color="#000000">topography
+height information</font>
+(in m above ground).<br><br>
+
+
+In case of &nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'read_from_file'</span>
+the&nbsp;subroutine <span style="font-family: Cumberland AMT;">init_grid</span>&nbsp;reads
+the topography height information (in m above ground) for each grid point in
+a free floating point format. <font color="#000000">The ascii file format is <a href="http://en.wikipedia.org/wiki/ESRI_grid#ASCII" target="_blank">ESRI grid</a> - also known as <a href="http://en.wikipedia.org/wiki/ESRI_grid#ASCII" target="_blank">ARC/INFO ASCII GRID</a> <span style="font-style: italic;">- without the header</span>. </font>The data on file are laid out naturally,
+i.e. in W-E orientation horizontally and in S-N orientation vertically,
+they must thus be organized as follows:<br>
+
+
+      
+      <ul>
+
+
+        <li>each
+line contains height information in m from <span style="font-style: italic;">i = 0, ..., nx</span>,</li>
+
+
+        <li>the top line contains height information in m for <span style="font-style: italic;">j = ny</span> (North), the
+bottom line for <span style="font-style: italic;">j = 0</span>
+(South),</li>
+
+
+        <li>individual data must be separated by at
+least one blank.</li>
+
+
+      
+      </ul>Layout sketch:<br>
+
+
+      <big><span style="font-family: monospace;">&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;N<br>
+
+
+&nbsp; &nbsp; (0,ny) &nbsp;&nbsp;</span><font style="font-family: monospace;" color="#000000">(1,ny)
+&nbsp;&nbsp;</font><font style="font-family: monospace;" color="#000000">(2,ny) &nbsp;
+...&nbsp;</font><font style="font-family: monospace;" color="#000000">(nx,ny) &nbsp;
+&nbsp; &nbsp;</font><font style="font-family: monospace;" color="#000000">&nbsp;</font><small><font style="font-family: Helvetica,Arial,sans-serif;" color="#000000">top of file</font></small><br style="font-family: monospace;"><font style="font-family: monospace;" color="#000000"><font color="#000000">&nbsp; &nbsp;
+(0,ny-1)&nbsp;<font color="#000000">(1,ny-1)&nbsp;</font><font color="#000000">(2,ny-1)
+...&nbsp;</font><font color="#000000">(nx,ny-1) &nbsp;<br>
+
+
+      </font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000">W &nbsp;
+(0,ny-2)&nbsp;<font color="#000000">(1,ny-2)&nbsp;</font><font color="#000000">(2,ny-2)
+...&nbsp;</font><font color="#000000">(nx,ny-2) &nbsp; E<br>
+
+
+      </font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000">&nbsp;
+&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:<br>
+
+
+&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp;:<br>
+
+
+      </font></font><font style="font-family: monospace;" color="#000000"><font color="#000000">&nbsp;
+&nbsp;
+(0,0) &nbsp;&nbsp;&nbsp;<font color="#000000">(1,0)
+&nbsp;&nbsp;&nbsp;</font><font color="#000000">(2,0)
+&nbsp; &nbsp;...&nbsp;</font><font color="#000000">(nx,0)
+&nbsp; &nbsp; &nbsp;&nbsp;</font></font></font><font style="font-family: monospace;" color="#000000">&nbsp;</font><small><font style="font-family: Helvetica,Arial,sans-serif;" color="#000000">bottom of file</font></small><br style="font-family: monospace;"><font style="font-family: monospace;" color="#000000">&nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;S<br></font><br style="font-family: monospace;"><span style="font-family: monospace;"></span><small><font style="font-family: Helvetica,Arial,sans-serif;" color="#000000">Example for a 50m tall building surrounded by a 12.5m tall podium on flat ground:</font></small><font style="font-family: monospace;" color="#000000"><br>
+
+
+      <font color="#000000"><font color="#000000">&nbsp;
+&nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0
+&nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp;
+&nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0<br></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> &nbsp; &nbsp;0 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><br></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> </font></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> &nbsp; &nbsp;0 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><br></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> </font></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">&nbsp;
+&nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50
+&nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+<br></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">
+&nbsp; &nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp;
+50 &nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+<br></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">
+&nbsp; &nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp;
+50 &nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><br style="font-family: monospace;"><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">&nbsp; &nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0 <br>
+</font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">
+&nbsp; &nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp;
+50 &nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><br></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">
+&nbsp; &nbsp;0 12.5 12.5 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp; 50 &nbsp;
+50 &nbsp; 50 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+<br></font></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> &nbsp; &nbsp;0 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><br></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> </font></font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> &nbsp; &nbsp;0 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5 &nbsp; &nbsp;0 &nbsp; &nbsp;0&nbsp;
+</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><br></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> </font></font></font></font></font></font><font style="font-family: monospace;" color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">&nbsp;
+&nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0
+&nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp;
+&nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0 &nbsp; &nbsp;0<br></font></font></font></font></big>
+
+
+      
+
+
+      
+
+
+      <br>
+
+
+These data must exactly match the horizontal grid. <font color="#000000">Due to the staggered grid the topography may be displaced by -0.5 <a href="chapter_4.1.html#dx">dx</a> in x-direction and -0.5 <a href="chapter_4.1.html#dy">dy</a> in y-direction depending on the parameter <a href="chapter_4.1.html#topography_grid_convention">topography_grid_convention</a>. See </font>also the example in <big><code>trunk/EXAMPLES/topo_file/</code></big>.<br><br>Alternatively, the user may add code to the user interface subroutine <a href="chapter_3.5.1.html#user_init_grid">user_init_grid</a>
+to allow different data formats.</td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">101</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_2D_XY_NETCDF"></a>DATA_2D_XY_NETCDF<br>
+
+
+(DATA_2D_XY_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">This file
+contains data of the two-dimensional horizontal
+cross sections (see <a href="../app/chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">102</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_2D_XZ_NETCDF"></a>DATA_2D_XZ_NETCDF<br>
+
+
+(DATA_2D_XZ_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the two-dimensional vertical (xz)
+cross sections (see <a href="../app/chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">103</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_2D_YZ_NETCDF"></a>DATA_2D_YZ_NETCDF<br>
+
+
+(DATA_2D_YZ_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the two-dimensional vertical
+(yz) cross sections (see <a href="../app/chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">104</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_1D_PR_NETCDF"></a>DATA_1D_PR_NETCDF<br>
+
+
+(DATA_1D_PR_NETCFD_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the horizontally averaged vertical profiles (see <a href="../app/chapter_4.2.html#data_output_pr">data_output_pr</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">105</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_1D_TS_NETCDF"></a>DATA_1D_TS_NETCDF<br>
+
+
+(DATA_1D_TS_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the timeseries (see <a href="chapter_4.2.html#dt_dots">dt_dots</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">106</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_3D_NETCDF"></a>DATA_3D_NETCDF<br>
+
+
+(DATA_3D_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the 3d-volume data (see <a href="../app/chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">107</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_1D_SP_NETCDF"></a>DATA_1D_SP_NETCDF<br>
+
+
+(DATA_1D_SP_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the horizontal spectra (see <a href="../app/chapter_4.2.html#data_output_sp">data_output_sp</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;"><font color="#000000">108</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_PRT_NETCDF"></a>DATA_PRT_NETCDF/<br>
+
+
+(DATA_PRT_NETCDF<span style="font-weight: bold;">_O</span>/)</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000">I/O</font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains particle data (see <a href="../app/chapter_4.2.html#dt_prel">dt_prel</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="../app/chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="vertical-align: top; text-align: center;">109</td>
+
+
+      <td align="left" valign="top"><a name="DATA_1D_PTS_NETCDF"></a>DATA_1D_PTS_NETCDF<br>
+
+
+(DATA_1D_PTS_NETCDF_O)</td>
+
+
+      <td align="left" valign="top">I/O</td>
+
+
+      <td align="left" valign="top">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</td>
+
+
+      <td align="left" valign="top">This
+file contains data of the timeseries of particle quantities (<font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">see <a href="chapter_4.2.html#dt_prel">dt_prel</a>)
+in NetCDF format.&nbsp;</font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">The data
+in this file can be visualized by any graphic software which provides a
+NetCDF interface (e.g. <span style="font-weight: bold;">NCL
+      </span>or<span style="font-weight: bold;">
+ferret</span>).
+For a list of available output quantities see </font></font></font></font><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"> <a href="chapter_4.2.html#dt_dopts">dt_dopts</a>.</font></font></font></font></font><br>
+
+
+      <font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000"><br>
+
+
+      </font></font></font></font><span lang="en-GB"><font face="Thorndale">In case of
+using more than one particle group (see <a href="chapter_4.2.html#number_of_particle_groups">number_of_particle_groups</a>),
+seperate time series are output for each of the groups. The long names
+of the variables in the NetCDF file containing the respective
+timeseries all end with the string</font><span style="font-style: italic; font-family: monospace;">' PG ##'</span><font face="Thorndale">, where ## is the number of the particle
+group (<span style="font-style: italic;">01</span>, <span style="font-style: italic;">02</span>, etc.). <br>
+
+
+      <br>
+
+
+      </font></span><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">More detailed informations about the
+PALM-NetCDF-output are given in <a href="chapter_4.5.1.html">chapter&nbsp;
+4.5.1</a>.</font></font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="text-align: center; vertical-align: top;">111</td>
+
+
+      <td style="vertical-align: top;"><a name="DATA_2D_XY_AV_NETCDF"></a>DATA_2D_XY_AV_NETCDF<br>
+
+
+(DATA_2D_XY_AV_NETCDF_O)</td>
+
+
+      <td style="vertical-align: top;">I/O</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the temporally averaged two-dimensional horizontal
+cross sections (see <a href="chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="text-align: center; vertical-align: top;">112</td>
+
+
+      <td style="vertical-align: top;"><a name="DATA_2D_XZ_AV_NETCDF"></a>DATA_2D_XZ_AV_NETCDF<br>
+
+
+(DATA_2D_XZ_AV_NETCDF_O)</td>
+
+
+      <td style="vertical-align: top;">I/O</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the temporally
+averaged two-dimensional vertical (xz)
+cross sections (see <a href="chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="text-align: center; vertical-align: top;">113</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_2D_YZ_AV_NETCDF"></a>DATA_2D_YZ_AV_NETCDF<br>
+
+
+(DATA_2D_YZ_AV_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;">I/O</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the temporally
+averaged two-dimensional vertical
+(yz) cross sections (see <a href="chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+    <tr>
+
+
+      <td style="text-align: center; vertical-align: top;">116</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><a name="DATA_3D_AV_NETCDF"></a>DATA_3D_AV_NETCDF<br>
+
+
+(DATA_3D_AV_NETCDF_O)</font></td>
+
+
+      <td style="vertical-align: top;">I/O</td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000">Binary/<br>
+
+
+NetCDF-<br>
+
+
+format</font></font></font></td>
+
+
+      <td style="vertical-align: top;"><font color="#000000"><font color="#000000"><font color="#000000"><font color="#000000">This file
+contains data of the temporally
+averaged 3d-volume data (see <a href="chapter_4.2.html#data_output">data_output</a>)
+in NetCDF format. The data in this file can be visualized by any
+graphic software which provides a NetCDF interface (e.g. <span style="font-weight: bold;">NCL </span>or<span style="font-weight: bold;"> ferret</span>).<br>
+
+
+      <br>
+
+
+More detailed informations about the PALM-NetCDF-output are given in <a href="chapter_4.5.1.html">chapter&nbsp; 4.5.1</a>.</font></font></font></font></td>
+
+
+      
+
+
+    </tr>
+
+
+  
+  </tbody>
+</table>
+
+
+<font color="#000000"><br>
+
+
+</font><br>
+
+
+<font color="#000080"><font color="#000080"><a href="chapter_3.3.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font><br>
+
+
+&nbsp;
+<br>
+
+
+&nbsp;
+<span style="font-style: italic;">Last change:</span>
+$Id$<br>
+
+
+</font><br>
+
+
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.1.html	(revision 393)
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.5.1</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;11451548"> <meta name="CHANGED" content="20041112;14401801"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.5.1 Interfaces for
+user-defined code<br>
+</h3><p style="margin-bottom: 0cm; line-height: 100%;">The
+following table
+describes the available interfaces for user-defined code in the model,
+the
+names and possible arguments of the subroutines involved as well as
+actions which can be accomplished in these subroutines. The respective
+name of a source code files is the&nbsp;subroutine name followed by "<span style="font-family: Courier New,Courier,monospace;">.f90</span>". Exception: the file containing the module<span style="font-family: Courier New,Courier,monospace;"> user </span>has the name <span style="font-family: Courier New,Courier,monospace;">user_module.f90</span>.<br>
+&nbsp; </p>
+<table style="width: 100%;" border="1" cellpadding="2" cellspacing="4"> <col width="211"> <col width="117"> <col width="862"> <tbody> <tr><td width="211"> <p><font size="4"><b>Call
+location</b></font></p> </td> <td width="117"> <p><font size="4"><b>Subroutine
+name and
+argument(s)</b></font></p> </td> <td style="width: 862px;"> <p><font size="4"><b>Possible
+actions</b></font></p> </td> </tr> <tr><td style="vertical-align: top;">---</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user"></a>MODULE
+user</span></td><td style="vertical-align: top;">All
+user-defined variables which are used outside the respective local
+scopes of the user-defined subroutines have to be declared here.</td></tr><tr valign="top"> <td width="211"> <p>End
+of <tt><font style="font-size: 10pt;" size="2">parin.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_parin"></a>user_parin</font></font></tt></p>
+</td> <td width="862"> <p>Declaration of
+user-defined parameters in the NAMELIST
+group <tt><font style="font-size: 10pt;" size="2">&amp;userpar</font></tt>.
+These
+parameters can be read from the local file <a href="chapter_3.4.html#PARIN">PARIN</a>
+and be used for steering the user-defined code (see <a href="chapter_4.0.html">chapter
+4.0</a>). The user-defined parameter <a href="chapter_4.3.html#region">region</a>
+is already pre-defined in <tt><font style="font-size: 10pt;" size="2">&amp;userpar</font></tt>
+and must not be changed. Additional NAMELIST groups may be declared if
+desired.&nbsp; <br>
+The CPU time needed for executing <tt><font style="font-size: 10pt;" size="2">user_parin</font></tt>
+is included in the
+local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
+within the category &ldquo;initialisation&rdquo;.</p> </td>
+</tr> <tr valign="top"> <td width="211"><p>End
+of <tt><font style="font-size: 10pt;" size="2">header.f90</font></tt></p>
+</td>
+<td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_header"></a>user_header(
+io )</font></font></tt></p> </td> <td width="862"> <p>Output of the values of the
+user-defined parameters to
+the
+local files <a href="chapter_3.4.html#HEADER">HEADER</a>
+and <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.
+This output should be made anyway in order to subsequently check the
+parameter values used for the respective run. The number of the output
+unit is passed as an argument and must be used in each WRITE statement
+(e.g.: &ldquo;<tt><font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2">WRITE </font><font style="font-size: 10pt;" size="2">( io,&hellip;</font></font></tt><font style="font-size: 10pt;" size="2">&rdquo;))</font>.
+By default, this
+subroutine only creates output if a user-defined NAMELIST is found in
+file <a href="chapter_3.4.html#PARIN">PARIN</a>
+(in this case <tt><font face="Thorndale, serif">the</font></tt>
+variable <tt><font style="font-size: 10pt;" size="2">user_defined_namelist_found</font></tt>
+is set&nbsp; <i>.TRUE.</i> in <tt><font style="font-size: 10pt;" size="2">user_parin</font></tt>).
+The names of any
+user-defined
+subdomains are displayed by default (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).</p>
+</td> </tr> <tr valign="top"> <td width="211"> <p>End of <tt><font style="font-size: 10pt;" size="2">init_3d_model.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init"></a>user_init</font></font></tt></p>
+</td> <td width="862"> <p>Here, user-defined
+initialization actions which should
+be
+accomplished before the start of the 3D-model can be implemented (e.g.
+inhomogenous change of the surface temperature, the roughness length,
+or similar). At this point, all default parameter initializations of
+the model (<a href="chapter_4.1.html">chapter
+4.1</a>) have already been carried out at all.&nbsp; </p>
+<p>One of the most important actions here is the definition
+of
+user-defined subdomains for statistic analysis and output (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>
+and <a href="chapter_3.5.3.html">chapter
+3.5.3</a>) and of additional time series quantities (see comment
+line example in the file).&nbsp; <br>
+CPU time for <tt><font style="font-size: 10pt;" size="2">user_init</font></tt>
+is considered in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
+within the category &ldquo;initialisation&rdquo;.</p><p>See
+also <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a href="#user_init_3d_model">user_init_3d_model</a>.</font></font></tt></p>
+</td> </tr> <tr><td style="vertical-align: top;">End of <span style="font-family: Courier New,Courier,monospace;">read_3d_binary.f90</span></td><td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_read_restart_data"></a>user_read_<br>restart_data( nxlc, nxlf,nxl_on_file, nxrc, nxrf, nxr_on_file, nync, nynf,nyn_on_file, nysc, nysf, nys_on_file, tmp_2d, tmp_3d )</font></font></tt></td><td style="vertical-align: top;">Reading of user-defined 2d- and 3d-arrays from the restart file.<br><br>In
+case of restart runs, user-defined quantities may have to be read from
+the restart file generated by the previous run. These quantities must
+have been output by the user in the previous run using routine <a href="#user_last_actions"><span style="font-family: Courier New,Courier,monospace;">user_last_actions</span></a>.<br><br>For usage, see example contained in <span style="font-family: Courier New,Courier,monospace;">read_3d_binary.f90</span> and <span style="font-family: Courier New,Courier,monospace;">user_last_actions.f90</span>.</td></tr><tr><td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2">DEFAULT</font></tt>
+case of <tt><font style="font-size: 10pt;" size="2">SELECT
+CASE( TRIM(canopy_mode) ) </font></tt>command in the
+middle&nbsp;of <tt><font style="font-size: 10pt;" size="2">init_3d_model.f90</font></tt></td><td style="vertical-align: top;"><a name="user_init_plant_canopy"></a><code>user_init_plant_canopy</code></td><td style="vertical-align: top;">User-defined initilisation of the plant canopy model.<br><br>Here, the user can define the two three-dimensional arrays <code>lad_s and cdc </code>that
+stand for the leaf area density and the canopy drag coefficient. By
+this, the user can configure a&nbsp;plant canopy. This requires
+definition of at least one
+new&nbsp;<a href="chapter_4.1.html#canopy_mode">canopy_mode</a>&nbsp;in the&nbsp;<tt><font style="font-size: 10pt;" size="2">SELECT CASE( TRIM(canopy_mode) ) </font></tt>command
+in&nbsp;<tt><font style="font-size: 10pt;" size="2">user_init_plant_canopy</font></tt>.
+Note that the&nbsp;<a href="chapter_4.1.html#canopy_mode">canopy_mode</a>&nbsp;<span style="font-style: italic;">'block'</span> is<span style="font-style: italic;"></span> not allowed here since it is the standard case used in the
+calling routine <tt><font style="font-size: 10pt;" size="2">init_3d_model</font></tt>. </td></tr><tr> <td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2">DEFAULT</font></tt>
+case of <tt><font style="font-size: 10pt;" size="2">SELECT
+CASE( TRIM(topography) ) </font></tt>command in the
+middle&nbsp;of <tt><font style="font-size: 10pt;" size="2">init_grid.f90</font></tt></td> <td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_grid"></a>user_init_grid</font></font></tt></td>
+<td> <p>Execution of user-defined grid initializing
+actions.</p> <p>Here, the user can define the
+two-dimensional index
+array&nbsp;<tt><font style="font-size: 10pt;" size="2">nzb_local</font></tt> that is used to
+set up a non-flat topography. This requires definition of at least one
+new <a href="chapter_4.1.html#topography">topography</a>&nbsp;mode
+in the&nbsp;<tt><font style="font-size: 10pt;" size="2">SELECT CASE( TRIM(topography) ) </font></tt>command
+and the definition of <a href="chapter_4.3.html#topography_grid_convention">topography_grid_convention</a> in&nbsp;<tt><font style="font-size: 10pt;" size="2">user_init_grid</font></tt>.
+Note that the <a href="chapter_4.1.html#topography">topography</a>&nbsp;modes
+<span style="font-style: italic;">'flat'</span>, <span style="font-style: italic;">'single_building'</span>
+and <span style="font-style: italic;">'read_from_file'</span> are not allowed here since these are the standard cases used in the
+calling routine <tt><font style="font-size: 10pt;" size="2">init_grid</font></tt>. </p> <p>CPU
+time for <tt><font style="font-size: 10pt;" size="2">user_init_grid</font></tt>
+is considered in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
+within the category &ldquo;initialisation&rdquo;.</p> </td>
+</tr> <tr><td style="vertical-align: top;">End of <code>check_parameters</code></td><td style="vertical-align: top;"><code><a name="user_check_parameters"></a>user_check_parameters</code></td><td style="vertical-align: top;">Check &amp;userpar control parameters and deduce further quantities.</td></tr><tr><td style="vertical-align: top;">In
+the middle of <tt><font style="font-size: 10pt;" size="2">init_3d_model.f90</font></tt></td><td style="vertical-align: top;"><span style="font-family: monospace;"></span><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_3d_model"></a>user_init_3d_<br>model</font></font></tt></td><td style="vertical-align: top;">Initialization of the 3d-model.<br><br>Allows
+the complete initialization of the 3d model. The user is responsible to
+set at least all those quantities which are normally set within <tt><font style="font-size: 10pt;" size="2">init_3d_model</font></tt>.</td></tr><tr valign="top"> <td width="211"> <p>In
+the middle of <tt><font style="font-size: 10pt;" size="2">init_particles.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_particles"></a>user_init_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">particles</font></font></tt></p>
+</td> <td width="862"> <p>With this routine
+e.g. size and color of particles,
+which have
+been released initially from a source, can be specified. Like the
+calling routine <tt><font style="font-size: 10pt;" size="2">init_particles</font><font style="font-size: 11pt;" size="2">,</font></tt>
+this routine is only
+called if particle advection is switched on (see package parameter <a href="chapter_4.2.html#dt_prel">dt_prel</a>).</p>
+</td> </tr> <tr valign="top"> <td width="211"> <p>End of <tt><font style="font-size: 10pt;" size="2">advec_particles.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_particle_attributes"></a>user_particle_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">attributes</font></font></tt></p>
+</td> <td width="862"> <p>Here the particles
+can be assigned new attributes
+(diameter,
+color etc.) after each time step. Like the calling routine <tt><font style="font-size: 10pt;" size="2">advec_particles</font><font style="font-size: 11pt;" size="2">,</font> </tt>this
+routine is only
+called if particle advection is switched on (see package parameter <a href="chapter_4.2.html#dt_prel">dt_prel</a>).</p>
+</td> </tr> <tr valign="top"> <td width="211"> <p>Before the plot of particles and
+cross-sections in <br> <tt><font style="font-size: 10pt;" size="2">dvrp_plot.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_dvrp_coltab"></a>user_dvrp_coltab
+(</font></font></tt><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> mode )</font></font></tt></p>
+</td> <td width="862"> <p>With this routine,
+color tables can be adjusted which
+should
+be used for output with the dvrp software. Individuell color tables for
+particles and cross-sections are possible. For this purpose the two
+arrays <tt><font style="font-size: 10pt;" size="2">interval_values_dvrp</font></tt>
+and <tt><font style="font-size: 10pt;" size="2">interval_h_dvrp</font></tt>
+(declared in the module <tt><font style="font-size: 10pt;" size="2">dvrp_variables</font></tt>)
+have to be preset with appropriate values. The number of color table
+entries must be assigned to the variable of <tt><font style="font-size: 10pt;" size="2">dvrp_colourtable_entries</font></tt>.
+The value of the subroutine argument <span style="font-family: monospace;">mode</span> defines,
+whether the color
+table is valid for particles or for cross-sections<span style="font-family: monospace;"></span> (i.e. <tt><font size="2">mode</font></tt>
+can have the values &ldquo;<i>particles&rdquo;</i>
+or &ldquo;<i>slicer&rdquo;</i>).&nbsp; <br>
+This routine only becomes active if dvrp-graphics is switched on (see
+package parameter <a href="chapter_4.2.html#dt_dvrp">dt_dvrp</a>).</p>
+</td> </tr> <tr valign="top"> <td width="211"> <p>Beginning and end of the time
+integration loop
+of&nbsp; <br> <tt><font style="font-size: 10pt;" size="2">time_integration.f90</font></tt>
+as well as after each prognostic equation in <br> <tt><font style="font-size: 10pt;" size="2">prognostic_equations.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_actions"></a>user_actions(
+location )</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> </font></font> </p>
+<p>or<br> <font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2"> </font></font>
+</p> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">user_actions(
+i, j,</font></font></tt><span style="font-family: Cumberland,monospace;"> </span><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">location )</font></font></tt></p>
+</td> <td width="862"> <p>In this routine
+user actions can be implemented which
+are to
+be executed either at each time step or at certain times (defined by
+the user). Since in each case the routine is called at the beginning
+and at the end of a time step as well as after each prognostic equation
+it must be defined at which place (and/or at which places) the
+respective actions are supposed to be executed. For this purpose an
+appropriate CASE structure is already inserted in this routine. The
+location of the calling routine is passed to this routine via the
+argument <tt><font style="font-size: 10pt;" size="2">location</font></tt>.
+For example, if called at the beginning of a time step, <tt><font style="font-size: 10pt;" size="2">location</font></tt>
+=&nbsp;<i>'before_timestep' </i>and if
+called at the end, <tt><font style="font-size: 10pt;" size="2">location</font></tt><font style="font-size: 10pt;" size="2"> </font>=&nbsp;<i>'after_timestep'</i><span style="font-weight: bold;">.</span></p><p>Calculation
+of user-defined output quantities should be carried out at <span style="font-family: monospace;">location</span> = <span style="font-style: italic;">'after_integration'</span>.<span style="font-weight: bold;"></span></p><p><span style="font-weight: bold;">Important:</span>
+if the
+cache-optimized version of <span style="font-family: monospace;">prognostic_equation.f90</span>
+is used (this is the default for IBM-Regatta-Systems), the loop
+variables <tt>i</tt> and <tt>j</tt> must be
+passed as arguments for
+all calls within <span style="font-family: monospace;">prognostic_equations</span>.
+</p> <p>CPU time for <tt><font style="font-size: 10pt;" size="2">user_actions</font></tt>
+appears within the category &ldquo;user_actions&rdquo; in the
+local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>.
+If the cache-optimized version of <span style="font-family: monospace;">prognostic_equation.f90</span>
+is used, this time measurement only considers the CPU time which was
+needed outside of the prognostic equations. Time needed for calls
+within prognostic_equations is considered within the category "all
+prog.equations".<br> </p> <p><b>Important:</b>
+this subroutine is written
+as a FORTRAN
+module, which uses so-called function overloading. It can be called in
+two ways: with one argument (<tt><font style="font-size: 10pt;" size="2">location</font></tt>)
+and with three arguments <font style="font-size: 10pt;" size="2">(</font><tt><font style="font-size: 10pt;" size="2">i, j, location</font></tt><font style="font-size: 10pt;" size="2">)</font>. The
+three argument version
+is used in the cache-optimized version of <span style="font-family: monospace;">prognostic_equations</span>.
+Depending
+on the number of given arguments the subroutine internally calls <tt><font style="font-size: 10pt;" size="2">user_actions</font></tt>
+or <tt><font style="font-size: 10pt;" size="2">user_actions_ij</font></tt>.
+So the
+user must insert the actions (code extensions) desired for the
+respective prognostic equation either in the CASE structure of <tt><font style="font-size: 10pt;" size="2">user_actions</font><font style="font-size: 11pt;" size="2">,</font> </tt>or/and
+in the CASE
+structure of <tt><font style="font-size: 10pt;" size="2">user_actions_ij</font></tt>!</p> </td>
+</tr> <tr><td style="vertical-align: top;"><code>SUBROUTINE preprocess_spectra</code> in <code>calc_spectra.f90</code>, and <code>data_output_spectra.f90</code></td><td style="vertical-align: top;"><p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_spectra"></a>user_spectra</font></font></tt></p></td><td style="vertical-align: top;"><p><a href="chapter_3.5.4.html#spectra">Spectra of user-defined
+quantities</a> can be computed here.</p>The
+routine contains some simple examples (as comment lines) in order to
+demonstrate how to use it.</td></tr><tr valign="top"> <td width="211"><p><tt><font style="font-size: 10pt;" size="2">flow_statistics.f90</font></tt>
+before the summation of array <span style="font-family: monospace;">hom</span>
+(horizontal averages)<br> </p> </td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_statistics"></a>user_statistics<br>(
+sr )</font></font></tt></p> </td> <td width="862"> <p>Horizontal
+averages of vertical profiles of user-defined
+quantities can be computed here. Also, additional time series
+quantities can be calculated. They have to be defined before in routine
+<a style="font-family: monospace;" href="#user_init">user_init</a>.
+The routine is called once for each defined statistic region (see <a href="chapter_4.1.html#statistic_region">statistic_region</a>).</p><p>The
+routine contains some simple examples (as comment lines) in order to
+demonstrate how to use it.<br><br>Profile sums have to
+be stored in
+the array <tt><font style="font-size: 10pt;" size="2">sums_l</font></tt>.&nbsp;The profile identification number (second index of array <span style="font-family: monospace;">sums_l</span>) must be within the range [<span style="font-family: monospace;"> pr_palm+1 , pr_palm+max_pr_user</span> ], where <span style="font-family: monospace;">pr_palm</span> is an internal parameter and&nbsp; <span style="font-family: Courier New,Courier,monospace;">max_pr_user</span> is the number of&nbsp;user-defined profiles as given by parameter <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.3.html#data_output_pr_user">data_output_pr_user</a> in the respective PALM run.</p><p> These additional
+profiles
+are further processed (e.g. temporally averaged), like the standard profiles, in <tt><font style="font-size: 10pt;" size="2">flow_statistics</font></tt>.</p> </td>
+</tr> <tr><td style="vertical-align: top;">Middle of <span style="font-family: Courier New,Courier,monospace;">advec_particles.f90</span>, after particle reflection from walls.</td><td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_advec_particles"></a>user_advec_<br>particles</font></font></tt></td><td style="vertical-align: top;">User-defined actions after the calculation of the new particle position.</td></tr><tr><td style="vertical-align: top;">End
+of <span style="font-family: monospace;">check_parameters.f90</span>
+where 2d/3d output quantities are checked</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_check_data_output"></a>user_check_data_<br>output(
+variable, unit )</span></td><td style="vertical-align: top;">Here the physical <span style="font-family: monospace;">unit</span>(s) of
+user-defined 2d/3d output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
+have to be set. Input parameter <span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable. For those
+variables not recognized by the user, the parameter <span style="font-family: monospace;">unit</span> is set to
+"illegal", which tells the calling routine that the output variable is
+not defined and leads to a program abort.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;">End
+of <span style="font-family: monospace;">check_parameters.f90</span>
+where vertical profile output quantities are checked</td><td style="vertical-align: top;"><a name="user_check_data_output_pr"></a><br><span style="font-family: monospace;">user_check_data_</span><br style="font-family: monospace;"><span style="font-family: monospace;">output_pr(</span><br style="font-family: monospace;"><span style="font-family: monospace;">variable, var_count, unit )</span></td><td style="vertical-align: top;">Here the physical <span style="font-family: monospace;">unit</span>(s) and vertical grid (u- or w-grid) of
+user-defined vertical profile output quantities (see <a href="chapter_4.3.html#data_output_pr_user">data_output_pr_user</a>)
+have to be set. Input parameter <span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable. Parameter<span style="font-family: monospace;"> var_count </span>contains the internal profile number and must not be changed by the user. For those
+variables not recognized by the user, the parameter <span style="font-family: monospace;">unit</span> is set to
+"illegal", which tells the calling routine that the output variable is
+not defined and leads to a program abort.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;"><span style="font-family: monospace;">netcdf.f90</span> (4
+times) where the vertical grid coordinates for cross sections and
+volume data are defined</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_define_netcdf_grid"></a>user_define_<br>netcdf_grid(
+variable, found, grid_x, grid_y, grid_z )</span></td><td style="vertical-align: top;">Set the grid on which
+user-defined output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
+are defined. Input parameter <span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable. Allowed
+values are <span style="font-style: italic;">'x'</span>
+and <span style="font-style: italic;">'xu'</span>
+for <span style="font-family: monospace;">grid_x</span>,
+<span style="font-style: italic;">'y'</span> and <span style="font-style: italic;">'yv'</span> for <span style="font-family: monospace;">grid_y</span>, and<span style="font-family: monospace;"></span>&nbsp;<span style="font-style: italic;">'zu'</span> and <span style="font-style: italic;">'zw'</span> for <span style="font-family: monospace;">grid_z</span>. The
+output parameter <span style="font-family: monospace;">found</span>
+has to be set <span style="font-style: italic;">.TRUE.</span>
+by the user, otherwise an error message will appear in the job protocol
+for the respective output quantity.<br><br><span style="font-weight: bold;">Example:</span><br>If
+an output quantity is defined at the center of the grid boxes, the
+following settings have to be used:<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">grid_x = <span style="font-style: italic;">'x'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_y = <span style="font-style: italic;">'y'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_z = <span style="font-style: italic;">'zu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">found &nbsp;= <span style="font-style: italic;">.TRUE.</span></span><br></div><br>For
+defining an output quantity at the grid points where the
+u-velocity-component is defined, please use<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">grid_x = <span style="font-style: italic;">'xu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_y = <span style="font-style: italic;">'y'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_z = <span style="font-style: italic;">'zu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">found &nbsp;= <span style="font-style: italic;">.TRUE.</span></span><br></div><br>See
+<a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;">Middle of <span style="font-family: monospace;">data_output_2d.f90</span></td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_data_output_2d"></a>user_data_<br>output_2d(
+av, variable, found, grid, local_pf )</span></td><td style="vertical-align: top;">Resorts&nbsp;user-defined&nbsp;quantities
+(to be output as cross-section data;&nbsp;see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
+with indices (k,j,i) to a temporary array <span style="font-family: monospace;">local_pf</span> with
+indices (i,j,k) and sets the <span style="font-family: monospace;">grid</span>
+on which they are defined. Depending on the value of input parameter <span style="font-family: monospace;">av</span> resorting is
+done for instantaneous (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">0</span>) or time averaged
+data (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">1</span>). Input parameter
+<span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable. Allowed
+values for <span style="font-family: monospace;">grid</span>
+are&nbsp;<span style="font-style: italic;">'zu'</span>
+and&nbsp;<span style="font-style: italic;">'zw'</span>.
+The output parameter <span style="font-family: monospace;">found</span>
+has to be set <span style="font-style: italic;">.TRUE.</span>
+by the user, otherwise an error message will appear in the job protocol
+for the respective output quantity.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;"><span style="font-family: monospace;">data_output_3d.f90</span>
+at the end of the CASE structure</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_data_output_3d"></a>user_data_<br>output_3d(
+av, variable, found, local_pf, nz_do )</span></td><td style="vertical-align: top;">Resorts&nbsp;user-defined&nbsp;quantities
+(to be output as volume data;&nbsp;see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
+with indices (k,j,i) to a temporary array <span style="font-family: monospace;">local_pf</span> with
+indices (i,j,k) and sets the <span style="font-family: monospace;">grid</span>
+on which they are defined. Depending on the value of input parameter <span style="font-family: monospace;">av</span> resorting is
+done for instantaneous (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">0</span>) or time averaged
+data (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">1</span>). Input parameter
+<span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable<span style="font-family: monospace;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span>. The input
+parameter <span style="font-family: monospace;">nz_do</span>
+defines the upper limit of vertical grid index k of the output array
+(see <a href="chapter_4.2.html#nz_do3d">nz_do3d</a>).
+The output parameter <span style="font-family: monospace;">found</span>
+has to be set <span style="font-style: italic;">.TRUE.</span>
+by the user, otherwise an error message will appear in the job protocol
+for the respective output quantity.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;">End of <span style="font-family: monospace;">average_3d_data.f90</span>,
+middle and end of <span style="font-family: monospace;">sum_up_3d_data.f90</span></td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_3d_data_averaging"></a>user_3d_data_<br>averaging(
+mode, variable )</span></td><td style="vertical-align: top;">Sum up and time-average of
+user-defined output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
+as well as allocation of the arrays necessary for storing the
+respective averages. Input parameter <span style="font-family: monospace;">variable</span>
+contains the string identifier of the respective variable. Depending on
+the requested action, input parameter <span style="font-family: monospace;">mode</span> has the
+value <span style="font-style: italic;">'allocate'</span>,
+<span style="font-style: italic;">'sum'</span>, or <span style="font-style: italic;">'average'</span>.<br><br>See
+<a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities. </td></tr><tr><td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2">DEFAULT</font></tt>
+case of <tt><font style="font-size: 10pt;" size="2">SELECT
+CASE(&nbsp;</font></tt><font style="font-size: 10pt; font-family: Courier New,Courier,monospace;" size="2"><code></code></font><tt><font style="font-size: 10pt;" size="2"><code>output_variable</code> ) </font></tt>command near the end of <code>data_output_dvrp.f90</code></td><td style="vertical-align: top;"><code><a name="user_data_output_dvrp"></a>user_data_<br>output_dvrp(<br>output_variable, local_pf )</code></td><td style="vertical-align: top;">Resorts&nbsp;user-defined&nbsp;quantities
+(to be output as dvrp objects;&nbsp;see <a href="chapter_4.3.html#data_output_user">data_output_user</a> and <a href="chapter_4.2.html#mode_dvrp">mode_dvrp</a>)
+with indices (k,j,i) to a temporary array <span style="font-family: monospace;">local_pf</span> with
+indices (i,j,k). The array  <span style="font-family: monospace;">local_pf</span> is then handed back to the calling subroutine&nbsp;<code>data_output_dvrp.f90</code>.<br><br>See
+<a href="chapter_3.5.4.html">chapter 3.5.4</a> about
+creating user-defined output quantities.</td></tr><tr valign="top"> <td width="211"> <p>End
+of <tt><font style="font-size: 10pt;" size="2">palm.f90</font></tt></p>
+</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_last_action"></a>user_last_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">actions</font></font></tt></p>
+</td> <td width="862"> <p>User-defined
+actions which are to be executed at the end
+of a
+model run. When <tt><font style="font-size: 10pt;" size="2">user_last_actions</font></tt>
+is called all model actions are already completed, but the files opened
+by the model are not closed yet and possibly terminating actions for
+these files (see subroutine of <tt><font style="font-size: 10pt;" size="2">close_files</font></tt>)
+are also not carried
+out yet.&nbsp; <br>
+CPU time for <tt><font style="font-size: 10pt;" size="2">user_last_actions</font></tt>
+appears in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
+within the category &ldquo;last actions&rdquo; (the time
+necessary for <tt><font style="font-size: 10pt;" size="2">close_files</font></tt> is included).</p>
+</td> </tr><tr><td style="vertical-align: top;">Not called in the default PALM code</td><td style="vertical-align: top;"><p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_additional_routines"></a>user_additional_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><span style="font-family: Cumberland,monospace;">routines</span></p></td><td style="vertical-align: top;">This routine may contain additional routines defined by the user to be called from other user interface routines.</td></tr> </tbody></table><hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_3.5.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.2.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last
+change: </i>$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.2.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.2.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.2.html	(revision 393)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.5.2</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;13321506"> <meta name="CHANGED" content="20041112;14455666"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">&nbsp;3.5.2 Definition of
+user-defined
+parameters</h3>
+<p style="line-height: 100%;">As for the model in general,
+also the
+user-defined code will have to be steered by parameters. For each
+run the model should to be able to read in current values of these
+parameters. The declaration of user-defined parameters takes place in
+the user-defined module <tt><font style="font-size: 10pt;" size="2">user</font></tt>
+(file <tt><font style="font-size: 10pt;" size="2">user_module.f90</font></tt>).
+This module must be declared in all relevant user-defined routines via
+a USE statement, in order to make the parameters available. </p>
+<p style="line-height: 100%;">The user can assign values
+to the
+user-defined parameters within the NAMELIST group <tt><font style="font-size: 11pt;" size="2">&amp;userpar
+<font size="3"><font face="Thorndale, serif">in
+the local file</font></font>
+<a href="chapter_3.4.html#PARIN">PARIN</a></font></tt>.
+This NAMELIST group must be located after the initialization
+parameters and run parameters (<tt><font style="font-size: 10pt;" size="2">&amp;inipar</font></tt><font style="font-size: 10pt;" size="2">,
+</font><tt><font style="font-size: 10pt;" size="2">&amp;d3par</font></tt>)
+(see <a href="chapter_4.0.html">chapter
+4.0</a>). Before values of the user-defined parameters can be
+assigned,
+the parameters must be declared within the appropriate NAMELIST
+statement in the user-defined subroutine <tt><font style="font-size: 10pt;" size="2">user_parin</font></tt>.
+</p>
+<p style="line-height: 100%;">The following example
+illustrates the
+procedure. The example assumes that the user declares a
+LOGICAL variable named <tt><font style="font-size: 10pt;" size="2">abcd</font></tt>
+for steering the user-defined code. This variable
+must be declared in the module <tt>user</tt>: </p>
+<ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">LOGICAL:: abcd =
+.FALSE.</font></tt></p>
+</ul><p style="line-height: 100%;">Pay attention
+that in this example a
+default value (.FALSE.) is assigned to the variable and it will keep
+this value if nothing else is assigned within the file <tt>PARIN</tt>.
+In <tt><font style="font-size: 10pt;" size="2">user_parin</font>
+<font face="Thorndale, serif">the</font></tt>
+NAMELIST must be extended by the name of the new variable: </p>
+<ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">NAMELIST /userpar/
+&nbsp;abcd, data_output_user, region.</font></tt></p>
+</ul><p style="line-height: 100%;">In the parameter
+file PARIN a value can
+be assigned: </p>
+<ul> <p style="line-height: 100%;">. <br>
+. <br> <tt><font style="font-size: 10pt;" size="2">&amp;userpar abcd = .T.,</font></tt><font style="font-size: 10pt;" size="2"> ...</font></p>
+</ul><p style="line-height: 100%;">User defined
+parameters in the file PARIN
+are
+considered as run parameters, i.e. they must be specified again for
+each restart run.</p>
+<p style="line-height: 100%;">In each case the user should
+carry out
+a control output of the parameter values, so
+that their values during the respective model run are really known. For
+this
+purpose the user-defined subroutine <tt><font style="font-size: 10pt;" size="2">user_header</font></tt>
+which writes into the files <a href="chapter_3.4.html#HEADER">HEADER</a>
+and <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+is available. <br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+&nbsp;<font color="#000080"><font color="#000080"><a href="chapter_3.5.1.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.3.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a><br>
+</font></font></p><p style="line-height: 100%;"><span style="font-style: italic;">Last
+change:</span> $Id$<font color="#000080"><font color="#000080"><br>
+</font></font></p></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.3.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.3.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.3.html	(revision 393)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.5.3</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;14001660"> <meta name="CHANGED" content="20041112;14483720"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.5.3 Definition of user-defined
+subdomains</h3>
+<p style="line-height: 100%;">By default, the values of
+the timeseries quantities and the horizontally averaged vertical
+profiles (saved in local files
+<a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>
+and <a href="chapter_3.4.html#LIST_PROFIL">LIST_PROFIL</a>)
+always refer to the total model domain. Independently, up to 9 time
+series or profiles for different user-defined subdomains can be
+computed and plotted additionally. Steering in principle is done
+via the initialization parameter <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>.
+</p>
+<p style="line-height: 100%;">The exact definition of
+these subdomains
+has to be made by the user within the user-defined subroutine
+<tt><font style="font-size: 10pt;" size="2">init_user</font></tt>.
+The
+subdomains are defined with a mask array named <tt><font style="font-size: 10pt;" size="2">rmask</font></tt>,
+which has to be given the value 1.0 for all horizontal grid points
+belonging to
+the user-defined subdomain and the value 0.0, where grid points do not
+belong
+to the user-defined subdomain. In the model <tt><font size="2">rmask</font></tt>
+is
+declared as: </p>
+<ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">REAL :: rmask
+(nys-1:nyn+1,nxl-1:nxr+1,0:9) .</font></tt></p>
+</ul><p style="line-height: 100%;">The first two
+indices are the grid point
+indices in y and x-direction. With parallel model runs <tt><font style="font-size: 10pt;" size="2">nxl</font></tt><font style="font-size: 10pt;" size="2">,
+</font><tt><font style="font-size: 10pt;" size="2">nxr</font></tt><font style="font-size: 10pt;" size="2">,
+</font><tt><font style="font-size: 10pt;" size="2">nys</font></tt><font style="font-size: 10pt;" size="2">
+<font size="3">and</font> </font><tt><font style="font-size: 10pt;" size="2">nyn</font></tt>
+are the array bounds of the respective subdomain (don't confuse this
+with the user-defined subdomain!) on the
+respective processor. With runs on one processor <tt><font style="font-size: 10pt;" size="2">nys</font></tt><font style="font-size: 10pt;" size="2">
+= </font><tt><font style="font-size: 10pt;" size="2">nxl</font></tt><font style="font-size: 10pt;" size="2">
+= 0</font> and <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">nxr
+=</font> </font><a href="chapter_4.1.html#nx">nx</a>
+and <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">nyn
+=</font></font> <a href="chapter_4.1.html#ny">ny</a>.
+The third index determines the user-defined subdomain. The total model
+domain
+carries the index 0, the user-defined subdomains have the values 1 to
+9. </p>
+<p style="line-height: 100%;">The following example should
+illustrate
+this. Two subdomains are defined by the user. The first is determined
+by all grid
+points which lie within a circle whose center is equal to the
+(horizontal) center of the model domain and whose diameter is equal
+to half of the total horizontal domain size (square total domain
+assumed).
+The second subdomain should be defined by all points outside of this
+domain. This may be obtained by the following lines of code in <tt><font style="font-size: 10pt;" size="2">user_init</font></tt>:
+</p>
+<ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE
+grid_variables</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE indices</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE statistics</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_center_x = dx * (nx + 1)/2</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_center_y = dy * (ny + 1)/2</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_radius = 0.5 *
+disc_center_x</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">DO&nbsp; i = nxl-1, nxr+1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp; x = i * dx</font></font></tt><br>
+<tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+y = j * dy</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+radial_distance = SQRT( ( x - disc_center_x )**2 + &amp;</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&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;
+( y - disc_center_y )**2 )</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp; &nbsp;
+&nbsp; IF ( radial_distance
+&gt; disc_radius )&nbsp; THEN</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+rmask(j,i,1) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+rmask(j,i,2) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+rmask(j,i,1) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+rmask(j,i,2) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">&nbsp;&nbsp; ENDDO</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">ENDDO</font></font></tt></p>
+</ul><p style="line-height: 100%;">The module <span style="font-family: monospace;">statistics</span> must
+be used,
+because it contains <span style="font-family: monospace;">rmask</span>
+and the modules <span style="font-family: monospace;">grid_variables</span>
+and <span style="font-family: monospace;">indices</span>
+are
+necessary in this example, because grid spacing and indices are used.
+All array elements of <span style="font-family: monospace;">rmask</span>
+(<span style="font-family: monospace;">rmask(:,:,:)</span>)
+are preset
+by the model with 1.0. In no case this assignment must be
+changed for the total domain (<span style="font-family: monospace;">rmask(:,:,0)</span>)!
+Computations and output for the user-defined subdomains only take place
+if
+the user sets <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>
+&ge; <i>1</i>. Beyond that, names for the user-defined
+subdomains can be
+assigned
+via the initialization parameter <a href="chapter_4.3.html#region">region</a>.
+Output of the names of the selected user-defined subdomains happens in
+the local files <a href="chapter_3.4.html#HEADER">HEADER</a>
+and <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+within the user-defined subroutine <tt><font style="font-size: 10pt;" size="2">user_header</font></tt>.
+<br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.5.2.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.4.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.4.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.4.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.4.html	(revision 393)
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.5.4</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;14050943"> <meta name="CHANGED" content="20041117;12180008"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;"><font size="4">3.5.4
+User-defined output quantities<br>
+</font></h3>A very typical request of users is the
+calculation and
+output of
+quantities which are not part of PALM's standard output. The basic user
+interface includes a number of subroutines which allow the calculation
+of user-defined quantities and output of these quantities as 1.
+(horizontally averaged) <a href="#vertical_profiles">vertical
+profiles</a>, 2.&nbsp;<a href="#time_series">time
+series</a>, 3. <a href="#2D_and_3D">2d cross
+section</a> or <a href="#2D_and_3D">3d volume data</a>,
+4. <a href="#dvrp">dvrp</a> objects, and 5. <a href="#spectra">spectra</a>. The respective
+subroutines
+contain sample code lines (written as comment lines) for defining,
+calculating and
+output of such quantities.<br><br>Output times, averaging
+intervals, etc. are steered by the same variables as used for the
+standard PALM output quantities, e.g. <a href="chapter_4.2.html#dt_data_output">dt_data_output</a>.<br><br>The
+following five parts of&nbsp;this chapter explains step-by-step how
+to modify/extend the
+respective default user interface subroutines in order to generate the respective
+output:<br><ol><li>(horizontally averaged) <a href="chapter_3.5.4.html#vertical_profiles">vertical profiles</a>,&nbsp;</li><li><a href="chapter_3.5.4.html#time_series">time series</a>,&nbsp;</li><li><a href="chapter_3.5.4.html#2D_and_3D">2d cross
+section</a> or <a href="chapter_3.5.4.html#2D_and_3D">3d
+volume data</a>,&nbsp;</li><li><a href="chapter_3.5.4.html#dvrp">dvrp</a> objects,
+and&nbsp;</li><li><a href="chapter_3.5.4.html#spectra">spectra</a>.</li></ol><br><h4><a name="vertical_profiles"></a>1. Output of user-defined
+vertical profiles</h4>This example shows the output of the
+quantity "turbulent resolved-scale horizontal momentum flux" (u*v*). If
+more than one user-defined
+quantity shall be output, the following steps have to be carried out in
+the
+same way for each of the quantities.<br><br><ol><li>The
+quantity has to be given a unique string identifier, e.g. <span style="font-style: italic;">'u*v*'</span>.
+This identifier must be different from the identifiers used for the
+PALM standard output (see list in description of parameter <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>).
+To switch on output of this quantity, the user has to assign the string
+identifier to the parameter <a href="chapter_4.3.html#data_output_pr_user">data_output_pr_user</a>,
+eg.:<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp; data_output_pr_user</span> = <span style="font-style: italic;">'u*v*'</span>,<span style="font-style: italic;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span><br><br></li><li>For
+the
+quantity, an identification number, a physical unit, and the vertical
+grid on which it is defined (u- or w-grid), has to be assigned
+(subroutine <a href="chapter_3.5.1.html#user_check_data_output_pr"><span style="font-family: monospace;">user_check_data_output_pr</span></a>):<span style="font-family: monospace;"><br><br>&nbsp;
+&nbsp; CASE (
+'u*v*' )<br></span><span style="font-family: monospace;">&nbsp;
+&nbsp; &nbsp; &nbsp;index = pr_palm + <span style="color: rgb(255, 0, 0);">1<span style="color: rgb(0, 0, 0);">
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; ! identification number</span></span><br>&nbsp;
+&nbsp; &nbsp; &nbsp;dopr_index(var_count) = index<br>&nbsp;
+&nbsp; &nbsp;&nbsp; dopr_unit(var_count) &nbsp;= '<span style="color: rgb(255, 0, 0);">m2/s2</span>'
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !
+physical unit<br>&nbsp; &nbsp; &nbsp;
+&nbsp;hom(:,2,index,:) &nbsp; &nbsp; &nbsp;= SPREAD( <span style="color: rgb(255, 0, 0);">zu</span>, 2,
+statistic_regions+1 ) &nbsp; &nbsp;! vertical grid<br></span><br>Here
+only the those parts in <span style="color: rgb(255, 0, 0);">red</span>
+color have to be given by the user appropriately.<br>The
+identification number (<span style="font-family: Courier New,Courier,monospace;">index</span>)
+must be within the range [<span style="font-family: Courier New,Courier,monospace;">
+pr_palm+1 , pr_palm+max_pr_user</span> ], where <span style="font-family: Courier New,Courier,monospace;">max_pr_user</span>
+is the number of&nbsp;user-defined profiles as given by parameter <a href="chapter_4.3.html#data_output_pr_user">data_output_pr_user</a>
+in the respective PALM run.&nbsp;The physical unit has to be given
+with respect to the NetCDF conventions. If no unit is given,
+PALM will abort. The vertical grid has to be either <span style="font-family: Courier New,Courier,monospace;">zu</span>
+(u-grid) or <span style="font-family: Courier New,Courier,monospace;">zw</span>
+(w-grid).<br><br></li><li>The quantity has to
+be calculated for all gridpoints (subroutine <a href="chapter_3.5.1.html#user_statistics">user_statistics</a>):<br><br><span style="font-family: monospace;">&nbsp; &nbsp; !$OMP
+DO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl, nxr</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys, nyn</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb_s_inner(j,i)+1, nzt</span><br style="font-family: monospace;"><span style="font-family: monospace;"></span><span style="font-family: monospace;"></span><span style="font-family: monospace;"></span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sums_l(k,pr_palm+<span style="color: rgb(255, 0, 0);">1</span>,tn)
+= sums_l(k,pr_palm+<span style="color: rgb(255, 0, 0);">1</span>,tn)
++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&amp;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<span style="color: rgb(255, 0, 0);">( 0.5 * ( u(k,j,i) +
+u(k,j,i+1) ) - hom(k,1,1,sr) ) * &amp;</span></span><br style="font-family: monospace; color: rgb(255, 0, 0);"><span style="font-family: monospace; color: rgb(255, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+( 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - hom(k,1,2,sr) ) &nbsp; &amp;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+* rmask(j,i,sr)<br>&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; ENDDO<br>&nbsp; &nbsp; &nbsp;
+&nbsp;ENDDO<br>&nbsp; &nbsp; ENDDO<br></span><br style="font-family: monospace;">Once again, only those parts
+in <span style="color: rgb(255, 0, 0);">red</span>
+have to be adjusted by the user.<br>The
+turbulent resolved-scale momentum flux u*v* is defined as the product
+of the deviations of the horizontal velocities from their respective
+horizontally averaged mean values. These mean values are stored in
+array <span style="font-family: Courier New,Courier,monospace;">hom(..,1,1,sr)</span>
+and <span style="font-family: Courier New,Courier,monospace;">hom(..,1,2,sr)</span>
+for the u- and v-component, respectively. Since due to the staggered
+grid, <span style="font-family: Courier New,Courier,monospace;">u</span>
+and <span style="font-family: Courier New,Courier,monospace;">v</span>
+are not defined at the same gridpoints, they have to be interpolated
+appropriately (here to the center of the gridbox). The result of the
+calculation is stored in array <span style="font-family: Courier New,Courier,monospace;">sums_l</span>.
+The second index of this array is the identification number of the
+profile which must match the one given in the previous step 2.</li></ol><br><h4><a name="time_series"></a>2. Output of user-defined
+timeseries</h4>This example shows the output of two time series
+for the absolut extremal values of the horizontal velocities <span style="font-style: italic;">u</span> and <span style="font-style: italic;">v</span>. If more than one
+user-defined
+quantity shall be output, the following steps have to be carried out in
+the
+same way for each of the quantities.<br><br><ol><li>For
+each time series quantity you have to give a label and a unit
+(subroutine <a href="chapter_3.5.1.html#user_init">user_init</a>),
+which will be used for the NetCDF file. They must not contain more than
+seven characters. The value of <code>dots_num</code> has
+to be increased by the number of new time series quantities. Its old
+value has to be stored in <code>dots_num_palm</code>.<br><br><code>&nbsp;&nbsp;&nbsp;
+dots_label(dots_num<span style="color: rgb(255, 0, 0);">+1</span>)
+= '<span style="color: rgb(255, 0, 0);">abs_umx</span>'<br>&nbsp;&nbsp;&nbsp;
+dots_unit(dots_num<span style="color: rgb(255, 0, 0);">+1</span>)&nbsp;
+= '<span style="color: rgb(255, 0, 0);">m/s</span>'<br>&nbsp;&nbsp;&nbsp;
+dots_label(dots_num<span style="color: rgb(255, 0, 0);">+2</span>)
+= '<span style="color: rgb(255, 0, 0);">abs_vmx</span>'<br>&nbsp;&nbsp;&nbsp;
+dots_unit(dots_num<span style="color: rgb(255, 0, 0);">+2</span>)&nbsp;
+= '<span style="color: rgb(255, 0, 0);">m/s</span>'<br><br>&nbsp;&nbsp;&nbsp;
+dots_num_palm = dots_num<br>&nbsp;&nbsp;&nbsp;
+dots_num = dots_num <span style="color: rgb(255, 0, 0);">+
+2</span><br><br></code>Only those parts in <span style="color: rgb(255, 0, 0);">red</span> have to be
+adjusted by the user.<br><br></li><li>These
+quantities are&nbsp;calculated and output in subroutine <a href="chapter_3.5.1.html#user_statistics">user_statistics</a>
+for every statistic region <code>sr</code> defined by the
+user,&nbsp;but at least for the region <span style="font-style: italic;">"total domain"</span>:<br>&nbsp;<br><code>&nbsp;&nbsp;&nbsp;
+ts_value(dots_num_palm+1,sr) = ABS( u_max )<br>&nbsp;&nbsp;&nbsp;
+ts_value(dots_num_palm+2,sr) = ABS( v_max )<br></code></li></ol>&nbsp;<br><h4><span style="font-weight: bold;"><a name="2D_and_3D"></a>3.
+Output of user-defined 2d cross sections or 3d volume data</span></h4><br>This
+example shows the output of the
+quantity "square of the u-component" (<span style="font-weight: bold;">Note:</span> this quantity
+could of course easily be calculated from the u-component by
+postprocessing the PALM output so that calculation within PALM is not
+necessarily required). If more than one user-defined
+quantity shall be output, the following steps have to be carried out in
+the
+same way for each of the quantities.<br><br><ol><li>The
+quantity has to be given a unique string identifier, e.g. <span style="font-style: italic;">'u2'</span>.
+This identifier must be different from the identifiers used for the
+PALM standard output (see list in description of parameter <a href="chapter_4.2.html#data_output">data_output</a>).
+To switch on output of this quantity, the user has to assign the string
+identifier to the parameter <a href="chapter_4.3.html#data_output_user">data_output_user</a>,
+eg.:<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp; data_output_user</span> = <span style="font-style: italic;">'u2'</span>, <span style="font-style: italic;">&nbsp;'u2_xy_av'</span><br><br>The
+pure string <span style="font-style: italic;">'u2'</span>
+switches on the output of instantaneous 3d volume data. Output of cross
+section data and time averaged data is switched on by additionally
+appending the strings <span style="font-style: italic;">'_xy'</span>,
+<span style="font-style: italic;">'_xz'</span>, <span style="font-style: italic;">'_yz'</span>, and/or <span style="font-style: italic;">'_av'</span> (for a
+detailed explanation see parameter <a href="chapter_4.2.html#data_output">data_output</a>).<br><br></li><li>In
+order to store the quantities' grid point data within PALM, a 3d data
+array has to be declared in module <a href="chapter_3.5.1.html#user"><span style="font-family: monospace;">user</span></a>:<br><br><span style="font-family: monospace;">&nbsp; &nbsp; REAL,
+DIMENSION(:,:,:), ALLOCATABLE ::&nbsp; u2, u2_av</span><br><br>The
+second array <span style="font-family: monospace;">u2_av</span>
+is needed in case that output of time averaged data is requested. It is
+used to store the sum of the data of the respective time levels over
+which the average has to be carried out.<br><br><br></li><li>The
+data array has to be allocated in subroutine <a href="chapter_3.5.1.html#user_init"><span style="font-family: monospace;">user_init</span></a>:<br><br><span style="font-family: monospace;">&nbsp; &nbsp;
+ALLOCATE( u2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )</span><br><br>In
+case that output of time averaged data is requested, the array
+containing the sum has possibly to be read from the restart file (local
+filename <a href="chapter_3.4.html#BININ">BININ</a>)
+by executing the following code in <span style="font-family: monospace;">user_init</span>:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp;IF ( initializing_actions == 'read_restart_data' )&nbsp;
+THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; READ ( 13 )&nbsp; field_chr</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;DO&nbsp; WHILE ( TRIM( field_chr ) /= '*** end
+user ***' )</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; SELECT CASE ( TRIM( field_chr ) )</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp;&nbsp; CASE ( 'u2_av' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp; ALLOCATE(
+u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp; READ ( 13 )&nbsp; u2_av</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; CASE DEFAULT</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; PRINT*,
+'+++ user_init: unknown
+variable named "', &amp;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+TRIM(
+field_chr ), '" found in'</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; PRINT*,
+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+data from prior run on PE ', myid</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; CALL local_stop</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp; END SELECT<br>&nbsp;
+&nbsp; &nbsp;&nbsp; ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp;ENDIF</span><br style="font-family: monospace;"><br><br></li><li>The
+quantity has to be given a unit (subroutine <a href="chapter_3.5.1.html#user_check_data_output"><span style="font-family: monospace;">user_check_data_output</span></a>):<br><br><span style="font-family: monospace;">&nbsp; &nbsp; CASE (
+'u2' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; unit = 'm2/s2'</span><br>&nbsp;<br>Otherwise,
+PALM will abort.<br><br><br></li><li>The
+vertical grid on which the quantity is defined (given by the levels
+'zu' or 'zw', on which the u- or w-component of the velocity are
+defined) has to be specified for the NetCDF output files in subroutine <a href="chapter_3.5.1.html#user_define_netcdf_grid"><span style="font-family: monospace;">user_define_netcdf_grid</span></a>:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp;CASE ( 'u2', 'u2_xy', 'u2_xz', 'u2_yz' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp; &nbsp; grid = 'zu'</span><br>&nbsp;<br>As
+the example shows, this grid has to be defined for the 3d volume data
+as well as for all of the three cross sections.<br><span style="font-family: monospace;"><br><br></span></li><li>After
+each timestep, the quantity has to be calculated at all gridpoints and
+to be stored. This has to be done in subroutine <a href="chapter_3.5.1#user_actions"><span style="font-family: monospace;">user_actions</span></a>
+at location 'after_integration':<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'after_integration' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">!</span><br style="font-family: monospace;"><span style="font-family: monospace;">!--&nbsp;&nbsp;&nbsp;
+Enter actions to be done after every time integration (before</span><br style="font-family: monospace;"><span style="font-family: monospace;">!--&nbsp;&nbsp;&nbsp;
+data output)</span><br style="font-family: monospace;"><span style="font-family: monospace;">!--&nbsp;&nbsp;&nbsp;
+Sample for user-defined output:</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nzt+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+u2(k,j,i) = u(k,j,i)**2</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br><br>&nbsp;<br></li><li>In
+case that output of time-averaged data is requested, the sum- and
+average-operations as well as the allocation of the sum-array have to
+be carried out in subroutine <a href="chapter_3.5.1.html#user_3d_data_averaging"><span style="font-family: monospace;">user_3d_data_averaging</span></a>:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+IF ( mode == 'allocate' )&nbsp; THEN<br>&nbsp; &nbsp;
+...</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( 'u2' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( .NOT. ALLOCATED( u2_av ) )&nbsp; THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+u2_av = 0.0<br>&nbsp; &nbsp; ...</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+ELSEIF ( mode == 'sum' )&nbsp; THEN<br>&nbsp; &nbsp;
+...</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'u2' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nzt+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+u2_av(k,j,i) = u2_av(k,j,i) + u2(k,j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO<br>&nbsp; &nbsp; ...</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+ELSEIF ( mode == 'average' )&nbsp; THEN<br>&nbsp;
+&nbsp; ...</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'u2' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nzt+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+u2_av(k,j,i) = u2_av(k,j,i) / REAL( average_count_3d )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br><br>&nbsp;</li><li>For
+output of 2d cross sections, the gridpoint data of the quantity has to
+be resorted to array <span style="font-family: monospace;">local_pf</span>
+in subroutine <a href="chapter_3.5.1.html#user_data_output_2d"><span style="font-family: monospace;">user_data_output_2d</span></a>.
+Also the vertical grid, on which the quantity is defined, has to be set
+again:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'u2_xy', 'u2_xz', 'u2_yz' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( av == 0 )&nbsp; THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nzt+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,k) = u2(k,j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nzt+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,k) = u2_av(k,j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+grid = 'zu'</span><br>&nbsp;<br>The <span style="font-family: monospace;">ELSE</span> case is
+only needed in case that output of time-averaged data is requested.<br><br>
+As a special case, xy cross section output can also be defined at one single level at height <span style="font-family: monospace;">k=nzb+1</span> on the u-grid. This features is useful for output of surface data (e.g. heat fluxes). In this case, the corresponding 2d data has to be resorted to the array <span style="font-family: monospace;">local_pf(i,j,nzb+1).</span> In addition to this, the grid in <a href="chapter_3.5.1.html#user_define_netcdf_grid"><span style="font-family: monospace;">user_define_netcdf_grid</span></a> as well as in <a href="chapter_3.5.1.html#user_data_output_2d"><span style="font-family: monospace;">user_data_output_2d</span></a> must be set to <span style="font-family: monospace;">grid = 'zu1'</span>.<br><br>
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'u2_xy' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( av == 0 )&nbsp; THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,nzb+1) = u2(j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,nzb+1) = u2_av(j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+grid = 'zu1'</span><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+two_d = .TRUE.</span><br><br>
+Note that <span style="font-family: monospace;">two_d = .TRUE.</span> is necessary for output of a 2d data slice.<br><br>
+<br></li><li>For
+output of 3d volume data, the gridpoint data of the quantity has to be
+resorted to array <span style="font-family: monospace;">local_pf</span>
+in subroutine <a href="chapter_3.5.1.html#user_data_output_3d"><span style="font-family: monospace;">user_data_output_3d</span></a>.:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;CASE
+( 'u2' )</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( av == 0 )&nbsp; THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nz_do</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,k) = u2(k,j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl-1, nxr+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys-1, nyn+1</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nz_do</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,k) = u2_av(k,j,i)</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</span><br><br>The <span style="font-family: monospace;">ELSE</span> case is
+only needed in case that output of time-averaged data is requested.<br><br><br></li><li>In
+case of job chains, the sum array has to be written to the (binary)
+restart file (local filename <a href="chapter_3.4.html#BINOUT">BINOUT</a>)
+in subroutine <a href="chapter_3.5.1.html#user_last_actions"><span style="font-family: monospace;">user_last_actions</span></a>:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+IF ( ALLOCATED( u2_av ) )&nbsp; THEN</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+WRITE ( 14 )&nbsp;
+'u2_av&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+';&nbsp; WRITE ( 14 )&nbsp; u2_av</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+ENDIF</span><br><br>Otherwise,
+the calculated
+time-average may be wrong. In the restart run, this quantity has to be
+read from the restart file by including the following code in
+subroutine <a href="chapter_3.5.1.html#user_read_restart_data"><span style="font-family: monospace;">user_read_restart_data</span></a>:<br><br><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; IF ( initializing_actions == 'read_restart_data' )&nbsp; THEN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; READ ( 13 )&nbsp; field_char<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DO&nbsp; WHILE ( TRIM( field_char ) /= '*** end user ***' )<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT CASE ( TRIM( field_char ) )<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CASE ( 'u2_av' )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF ( .NOT. ALLOCATED( u2_av ) ) THEN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ENDIF<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; READ ( 13 )&nbsp; tmp_3d<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &amp;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CASE DEFAULT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+PRINT*, '+++ user_init: unknown variable named "', &amp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+TRIM( field_char ), '" found in'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+PRINT*,
+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+data from prior run on PE ', myid<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL local_stop<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END SELECT<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; READ ( 13 )&nbsp; field_char<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ENDDO<br>&nbsp;&nbsp;&nbsp; ENDIF<br></span></li></ol><h4><a name="dvrp"></a>4. Output of user-defined DVRP objects</h4>This
+example shows the output of the
+quantity "square of the u-component", <span style="font-style: italic;">u<sup>2</sup></span>.
+If more than one user-defined
+quantity shall be output, the following steps have to be carried out in
+the
+same way for each of the quantities. First,&nbsp;steps 1 - 6
+of&nbsp;<a href="chapter_3.5.4.html#2D_and_3D"><span style="font-weight: bold;">part 3.</span> </a> <a href="chapter_3.5.4.html#2D_and_3D">(2d cross
+section or </a><a href="chapter_3.5.4.html#2D_and_3D">3d
+volume data)</a> are required. Second,&nbsp;the gridpoint
+data
+of the quantity has to
+be resorted to array <span style="font-family: monospace;">local_pf</span>
+in subroutine <a href="chapter_3.5.1.html#user_data_output_dvrp"><span style="font-family: monospace;">user_data_output_dvrp</span></a>
+as follows:<br><br><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( '<span style="color: rgb(255, 0, 0);">u2</span>',
+'<span style="color: rgb(255, 0, 0);">u2</span>_xy',
+'<span style="color: rgb(255, 0, 0);">u2</span>_xz',
+'<span style="color: rgb(255, 0, 0);">u2</span>_yz'&nbsp;
+)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; i = nxl, nxr+1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; j = nys, nyn+1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+DO&nbsp; k = nzb, nz_do3d<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+local_pf(i,j,k) = <span style="color: rgb(255, 0, 0);">u2</span>(k,j,i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDDO</code><br><br>Only those parts in <span style="color: rgb(255, 0, 0);">red</span> have to be
+adjusted by the user.<br><br>After performing these steps,
+the user-defined quantity <code>'u2'</code> can be
+selected like standard model quantities by the <a href="chapter_4.2.html#dvrp_graphics">dvrp_graphics</a>
+package parameter <a href="chapter_4.2.html#mode_dvrp">mode_dvrp</a>.<br><br><h4><a name="spectra"></a>5. Output of user-defined spectra</h4>This
+example shows the output of the
+quantity "turbulent resolved-scale horizontal momentum flux" (u*v*). If
+more than one user-defined
+quantity shall be output, the following steps have to be carried out in
+the
+same way for each of the quantities.<br><br><ol><li>The
+calculation of user-defined spectra is closely linked with the
+calculation of <a href="chapter_3.5.4.html#vertical_profiles"><span style="font-weight: bold;">part 1.</span>
+(user-defined
+</a><a href="chapter_3.5.4.html#vertical_profiles">vertical
+profiles</a><a href="chapter_3.5.4.html#vertical_profiles">)</a><span style="font-weight: bold;"></span> and <a href="chapter_3.5.4.html#2D_and_3D"><span style="font-weight: bold;">part 3.</span> (user-defined</a><a href="chapter_3.5.4.html#2D_and_3D"> </a><a href="chapter_3.5.4.html#2D_and_3D">3d volume data</a><a href="chapter_3.5.4.html#2D_and_3D">)</a><span style="font-weight: bold;"></span>. Therefore, the
+following prerequisites apply
+for each user-defined
+spectra quantity:</li></ol><ol style="list-style-type: upper-alpha;"><ol style="list-style-type: upper-alpha;"><li>From <a href="chapter_3.5.4.html#vertical_profiles"><span style="font-weight: bold;">part 1.</span>
+(user-defined
+</a><a href="chapter_3.5.4.html#vertical_profiles">vertical
+profiles</a><a href="chapter_3.5.4.html#vertical_profiles">)</a>
+steps 2 and 3. <br>See the sample code (as comment lines) for <span style="font-style: italic;">'u*v*'</span> and <code>ustvst</code>,
+respectively. (Actual output of vertical profiles - step 1 - is not
+required.)</li><li>From <a href="chapter_3.5.4.html#2D_and_3D"><span style="font-weight: bold;">part 3.</span> (user-defined</a><a href="chapter_3.5.4.html#2D_and_3D"> </a><a href="chapter_3.5.4.html#2D_and_3D">3d volume data</a><a href="chapter_3.5.4.html#2D_and_3D">)</a> steps 2, 3,
+4, 5, and 6. <br>See the sample code (as comment lines) for <span style="font-style: italic;">'u*v*'</span> and <code>ustvst</code>,
+respectively. (Actual output of 3d volume data - step 1 - is not
+required.)</li><li>The quantity has to be given a unique
+string identifier, e.g. <span style="font-style: italic;">'u*v*'</span>.
+This identifier must be different from the identifiers used for the
+PALM standard output (see list in description of package parameter <a href="chapter_4.2.html#data_output_sp">data_output_sp</a>).
+To switch on output of this quantity, the user has to assign the string
+identifier to the package parameter <a href="chapter_4.2.html#data_output_sp">data_output_sp</a>,
+eg.:<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp; data_output_sp</span> =&nbsp; <span style="font-style: italic;">'u*v*'</span><br><br></li></ol>A.
+and B. as prerequisites for C. require a naming convention of identical
+identifiers, e.g. data_output_pr_user = 'u*v*', data_output_user =
+'u*v*' and data_output_sp = 'u*v*'. This naming convention applies only
+in case of user-defined spectra.</ol><ol start="2"><li>Edit
+the subroutine <a href="chapter_3.5.1.html#user_spectra">user_spectra</a>
+(only those parts in <span style="color: rgb(255, 0, 0);">red</span>)
+as follows:<br><br><code>&nbsp;&nbsp;&nbsp;
+IF ( mode == 'preprocess' )&nbsp; THEN<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+SELECT CASE ( TRIM( data_output_sp(m) ) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( 'u', 'v', 'w', 'pt', 'q' )<br>!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Not allowed here since these are the standard quantities used in <br>!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+preprocess_spectra.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<br><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( 'u*v*' )</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);"><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+pr = pr_palm+1</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);"><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+d(nzb+1:nzt,nys:nyn,nxl:nxr) = ustvst(nzb+1:nzt,nys:nyn,nxl:nxr)</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE DEFAULT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+PRINT*, '+++ user_spectra/preprocess: Spectra of ', &amp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+TRIM( data_output_sp(m) ), ' can not be calculated'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+END SELECT<br><br>&nbsp;&nbsp;&nbsp; ELSEIF (
+mode == 'data_output' )&nbsp; THEN<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+SELECT CASE ( TRIM( data_output_sp(m) ) )<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( 'u', 'v', 'w', 'pt', 'q' )<br>!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Not allowed here since these are the standard quantities used in <br>!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+data_output_spectra.<br><br><span style="color: rgb(255, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE ( 'u*v*' )</span><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+pr = 6</span><br style="color: rgb(255, 0, 0);"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CASE DEFAULT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+PRINT*, '+++ user_spectra/data_output: Spectra of ', &amp;<br>&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;
+TRIM( data_output_sp(m) ), ' are not defined'<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+END SELECT<br><br>&nbsp;&nbsp;&nbsp; ENDIF</code><br></li></ol>Note
+that spectra output is an <a href="chapter_3.7.html">optional
+software package</a> (see <a href="chapter_3.7.html">chapter
+3.7</a>). Therefore user-defined spectra also require the package
+activation via <code>mrun -p spectra</code>.<hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_3.5.3.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.5.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="right.gif" name="Grafik3"></font></a></font></font></p><p style="line-height: 100%;"><i>Last
+change:&nbsp;</i> $Id: chapter_3.5.4.html 136 2007-11-26
+02:47:32Z letzel $</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.5.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.5.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.5.html	(revision 393)
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.5.5</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;14050943"> <meta name="CHANGED" content="20041117;12180008"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;"><font size="4">3.5.5
+Compiling and
+linking user-defined code<br>
+</font></h3><p style="line-height: 100%;">Users
+can add their own (modified) user-interface to a PALM-run by carrying
+out the following steps:</p><ol><li>Copy the appropriate default
+(empty) user-interface&nbsp;files<span style="font-family: Courier New,Courier,monospace;">
+user_***.f90</span> to a directory of your choice, e.g.:<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp;
+&nbsp;cd ~/palm/current_version</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">&nbsp;
+&nbsp;mkdir -p USER_CODE/example</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">&nbsp;
+&nbsp;cp trunk/SOURCE/user_***.f90&nbsp;
+USER_CODE/example<br><br><span style="font-family: Times New Roman,Times,serif; font-weight: bold;">Attention: do not change the filenames!</span><br></span><br></li><li>Set
+an additional path in the configuration file<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config </span>to allow <span style="font-weight: bold;">mrun
+</span>to find and include these files:<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp;
+&nbsp;%add_source_path&nbsp;&nbsp;
+$base_directory/USER_CODE/$fname</span><br><br>The
+default configuration file (<span style="font-family: Courier New,Courier,monospace;">trunk/SCRIPTS/.mrun.config.default</span>)
+already includes this setting.<br></li><li>Modify the interface
+routines according to your needs.<br></li><li>Start a PALM run
+by executing<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp;
+&nbsp;mrun -d example ...</span><br><br>The files<span style="font-family: Courier New,Courier,monospace;">
+user_***.f90 </span>will be automatically compiled within
+the job and will replace the respective PALM&lsquo;s default user-interface routines.<br></li></ol>The
+above method with including<span style="font-family: Courier New,Courier,monospace;"> $fname </span>in
+the additional source path allows to use different user-interfaces for
+different runs at the same time. Just store the respective
+interface-files in subdirectories<span style="font-family: Courier New,Courier,monospace;">
+USER_CODE/abcd</span>,<span style="font-family: Courier New,Courier,monospace;">
+USER_CODE/cdef</span>, etc. and start <span style="font-weight: bold;">mrun</span> with option
+&ldquo;<span style="font-family: Courier New,Courier,monospace;">-d
+abcd</span>&ldquo;, &ldquo;<span style="font-family: Courier New,Courier,monospace;">-d cdef</span>&ldquo;,
+etc.<br><br>If the user wants to add additional routines, he/she can a) put them into the default user-interface file <span style="font-family: Courier New,Courier,monospace;">user_additional_routines.f90</span>
+or b) can create new files in the additional source directory. These
+files must have names different from the default PALM source code
+files. In case of b), the user must also copy the default makefile into
+the additional source directory:<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;cp trunk/SOURCE/Makefile&nbsp;
+USER_CODE/example</span><br><br>The makefile must be modified appropriately followinf the "make"-rules in order to allow the new files to be compiled.<br><br><span style="font-weight: bold;">The
+modified user-interface files cannot be pre-compiled by using mbuild!</span><br><br>While
+programming user-defined code,
+errors are frequently made. Possible ways of error
+tracing are described in the next chapter. <br><p style="line-height: 100%;">
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.5.3.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.6.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.5.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.5.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.5.html	(revision 393)
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 3.5</title> <meta content="StarOffice 7 (Win32)" name="GENERATOR"> <meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20040802;10431831" name="CREATED"> <meta content="20041112;14292662" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.5 Programming of user-defined
+code
+extensions<br>
+</h3><p style="line-height: 100%;">Programming
+user-defined code
+extensions usually requires exact knowledge of the internal structure
+of PALM.
+Appropriate explanations in <a href="chapter_2.0.html">chapter
+2.0</a> and the technical documentation are usually not
+sufficient
+and must be supplemented by a rigorous study of the model's source code. Programming experiences with FORTRAN95 and if necessary
+experiences with the parallelization tool MPI are absolutely
+necessary! </p>
+<p style="line-height: 100%;">Changes of the standard
+model code by the
+user
+should be avoided whenever possible and are reserved to the
+developer-group of PALM. The corrections, revisions and extensions of
+the
+model accomplished by this group are published in the
+<a href="../tec/index.html">technical/numerical
+documentation</a> and the accordingly updated source files are
+accessible to the users (see <a href="chapter_5.1.html">chapter
+5.1</a>).</p>
+<p style="line-height: 100%;">However, the user frequently
+may feel the
+need to make extensions of the model code for his/her own simulations.
+For this purpose, a set
+of interfaces is available, which can be used to add user-defined code
+to the model. This
+chapter describes the programming of such user-defined code extensions.</p><p style="line-height: 100%;">The integration of user-defined
+code
+occurs in the form of subroutine calls, which are made at a set of
+places in the model code, by default. These subroutines have
+pre-defined names, which must not be changed by the user. Their basic
+versions are a component of the standard model
+code and can be found in the source code files
+<tt><font style="font-size: 10pt;" size="2">user_***.f90</font></tt><font style="font-size: 10pt;" size="2">.</font>
+<font color="#000000">The</font> basic versions
+accomplish nearly no
+actions, thus they are pure templates, which can be extended by the
+user as required. Actions which are already accomplished in these
+basic versions by default should not be changed. Here is an example
+of such a basic version (file <span style="font-family: Courier New,Courier,monospace;">user_init.f90</span>): </p>
+<p style="line-height: 100%;">&nbsp; </p>
+<pre style="line-height: 100%;"><font color="#000000"><font style="font-size: 10pt;" size="2">SUBROUTINE user_init</font></font><br><br><font color="#000000"><font style="font-size: 10pt;" size="2">!------------------------------------------------------------------------------</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">!</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">!</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">! Description:</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">! -----------</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">! Execution of user-defined initializing actions</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">!------------------------------------------------------------------------------</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">!</font></font><br><br><font color="#000000"> <font style="font-size: 10pt;" size="2">USE control_parameters</font></font><br><font color="#000000"> <font style="font-size: 10pt;" size="2">USE user</font></font><br><br><font color="#000000"> <font style="font-size: 10pt;" size="2">IMPLICIT NONE</font></font><br><br><font color="#000000"><font style="font-size: 10pt;" size="2">!</font></font><br><font color="#000000"><font style="font-size: 10pt;" size="2">!-- Here the user defined initializing actions follow:</font></font><br><br><br><font color="#000000"><font style="font-size: 10pt;" size="2">END SUBROUTINE user_init</font></font></pre><p style="line-height: 100%;">The communication (handling of
+variables)
+with the model occurs via the
+global variables, which are defined within the individual FORTRAN -
+modules of PALM. The appropriate modules (they are all in the
+source code file <tt><font style="font-size: 10pt;" size="2">modules.f90</font></tt>)
+must be declared by means of <font size="2"><font face="Cumberland, monospace">USE</font></font>
+statements in the
+user-defined routines in order to be able to work with the variables
+contained in them. As in the example, this is already done with the
+module <tt><font style="font-size: 10pt;" size="2">control_parameters</font></tt>.
+This yields access to most of the existing parameters for steering the
+model. Furthermore, the module <tt><font style="font-size: 11pt;" size="2">user</font></tt>
+appears in the example
+above. This is a
+user-defined module (it can be found in file <tt><font style="font-size: 10pt;" size="2">user_module.f90</font></tt>)
+and can be used for communication between the user-defined routines. In
+this module own variables can be declared as desired. It
+is not used (and should not be used!) outside of the user code. </p>
+<p style="line-height: 100%;">A very typical request of
+users is the
+calculation and output of
+quantities which are not part of PALM's standard output. Several
+routines in the basic user interface are already designed and prepared
+for calculating and output of such quantities (see <a href="chapter_3.5.4.html">3.5.4</a>).</p><p style="line-height: 100%;">As already mentioned, the
+contents of
+the files <tt><font style="font-size: 10pt;" size="2">user_***.f90</font></tt>
+can be used as a basis for extensions. However these files should not be
+manipulated directly. Instead, a copy should be used.
+</p>
+<p style="line-height: 100%;">The following sections
+describe, which
+interfaces for user-defined code exist in the
+model, how user parameters can be defined for steering this code
+and how it is translated and linked to the model. &nbsp;</p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.4.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.1.html"><font color="#000080"><img name="Grafik3" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.6.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.6.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.6.html	(revision 393)
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 3.6</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040809;10583400"> <meta name="CHANGED" content="20041112;15013624"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.6 Interactive mode and debugging</h3>
+<p style="line-height: 100%;">You can use <b>mrun</b>
+for running PALM
+in batch mode as well as for running it interactively. For interactive
+runs, you must (naturally) be logged in on the respective computer. For
+this computer the subroutines of the model must have
+been precompiled (see <a href="chapter_5.0.html">chapter
+5.0</a>). Files containing user-defined code must be stored in
+the directory given by the variable<span style="font-family: Courier New,Courier,monospace;">
+%add_source_path </span>in the mrun-configuration file<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config</span>.<span style="font-family: monospace;"></span>
+All output-files possibly
+created by the model and requested by the user to be kept after the run
+are copied to
+directories on the local host corresponding to the specifications
+in the configuration file (in this case the file attribute<span style="font-family: Courier New,Courier,monospace;"> tr&nbsp;</span>does not cause transfer to another computer). </p>
+<p style="line-height: 100%;">Since model runs usually
+require large
+amounts of CPU time, interactive runs may not be feasible, since
+in interactive mode CPU time
+is strongly limited on many hosts and runs will be aborted
+after the time limit has been exceeded. However, an interactive run
+makes sense if a suitable debugger is available,
+which may be used for error tracing in the model (here, error tracing
+in
+the user-defined software is meant). The preparations neccessary for
+debugging are described in the following. This
+description is limited to the IBM Regatta "hanni" and "berni" of the
+HLRN. </p>
+<p style="line-height: 100%;">If certain routines of the
+model
+are to be debugged for errors, the complete source code of
+the model, including the user-defined code, must be compiled
+with special debug compiler options. For this purpose, at least the
+following three lines must be included in the <span style="font-weight: bold;">mrun </span>configuration
+file:<br>
+</p><p style="line-height: 100%;"><span style="font-family: Courier New,Courier,monospace;">%compiler_name&nbsp;&nbsp;&nbsp;&nbsp;
+mpxlf95_r&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;
+ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;">
+<span style="font-family: Courier New,Courier,monospace;">%fopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+:invalid::enable:-qsigtrap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;">
+<span style="font-family: Courier New,Courier,monospace;">%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+:invalid::enable:-qsigtrap:-lesslsmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ibmh parallel debug</span><br style="font-family: monospace;">
+<br></p>
+<p style="line-height: 100%;">(Attention: in the
+configuration file,
+the compiler and linker options (<span style="font-family: Courier New,Courier,monospace;">fopts
+</span>and<span style="font-family: Courier New,Courier,monospace;"> lopts</span>)
+must be
+written in one line without any blank space before and after the
+colons!)<br>
+</p><p style="line-height: 100%;">Using the compiler
+options "<span style="font-family: Courier New,Courier,monospace;">-g</span>"
+and "<span style="font-family: Courier New,Courier,monospace;">-C</span>",
+debugable code is created
+and check of array bounds is
+switched on during run time. Option "<span style="font-family: Courier New,Courier,monospace;">-qinitauto=FF</span>"
+initializes all
+automatic variables (unfortunately not the global values of modules) to
+NaN.The "<span style="font-family: Courier New,Courier,monospace;">-qflttrap</span>"
+and "<span style="font-family: Courier New,Courier,monospace;">-qsigtrap</span>"
+options are needed
+in order to terminate the run in case of any floating point errors
+(otherwise the run will not terminate and errors can hardly be
+detected).<br>
+</p><p style="line-height: 100%;">The <b>mrun
+</b>call for debugging
+needs
+an extended argument for the option<span style="font-family: Courier New,Courier,monospace;"> </span><font style="font-size: 10pt; font-family: Courier New,Courier,monospace;" size="2">-K</font>:</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">mrun
+... -K &ldquo;parallel debug&rdquo; -s &rdquo;*.f90" ... .</div><p style="line-height: 100%;">The argument of option<span style="font-family: Courier New,Courier,monospace;"> -s </span><span style="font-family: Courier New,Courier,monospace;"></span>must
+list all source code files of the default PALM code. </p>
+<p style="line-height: 100%;">After compiling, the
+debugger
+<b>TotalView</b> is automatically called by <span style="font-weight: bold;">mrun</span>. With its
+assistance the user
+has to start
+the program execution manually, to set breakpoints, etc.. User manuals
+of <b>TotalView</b> are available <a href="http://www.hlrn.de/doc/totalview/index.html">online</a>.
+</p><p style="line-height: 100%;">Program crashes
+caused by errors in the
+user-defined code should usually be found
+unassisted. If the termination point lies outside the user code (in the
+default model code), the PALM&nbsp;group can be asked for
+assistance, but please do not expect any quick response. It is
+emphasized again that error tracing and programming
+of
+user-defined code requires more or less precise knowledge of the
+internal structure of PALM (see beginning of <a href="chapter_3.5.html">chapter
+3.5</a>). <br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.5.5.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.7.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.7.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.7.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.7.html	(revision 393)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+
+  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
+  
+ 
+  <title>PALM chapter 3.7</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
+ 
+  <meta name="AUTHOR" content="Siegfried Raasch">
+ 
+  <meta name="CREATED" content="20040809;13460943">
+ 
+  <meta name="CHANGED" content="20041112;15085727">
+ 
+  <meta name="KEYWORDS" content="parallel LES model">
+ 
+  <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+  </style></head>
+
+<body style="direction: ltr;" lang="en-US">
+<h3 style="line-height: 100%;">3.7 Optional software packages</h3>
+
+<p style="line-height: 100%;">Starting from version 2.1
+PALM includes
+so-called software packages which can be used optionally. These
+software packages are part of the model, but they are not compiled with
+the default model
+installation (actually, the routines of the corresponding packages are
+compiled within the installation, but these subroutines are empty,
+i.e. they do not contain any executable statements). Thus the
+compilation time as well as the memory demand of the model is limited
+to the real needs. </p>
+
+<p style="line-height: 100%;">To use software packages in
+a model run,
+they must be requested with <b>mrun</b> option <tt><font style="font-size: 10pt;" size="2">-p</font>.</tt>
+Then the subroutines belonging to the respective package are
+additionally compiled for the run (and the respective restart
+runs; the filenames of these subroutines are also displayed on the
+terminal after <b>mrun</b> has been called). If one wants
+to use e.g.
+the two packages with the names
+<tt>package1</tt> and <tt>package2</tt>, then
+the <b>mrun</b> call
+has to be: </p>
+
+<ul>
+ 
+  <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">mrun ... -p
+&ldquo;package1 package2&rdquo; </font>.</tt></p>
+
+</ul>
+<p style="line-height: 100%;">Starting from version 3.2, the particles-package is part of the default model, so it does not have to be switched on using <span style="font-weight: bold;">mrun</span>-option <span style="font-family: Courier New,Courier,monospace;">-p</span>. However, the respective parameters have still to be set by using the NAMELIST group <span style="font-family: Courier New,Courier,monospace;">particles_par</span>.</p>
+<p style="line-height: 100%;">Further package
+names can be added to
+the list, separated by blanks. If the respective packages permit user
+steering, the appropriate parameters must be given at the end of
+the file <a href="chapter_3.4.html#PARIN">PARIN</a>.
+They must be given <b>before</b> possible user-defined
+parameters!
+Each package requires its own NAMELIST group. The respective NAMELIST
+group name is given in the table below. For the example above one
+would have to add the following lines to PARIN (example): &nbsp; </p>
+
+<ul>
+ 
+  <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">&amp;namelist_packagename1
+var1 = 1,0, var2 =
+&ldquo;abcd&rdquo; /</font></tt><font style="font-size: 10pt;" size="2"> </font> </p>
+
+  <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">&amp;namelist_packagename2
+var3 = .TRUE.,
+var4 = 0 /</font></tt></p>
+
+</ul>
+<p style="margin-bottom: 0cm; line-height: 100%;">The
+following
+packages are available: <br>
+
+&nbsp; <br>
+
+&nbsp; </p>
+
+<table border="1" cellpadding="2" cellspacing="2" width="100%">
+ <tbody>
+ <tr>
+ <td> 
+      <p><b>Package
+name:</b></p>
+ </td>
+ <td> 
+      <p><b>NAMELIST
+group name:</b></p>
+ </td>
+ <td> 
+      <p><b>Functionality:</b></p>
+
+      </td>
+ <td> 
+      <p><b>Control parameter:</b></p>
+
+      </td>
+ </tr>
+ <tr valign="top">
+ <td> 
+      <p>--- (see above)</p>
+
+      </td>
+ <td> 
+      <p>particles_par</p>
+ </td>
+ <td>
+      <p>Release and advection of particles. The particle sources can
+additionally be defined by the user in subroutine <tt><font style="font-size: 10pt;" size="2">user_init_particles</font></tt>
+.</p>
+ </td>
+ <td> 
+      <p>see section <a href="chapter_4.2.html#particle_parameters">4.2</a></p>
+
+      </td>
+ </tr>
+ <tr valign="top">
+ <td> 
+      <p>dvrp_graphics</p>
+
+      </td>
+ <td> 
+      <p>dvrp_graphics_par</p>
+ </td>
+
+      <td> 
+      <p>Graphical output with the dvrp software of the
+RRZN. This is
+only available on the IBM Regatta "hanni" of the HLRN. Possible output
+are iso-surfaces, cross-sections and particles (if the particle package
+is selected). The use of this package is described in section <a href="chapter_4.5.7.html">4.5.7</a>.</p>
+ </td>
+
+      <td> 
+      <p>see section <a href="chapter_4.2.html#dvrp_graphics">4.2</a></p>
+ </td>
+ </tr>
+
+    <tr valign="top">
+ <td> 
+      <p>spectra</p>
+ </td>
+
+      <td> 
+      <p>spectra_par</p>
+ </td>
+ <td> 
+      <p>Computation
+and output of horizontal power spectra of the
+prognostic variables. </p>
+ </td>
+ <td> 
+      <p>see
+section <a href="chapter_4.2.html#spectra">4.2</a></p>
+
+      </td>
+ </tr>
+ 
+  </tbody>
+</table>
+<hr>
+<p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_3.6.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.8.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="right.gif" name="Grafik3"></font></a></font></font></p>
+
+<p style="line-height: 100%;"><i>Last
+change:&nbsp;</i> $Id$</p>
+
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_3.8.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.8.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.8.html	(revision 393)
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
+	<TITLE>PALM chapter 3.8</TITLE>
+	<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0  (Unix)">
+	<META NAME="AUTHOR" CONTENT="Siegfried Raasch">
+	<META NAME="CREATED" CONTENT="20040809;13461000">
+	<META NAME="CHANGED" CONTENT="20090624;16024200">
+	<META NAME="KEYWORDS" CONTENT="parallel LES model">
+	<STYLE TYPE="text/css">
+	<!--
+		@page { size: 8.27in 11.69in }
+		P { color: #000000 }
+		H3 { color: #000000 }
+		PRE { color: #000000 }
+	-->
+	</STYLE>
+</HEAD>
+<BODY LANG="en-US" TEXT="#000000" DIR="LTR">
+<H3 STYLE="line-height: 100%">3.8 Coupled model runs</H3>
+<P STYLE="line-height: 100%">Starting from version 3.4 PALM allows
+coupled atmosphere-ocean model runs. If MPI-2 support is available, <B>mrun</B> starts the coupled model as two
+concurrent executables, the atmosphere version and&nbsp;the ocean
+version in analogy with the modular structure of PALM.</P>
+<P STYLE="line-height: 100%">Currently, the coupler is at an
+experimental stage using either a MPI2 (more flexible) or a MPI1
+intercommunicator that matches the atmosphere and ocean processors
+one-to-one. This approach has&nbsp;limited flexibility and
+performance, because it requires identical horizontal numerical grids
+and it uses the same number of atmosphere and ocean processors, which
+does not necessarily guarrantee a good load balancing.</P>
+<P STYLE="line-height: 100%">The coupler establishes a one-way
+interaction between the atmosphere and the ocean. The atmosphere
+sends its bottom surface fluxes (temperature, humidity, momentum) to
+the ocean. The ocean sends its top surface temperature to the
+atmosphere. The atmosphere assumes saturation of humidity and zero
+wind speed at its bottom surface. For calculations with <A HREF="chapter_4.1.html#humidity">humidity</A>
+= .T. the atmospheric evaporation leads to a salinity flux in the
+ocean (see e.g. Steinhorn 1991, JPO 21, p. 1681).</P>
+<P STYLE="line-height: 100%">If the full MPI-2 standard is available,
+it can be activated by adding the preprocessor directive <TT><FONT SIZE=2>-D__mpi2</FONT></TT>
+to <TT><FONT SIZE=2>cpp_options</FONT></TT> in the .mrun.config
+configuration file. Otherwise, PALM will use a coupling via MPI1. To
+start a coupled&nbsp;model run, this must be requested with the <B>mrun</B>
+option <TT><FONT SIZE=2>-Y â#1 #2â</FONT></TT>,
+where </TT><TT><FONT FACE="Andale Mono"><FONT SIZE=2>#1</FONT></FONT></TT>
+is the number of processors for the atmospheric and </FONT></FONT></TT><FONT FACE="Andale Mono"><FONT SIZE=2>#2</FONT></FONT></TT>
+the number of processors for the oceanic version of PALM (Please note
+that currently only one-to-one topologies are supported and </FONT></FONT></TT><TT><FONT FACE="Andale Mono"><FONT SIZE=2>#1</FONT></FONT></TT>
+must be equal to </FONT></FONT></TT><TT><FONT FACE="Andale Mono"><FONT SIZE=2>#2</FONT></FONT></TT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>).
+</FONT></FONT></TT><FONT FACE="Times New Roman, serif"><FONT SIZE=3></FONT></FONT>This
+tells <B>mrun</B> to start two PALM executables. Coupled runs are
+only possible in parallel mode, which means that the <B>mrun</B>
+option <TT><FONT SIZE=2>-K parallel</FONT></TT> must also be set.&nbsp;The
+<B>mrun</B> call for coupled runs has to include the following
+coupling-related options: 
+</P>
+<UL>
+	<P STYLE="line-height: 100%"><TT><FONT SIZE=2>mrun </FONT></TT><FONT SIZE=2>...</FONT><TT>
+	</TT><TT><FONT SIZE=2>-K parallel -r âd3# d3o# </FONT></TT><FONT SIZE=2>...</FONT><TT>â
+	</TT><TT><FONT SIZE=2>-X </FONT></TT><FONT SIZE=2>...</FONT><TT> </TT><TT><FONT SIZE=2>-Y
+	â#1 #2â</FONT></TT><TT>.</TT></P>
+</UL>
+<P STYLE="line-height: 100%">The <TT><FONT SIZE=2>-X </FONT></TT><FONT SIZE=2>...</FONT><TT>&nbsp;</TT>option
+here specifies the total number of processors assigned to the coupled
+model. Currently, half of them are assigned to each of the two
+coupled executables. Therefore it is advisable to specify an even
+number with&nbsp;<TT><FONT SIZE=2>-X </FONT></TT><FONT SIZE=2>...</FONT><TT>
+</TT>. Otherwise, in case of an odd total number of processors, one
+processor remains idle.</P>
+<P STYLE="line-height: 100%">Each coupled executable has its own,
+unique set of I/O filenames; <A HREF="chapter_3.4.html#coupled">chapter
+3.4</A> gives information on file name conventions of coupled runs.
+The configuration file .mrun.config has to be extended for coupled
+runs. It is recommended to duplicate existing file connection
+identifiers such as &quot;d3#&quot;, &quot;pr#&quot; etc. using the
+coupled ocean filenames accordingly. For example,&nbsp;the example of
+the previous chapters could be duplicated as follows:</P>
+<PRE STYLE="line-height: 100%"><A HREF="chapter_3.4.html#PARIN"><FONT SIZE=2>PARIN</FONT></A> <FONT SIZE=2>in:job:npe d3# ~/palm/current_version/JOBS/$fname/INPUT _p3d</FONT>
+<FONT SIZE=2>PARIN in:job:npe d3f ~/palm/current_version/JOBS/$fname/INPUT _p3df</FONT>
+<A HREF="chapter_3.4.html#BININ"><FONT SIZE=2>BININ</FONT></A> <FONT SIZE=2>in:loc d3f ~/palm/current_version/JOBS/$fname/OUTPUT _d3d</FONT>
+<FONT SIZE=2>#</FONT>
+<A HREF="chapter_3.4.html#BINOUT"><FONT SIZE=2>BINOUT</FONT></A> <FONT SIZE=2>out:loc restart ~/palm/current_version/JOBS/$fname/OUTPUT _d3d</FONT>
+<FONT SIZE=2>#</FONT>
+<A HREF="chapter_3.4.html#RUN_CONTROL"><FONT SIZE=2>RUN_CONTROL</FONT></A> <FONT SIZE=2>out:loc:tr d3# ~/palm/current_version/JOBS/$fname/MONITORING _rc</FONT>
+<A HREF="chapter_3.4.html#HEADER"><FONT SIZE=2>HEADER</FONT></A> <FONT SIZE=2>out:loc:tr d3# ~/palm/current_version/JOBS/$fname/MONITORING _header</FONT>
+<A HREF="chapter_3.4.html#PLOT1D_PAR"><FONT SIZE=2>PLOT1D_PAR</FONT></A> <FONT SIZE=2>out:loc:tr pr# ~/palm/current_version/JOBS/$fname/OUTPUT _pr_par</FONT>
+<A HREF="chapter_3.4.html#PLOT1D_DATA"><FONT SIZE=2>PLOT1D_DATA</FONT></A> <FONT SIZE=2>out:loc:tr pr# ~/palm/current_version/JOBS/$fname/OUTPUT _pr_in</FONT>
+<FONT SIZE=2>#</FONT>
+<FONT SIZE=2>PARIN</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> in:job:npe d3</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2># ~/palm/current_version/JOBS/$fname/INPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_p3d</FONT>
+<FONT SIZE=2>PARIN</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> in:job:npe d3</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2>f ~/palm/current_version/JOBS/$fname/INPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_p3df</FONT>
+<FONT SIZE=2>BININ</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> in:loc d3</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2>f ~/palm/current_version/JOBS/$fname/OUTPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_d3d</FONT>
+<FONT SIZE=2>#</FONT>
+<FONT SIZE=2>BINOUT</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> out:loc restart ~/palm/current_version/JOBS/$fname/OUTPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_d3d</FONT>
+<FONT SIZE=2>#</FONT>
+<FONT SIZE=2>RUN_CONTROL</FONT><FONT SIZE=2><B>_O</B></FONT> <FONT SIZE=2>out:loc:tr d3</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2># ~/palm/current_version/JOBS/$fname/MONITORING </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_rc</FONT>
+<FONT SIZE=2>HEADER</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> out:loc:tr d3</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2># ~/palm/current_version/JOBS/$fname/MONITORING </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_header</FONT>
+<FONT SIZE=2>PLOT1D_PAR</FONT><FONT SIZE=2><B>_O</B></FONT> <FONT SIZE=2>out:loc:tr pr</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2># ~/palm/current_version/JOBS/$fname/OUTPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_pr_par</FONT>
+<FONT SIZE=2>PLOT1D_DATA</FONT><FONT SIZE=2><B>_O</B></FONT><FONT SIZE=2> out:loc:tr pr</FONT><FONT SIZE=2><B>o</B></FONT><FONT SIZE=2># ~/palm/current_version/JOBS/$fname/OUTPUT </FONT><FONT SIZE=2><B>_o</B></FONT><FONT SIZE=2>_pr_in</FONT></PRE><P STYLE="line-height: 100%">
+The coupled ocean model filenames in the first column (e.g.
+<A HREF="chapter_3.4.html#PARIN"><FONT SIZE=2>PARIN_O</FONT></A>)&nbsp;must
+be specified as given in <A HREF="chapter_3.4.html#coupled">chapter
+3.4</A>; the file connection identifiers (e.g.&nbsp; <FONT SIZE=2>d3o#</FONT>)
+and the file name extension (e.g. &nbsp;<FONT SIZE=2>_o_p3d</FONT>)
+may be changed at the user's discretion.</P>
+<P STYLE="line-height: 100%">The coupler requires the following
+parameters to be equal in both <A HREF="chapter_3.4.html#PARIN"><FONT SIZE=2>PARIN</FONT></A>
+and&nbsp;<A HREF="chapter_3.4.html#PARIN"><FONT SIZE=2>PARIN_O</FONT></A>:
+<A HREF="chapter_4.1.html#dx">dx</A>, <A HREF="chapter_4.1.html#dy">dy</A>,
+<A HREF="chapter_4.1.html#nx">nx</A>, <A HREF="chapter_4.1.html#ny">ny</A>,
+<A HREF="chapter_4.2.html#dt_coupling">dt_coupling</A>, <A HREF="chapter_4.2.html#end_time">end_time</A>,
+<A HREF="chapter_4.2.html#restart_time">restart_time</A>, <A HREF="chapter_4.2.html#dt_restart">dt_restart</A>.
+In the coupled atmosphere executable,&nbsp;<A HREF="chapter_4.2.html#bc_pt_b">bc_pt_b</A>
+is internally set and does not need to be prescribed; in the coupled
+ocean executable, <A HREF="chapter_4.2.html#bc_uv_t">bc_uv_t</A>&nbsp;is
+internally set ('neumann') and does not need to be prescribed. The
+coupled ocean parameter file&nbsp;<A HREF="chapter_3.4.html#PARIN"><FONT SIZE=2>PARIN_O</FONT></A>
+should include dummy REAL value assignments to both
+<A HREF="chapter_4.1.html#top_momentumflux_u">top_momentumflux_u</A>
+and&nbsp;<A HREF="chapter_4.1.html#top_momentumflux_v">top_momentumflux_v</A>
+(e.g.&nbsp;top_momentumflux_u = 0.0, top_momentumflux_v = 0.0) to
+enable the momentum flux coupling.</P>
+<P STYLE="line-height: 100%">The coupling interval <A HREF="chapter_4.2.html#dt_coupling">dt_coupling</A>
+must be explicity set. In order to ensure synchronous coupling
+throughout the simulation, <A HREF="chapter_4.2.html#dt_coupling">dt_coupling</A>
+should be chosen larger than <A HREF="chapter_4.2.html#dt_max">dt_max</A>.</P>
+<P STYLE="line-height: 100%">It's also possible to perform precursor
+runs (one atmospheric and one oceanic) followed by a coupled restart
+run. In order to achieve this, the parameter <A HREF="chapter_4.1.html#coupling_start_time">coupling_time_start</A>
+must be set according to the <A HREF="../misc/precursor_run_control.pdf">documentation.</A></P>
+<HR>
+<P STYLE="line-height: 100%"><BR><FONT COLOR="#000080"><A HREF="chapter_3.7.html"><FONT COLOR="#000000"><IMG SRC="left.gif" NAME="Grafik1" ALIGN=BOTTOM WIDTH=32 HEIGHT=32 BORDER=1></FONT></A><A HREF="index.html"><FONT COLOR="#000080"><IMG SRC="up.gif" NAME="Grafik2" ALIGN=BOTTOM WIDTH=32 HEIGHT=32 BORDER=1></FONT></A><A HREF="chapter_3.9.html"><FONT COLOR="#000000"><IMG SRC="right.gif" NAME="Grafik3" ALIGN=BOTTOM WIDTH=32 HEIGHT=32 BORDER=1></FONT></A></FONT></P>
+<P STYLE="line-height: 100%"><I>Last change:&nbsp;</I> $Id:
+chapter_3.8.html 197 2008-09-16 15:29:03Z raasch $</P>
+</BODY>
+</HTML>
Index: palm/tags/release-3.7/DOC/app/chapter_3.9.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_3.9.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_3.9.html	(revision 393)
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+
+  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
+  
+
+
+  <title>PALM chapter 3.9</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
+
+  <meta name="AUTHOR" content="Siegfried Raasch">
+
+  <meta name="CREATED" content="20040809;13460943">
+
+  <meta name="CHANGED" content="20041112;15085727">
+
+  <meta name="KEYWORDS" content="parallel LES model">
+
+  <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+  </style></head>
+<body style="direction: ltr;" lang="en-US">
+
+<h3 style="line-height: 100%;">3.9 Setup for turbulent inflow</h3>
+
+<p style="line-height: 100%;">Starting from version 3.5
+PALM includes a so-called turbulence recycling method which allows a
+turbulent inflow with non-cyclic horizontal boundary conditions. The
+method follows the one described by Lund et al. (1998, J. Comp. Phys., <span style="font-weight: bold;">140</span>, 233-258), modified by Kataoka and Mizuno (2002, Wind and Structures, <span style="font-weight: bold;">5</span>, 379-392). The method is switched on by setting the initial parameter <a href="chapter_4.1.html#turbulent_inflow">turbulent_inflow</a> = <span style="font-style: italic;">.TRUE.</span>.</p><p style="line-height: 100%;">The turbulent signal A'(y,z) to be imposed at the left inflow boundary is taken from the same simulation at a fixed distance x<sub>r</sub> from the inflow (given by parameter <a href="chapter_4.1.html#recycling_width">recycling_width</a>): A'(y,z) = A(x<sub>r</sub>,y,z) - <span style="font-weight: bold;">A(z)</span>, where <span style="font-weight: bold;">A(z)</span>
+is the horizontal average between the inflow boundary and the recycling
+plane. The turbulent quantity A'(y,z) is then added to a mean inflow
+profile a(z) which is the horizontal (and temporal) average as
+calculated from a precursor run. This is done after each timestep.</p><p style="line-height: 100%; font-weight: bold;">So far (09/16/08), a turbulent signal is imposed to all prognostic variables except humidity (passive scalar) and salinity!</p><p style="line-height: 100%;">In
+order to avoid a continous growth of the turbulent layer with time, the
+height up to which turbulence is recycled is limited by parameter <a href="chapter_4.1.html#inflow_damping_height">inflow_damping_height</a>. By default, this height is calculated and taken from the precursor run. </p>The following tries to give a short recipe about how to create a proper setup for using the turbulence recycling method:<br><br><ul><li>A
+precursor run with cyclic horizontal boundary conditions has to be
+carried out in order to create a (quasi-) stationary state. Since the
+horizontal average from this precursor run is used as the mean inflow
+profile for the main run, <span style="font-weight: bold;">the
+wall-normal velocity component must point
+into the domain at every grid point and its magnitude should be large
+enough in order to guarantee an inflow even if a turbulence signal is
+added</span>.<br></li><li>The
+main run requires&nbsp;from the precursor run&nbsp;the mean profiles to
+be used at the inflow. For this, the horizontally and temporally
+averaged mean profiles as provided with the standard PALM output are
+used. The user has to set parameters <a href="chapter_4.2.html#dt_data_output_pr">dt_data_output_pr</a>, <a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+etc. for the precursor run appropriately, so that an output is done <span style="font-weight: bold;">at
+the end</span> of the precursor run. The profile information is then contained
+in the restart (binary) file created at the end of the precursor run
+and can be used by the main run. <span style="font-weight: bold;">It is very important that the mean profiles at the end of the precursor run are in a stationary or quasi-stationary state</span>, because otherwise it may not be justified to use them as constant profiles at the inflow. <span style="font-weight: bold;">Also, turbulence at the end of the precursor run should be fully developed. </span>Otherwise, the main run would need an additional spinup-time at the beginning to get the turbulence to its final stage.<br></li><li>In order to read the binary data from the precursor run, parameter <a href="chapter_4.1.html#initializing_actions">initializing_actions</a> = <span style="font-style: italic;">'cyclic_fill'</span> has to be set in the main run. &nbsp; .... &nbsp;
+&nbsp; set bc_lr = 'dirichlet/radiation' ... &nbsp;
+conserve_volume_flow = .TRUE. ? ....</li><li>The main run allows to use a larger domain along x and y than in the precursor run ...</li><li>Recycling width should be equal to the domain size of the precursor run (or larger?)</li></ul><pre style="line-height: 100%;"><font style="font-size: 10pt;" size="2">#</font><br><font style="font-size: 10pt;" size="2">RUN_CONTROL<span style="font-weight: bold;">_O</span></font><font style="font-size: 10pt;" size="2"> out:loc:tr d3<span style="font-weight: bold;">o</span># ~/palm/current_version/JOBS/$fname/MONITORING <span style="font-weight: bold;">_</span></font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">o</span>_</font><font style="font-size: 10pt;" size="2">rc</font><br><font style="font-size: 10pt;" size="2">HEADER</font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">_O</span> out:loc:tr d3<span style="font-weight: bold;">o</span># ~/palm/current_version/JOBS/$fname/MONITORING <span style="font-weight: bold;">_</span></font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">o</span>_</font><font style="font-size: 10pt;" size="2">header</font><br><font style="font-size: 10pt;" size="2">PLOT1D_PAR<span style="font-weight: bold;">_O</span></font><font style="font-size: 10pt;" size="2"> out:loc:tr pr<span style="font-weight: bold;">o</span># ~/palm/current_version/JOBS/$fname/OUTPUT <span style="font-weight: bold;">_</span></font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">o</span>_</font><font style="font-size: 10pt;" size="2">pr_par</font><br><font style="font-size: 10pt;" size="2">PLOT1D_DATA</font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">_O</span> out:loc:tr pr<span style="font-weight: bold;">o</span># ~/palm/current_version/JOBS/$fname/OUTPUT <span style="font-weight: bold;">_</span></font><font style="font-size: 10pt;" size="2"><span style="font-weight: bold;">o</span>_</font><font style="font-size: 10pt;" size="2">pr_in</font><br></pre><br><hr>
+<p style="line-height: 100%;"><br>
+
+<font color="#000080"><font color="#000080"><a href="chapter_3.8.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="left.gif" name="Grafik1"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.0.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="right.gif" name="Grafik3"></font></a></font></font></p>
+
+<p style="line-height: 100%;"><i>Last
+change:&nbsp;</i> $Id$</p>
+
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.0.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.0.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.0.html	(revision 393)
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+
+
+  
+  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
+
+  
+ 
+  
+  <title>PALM chapter 4.0</title>
+  <meta name="GENERATOR" content="StarOffice 7 (Win32)">
+
+ 
+  
+  <meta name="AUTHOR" content="Siegfried Raasch">
+
+ 
+  
+  <meta name="CREATED" content="20040809;14214479">
+
+ 
+  
+  <meta name="CHANGED" content="20041112;15151993">
+
+ 
+  
+  <meta name="KEYWORDS" content="parallel LES model">
+
+ 
+  
+  <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+  </style>
+</head>
+
+
+<body style="direction: ltr;" lang="en-US">
+
+<h2 style="line-height: 100%;"><font size="4">4.0
+Steering parameters</font></h2>
+
+
+<p style="line-height: 100%;">Before carrying out a model
+run, the user
+has to /determine/ a data set - the model parameters - e.g. how
+many grid points are to be used, how large the horizontal and
+vertical grid spacing should be, which kind of boundary conditions are
+to be used for the individual variables, which numerical schemes
+implemented in the model are to be used, how long the simulated time
+should be, at which times and points plot output are supposed to be
+made, etc. <br>
+
+
+</p>
+
+<p style="line-height: 100%;">These data are
+assigned with the help of
+so-called&nbsp;&ldquo;NAMELIST-driven input&rdquo; (FORTRAN -
+NAMELIST &ndash;
+input). The chosen values of the model parameters are
+written
+into an ASCII file with fixed format, which is expected by the model as
+an input
+file under the local name <a href="chapter_3.4.html#PARIN">PARIN</a>.
+On this file the parameters are represented by their variable names
+they have in the model. These parameters can be assigned one or more
+values, depending on the type and size the variable has. The following
+example shows the format of the file
+PARIN: <br>
+
+
+&nbsp; </p>
+
+
+<ul>
+
+ 
+  
+  <p style="line-height: 100%; font-family: monospace;">&amp;inipar
+nx
+= 79, ny = 79, nz = 40, <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+dx = 50.0, dy = 50.0, dz =
+50.0, <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+initializing_actions =
+"set_1d-model_profiles", <br>
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+prandtl_layer = .TRUE.,/ </p>
+
+ 
+  
+  <p style="line-height: 100%; font-family: monospace;">&amp;d3par&nbsp;
+end_time = 9000.0, section_xy = 1, 10, 20,/ </p>
+
+ 
+  
+  <p style="line-height: 100%; font-family: monospace;">&amp;packagename
+var1 = .TRUE. / </p>
+
+ 
+  
+  <p style="line-height: 100%;"><span style="font-family: monospace;">&amp;userpar
+abcd = 1234,0,/ </span><br>
+
+
+&nbsp; <br>
+
+
+&nbsp;</p>
+
+
+</ul>
+
+<p style="line-height: 100%;">The parameters
+are separated into four
+different groups which all start with the so-called NAMELIST group
+names.
+These are <span style="font-family: monospace;">&amp;inipar</span>,
+<span style="font-family: monospace;">&amp;d3par</span>
+and <span style="font-family: monospace;">&amp;packagename</span>
+as well as <span style="font-family: monospace;">&amp;userpar</span>.
+In each case a
+group is terminated with one backslash ("/"). Between the beginning of
+the line and the group name at least one blank has to be typed. Between
+the
+group names and the "/", the
+values are assigned to the variables. The example shows that in
+principle all FORTRAN data types are allowed. For more details
+concerning the NAMELIST syntax, refer to
+appropriate FORTRAN manuals. <br>
+
+
+</p>
+
+<p style="line-height: 100%;">Parameters
+belonging to the group <span style="font-family: monospace;">inipar</span>
+are first read by PALM.
+These are the initialization parameters. Second, the so-called run
+parameters belonging to the group <span style="font-family: monospace;">d3par</span>
+are read in, then the parameters for steering the optional software
+packages (group <span style="font-family: monospace;">packagename,</span>
+the string <span style="font-family: monospace;">"packagename"</span>
+must be replaced by the NAMELIST
+group name of the respective package) as well as user-defined
+parameters
+(group <span style="font-family: monospace;">userpar</span>).
+The four
+groups must be given in this order, the last groups, <span style="font-family: monospace;">packagename</span> and
+<span style="font-family: monospace;">userpar</span>,
+may
+be omitted. If several software packages are selected
+(see chapter <a href="chapter_3.7.html">3.7</a>),
+further NAMELIST groups may be inserted before the group <span style="font-family: monospace;">userpar</span>.
+</p>
+
+<p style="line-height: 100%;"><b>The
+initialization, run</b> and
+<b>package parameters</b> differ as follows: </p>
+
+
+<ul>
+
+ <li> 
+    
+    <p style="margin-bottom: 0cm; line-height: 100%;">The <b>initialization
+parameters </b>are steering the basic settings of the model run.
+They
+define e.g. the number of the grid points, the numerical schemes to be
+used, initial and boundary conditions to be applied, how the
+three-dimensional fields are initialized at the beginning of a model
+run (constant&nbsp; value profiles or 1D-model-pre-run, the initial
+temperature profile etc.). These parameters apply to the total model
+run and thus can not be changed with restart runs! If one tries to
+change these values within the NAMELIST input file of a restart run,
+then these changes are ignored (sole exception is the parameter <a style="font-family: monospace;" href="chapter_4.1.html#initializing_actions">initializing_actions</a><font style="font-size: 10pt;" size="2">, </font>which
+must be given the
+value<span style="font-family: thorndale,serif,mon;"> </span><span style="font-family: monospace; font-style: italic;">read_restart_data</span><span style="font-family: thorndale,serif,mon;"> for </span>restart
+runs). <br>
+
+
+&nbsp; </p>
+
+ </li>
+
+ <li> 
+    
+    <p style="margin-bottom: 0cm; line-height: 100%;">The <b>run
+parameters</b> are generally steering actions to be carried out
+during
+a model run. One can select for example, at which times plot output
+should happen and which variables are to be written. Additionally one
+can (and must) specify the time to be simulated. Run parameters only
+apply to the actual run (job) and with each restart run other values
+may be declared (if runs are restarted automatically, parameters will
+usually keep their values, provided that the NAMELIST input file was
+not changed by the user in the meantime). <br>
+
+
+&nbsp; </p>
+
+ </li>
+
+ <li> 
+    
+    <p style="line-height: 100%;"><b>Package parameters</b>
+behave like <b>run parameters</b>. Package parameters
+determine the behavior of
+the additional (not user-defined) software packages . </p>
+
+ </li>
+
+
+</ul>
+
+<p style="line-height: 100%;">The user-defined
+parameters are assigned
+by the user within the NAMELIST group name <tt>&amp;userpar</tt>
+(see <a href="chapter_3.5.2.html">chapter
+3.5.2</a>). They steer actions programmed by the user. By
+default,
+this group has only one parameter (<a href="chapter_4.3.html#region">region</a>).
+If the
+user don't want to assign any values to the user-defined&nbsp;
+parameters, the group<span style="font-family: monospace;">
+userpar
+</span>may be omitted. The group name <span style="font-family: monospace;">&amp;userpar</span>
+can be changed by the user in the user-defined code. In
+addition to this, further NAMELIST groups may also be declared (all
+within routine <span style="font-family: monospace;">user_parin</span>
+in file <span style="font-family: monospace;">user_interface.f90</span>).
+<a href="chapter_4.4.1.html">Chapter
+4.4.1</a> shows a simple but complete example of the input file
+PARIN.
+This example file can be used together with the configuration file
+(described in <a href="chapter_3.2.html">chapter
+3.2</a>) for the execution of a model test run. </p>
+
+
+<p style="line-height: 100%;">PALM assigns default
+values to nearly all parameters. They become effective
+if no other assignments are given in the parameter file. These
+default values as well as the parameter name, type and its
+explanation are described in the lists of the following subsections. <br>
+
+
+&nbsp; </p>
+
+
+<hr>
+<p style="line-height: 100%;"><br>
+
+
+<font color="#000080"><font color="#000080"><a href="chapter_3.8.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="left.gif" name="Grafik1"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.1.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font><br>
+
+&nbsp;
+<br>
+
+
+&nbsp;<span style="font-style: italic;">Last change:</span>
+$Id$<br>
+
+
+</p>
+
+</body>
+</html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.1.html	(revision 393)
@@ -0,0 +1,17094 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+
+
+
+
+
+
+  
+  
+  
+  
+  
+  
+  <title>PALM chapter 4.1</title></head>
+<body>
+
+
+
+
+
+
+<h3><a name="chapter4.1"></a>4.1
+Initialization parameters</h3>
+
+
+
+
+
+
+
+<br>
+
+
+
+
+
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+
+
+ <tbody>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><font size="4"><b>Parameter name</b></font></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><b><font size="4">Default</font></b> <br>
+
+
+
+
+
+
+ <b><font size="4">value</font></b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Explanation</b></font></td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="adjust_mixing_length"></a><b>adjust_mixing_length</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Near-surface adjustment of the
+mixing length to the Prandtl-layer law.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Usually
+the mixing length in LES models l<sub>LES</sub>
+depends (as in PALM) on the grid size and is possibly restricted
+further in case of stable stratification and near the lower wall (see
+parameter <a href="#wall_adjustment">wall_adjustment</a>).
+With <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span>
+the Prandtl' mixing length l<sub>PR</sub> = kappa * z/phi
+is calculated
+and the mixing length actually used in the model is set l = MIN (l<sub>LES</sub>,
+l<sub>PR</sub>). This usually gives a decrease of the
+mixing length at
+the bottom boundary and considers the fact that eddy sizes
+decrease in the vicinity of the wall.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;"><b>Warning:</b> So
+far, there is
+no good experience with <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span> !&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>With <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span> and the
+Prandtl-layer being
+switched on (see <a href="#prandtl_layer">prandtl_layer</a>)
+      <span style="font-style: italic;">'(u*)** 2+neumann'</span>
+should always be set as the lower boundary condition for the TKE (see <a href="#bc_e_b">bc_e_b</a>),
+otherwise the near-surface value of the TKE is not in agreement with
+the Prandtl-layer law (Prandtl-layer law and Prandtl-Kolmogorov-Ansatz
+should provide the same value for K<sub>m</sub>). A warning
+is given,
+if this is not the case.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="alpha_surface"></a><b>alpha_surface</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Inclination of the model domain
+with respect to the horizontal (in degrees).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">By means of <b>alpha_surface</b>
+the model domain can be inclined in x-direction with respect to the
+horizontal. In this way flows over inclined surfaces (e.g. drainage
+flows, gravity flows) can be simulated. In case of <b>alpha_surface
+      </b>/= <span style="font-style: italic;">0</span>
+the buoyancy term
+appears both in
+the equation of motion of the u-component and of the w-component.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">An inclination
+is only possible in
+case of cyclic horizontal boundary conditions along x AND y (see <a href="#bc_lr">bc_lr</a>
+and <a href="#bc_ns">bc_ns</a>) and <a href="#topography">topography</a> = <span style="font-style: italic;">'flat'</span>. </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Runs with inclined surface still require additional
+user-defined code as well as modifications to the default code. Please
+ask the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/PALM_group.html#0">PALM
+developer&nbsp; group</a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_e_b"></a><b>bc_e_b</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+TKE.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><b>bc_e_b</b> may be
+set to&nbsp;<span style="font-style: italic;">'neumann'</span>
+or <span style="font-style: italic;">'(u*) ** 2+neumann'</span>.
+      <b>bc_e_b</b>
+= <span style="font-style: italic;">'neumann'</span>
+yields to
+e(k=0)=e(k=1) (Neumann boundary condition), where e(k=1) is calculated
+via the prognostic TKE equation. Choice of <span style="font-style: italic;">'(u*)**2+neumann'</span>
+also yields to
+e(k=0)=e(k=1), but the TKE at the Prandtl-layer top (k=1) is calculated
+diagnostically by e(k=1)=(us/0.1)**2. However, this is only allowed if
+a Prandtl-layer is used (<a href="#prandtl_layer">prandtl_layer</a>).
+If this is not the case, a warning is given and <b>bc_e_b</b>
+is reset
+to <span style="font-style: italic;">'neumann'</span>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">At the top
+boundary a Neumann
+boundary condition is generally used: (e(nz+1) = e(nz)).</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_lr"></a><b>bc_lr</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'cyclic'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Boundary
+condition along x (for all quantities).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+By default, a cyclic boundary condition is used along x.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      <span style="font-weight: bold;">bc_lr</span> may
+also be
+assigned the values <span style="font-style: italic;">'dirichlet/radiation'</span>
+(inflow from left, outflow to the right) or <span style="font-style: italic;">'radiation/dirichlet'</span>
+(inflow from
+right, outflow to the left). This requires the multi-grid method to be
+used for solving the Poisson equation for perturbation pressure (see <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">psolver</a>)
+and it also requires cyclic boundary conditions along y (see&nbsp;<a href="#bc_ns">bc_ns</a>).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+In case of these non-cyclic lateral boundaries, a Dirichlet condition
+is used at the inflow for all quantities (initial vertical profiles -
+see <a href="#initializing_actions">initializing_actions</a>
+- are fixed during the run) except u, to which a Neumann (zero
+gradient) condition is applied. At the outflow, a radiation condition is used for all velocity components, while a Neumann (zero
+gradient) condition is used for the scalars. For perturbation
+pressure Neumann (zero gradient) conditions are assumed both at the
+inflow and at the outflow.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+When using non-cyclic lateral boundaries, a filter is applied to the
+velocity field in the vicinity of the outflow in order to suppress any
+reflections of outgoing disturbances (see <a href="#km_damp_max">km_damp_max</a>
+and <a href="#outflow_damping_width">outflow_damping_width</a>).<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+In order to maintain a turbulent state of the flow, it may be
+neccessary to continuously impose perturbations on the horizontal
+velocity field in the vicinity of the inflow throughout the whole run.
+This can be switched on using <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#create_disturbances">create_disturbances</a>.
+The horizontal range to which these perturbations are applied is
+controlled by the parameters <a href="#inflow_disturbance_begin">inflow_disturbance_begin</a>
+and <a href="#inflow_disturbance_end">inflow_disturbance_end</a>.
+The vertical range and the perturbation amplitude are given by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_level_b</a>,
+      <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_level_t</a>,
+and <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_amplitude</a>.
+The time interval at which perturbations are to be imposed is set by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#dt_disturb">dt_disturb</a>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+In case of non-cyclic horizontal boundaries <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#call_psolver_at_all_substeps">call_psolver
+at_all_substeps</a> = .T. should be used.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+
+
+Using non-cyclic lateral boundaries requires very sensitive adjustments
+of the inflow (vertical profiles) and the bottom boundary conditions,
+e.g. a surface heating should not be applied near the inflow boundary
+because this may significantly disturb the inflow. Please check the
+model results very carefully.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_ns"></a><b>bc_ns</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'cyclic'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Boundary
+condition along y (for all quantities).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+By default, a cyclic boundary condition is used along y.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      <span style="font-weight: bold;">bc_ns</span> may
+also be
+assigned the values <span style="font-style: italic;">'dirichlet/radiation'</span>
+(inflow from rear ("north"), outflow to the front ("south")) or <span style="font-style: italic;">'radiation/dirichlet'</span>
+(inflow from front ("south"), outflow to the rear ("north")). This
+requires the multi-grid
+method to be used for solving the Poisson equation for perturbation
+pressure (see <a href="chapter_4.2.html#psolver">psolver</a>)
+and it also requires cyclic boundary conditions along x (see<br>
+
+
+
+
+
+
+ <a href="#bc_lr">bc_lr</a>).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+In case of these non-cyclic lateral boundaries, a Dirichlet condition
+is used at the inflow for all quantities (initial vertical profiles -
+see <a href="chapter_4.1.html#initializing_actions">initializing_actions</a>
+- are fixed during the run) except u, to which a Neumann (zero
+gradient) condition is applied. At the outflow, a radiation condition is used for all velocity components, while a Neumann (zero
+gradient) condition is used for the scalars. For perturbation
+pressure Neumann (zero gradient) conditions are assumed both at the
+inflow and at the outflow.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+For further details regarding non-cyclic lateral boundary conditions
+see <a href="#bc_lr">bc_lr</a>.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_p_b"></a><b>bc_p_b</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+perturbation pressure.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed values
+are <span style="font-style: italic;">'dirichlet'</span>,
+      <span style="font-style: italic;">'neumann'</span>
+and <span style="font-style: italic;">'neumann+inhomo'</span>.&nbsp;
+      <span style="font-style: italic;">'dirichlet'</span>
+sets
+p(k=0)=0.0,&nbsp; <span style="font-style: italic;">'neumann'</span>
+sets p(k=0)=p(k=1). <span style="font-style: italic;">'neumann+inhomo'</span>
+corresponds to an extended Neumann boundary condition where heat flux
+or temperature inhomogeneities near the
+surface (pt(k=1))&nbsp; are additionally regarded (see Shen and
+LeClerc
+(1995, Q.J.R. Meteorol. Soc.,
+1209)). This condition is only permitted with the Prandtl-layer
+switched on (<a href="#prandtl_layer">prandtl_layer</a>),
+otherwise the run is terminated.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Since
+at the bottom boundary of the model the vertical
+velocity
+disappears (w(k=0) = 0.0), the consistent Neumann condition (<span style="font-style: italic;">'neumann'</span> or <span style="font-style: italic;">'neumann+inhomo'</span>)
+dp/dz = 0 should
+be used, which leaves the vertical component w unchanged when the
+pressure solver is applied. Simultaneous use of the Neumann boundary
+conditions both at the bottom and at the top boundary (<a href="#bc_p_t">bc_p_t</a>)
+usually yields no consistent solution for the perturbation pressure and
+should be avoided.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_p_t"></a><b>bc_p_t</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the
+perturbation pressure.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Allowed values are <span style="font-style: italic;">'dirichlet'</span>
+(p(k=nz+1)= 0.0) or <span style="font-style: italic;">'neumann'</span>
+(p(k=nz+1)=p(k=nz)).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Simultaneous use
+of Neumann boundary conditions both at the
+top and bottom boundary (<a href="#bc_p_b">bc_p_b</a>)
+usually yields no consistent solution for the perturbation pressure and
+should be avoided. Since at the bottom boundary the Neumann
+condition&nbsp; is a good choice (see <a href="#bc_p_b">bc_p_b</a>),
+a Dirichlet condition should be set at the top boundary.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_pt_b"></a><b>bc_pt_b</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C*20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+potential temperature.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed values
+are <span style="font-style: italic;">'dirichlet'</span>
+(pt(k=0) = const. = <a href="#pt_surface">pt_surface</a>
++ <a href="#pt_surface_initial_change">pt_surface_initial_change</a>;
+the user may change this value during the run using user-defined code)
+and <span style="font-style: italic;">'neumann'</span>
+(pt(k=0)=pt(k=1)).&nbsp; <br>
+
+
+
+
+
+
+
+When a constant surface sensible heat flux is used (<a href="#surface_heatflux">surface_heatflux</a>), <b>bc_pt_b</b>
+= <span style="font-style: italic;">'neumann'</span>
+must be used, because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>In the <a href="chapter_3.8.html">coupled</a> atmosphere executable,&nbsp;<a href="chapter_4.2.html#bc_pt_b">bc_pt_b</a> is internally set and does not need to be prescribed.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="pc_pt_t"></a><b>bc_pt_t</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'initial_ gradient'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the
+potential temperature.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed are the
+values <span style="font-style: italic;">'dirichlet' </span>(pt(k=nz+1)
+does not change during the run), <span style="font-style: italic;">'neumann'</span>
+(pt(k=nz+1)=pt(k=nz)), and <span style="font-style: italic;">'initial_gradient'</span>.
+With the 'initial_gradient'-condition the value of the temperature
+gradient at the top is
+calculated from the initial
+temperature profile (see <a href="#pt_surface">pt_surface</a>,
+      <a href="#pt_vertical_gradient">pt_vertical_gradient</a>)
+by bc_pt_t_val = (pt_init(k=nz+1) -
+pt_init(k=nz)) / dzu(nz+1).<br>
+
+
+
+
+
+
+
+Using this value (assumed constant during the
+run) the temperature boundary values are calculated as&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p style="font-style: normal;">pt(k=nz+1) =
+pt(k=nz) +
+bc_pt_t_val * dzu(nz+1)</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">(up to k=nz the prognostic
+equation for the temperature is solved).<br>
+
+
+
+
+
+
+
+When a constant sensible heat flux is used at the top boundary (<a href="chapter_4.1.html#top_heatflux">top_heatflux</a>),
+      <b>bc_pt_t</b> = <span style="font-style: italic;">'neumann'</span>
+must be used, because otherwise the resolved scale may contribute to
+the top flux so that a constant value cannot be guaranteed.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_q_b"></a><b>bc_q_b</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+specific humidity / total water content.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed
+values are <span style="font-style: italic;">'dirichlet'</span>
+(q(k=0) = const. = <a href="#q_surface">q_surface</a>
++ <a href="#q_surface_initial_change">q_surface_initial_change</a>;
+the user may change this value during the run using user-defined code)
+and <span style="font-style: italic;">'neumann'</span>
+(q(k=0)=q(k=1)).&nbsp; <br>
+
+
+
+
+
+
+
+When a constant surface latent heat flux is used (<a href="#surface_waterflux">surface_waterflux</a>), <b>bc_q_b</b>
+= <span style="font-style: italic;">'neumann'</span>
+must be used, because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_q_t"></a><b>bc_q_t</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">C
+* 20</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the
+specific humidity / total water content.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed
+are the values <span style="font-style: italic;">'dirichlet'</span>
+(q(k=nz) and q(k=nz+1) do
+not change during the run) and <span style="font-style: italic;">'neumann'</span>.
+With the Neumann boundary
+condition the value of the humidity gradient at the top is calculated
+from the
+initial humidity profile (see <a href="#q_surface">q_surface</a>,
+      <a href="#q_vertical_gradient">q_vertical_gradient</a>)
+by: bc_q_t_val = ( q_init(k=nz) - q_init(k=nz-1)) / dzu(nz).<br>
+
+
+
+
+
+
+
+Using this value (assumed constant during the run) the humidity
+boundary values
+are calculated as&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p style="font-style: normal;">q(k=nz+1) =q(k=nz) +
+bc_q_t_val * dzu(nz+1)</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">(up tp k=nz the prognostic
+equation for q is solved). </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_s_b"></a><b>bc_s_b</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+scalar concentration.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed values
+are <span style="font-style: italic;">'dirichlet'</span>
+(s(k=0) = const. = <a href="#s_surface">s_surface</a>
++ <a href="#s_surface_initial_change">s_surface_initial_change</a>;
+the user may change this value during the run using user-defined code)
+and <span style="font-style: italic;">'neumann'</span>
+(s(k=0) =
+s(k=1)).&nbsp; <br>
+
+
+
+
+
+
+
+When a constant surface concentration flux is used (<a href="#surface_scalarflux">surface_scalarflux</a>), <b>bc_s_b</b>
+= <span style="font-style: italic;">'neumann'</span>
+must be used, because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_s_t"></a><b>bc_s_t</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the
+scalar concentration.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed are the
+values <span style="font-style: italic;">'dirichlet'</span>
+(s(k=nz) and s(k=nz+1) do
+not change during the run) and <span style="font-style: italic;">'neumann'</span>.
+With the Neumann boundary
+condition the value of the scalar concentration gradient at the top is
+calculated
+from the initial scalar concentration profile (see <a href="#s_surface">s_surface</a>, <a href="#s_vertical_gradient">s_vertical_gradient</a>)
+by: bc_s_t_val = (s_init(k=nz) - s_init(k=nz-1)) / dzu(nz).<br>
+
+
+
+
+
+
+
+Using this value (assumed constant during the run) the concentration
+boundary values
+are calculated as </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p style="font-style: normal;">s(k=nz+1) = s(k=nz) +
+bc_s_t_val * dzu(nz+1)</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">(up to k=nz the prognostic
+equation for the scalar concentration is
+solved).</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="bc_sa_t"></a><span style="font-weight: bold;">bc_sa_t</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the salinity.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter only comes into effect for ocean runs (see parameter <a href="#ocean">ocean</a>).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Allowed are the
+values <span style="font-style: italic;">'dirichlet' </span>(sa(k=nz+1)
+does not change during the run) and <span style="font-style: italic;">'neumann'</span>
+(sa(k=nz+1)=sa(k=nz))<span style="font-style: italic;"></span>.&nbsp;<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+When a constant salinity flux is used at the top boundary (<a href="chapter_4.1.html#top_salinityflux">top_salinityflux</a>),
+      <b>bc_sa_t</b> = <span style="font-style: italic;">'neumann'</span>
+must be used, because otherwise the resolved scale may contribute to
+the top flux so that a constant value cannot be guaranteed.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_uv_b"></a><b>bc_uv_b</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Bottom boundary condition of the
+horizontal velocity components u and v.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed
+values are <span style="font-style: italic;">'dirichlet' </span>and
+      <span style="font-style: italic;">'neumann'</span>. <b>bc_uv_b</b>
+= <span style="font-style: italic;">'dirichlet'</span>
+yields the
+no-slip condition with u=v=0 at the bottom. Due to the staggered grid
+u(k=0) and v(k=0) are located at z = - 0,5 * <a href="#dz">dz</a>
+(below the bottom), while u(k=1) and v(k=1) are located at z = +0,5 *
+dz. u=v=0 at the bottom is guaranteed using mirror boundary
+condition:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p style="font-style: normal;">u(k=0) = - u(k=1) and v(k=0) = -
+v(k=1)</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">The
+Neumann boundary condition
+yields the free-slip condition with u(k=0) = u(k=1) and v(k=0) =
+v(k=1).
+With Prandtl - layer switched on (see <a href="#prandtl_layer">prandtl_layer</a>), the free-slip condition is not
+allowed (otherwise the run will be terminated)<font color="#000000">.</font></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="bc_uv_t"></a><b>bc_uv_t</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Top boundary condition of the
+horizontal velocity components u and v.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Allowed
+values are <span style="font-style: italic;">'dirichlet'</span>, <span style="font-style: italic;">'dirichlet_0'</span>
+and <span style="font-style: italic;">'neumann'</span>.
+The
+Dirichlet condition yields u(k=nz+1) = ug(nz+1) and v(k=nz+1) =
+vg(nz+1),
+Neumann condition yields the free-slip condition with u(k=nz+1) =
+u(k=nz) and v(k=nz+1) = v(k=nz) (up to k=nz the prognostic equations
+for the velocities are solved). The special condition&nbsp;<span style="font-style: italic;">'dirichlet_0'</span> can be used for channel flow, it yields the no-slip condition u(k=nz+1) = ug(nz+1) = 0 and v(k=nz+1) =
+vg(nz+1) = 0.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>In the <a href="chapter_3.8.html">coupled</a> ocean executable, <a href="chapter_4.2.html#bc_uv_t">bc_uv_t</a>&nbsp;is internally set ('neumann') and does not need to be prescribed.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="bottom_salinityflux"></a><span style="font-weight: bold;">bottom_salinityflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Kinematic salinity flux near the surface (in psu m/s).&nbsp;</p>
+
+
+
+
+
+
+This parameter only comes into effect for ocean runs (see parameter <a href="chapter_4.1.html#ocean">ocean</a>).
+      
+      
+      
+      
+      
+      
+      <p>The
+respective salinity flux value is used
+as bottom (horizontally homogeneous) boundary condition for the salinity equation. This additionally requires that a Neumann
+condition must be used for the salinity, which is currently the only available condition.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_height"></a>building_height</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td>
+
+
+
+
+
+
+ <td>Height
+of a single building in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">building_height</span> must
+be less than the height of the model domain. This parameter requires
+the use of&nbsp;<a href="#topography">topography</a>
+= <span style="font-style: italic;">'single_building'</span>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_length_x"></a>building_length_x</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td>
+
+
+
+
+
+
+ <td><span style="font-style: italic;"></span>Width of a single
+building in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">building_length_x</span>
+must be at least <span style="font-style: italic;">3
+*&nbsp;</span><a style="font-style: italic;" href="#dx">dx</a> and no more than <span style="font-style: italic;">(&nbsp;</span><a style="font-style: italic;" href="#nx">nx</a><span style="font-style: italic;"> - 1 ) </span><span style="font-style: italic;"> * <a href="#dx">dx</a>
+      </span><span style="font-style: italic;">- <a href="#building_wall_left">building_wall_left</a></span>.
+This parameter requires the use of&nbsp;<a href="#topography">topography</a>
+= <span style="font-style: italic;">'single_building'</span>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_length_y"></a>building_length_y</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td>
+
+
+
+
+
+
+ <td>Depth
+of a single building in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">building_length_y</span>
+must be at least <span style="font-style: italic;">3
+*&nbsp;</span><a style="font-style: italic;" href="#dy">dy</a> and no more than <span style="font-style: italic;">(&nbsp;</span><a style="font-style: italic;" href="#ny">ny</a><span style="font-style: italic;"> - 1 )&nbsp;</span><span style="font-style: italic;"> * <a href="#dy">dy</a></span><span style="font-style: italic;"> - <a href="#building_wall_south">building_wall_south</a></span>. This parameter requires
+the use of&nbsp;<a href="#topography">topography</a>
+= <span style="font-style: italic;">'single_building'</span>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_wall_left"></a>building_wall_left</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">building centered in x-direction</span></td>
+
+
+
+
+
+
+
+      <td>x-coordinate of the left building wall (distance between the
+left building wall and the left border of the model domain) in m.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">building_wall_left</span>
+must be at least <span style="font-style: italic;">1
+*&nbsp;</span><a style="font-style: italic;" href="#dx">dx</a> and less than <span style="font-style: italic;">( <a href="#nx">nx</a>&nbsp;
+- 1 ) * <a href="#dx">dx</a> -&nbsp; <a href="#building_length_x">building_length_x</a></span>.
+This parameter requires the use of&nbsp;<a href="#topography">topography</a>
+= <span style="font-style: italic;">'single_building'</span>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+The default value&nbsp;<span style="font-weight: bold;">building_wall_left</span>
+= <span style="font-style: italic;">( ( <a href="#nx">nx</a>&nbsp;+
+1 ) * <a href="#dx">dx</a> -&nbsp; <a href="#building_length_x">building_length_x</a> ) / 2</span>
+centers the building in x-direction.&nbsp;<font color="#000000">Due to the staggered grid the building will be displaced by -0.5 <a href="chapter_4.1.html#dx">dx</a> in x-direction and -0.5 <a href="chapter_4.1.html#dy">dy</a> in y-direction.</font> </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_wall_south"></a>building_wall_south</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;"></span><span style="font-style: italic;">building centered in y-direction</span></td>
+
+
+
+
+
+
+
+      <td>y-coordinate of the South building wall (distance between the
+South building wall and the South border of the model domain) in m.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">building_wall_south</span>
+must be at least <span style="font-style: italic;">1
+*&nbsp;</span><a style="font-style: italic;" href="#dy">dy</a> and less than <span style="font-style: italic;">( <a href="#ny">ny</a>&nbsp;
+- 1 ) * <a href="#dy">dy</a> -&nbsp; <a href="#building_length_y">building_length_y</a></span>.
+This parameter requires the use of&nbsp;<a href="#topography">topography</a>
+= <span style="font-style: italic;">'single_building'</span>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+The default value&nbsp;<span style="font-weight: bold;">building_wall_south</span>
+= <span style="font-style: italic;">( ( <a href="#ny">ny</a>&nbsp;+
+1 ) * <a href="#dy">dy</a> -&nbsp; <a href="#building_length_y">building_length_y</a> ) / 2</span>
+centers the building in y-direction.&nbsp;<font color="#000000">Due to the staggered grid the building will be displaced by -0.5 <a href="chapter_4.1.html#dx">dx</a> in x-direction and -0.5 <a href="chapter_4.1.html#dy">dy</a> in y-direction.</font> </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="canopy_mode"></a><span style="font-weight: bold;">canopy_mode</span></td>
+
+      <td style="vertical-align: top;">C * 20</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'block'</span></td>
+
+      <td style="vertical-align: top;">Canopy mode.<br>
+
+      <br>
+
+      <font color="#000000">
+Besides using the default value, that will create a horizontally
+homogeneous plant canopy that extends over the total horizontal
+extension of the model domain, the user may add code to the user
+interface subroutine <a href="chapter_3.5.1.html#user_init_plant_canopy">user_init_plant_canopy</a>
+to allow further canopy&nbsp;modes. <br>
+
+      <br>
+
+The setting of <a href="#canopy_mode">canopy_mode</a> becomes only active, if&nbsp;<a href="#plant_canopy">plant_canopy</a> has been set <span style="font-style: italic;">.T.</span> and a non-zero <a href="#drag_coefficient">drag_coefficient</a> has been defined.</font></td>
+
+    </tr>
+
+    <tr><td style="font-weight: bold; vertical-align: top;"><a name="canyon_height"></a>canyon_height</td><td style="vertical-align: top;">R</td><td style="font-style: italic; vertical-align: top;">50.0</td><td>Street canyon height
+in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">canyon_height</span> must
+be less than the height of the model domain. This parameter requires&nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'single_street_canyon'</span>.</td></tr><tr><td style="font-weight: bold; vertical-align: top;"><a name="canyon_width_x"></a>canyon_width_x</td><td style="vertical-align: top;">R</td><td style="font-style: italic; vertical-align: top;">9999999.9</td><td>Street canyon width in x-direction in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">canyon_width_x</span>
+must be at least <span style="font-style: italic;">3
+*&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#dx">dx</a> and no more than <span style="font-style: italic;">(&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#nx">nx</a><span style="font-style: italic;"> - 1 ) </span><span style="font-style: italic;"> * <a href="chapter_4.1.html#dx">dx</a>
+      </span><span style="font-style: italic;">- <a href="chapter_4.1.html#canyon_wall_left">canyon_wall_left</a></span>.
+This parameter requires&nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'</span><span style="font-style: italic;">single_street_canyon</span><span style="font-style: italic;">'</span>. A non-default value implies a canyon orientation in y-direction.</td></tr><tr><td style="font-weight: bold; vertical-align: top;"><a name="canyon_width_y"></a>canyon_width_y</td><td style="vertical-align: top;">R</td><td style="font-style: italic; vertical-align: top;">9999999.9</td><td>Street canyon width in y-direction in m.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">canyon_width_y</span>
+must be at least <span style="font-style: italic;">3
+*&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#dy">dy</a> and no more than <span style="font-style: italic;">(&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#ny">ny</a><span style="font-style: italic;"> - 1 )&nbsp;</span><span style="font-style: italic;"> * <a href="chapter_4.1.html#dy">dy</a></span><span style="font-style: italic;"> - <a href="chapter_4.1.html#canyon_wall_south">canyon_wall_south</a></span>. This parameter requires&nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'</span><span style="font-style: italic;">single_street_canyon</span>.&nbsp;A non-default value implies a canyon orientation in x-direction.</td></tr><tr><td style="font-weight: bold; vertical-align: top;"><a name="canyon_wall_left"></a>canyon_wall_left</td><td style="vertical-align: top;">R</td><td style="font-style: italic; vertical-align: top;"><span style="font-style: italic;">canyon centered in x-direction</span></td><td>x-coordinate of the left canyon wall (distance between the
+left canyon wall and the left border of the model domain) in m.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">canyon_wall_left</span>
+must be at least <span style="font-style: italic;">1
+*&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#dx">dx</a> and less than <span style="font-style: italic;">( <a href="chapter_4.1.html#nx">nx</a>&nbsp;
+- 1 ) * <a href="chapter_4.1.html#dx">dx</a> -&nbsp; <a href="chapter_4.1.html#canyon_width_x">canyon_width_x</a></span>.
+This parameter requires&nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'</span><span style="font-style: italic;">single_street_canyon</span><span style="font-style: italic;">'</span>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+The default value <span style="font-weight: bold;">canyon_wall_left</span>
+= <span style="font-style: italic;">( ( <a href="chapter_4.1.html#nx">nx</a>&nbsp;+
+1 ) * <a href="chapter_4.1.html#dx">dx</a> -&nbsp; <a href="chapter_4.1.html#canyon_width_x">canyon_width_x</a> ) / 2</span>
+centers the canyon in x-direction.</td></tr><tr><td style="font-weight: bold; vertical-align: top;"><a name="canyon_wall_south"></a>canyon_wall_south</td><td style="vertical-align: top;">R</td><td style="font-style: italic; vertical-align: top;"><span style="font-style: italic;">canyon centered in y-direction</span></td><td>y-coordinate of the South canyon wall (distance between the
+South canyon wall and the South border of the model domain) in m.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+Currently, <span style="font-weight: bold;">canyon_wall_south</span>
+must be at least <span style="font-style: italic;">1
+*&nbsp;</span><a style="font-style: italic;" href="chapter_4.1.html#dy">dy</a> and less than <span style="font-style: italic;">( <a href="chapter_4.1.html#ny">ny</a>&nbsp;
+- 1 ) * <a href="chapter_4.1.html#dy">dy</a> -&nbsp; <a href="chapter_4.1.html#canyon_width_y">canyon_width_y</a></span>.
+This parameter requires&nbsp;<a href="chapter_4.1.html#topography">topography</a>
+= <span style="font-style: italic;">'</span><span style="font-style: italic;">single_street_canyon</span><span style="font-style: italic;">'</span>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+The default value <span style="font-weight: bold;">canyon_wall_south</span>
+= <span style="font-style: italic;">( ( <a href="chapter_4.1.html#ny">ny</a>&nbsp;+
+1 ) * <a href="chapter_4.1.html#dy">dy</a> -&nbsp;&nbsp;</span><a href="chapter_4.1.html#building_length_y"><span style="font-style: italic;"></span></a><a style="font-style: italic;" href="chapter_4.1.html#canyon_width_y">canyon_wid</a><span style="font-style: italic;"><a style="font-style: italic;" href="chapter_4.1.html#canyon_width_y">th_y</a> ) / 2</span>
+centers the canyon in y-direction.</td></tr><tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="cloud_droplets"></a>cloud_droplets</span><br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Parameter to switch on
+usage of cloud droplets.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      <span style="font-weight: bold;"></span><span style="font-family: monospace;"></span>
+
+
+
+
+Cloud droplets require to use&nbsp;particles (i.e. the NAMELIST group <span style="font-family: Courier New,Courier,monospace;">particles_par</span> has to be included in the parameter file<span style="font-family: monospace;"></span>). Then each particle is a representative for a certain number of droplets. The droplet
+features (number of droplets, initial radius, etc.) can be steered with
+the&nbsp; respective particle parameters (see e.g. <a href="#chapter_4.2.html#radius">radius</a>).
+The real number of initial droplets in a grid cell is equal to the
+initial number of droplets (defined by the particle source parameters <span lang="en-GB"><font face="Thorndale, serif"> </font></span><a href="chapter_4.2.html#pst"><span lang="en-GB"><font face="Thorndale, serif">pst</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psl"><span lang="en-GB"><font face="Thorndale, serif">psl</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psr"><span lang="en-GB"><font face="Thorndale, serif">psr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pss"><span lang="en-GB"><font face="Thorndale, serif">pss</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psn"><span lang="en-GB"><font face="Thorndale, serif">psn</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psb"><span lang="en-GB"><font face="Thorndale, serif">psb</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdx"><span lang="en-GB"><font face="Thorndale, serif">pdx</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdy"><span lang="en-GB"><font face="Thorndale, serif">pdy</font></span></a>
+      <span lang="en-GB"><font face="Thorndale, serif">and
+      </font></span><a href="chapter_4.2.html#pdz"><span lang="en-GB"><font face="Thorndale, serif">pdz</font></span></a><span lang="en-GB"></span><span lang="en-GB"></span>)
+times the <a href="#initial_weighting_factor">initial_weighting_factor</a>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+In case of using cloud droplets, the default condensation scheme in
+PALM cannot be used, i.e. <a href="#cloud_physics">cloud_physics</a>
+must be set <span style="font-style: italic;">.F.</span>.<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="cloud_physics"></a><b>cloud_physics</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to switch
+on the condensation scheme.&nbsp; </p>
+
+
+
+
+
+
+
+For <b>cloud_physics =</b> <span style="font-style: italic;">.TRUE.</span>, equations
+for the
+liquid water&nbsp;
+content and the liquid water potential temperature are solved instead
+of those for specific humidity and potential temperature. Note
+that a grid volume is assumed to be either completely saturated or
+completely
+unsaturated (0%-or-100%-scheme). A simple precipitation scheme can
+additionally be switched on with parameter <a href="#precipitation">precipitation</a>.
+Also cloud-top cooling by longwave radiation can be utilized (see <a href="#radiation">radiation</a>)<br>
+
+
+
+
+
+
+ <b><br>
+
+
+
+
+
+
+
+cloud_physics =</b> <span style="font-style: italic;">.TRUE.
+      </span>requires&nbsp;<a href="#humidity">humidity</a>
+=<span style="font-style: italic;"> .TRUE.</span> .<br>
+
+
+
+
+
+
+
+Detailed information about the condensation scheme is given in the
+description of the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM-1/Dokumentationen/Cloud_physics/wolken.pdf">cloud
+physics module</a> (pdf-file, only in German).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+This condensation scheme is not allowed if cloud droplets are simulated
+explicitly (see <a href="#cloud_droplets">cloud_droplets</a>).<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="conserve_volume_flow"></a>conserve_volume_flow</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+ <td>Conservation
+of volume flow in x- and y-direction.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">conserve_volume_flow</span>
+= <span style="font-style: italic;">.T.</span>
+guarantees that the volume flow through the xz- and yz-cross-sections of
+the total model domain remains constant throughout the run depending on the chosen <a href="#conserve_volume_flow_mode">conserve_volume_flow_mode</a>.<br><br>Note that&nbsp;<span style="font-weight: bold;">conserve_volume_flow</span>
+= <span style="font-style: italic;">.T.</span> requires <a href="#dp_external">dp_external</a> = <span style="font-style: italic;">.F.</span> .<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="conserve_volume_flow_mode"></a>conserve_volume_flow_mode</span></td><td style="vertical-align: top;">C * 16</td><td style="vertical-align: top;"><span style="font-style: italic;">'default'</span></td><td>Modus of volume flow conservation.<br><br>The following values are allowed:<br><p style="font-style: normal;"><span style="font-style: italic;">'default'</span>
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul><p>Per default, PALM uses&nbsp;<span style="font-style: italic;">'initial_profiles'</span> for cyclic lateral boundary conditions (<a href="#bc_lr">bc_lr</a> = <span style="font-style: italic;">'cyclic'</span> and <a href="#bc_ns">bc_ns</a> = <span style="font-style: italic;">'cyclic'</span>) and&nbsp;<span style="font-style: italic;">'inflow_profile'</span> for non-cyclic lateral boundary conditions (<a href="chapter_4.1.html#bc_lr">bc_lr</a> /= <span style="font-style: italic;">'cyclic'</span> or <a href="chapter_4.1.html#bc_ns">bc_ns</a> /= <span style="font-style: italic;">'cyclic'</span>).</p></ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: italic;">'initial_profiles' </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul><p>The
+target volume flow&nbsp;is calculated at t=0 from the initial profiles
+of u and v.&nbsp;This setting is only allowed for&nbsp;cyclic lateral
+boundary conditions (<a href="chapter_4.1.html#bc_lr">bc_lr</a> = <span style="font-style: italic;">'cyclic'</span> and <a href="chapter_4.1.html#bc_ns">bc_ns</a> = <span style="font-style: italic;">'cyclic'</span>).</p></ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;"><span style="font-style: italic;">'inflow_profile'</span>
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul><p>The
+target volume flow&nbsp;is&nbsp;calculated at every timestep from the
+inflow profile of&nbsp;u or v, respectively. This setting&nbsp;is only
+allowed for&nbsp;non-cyclic lateral boundary conditions (<a href="chapter_4.1.html#bc_lr">bc_lr</a> /= <span style="font-style: italic;">'cyclic'</span> or <a href="chapter_4.1.html#bc_ns">bc_ns</a> /= <span style="font-style: italic;">'cyclic'</span>).</p></ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: italic;">'bulk_velocity' </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul><p>The target volume flow is calculated from a predefined bulk velocity (see <a href="#u_bulk">u_bulk</a> and <a href="#v_bulk">v_bulk</a>). This setting is only allowed for&nbsp;cyclic lateral boundary conditions (<a href="chapter_4.1.html#bc_lr">bc_lr</a> = <span style="font-style: italic;">'cyclic'</span> and <a href="chapter_4.1.html#bc_ns">bc_ns</a> = <span style="font-style: italic;">'cyclic'</span>).</p></ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <span style="font-style: italic;"></span>Note that&nbsp;<span style="font-weight: bold;">conserve_volume_flow_mode</span>
+only comes into effect if <a href="#conserve_volume_flow">conserve_volume_flow</a> = <span style="font-style: italic;">.T. .</span> </td></tr>
+
+    <tr>
+      <td style="vertical-align: top;"><a name="coupling_start_time"></a><span style="font-weight: bold;">coupling_start_time</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Simulation time of precursor run.
+      <br>
+      <br>
+         Sets the time period a precursor run shall run uncoupled. This parameter is used to set up the precursor run control for atmosphere-ocean-coupled runs. It has to be set individually to the atmospheric / oceanic precursor run. The time in the data output will show negative values during the precursor run. See documentation  for further information.
+      
+      </td>
+
+    </tr>
+
+      <td style="vertical-align: top;"><a name="cthf"></a><span style="font-weight: bold;">cthf</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Average heat flux that is prescribed at the top of the plant canopy.<br>
+
+
+      <br>
+
+
+If <a href="#plant_canopy">plant_canopy</a> is set <span style="font-style: italic;">.T.</span>, the user can prescribe a heat flux at the top of the plant canopy.<br>
+
+
+It is assumed that solar radiation penetrates the canopy and warms the
+foliage which, in turn, warms the air in contact with it. <br>
+
+
+Note: Instead of using the value prescribed by <a href="#surface_heatflux">surface_heatflux</a>,
+the near surface heat flux is determined from an exponential function
+that is dependent on the cumulative leaf_area_index (Shaw and Schumann
+(1992, Boundary Layer Meteorol., 61, 47-64)).</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="cut_spline_overshoot"></a><b>cut_spline_overshoot</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.T.</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Cuts off of
+so-called overshoots, which can occur with the
+upstream-spline scheme.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><font color="#000000">The cubic splines tend to overshoot in
+case of discontinuous changes of variables between neighbouring grid
+points.</font><font color="#ff0000"> </font><font color="#000000">This
+may lead to errors in calculating the advection tendency.</font>
+Choice
+of <b>cut_spline_overshoot</b> = <i>.TRUE.</i>
+(switched on by
+default)
+allows variable values not to exceed an interval defined by the
+respective adjacent grid points. This interval can be adjusted
+seperately for every prognostic variable (see initialization parameters
+      <a href="#overshoot_limit_e">overshoot_limit_e</a>, <a href="#overshoot_limit_pt">overshoot_limit_pt</a>, <a href="#overshoot_limit_u">overshoot_limit_u</a>,
+etc.). This might be necessary in case that the
+default interval has a non-tolerable effect on the model
+results.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Overshoots may also be removed
+using the parameters <a href="#ups_limit_e">ups_limit_e</a>,
+      <a href="#ups_limit_pt">ups_limit_pt</a>,
+etc. as well as by applying a long-filter (see <a href="#long_filter_factor">long_filter_factor</a>).</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="damp_level_1d"></a><b>damp_level_1d</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">zu(nz+1)</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Height where
+the damping layer begins in the 1d-model
+(in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter is used to
+switch on a damping layer for the
+1d-model, which is generally needed for the damping of inertia
+oscillations. Damping is done by gradually increasing the value
+of the eddy diffusivities about 10% per vertical grid level
+(starting with the value at the height given by <b>damp_level_1d</b>,
+or possibly from the next grid pint above), i.e. K<sub>m</sub>(k+1)
+=
+1.1 * K<sub>m</sub>(k).
+The values of K<sub>m</sub> are limited to 10 m**2/s at
+maximum.&nbsp; <br>
+
+
+
+
+
+
+
+This parameter only comes into effect if the 1d-model is switched on
+for
+the initialization of the 3d-model using <a href="#initializing_actions">initializing_actions</a>
+= <span style="font-style: italic;">'set_1d-model_profiles'</span>.
+      <br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><a name="dissipation_1d"></a><span style="font-weight: bold;">dissipation_1d</span><br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C*20<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'as_in_3d_</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">model'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Calculation method for
+the energy dissipation term in the TKE equation of the 1d-model.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+By default the dissipation is calculated as in the 3d-model using diss
+= (0.19 + 0.74 * l / l_grid) * e**1.5 / l.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Setting <span style="font-weight: bold;">dissipation_1d</span>
+= <span style="font-style: italic;">'detering'</span>
+forces the dissipation to be calculated as diss = 0.064 * e**1.5 / l.<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+    <tr><td style="vertical-align: top;"><p><a name="dp_external"></a><b>dp_external</b></p></td><td style="vertical-align: top;">L</td><td style="vertical-align: top; font-style: italic;">.F.</td><td>External pressure gradient switch.<br><br>This
+parameter is used to switch on/off an external pressure gradient as
+driving force. The external pressure gradient is controlled by the
+parameters <a href="#dp_smooth">dp_smooth</a>, <a href="#dp_level_b">dp_level_b</a> and <a href="#dpdxy">dpdxy</a>.<br><br>Note that&nbsp;<span style="font-weight: bold;">dp_external</span> = <span style="font-style: italic;">.T.</span> requires <a href="#conserve_volume_flow">conserve_volume_flow</a> =<span style="font-style: italic;"> .F. </span>It is normally recommended to disable the Coriolis force by setting <a href="#omega">omega</a> = 0.0.</td></tr><tr><td style="vertical-align: top;"><p><a name="dp_smooth"></a><b>dp_smooth</b></p></td><td style="vertical-align: top;">L</td><td style="vertical-align: top; font-style: italic;">.F.</td><td>Vertically smooth the external pressure gradient using a sinusoidal smoothing function.<br><br>This parameter only applies if <a href="#dp_external">dp_external</a> = <span style="font-style: italic;">.T. </span>. It is useful in combination with&nbsp;<a href="#dp_level_b">dp_level_b</a> &gt;&gt; 0 to generate a non-accelerated boundary layer well below&nbsp;<a href="#dp_level_b">dp_level_b</a>.</td></tr><tr><td style="vertical-align: top;"><p><a name="dp_level_b"></a><b>dp_level_b</b></p></td><td style="vertical-align: top;">R</td><td style="vertical-align: top; font-style: italic;">0.0</td><td><font size="3">Lower
+limit of the vertical range for which the external pressure gradient is applied (</font>in <font size="3">m).</font><br><br>This parameter only applies if <a href="#dp_external">dp_external</a> = <span style="font-style: italic;">.T. </span><span lang="en-GB">It
+must hold the condition zu(0) &lt;= <b>dp_level_b</b>
+&lt;= zu(</span><a href="#nz"><span lang="en-GB">nz</span></a><span lang="en-GB">)</span><span lang="en-GB">.&nbsp;</span>It can be used in combination with&nbsp;<a href="#dp_smooth">dp_smooth</a> = <span style="font-style: italic;">.T.</span> to generate a non-accelerated boundary layer well below&nbsp;<span style="font-weight: bold;">dp_level_b</span> if&nbsp;<span style="font-weight: bold;">dp_level_b</span> &gt;&gt; 0.<br><br>Note
+that there is no upper limit of the vertical range because the external
+pressure gradient is always applied up to the top of the model domain.</td></tr><tr><td style="vertical-align: top;"><p><a name="dpdxy"></a><b>dpdxy</b></p></td><td style="vertical-align: top;">R(2)</td><td style="font-style: italic; vertical-align: top;">2 * 0.0</td><td>Values of the external pressure gradient applied in x- and y-direction, respectively (in Pa/m).<br><br>This parameter only applies if <a href="#dp_external">dp_external</a> = <span style="font-style: italic;">.T. </span>It sets the pressure gradient values. Negative values mean an acceleration, positive values mean deceleration. For example, <span style="font-weight: bold;">dpdxy</span> = -0.0002, 0.0, drives the flow in positive x-direction, <span lang="en-GB"></span></td></tr>
+
+
+
+
+
+
+    <tr>
+
+      <td style="vertical-align: top;"><a name="drag_coefficient"></a><span style="font-weight: bold;">drag_coefficient</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Drag coefficient used in the plant canopy model.<br>
+
+      <br>
+
+This parameter has to be non-zero, if the parameter <a href="#plant_canopy">plant_canopy</a> is set <span style="font-style: italic;">.T.</span>.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="dt"></a><b>dt</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">variable</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Time step for
+the 3d-model (in s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By default, (i.e.
+if a Runge-Kutta scheme is used, see <a href="#timestep_scheme">timestep_scheme</a>)
+the value of the time step is calculating after each time step
+(following the time step criteria) and
+used for the next step.</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If the user assigns <b>dt</b>
+a value, then the time step is
+fixed to this value throughout the whole run (whether it fulfills the
+time step
+criteria or not). However, changes are allowed for restart runs,
+because <b>dt</b> can also be used as a <a href="chapter_4.2.html#dt_laufparameter">run
+parameter</a>.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>In case that the
+calculated time step meets the condition<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+
+        
+        
+        
+        
+        
+        
+        <p><b>dt</b> &lt; 0.00001 * <a href="chapter_4.2.html#dt_max">dt_max</a> (with dt_max
+= 20.0)</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>the simulation will be
+aborted. Such situations usually arise
+in case of any numerical problem / instability which causes a
+non-realistic increase of the wind speed.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>A
+small time step due to a large mean horizontal windspeed
+speed may be enlarged by using a coordinate transformation (see <a href="#galilei_transformation">galilei_transformation</a>),
+in order to spare CPU time.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If the
+leapfrog timestep scheme is used (see <a href="#timestep_scheme">timestep_scheme</a>)
+a temporary time step value dt_new is calculated first, with dt_new = <a href="chapter_4.2.html#fcl_factor">cfl_factor</a>
+* dt_crit where dt_crit is the maximum timestep allowed by the CFL and
+diffusion condition. Next it is examined whether dt_new exceeds or
+falls below the
+value of the previous timestep by at
+least +5 % / -2%. If it is smaller, <span style="font-weight: bold;">dt</span>
+= dt_new is immediately used for the next timestep. If it is larger,
+then <span style="font-weight: bold;">dt </span>=
+1.02 * dt_prev
+(previous timestep) is used as the new timestep, however the time
+step is only increased if the last change of the time step is dated
+back at
+least 30 iterations. If dt_new is located in the interval mentioned
+above, then dt
+does not change at all. By doing so, permanent time step changes as
+well as large
+sudden changes (increases) in the time step are avoided.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="dt_pr_1d"></a><b>dt_pr_1d</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Temporal
+interval of vertical profile output of the 1D-model
+(in s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Data are written in ASCII
+format to file <a href="chapter_3.4.html#LIST_PROFIL_1D">LIST_PROFIL_1D</a>.
+This parameter is only in effect if the 1d-model has been switched on
+for the
+initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a>
+= <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="dt_run_control_1d"></a><b>dt_run_control_1d</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">60.0</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Temporal interval of
+runtime control output of the 1d-model
+(in s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Data are written in ASCII
+format to file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.
+This parameter is only in effect if the 1d-model is switched on for the
+initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a>
+= <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="dx"></a><b>dx</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Horizontal grid
+spacing along the x-direction (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Along
+x-direction only a constant grid spacing is allowed.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="dy"></a><b>dy</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Horizontal grid
+spacing along the y-direction (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Along y-direction only a constant grid spacing is allowed.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="dz"></a><b>dz</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Vertical grid
+spacing (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter must be
+assigned by the user, because no
+default value is given.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By default, the
+model uses constant grid spacing along z-direction, but it can be
+stretched using the parameters <a href="#dz_stretch_level">dz_stretch_level</a>
+and <a href="#dz_stretch_factor">dz_stretch_factor</a>.
+In case of stretching, a maximum allowed grid spacing can be given by <a href="#dz_max">dz_max</a>.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Assuming
+a constant <span style="font-weight: bold;">dz</span>,
+the scalar levels (zu) are calculated directly by:&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>zu(0) = - dz * 0.5&nbsp; <br>
+
+
+
+
+
+
+
+zu(1) = dz * 0.5</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The w-levels lie
+half between them:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>zw(k) =
+( zu(k) + zu(k+1) ) * 0.5</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="dz_max"></a><span style="font-weight: bold;">dz_max</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">Allowed maximum vertical grid
+spacing (in m).<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+If the vertical grid is stretched
+(see <a href="#dz_stretch_factor">dz_stretch_factor</a>
+and <a href="#dz_stretch_level">dz_stretch_level</a>),
+      <span style="font-weight: bold;">dz_max</span> can
+be used to limit the vertical grid spacing.</td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="dz_stretch_factor"></a><b>dz_stretch_factor</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">1.08</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Stretch factor for a
+vertically stretched grid (see <a href="#dz_stretch_level">dz_stretch_level</a>).&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The stretch factor should not exceed a value of
+approx. 1.10 -
+1.12, otherwise the discretization errors due to the stretched grid not
+negligible any more. (refer Kalnay de Rivas)</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="dz_stretch_level"></a><b>dz_stretch_level</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">100000.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Height level
+above/below which the grid is to be stretched
+vertically (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For <a href="chapter_4.1.html#ocean">ocean</a> = .F., <b>dz_stretch_level </b>is the height level (in m)&nbsp;<span style="font-weight: bold;">above </span>which the grid is to be stretched
+vertically. The vertical grid
+spacings <a href="#dz">dz</a>
+above this level are calculated as&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p><b>dz</b>(k+1)
+= <b>dz</b>(k) * <a href="#dz_stretch_factor">dz_stretch_factor</a></p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>and used as spacings for the scalar levels (zu).
+The
+w-levels are then defined as:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>zw(k)
+= ( zu(k) + zu(k+1) ) * 0.5.
+
+ 
+      
+      </p>
+
+
+
+
+      
+      
+      
+      
+      </ul>
+
+
+
+
+      
+      
+      
+      
+      <p>For <a href="#ocean">ocean</a> = .T., <b>dz_stretch_level </b>is the height level (in m, negative) <span style="font-weight: bold;">below</span> which the grid is to be stretched
+vertically. The vertical grid
+spacings <a href="chapter_4.1.html#dz">dz</a> below this level are calculated correspondingly as 
+
+ 
+      
+      </p>
+
+
+
+
+      
+      
+      
+      
+      <ul>
+
+
+
+
+        
+        
+        
+        
+        <p><b>dz</b>(k-1)
+= <b>dz</b>(k) * <a href="chapter_4.1.html#dz_stretch_factor">dz_stretch_factor</a>.</p>
+
+
+
+
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="e_init"></a>e_init</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+
+
+
+
+      <td>Initial subgrid-scale TKE in m<sup>2</sup>s<sup>-2</sup>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+This
+option prescribes an initial&nbsp;subgrid-scale TKE from which the initial diffusion coefficients K<sub>m</sub> and K<sub>h</sub> will be calculated if <span style="font-weight: bold;">e_init</span> is positive. This option only has an effect if&nbsp;<a href="#km_constant">km_constant</a> is not set.</td>
+
+
+
+
+
+    </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="e_min"></a>e_min</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+
+
+
+
+
+ <td>Minimum
+subgrid-scale TKE in m<sup>2</sup>s<sup>-2</sup>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+This
+option&nbsp;adds artificial viscosity to the flow by ensuring that
+the
+subgrid-scale TKE does not fall below the minimum threshold <span style="font-weight: bold;">e_min</span>.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="end_time_1d"></a><b>end_time_1d</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">864000.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Time to be
+simulated for the 1d-model (in s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The
+default value corresponds to a simulated time of 10 days.
+Usually, after such a period the inertia oscillations have completely
+decayed and the solution of the 1d-model can be regarded as stationary
+(see <a href="#damp_level_1d">damp_level_1d</a>).
+This parameter is only in effect if the 1d-model is switched on for the
+initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a>
+= <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="fft_method"></a><b>fft_method</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'system-</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">specific'</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>FFT-method to
+be used.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><br>
+
+
+
+
+
+
+
+The fast fourier transformation (FFT) is used for solving the
+perturbation pressure equation with a direct method (see <a href="chapter_4.2.html#psolver">psolver</a>)
+and for calculating power spectra (see optional software packages,
+section <a href="chapter_4.2.html#spectra_package">4.2</a>).</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><br>
+
+
+
+
+
+
+
+By default, system-specific, optimized routines from external
+vendor libraries are used. However, these are available only on certain
+computers and there are more or less severe restrictions concerning the
+number of gridpoints to be used with them.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>There
+are two other PALM internal methods available on every
+machine (their respective source code is part of the PALM source code):</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>1.: The <span style="font-weight: bold;">Temperton</span>-method
+from Clive Temperton (ECWMF) which is computationally very fast and
+switched on with <b>fft_method</b> = <span style="font-style: italic;">'temperton-algorithm'</span>.
+The number of horizontal gridpoints (nx+1, ny+1) to be used with this
+method must be composed of prime factors 2, 3 and 5.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+
+2.: The <span style="font-weight: bold;">Singleton</span>-method
+which is very slow but has no restrictions concerning the number of
+gridpoints to be used with, switched on with <b>fft_method</b>
+= <span style="font-style: italic;">'singleton-algorithm'</span>.
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="galilei_transformation"></a><b>galilei_transformation</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Application of a
+Galilei-transformation to the
+coordinate
+system of the model.<br>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>With <b>galilei_transformation</b>
+= <i>.T.,</i> a so-called
+Galilei-transformation is switched on which ensures that the coordinate
+system of the model is moved along with the geostrophical wind.
+Alternatively, the model domain can be moved along with the averaged
+horizontal wind (see <a href="#use_ug_for_galilei_tr">use_ug_for_galilei_tr</a>,
+this can and will naturally change in time). With this method,
+numerical inaccuracies of the Piascek - Williams - scheme (concerns in
+particular the momentum advection) are minimized. Beyond that, in the
+majority of cases the lower relative velocities in the moved system
+permit a larger time step (<a href="#dt">dt</a>).
+Switching the transformation on is only worthwhile if the geostrophical
+wind (ug, vg)
+and the averaged horizontal wind clearly deviate from the value 0. In
+each case, the distance the coordinate system has been moved is written
+to the file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a>
+and <a href="#bc_ns">bc_ns</a>), the specification
+of a gestrophic
+wind that is not constant with height
+as well as e.g. stationary inhomogeneities at the bottom boundary do
+not allow the use of this transformation.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="grid_matching"></a><b>grid_matching</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 6</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'strict'</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Variable to adjust the
+subdomain
+sizes in parallel runs.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+For <b>grid_matching</b> = <span style="font-style: italic;">'strict'</span>,
+the subdomains are forced to have an identical
+size on all processors. In this case the processor numbers in the
+respective directions of the virtual processor net must fulfill certain
+divisor conditions concerning the grid point numbers in the three
+directions (see <a href="#nx">nx</a>, <a href="#ny">ny</a>
+and <a href="#nz">nz</a>).
+Advantage of this method is that all PEs bear the same computational
+load.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+There is no such restriction by default, because then smaller
+subdomains are allowed on those processors which
+form the right and/or north boundary of the virtual processor grid. On
+all other processors the subdomains are of same size. Whether smaller
+subdomains are actually used, depends on the number of processors and
+the grid point numbers used. Information about the respective settings
+are given in file <a href="file:///home/raasch/public_html/PALM_group/home/raasch/public_html/PALM_group/doc/app/chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+When using a multi-grid method for solving the Poisson equation (see <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">psolver</a>)
+only <b>grid_matching</b> = <span style="font-style: italic;">'strict'</span>
+is allowed.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <b>Note:</b><br>
+
+
+
+
+
+
+
+In some cases for small processor numbers there may be a very bad load
+balancing among the
+processors which may reduce the performance of the code.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr><td style="vertical-align: top;"><p><a name="humidity"></a><b>humidity</b></p></td><td style="vertical-align: top;">L</td><td style="vertical-align: top;"><i>.F.</i></td><td style="vertical-align: top;"><p>Parameter to
+switch on the prognostic equation for specific
+humidity q.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The initial vertical
+profile of q can be set via parameters <a href="chapter_4.1.html#q_surface">q_surface</a>, <a href="chapter_4.1.html#q_vertical_gradient">q_vertical_gradient</a>
+and <a href="chapter_4.1.html#q_vertical_gradient_level">q_vertical_gradient_level</a>.&nbsp;
+Boundary conditions can be set via <a href="chapter_4.1.html#q_surface_initial_change">q_surface_initial_change</a>
+and <a href="chapter_4.1.html#surface_waterflux">surface_waterflux</a>.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+
+If the condensation scheme is switched on (<a href="chapter_4.1.html#cloud_physics">cloud_physics</a>
+= .TRUE.), q becomes the total liquid water content (sum of specific
+humidity and liquid water content).</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="inflow_damping_height"></a>inflow_damping_height</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">from precursor run</span></td><td style="vertical-align: top;">Height below which the turbulence signal is used for turbulence recycling (in m).<br><br>In case of a turbulent inflow (see <a href="chapter_4.1.html#turbulent_inflow">turbulent_inflow</a>),
+this parameter defines the vertical thickness of the turbulent layer up
+to which the turbulence extracted at the recycling plane (see <a href="chapter_4.1.html#recycling_width">recycling_width</a>)
+shall be imposed to the inflow. Above this level the turbulence signal
+is linearly damped to zero. The transition range within which the
+signal falls to zero is given by the parameter <a href="chapter_4.1.html#inflow_damping_width">inflow_damping_width</a>.<br><br>By default, this height is set as the height of the convective boundary layer as calculated from a precursor run. See <a href="chapter_3.9.html">chapter 3.9</a> about proper settings for getting this CBL height from a precursor run. </td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="inflow_damping_width"></a>inflow_damping_width</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.1 * <a href="chapter_4.1.html#inflow_damping_height">inflow_damping</a></span><a href="chapter_4.1.html#inflow_damping_height"><br style="font-style: italic;"><span style="font-style: italic;">_height</span></a></td><td style="vertical-align: top;">Transition range within which the turbulance signal is damped to zero (in m).<br><br>See <a href="chapter_4.1.html#inflow_damping_height">inflow_damping_height</a> for explanation.</td></tr><tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><a name="inflow_disturbance_begin"></a><b>inflow_disturbance_<br>
+
+
+
+
+
+
+
+begin</b></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">MIN(10,</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">nx/2 or ny/2)</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Lower
+limit of the horizontal range for which random perturbations are to be
+imposed on the horizontal velocity field (gridpoints).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+If non-cyclic lateral boundary conditions are used (see <a href="#bc_lr">bc_lr</a>
+or <a href="#bc_ns">bc_ns</a>),
+this parameter gives the gridpoint number (counted horizontally from
+the inflow)&nbsp; from which on perturbations are imposed on the
+horizontal velocity field. Perturbations must be switched on with
+parameter <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><a name="inflow_disturbance_end"></a><b>inflow_disturbance_<br>
+
+
+
+
+
+
+
+end</b></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">MIN(100,</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">3/4*nx or</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">3/4*ny)</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Upper
+limit of the horizontal range for which random perturbations are
+to be imposed on the horizontal velocity field (gridpoints).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+If non-cyclic lateral boundary conditions are used (see <a href="#bc_lr">bc_lr</a>
+or <a href="#bc_ns">bc_ns</a>),
+this parameter gives the gridpoint number (counted horizontally from
+the inflow)&nbsp; unto which perturbations are imposed on the
+horizontal
+velocity field. Perturbations must be switched on with parameter <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="initializing_actions"></a><b>initializing_actions</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 100</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">Initialization actions
+to be carried out.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;">This parameter does not have a
+default value and therefore must be assigned with each model run. For
+restart runs <b>initializing_actions</b> = <span style="font-style: italic;">'read_restart_data'</span>
+must be set. For the initial run of a job chain the following values
+are allowed:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: normal;"><span style="font-style: italic;">'set_constant_profiles'</span>
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>A horizontal wind profile consisting
+of linear sections (see <a href="#ug_surface">ug_surface</a>,
+        <a href="#ug_vertical_gradient">ug_vertical_gradient</a>,
+        <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>
+and <a href="#vg_surface">vg_surface</a>, <a href="#vg_vertical_gradient">vg_vertical_gradient</a>,
+        <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>,
+respectively) as well as a vertical temperature (humidity) profile
+consisting of
+linear sections (see <a href="#pt_surface">pt_surface</a>,
+        <a href="#pt_vertical_gradient">pt_vertical_gradient</a>,
+        <a href="#q_surface">q_surface</a>
+and <a href="#q_vertical_gradient">q_vertical_gradient</a>)
+are assumed as initial profiles. The subgrid-scale TKE is set to 0 but K<sub>m</sub>
+and K<sub>h</sub> are set to very small values because
+otherwise no TKE
+would be generated.</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: italic;">'set_1d-model_profiles' </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>The arrays of the 3d-model are initialized with
+the
+(stationary) solution of the 1d-model. These are the variables e, kh,
+km, u, v and with Prandtl layer switched on rif, us, usws, vsws. The
+temperature (humidity) profile consisting of linear sections is set as
+for 'set_constant_profiles' and assumed as constant in time within the
+1d-model. For steering of the 1d-model a set of parameters with suffix
+"_1d" (e.g. <a href="#end_time_1d">end_time_1d</a>,
+        <a href="#damp_level_1d">damp_level_1d</a>)
+is available.</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'by_user'</span></p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;">The initialization of the arrays
+of the 3d-model is under complete control of the user and has to be
+done in routine <a href="chapter_3.5.1.html#user_init_3d_model">user_init_3d_model</a>
+of the user-interface.<span style="font-style: italic;"></span></p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'initialize_vortex'</span>
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The initial
+velocity field of the
+3d-model corresponds to a
+Rankine-vortex with vertical axis. This setting may be used to test
+advection schemes. Free-slip boundary conditions for u and v (see <a href="#bc_uv_b">bc_uv_b</a>, <a href="#bc_uv_t">bc_uv_t</a>)
+are necessary. In order not to distort the vortex, an initial
+horizontal wind profile constant
+with height is necessary (to be set by <b>initializing_actions</b>
+= <span style="font-style: italic;">'set_constant_profiles'</span>)
+and some other conditions have to be met (neutral stratification,
+diffusion must be
+switched off, see <a href="#km_constant">km_constant</a>).
+The center of the vortex is located at jc = (nx+1)/2. It
+extends from k = 0 to k = nz+1. Its radius is 8 * <a href="#dx">dx</a>
+and the exponentially decaying part ranges to 32 * <a href="#dx">dx</a>
+(see init_rankine.f90). </div>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'initialize_ptanom'</span>
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p>A 2d-Gauss-like shape disturbance
+(x,y) is added to the
+initial temperature field with radius 10.0 * <a href="#dx">dx</a>
+and center at jc = (nx+1)/2. This may be used for tests of scalar
+advection schemes
+(see <a href="#scalar_advec">scalar_advec</a>).
+Such tests require a horizontal wind profile constant with hight and
+diffusion
+switched off (see <span style="font-style: italic;">'initialize_vortex'</span>).
+Additionally, the buoyancy term
+must be switched of in the equation of motion&nbsp; for w (this
+requires the user to comment out the call of <span style="font-family: monospace;">buoyancy</span> in the
+source code of <span style="font-family: monospace;">prognostic_equations.f90</span>).</p></ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="font-style: italic;">'cyclic_fill'</p><p style="font-style: normal; margin-left: 40px;">Here,
+3d-data from a precursor run are read by the initial (main) run. The
+precursor run is allowed to have a smaller domain along x and y
+compared with the main run. Also, different numbers of processors can
+be used for these two runs. Limitations are that the precursor run must
+use cyclic horizontal boundary conditions and that the number of vertical grid points, <a href="#nz">nz</a>, must be same for the precursor run and the main run. If the total domain of the main run is larger than that of the precursor
+run, the domain is filled by cyclic repetition&nbsp;of the (cyclic)
+precursor data. This initialization method is recommended if a
+turbulent inflow is used (see <a href="chapter_4.1.html#turbulent_inflow">turbulent_inflow</a>). 3d-data must be made available to the run by activating an appropriate file connection statement for local file BININ. See <a href="chapter_3.9.html">chapter 3.9</a> for more details, where usage of a turbulent inflow is explained. </p><p style="font-style: normal;">Values may be
+combined, e.g. <b>initializing_actions</b> = <span style="font-style: italic;">'set_constant_profiles
+initialize_vortex'</span>, but the values of <span style="font-style: italic;">'set_constant_profiles'</span>,
+      <span style="font-style: italic;">'set_1d-model_profiles'</span>
+, and <span style="font-style: italic;">'by_user'</span>
+must not be given at the same time.</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="km_constant"></a><b>km_constant</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>variable<br>
+
+
+
+
+
+
+
+(computed from TKE)</i></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Constant eddy
+diffusivities are used (laminar
+simulations).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If this parameter is
+specified, both in the 1d and in the
+3d-model constant values for the eddy diffusivities are used in
+space and time with K<sub>m</sub> = <b>km_constant</b>
+and K<sub>h</sub> = K<sub>m</sub> / <a href="chapter_4.2.html#prandtl_number">prandtl_number</a>.
+The prognostic equation for the subgrid-scale TKE is switched off.
+Constant eddy diffusivities are only allowed with the Prandtl layer (<a href="#prandtl_layer">prandtl_layer</a>)
+switched off.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="km_damp_max"></a><b>km_damp_max</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.5*(dx
+or dy)</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Maximum
+diffusivity used for filtering the velocity field in the vicinity of
+the outflow (in m<sup>2</sup>/s).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+When using non-cyclic lateral boundaries (see <a href="#bc_lr">bc_lr</a>
+or <a href="#bc_ns">bc_ns</a>),
+a smoothing has to be applied to the
+velocity field in the vicinity of the outflow in order to suppress any
+reflections of outgoing disturbances. Smoothing is done by increasing
+the eddy diffusivity along the horizontal direction which is
+perpendicular to the outflow boundary. Only velocity components
+parallel to the outflow boundary are filtered (e.g. v and w, if the
+outflow is along x). Damping is applied from the bottom to the top of
+the domain.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The horizontal range of the smoothing is controlled by <a href="#outflow_damping_width">outflow_damping_width</a>
+which defines the number of gridpoints (counted from the outflow
+boundary) from where on the smoothing is applied. Starting from that
+point, the eddy diffusivity is linearly increased (from zero to its
+maximum value given by <span style="font-weight: bold;">km_damp_max</span>)
+until half of the damping range width, from where it remains constant
+up to the outflow boundary. If at a certain grid point the eddy
+diffusivity calculated from the flow field is larger than as described
+above, it is used instead.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The default value of <span style="font-weight: bold;">km_damp_max</span>
+has been empirically proven to be sufficient.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="lad_surface"></a><span style="font-weight: bold;">lad_surface</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Surface value of the leaf area density (in m<sup>2</sup>/m<sup>3</sup>).<br>
+
+      <br>
+
+This
+parameter assigns the value of the leaf area density <span style="font-weight: bold;">lad</span> at the surface (k=0)<b>.</b> Starting from this value,
+the leaf area density profile is constructed with <a href="#lad_vertical_gradient">lad_vertical_gradient</a>
+and <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level
+      </a>.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><a name="lad_vertical_gradient"></a><span style="font-weight: bold;">lad_vertical_gradient</span></td>
+
+      <td style="vertical-align: top;">R (10)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">10 * 0.0</span></td>
+
+      <td style="vertical-align: top;">Gradient(s) of the leaf area density (in&nbsp;m<sup>2</sup>/m<sup>4</sup>).<br>
+
+      <br>
+
+      
+      <p>This leaf area density gradient
+holds starting from the height&nbsp;
+level defined by <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level</a>
+(precisely: for all uv levels k where zu(k) &gt; lad_vertical_gradient_level, lad(k) is set: lad(k) = lad(k-1) + dzu(k) * <b>lad_vertical_gradient</b>)
+up to the level defined by <a href="#pch_index">pch_index</a>. Above that level lad(k) will automatically set to 0.0. A total of 10 different gradients for 11 height intervals (10 intervals
+if <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level</a>(1)
+= <i>0.0</i>) can be assigned. The leaf area density at the surface is
+assigned via <a href="#lad_surface">lad_surface</a>.&nbsp;
+      </p>
+
+      </td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><a name="lad_vertical_gradient_level"></a><span style="font-weight: bold;">lad_vertical_gradient_level</span></td>
+
+      <td style="vertical-align: top;">R (10)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">10 * 0.0</span></td>
+
+      <td style="vertical-align: top;">Height level from which on the&nbsp;gradient
+of the leaf area density defined by <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level</a>
+is effective (in m).<br>
+
+      <br>
+
+The height levels have to be assigned in ascending order. The
+default values result in a leaf area density that is constant with height uup to the top of the plant canopy layer defined by <a href="#pch_index">pch_index</a>. For the piecewise construction of temperature profiles see <a href="#lad_vertical_gradient">lad_vertical_gradient</a>.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><a name="leaf_surface_concentration"></a><b>leaf_surface_concentration</b></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+      <td style="vertical-align: top;">Concentration of a passive scalar at the surface of a leaf (in K m/s).<br>
+
+
+      <br>
+
+
+This parameter is only of importance in cases in that both, <a href="#plant_canopy">plant_canopy</a> and <a href="#passive_scalar">passive_scalar</a>, are set <span style="font-style: italic;">.T.</span>.
+The value of the concentration of a passive scalar at the surface of a
+leaf is required for the parametrisation of the sources and sinks of
+scalar concentration due to the canopy.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="long_filter_factor"></a><b>long_filter_factor</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Filter factor
+for the so-called Long-filter.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><br>
+
+
+
+
+
+
+
+This filter very efficiently
+eliminates 2-delta-waves sometimes cauesed by the upstream-spline
+scheme (see Mahrer and
+Pielke, 1978: Mon. Wea. Rev., 106, 818-830). It works in all three
+directions in space. A value of <b>long_filter_factor</b>
+= <i>0.01</i>
+sufficiently removes the small-scale waves without affecting the
+longer waves.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By default, the filter is
+switched off (= <i>0.0</i>).
+It is exclusively applied to the tendencies calculated by the
+upstream-spline scheme (see <a href="#momentum_advec">momentum_advec</a>
+and <a href="#scalar_advec">scalar_advec</a>),
+not to the prognostic variables themselves. At the bottom and top
+boundary of the model domain the filter effect for vertical
+2-delta-waves is reduced. There, the amplitude of these waves is only
+reduced by approx. 50%, otherwise by nearly 100%.&nbsp; <br>
+
+
+
+
+
+
+
+Filter factors with values &gt; <i>0.01</i> also
+reduce the amplitudes
+of waves with wavelengths longer than 2-delta (see the paper by Mahrer
+and
+Pielke, quoted above). </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="loop_optimization"></a><span style="font-weight: bold;">loop_optimization</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">C*16</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">see right</span></td>
+
+
+
+
+
+
+      <td>Method used to optimize loops for solving the prognostic equations .<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+By
+default, the optimization method depends on the host on which PALM is
+running. On machines with vector-type CPUs, single 3d-loops are used to
+calculate each tendency term of each prognostic equation, while on all
+other machines, all prognostic equations are solved within one big loop
+over the two horizontal indices<span style="font-family: Courier New,Courier,monospace;"> i </span>and<span style="font-family: Courier New,Courier,monospace;"> j </span>(giving a good cache uitilization).<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+The default behaviour can be changed by setting either <span style="font-weight: bold;">loop_optimization</span> = <span style="font-style: italic;">'vector'</span> or <span style="font-weight: bold;">loop_optimization</span> = <span style="font-style: italic;">'cache'</span>.</td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="mixing_length_1d"></a><span style="font-weight: bold;">mixing_length_1d</span><br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C*20<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'as_in_3d_</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">model'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Mixing length used in the
+1d-model.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+By default the mixing length is calculated as in the 3d-model (i.e. it
+depends on the grid spacing).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+By setting <span style="font-weight: bold;">mixing_length_1d</span>
+= <span style="font-style: italic;">'blackadar'</span>,
+the so-called Blackadar mixing length is used (l = kappa * z / ( 1 +
+kappa * z / lambda ) with the limiting value lambda = 2.7E-4 * u_g / f).<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="momentum_advec"></a><b>momentum_advec</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 10</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'pw-scheme'</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Advection
+scheme to be used for the momentum equations.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The user can choose between the following schemes:<br>
+
+
+
+
+
+
+
+&nbsp;<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-style: italic;">'pw-scheme'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The scheme of
+Piascek and
+Williams (1970, J. Comp. Phys., 6,
+392-405) with central differences in the form C3 is used.<br>
+
+
+
+
+
+
+
+If intermediate Euler-timesteps are carried out in case of <a href="#timestep_scheme">timestep_scheme</a>
+= <span style="font-style: italic;">'leapfrog+euler'</span>
+the
+advection scheme is - for the Euler-timestep - automatically switched
+to an upstream-scheme.<br>
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p> </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'ups-scheme'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The
+upstream-spline scheme is
+used
+(see Mahrer and Pielke,
+1978: Mon. Wea. Rev., 106, 818-830). In opposite to the
+Piascek-Williams scheme, this is characterized by much better numerical
+features (less numerical diffusion, better preservation of flow
+structures, e.g. vortices), but computationally it is much more
+expensive. In
+addition, the use of the Euler-timestep scheme is mandatory (<a href="#timestep_scheme">timestep_scheme</a>
+= <span style="font-style: italic;">'</span><i>euler'</i>),
+i.e. the
+timestep accuracy is only of first order.
+For this reason the advection of scalar variables (see <a href="#scalar_advec">scalar_advec</a>)
+should then also be carried out with the upstream-spline scheme,
+because otherwise the scalar variables would
+be subject to large numerical diffusion due to the upstream
+scheme.&nbsp; </div>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;">Since
+the cubic splines used tend
+to overshoot under
+certain circumstances, this effect must be adjusted by suitable
+filtering and smoothing (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>,
+      <a href="#long_filter_factor">long_filter_factor</a>,
+      <a href="#ups_limit_pt">ups_limit_pt</a>, <a href="#ups_limit_u">ups_limit_u</a>, <a href="#ups_limit_v">ups_limit_v</a>, <a href="#ups_limit_w">ups_limit_w</a>).
+This is always neccessary for runs with stable stratification,
+even if this stratification appears only in parts of the model domain.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">With stable
+stratification the
+upstream-spline scheme also
+produces gravity waves with large amplitude, which must be
+suitably damped (see <a href="chapter_4.2.html#rayleigh_damping_factor">rayleigh_damping_factor</a>).<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">Important: </span>The&nbsp;
+upstream-spline scheme is not implemented for humidity and passive
+scalars (see&nbsp;<a href="#humidity">humidity</a>
+and <a href="#passive_scalar">passive_scalar</a>)
+and requires the use of a 2d-domain-decomposition. The last conditions
+severely restricts code optimization on several machines leading to
+very long execution times! The scheme is also not allowed for
+non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a>
+and <a href="#bc_ns">bc_ns</a>).</div>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><a name="netcdf_precision"></a><span style="font-weight: bold;">netcdf_precision</span><br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C*20<br>
+
+
+
+
+
+
+
+(10)<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">single preci-</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">sion for all</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">output quan-</span><br style="font-style: italic;">
+
+
+
+
+
+
+ <span style="font-style: italic;">tities</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Defines the accuracy of
+the NetCDF output.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+By default, all NetCDF output data (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>)
+have single precision&nbsp; (4 byte) accuracy. Double precision (8
+byte) can be choosen alternatively.<br>
+
+
+
+
+
+
+
+Accuracy for the different output data (cross sections, 3d-volume data,
+spectra, etc.) can be set independently.<br>
+
+
+
+
+
+
+ <span style="font-style: italic;">'&lt;out&gt;_NF90_REAL4'</span>
+(single precision) or <span style="font-style: italic;">'&lt;out&gt;_NF90_REAL8'</span>
+(double precision) are the two principally allowed values for <span style="font-weight: bold;">netcdf_precision</span>,
+where the string <span style="font-style: italic;">'&lt;out&gt;'
+      </span>can be chosen out of the following list:<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <table style="text-align: left; width: 284px; height: 234px;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+
+
+ <tbody>
+
+
+
+
+
+
+
+          <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'xy'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">horizontal cross section<br>
+
+
+
+
+
+
+
+            </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'xz'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">vertical (xz) cross
+section<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'yz'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">vertical (yz) cross
+section<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'2d'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">all cross sections<br>
+
+
+
+
+
+
+
+            </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'3d'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">volume data<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+          </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'pr'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">vertical profiles<br>
+
+
+
+
+
+
+
+            </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'ts'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">time series, particle
+time series<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'sp'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">spectra<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+          </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'prt'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">particles<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+          </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'all'</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+            <td style="vertical-align: top;">all output quantities<br>
+
+
+
+
+
+
+
+            </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      
+      
+      </table>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+
+
+
+If all cross section data and the particle data shall be output in
+double precision and all other quantities in single precision, then <span style="font-weight: bold;">netcdf_precision</span> = <span style="font-style: italic;">'2d_NF90_REAL8'</span>, <span style="font-style: italic;">'prt_NF90_REAL8'</span>
+has to be assigned.<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="nsor_ini"></a><b>nsor_ini</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>100</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Initial number
+of iterations with the SOR algorithm.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This
+parameter is only effective if the SOR algorithm was
+selected as the pressure solver scheme (<a href="chapter_4.2.html#psolver">psolver</a>
+= <span style="font-style: italic;">'sor'</span>)
+and specifies the
+number of initial iterations of the SOR
+scheme (at t = 0). The number of subsequent iterations at the following
+timesteps is determined
+with the parameter <a href="#nsor">nsor</a>.
+Usually <b>nsor</b> &lt; <b>nsor_ini</b>,
+since in each case
+subsequent calls to <a href="chapter_4.2.html#psolver">psolver</a>
+use the solution of the previous call as initial value. Suitable
+test runs should determine whether sufficient convergence of the
+solution is obtained with the default value and if necessary the value
+of <b>nsor_ini</b> should be changed.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="nx"></a><b>nx</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Number of grid
+points in x-direction.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>A value for this
+parameter must be assigned. Since the lower
+array bound in PALM
+starts with i = 0, the actual number of grid points is equal to <b>nx+1</b>.
+In case of cyclic boundary conditions along x, the domain size is (<b>nx+1</b>)*
+      <a href="#dx">dx</a>.</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For
+parallel runs, in case of <a href="#grid_matching">grid_matching</a>
+= <span style="font-style: italic;">'strict'</span>,
+      <b>nx+1</b> must
+be an integral multiple
+of the processor numbers (see <a href="#npex">npex</a>
+and <a href="#npey">npey</a>)
+along x- as well as along y-direction (due to data
+transposition restrictions).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ny"></a><b>ny</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Number of grid
+points in y-direction.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>A value for this
+parameter must be assigned. Since the lower
+array bound in PALM starts with j = 0, the actual number of grid points
+is equal to <b>ny+1</b>. In case of cyclic boundary
+conditions along
+y, the domain size is (<b>ny+1</b>) * <a href="#dy">dy</a>.</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For parallel runs, in case of <a href="#grid_matching">grid_matching</a>
+= <span style="font-style: italic;">'strict'</span>,
+      <b>ny+1</b> must
+be an integral multiple
+of the processor numbers (see <a href="#npex">npex</a>
+and <a href="#npey">npey</a>)&nbsp;
+along y- as well as along x-direction (due to data
+transposition restrictions).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="nz"></a><b>nz</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Number of grid
+points in z-direction.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>A value for this
+parameter must be assigned. Since the lower
+array bound in PALM
+starts with k = 0 and since one additional grid point is added at the
+top boundary (k = <b>nz+1</b>), the actual number of grid
+points is <b>nz+2</b>.
+However, the prognostic equations are only solved up to <b>nz</b>
+(u,
+v)
+or up to <b>nz-1</b> (w, scalar quantities). The top
+boundary for u
+and v is at k = <b>nz+1</b> (u, v) while at k = <b>nz</b>
+for all
+other quantities.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For parallel
+runs,&nbsp; in case of <a href="#grid_matching">grid_matching</a>
+= <span style="font-style: italic;">'strict'</span>,
+      <b>nz</b> must
+be an integral multiple of
+the number of processors in x-direction (due to data transposition
+restrictions).</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="ocean"></a><span style="font-weight: bold;">ocean</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">Parameter to switch on&nbsp;ocean runs.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+By default PALM is configured to simulate&nbsp;atmospheric flows. However, starting from version 3.3, <span style="font-weight: bold;">ocean</span> = <span style="font-style: italic;">.T.</span> allows&nbsp;simulation of ocean turbulent flows. Setting this switch has several effects:<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+        <li>An additional prognostic equation for salinity is solved.</li>
+
+
+
+
+
+
+        <li>Potential temperature in buoyancy and stability-related terms is replaced by potential density.</li>
+
+
+
+
+
+
+        <li>Potential
+density is calculated from the equation of state for seawater after
+each timestep, using the algorithm proposed by Jackett et al. (2006, J.
+Atmos. Oceanic Technol., <span style="font-weight: bold;">23</span>, 1709-1728).<br>
+
+
+
+
+
+
+So far, only the initial hydrostatic pressure is entered into this equation.</li>
+
+
+
+
+
+
+        <li>z=0 (sea surface) is assumed at the model top (vertical grid index <span style="font-family: Courier New,Courier,monospace;">k=nzt</span> on the w-grid), with negative values of z indicating the depth.</li>
+
+
+
+
+
+
+        <li>Initial profiles are constructed (e.g. from <a href="#pt_vertical_gradient">pt_vertical_gradient</a> / <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>) starting from the sea surface, using surface values&nbsp;given by <a href="#pt_surface">pt_surface</a>, <a href="#sa_surface">sa_surface</a>, <a href="#ug_surface">ug_surface</a>, and <a href="#vg_surface">vg_surface</a>.</li>
+
+
+
+
+
+
+        <li>Zero salinity flux is used as default boundary condition at the bottom of the sea.</li>
+
+
+
+
+
+
+        <li>If switched on, random perturbations are by default imposed to the upper model domain from zu(nzt*2/3) to zu(nzt-3).</li>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+Relevant parameters to be exclusively used for steering ocean runs are <a href="#bc_sa_t">bc_sa_t</a>, <a href="#bottom_salinityflux">bottom_salinityflux</a>, <a href="#sa_surface">sa_surface</a>, <a href="#sa_vertical_gradient">sa_vertical_gradient</a>, <a href="#sa_vertical_gradient_level">sa_vertical_gradient_level</a>, and <a href="#top_salinityflux">top_salinityflux</a>.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+Section <a href="chapter_4.2.2.html">4.4.2</a> gives an example for appropriate settings of these and other parameters neccessary for ocean runs.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">ocean</span> = <span style="font-style: italic;">.T.</span> does not allow settings of <a href="#timestep_scheme">timestep_scheme</a> = <span style="font-style: italic;">'leapfrog'</span> or <span style="font-style: italic;">'leapfrog+euler'</span> as well as <a href="#scalar_advec">scalar_advec</a> = <span style="font-style: italic;">'ups-scheme'</span>.<span style="font-weight: bold;"></span><br>
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="omega"></a><b>omega</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>7.29212E-5</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Angular
+velocity of the rotating system (in rad s<sup>-1</sup>).&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The angular velocity of the earth is set by
+default. The
+values
+of the Coriolis parameters are calculated as:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+
+        
+        
+        
+        
+        
+        
+        <p>f = 2.0 * <b>omega</b> * sin(<a href="#phi">phi</a>)&nbsp;
+        <br>
+
+
+
+
+
+
+f* = 2.0 * <b>omega</b> * cos(<a href="#phi">phi</a>)</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="outflow_damping_width"></a><b>outflow_damping_width</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">MIN(20,
+nx/2</span> or <span style="font-style: italic;">ny/2)</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Width of
+the damping range in the vicinity of the outflow (gridpoints).<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+When using non-cyclic lateral boundaries (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>
+or <a href="chapter_4.1.html#bc_ns">bc_ns</a>),
+a smoothing has to be applied to the
+velocity field in the vicinity of the outflow in order to suppress any
+reflections of outgoing disturbances. This parameter controlls the
+horizontal range to which the smoothing is applied. The range is given
+in gridpoints counted from the respective outflow boundary. For further
+details about the smoothing see parameter <a href="chapter_4.1.html#km_damp_max">km_damp_max</a>,
+which defines the magnitude of the damping.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="overshoot_limit_e"></a><b>overshoot_limit_e</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Allowed limit
+for the overshooting of subgrid-scale TKE in
+case that the upstream-spline scheme is switched on (in m<sup>2</sup>/s<sup>2</sup>).&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By deafult, if cut-off of overshoots is switched
+on for the
+upstream-spline scheme (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>),
+no overshoots are permitted at all. If <b>overshoot_limit_e</b>
+is given a non-zero value, overshoots with the respective
+amplitude (both upward and downward) are allowed.&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are allowed for <b>overshoot_limit_e</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="overshoot_limit_pt"></a><b>overshoot_limit_pt</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Allowed limit
+for the overshooting of potential temperature in
+case that the upstream-spline scheme is switched on (in K).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are allowed for <b>overshoot_limit_pt</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="overshoot_limit_u"></a><b>overshoot_limit_u</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">Allowed limit for the
+overshooting of
+the u-component of velocity in case that the upstream-spline scheme is
+switched on (in m/s). 
+      
+      
+      
+      
+      
+      
+      <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are allowed for <b>overshoot_limit_u</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="overshoot_limit_v"></a><b>overshoot_limit_v</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Allowed limit
+for the overshooting of the v-component of
+velocity in case that the upstream-spline scheme is switched on
+(in m/s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are allowed for <b>overshoot_limit_v</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="overshoot_limit_w"></a><b>overshoot_limit_w</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Allowed limit
+for the overshooting of the w-component of
+velocity in case that the upstream-spline scheme is switched on
+(in m/s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are permitted for <b>overshoot_limit_w</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="passive_scalar"></a><b>passive_scalar</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+switch on the prognostic equation for a passive
+scalar. <br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The initial vertical profile
+of s can be set via parameters <a href="#s_surface">s_surface</a>,
+      <a href="#s_vertical_gradient">s_vertical_gradient</a>
+and&nbsp; <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>.
+Boundary conditions can be set via <a href="#s_surface_initial_change">s_surface_initial_change</a>
+and <a href="#surface_scalarflux">surface_scalarflux</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><b>Note:</b> <br>
+
+
+
+
+
+
+
+With <span style="font-weight: bold;">passive_scalar</span>
+switched
+on, the simultaneous use of humidity (see&nbsp;<a href="#humidity">humidity</a>)
+is impossible.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="pch_index"></a><span style="font-weight: bold;">pch_index</span></td>
+
+      <td style="vertical-align: top;">I</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0</span></td>
+
+      <td style="vertical-align: top;">Grid point index (scalar) of the upper boundary of the plant canopy layer.<br>
+
+      <br>
+
+Above <span style="font-weight: bold;">pch_index</span> the arrays of leaf area density and drag_coeffient are automatically set to zero in case of <a href="#plant_canopy">plant_canopy</a> = .T.. Up to <span style="font-weight: bold;">pch_index</span> a leaf area density profile can be prescribed by using the parameters <a href="#lad_surface">lad_surface</a>, <a href="#lad_vertical_gradient">lad_vertical_gradient</a> and <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level</a>.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="phi"></a><b>phi</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>55.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Geographical
+latitude (in degrees).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The value of
+this parameter determines the value of the
+Coriolis parameters f and f*, provided that the angular velocity (see <a href="#omega">omega</a>)
+is non-zero.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="plant_canopy"></a><span style="font-weight: bold;">plant_canopy</span></td>
+
+      <td style="vertical-align: top;">L</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+      <td style="vertical-align: top;">Switch for the plant_canopy_model.<br>
+
+      <br>
+
+If <span style="font-weight: bold;">plant_canopy</span> is set <span style="font-style: italic;">.T.</span>, the plant canopy model of Watanabe (2004, BLM 112, 307-341) is used. <br>
+
+The
+impact of a plant canopy on a turbulent flow is considered by an
+additional drag term in the momentum equations and an additional sink
+term in the prognostic equation for the subgrid-scale TKE. These
+additional terms are dependent on the leaf drag coefficient (see <a href="#drag_coefficient">drag_coefficient</a>) and the leaf area density (see <a href="#lad_surface">lad_surface</a>, <a href="#lad_vertical_gradient">lad_vertical_gradient</a>, <a href="#lad_vertical_gradient_level">lad_vertical_gradient_level</a>). The top boundary of the plant canopy is determined by the parameter <a href="#pch_index">pch_index</a>. For all heights equal to or larger than zw(k=<span style="font-weight: bold;">pch_index</span>) the leaf area density is 0 (i.e. there is no canopy at these heights!). <br>
+
+By default, a horizontally homogeneous plant canopy is prescribed, if&nbsp; <span style="font-weight: bold;">plant_canopy</span> is set <span style="font-style: italic;">.T.</span>. However, the user can define other types of plant canopies (see <a href="#canopy_mode">canopy_mode</a>).<br><br>If <span style="font-weight: bold;">plant_canopy</span> and&nbsp; <span style="font-weight: bold;">passive_scalar</span><span style="font-style: italic;"> </span>are set <span style="font-style: italic;">.T.</span>,
+the canopy acts as an additional source or sink, respectively, of
+scalar concentration. The source/sink strength is dependent on the
+scalar concentration at the leaf surface, which is generally constant
+with time in PALM and which can be specified by specifying the
+parameter <a href="#leaf_surface_concentration">leaf_surface_concentration</a>. <br><br>Additional heating of the air by the plant canopy is taken into account, when the default value of the parameter <a href="#cthf">cthf</a> is altered in the parameter file. In that case the value of <a href="#surface_heatflux">surface_heatflux</a>
+specified in the parameter file is not used in the model. Instead the
+near-surface heat flux is derived from an expontial function that is
+dependent on the cumulative leaf area index. <br> 
+
+      <br>
+
+      <span style="font-weight: bold;">plant_canopy</span> = <span style="font-style: italic;">.T. </span>is only allowed together with a non-zero <a href="#drag_coefficient">drag_coefficient</a>.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="prandtl_layer"></a><b>prandtl_layer</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.T.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+switch on a Prandtl layer.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By default,
+a Prandtl layer is switched on at the bottom
+boundary between z = 0 and z = 0.5 * <a href="#dz">dz</a>
+(the first computational grid point above ground for u, v and the
+scalar quantities).
+In this case, at the bottom boundary, free-slip conditions for u and v
+(see <a href="#bc_uv_b">bc_uv_b</a>)
+are not allowed. Likewise, laminar
+simulations with constant eddy diffusivities (<a href="#km_constant">km_constant</a>)
+are forbidden.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>With Prandtl-layer
+switched off, the TKE boundary condition <a href="#bc_e_b">bc_e_b</a>
+= '<i>(u*)**2+neumann'</i> must not be used and is
+automatically
+changed to <i>'neumann'</i> if necessary.&nbsp; Also,
+the pressure
+boundary condition <a href="#bc_p_b">bc_p_b</a>
+= <i>'neumann+inhomo'</i>&nbsp; is not allowed. </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>The roughness length is declared via the parameter <a href="#roughness_length">roughness_length</a>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="precipitation"></a><b>precipitation</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to switch
+on the precipitation scheme.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For
+precipitation processes PALM uses a simplified Kessler
+scheme. This scheme only considers the
+so-called autoconversion, that means the generation of rain water by
+coagulation of cloud drops among themselves. Precipitation begins and
+is immediately removed from the flow as soon as the liquid water
+content exceeds the critical value of 0.5 g/kg.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>The precipitation rate and amount can be output by assigning the runtime parameter <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'prr*'</span> or <span style="font-style: italic;">'pra*'</span>, respectively. The time interval on which the precipitation amount is defined can be controlled via runtime parameter <a href="chapter_4.2.html#precipitation_amount_interval">precipitation_amount_interval</a>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="pt_reference"></a><span style="font-weight: bold;">pt_reference</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">use horizontal average as
+refrence</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">Reference
+temperature to be used in all buoyancy terms (in K).<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+By
+default, the instantaneous horizontal average over the total model
+domain is used.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>), always a reference temperature is used in the buoyancy terms with a default value of <span style="font-weight: bold;">pt_reference</span> = <a href="#pt_surface">pt_surface</a>.</td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="pt_surface"></a><b>pt_surface</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>300.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Surface
+potential temperature (in K).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This
+parameter assigns the value of the potential temperature
+      <span style="font-weight: bold;">pt</span> at the surface (k=0)<b>.</b> Starting from this value,
+the
+initial vertical temperature profile is constructed with <a href="#pt_vertical_gradient">pt_vertical_gradient</a>
+and <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level
+      </a>.
+This profile is also used for the 1d-model as a stationary profile.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="#ocean">ocean</a>),
+this parameter gives the temperature value at the sea surface, which is
+at k=nzt. The profile is then constructed from the surface down to the
+bottom of the model.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="pt_surface_initial_change"></a><b>pt_surface_initial</b>
+      <br>
+
+
+
+
+
+
+ <b>_change</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Change in
+surface temperature to be made at the beginning of
+the 3d run
+(in K).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If <b>pt_surface_initial_change</b>
+is set to a non-zero
+value, the near surface sensible heat flux is not allowed to be given
+simultaneously (see <a href="#surface_heatflux">surface_heatflux</a>).</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="pt_vertical_gradient"></a><b>pt_vertical_gradient</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * 0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Temperature
+gradient(s) of the initial temperature profile (in
+K
+/ 100 m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This temperature gradient
+holds starting from the height&nbsp;
+level defined by <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>
+(precisely: for all uv levels k where zu(k) &gt;
+pt_vertical_gradient_level,
+pt_init(k) is set: pt_init(k) = pt_init(k-1) + dzu(k) * <b>pt_vertical_gradient</b>)
+up to the top boundary or up to the next height level defined
+by <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>.
+A total of 10 different gradients for 11 height intervals (10 intervals
+if <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>(1)
+= <i>0.0</i>) can be assigned. The surface temperature is
+assigned via <a href="#pt_surface">pt_surface</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Example:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p><b>pt_vertical_gradient</b>
+= <i>1.0</i>, <i>0.5</i>,&nbsp; <br>
+
+
+
+
+
+
+
+        <b>pt_vertical_gradient_level</b> = <i>500.0</i>,
+        <i>1000.0</i>,</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>That
+defines the temperature profile to be neutrally
+stratified
+up to z = 500.0 m with a temperature given by <a href="#pt_surface">pt_surface</a>.
+For 500.0 m &lt; z &lt;= 1000.0 m the temperature gradient is
+1.0 K /
+100 m and for z &gt; 1000.0 m up to the top boundary it is
+0.5 K / 100 m (it is assumed that the assigned height levels correspond
+with uv levels).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>),
+the profile is constructed like described above, but starting from the
+sea surface (k=nzt) down to the bottom boundary of the model. Height
+levels have then to be given as negative values, e.g. <span style="font-weight: bold;">pt_vertical_gradient_level</span> = <span style="font-style: italic;">-500.0</span>, <span style="font-style: italic;">-1000.0</span>.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="pt_vertical_gradient_level"></a><b>pt_vertical_gradient</b>
+      <br>
+
+
+
+
+
+
+ <b>_level</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><i>10 *</i>&nbsp;
+      <span style="font-style: italic;">0.0</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Height level from which on the temperature gradient defined by
+      <a href="#pt_vertical_gradient">pt_vertical_gradient</a>
+is effective (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The height levels have to be assigned in ascending order. The
+default values result in a neutral stratification regardless of the
+values of <a href="#pt_vertical_gradient">pt_vertical_gradient</a>
+(unless the top boundary of the model is higher than 100000.0 m).
+For the piecewise construction of temperature profiles see <a href="#pt_vertical_gradient">pt_vertical_gradient</a>.</p>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs&nbsp;(see <a href="chapter_4.1.html#ocean">ocean</a>), the (negative) height levels have to be assigned in descending order.
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="q_surface"></a><b>q_surface</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Surface
+specific humidity / total water content (kg/kg).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This
+parameter assigns the value of the specific humidity q at
+the surface (k=0).&nbsp; Starting from this value, the initial
+humidity
+profile is constructed with&nbsp; <a href="#q_vertical_gradient">q_vertical_gradient</a>
+and <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>.
+This profile is also used for the 1d-model as a stationary profile.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="q_surface_initial_change"></a><b>q_surface_initial</b>
+      <br>
+
+
+
+
+
+
+ <b>_change</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Change in
+surface specific humidity / total water content to
+be made at the beginning
+of the 3d run (kg/kg).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If <b>q_surface_initial_change</b><i>
+      </i>is set to a
+non-zero value the
+near surface latent heat flux (water flux) is not allowed to be given
+simultaneously (see <a href="#surface_waterflux">surface_waterflux</a>).</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="q_vertical_gradient"></a><b>q_vertical_gradient</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * 0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Humidity
+gradient(s) of the initial humidity profile
+(in 1/100 m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This humidity gradient
+holds starting from the height
+level&nbsp; defined by <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>
+(precisely: for all uv levels k, where zu(k) &gt;
+q_vertical_gradient_level,
+q_init(k) is set: q_init(k) = q_init(k-1) + dzu(k) * <b>q_vertical_gradient</b>)
+up to the top boundary or up to the next height level defined
+by <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>.
+A total of 10 different gradients for 11 height intervals (10 intervals
+if <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>(1)
+= <i>0.0</i>) can be asigned. The surface humidity is
+assigned
+via <a href="#q_surface">q_surface</a>. </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Example:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p><b>q_vertical_gradient</b>
+= <i>0.001</i>, <i>0.0005</i>,&nbsp; <br>
+
+
+
+
+
+
+
+        <b>q_vertical_gradient_level</b> = <i>500.0</i>,
+        <i>1000.0</i>,</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+
+That defines the humidity to be constant with height up to z =
+500.0
+m with a
+value given by <a href="#q_surface">q_surface</a>.
+For 500.0 m &lt; z &lt;= 1000.0 m the humidity gradient is
+0.001 / 100
+m and for z &gt; 1000.0 m up to the top boundary it is
+0.0005 / 100 m (it is assumed that the assigned height levels
+correspond with uv
+levels). </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="q_vertical_gradient_level"></a><b>q_vertical_gradient</b>
+      <br>
+
+
+
+
+
+
+ <b>_level</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><i>10 *</i>&nbsp;
+      <i>0.0</i></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Height level from
+which on the humidity gradient defined by <a href="#q_vertical_gradient">q_vertical_gradient</a>
+is effective (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The height levels
+are to be assigned in ascending order. The
+default values result in a humidity constant with height regardless of
+the values of <a href="#q_vertical_gradient">q_vertical_gradient</a>
+(unless the top boundary of the model is higher than 100000.0 m). For
+the piecewise construction of humidity profiles see <a href="#q_vertical_gradient">q_vertical_gradient</a>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="radiation"></a><b>radiation</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+switch on longwave radiation cooling at
+cloud-tops.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Long-wave radiation
+processes are parameterized by the
+effective emissivity, which considers only the absorption and emission
+of long-wave radiation at cloud droplets. The radiation scheme can be
+used only with <a href="#cloud_physics">cloud_physics</a>
+= .TRUE. .</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="random_generator"></a><b>random_generator</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><i>'numerical</i><br>
+
+
+
+
+
+
+
+      <i>recipes'</i></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Random number
+generator to be used for creating uniformly
+distributed random numbers. <br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>It is
+used if random perturbations are to be imposed on the
+velocity field or on the surface heat flux field (see <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>
+and <a href="chapter_4.2.html#random_heatflux">random_heatflux</a>).
+By default, the "Numerical Recipes" random number generator is used.
+This one provides exactly the same order of random numbers on all
+different machines and should be used in particular for comparison runs.<br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+
+Besides, a system-specific generator is available ( <b>random_generator</b>
+= <i>'system-specific')</i> which should particularly be
+used for runs
+on vector parallel computers (NEC), because the default generator
+cannot be vectorized and therefore significantly drops down the code
+performance on these machines.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ <span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+
+
+Results from two otherwise identical model runs will not be comparable
+one-to-one if they used different random number generators.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="random_heatflux"></a><b>random_heatflux</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+impose random perturbations on the internal two-dimensional near
+surface heat flux field <span style="font-style: italic;">shf</span>.
+      <br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+If a near surface heat flux is used as bottom
+boundary
+condition (see <a href="#surface_heatflux">surface_heatflux</a>),
+it is by default assumed to be horizontally homogeneous. Random
+perturbations can be imposed on the internal
+two-dimensional&nbsp;heat flux field <span style="font-style: italic;">shf</span> by assigning <b>random_heatflux</b>
+= <i>.T.</i>. The disturbed heat flux field is calculated
+by
+multiplying the
+values at each mesh point with a normally distributed random number
+with a mean value and standard deviation of 1. This is repeated after
+every timestep.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+In case of a non-flat <a href="#topography">topography</a>,&nbsp;assigning
+      <b>random_heatflux</b>
+= <i>.T.</i> imposes random perturbations on the
+combined&nbsp;heat
+flux field <span style="font-style: italic;">shf</span>
+composed of <a href="#surface_heatflux">surface_heatflux</a>
+at the bottom surface and <a href="#wall_heatflux">wall_heatflux(0)</a>
+at the topography top face.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="recycling_width"></a>recycling_width</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.1 * <a href="chapter_4.1.html#nx">nx</a> * <a href="chapter_4.1.html#dx">dx</a></span></td><td style="vertical-align: top;">Distance of the recycling plane from the inflow boundary (in m).<br><br>This
+parameter sets the horizontal extension (along the direction of the
+main flow) of the so-called recycling domain which is used to generate
+a turbulent inflow (see <a href="chapter_4.1.html#turbulent_inflow">turbulent_inflow</a>). <span style="font-weight: bold;">recycling_width</span> must be larger than the grid spacing (dx) and smaller than the length of the total domain (nx * dx).</td></tr><tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="rif_max"></a><b>rif_max</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Upper limit of
+the flux-Richardson number.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>With the
+Prandtl layer switched on (see <a href="#prandtl_layer">prandtl_layer</a>),
+flux-Richardson numbers (rif) are calculated for z=z<sub>p</sub>
+(k=1)
+in the 3d-model (in the 1d model for all heights). Their values in
+particular determine the
+values of the friction velocity (1d- and 3d-model) and the values of
+the eddy diffusivity (1d-model). With small wind velocities at the
+Prandtl layer top or small vertical wind shears in the 1d-model, rif
+can take up unrealistic large values. They are limited by an upper (<span style="font-weight: bold;">rif_max</span>) and lower
+limit (see <a href="#rif_min">rif_min</a>)
+for the flux-Richardson number. The condition <b>rif_max</b>
+&gt; <b>rif_min</b>
+must be met.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="rif_min"></a><b>rif_min</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>- 5.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Lower limit of
+the flux-Richardson number.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>For further
+explanations see <a href="#rif_max">rif_max</a>.
+The condition <b>rif_max</b> &gt; <b>rif_min </b>must
+be met.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="roughness_length"></a><b>roughness_length</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.1</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Roughness
+length (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter is
+effective only in case that a Prandtl layer
+is switched
+on (see <a href="#prandtl_layer">prandtl_layer</a>).</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="sa_surface"></a><span style="font-weight: bold;">sa_surface</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">35.0</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Surface salinity (in psu).&nbsp;</p>
+
+
+
+
+
+
+This parameter only comes into effect for ocean runs (see parameter <a href="chapter_4.1.html#ocean">ocean</a>).
+      
+      
+      
+      
+      
+      
+      <p>This
+parameter assigns the value of the salinity <span style="font-weight: bold;">sa</span> at the sea surface (k=nzt)<b>.</b> Starting from this value,
+the
+initial vertical salinity profile is constructed from the surface down to the bottom of the model (k=0) by using&nbsp;<a href="chapter_4.1.html#sa_vertical_gradient">sa_vertical_gradient</a>
+and&nbsp;<a href="chapter_4.1.html#sa_vertical_gradient_level">sa_vertical_gradient_level
+      </a>.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="sa_vertical_gradient"></a><span style="font-weight: bold;">sa_vertical_gradient</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R(10)</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Salinity gradient(s) of the initial salinity profile (in psu
+/ 100 m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter only comes into effect for ocean runs (see parameter <a href="chapter_4.1.html#ocean">ocean</a>).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>This salinity gradient
+holds starting from the height&nbsp;
+level defined by <a href="chapter_4.1.html#sa_vertical_gradient_level">sa_vertical_gradient_level</a>
+(precisely: for all uv levels k where zu(k) &lt;
+sa_vertical_gradient_level, sa_init(k) is set: sa_init(k) =
+sa_init(k+1) - dzu(k+1) * <b>sa_vertical_gradient</b>) down to the bottom boundary or down to the next height level defined
+by <a href="chapter_4.1.html#sa_vertical_gradient_level">sa_vertical_gradient_level</a>.
+A total of 10 different gradients for 11 height intervals (10 intervals
+if <a href="chapter_4.1.html#sa_vertical_gradient_level">sa_vertical_gradient_level</a>(1)
+= <i>0.0</i>) can be assigned. The surface salinity at k=nzt is
+assigned via <a href="chapter_4.1.html#sa_surface">sa_surface</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Example:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+        
+        
+        
+        
+        
+        
+        <p><b>sa_vertical_gradient</b>
+= <i>1.0</i>, <i>0.5</i>,&nbsp; <br>
+
+
+
+
+
+
+
+        <b>sa_vertical_gradient_level</b> = <i>-500.0</i>,
+-<i>1000.0</i>,</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>That
+defines the salinity to be constant down to z = -500.0 m with a salinity given by <a href="chapter_4.1.html#sa_surface">sa_surface</a>.
+For -500.0 m &lt; z &lt;= -1000.0 m the salinity gradient is
+1.0 psu /
+100 m and for z &lt; -1000.0 m down to the bottom boundary it is
+0.5 psu / 100 m (it is assumed that the assigned height levels correspond
+with uv levels).</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="sa_vertical_gradient_level"></a><span style="font-weight: bold;">sa_vertical_gradient_level</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R(10)</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Height level from which on the salinity gradient defined by <a href="chapter_4.1.html#sa_vertical_gradient">sa_vertical_gradient</a>
+is effective (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This parameter only comes into effect for ocean runs (see parameter <a href="chapter_4.1.html#ocean">ocean</a>).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>The height levels have to be assigned in descending order. The
+default values result in a constant salinity profile regardless of the
+values of <a href="chapter_4.1.html#sa_vertical_gradient">sa_vertical_gradient</a>
+(unless the bottom boundary of the model is lower than -100000.0 m).
+For the piecewise construction of salinity profiles see <a href="chapter_4.1.html#sa_vertical_gradient">sa_vertical_gradient</a>.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="scalar_advec"></a><b>scalar_advec</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 10</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'pw-scheme'</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Advection
+scheme to be used for the scalar quantities.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The
+user can choose between the following schemes:<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'pw-scheme'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The scheme of
+Piascek and
+Williams (1970, J. Comp. Phys., 6,
+392-405) with central differences in the form C3 is used.<br>
+
+
+
+
+
+
+
+If intermediate Euler-timesteps are carried out in case of <a href="#timestep_scheme">timestep_scheme</a>
+= <span style="font-style: italic;">'leapfrog+euler'</span>
+the
+advection scheme is - for the Euler-timestep - automatically switched
+to an upstream-scheme. <br>
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'bc-scheme'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The Bott
+scheme modified by
+Chlond (1994, Mon.
+Wea. Rev., 122, 111-125). This is a conservative monotonous scheme with
+very small numerical diffusion and therefore very good conservation of
+scalar flow features. The scheme however, is computationally very
+expensive both because it is expensive itself and because it does (so
+far) not allow specific code optimizations (e.g. cache optimization).
+Choice of this
+scheme forces the Euler timestep scheme to be used for the scalar
+quantities. For output of horizontally averaged
+profiles of the resolved / total heat flux, <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>
+= <i>'w*pt*BC'</i> / <i>'wptBC' </i>should
+be used, instead of the
+standard profiles (<span style="font-style: italic;">'w*pt*'</span>
+and <span style="font-style: italic;">'wpt'</span>)
+because these are
+too inaccurate with this scheme. However, for subdomain analysis (see <a href="#statistic_regions">statistic_regions</a>)
+exactly the reverse holds: here <i>'w*pt*BC'</i> and <i>'wptBC'</i>
+show very large errors and should not be used.<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+This scheme is not allowed for non-cyclic lateral boundary conditions
+(see <a href="#bc_lr">bc_lr</a>
+and <a href="#bc_ns">bc_ns</a>).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      </div>
+
+
+
+
+
+
+ <span style="font-style: italic;">'ups-scheme'</span><br>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;">The upstream-spline-scheme
+is used
+(see Mahrer and Pielke,
+1978: Mon. Wea. Rev., 106, 818-830). In opposite to the Piascek
+Williams scheme, this is characterized by much better numerical
+features (less numerical diffusion, better preservation of flux
+structures, e.g. vortices), but computationally it is much more
+expensive. In
+addition, the use of the Euler-timestep scheme is mandatory (<a href="#timestep_scheme">timestep_scheme</a>
+= <span style="font-style: italic;">'</span><i>euler'</i>),
+i.e. the
+timestep accuracy is only first order. For this reason the advection of
+momentum (see <a href="#momentum_advec">momentum_advec</a>)
+should then also be carried out with the upstream-spline scheme,
+because otherwise the momentum would
+be subject to large numerical diffusion due to the upstream
+scheme.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;">Since
+the cubic splines used tend
+to overshoot under
+certain circumstances, this effect must be adjusted by suitable
+filtering and smoothing (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>,
+      <a href="#long_filter_factor">long_filter_factor</a>,
+      <a href="#ups_limit_pt">ups_limit_pt</a>, <a href="#ups_limit_u">ups_limit_u</a>, <a href="#ups_limit_v">ups_limit_v</a>, <a href="#ups_limit_w">ups_limit_w</a>).
+This is always neccesssary for runs with stable stratification,
+even if this stratification appears only in parts of the model
+domain.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;">With
+stable stratification the
+upstream-upline scheme also produces gravity waves with large
+amplitude, which must be
+suitably damped (see <a href="chapter_4.2.html#rayleigh_damping_factor">rayleigh_damping_factor</a>).<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p style="margin-left: 40px;"><span style="font-weight: bold;">Important: </span>The&nbsp;
+upstream-spline scheme is not implemented for humidity and passive
+scalars (see&nbsp;<a href="#humidity">humidity</a>
+and <a href="#passive_scalar">passive_scalar</a>)
+and requires the use of a 2d-domain-decomposition. The last conditions
+severely restricts code optimization on several machines leading to
+very long execution times! This scheme is also not allowed for
+non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a>
+and <a href="#bc_ns">bc_ns</a>).</p>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+A
+differing advection scheme can be choosed for the subgrid-scale TKE
+using parameter <a href="chapter_4.1.html#use_upstream_for_tke">use_upstream_for_tke</a>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="scalar_exchange_coefficient"></a><b>scalar_exchange_coefficient</b></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Scalar exchange coefficient for a leaf (dimensionless).<br>
+
+
+      <br>
+
+
+This parameter is only of importance in cases in that both, <a href="../../../../../DEVELOPER_VERSION/chapter_4.1_adjusted.html#plant_canopy">plant_canopy</a> and <a href="../../../../../DEVELOPER_VERSION/chapter_4.1_adjusted.html#passive_scalar">passive_scalar</a>, are set <span style="font-style: italic;">.T.</span>.
+The value of the scalar exchange coefficient is required for the parametrisation of the sources and sinks of
+scalar concentration due to the canopy.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="statistic_regions"></a><b>statistic_regions</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Number of
+additional user-defined subdomains for which
+statistical analysis
+and corresponding output (profiles, time series) shall be
+made.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>By default, vertical profiles and
+other statistical quantities
+are calculated as horizontal and/or volume average of the total model
+domain. Beyond that, these calculations can also be carried out for
+subdomains which can be defined using the field <a href="chapter_3.5.3.html">rmask </a>within the
+user-defined software
+(see <a href="chapter_3.5.3.html">chapter
+3.5.3</a>). The number of these subdomains is determined with the
+parameter <b>statistic_regions</b>. Maximum 9 additional
+subdomains
+are allowed. The parameter <a href="chapter_4.3.html#region">region</a>
+can be used to assigned names (identifier) to these subdomains which
+are then used in the headers
+of the output files and plots.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If the default NetCDF
+output format is selected (see parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>),
+data for the total domain and all defined subdomains are output to the
+same file(s) (<a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>,
+      <a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a>).
+In case of <span style="font-weight: bold;">statistic_regions</span>
+&gt; <span style="font-style: italic;">0</span>,
+data on the file for the different domains can be distinguished by a
+suffix which is appended to the quantity names. Suffix 0 means data for
+the total domain, suffix 1 means data for subdomain 1, etc.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>In
+case of <span style="font-weight: bold;">data_output_format</span>
+= <span style="font-style: italic;">'profil'</span>,
+individual local files for profiles (<a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>)&nbsp;are
+created for each subdomain. The individual subdomain files differ by
+their name (the
+number of the respective subdomain is attached, e.g.
+PLOT1D_DATA_1). In this case the name of the file with the data of
+the total domain is PLOT1D_DATA_0. If no subdomains
+are declared (<b>statistic_regions</b> = <i>0</i>),
+the name
+PLOT1D_DATA is used (this must be considered in the
+respective file connection statements of the <span style="font-weight: bold;">mrun</span> configuration
+file).</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="surface_heatflux"></a><b>surface_heatflux</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br>
+
+
+
+
+
+
+
+heatflux<br>
+
+
+
+
+
+
+ </span></td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Kinematic sensible
+heat flux at the bottom surface (in K m/s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If
+a value is assigned to this parameter, the internal two-dimensional
+surface heat flux field <span style="font-style: italic;">shf</span>
+is initialized with the value of <span style="font-weight: bold;">surface_heatflux</span>&nbsp;as
+bottom (horizontally homogeneous) boundary condition for the
+temperature equation. This additionally requires that a Neumann
+condition must be used for the potential temperature (see <a href="#bc_pt_b">bc_pt_b</a>),
+because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed. Also,
+changes of the
+surface temperature (see <a href="#pt_surface_initial_change">pt_surface_initial_change</a>)
+are not allowed. The parameter <a href="#random_heatflux">random_heatflux</a>
+can be used to impose random perturbations on the (homogeneous) surface
+heat
+flux field <span style="font-style: italic;">shf</span>.&nbsp;</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>
+In case of a non-flat <a href="#topography">topography</a>,&nbsp;the
+internal two-dimensional&nbsp;surface heat
+flux field <span style="font-style: italic;">shf</span>
+is initialized with the value of <span style="font-weight: bold;">surface_heatflux</span>
+at the bottom surface and <a href="#wall_heatflux">wall_heatflux(0)</a>
+at the topography top face.&nbsp;The parameter<a href="#random_heatflux"> random_heatflux</a>
+can be used to impose random perturbations on this combined surface
+heat
+flux field <span style="font-style: italic;">shf</span>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If no surface heat flux is assigned, <span style="font-style: italic;">shf</span> is calculated
+at each timestep by u<sub>*</sub> * theta<sub>*</sub>
+(of course only with <a href="#prandtl_layer">prandtl_layer</a>
+switched on). Here, u<sub>*</sub>
+and theta<sub>*</sub> are calculated from the Prandtl law
+assuming
+logarithmic wind and temperature
+profiles between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_pt_b">bc_pt_b</a>)
+must be used as bottom boundary condition for the potential temperature.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>See
+also <a href="#top_heatflux">top_heatflux</a>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="surface_pressure"></a><b>surface_pressure</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1013.25</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Atmospheric
+pressure at the surface (in hPa).&nbsp; </p>
+
+
+
+
+
+
+
+Starting from this surface value, the vertical pressure
+profile is calculated once at the beginning of the run assuming a
+neutrally stratified
+atmosphere. This is needed for
+converting between the liquid water potential temperature and the
+potential temperature (see <a href="#cloud_physics">cloud_physics</a><span style="text-decoration: underline;"></span>).</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="surface_scalarflux"></a><b>surface_scalarflux</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Scalar flux at
+the surface (in kg/(m<sup>2</sup> s)).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If a non-zero value is assigned to this parameter, the
+respective scalar flux value is used
+as bottom (horizontally homogeneous) boundary condition for the scalar
+concentration equation.&nbsp;This additionally requires that a
+Neumann
+condition must be used for the scalar concentration&nbsp;(see <a href="#bc_s_b">bc_s_b</a>),
+because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed. Also,
+changes of the
+surface scalar concentration (see <a href="#s_surface_initial_change">s_surface_initial_change</a>)
+are not allowed. <br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If no surface scalar
+flux is assigned (<b>surface_scalarflux</b>
+= <i>0.0</i>),
+it is calculated at each timestep by u<sub>*</sub> * s<sub>*</sub>
+(of course only with Prandtl layer switched on). Here, s<sub>*</sub>
+is calculated from the Prandtl law assuming a logarithmic scalar
+concentration
+profile between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_s_b">bc_s_b</a>)
+must be used as bottom boundary condition for the scalar concentration.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="surface_waterflux"></a><b>surface_waterflux</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Kinematic
+water flux near the surface (in m/s).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If
+a non-zero value is assigned to this parameter, the
+respective water flux value is used
+as bottom (horizontally homogeneous) boundary condition for the
+humidity equation. This additionally requires that a Neumann
+condition must be used for the specific humidity / total water content
+(see <a href="#bc_q_b">bc_q_b</a>),
+because otherwise the resolved scale may contribute to
+the surface flux so that a constant value cannot be guaranteed. Also,
+changes of the
+surface humidity (see <a href="#q_surface_initial_change">q_surface_initial_change</a>)
+are not allowed.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>If no surface water
+flux is assigned (<b>surface_waterflux</b>
+= <i>0.0</i>),
+it is calculated at each timestep by u<sub>*</sub> * q<sub>*</sub>
+(of course only with Prandtl layer switched on). Here, q<sub>*</sub>
+is calculated from the Prandtl law assuming a logarithmic temperature
+profile between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_q_b">bc_q_b</a>)
+must be used as the bottom boundary condition for the humidity.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="s_surface"></a><b>s_surface</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Surface value
+of the passive scalar (in kg/m<sup>3</sup>).&nbsp;<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+
+This parameter assigns the value of the passive scalar s at
+the surface (k=0)<b>.</b> Starting from this value, the
+initial vertical scalar concentration profile is constructed with<a href="#s_vertical_gradient">
+s_vertical_gradient</a> and <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="s_surface_initial_change"></a><b>s_surface_initial</b>
+      <br>
+
+
+
+
+
+
+ <b>_change</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Change in
+surface scalar concentration to be made at the
+beginning of the 3d run (in kg/m<sup>3</sup>).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If <b>s_surface_initial_change</b><i>&nbsp;</i>is
+set to a
+non-zero
+value, the near surface scalar flux is not allowed to be given
+simultaneously (see <a href="#surface_scalarflux">surface_scalarflux</a>).</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="s_vertical_gradient"></a><b>s_vertical_gradient</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * 0</i><i>.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Scalar
+concentration gradient(s) of the initial scalar
+concentration profile (in kg/m<sup>3 </sup>/
+100 m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The scalar gradient holds
+starting from the height level
+defined by <a href="#s_vertical_gradient_level">s_vertical_gradient_level
+      </a>(precisely: for all uv levels k, where zu(k) &gt;
+s_vertical_gradient_level, s_init(k) is set: s_init(k) = s_init(k-1) +
+dzu(k) * <b>s_vertical_gradient</b>) up to the top
+boundary or up to
+the next height level defined by <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>.
+A total of 10 different gradients for 11 height intervals (10 intervals
+if <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>(1)
+= <i>0.0</i>) can be assigned. The surface scalar value is
+assigned
+via <a href="#s_surface">s_surface</a>.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Example:&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+
+ 
+        
+        
+        
+        
+        
+        
+        <p><b>s_vertical_gradient</b>
+= <i>0.1</i>, <i>0.05</i>,&nbsp; <br>
+
+
+
+
+
+
+
+        <b>s_vertical_gradient_level</b> = <i>500.0</i>,
+        <i>1000.0</i>,</p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      </ul>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>That
+defines the scalar concentration to be constant with
+height up to z = 500.0 m with a value given by <a href="#s_surface">s_surface</a>.
+For 500.0 m &lt; z &lt;= 1000.0 m the scalar gradient is 0.1
+kg/m<sup>3 </sup>/ 100 m and for z &gt; 1000.0 m up to
+the top
+boundary it is 0.05 kg/m<sup>3 </sup>/ 100 m (it is
+assumed that the
+assigned height levels
+correspond with uv
+levels).</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="s_vertical_gradient_level"></a><b>s_vertical_gradient_</b>
+      <br>
+
+
+
+
+
+
+ <b>level</b></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><i>10 *</i>
+      <i>0.0</i></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Height level from
+which on the scalar gradient defined by <a href="#s_vertical_gradient">s_vertical_gradient</a>
+is effective (in m).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The height levels
+are to be assigned in ascending order. The
+default values result in a scalar concentration constant with height
+regardless of the values of <a href="#s_vertical_gradient">s_vertical_gradient</a>
+(unless the top boundary of the model is higher than 100000.0 m). For
+the
+piecewise construction of scalar concentration profiles see <a href="#s_vertical_gradient">s_vertical_gradient</a>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="timestep_scheme"></a><b>timestep_scheme</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">C * 20</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><i>'runge</i><br>
+
+
+
+
+
+
+
+      <i>kutta-3'</i></p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Time step scheme to
+be used for the integration of the prognostic
+variables.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The user can choose between
+the following schemes:<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'runge-kutta-3'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Third order
+Runge-Kutta scheme.<br>
+
+
+
+
+
+
+
+This scheme requires the use of <a href="#momentum_advec">momentum_advec</a>
+= <a href="#scalar_advec">scalar_advec</a>
+= '<i>pw-scheme'</i>. Please refer to the&nbsp;<a href="../tec/numerik.heiko/zeitschrittverfahren.pdf">documentation
+on PALM's time integration schemes&nbsp;(28p., in German)</a>
+fur further details.<br>
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'runge-kutta-2'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Second order
+Runge-Kutta scheme.<br>
+
+
+
+
+
+
+
+For special features see <b>timestep_scheme</b> = '<i>runge-kutta-3'</i>.<br>
+
+
+
+
+
+
+
+      </div>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-style: italic;"><span style="font-style: italic;">'leapfrog'</span><br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+ </span> 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Second
+order leapfrog scheme.<br>
+
+
+
+
+
+
+
+Although this scheme requires a constant timestep (because it is
+centered in time),&nbsp; is even applied in case of changes in
+timestep. Therefore, only small
+changes of the timestep are allowed (see <a href="#dt">dt</a>).
+However, an Euler timestep is always used as the first timestep of an
+initiali run. When using the Bott-Chlond scheme for scalar advection
+(see <a href="#scalar_advec">scalar_advec</a>),
+the prognostic equation for potential temperature will be calculated
+with the Euler scheme, although the leapfrog scheme is switched
+on.&nbsp; <br>
+
+
+
+
+
+
+
+The leapfrog scheme must not be used together with the upstream-spline
+scheme for calculating the advection (see <a href="#scalar_advec">scalar_advec</a>
+= '<i>ups-scheme'</i> and <a href="#momentum_advec">momentum_advec</a>
+= '<i>ups-scheme'</i>).<br>
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+      <span style="font-style: italic;">'</span><span style="font-style: italic;"><span style="font-style: italic;">leapfrog+euler'</span><br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+ </span> 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">The
+leapfrog scheme is used, but
+after each change of a timestep an Euler timestep is carried out.
+Although this method is theoretically correct (because the pure
+leapfrog method does not allow timestep changes), the divergence of the
+velocity field (after applying the pressure solver) may be
+significantly larger than with <span style="font-style: italic;">'leapfrog'</span>.<br>
+
+
+
+
+
+
+
+      </div>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ <span style="font-style: italic;">'euler'</span><br>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">First order
+Euler scheme.&nbsp; <br>
+
+
+
+
+
+
+
+The Euler scheme must be used when treating the advection terms with
+the upstream-spline scheme (see <a href="#scalar_advec">scalar_advec</a>
+= <span style="font-style: italic;">'ups-scheme'</span>
+and <a href="#momentum_advec">momentum_advec</a>
+= <span style="font-style: italic;">'ups-scheme'</span>).</div>
+
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+A differing timestep scheme can be choosed for the
+subgrid-scale TKE using parameter <a href="#use_upstream_for_tke">use_upstream_for_tke</a>.<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="text-align: left; vertical-align: top;"><span style="font-weight: bold;"><a name="topography"></a></span><span style="font-weight: bold;">topography</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">C * 40</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">'flat'</span></td>
+
+
+
+
+
+
+ <td>
+      
+      
+      
+      
+      
+      
+      <p>Topography mode.&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The user can
+choose between the following modes:<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'flat'</span><br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Flat surface.</div>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'single_building'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Flow
+around&nbsp;a single rectangular building mounted on a flat surface.<br>
+
+
+
+
+
+
+
+The building size and location can be specified by the parameters <a href="#building_height">building_height</a>, <a href="#building_length_x">building_length_x</a>, <a href="#building_length_y">building_length_y</a>, <a href="#building_wall_left">building_wall_left</a> and <a href="#building_wall_south">building_wall_south</a>.<font color="#000000"><br></font></div>
+
+
+
+
+
+
+
+      <span style="font-style: italic;"></span> 
+      
+      
+      
+      
+      
+      
+      <p><span style="font-style: italic;">'single_street_canyon'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Flow
+over a single, quasi-2D street canyon of infinite length oriented either in x- or in y-direction.<br>
+
+
+
+
+
+
+
+The canyon size, orientation and location can be specified by the parameters <a href="chapter_4.1.html#canyon_height">canyon_height</a> plus <span style="font-weight: bold;">either</span>&nbsp;<a href="chapter_4.1.html#canyon_width_x">canyon_width_x</a> and <a href="chapter_4.1.html#canyon_wall_left">canyon_wall_left</a> <span style="font-weight: bold;">or</span>&nbsp; <a href="chapter_4.1.html#canyon_width_y">canyon_width_y</a> and <a href="chapter_4.1.html#canyon_wall_south">canyon_wall_south</a>.<font color="#000000"><br></font></div>
+
+
+
+
+
+
+
+      <span style="font-style: italic;"></span>&nbsp;<span style="font-style: italic;"></span><p><span style="font-style: italic;">'read_from_file'</span><br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;">Flow around
+arbitrary topography.<br>
+
+
+
+
+
+
+
+This mode requires the input file <a href="chapter_3.4.html#TOPOGRAPHY_DATA">TOPOGRAPHY_DATA</a><font color="#000000">. This file contains </font><font color="#000000"><font color="#000000">the&nbsp;</font></font><font color="#000000">arbitrary topography </font><font color="#000000"><font color="#000000">height
+information</font></font><font color="#000000">
+in m. These data&nbsp;<span style="font-style: italic;"></span>must
+exactly match the horizontal grid.<br></font> </div>
+
+
+
+
+
+
+ <span style="font-style: italic;"><br>
+
+
+
+
+
+
+ </span><font color="#000000">
+Alternatively, the user may add code to the user interface subroutine <a href="chapter_3.5.1.html#user_init_grid">user_init_grid</a>
+to allow further topography modes. </font>These require to explicitly set the<span style="font-weight: bold;"> </span><a href="#topography_grid_convention">topography_grid_convention</a>&nbsp;to either <span style="font-style: italic;">'cell_edge'</span> or <span style="font-style: italic;">'cell_center'</span>.<br>
+
+      <font color="#000000">
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+Non-flat <span style="font-weight: bold;">topography</span>
+modes may assign a</font>
+kinematic sensible<font color="#000000"> <a href="chapter_4.1.html#wall_heatflux">wall_heatflux</a> at the five topography faces.</font><br>
+
+      <font color="#000000">
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+All non-flat <span style="font-weight: bold;">topography</span>
+modes </font>require the use of <a href="#momentum_advec">momentum_advec</a>
+= <a href="#scalar_advec">scalar_advec</a>
+= '<i>pw-scheme'</i>, <a href="chapter_4.2.html#psolver">psolver</a>
+/= <i>'sor</i><i>'</i>,
+      <i>&nbsp;</i><a href="#alpha_surface">alpha_surface</a>
+= 0.0,<span style="font-style: italic;"></span>&nbsp;<a style="" href="#galilei_transformation">galilei_transformation</a>
+= <span style="font-style: italic;">.F.</span>,&nbsp;<a href="#cloud_physics">cloud_physics&nbsp;</a> = <span style="font-style: italic;">.F.</span>,&nbsp; <a href="#cloud_droplets">cloud_droplets</a> = <span style="font-style: italic;">.F.</span>,&nbsp;&nbsp;<a href="#humidity">humidity</a> = <span style="font-style: italic;">.F.</span>, and <a href="#prandtl_layer">prandtl_layer</a> = .T..<br>
+
+
+
+
+
+
+
+      <font color="#000000"><br>
+
+
+
+
+
+
+
+Note that an inclined model domain requires the use of <span style="font-weight: bold;">topography</span> = <span style="font-style: italic;">'flat'</span> and a
+nonzero </font><a href="#alpha_surface">alpha_surface</a>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr><td style="vertical-align: top;"><a name="topography_grid_convention"></a><span style="font-weight: bold;">topography_grid_</span><br style="font-weight: bold;"><span style="font-weight: bold;">convention</span></td><td style="vertical-align: top;">C*11</td><td style="vertical-align: top;"><span style="font-style: italic;">default depends on value of <a href="chapter_4.1.html#topography">topography</a>; see text for details</span></td><td>Convention for defining the&nbsp;topography grid.<br><br>Possible values are<br><ul><li><span style="font-style: italic;">'cell_edge':&nbsp;</span>the distance between cell edges defines the extent of topography. This setting is normally for <span style="font-style: italic;">generic topographies</span>, i.e. topographies that are constructed using length parameters. For example, <a href="chapter_4.1.html#topography">topography</a> = <span style="font-style: italic;">'single_building'</span> is constructed using <a href="chapter_4.1.html#building_length_x">building_length_x</a> and <a href="chapter_4.1.html#building_length_y">building_length_y</a>.
+The advantage of this setting is that the actual size of generic
+topography is independent of the grid size, provided that the length
+parameters are an integer multiple of the grid lengths&nbsp;<a href="chapter_4.1.html#dx">dx</a> and&nbsp;<a href="chapter_4.1.html#dy">dy</a>. This is convenient&nbsp;for resolution parameter studies.</li><li><span style="font-style: italic;">'cell_center'</span><span style="font-style: italic;">:&nbsp;</span>the number of topography cells define the extent of topography. This setting is normally for <span style="font-style: italic;">rastered real topographies</span> derived from digital elevation models.&nbsp;For example, <a href="chapter_4.1.html#topography">topography</a> = <span style="font-style: italic;">'read_from_file'</span> is constructed using&nbsp;the input file <a href="chapter_3.4.html#TOPOGRAPHY_DATA">TOPOGRAPHY_DATA</a><font color="#000000">.&nbsp;</font>The
+advantage of this setting is that the&nbsp;rastered topography cells of
+the input file are directly mapped to topography grid boxes in PALM. <span style="font-style: italic;"></span></li></ul>The example files&nbsp;<big><code>example_topo_file</code></big> and&nbsp;<big><code>example_building</code></big> in <big><code>trunk/EXAMPLES/</code></big>
+illustrate the difference between
+both approaches. Both examples simulate a single building and yield the
+same results. The former uses a rastered topography input file with <span style="font-style: italic;">'cell_center'</span> convention, the latter applies a generic topography with <span style="font-style: italic;">'cell_edge'</span> convention.<br><br>The default value is<br><ul><li><span style="font-style: italic;">'cell_edge' </span>if <a href="chapter_4.1.html#topography">topography</a> = <span style="font-style: italic;">'single_building'</span> or <span style="font-style: italic;">'single_street_canyon'</span>,</li><li><span style="font-style: italic;">'cell_center'</span><span style="font-style: italic;"></span> if <a href="chapter_4.1.html#topography">topography</a> = <span style="font-style: italic;">'read_from_file'</span>,</li><li><span style="font-style: italic;">none (' '</span> ) otherwise, leading to an abort if&nbsp;<span style="font-weight: bold;">topography_grid_convention</span> is not set.</li></ul>This means that <br><ul><li>For PALM simulations using a <span style="font-style: italic;">user-defined topography</span>, the<span style="font-weight: bold;"> topography_grid_convention</span> must be explicitly set to either <span style="font-style: italic;">'cell_edge'</span> or <span style="font-style: italic;">'cell_center'</span>.</li><li>For PALM simulations using a <span style="font-style: italic;">standard topography</span> <span style="font-style: italic;">('single_building'</span>, <span style="font-style: italic;">'single_street_canyon'</span> or <span style="font-style: italic;">'read_from_file')</span>, it is possible but not required to set the&nbsp; <span style="font-weight: bold;">topography_grid_convention</span> because appropriate default values apply.</li></ul></td></tr><tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="top_heatflux"></a><span style="font-weight: bold;">top_heatflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br>
+
+
+
+
+
+
+
+heatflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Kinematic
+sensible heat flux at the top boundary (in K m/s).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If a value is assigned to this parameter, the internal
+two-dimensional surface heat flux field <span style="font-family: monospace;">tswst</span> is
+initialized with the value of <span style="font-weight: bold;">top_heatflux</span>&nbsp;as
+top (horizontally homogeneous) boundary condition for the
+temperature equation. This additionally requires that a Neumann
+condition must be used for the potential temperature (see <a href="chapter_4.1.html#bc_pt_t">bc_pt_t</a>),
+because otherwise the resolved scale may contribute to
+the top flux so that a constant flux value cannot be guaranteed.<span style="font-style: italic;"></span>&nbsp;</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+
+The
+application of a top heat flux additionally requires the setting of
+initial parameter <a href="#use_top_fluxes">use_top_fluxes</a>
+= .T..<span style="font-style: italic;"></span><span style="font-weight: bold;"></span> </p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>No
+Prandtl-layer is available at the top boundary so far.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>See
+also <a href="#surface_heatflux">surface_heatflux</a>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="top_momentumflux_u"></a><span style="font-weight: bold;">top_momentumflux_u</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed momentumflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">Momentum flux along x at the top boundary (in m2/s2).<br>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If a value is assigned to this parameter, the internal
+two-dimensional u-momentum flux field <span style="font-family: monospace;">uswst</span> is
+initialized with the value of <span style="font-weight: bold;">top_momentumflux_u</span> as
+top (horizontally homogeneous) boundary condition for the u-momentum equation.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Notes:</span><br>
+
+
+
+
+
+
+The
+application of a top momentum flux additionally requires the setting of
+initial parameter <a href="chapter_4.1.html#use_top_fluxes">use_top_fluxes</a>
+= .T.. Setting of <span style="font-weight: bold;">top_momentumflux_u</span> requires setting of <a href="#top_momentumflux_v">top_momentumflux_v</a> also.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>A&nbsp;Neumann
+condition should be used for the u velocity component (see <a href="chapter_4.1.html#bc_uv_t">bc_uv_t</a>),
+because otherwise the resolved scale may contribute to
+the top flux so that a constant flux value cannot be guaranteed.<span style="font-style: italic;"></span>&nbsp;</p>
+
+
+
+
+
+
+
+      <span style="font-weight: bold;"></span>
+      
+      
+      
+      
+      
+      
+      <p>No
+Prandtl-layer is available at the top boundary so far.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p> The <a href="chapter_3.8.html">coupled</a> ocean parameter file&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a> should include dummy REAL value assignments to both <a href="chapter_4.1.html#top_momentumflux_u">top_momentumflux_u</a> and&nbsp;<a href="chapter_4.1.html#top_momentumflux_v">top_momentumflux_v</a> (e.g.&nbsp;top_momentumflux_u = 0.0, top_momentumflux_v = 0.0) to enable the momentum flux coupling.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="top_momentumflux_v"></a><span style="font-weight: bold;">top_momentumflux_v</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed momentumflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">Momentum flux along y at the top boundary (in m2/s2).<br>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If a value is assigned to this parameter, the internal
+two-dimensional v-momentum flux field <span style="font-family: monospace;">vswst</span> is
+initialized with the value of <span style="font-weight: bold;">top_momentumflux_v</span> as
+top (horizontally homogeneous) boundary condition for the v-momentum equation.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Notes:</span><br>
+
+
+
+
+
+
+The
+application of a top momentum flux additionally requires the setting of
+initial parameter <a href="chapter_4.1.html#use_top_fluxes">use_top_fluxes</a>
+= .T.. Setting of <span style="font-weight: bold;">top_momentumflux_v</span> requires setting of <a href="chapter_4.1.html#top_momentumflux_u">top_momentumflux_u</a> also.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>A&nbsp;Neumann
+condition should be used for the v velocity component (see <a href="chapter_4.1.html#bc_uv_t">bc_uv_t</a>),
+because otherwise the resolved scale may contribute to
+the top flux so that a constant flux value cannot be guaranteed.<span style="font-style: italic;"></span>&nbsp;</p>
+
+
+
+
+
+
+
+      <span style="font-weight: bold;"></span>
+      
+      
+      
+      
+      
+      
+      <p>No
+Prandtl-layer is available at the top boundary so far.</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p> The <a href="chapter_3.8.html">coupled</a> ocean parameter file&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a> should include dummy REAL value assignments to both <a href="chapter_4.1.html#top_momentumflux_u">top_momentumflux_u</a> and&nbsp;<a href="chapter_4.1.html#top_momentumflux_v">top_momentumflux_v</a> (e.g.&nbsp;top_momentumflux_u = 0.0, top_momentumflux_v = 0.0) to enable the momentum flux coupling.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="top_salinityflux"></a><span style="font-weight: bold;">top_salinityflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br>
+
+
+
+
+
+
+
+salinityflux</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p>Kinematic
+salinity flux at the top boundary, i.e. the sea surface (in psu m/s).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>This parameter only comes into effect for ocean runs (see parameter <a href="chapter_4.1.html#ocean">ocean</a>).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>If a value is assigned to this parameter, the internal
+two-dimensional surface heat flux field <span style="font-family: monospace;">saswst</span> is
+initialized with the value of <span style="font-weight: bold;">top_salinityflux</span>&nbsp;as
+top (horizontally homogeneous) boundary condition for the salinity equation. This additionally requires that a Neumann
+condition must be used for the salinity (see <a href="chapter_4.1.html#bc_sa_t">bc_sa_t</a>),
+because otherwise the resolved scale may contribute to
+the top flux so that a constant flux value cannot be guaranteed.<span style="font-style: italic;"></span>&nbsp;</p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+
+The
+application of a salinity flux at the model top additionally requires the setting of
+initial parameter <a href="chapter_4.1.html#use_top_fluxes">use_top_fluxes</a>
+= .T..<span style="font-style: italic;"></span><span style="font-weight: bold;"></span> </p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>See
+also <a href="chapter_4.1.html#bottom_salinityflux">bottom_salinityflux</a>.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr><td style="vertical-align: top;"><a name="turbulent_inflow"></a><span style="font-weight: bold;">turbulent_inflow</span></td><td style="vertical-align: top;">L</td><td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td><td style="vertical-align: top;">Generates a turbulent inflow at side boundaries using a turbulence recycling method.<br><br>Turbulent inflow is realized using the turbulence recycling method from Lund et al. (1998, J. Comp. Phys., <span style="font-weight: bold;">140</span>, 233-258) modified by Kataoka and Mizuno (2002, Wind and Structures, <span style="font-weight: bold;">5</span>, 379-392).<br><br>A turbulent inflow requires Dirichlet conditions at the respective inflow boundary. <span style="font-weight: bold;">So far, a turbulent inflow is realized from the left (west) side only, i.e. </span><a style="font-weight: bold;" href="chapter_4.1.html#bc_lr">bc_lr</a><span style="font-weight: bold;">&nbsp;=</span><span style="font-style: italic; font-weight: bold;"> 'dirichlet/radiation'</span><span style="font-weight: bold;"> is required!</span><br><br>The initial (quasi-stationary) turbulence field should be generated by a precursor run and used by setting <a href="chapter_4.1.html#initializing_actions">initializing_actions</a> =<span style="font-style: italic;"> 'cyclic_fill'</span>.<br><br>The distance of the recycling plane from the inflow boundary can be set with parameter <a href="chapter_4.1.html#recycling_width">recycling_width</a>.
+The heigth above ground above which the turbulence signal is not used
+for recycling and the width of the layer within&nbsp;the magnitude of
+the turbulence signal is damped from 100% to 0% can be set with
+parameters <a href="chapter_4.1.html#inflow_damping_height">inflow_damping_height</a> and <a href="chapter_4.1.html#inflow_damping_width">inflow_damping_width</a>.<br><br>The detailed setup for a turbulent inflow is described in <a href="chapter_3.9.html">chapter 3.9</a>.</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="u_bulk"></a>u_bulk</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td><td>u-component of the predefined bulk velocity (in m/s).<br><br>This parameter comes into effect if <a href="#conserve_volume_flow">conserve_volume_flow</a> = <span style="font-style: italic;">.T.</span> and <a href="#conserve_volume_flow_mode">conserve_volume_flow_mode</a> = <span style="font-style: italic;">'bulk_velocity'</span>.</td></tr><tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="ug_surface"></a><span style="font-weight: bold;">ug_surface</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">u-component of the
+geostrophic
+wind at the surface (in m/s).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+This parameter assigns the value of the u-component of the geostrophic
+wind (ug) at the surface (k=0). Starting from this value, the initial
+vertical profile of the <br>
+
+
+
+
+
+
+
+u-component of the geostrophic wind is constructed with <a href="#ug_vertical_gradient">ug_vertical_gradient</a>
+and <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>.
+The
+profile constructed in that way is used for creating the initial
+vertical velocity profile of the 3d-model. Either it is applied, as it
+has been specified by the user (<a href="#initializing_actions">initializing_actions</a>
+= 'set_constant_profiles') or it is used for calculating a stationary
+boundary layer wind profile (<a href="#initializing_actions">initializing_actions</a>
+= 'set_1d-model_profiles'). If ug is constant with height (i.e. ug(k)=<span style="font-weight: bold;">ug_surface</span>)
+and&nbsp; has a large
+value, it is recommended to use a Galilei-transformation of the
+coordinate system, if possible (see <a href="#galilei_transformation">galilei_transformation</a>),
+in order to obtain larger time steps.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>),
+this parameter gives the geostrophic velocity value (i.e. the pressure gradient) at the sea surface, which is
+at k=nzt. The profile is then constructed from the surface down to the
+bottom of the model.<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ug_vertical_gradient"></a><span style="font-weight: bold;">ug_vertical_gradient</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R(10)<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">10
+* 0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Gradient(s) of the initial
+profile of the&nbsp; u-component of the geostrophic wind (in
+1/100s).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The gradient holds starting from the height level defined by <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>
+(precisely: for all uv levels k where zu(k) &gt; <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>,
+ug(k) is set: ug(k) = ug(k-1) + dzu(k) * <span style="font-weight: bold;">ug_vertical_gradient</span>)
+up to the top
+boundary or up to the next height level defined by <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>.
+A
+total of 10 different gradients for 11 height intervals (10
+intervals&nbsp; if <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>(1)
+= 0.0) can be assigned. The surface geostrophic wind is assigned by <a href="#ug_surface">ug_surface</a>.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>),
+the profile is constructed like described above, but starting from the
+sea surface (k=nzt) down to the bottom boundary of the model. Height
+levels have then to be given as negative values, e.g. <span style="font-weight: bold;">ug_vertical_gradient_level</span> = <span style="font-style: italic;">-500.0</span>, <span style="font-style: italic;">-1000.0</span>.<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="ug_vertical_gradient_level"></a><span style="font-weight: bold;">ug_vertical_gradient_level</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R(10)<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">10
+* 0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Height level from which on the
+gradient defined by <a href="#ug_vertical_gradient">ug_vertical_gradient</a>
+is effective (in m).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The height levels have to be assigned in ascending order. For the
+piecewise construction of a profile of the u-component of the
+geostrophic wind component (ug) see <a href="#ug_vertical_gradient">ug_vertical_gradient</a>.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs&nbsp;(see <a href="chapter_4.1.html#ocean">ocean</a>), the (negative) height levels have to be assigned in descending order.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ups_limit_e"></a><b>ups_limit_e</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Subgrid-scale
+turbulent kinetic energy difference used as
+criterion for applying the upstream scheme when upstream-spline
+advection is switched on (in m<sup>2</sup>/s<sup>2</sup>).
+&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This variable steers the appropriate
+treatment of the
+advection of the subgrid-scale turbulent kinetic energy in case that
+the uptream-spline scheme is used . For further information see <a href="#ups_limit_pt">ups_limit_pt</a>.&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are allowed for <b>ups_limit_e</b>.
+      </p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ups_limit_pt"></a><b>ups_limit_pt</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Temperature
+difference used as criterion for applying&nbsp;
+the upstream scheme when upstream-spline advection&nbsp; is
+switched on
+(in K).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>This criterion is used if the
+upstream-spline scheme is
+switched on (see <a href="#scalar_advec">scalar_advec</a>).<br>
+
+
+
+
+
+
+
+If, for a given gridpoint, the absolute temperature difference with
+respect to the upstream
+grid point is smaller than the value given for <b>ups_limit_pt</b>,
+the upstream scheme is used for this gridpoint (by default, the
+upstream-spline scheme is always used). Reason: in case of a very small
+upstream gradient, the advection should cause only a very small
+tendency. However, in such situations the upstream-spline scheme may
+give wrong tendencies at a
+grid point due to spline overshooting, if simultaneously the downstream
+gradient is very large. In such cases it may be more reasonable to use
+the upstream scheme. The numerical diffusion caused by the upstream
+schme remains small as long as the upstream gradients are small.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The percentage of grid points for which the
+upstream
+scheme is actually used, can be output as a time series with respect to
+the
+three directions in space with run parameter (see <a href="chapter_4.2.html#dt_dots">dt_dots</a>, the
+timeseries names in the NetCDF file are <i>'splptx'</i>, <i>'splpty'</i>,
+      <i>'splptz'</i>). The percentage
+of gridpoints&nbsp; should stay below a certain limit, however, it
+is
+not possible to give
+a general limit, since it depends on the respective flow.&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are permitted for <b>ups_limit_pt</b>.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+
+A more effective control of
+the &ldquo;overshoots&rdquo; can be achieved with parameter <a href="#cut_spline_overshoot">cut_spline_overshoot</a>.
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ups_limit_u"></a><b>ups_limit_u</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Velocity
+difference (u-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>This variable steers the appropriate treatment of the
+advection of the u-velocity-component in case that the upstream-spline
+scheme is used. For further
+information see <a href="#ups_limit_pt">ups_limit_pt</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are permitted for <b>ups_limit_u</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ups_limit_v"></a><b>ups_limit_v</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Velocity
+difference (v-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>This variable steers the appropriate treatment of the
+advection of the v-velocity-component in case that the upstream-spline
+scheme is used. For further
+information see <a href="#ups_limit_pt">ups_limit_pt</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are permitted for <b>ups_limit_v</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="ups_limit_w"></a><b>ups_limit_w</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Velocity
+difference (w-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s).&nbsp; </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>This variable steers the appropriate treatment of the
+advection of the w-velocity-component in case that the upstream-spline
+scheme is used. For further
+information see <a href="#ups_limit_pt">ups_limit_pt</a>.&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Only positive values are permitted for <b>ups_limit_w</b>.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="use_surface_fluxes"></a><b>use_surface_fluxes</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+steer the treatment of the subgrid-scale vertical
+fluxes within the diffusion terms at k=1 (bottom boundary).<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>By default, the near-surface subgrid-scale fluxes are
+parameterized (like in the remaining model domain) using the gradient
+approach. If <b>use_surface_fluxes</b>
+= <i>.TRUE.</i>, the user-assigned surface fluxes are used
+instead
+(see <a href="#surface_heatflux">surface_heatflux</a>,
+      <a href="#surface_waterflux">surface_waterflux</a>
+and <a href="#surface_scalarflux">surface_scalarflux</a>)
+      <span style="font-weight: bold;">or</span> the
+surface fluxes are
+calculated via the Prandtl layer relation (depends on the bottom
+boundary conditions, see <a href="#bc_pt_b">bc_pt_b</a>,
+      <a href="#bc_q_b">bc_q_b</a>
+and <a href="#bc_s_b">bc_s_b</a>).<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p><b>use_surface_fluxes</b>
+is automatically set <i>.TRUE.</i>, if a Prandtl layer is
+used (see <a href="#prandtl_layer">prandtl_layer</a>).&nbsp;
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>The user may prescribe the surface fluxes at the
+bottom
+boundary without using a Prandtl layer by setting <span style="font-weight: bold;">use_surface_fluxes</span> =
+      <span style="font-style: italic;">.T.</span> and <span style="font-weight: bold;">prandtl_layer</span> = <span style="font-style: italic;">.F.</span>. If , in this
+case, the
+momentum flux (u<sub>*</sub><sup>2</sup>)
+should also be prescribed,
+the user must assign an appropriate value within the user-defined code.</p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="use_top_fluxes"></a><span style="font-weight: bold;">use_top_fluxes</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to steer
+the treatment of the subgrid-scale vertical
+fluxes within the diffusion terms at k=nz (top boundary).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>By
+default, the fluxes at nz are calculated using the gradient approach.
+If <b>use_top_fluxes</b>
+= <i>.TRUE.</i>, the user-assigned top fluxes are used
+instead
+(see <a href="chapter_4.1.html#top_heatflux">top_heatflux</a>, <a href="#top_momentumflux_u">top_momentumflux_u</a>, <a href="#top_momentumflux_v">top_momentumflux_v</a>, <a href="#top_salinityflux">top_salinityflux</a>).</p>
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      <p>Currently, no value for the latent heatflux can be assigned. In case of <span style="font-weight: bold;">use_top_fluxes</span> = <span style="font-style: italic;">.TRUE.</span>, the latent
+heat flux at the top will be automatically set to zero.</p>
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="use_ug_for_galilei_tr"></a><b>use_ug_for_galilei_tr</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.T.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Switch to
+determine the translation velocity in case that a
+Galilean transformation is used.<br>
+
+
+
+
+
+
+ </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>In
+case of a Galilean transformation (see <a href="#galilei_transformation">galilei_transformation</a>),
+      <b>use_ug_for_galilei_tr</b>
+= <i>.T.</i>&nbsp; ensures
+that the coordinate system is translated with the geostrophic windspeed.<br>
+
+
+
+
+
+
+
+      </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>Alternatively, with <b>use_ug_for_galilei_tr</b>
+= <i>.F</i>.,
+the
+geostrophic wind can be replaced as translation speed by the (volume)
+averaged velocity. However, in this case the user must be aware of fast
+growing gravity waves, so this
+choice is usually not recommended!</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+      <td align="left" valign="top"><a name="use_upstream_for_tke"></a><span style="font-weight: bold;">use_upstream_for_tke</span></td>
+
+
+
+
+
+
+      <td align="left" valign="top">L</td>
+
+
+
+
+
+
+      <td align="left" valign="top"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+
+
+      <td align="left" valign="top">Parameter to choose the
+advection/timestep scheme to be used for the subgrid-scale TKE.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+By
+default, the advection scheme and the timestep scheme to be used for
+the subgrid-scale TKE are set by the initialization parameters <a href="#scalar_advec">scalar_advec</a> and <a href="#timestep_scheme">timestep_scheme</a>,
+respectively. <span style="font-weight: bold;">use_upstream_for_tke</span>
+= <span style="font-style: italic;">.T.</span>
+forces the Euler-scheme and the upstream-scheme to be used as timestep
+scheme and advection scheme, respectively. By these methods, the strong
+(artificial) near-surface vertical gradients of the subgrid-scale TKE
+are significantly reduced. This is required when subgrid-scale
+velocities are used for advection of particles (see particle package
+parameter <a href="chapter_4.2.html#use_sgs_for_particles">use_sgs_for_particles</a>).</td>
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+    <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="v_bulk"></a>v_bulk</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td><td>v-component of the predefined bulk velocity (in m/s).<br><br>This parameter comes into effect if <a href="chapter_4.1.html#conserve_volume_flow">conserve_volume_flow</a> = <span style="font-style: italic;">.T.</span> and <a href="chapter_4.1.html#conserve_volume_flow_mode">conserve_volume_flow_mode</a> = <span style="font-style: italic;">'bulk_velocity'</span>.</td></tr><tr>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="vg_surface"></a><span style="font-weight: bold;">vg_surface</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">v-component of the
+geostrophic
+wind at the surface (in m/s).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+This parameter assigns the value of the v-component of the geostrophic
+wind (vg) at the surface (k=0). Starting from this value, the initial
+vertical profile of the <br>
+
+
+
+
+
+
+
+v-component of the geostrophic wind is constructed with <a href="#vg_vertical_gradient">vg_vertical_gradient</a>
+and <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>.
+The
+profile
+constructed in that way is used for creating the initial vertical
+velocity profile of the 3d-model. Either it is applied, as it has been
+specified by the user (<a href="#initializing_actions">initializing_actions</a>
+= 'set_constant_profiles')
+or it is used for calculating a stationary boundary layer wind profile
+(<a href="#initializing_actions">initializing_actions</a>
+=
+'set_1d-model_profiles'). If vg is constant
+with height (i.e. vg(k)=<span style="font-weight: bold;">vg_surface</span>)
+and&nbsp; has a large value, it is
+recommended to use a Galilei-transformation of the coordinate system,
+if possible (see <a href="#galilei_transformation">galilei_transformation</a>),
+in order to obtain larger
+time steps.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>),
+this parameter gives the geostrophic velocity value (i.e. the pressure gradient) at the sea surface, which is
+at k=nzt. The profile is then constructed from the surface down to the
+bottom of the model.</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p><a name="vg_vertical_gradient"></a><span style="font-weight: bold;">vg_vertical_gradient</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R(10)<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">10
+* 0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Gradient(s) of the initial
+profile of the&nbsp; v-component of the geostrophic wind (in
+1/100s).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The gradient holds starting from the height level defined by <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>
+(precisely: for all uv levels k where zu(k)
+&gt; <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>,
+vg(k) is set: vg(k) = vg(k-1) + dzu(k)
+* <span style="font-weight: bold;">vg_vertical_gradient</span>)
+up to
+the top boundary or up to the next height
+level defined by <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>.
+A total of 10 different
+gradients for 11 height intervals (10 intervals&nbsp; if <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>(1)
+=
+0.0) can be assigned. The surface
+geostrophic wind is assigned by <a href="#vg_surface">vg_surface</a>.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>),
+the profile is constructed like described above, but starting from the
+sea surface (k=nzt) down to the bottom boundary of the model. Height
+levels have then to be given as negative values, e.g. <span style="font-weight: bold;">vg_vertical_gradient_level</span> = <span style="font-style: italic;">-500.0</span>, <span style="font-style: italic;">-1000.0</span>.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="vg_vertical_gradient_level"></a><span style="font-weight: bold;">vg_vertical_gradient_level</span></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">R(10)<br>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">10
+* 0.0</span><br>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">Height level from which on the
+gradient defined by <a href="#vg_vertical_gradient">vg_vertical_gradient</a>
+is effective (in m).<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+The height levels have to be assigned in ascending order. For the
+piecewise construction of a profile of the v-component of the
+geostrophic wind component (vg) see <a href="#vg_vertical_gradient">vg_vertical_gradient</a>.<br>
+
+
+
+
+
+
+      <br>
+
+
+
+
+
+
+      <span style="font-weight: bold;">Attention:</span><br>
+
+
+
+
+
+
+In case of ocean runs&nbsp;(see <a href="chapter_4.1.html#ocean">ocean</a>), the (negative) height levels have to be assigned in descending order.</td>
+
+
+
+
+
+
+
+    </tr>
+
+
+
+
+
+
+ <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      
+      
+      <p><a name="wall_adjustment"></a><b>wall_adjustment</b></p>
+
+
+
+
+
+
+
+      </td>
+
+
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.T.</i></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      
+      
+      <p>Parameter to
+restrict the mixing length in the vicinity of the
+bottom
+boundary (and near vertical walls of a non-flat <a href="chapter_4.1.html#topography">topography</a>).&nbsp; </p>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <p>With <b>wall_adjustment</b>
+= <i>.TRUE., </i>the mixing
+length is limited to a maximum of&nbsp; 1.8 * z. This condition
+typically affects only the
+first grid points above the bottom boundary.</p>
+
+
+      
+      
+      <p>In case of&nbsp; a non-flat <a href="chapter_4.1.html#topography">topography</a> the respective horizontal distance from vertical walls is used.</p>
+
+
+
+
+
+
+ </td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+
+    <tr>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="wall_heatflux"></a>wall_heatflux</span></td>
+
+
+
+
+
+
+
+      <td style="vertical-align: top;">R(5)</td>
+
+
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">5 * 0.0</span></td>
+
+
+
+
+
+
+ <td>Prescribed
+kinematic sensible heat flux in K m/s
+at the five topography faces:<br>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      <div style="margin-left: 40px;"><span style="font-weight: bold;">wall_heatflux(0)&nbsp;&nbsp;
+&nbsp;</span>top face<br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">wall_heatflux(1)&nbsp;&nbsp;&nbsp;
+      </span>left face<br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">wall_heatflux(2)&nbsp;&nbsp;&nbsp;
+      </span>right face<br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">wall_heatflux(3)&nbsp;&nbsp;&nbsp;
+      </span>south face<br>
+
+
+
+
+
+
+ <span style="font-weight: bold;">wall_heatflux(4)&nbsp;&nbsp;&nbsp;
+      </span>north face</div>
+
+
+
+
+
+
+ <br>
+
+
+
+
+
+
+
+This parameter applies only in case of a non-flat <a href="#topography">topography</a>.&nbsp;The
+parameter <a href="#random_heatflux">random_heatflux</a>
+can be used to impose random perturbations on the internal
+two-dimensional surface heat
+flux field <span style="font-style: italic;">shf</span>
+that is composed of <a href="#surface_heatflux">surface_heatflux</a>
+at the bottom surface and <span style="font-weight: bold;">wall_heatflux(0)</span>
+at the topography top face.&nbsp;</td>
+
+
+
+
+
+
+ </tr>
+
+
+
+
+
+
+ 
+  
+  
+  
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+
+
+
+<br>
+
+
+
+
+
+
+
+<p style="line-height: 100%;"><br>
+
+
+
+
+
+
+<font color="#000080"><font color="#000080"><a href="chapter_4.0.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.2.html"><font color="#000080"><img name="Grafik3" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
+
+
+
+
+
+
+
+<p style="line-height: 100%;"><i>Last
+change:&nbsp;</i> $Id$ </p>
+
+
+
+
+
+
+
+<br>
+
+
+
+
+
+
+<br>
+
+
+
+
+
+
+
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.2.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.2.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.2.html	(revision 393)
@@ -0,0 +1,17751 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+
+
+
+
+
+  
+  
+  
+  
+  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
+
+
+
+
+  
+  
+  
+  
+  <title>PALM chapter 4.2</title>
+</head>
+
+
+<body>
+
+
+
+
+<h3 style="line-height: 100%;"><a name="Kapitel4.2"></a>4.2 <a href="#Laufparameter">Runtime
+parameters</a>, <a href="#particle_parameters">particle parameters</a>, and <a href="#Paketparameter">package
+parameters</a></h3>
+
+
+
+
+
+<h3 style="margin-bottom: 0cm; line-height: 100%;"><a name="Laufparameter"></a>Runtime parameters:</h3>
+
+
+
+
+
+<br>
+
+
+
+
+<br>
+
+
+
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Parameter
+name</b></font></td>
+
+
+
+
+ <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><b><font size="4">Default</font></b> <br>
+
+
+
+
+ <b><font size="4">value</font></b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Explanation</b></font></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="averaging_interval"></a><span style="font-weight: bold;">averaging_interval</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Averaging interval for
+all&nbsp;output of temporally averaged data (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter defines the time interval length for temporally averaged data
+(vertical profiles, spectra, 2d cross-sections, 3d volume data). By
+default,&nbsp;data are not subject to temporal averaging. The
+interval
+length is limited by the parameter <a href="#dt_data_output_av">dt_data_output_av</a>.
+In any case, <span style="font-weight: bold;">averaging_interval</span>
+&lt;= <span style="font-weight: bold;">dt_data_output_av</span>
+must hold.<br>
+
+
+
+
+      <br>
+
+
+
+
+If
+an interval is defined, then by default the average is calculated from
+the data values of all timesteps lying within this interval. The number
+of time levels entering into the average can be reduced with the
+parameter <a href="#dt_averaging_input">dt_averaging_input</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+If
+an averaging interval can not be completed at the end of a run, it
+will be finished at the beginning of the next restart run. Thus for
+restart runs, averaging intervals do not
+necessarily begin at the beginning of the run.<br>
+
+
+
+
+      <br>
+
+
+
+
+Parameters
+      <a href="#averaging_interval_pr">averaging_interval_pr</a>
+and <a href="#averaging_interval_sp">averaging_interval_sp</a>
+can be used to define different averaging intervals for vertical
+profile data and spectra, respectively.<br>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="averaging_interval_pr"></a><b>averaging_interval_pr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="#averaging_interval">averaging_<br>
+
+
+
+
+
+interval</a><br>
+
+
+
+
+
+      </span> </td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Averaging
+interval for output of vertical profiles&nbsp;to
+local
+file <font color="#000000"><font color="#000000"><a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>
+      </font></font>and/or&nbsp; <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>
+(in s).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If
+this parameter is given a non-zero value, temporally
+averaged vertical profile data are output. By default, profile data
+data are not subject to temporal averaging. The interval length is
+limited by the parameter <a href="#dt_dopr">dt_dopr</a>.
+In any case <b>averaging_interval_pr</b> &lt;= <b>dt_dopr
+      </b>must
+hold.</p>
+
+
+
+
+If an interval is defined, then by default the average
+is calculated
+from the data values of all timesteps lying within this interval. The
+number of time levels entering into the average can be reduced with the
+parameter <a href="#dt_averaging_input_pr">dt_averaging_input_pr</a>.
+      
+      
+      
+      
+      <p>If
+an averaging interval can not be completed at the end of a run, it will
+be finished at the beginning of the next restart run. Thus for restart
+runs, averaging intervals do not
+necessarily begin at the beginning of the run.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="call_psolver_at_all_substeps"></a><span style="font-weight: bold;">call_psolver_at_all_<br>
+
+
+
+
+
+substeps</span></td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">.T.</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Switch
+to steer the call of the pressure solver.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+In order to speed-up performance, the Poisson equation for perturbation
+pressure (see <a href="#psolver">psolver</a>) can
+be called only at the last substep of multistep Runge-Kutta
+timestep schemes (see <a href="chapter_4.1.html#timestep_scheme">timestep_scheme</a>)
+by setting <span style="font-weight: bold;">call_psolver_at_all_substeps</span>
+= <span style="font-style: italic;">.F.</span>.
+In many cases, this sufficiently reduces the divergence of the velocity
+field. Nevertheless, small-scale ripples (2-delta-x) may occur. In this
+case and in case
+of non-cyclic lateral boundary conditions, <span style="font-weight: bold;">call_psolver_at_all_timesteps</span>
+= <span style="font-style: italic;">.T.</span>
+should be used.&nbsp;<span style="font-weight: bold;"></span></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="fcl_factor"></a><b>cfl_factor</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><i>0.1,
+0.8 or 0.9</i> <br>
+
+
+
+
+ <i>(see right)</i></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB">Time step limiting factor.&nbsp; </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB">In the model, the <span lang="en-GB">maximum
+allowed </span>time step according to CFL and
+diffusion-criterion
+dt_max is reduced by </span><a href="chapter_4.1.html#dt"><span lang="en-GB">dt</span></a> <span lang="en-GB">=
+dt_max * <b>cfl_factor</b>
+in order to avoid stability problems which may arise in the vicinity of
+the maximum allowed timestep. The condition <i>0.0</i>
+&lt; <b>cfl_factor</b>
+&lt; <i>1.0 </i>applies.<br>
+
+
+
+
+ </span></p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB">The default value of
+cfl_factor depends on
+the </span><a href="chapter_4.1.html#timestep_scheme"><span lang="en-GB">timestep_scheme</span></a><span lang="en-GB"> used:<br>
+
+
+
+
+ </span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">For the third order Runge-Kutta scheme it
+is <b>cfl_factor</b> = </span><span style="font-style: italic;">0.9</span><span lang="en-GB">.<br>
+
+
+
+
+ </span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">In case of the leapfrog scheme a quite
+restrictive value of <span style="font-weight: bold;">cfl_factor</span>
+= <span style="font-style: italic;">0.1 </span></span><span lang="en-GB">is used because for larger values the velocity
+divergence
+significantly effects the accuracy of the model results.</span><a href="chapter_4.1.html#scalar_advec"><span lang="en-GB"></span></a><span lang="en-GB"> Possibly larger values may
+be used with the leapfrog scheme but these are to be determined by
+appropriate test runs.<span style="font-family: times new roman;"><br>
+
+
+
+
+
+      </span></span></p>
+
+
+
+
+ <span lang="en-GB"><span style="font-family: times new roman;"></span><font face="Times New Roman">The default value for the Euler
+scheme is <span style="font-weight: bold;">cfl_factor</span>
+= <span style="font-style: italic;">0.8</span> .</font></span></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="create_disturbances"></a><b>create_disturbances</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.T.</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Switch to
+impose random perturbations to the horizontal
+velocity field.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>With <b>create_disturbances</b>
+= <i>.T.,</i> random
+perturbations can be imposed to the horizontal velocity field at
+certain times e.g. in order to trigger off the onset of convection,
+etc..<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The temporal interval between
+these times can be steered with <a href="#dt_disturb">dt_disturb</a>,
+the vertical range of the perturbations with <a href="#disturbance_level_b">disturbance_level_b</a>
+and <a href="#disturbance_level_t">disturbance_level_t</a>,
+and the perturbation amplitude with <a href="#disturbance_amplitude">disturbance_amplitude</a>.
+In case of non-cyclic lateral boundary conditions (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>
+and <a href="chapter_4.1.html#bc_ns">bc_ns</a>),
+the horizontal range of the perturbations is determined by <a href="chapter_4.1.html#inflow_disturbance_begin">inflow_disturbance_begin</a>
+and <a href="chapter_4.1.html#inflow_disturbance_end">inflow_disturbance_end</a>.
+A perturbation is added to each grid point with its individual value
+determined by multiplying the disturbance amplitude with a uniformly
+distributed random number.
+After this, the arrays of u and v are smoothed by applying a
+Shuman-filter twice and made divergence-free by applying the pressure
+solver.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The random number generator to
+be used can be chosen with <a href="chapter_4.1.html#random_generator">random_generator</a>.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>As soon as the desired flow features have
+developed
+(e.g.&nbsp; convection has started), further imposing of
+perturbations
+is not necessary and can be omitted (this does not hold for non-cyclic
+lateral boundaries!). This can be steered by assigning
+an upper limit value for the perturbation energy (the perturbation
+energy is defined by the deviation of the velocity from the mean flow)
+using the parameter <a href="#disturbance_energy_limit">disturbance_energy_limit</a>.
+As soon as the perturbation energy has exceeded this energy limit, no
+more random perturbations are assigned<br>
+
+
+
+
+
+.&nbsp; <br>
+
+
+
+
+
+Timesteps where a random perturbation has been imposed are marked in
+the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+by the character "D" appended to the values of the maximum horizontal
+velocities. </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="cross_normalized_x"></a><b>cross_normalized_x</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*10&nbsp;
+      <br>
+
+
+
+
+&nbsp;&nbsp; (100)</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>100 * ' '</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Type of
+normalization applied to the x-coordinate of vertical
+profiles to be plotted with <span style="font-weight: bold;">profil</span>.</p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>If
+vertical profiles are plotted with the plot software <span style="font-weight: bold;">profil</span> (data on
+local file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>,
+parameters on local file <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/PLOT1D_PAR">PLOT1D_PAR</a>)
+the x-values of the data points can be normalized with respect to
+certain quantities (e.g. the near-surface heat flux) in order to ensure
+a better comparability. This type of normalization then applies to all
+profiles of one coordinate system (panel). The normalization quantities
+are re-calculated for each output time of each individual profile. If
+temporally averaged profiles are output (see <a href="#averaging_interval_pr">averaging_interval_pr</a>),
+then the normalization quantities are also temporally averaged
+accordingly. If the value of a normalization quantity becomes zero,
+then normalization for the total respective coordinate system (panel)
+is switched off automatically (also for the y-axis).<br>
+
+
+
+
+ </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>By default, the normalization quantities are calculated as the
+horizontal mean of the total model domain and and these values are also
+used for the normalization of profiles from subdomains (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).
+Instead of this, they can be calculated from the data of a certain
+subdomain by using the parameter <a href="#normalizing_region">normalizing_region</a>
+(however, they are used again for all subdomains and even for the total
+domain).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The user can choose between
+the following normalization
+quantities: <br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'wpt0'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to the total surface sensible heat
+flux (k=0 ).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><i>'ws2'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to w<sub>*</sub> <sup>2</sup>
+(square of the characteristic vertical wind speed of the CBL)</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'tsw2'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to the square of the characteristic
+temperature of the CBL theta<sub>*</sub> (this is defined
+as ratio of
+the surface heat flux and w<sub>*</sub>).</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><i>'ws3'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to w<sub>*</sub> <sup>3</sup>.</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><i>'ws2tsw'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to w<sub>*</sub><sup>2</sup>theta<sub>*</sub>
+(for definition of theta<sub>*</sub> see <span style="font-style: italic;">'tsw2'</span>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><i>'wstsw2'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to w<sub>*</sub><sup>2 </sup>theta<sub>*</sub>
+(for definition of theta<sub>*</sub> see <span style="font-style: italic;">'tsw2'</span>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ 
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      </table>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>For each
+coordinate system (panel) to be drawn (see <a href="#cross_profiles">cross_profiles</a>)
+an individual normalization quantity can be assigned. For example: if <span style="font-weight: bold;">cross_normalized_x</span> =
+      <span style="font-style: italic;">'ws2'</span><i>,'ws3'</i>,
+then the
+x-values in the 1st coordinate system are normalized with respect to w<sub>*</sub><sup>2</sup>
+and in the 2nd system with respect to w<sub>*</sub><sup>3</sup>.
+Data
+of the further coordinate systems (if any are to be drawn) are not
+normalized.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Using a normalization
+leaves all vertical profile data on
+local file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>
+unaffected, it only affects the visualization. Within <span style="font-weight: bold;">profil</span>, the
+normalization is steered
+by parameter <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html#NORMX">normx</a>
+which may be changed subsequently by the user in the parameter file
+(local file <a href="chapter_3.4.html#PLOT1D_PAR">PLOT1D_PAR</a>).<br>
+
+
+
+
+
+&nbsp;<br>
+
+
+
+
+
+The assigned normalization quantity is noted in the axes labels of the
+respective coordinate systems (see <a href="#cross_xtext">cross_xtext</a>).</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="cross_normalized_y"></a><b>cross_normalized_y</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*10&nbsp;
+      <br>
+
+
+
+
+&nbsp;&nbsp; (100)</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>100 * ' '</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Type of
+normalization applied to the y-coordinate of vertical
+profiles to be plotted with <span style="font-weight: bold;">profil</span>.&nbsp;</p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>If
+vertical profiles are plotted with the plot software <span style="font-weight: bold;">profil</span> (data on
+local file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>,
+parameter on local file <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/PLOT1D_PAR">PLOT1D_PAR</a>)
+the y-values of the data points can be normalized with respect to
+certain quantities (at present only the normalization with respect to
+the boundary layer height is possible) in order to ensure a better
+comparability. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The user can choose between the
+following normalization
+quantities: <br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'z_i'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Normalization with
+respect
+to the boundary layer height
+(determined from the height where the heat flux achieves its minimum
+value).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      </table>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>For
+further explanations see <a href="#cross_normalized_x">cross_normalized_x.</a></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="cross_profiles"></a><b>cross_profiles</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*100&nbsp;
+      <br>
+
+
+
+
+&nbsp;&nbsp; (100)</td>
+
+
+
+
+ <td style="vertical-align: top;">see right<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Determines
+which vertical profiles are to be presented in
+which coordinate system if the plot software <span style="font-weight: bold;">profil</span> is used.
+&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for
+&nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>The
+default assignment is:&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><b>cross_profiles</b>
+=&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <ul>
+
+
+
+
+ 
+        
+        
+        
+        
+        <p><span style="font-family: monospace; font-style: italic;">'
+u v ',</span><br>
+
+
+
+
+ <span style="font-family: monospace; font-style: italic;">' pt
+',&nbsp; </span><br style="font-family: monospace; font-style: italic;">
+
+
+
+
+ <span style="font-family: monospace; font-style: italic;">'
+w"pt" w*pt* w*pt*BC wpt wptBC ',&nbsp; </span><br style="font-family: monospace; font-style: italic;">
+
+
+
+
+ <span style="font-family: monospace; font-style: italic;">'
+w"u" w*u* wu w"v"w*v* wv ',&nbsp; </span><br style="font-family: monospace; font-style: italic;">
+
+
+
+
+ <span style="font-family: monospace; font-style: italic;">' km
+kh ',</span><br style="font-family: monospace; font-style: italic;">
+
+
+
+
+ <span style="font-family: monospace; font-style: italic;">' l '
+,</span><br>
+
+
+
+
+
+14 * <span style="font-family: monospace; font-style: italic;">'
+'</span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      </ul>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If plot output of
+vertical profiles is produced (see <a href="#data_output_pr">data_output_pr</a>),
+the appropriate data are written to the local file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>.
+Simultaneously, the model produces a parameter file (local name <a href="chapter_3.4.html#PLOT1D_PAR">PLOT1D_PAR</a>)
+which describes the layout for a plot to be generated with the plot
+program <span style="font-weight: bold;">profil</span>.
+The parameter <b>cross_profiles</b>
+determines how many coordinate systems (panels) the plot contains and
+which profiles are supposed to be drawn into which panel. <b>cross_profiles</b>
+expects a character string (up to 100 characters long) for each
+coordinate system, which consists of the names of the profiles to be
+drawn into this system (all available profiles and their respective
+names are described at parameter <a href="#data_output_pr">data_output_pr</a>).
+The single names have to be separated by one blank (' ') and a blank
+must be spent also at the beginning and at the end of the
+string.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Example:&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+        
+        
+        
+        
+        <p><b>cross_profiles</b> = <span style="font-family: monospace; font-style: italic;">' u v ',
+' pt '</span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      </ul>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>In this case the
+plot consists of two coordinate systems
+(panels) with the first panel containing the profiles of the horizontal
+velocity components (<span style="font-style: italic;">'u'</span>
+and <span style="font-style: italic;">'v'</span>)
+of all output times (see <a href="#dt_dopr">dt_dopr</a>)
+and the second one containing the profiles of the potential temperature
+(<span style="font-style: italic;">'pt'</span>).<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Whether the coordinate systems are actually drawn,
+depends on
+whether data of the appropriate profiles were output during the run
+(profiles to be output have to be selected with the parameter <a href="#data_output_pr">data_output_pr</a>).
+For example if <b>data_output_pr</b> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span> was assigned,
+then
+the plot only consists of one panel, since no profiles of the potential
+temperature were output. On the other hand, if profiles were assigned
+to <b>data_output_pr </b>whose names do not appear in <b>cross_profiles</b>,
+then the respective profile data are output (<a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>)
+but they are not drawn in the plot. <br>
+
+
+
+
+ </p>
+
+
+
+
+
+The arrangement of the panels in the plot can be controlled
+with the parameters <a href="#profile_columns">profile_columns</a>
+and <a href="#profile_rows">profile_rows</a>.
+Up to 100 panels systems are allowed in a plot (however, they may be
+distributed on several pages).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="cross_xtext"></a><b>cross_xtext</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*40&nbsp;
+      <br>
+
+
+
+
+&nbsp;&nbsp; (100)</td>
+
+
+
+
+ <td style="vertical-align: top;">see right<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>x-axis labels
+of vertical profile coordinate systems to be
+plotted with <span style="font-weight: bold;">profil</span>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>The
+default assignment is:&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><b>cross_xtext</b>
+=&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <ul>
+
+
+
+
+ 
+        
+        
+        
+        
+        <p><span style="font-style: italic;">'wind speed in
+ms&gt;-&gt;1',&nbsp; </span><br style="font-style: italic;">
+
+
+
+
+ <span style="font-style: italic;">'pot. temperature in
+K',&nbsp; </span><br style="font-style: italic;">
+
+
+
+
+
+        <span style="font-style: italic;">'heat flux in K
+ms&gt;-&gt;1',&nbsp; </span><br style="font-style: italic;">
+
+
+
+
+ <span style="font-style: italic;">'momentum flux in
+m&gt;2s&gt;2',&nbsp; </span><br style="font-style: italic;">
+
+
+
+
+ <span style="font-style: italic;">'eddy diffusivity in
+m&gt;2s&gt;-&gt;1',&nbsp; </span><br style="font-style: italic;">
+
+
+
+
+ <span style="font-style: italic;">'mixing length in m',</span>&nbsp;
+        <br>
+
+
+
+
+14 * <span style="font-style: italic;">' '</span></p>
+
+
+
+
+
+      
+      
+      
+      
+      </ul>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter can be used to assign x-axis
+labels to vertical
+profiles to be plotted with the plot software <span style="font-weight: bold;">profil </span>(for output
+of vertical
+profile data see <a href="#data_output_pr">data_output_pr</a>).<br>
+
+
+
+
+
+The labels are assigned to those coordinate systems (panels) defined by
+      <a href="#cross_profiles">cross_profiles</a>
+according to their respective order (compare the default values of <b>cross_xtext</b>
+and <b>cross_profiles</b>). </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Umlauts
+are possible (write &ldquo; in front of, similar to TeX), as
+well as super- and subscripts (use "&gt;" or "&lt;" in front of
+each
+character), special characters etc. (see UNIRAS manuals) when using the
+plot software <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html#chapter3.2.6">profil</a>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="cycle_mg"></a><b>cycle_mg</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*1</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'w'</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Type of cycle
+to be used with the multi-grid method.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This
+parameter determines which type of cycle is applied in
+the multi-grid method used for solving the Poisson equation for
+perturbation pressure (see <a href="#psolver">psolver</a>).
+It defines in which way it is switched between the fine and coarse
+grids. So-called v- and w-cycles are realized (i.e. <b>cycle_mg</b>
+may be assigned the values <i>'v'</i> or <i>'w'</i>).
+The
+computational cost of w-cycles is much higher than that of v-cycles,
+however, w-cycles give a much better convergence. </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="data_output"></a><b>data_output</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C * 10 (100)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">100 * ' '</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">Quantities
+for which 2d cross section and/or 3d volume data are to be output.<br>
+
+
+
+
+      <br>
+
+
+
+
+PALM
+allows the output of instantaneous data as well as of temporally
+averaged data which is steered by the strings assigned to this
+parameter (see below).<br>
+
+
+
+
+      <br>
+
+
+
+
+By default, cross section
+data are output (depending on the selected cross sections(s), see
+below)&nbsp; to local files <a href="chapter_3.4.html#DATA_2D_XY_NETCDF">DATA_2D_XY_NETCDF</a>,
+      <a href="chapter_3.4.html#DATA_2D_XZ_NETCDF">DATA_2D_XZ_NETCDF</a>
+and/or <a href="chapter_3.4.html#DATA_2D_YZ_NETCDF">DATA_2D_YZ_NETCDF</a>.
+Volume data are output to file <a href="chapter_3.4.html#DATA_3D_NETCDF">DATA_3D_NETCDF</a>.
+If the user has switched on the output of temporally averaged data,
+these are written seperately to local files <a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a>,
+      <a href="chapter_3.4.html#DATA_2D_XZ_AV_NETCDF">DATA_2D_XZ_AV_NETCDF</a>,
+      <a href="chapter_4.3.html#DATA_2D_YZ_AV_NETCDF">DATA_2D_YZ_AV_NETCDF</a>,
+and <a href="chapter_3.4.html#DATA_3D_AV_NETCDF">DATA_3D_AV_NETCDF</a>,
+respectively.<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+filenames already suggest that all files have NetCDF format.
+Informations about the file content (kind of quantities, array
+dimensions and grid coordinates) are part of the self describing NetCDF
+format and can be extracted from the NetCDF files using the command
+"ncdump -c &lt;filename&gt;". See chapter <a href="chapter_4.5.1.html">4.5.1</a> about processing
+the PALM NetCDF data.<br>
+
+
+
+
+      <br>
+
+
+
+
+The following quantities are
+available for output by default (quantity names ending with '*' are only allowed for the output of horizontal cross sections):<br>
+
+
+
+
+      <br>
+
+
+
+
+      
+      
+      
+      
+      <table style="text-align: left; width: 576px; height: 481px;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+        <tbody>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px;"><span style="font-weight: bold;">quantity
+name</span></td>
+
+
+
+
+            <td style="width: 196px;"><span style="font-weight: bold;">meaning</span></td>
+
+
+
+
+            <td><span style="font-weight: bold;">unit</span></td>
+
+
+
+
+            <td><span style="font-weight: bold;">remarks</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px;"><span style="font-style: italic;">e</span></td>
+
+
+
+
+            <td style="width: 196px;">SGS TKE</td>
+
+
+
+
+            <td>m<sup>2</sup>/s<sup>2</sup></td>
+
+
+
+
+            <td></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">lwp*</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">liquid water path</td>
+
+
+
+
+            <td style="vertical-align: top;">m</td>
+
+
+
+
+            <td style="vertical-align: top;">only horizontal cross section
+is allowed,&nbsp;requires <a href="chapter_4.1.html#cloud_physics">cloud_physics</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">p</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">perturpation
+pressure</td>
+
+
+
+
+            <td style="vertical-align: top;">N/m<sup>2</sup>,
+Pa</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">pc</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">particle/droplet
+concentration</td>
+
+
+
+
+            <td style="vertical-align: top;">#/gridbox</td>
+
+
+
+
+            <td style="vertical-align: top;">requires that particle
+advection is switched on by <span style="font-weight: bold;">mrun</span>-option
+"-p particles"</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">pr</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">mean
+particle/droplet radius </td>
+
+
+
+
+            <td style="vertical-align: top;">m</td>
+
+
+
+
+            <td style="vertical-align: top;">requires that particle
+advection is switched on by <span style="font-weight: bold;">mrun</span>-option
+"-p particles"</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">pra*</span></td>
+
+
+
+
+            <td style="vertical-align: top;">precipitation amount</td>
+
+
+
+
+            <td style="vertical-align: top;">mm</td>
+
+
+
+
+            <td style="vertical-align: top;">only horizontal cross section
+is allowed,&nbsp;requires&nbsp;<a href="chapter_4.1.html#precipitation">precipitation</a>
+= <span style="font-style: italic;">.TRUE., </span>time interval on which amount refers to is defined by <a href="#precipitation_amount_interval">precipitation_amount_interval</a></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">prr*</span></td>
+
+
+
+
+            <td style="vertical-align: top;">precipitation rate</td>
+
+
+
+
+            <td style="vertical-align: top;">mm/s</td>
+
+
+
+
+            <td style="vertical-align: top;">only horizontal cross section
+is allowed,&nbsp;requires&nbsp;<a href="chapter_4.1.html#precipitation">precipitation</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">pt</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">potential
+temperature<br>
+
+
+
+
+            </td>
+
+
+
+
+            <td style="vertical-align: top;">K</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">q</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">specific humidity
+(or total water content, if cloud physics is switched on)</td>
+
+
+
+
+            <td style="vertical-align: top;">kg/kg</td>
+
+
+
+
+            <td style="vertical-align: top;">requires&nbsp;<a href="chapter_4.1.html#humidity">humidity</a> = <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">ql</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">liquid water
+content</td>
+
+
+
+
+            <td style="vertical-align: top;">kg/kg</td>
+
+
+
+
+            <td style="vertical-align: top;">requires <a href="chapter_4.1.html#cloud_physics">cloud_physics</a>
+= <span style="font-style: italic;">.TRUE.</span>
+or <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">ql_c</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">change in liquid
+water content due to condensation/evaporation during last timestep</td>
+
+
+
+
+            <td style="vertical-align: top;">kg/kg</td>
+
+
+
+
+            <td style="vertical-align: top;">requires <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">ql_v</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">volume of liquid
+water</td>
+
+
+
+
+            <td style="vertical-align: top;">m<sup>3</sup>/gridbox</td>
+
+
+
+
+            <td style="vertical-align: top;">requires <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">ql_vp</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">weighting factor</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+            <td style="vertical-align: top;">requires <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+            <td>qsws*</td>
+
+            <td>latent&nbsp;surface heatflux</td>
+
+            <td>kg/kg * m/s</td>
+
+            <td>only horizontal cross section is allowed, requires humidity = .TRUE. </td>
+
+          </tr>
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">qv</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">water vapor
+content (specific humidity)</td>
+
+
+
+
+            <td style="vertical-align: top;">kg/kg</td>
+
+
+
+
+            <td style="vertical-align: top;">requires <a href="chapter_4.1.html#cloud_physics">cloud_physics</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic;">rho</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">potential density</td>
+
+
+
+
+            <td align="undefined" valign="undefined">kg/m<sup>3</sup></td>
+
+
+
+
+            <td align="undefined" valign="undefined">requires&nbsp;<a href="chapter_4.1.html#ocean">ocean</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">s</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">concentration of
+the scalar</td>
+
+
+
+
+            <td style="vertical-align: top;">1/m<sup>3</sup></td>
+
+
+
+
+            <td style="vertical-align: top;">requires&nbsp;<a href="chapter_4.1.html#passive_scalar">passive_scalar</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic;">sa</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">salinity</td>
+
+
+
+
+            <td align="undefined" valign="undefined">psu</td>
+
+
+
+
+            <td align="undefined" valign="undefined">requires&nbsp;<a href="chapter_4.1.html#ocean">ocean</a>
+= <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+            <td>shf*</td>
+
+            <td>sensible surface heatflux</td>
+
+            <td>K m/s</td>
+
+            <td>only horizontal cross section is allowed</td>
+
+          </tr>
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">t*</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">(near surface)
+characteristic temperature</td>
+
+
+
+
+            <td style="vertical-align: top;">K</td>
+
+
+
+
+            <td style="vertical-align: top;">only horizontal cross section
+is allowed</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">u</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">u-component of
+the velocity</td>
+
+
+
+
+            <td style="vertical-align: top;">m/s</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">u*</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">(near surface)
+friction velocity</td>
+
+
+
+
+            <td style="vertical-align: top;">m/s</td>
+
+
+
+
+            <td style="vertical-align: top;">only horizontal cross section
+is allowed</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">v</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">v-component of
+the velocity</td>
+
+
+
+
+            <td style="vertical-align: top;">m/s</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">vpt</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">virtual potential
+temperature</td>
+
+
+
+
+            <td style="vertical-align: top;">K</td>
+
+
+
+
+            <td style="vertical-align: top;">requires&nbsp;<a href="chapter_4.1.html#humidity">humidity</a> = <span style="font-style: italic;">.TRUE.</span></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="width: 106px; vertical-align: top;"><span style="font-style: italic;">w</span></td>
+
+
+
+
+            <td style="width: 196px; vertical-align: top;">w-component of
+the velocity</td>
+
+
+
+
+            <td style="vertical-align: top;">m/s</td>
+
+
+
+
+            <td style="vertical-align: top;"></td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">z0*</span></td>
+
+
+
+
+            <td style="vertical-align: top;">roughness length</td>
+
+
+
+
+            <td style="vertical-align: top;">m</td>
+
+
+
+
+            <td></td>
+
+
+
+
+          </tr>
+
+
+
+
+        
+        
+        
+        
+        </tbody>
+      
+      
+      
+      
+      </table>
+
+
+
+
+      <br>
+
+
+
+
+Multiple
+quantities can be assigned, e.g. <span style="font-weight: bold;">data_output</span>
+= <span style="font-style: italic;">'e'</span>, <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'w'</span>.<br>
+
+
+
+
+      <br>
+
+
+
+
+By
+assigning the pure strings from the above table, 3d volume data is
+output. Cross section data can be output by appending the string <span style="font-style: italic;">'_xy'</span>, <span style="font-style: italic;">'_xz'</span>, or <span style="font-style: italic;">'_yz'</span> to the
+respective quantities. Time averaged&nbsp;output is created by
+appending the string <span style="font-style: italic;">'_av'
+      </span>(for
+cross section data, this string must be appended after the cross
+section string). Cross section data can also be (additionally) averaged
+along the direction normal to the respective section (see below).
+Assignments of quantities can be given in arbitrary
+order:<br>
+
+
+
+
+      <br>
+
+
+
+
+Example:<br>
+
+
+
+
+      <br>
+
+
+
+
+      
+      
+      
+      
+      <div style="margin-left: 40px;"><span style="font-weight: bold;">data_output</span> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'pt_xz_av'</span>, <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'u_av'</span>.<br>
+
+
+
+
+      </div>
+
+
+
+
+      <br>
+
+
+
+
+This
+example will create the following output: instantaneous 3d volume data
+of u-velocity component (by default on file DATA_3D_NETCDF), temporally
+averaged 3d volume data of u-velocity component (by default on file
+DATA_3D_AV_NETCDF), instantaneous horizontal cross section data of
+w-velocity component (by default on file DATA_2D_XY_NETCDF), and
+temporally averaged vertical cross section data of potential
+temperature (by default on file DATA_2D_XZ_AV_NETCDF).<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+user is allowed to extend the above list of quantities by defining his
+own output quantities (see the user-parameter <a href="chapter_4.3.html#data_output_user">data_output_user</a>).<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+time interval of the output times is determined via <a href="#dt_data_output">dt_data_output</a>.
+This is valid for all types of output quantities by default. Individual
+time intervals for instantaneous &nbsp;(!) 3d and section data can
+be
+declared using <a href="#dt_do3d">dt_do3d</a>, <a href="#dt_do2d_xy">dt_do2d_xy</a>, <a href="#dt_do2d_xz">dt_do2d_xz</a>, and <a href="#dt_do2d_yz">dt_do2d_yz</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+Also,
+an individual time interval for output of temporally averaged data can
+be assigned using parameter <a href="#dt_data_output_av">dt_data_output_av</a>.
+This applies to both 3d volume and cross section data. The length of
+the averaging interval is controlled via parameter <a href="#averaging_interval">averaging_interval</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+parameter <a href="#skip_time_data_output">skip_time_data_output</a>
+can be used to shift data output activities for a given time interval.
+Individual intervals can be set using <a href="#skip_time_do3d">skip_time_do3d</a>,
+      <a href="#skip_time_do2d_xy">skip_time_do2d_xy</a>, <a href="#skip_time_do2d_xz">skip_time_do2d_xz</a>, <a href="#skip_time_do2d_yz">skip_time_do2d_yz</a>, and <a href="#skip_time_data_output_av">skip_time_data_output_av</a>.<br>
+
+
+
+
+      
+      
+      
+      
+      <p>With
+the parameter <a href="chapter_4.2.html#nz_do3d">nz_do3d</a>&nbsp;
+the output can be limited in the vertical direction up to a certain
+grid point.<br>
+
+
+
+
+ </p>
+
+
+
+
+ Cross sections extend through the
+total model
+domain. In the two horizontal directions all grid points with 0
+&lt;= i
+&lt;= nx+1 and 0 &lt;= j
+&lt;= ny+1 are output so that in case of cyclic boundary conditions
+the
+complete total domain is represented. The location(s) of the cross
+sections can be defined with parameters <a href="#section_xy">section_xy</a>,
+      <a href="#section_xz">section_xz</a>, and <a href="#section_yz">section_yz</a>. Assigning <span style="font-weight: bold;">section_..</span> = <span style="font-style: italic;">-1</span>
+causes&nbsp;the output data to be averaged along the direction
+normal to the respective section.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Output of user defined quantities:</span><br>
+
+
+
+
+      <br>
+
+
+
+
+Beside
+the standard quantities from the above list, the user can output any
+other quantities. These have to be defined and calculated within the
+user-defined code (see <a href="chapter_3.5.4.html">3.5.4</a>).
+They can be selected for output with the user-parameter <a href="chapter_4.3.html#data_output_user">data_output_user</a>
+for which the same rules apply as for <span style="font-weight: bold;">data_output</span>.
+Output of the user defined quantities (time interval, averaging,
+selection of cross sections, etc.) is controlled with the parameters
+listed above and data are written to the same file(s) as the standard
+quantities.<br>
+
+
+
+
+      <br>
+
+
+
+
+      
+      
+      
+      
+      <p style="font-weight: bold;">Output
+on parallel machines:</p>
+
+
+
+
+      
+      
+      
+      
+      <p>
+By default, with parallel runs, processors output only data
+of their respective subdomains into seperate local files (file names
+are
+constructed by appending the four digit processor ID, e.g.
+&lt;filename&gt;_0000, &lt;filename&gt;_0001, etc.).
+After PALM has
+finished, the contents of these individual
+files are sampled into one final file<span style="font-weight: bold;"></span>
+using the program <tt><font style="font-size: 11pt;" size="2">combine_plot_fields.x</font></tt>
+(to be started e.g. by a suitable OUTPUT command in the <span style="font-weight: bold;">mrun</span>
+configuration file).</p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Alternatively, PALM is able to
+collect all grid points of a
+cross section on PE0 before output is done. In this case only
+one&nbsp;
+output file (DATA_2D_XY_NETCDF, etc.) is created and <tt><font style="font-size: 11pt;" size="2">combine_plot_fields.x</font></tt>
+does not have to be called. In case of very large numbers of horizontal
+gridpoints, sufficient
+memory is required on PE0.&nbsp; This method can be used by
+assigning <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
+= <i>.F.</i>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>3d volume data output is
+always handled seperately by each processor so that <span style="font-family: monospace;">combine_plot_fields.x</span>
+has to be called anyway after PALM has been finished.</p>
+
+
+
+
+      
+      
+      
+      
+      <p><br>
+
+
+
+
+      <span style="font-weight: bold;">Old formats:</span></p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>Beside
+the NetCDF format,&nbsp;2d cross section data and 3d volume data
+can
+also be output, for historical reasons, in a different (binary) format
+using parameter <a href="#data_output_format">data_output_format</a>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>By
+assigning <span style="font-weight: bold;">data_output_format
+      </span>= <span style="font-style: italic;">'avs'</span>,
+the 3d volume data is output to the local file <a href="chapter_3.4.html#PLOT3D_DATA">PLOT3D_DATA</a>.
+Output is in FORTRAN binary format&nbsp;readable by
+the plot software <span style="font-weight: bold;">AVS</span>.&nbsp;
+The order of data on the file follows the order used in the assignment
+for <b>data_output</b> (e.g. <b>data_output</b>
+= <span style="font-style: italic;">'p'</span>, <span style="font-style: italic;">'v'</span>,...&nbsp;
+means that the file starts with the pressure data, followed by the
+v-component of the velocity, etc.). Both instantaneous and time
+averaged data are written on this file! Additional to this file, PALM
+creates
+a second binary file (local name <a href="chapter_3.4.html#PLOT3D_COOR">PLOT3D_COOR</a>)
+with coordinate information needed by <span style="font-weight: bold;">AVS</span>.
+As third and
+fourth file two ASCII files are created (AVS-FLD-format, local name <a href="chapter_3.4.html#PLOT3D_FLD">PLOT3D_FLD</a>
+and <a href="chapter_3.4.html#PLOT3D_FLD_COOR">PLOT3D_FLD_COOR</a>),
+which describe the contents of the data file and/or coordinate file
+and are used by AVS. However, AVS expects the content description in
+one file. This needs the local file PLOT3D_FLD_COOR to be appended to
+the file
+PLOT3D_FLD (by suitable OUTPUT command in the <span style="font-weight: bold;">mrun</span>
+configuration file: &ldquo;<span style="font-family: monospace;">cat
+PLOT3D_FLD_COOR &gt;&gt; PLOT3D_FLD</span>&rdquo;)
+after PALM has
+finished.&nbsp;To reduce the amount of data, output to this file
+can be done
+in
+compressed form (see <a href="chapter_4.2.html#do3d_compress">do3d_compress</a>).
+Further details about plotting 3d volume data with <span style="font-weight: bold;">AVS </span>can be found in
+      <a href="chapter_4.5.5.html">chapter
+4.5.5</a>.</p>
+
+
+
+
+By assigning <span style="font-weight: bold;">data_output_format </span>=
+      <span style="font-style: italic;">'iso2d'</span>,
+the cross section data is output to the local files <a href="chapter_3.4.html#PLOT2D_XY">PLOT2D_XY</a>, <a href="chapter_3.4.html#PLOT2D_XZ">PLOT2D_XZ</a>, and <a href="chapter_3.4.html#PLOT2D_YZ">PLOT2D_YZ</a>.
+Output is in FORTRAN binary format&nbsp;readable by
+the plot software&nbsp;<span style="font-weight: bold;">iso2d</span>.&nbsp;
+The order of data on the files follows the order used in the assignment
+for <b>data_output</b> (e.g. <b>data_output</b>
+= <span style="font-style: italic;">'p_xy'</span>, <span style="font-style: italic;">'v_xy_av'</span>,...&nbsp;
+means that the file containing the horizontal cross section data starts
+with the instantaneous pressure data, followed by the
+temporally averaged v-component of the velocity, etc.). Both
+instantaneous and time averaged data are written on this
+file!Additional to these binary files, PALM
+creates NAMELIST parameter files
+(local names <a href="chapter_3.4.html#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>,
+      <a href="chapter_3.4.html#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>,
+      <a href="chapter_3.4.html#PLOT2D_XZ_GLOBAL">PLOT2D_XZ_GLOBAL</a>,
+      <a href="chapter_3.4.html#PLOT2D_XZ_LOCAL">PLOT2D_XZ_LOCAL</a>,
+      <a href="chapter_3.4.html#PLOT2D_YZ_GLOBAL">PLOT2D_YZ_GLOBAL</a>,
+      <a href="chapter_3.4.html#PLOT2D_YZ_LOCAL">PLOT2D_YZ_LOCAL</a>)
+which can be used as parameter input files for the plot software <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>.
+That needs local files with suffix _LOCAL to be appended to the
+respective files with suffix _GLOBAL (by
+suitable OUTPUT commands in the <span style="font-weight: bold;">mrun</span>
+configuration file, e.g.: &ldquo;<span style="font-family: monospace;">cat
+PLOT2D_XY_LOCAL &gt;&gt; PLOT2D_XY_GLOBAL</span>&rdquo;)
+after PALM has
+finished. Cross sections can be directly plotted with <span style="font-weight: bold;">iso2d</span> using the
+respective data and
+parameter file. The plot layout is steered via the parameter input
+file.
+The values of these <span style="font-weight: bold;">iso2d</span>
+parameters are determined by a set of mostly internal PALM parameters
+(exception: <a href="chapter_4.2.html#z_max_do2d">z_max_do2d</a>).
+All parameter values can be changed by editing the parameter input
+file.&nbsp;Further details about plotting 2d cross sections with <span style="font-weight: bold;">iso2d </span>can be found
+in <a href="chapter_4.5.4.html">chapter
+4.5.4</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Important:</span><br>
+
+
+
+
+There
+is no guarantee that iso2d- and avs-output will be available in future
+PALM versions (later than 3.0). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="data_output_format"></a><span style="font-weight: bold;">data_output_format</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C * 10 (10) </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'netcdf'</span> </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Format of output data.<br>
+
+
+
+
+      <br>
+
+
+
+
+By
+default, all data (profiles, time
+series, spectra, particle data, cross sections, volume data) are output
+in NetCDF format (see chapter <a href="chapter_4.5.1.html">4.5.1</a>).
+Exception: restart data (local files <a href="chapter_3.4.html#BININ">BININ</a>, <a href="chapter_3.4.html#BINOUT">BINOUT</a>, <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>,
+      <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_OUT">PARTICLE_RESTART_DATA_OUT</a>)
+are always output in FORTRAN binary format.<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+numerical precision of the NetCDF output is determined with parameter <a href="#chapter_4.1.html#netcdf_precision">netcdf_precision</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+maximum file size for NetCDF files is 2 GByte by default. Use the
+parameter <a href="#netcdf_64bit">netcdf_64bit</a>
+if larger files have to be created.<br>
+
+
+
+
+      <br>
+
+
+
+
+For historical
+reasons, other data formats are still available. Beside 'netcdf', <span style="font-weight: bold;">data_output_format</span>
+may be assigned the following values:<br>
+
+
+
+
+      <br>
+
+
+
+
+      
+      
+      
+      
+      <table style="text-align: left; width: 594px; height: 104px;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+        <tbody>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'profil'</span></td>
+
+
+
+
+            <td>output
+of profiles,&nbsp;time series and spectra in ASCII format to be
+read by the graphic software <span style="font-weight: bold;">profil
+            </span>(see chapters <a href="chapter_4.5.2.html">4.5.2</a>,
+            <a href="#chapter_4.5.3.html">4.5.3</a>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'iso2d'</span></td>
+
+
+
+
+            <td>output
+of 2d cross-sections in FORTRAN binary format to be read by the graphic
+software <span style="font-weight: bold;">iso2d</span>
+(see chapter <a href="chapter_4.5.4.html">4.5.4</a>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'avs'</span></td>
+
+
+
+
+            <td>output
+of 3d volume data in FORTRAN binary format to be read by the graphic
+software <span style="font-weight: bold;">AVS</span>
+(see chapter <a href="chapter_4.5.5.html">4.5.5</a>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+        
+        
+        
+        
+        </tbody>
+      
+      
+      
+      
+      </table>
+
+
+
+
+      <br>
+
+
+
+
+Multiple
+values can be assigned to <span style="font-weight: bold;">data_output_format</span>,
+i.e. if the user wants to have both the "old" data format suitable for <span style="font-weight: bold;">iso2d</span> as well as
+cross section data in NetCDF format, then <span style="font-weight: bold;">data_output_format</span> =
+      <span style="font-style: italic;">'iso2d'</span>, <span style="font-style: italic;">'netcdf'</span> has to be
+assigned.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Warning:</span>
+There is no guarantee that the "old" formats will be available in
+future PALM versions (beyond 3.0)!<br>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="data_output_pr"></a><b>data_output_pr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C *
+10&nbsp; <br>
+
+
+
+
+
+(100)</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>100
+* ' '</i></td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Quantities for which vertical profiles (horizontally averaged)
+are to be output.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default vertical
+profile data is output to the local file <a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>.
+The file's format is NetCDF.&nbsp; Further details about processing
+NetCDF data are given in chapter <a href="chapter_4.5.1.html">4.5.1</a>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>For
+historical reasons, data can also be output in ASCII-format on local
+file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>
+which is readable by the graphic software <span style="font-weight: bold;">profil</span>. See
+parameter <a href="#data_output_format">data_output_format</a>
+for defining the format in which data shall be output.<br>
+
+
+
+
+ </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>For horizontally averaged vertical
+profiles always <span style="font-weight: bold;">all</span>
+vertical
+grid points (0 &lt;= k &lt;= nz+1) are output to file. Vertical
+profile data refers to the total domain but profiles for subdomains can
+also be output (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The temporal interval of the output times of
+profiles is
+assigned via the parameter <a href="chapter_4.2.html#dt_dopr">dt_dopr</a>.
+Within the file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>,
+the profiles are ordered with respect to their
+output times.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>Profiles can also be temporally
+averaged (see <a href="chapter_4.2.html#averaging_interval_pr">averaging_interval_pr</a>).<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The following list shows the values which can be
+assigned to <span style="font-weight: bold;">data_output_pr</span>.
+The profile data is either defined on
+u-v-levels (variables marked in <font color="#ff6600">red</font>)
+or
+on w-levels (<font color="#33ff33">green</font>).
+According to this,
+the
+z-coordinates of the individual profiles vary. Beyond that, with a
+Prandtl layer switched on (<a href="chapter_4.1.html#prandtl_layer">prandtl_layer</a>)
+the lowest output
+level is z = zu(1) instead of z = zw(0) for profiles <i>w''
+u'',w''v"</i>, <i>wu</i> and <i>wv</i>
+. Turbulence quantities such as&nbsp;<span style="font-style: italic;">w*u* &nbsp;</span>or <span style="font-style: italic;">u*2</span> are calculated from turbulent fluctuations that are defined as deviations from the instantaneous horizontal average.
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>u</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">u-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>v</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">v-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">w-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>pt</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Potential temperature (in
+K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>vpt</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Virtual potential
+temperature (in K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>lpt</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Potential liquid water
+temperature (in K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>q</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total water content
+(in kg/kg).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>qv</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Specific humidity (in
+kg/kg).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>ql</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Liquid water content
+(in kg/kg).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; color: rgb(255, 102, 0);">rho</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">Potential density (in kg/m<sup>3</sup>).</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle; font-style: italic;"><font color="#ff6600">s</font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Scalar concentration (in
+kg/m<sup>3</sup>).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(255, 102, 0);">sa</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">Salinity (in psu).</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#ff6600"><i>e</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Turbulent kinetic energy
+(TKE, subgrid-scale) (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#ff6600"><i>e*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Perturbation energy
+(resolved) (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; color: rgb(255, 0, 0);">p</span></td>
+
+            <td align="undefined" valign="undefined">Perturbation pressure (in Pa)</td>
+
+          </tr>
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#ff6600"><i>km</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Eddy diffusivity for
+momentum (in m<sup>2</sup>/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: middle;"><font color="#ff6600"><i>kh</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Eddy diffusivity for heat
+(in m<sup>2</sup>/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>l</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Mixing length (in m).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>w"u"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">u-component of the
+subgrid-scale vertical momentum flux (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>w*u*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">u-component of the
+resolved vertical momentum flux (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>wu</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">u-component of the total
+vertical momentum flux (<i>w"u"</i> + <i>w*u*</i>)
+(in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>w"v"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">v-component of the
+subgrid-scale vertical momentum flux (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>w*v*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">v-component of the
+resolved vertical momentum flux (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>wv</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">v-component of the total
+vertical momentum flux (<i>w"v"</i> + <i>w*v*</i>)
+(in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w"pt"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+sensible heat flux (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*pt*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Resolved vertical
+sensible
+heat flux (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>wpt</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical sensible
+heat flux (<i>w"pt"</i> + <i>w*pt*</i>)
+(in K
+m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*pt*BC</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+sensible heat flux using the
+Bott-Chlond scheme (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>wptBC</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical sensible
+heat flux using the Bott-Chlond scheme
+(<i>w"pt"</i>
++ <i>w*pt*BC</i>) (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: top;"><font color="#33ff33"><i>w"vpt"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+buoyancy flux (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*vpt*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Resolved vertical
+buoyancy
+flux (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>wvpt</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical buoyancy
+flux (w"vpt" + w*vpt*) (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w"q"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+water flux (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*q*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Resolved vertical water
+flux (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>wq</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical water flux
+(w"q" + w*q*) (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w"qv"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+latent heat flux (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*qv*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Resolved vertical latent
+heat flux (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>wqv</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical latent
+heat
+flux (w"qv" + w*qv*) (in kg/kg m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: middle;"><font color="#33ff33"><i>w"s"</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale vertical
+scalar concentration flux (in kg/m<sup>3 </sup>m/s).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>w*s*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Resolved vertical scalar
+concentration flux (in kg/m<sup>3</sup> m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>ws</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total vertical scalar
+concentration flux (w"s" + w*s*) (in kg/m<sup>3 </sup>m/s).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; color: rgb(51, 255, 51);">w"sa"</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">Subgrid-scale vertical
+salinity flux (in psu<sup> </sup>m/s).</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; color: rgb(51, 255, 51);">w*sa*</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">Resolved vertical salinity flux (in psu m/s).</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic; color: rgb(51, 255, 51);">wsa</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">Total vertical salinity flux (w"sa" + w*sa*) (in psu<sup> </sup>m/s).</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*e*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Vertical flux of
+perturbation energy (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>u*2</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Variance of the
+u-velocity
+component (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>v*2</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Variance of the
+v-velocity
+component (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*2</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Variance of the w-velocity
+component (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6600"><i>pt*2</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Variance of the potential
+temperature (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*3</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Third moment of the
+w-velocity component (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: middle;"><font color="#33ff33"><i>Sw</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Skewness of the
+w-velocity
+component (resolved, S<sub>w</sub>
+= W<sup>3</sup>/(w<sup>2</sup>)<sup>1.5</sup>)</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*2pt*</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Third moment (resolved)</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#33ff33"><i>w*pt*2</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Third moment (resolved)</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6666"><i>w*u*u*/dz</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Energy production by
+shear
+(resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6666"><i>w*p*/dz</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Energy production by
+turbulent transport of pressure
+fluctuations (resolved)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><font color="#ff6666"><i>w"e/dz</i></font></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Energy production by
+transport of resolved-scale TKE</td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+        
+        
+        
+        
+        </tbody>
+      
+      
+      
+      
+      </table>
+
+
+
+
+ <br>
+
+
+
+
+Beyond that, initial profiles (t=0) of some
+variables can additionally be
+output (this output is only done once
+with the first plot output and not repeated with the profile output at
+later
+times). The names of these profiles result from the ones specified
+above leaded by a hash "#".&nbsp; Allowed values are:<br>
+
+
+
+
+ 
+      
+      
+      
+      
+      <ul>
+
+
+
+
+
+        
+        
+        
+        
+        <p><i>#u</i>, <i>#v</i>, <i>#pt</i>,
+        <i>#km</i>, <i>#kh</i>, <i>#l, #lpt, #q, #qv, #s, #sa, #vpt</i></p>
+
+
+
+
+
+      
+      
+      
+      
+      </ul>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Profile names preceded by a hash automatically imply that
+profiles for these variables are also output at later times. It is not
+necessary and not allowed to specify the same profile name with and
+without hash simultaneously(this would lead to an NetCDF error). </p>
+
+
+      
+      
+      <p>These initial profiles have been either set by
+the user or
+have been calculated by a 1d-model prerun.</p>
+
+
+
+
+The
+user is allowed to extend the above list of quantities by defining his
+own output quantities (see the user-parameter <a href="chapter_4.3.html#data_output_pr_user">data_output_pr_user</a>).<br>
+
+
+
+
+      <br>
+
+
+
+
+In case
+of ASCII data output to local file PLOT1D_DATA,
+PALM additionally creates a NAMELIST parameter file (local name <a href="chapter_3.4.html#PLOT1D_PAR">PLOT1D_PAR</a>)
+which can be used as parameter input file for the plot software <a href="http://www.muk.uni-hannover.de/institut/software/profil_intro.html">profil</a>.
+Profiles can be directly plotted with <span style="font-weight: bold;">profil</span>
+using these two files. The
+plot layout is
+steered via the parameter input file. The values of these <span style="font-weight: bold;">profil</span>-parameters
+are determined by
+a set of PALM parameters (<a href="chapter_4.2.html#profile_columns">profile_columns</a>,
+      <a href="chapter_4.2.html#profile_rows">profile_rows</a>,
+      <a href="chapter_4.2.html#z_max_do1d">z_max_do1d</a>,
+      <a href="chapter_4.2.html#cross_profiles">cross_profiles</a>,
+etc.) All parameter values can be changed by editing the parameter
+input
+file. <br>
+
+
+
+
+      <br>
+
+
+
+
+Further details about plotting vertical
+profiles with <span style="font-weight: bold;">profil </span>can
+be found in <a href="chapter_4.5.2.html">chapter
+4.5.2</a></td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="data_output_2d_on_each_pe"></a><b>data_output_2d_on</b>
+      <br>
+
+
+
+
+ <b>_each_pe</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">.T.</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Output 2d cross section
+data by one or
+all processors.&nbsp; 
+      
+      
+      
+      
+      <p>In runs with several processors, by
+default, each processor
+outputs cross section data of its subdomain&nbsp;into an individual
+file. After PALM
+has finished, the contents of these files have to be sampled into one
+file<span style="font-weight: bold;"></span> using
+the program <tt>combine_plot_fields.x</tt>.&nbsp; </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>Alternatively, by assigning <b>data_output_2d_on_each_pe</b>
+= <i>.F.,</i>
+the respective data is gathered on PE0 and output is done directly
+into one file, so <tt>combine_plot_fields.x</tt> does not
+have to be
+called. However, in case of very large numbers of horizontal
+gridpoints, sufficient
+memory is required on PE0. </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="disturbance_amplitude"></a><b>disturbance<br>
+
+
+
+
+
+_amplitude</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>0.25</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Maximum
+perturbation amplitude of the random perturbations
+imposed to the horizontal velocity field (in m/s).&nbsp; </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>The parameter <a href="#create_disturbances">create_disturbances</a>
+describes how to impose random perturbations to the horizontal velocity
+field. Since the perturbation procedure includes two filter operations,
+the amplitude assigned by <b>disturbance_amplitude</b> is
+only an
+approximate value of the real magnitude of the perturbation.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="disturbance_energy_limit"></a><b>disturbance_energy</b>
+      <br>
+
+
+
+
+ <b>_limit</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>0.01</i></td>
+
+
+
+
+
+      <td style="vertical-align: top; font-family: Helvetica,Arial,sans-serif;"> 
+      
+      
+      
+      
+      <p lang="en-GB">Upper
+limit value of the perturbation energy of
+the velocity field used as a criterion for imposing random
+perturbations (in m<sup>2</sup>/s<sup>2</sup>).&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">The parameter </span><a href="#create_disturbances"><span lang="en-GB">create_disturbances</span></a><span lang="en-GB">
+describes how to impose
+random perturbations to the horizontal velocity field. The perturbation
+energy is defined as the volume average (over the total model domain)
+of the squares of the deviations of the velocity components from the
+mean flow (horizontal average). If the perturbation energy exceeds the
+assigned value, random perturbations to the fields of horizontal
+velocities are imposed no more. The value of this parameter usually
+must be determined by trial and error (it depends e.g. on the total
+number of grid points).</span>  </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="disturbance_level_b"></a><b>disturbance_level_b</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>zu(3) or<br>
+
+
+
+
+zu(nz*2/3)<br>
+
+
+
+
+see right</i></td>
+
+
+
+
+
+      <td style="vertical-align: top; font-family: Helvetica,Arial,sans-serif;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font size="3">Lower
+limit of the vertical range for which random perturbations are to be
+imposed on the horizontal wind field (</font>in <font size="3">m).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">This
+parameter must hold the condition zu(3) &lt;= <b>disturbance_level_b</b>
+&lt;= zu(</span><a href="chapter_4.1.html#nz"><span lang="en-GB">nz-2</span></a><span lang="en-GB">)</span><span lang="en-GB">. Additionally, <b>disturbance_level_b</b>
+&lt;= </span><a href="#disturbance_level_t"><span lang="en-GB">disturbance_level_t</span></a>
+      <span lang="en-GB">must
+also hold.</span></p>
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB">In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>) </span><span lang="en-GB">the default value is <span style="font-weight: bold;">disturbance_level_b</span> = <span style="font-style: italic;">zu(nz * 2 / 3) </span>(negative).</span><a href="chapter_4.1.html#nz"><span lang="en-GB"></span></a><span lang="en-GB"></span><span lang="en-GB"></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">The
+parameter </span><a href="#create_disturbances"><span lang="en-GB">create_disturbances</span></a><span lang="en-GB">
+describes how to impose
+random perturbations to the horizontal velocity field</span><span lang="en-GB">.</span>
+       </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="disturbance_level_t"></a><b>disturbance_level_t</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>zu(nz/3) or<br>
+
+
+
+
+zu(nzt-3)<br>
+
+
+
+
+see right</i></td>
+
+
+
+
+
+      <td style="vertical-align: top; font-family: Helvetica,Arial,sans-serif;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font size="3">Upper
+limit of the vertical range for which random perturbations are to be
+imposed on the horizontal wind field (</font>in <font size="3">m).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB">This
+parameter must hold the condition <b>disturbance_level_t</b>
+&lt;= zu<i>(</i></span><i><a href="chapter_4.1.html#nz"><span lang="en-GB">nz-2</span></a><span lang="en-GB">)</span></i><span lang="en-GB">.
+Additionally, </span><a href="#disturbance_level_b"><span lang="en-GB">disturbance_level_b</span></a>
+      <span lang="en-GB">&lt;=
+      <b>disturbance_level_t</b>
+must also hold.</span></p>
+
+
+
+
+      <span lang="en-GB">In case of ocean runs (see <a href="chapter_4.1.html#ocean">ocean</a>) </span><span lang="en-GB">the default value is <span style="font-weight: bold;">disturbance_level_t</span> = <span style="font-style: italic;">zu(nzt - 3</span>)</span><span lang="en-GB"><span style="font-style: italic;"> </span>(negative)</span><span lang="en-GB">.</span>
+      
+      
+      
+      
+      <p><span lang="en-GB">The
+parameter </span><a href="#create_disturbances"><span lang="en-GB">create_disturbances</span></a><span lang="en-GB">
+describes how to impose
+random perturbations to the horizontal velocity field</span><span lang="en-GB">.</span>
+       </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="do2d_at_begin"></a><b>do2d_at_begin</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top; font-style: italic;">.F.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Output of 2d
+cross section data at the beginning of a run.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The
+temporal intervals of output times of 2d cross section data (see <a href="chapter_4.2.html#data_output">data_output</a>)
+are usually determined with parameters <a href="chapter_4.2.html#dt_do2d_xy">dt_do2d_xy</a>, <a href="chapter_4.2.html#dt_do2d_xz">dt_do2d_xz</a>
+and <a href="chapter_4.2.html#dt_do2d_yz">dt_do2d_yz</a>.
+By assigning <b>do2d_at_begin</b> = <i>.T.</i>
+an additional output
+will be made at the
+beginning of a run (thus at the time t = 0 or at the respective
+starting times of restart runs).</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="do3d_at_begin"></a><b>do3d_at_begin</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top; font-style: italic;">.F.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Output of 3d volume data
+at the beginning
+of a run.<br>
+
+
+
+
+      <br>
+
+
+
+
+The temporal intervals of output times of
+3d volume data (see <a href="chapter_4.2.html#data_output">data_output</a>)
+is usually determined with parameter <a href="chapter_4.2.html#dt_do3d">dt_do3d</a>.
+By assigning <b>do3d_at_begin</b> = <i>.T.</i>
+an additional output
+will be made at the
+beginning of a run (thus at the time t = 0 or at the respective
+starting times of restart runs).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="do3d_compress"></a><b>do3d_compress</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top; font-style: italic;">.F.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Output of data
+for 3d plots in compressed form.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This
+parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'avs'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>Output
+of 3d volume data may need huge amounts of disc storage
+(up to several Terabytes ore more). Data compression can serve to
+reduce this requirement. PALM is able to output 3d data in compressed
+form using 32-bit integers, if <span style="font-weight: bold;">do3d_compress</span>
+= <span style="font-style: italic;">.T.</span> is
+assigned. This
+yields a loss of accuracy, but the file size is clearly reduced. The
+parameter <a href="chapter_4.2.html#do3d_comp_prec">do3d_comp_prec</a>
+can be used to separately define the number of significant digits for
+each quantity.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>So far compressed data
+output is only possible for Cray-T3E
+machines. Additional information for
+handling compressed data is given in <a href="chapter_4.5.6.html">chapter
+4.5.6</a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="do3d_comp_prec"></a><b>do3d_comp_prec</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C *
+7&nbsp; <br>
+
+
+
+
+
+&nbsp; (100)</td>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">see
+right<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Significant digits in case of compressed data
+output.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for
+&nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'avs'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>In
+case that data compression is used for output of 3d data
+(see <a href="chapter_4.2.html#do3d_compress">do3d_compress</a>),
+this parameter determines the number of significant digits
+which are to be output.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Fewer digits
+clearly reduce the amount
+of data. Assignments have to be given separately for each individual
+quantity via a character string of the form <span style="font-style: italic;">'&lt;quantity
+name&gt;&lt;number of
+significant digits&gt;'</span>, e.g. <span style="font-style: italic;">'pt2'</span>.
+Only those quantities listed in <a href="chapter_4.2.html#data_output">data_output</a>
+are admitted. Up to 9 significant digits are allowed (but large values
+are not very reasonable
+because they do not effect a significant compression).<br>
+
+
+
+
+ </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>The default assignment is <span style="font-weight: bold;">do3d_comp_prec</span>
+= <span style="font-style: italic;">'u2'</span>, <span style="font-style: italic;">'v2'</span>, <span style="font-style: italic;">'w2'</span>, <span style="font-style: italic;">'p5'</span>, <span style="font-style: italic;">'pt2'</span>.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_laufparameter"></a><b>dt</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>variable</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      <font style="font-family: Helvetica,Arial,sans-serif;" face="Thorndale, serif"><font size="3">Time
+step to be used by the 3d-model (</font></font><span style="font-family: Helvetica,Arial,sans-serif;">in </span><font style="font-family: Helvetica,Arial,sans-serif;" face="Thorndale, serif"><font size="3">s).&nbsp;
+      </font></font> 
+
+
+ 
+      
+      
+      
+      
+      <p style="font-family: Helvetica,Arial,sans-serif;"><span lang="en-GB">This parameter</span>
+      <span lang="en-GB">is
+described in
+detail with the initialization parameters (see</span><span lang="en-GB"> </span><a href="chapter_4.1.html#dt"><span lang="en-GB">dt</span></a><span lang="en-GB">).
+Additionally, it may be
+used as a run parameter and then applies to all restart runs (until it
+is changed again). A switch from a constant time step to a variable
+time step can be achieved with <b>dt</b> = <i>-1.0</i>.</span></p>
+
+      <font face="Thorndale, serif">
+      </font> 
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="dt_averaging_input"></a><span style="font-weight: bold;">dt_averaging_input</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Temporal interval
+of&nbsp;data which are subject to temporal averaging (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+By
+default, data from each timestep within the interval defined by <a href="chapter_4.2.html#averaging_interval">averaging_interval</a>
+are used for calculating the temporal average. By choosing <span style="font-weight: bold;">dt_averaging_input</span>
+&gt; <span lang="en-GB"><font face="Thorndale, serif"> </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale, serif">dt</font></span></a><font face="Thorndale, serif"><span lang="en-GB"></span></font><span lang="en-GB"></span><span style="font-style: italic;"></span>,
+the number of time levels entering the average can be minimized. This
+reduces the CPU-time of a run but may worsen the quality of the
+average's statistics.<br>
+
+
+
+
+      <br style="font-family: Helvetica,Arial,sans-serif;">
+
+
+
+
+      <font style="font-family: Helvetica,Arial,sans-serif;" face="Thorndale, serif"><span lang="en-GB">With
+variable time step (see <span style="font-weight: bold;">dt</span>),
+the number of time levels entering the average can vary from one
+averaging interval to the next (for a more detailed explanation see </span></font><font style="font-family: Helvetica,Arial,sans-serif;"><a href="#averaging_interval"><span lang="en-GB">averaging_interval</span></a>)</font><font style="font-family: Helvetica,Arial,sans-serif;" face="Thorndale, serif"><span lang="en-GB">. It
+is approximately given by the quotient of <span style="font-weight: bold;">averaging_interval</span> /
+MAX(<span style="font-weight: bold;"> dt_averaging_input</span>,
+      <span style="font-weight: bold;">dt</span>) (which
+gives a more or less exact value if a fixed timestep is used and if
+this is an integral divisor of <span style="font-weight: bold;">dt_averaging_input</span>).</span></font><span style="font-family: Helvetica,Arial,sans-serif;">&nbsp;
+      </span><br style="font-family: Helvetica,Arial,sans-serif;">
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+With
+an averaging interval of 100.0 s and <span style="font-weight: bold;">dt_averaging_input</span> =
+      <span style="font-style: italic;">10.0</span>,
+the time levels entering the average have a (minimum) distance of 10.0
+s (their distance may of course be larger if the current timestep is
+larger than 10.0 s), so the average is calculated from the data of
+(maximum) 10 time levels.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <font face="Thorndale, serif"><span lang="en-GB">It
+is allowed
+to change <b>dt_averaging_input</b> during a job chain. If
+the last averaging
+interval of the run previous to the change could not be completed (i.e.
+has to be finished in the current run), the individual profiles and/or
+spectra entering the averaging are not uniformly distributed over the
+averaging interval.<br>
+
+
+
+
+      <br>
+
+
+
+
+      </span></font>Parameter&nbsp;<a href="#dt_averaging_input_pr">dt_averaging_input_pr</a>&nbsp;can
+be used to define&nbsp;a different temporal interval&nbsp;for
+vertical profile data and spectra.<br>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_averaging_input_pr"></a><b>dt_averaging_input_pr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="#dt_averaging_input">dt_<br>
+
+
+
+
+averaging_<br>
+
+
+
+
+input</a></span></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB">Temporal
+interval of&nbsp;data which are subject to temporal averaging of <font face="Thorndale, serif"><font size="3">vertical
+profiles and/or spectra&nbsp;(</font></font>in <font face="Thorndale, serif"><font size="3">s).&nbsp;
+      </font></font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default, data from
+each timestep within the interval defined by<font face="Thorndale, serif"><span lang="en-GB"> </span></font><a href="#averaging_interval_pr"><span lang="en-GB"><font face="Thorndale, serif">averaging_interval_pr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><span lang="en-GB"><font face="Thorndale, serif">and </font></span><a href="#averaging_interval_sp"><span lang="en-GB"><font face="Thorndale, serif">averaging_interval_sp</font></span></a><span lang="en-GB"><font face="Thorndale, serif"> </font></span>are
+used for calculating the temporal average.&nbsp;By choosing <span style="font-weight: bold;">dt_averaging_input_pr</span>
+&gt; <span lang="en-GB"><font face="Thorndale, serif"> </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale, serif">dt</font></span></a><font face="Thorndale, serif"><span lang="en-GB"></span></font><span lang="en-GB"></span><span style="font-style: italic;"></span>,
+the number of time levels entering the average can be minimized. This
+reduces the CPU-time of a run but may worsen the quality of the
+average's statistics. <span lang="en-GB"><font face="Thorndale, serif"><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"></span></a><font face="Thorndale, serif"><span lang="en-GB"></span></font><span lang="en-GB"></span><br>
+
+
+
+
+ </p>
+
+
+
+
+      
+      
+      
+      
+      <p>For
+more explanations see parameter <a href="#dt_averaging_input">dt_averaging_input</a>.<a href="chapter_4.1.html#dt"><span lang="en-GB"></span></a><font face="Thorndale, serif"><span lang="en-GB"></span></font></p>
+
+
+
+
+      </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a name="dt_coupling"></a><span style="font-weight: bold;">dt_coupling</span></td>
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td style="vertical-align: top;">Temporal interval for the data exchange in case of <a href="chapter_3.8.html">runs with coupled models</a> (e.g. atmosphere - ocean) (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This parameter has an effect only in case of a run with coupled models. It is available starting from version 3.3a. <br>
+
+
+
+
+      <br>
+
+
+
+
+This parameter specifies the temporal interval at which data are
+exchanged at the interface between coupled models (currently: interface
+between atmosphere and ocean). If this parameter is not explicitly
+specified in the parameter files for both coupled models, or if there
+is an inconsistency between its values for both coupled models,
+the&nbsp;execution will terminate and an informative error message will
+be given.&nbsp;In order to ensure synchronous coupling throughout the simulation, <span style="font-weight: bold;">dt_coupling</span> should be chosen larger than
+      <a href="#dt_max">dt_max</a>.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="dt_data_output"></a><span style="font-weight: bold;">dt_data_output</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font>
+at which&nbsp;data (3d volume data (instantaneous or time
+averaged),
+cross sections (instantaneous or time averaged), vertical profiles,
+spectra) shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+
+      <span lang="en-GB"><font face="Thorndale">If
+data output&nbsp;is switched on (see </font></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a><span lang="en-GB"><font face="Thorndale">, <a href="#data_output_pr">data_output_pr</a>, <a href="#data_output_sp">data_output_sp</a>, and </font></span><a href="chapter_4.2.html#section_xy"><span lang="en-GB"><font face="Thorndale">section_xy</font></span></a><span lang="en-GB"><font face="Thorndale">), this
+parameter can be used to
+assign the temporal interval at which these data shall be
+output. </font></span><span lang="en-GB"><font face="Thorndale">Output can be skipped at the beginning of a
+simulation using parameter <a href="#skip_time_data_output">skip_time_data_output</a>,
+which has zero value by default. </font></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of the simulation, i.e. output
+takes place at times t = <b>skip_time_data_output +
+dt_data_output</b>, <span style="font-weight: bold;">skip_time_data_output</span>
++ 2*<b>dt_data_output</b>, <span style="font-weight: bold;">skip_time_data_output</span>
++ 3*<b>dt_data_output</b>,
+etc. Since output is only done at the discrete time levels given by
+the&nbsp;timestep used, the actual output times can slightly
+deviate
+from these theoretical values</font></span><a href="chapter_4.2.html#dt_dopr_zeitpunkte"><span lang="en-GB"></span></a><span lang="en-GB"><font face="Thorndale">.<br>
+
+
+
+
+      <br>
+
+
+
+
+Individual temporal
+intervals for the different output quantities can be assigned using
+parameters <a href="#dt_do3d">dt_do3d</a>, <a href="#dt_do2d_xy">dt_do2d_xy</a>, <a href="dt_do2d_xz">dt_do2d_xz</a>, <a href="#dt_do2d_yz">dt_do2d_yz</a>, <a href="#dt_dopr">dt_dopr</a>, <a href="#dt_dosp">dt_dosp</a>,
+and <a href="#dt_data_output_av">dt_data_output_av</a>.</font></span>
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="dt_data_output_av"></a><span style="font-weight: bold;">dt_data_output_av</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font>
+at which time averaged 3d volume data and/or 2d cross section data
+shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+      <span lang="en-GB"><font face="Thorndale">If data
+output of time averaged 2d and 3d data is switched on (see </font></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a>&nbsp;<span lang="en-GB"><font face="Thorndale">and </font></span><a href="chapter_4.2.html#section_xy"><span lang="en-GB"><font face="Thorndale">section_xy</font></span></a><span lang="en-GB"><font face="Thorndale">), this
+parameter can be used to
+assign the temporal interval at which they shall be
+output. </font></span><span lang="en-GB"><font face="Thorndale">Output can be skipped at the beginning of a
+simulation using parameter <a href="#skip_time_data_output_av">skip_time_data_output_av</a>,
+which has zero value by default. </font></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of the simulation, i.e. output
+takes place at times t = <b>skip_time_data_output_av +
+dt_data_output_av</b>, <span style="font-weight: bold;">skip_time_data_output_av</span>
++ 2*<b>dt_data_output_av</b>, <span style="font-weight: bold;">skip_time_data_output_av</span>
++ 3*<b>dt_data_output_av</b>,
+etc. Since output is only done at the discrete time levels given by
+the&nbsp;timestep used, the actual output times can slightly
+deviate from
+these theoretical values</font></span><a href="chapter_4.2.html#dt_dopr_zeitpunkte"><span lang="en-GB"></span></a><span lang="en-GB"><font face="Thorndale">.<br>
+
+
+
+
+      <br>
+
+
+
+
+      </font></span>The
+length of the averaging interval is controlled via parameter <a href="chapter_4.2.html#averaging_interval">averaging_interval</a>.</td>
+
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_disturb"></a><b>dt_disturb</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which random
+perturbations are to be imposed on the horizontal velocity field
+(</font>in <font face="Thorndale">s).&nbsp; </font>
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">The parameter </font></span><a href="#create_disturbances"><span lang="en-GB"><font face="Thorndale, serif">create_disturbances</font></span></a><font face="Thorndale, serif"><span lang="en-GB">
+describes how to impose
+random perturbations to the horizontal velocity field</span></font><font face="Thorndale, serif"><span lang="en-GB">.</span>
+      </font> </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_dopr"></a><b>dt_dopr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Temporal
+interval at
+which data&nbsp;of vertical profiles shall be output (to local
+file <a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>
+or/and </font></span><a href="chapter_3.4.html#PLOT1D_DATA"><span lang="en-GB"><font face="Thorndale">PLOT1D_DATA</font></span></a><span lang="en-GB"><font face="Thorndale">) (</font></span>in
+      <span lang="en-GB"><font face="Thorndale">s).&nbsp;
+      </font></span> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output of
+horizontally averaged vertical profiles is switched on (see </font></span><a href="chapter_4.2.html#data_output_pr"><span lang="en-GB"><font face="Thorndale">data_output_pr</font></span></a><span lang="en-GB"><font face="Thorndale">), </font></span><span lang="en-GB"><font face="Thorndale">this
+parameter can be used to
+assign the temporal interval at which profile data shall be output.</font></span><span lang="en-GB"><font face="Thorndale"> </font></span><span lang="en-GB"><font face="Thorndale">Output can
+be skipped at the beginning of a simulation using parameter <a href="#skip_time_dopr">skip_time_dopr</a>, which has
+zero value by default. </font></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning
+of the simulation, thus t = 0,&nbsp;</font></span><span lang="en-GB"><font face="Thorndale">i.e. output
+takes place at times t = <b>skip_time_dopr + dt_dopr</b>, <span style="font-weight: bold;">skip_time_dopr</span> + 2*<b>dt_dopr</b>,
+      <span style="font-weight: bold;">skip_time_dopr</span>
++ 3*<b>dt_dopr</b>,
+etc.</font></span><span lang="en-GB"><font face="Thorndale"> Since
+profiles can not be calculated for times lying within a time step
+interval, the output times can deviate from these theoretical values.
+If a time step ranges from t = 1799.8 to t = 1800.2, then in the
+example above the output would take place at t = 1800.2. In general,
+the output always lie between t = 1800.0 and t = 1800.0 + </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a><span lang="en-GB"><font face="Thorndale">. If the
+model uses a variable time step, these
+deviations from the theoretical output times will of course be
+different for each output time.<br>
+
+
+
+
+ </font></span></p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">In
+order to
+guarantee an output of profile data at the end of a simulation (see </font></span><font><a href="chapter_4.1.html#end_time"><span lang="en-GB"><font face="Thorndale">end_time</font></span></a></font><span lang="en-GB"><font face="Thorndale">) in any way</font></span><span lang="en-GB"><font face="Thorndale">,&nbsp;
+      <span style="font-weight: bold;">end_time</span>
+should be equal or a little bit
+larger than the respective theoretical output time. For example, if <b>dt_dopr</b>
+= <i>900.0</i><span style="font-style: italic;">
+      </span>and 3600.0
+seconds are to be simulated, then <b>end_time</b>
+&gt;= 3600.0 should be chosen.</font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"></span></a><span lang="en-GB"><font face="Thorndale"><span style="font-weight: bold;"></span>&nbsp; </font></span>
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">A selection of
+profiles to be output can be done via parameter </font></span><a href="chapter_4.2.html#data_output_pr"><span lang="en-GB"><font face="Thorndale">data_output_pr</font></span></a><span lang="en-GB"><font face="Thorndale">.&nbsp;</font></span>
+      </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="dt_dopr_listing"></a><span style="font-weight: bold;">dt_dopr_listing</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">Temporal
+interval</font> at which data <font face="Thorndale">of
+vertical
+profiles shall be output (output for printouts, local file </font></span><a href="chapter_3.4.html#LIST_PROFIL"><span lang="en-GB"><font face="Thorndale">LIST_PROFIL</font></span></a><span lang="en-GB"><font face="Thorndale">) (</font></span>in
+      <span lang="en-GB"><font face="Thorndale">s).&nbsp;</font></span>
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>T<span lang="en-GB"></span><a href="chapter_4.2.html#pr1d"><span lang="en-GB"></span></a><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">his
+parameter can be used to
+assign the temporal interval at which profile data shall be output.</font></span><span lang="en-GB"><font face="Thorndale"> Reference
+time is the beginning
+of the simulation, thus t = 0. For example if <b>dt_dopr_listing</b>
+= 1800.0,
+then output takes place at t = 1800.0, 3600.0, 5400.0, etc. Since
+profiles can not be calculated for times lying within a time step
+interval, the output times can deviate from these theoretical values.
+If a time step ranges from t = 1799.8 to t = 1800.2, then in the
+example above the output would take place at t = 1800.2. In general,
+the output always lie between t = 1800.0 and t = 1800.0 + </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a> <span lang="en-GB"><font face="Thorndale">(numbers
+are related to
+the
+example above). If the model uses a variable time step, these
+deviations from the theoretical output times will of course be
+different for each output time.<br>
+
+
+
+
+ </font></span></p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">In
+order to
+guarantee an output of profile data at the end of a simulation (see </font></span><font><a href="chapter_4.1.html#end_time"><span lang="en-GB"><font face="Thorndale">end_time</font></span></a></font><span lang="en-GB"><font face="Thorndale">) in any way</font></span><span lang="en-GB"><font face="Thorndale">,&nbsp;
+      <span style="font-weight: bold;">end_time</span>
+should be a little bit
+larger than the respective theoretical output time. For example, if <b>dt_dopr_listing</b>
+= <i>900.0</i><span style="font-style: italic;">
+      </span>and 3600.0
+seconds are to be simulated, then it should be at least&nbsp; <b>end_time</b>
+&gt; 3600.0 + </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a><span lang="en-GB"><font face="Thorndale">. If
+variable time steps are used
+(which is the default), <span style="font-weight: bold;">dt</span>
+should be properly estimated.&nbsp; </font></span> </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Data
+and output
+format of the file </font></span><a href="chapter_3.4.html#LIST_PROFIL"><span lang="en-GB"><font face="Thorndale">LIST_PROFIL</font></span></a>
+      <span lang="en-GB"><font face="Thorndale">is
+internally fixed. In this file
+the profiles of the most important model variables are arranged in
+adjacent columns.</font></span> </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_dots"></a><b>dt_dots</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">see right</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which&nbsp;time series data shall be
+output (</font>in <font face="Thorndale">s).&nbsp;</font>
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The default interval for the output of timeseries
+is calculated as shown below (this tries to minimize the number of
+calls of <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>)</p>
+
+
+
+
+      
+      
+      
+      
+      <p style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( <a href="#averaging_interval_pr">averaging_interval_pr</a>
+== 0.0 )&nbsp; THEN<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      <span style="font-weight: bold;">dt_dots</span> =
+MIN( <a href="#dt_run_control">dt_run_control</a>, <a href="#dt_dopr">dt_dopr</a> )<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      <span style="font-weight: bold;">dt_dots</span> =
+MIN( dt_run_control, <a href="#dt_averaging_input_pr">dt_averaging_input_pr</a>
+)<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF</p>
+
+
+
+
+      
+      
+      
+      
+      <p>This parameter can be used to
+assign the temporal interval at which data points shall be output. <span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of
+&nbsp;the simulation, i.e. output takes place at times t = <b>dt_dots</b>,
+2*<b>dt_dots</b>, 3*<b>dt_dots</b>, etc. The
+actual output times can
+deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).&nbsp;
+Is <b>dt_dots</b> &lt; </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a><span lang="en-GB"><font face="Thorndale">, then data
+of the time series are
+written after each time step (if this is requested it should be <b>dt_dots</b>
+= <i>0</i>).</font></span></p>
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">The default
+value of <span style="font-weight: bold;">dt_dots</span>
+is calculated as follows:</font></span></p>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+IF ( <a href="#averaging_interval_pr">averaging_interval_pr</a>
+== 0.0 )&nbsp; THEN<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      <span style="font-weight: bold;">dt_dots</span> =
+MIN( <a href="#dt_run_control">dt_run_control</a>, <a href="#dt_dopr">dt_dopr</a> )<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ELSE<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      <span style="font-weight: bold;">dt_dots</span> =
+MIN( <span style="font-weight: bold;">dt_run_control</span>,
+      <a href="#dt_averaging_input_pr">dt_averaging_input_pr</a>
+)<br>
+
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ENDIF<br>
+
+
+
+
+      <br>
+
+
+
+
+(which minimizes the number of calls of
+routine flow_statistics).<br>
+
+
+
+
+      
+      
+      
+      
+      <p>By default time series data
+is output to the local file <a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a>.
+Because of the default settings of <span style="font-weight: bold;">dt_dots</span>,
+it will&nbsp;generally be created for each model run. The file's
+format is NetCDF.&nbsp; Further details about processing NetCDF
+data are given in chapter <a href="chapter_4.5.1.html">4.5.1</a>.</p>
+
+
+
+
+The
+file contains the following timeseries quantities (the first column
+gives the name of the quantities as used in the NetCDF file):<br>
+
+
+
+
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="font-style: italic; vertical-align: middle;">E<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Total
+kinetic energy of
+the flow (in m<sup>2</sup>/s<sup>2</sup>)
+(normalized with respect to the total number of grid points).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="font-style: italic; vertical-align: middle;">E*<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Perturbation
+kinetic
+energy of the flow (in m<sup>2</sup>/s<sup>2</sup>)<sup>
+            </sup>(normalized
+with respect to the total number of grid
+points)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">dt<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Time step
+size (in s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">u<sub>*</sub></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Friction velocity (in
+m/s)
+(horizontal average).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">w<sub>*</sub></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Vertical velocity scale
+of
+the CBL (in m/s) (horizontal average)</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: top; font-style: italic;">th<sub>*</sub></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Temperature
+scale (Prandtl layer), defined as <i>w"pt"0
+/&nbsp;</i><i>u<sub>*</sub></i>
+(horizontal
+average) (in K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">umax<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Maximum
+u-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">vmax<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Maximum
+v-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">wmax<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Maximum
+w-component of the
+velocity (in m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">div_old<br>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Divergence
+of the velocity
+field before the pressure
+solver has been called (normalized with respect to the total number of
+grid points) (in 1/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">div_new</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Divergence of the
+velocity
+field after the pressure
+solver has been called (normalized with respect to the total number of
+grid points) (in 1/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">z_i_wpt</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Height of the convective
+boundary layer (horizontal average)
+determined by the height of the minimum sensible heat flux (in m).</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">z_i_pt</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Height of the convective
+boundary layer (horizontal average)
+determined by the temperature profile, following the criterion of Sullivan et al. (1998) (in m).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: top; font-style: italic;">w"pt"0</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale sensible
+heat flux at k=0 (horizontal
+average), constant within Prandtl-layer (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">w"pt"</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Subgrid-scale heat flux
+(horizontal average) for z = zw(1) (in K
+m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">wpt</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Total heat flux
+(horizontal average) for z = zw(1) (in K m/s).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic;">w"u"0</span></td>
+
+            <td align="undefined" valign="undefined">Subgrid-scale momentum flux (u-component) at k=0 (horizontal average), constant within Prandtl-layer (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+          </tr>
+
+          <tr>
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic;">w"v"0</span></td>
+
+            <td align="undefined" valign="undefined">Subgrid-scale momentum flux (v-component) at k=0 (horizontal average), constant within Prandtl-layer (in m<sup>2</sup>/s<sup>2</sup>).</td>
+
+          </tr>
+
+          <tr>
+
+            <td align="undefined" valign="undefined"><span style="font-style: italic;">w"q"0</span></td>
+
+            <td align="undefined" valign="undefined">Subgrid-scale
+humidity flux at k=0 (horizontal average), constant within
+Prandtl-layer (in kg/kg m/s). Zero values are output if humidity is not
+used.</td>
+
+          </tr>
+
+          <tr>
+
+
+
+
+
+            <td style="vertical-align: top; font-style: italic;">pt(0)</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Potential temperature at
+the surface (horizontal average) (in K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+            <td style="vertical-align: top; font-style: italic;">pt(zp)</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Potential temperature for
+z = zu(1) (horizontal average) (in K).</td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+
+
+ 
+
+
+ 
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">L</td>
+
+
+
+
+
+            <td style="vertical-align: top;">Monin-Obukhov length.</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ 
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      </table>
+
+
+
+
+      <br>
+
+
+
+
+Additionally, the
+user can add his own timeseries quantities to the file, by using the
+user-interface subroutines<span style="font-family: Courier New,Courier,monospace;"> <a href="chapter_3.5.1.html#user_init">user_init</a> </span>and<span style="font-family: Courier New,Courier,monospace;"> <a href="chapter_3.5.1.html#user_statistics">user_statistics</a></span>.
+These routines contain (as comment lines) a simple example how to do
+this.<br>
+
+
+
+
+      <br>
+
+
+
+
+Time series data refers to the total
+domain, but time series for subdomains can also be output (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).
+However, the following time series always present the values of the
+total model domain (even with output for subdomains): <i>umax</i>,
+      <i>vmax</i>, <i>wmax</i>, <i>div_old</i>,
+      <i>div_new</i>.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_do2d_xy"></a><b>dt_do2d_xy</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which&nbsp;horizontal cross section data
+shall be output (</font>in <font face="Thorndale">s).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output of
+horizontal cross sections is switched on (see </font></span><a href="#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a>
+      <span lang="en-GB"><font face="Thorndale">and
+      </font></span><a href="#section_xy"><span lang="en-GB"><font face="Thorndale">section_xy</font></span></a><span lang="en-GB"><font face="Thorndale">), this
+parameter can be used to
+assign the temporal interval at which cross section data shall be
+output. </font></span><span lang="en-GB"><font face="Thorndale">Output can be skipped at the beginning of a
+simulation using parameter <a href="#skip_time_do2d_xy">skip_time_do2d_xy</a>,
+which has zero value by default. </font></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of the simulation, i.e. output
+takes place at times t = <b>skip_time_do2d_xy + dt_do2d_xy</b>,
+      <span style="font-weight: bold;">skip_time_do2d_xy</span>
++ 2*<b>dt_do2d_xy</b>, <span style="font-weight: bold;">skip_time_do2d_xy</span>
++ 3*<b>dt_do2d_xy</b>,
+etc. The actual output times can deviate from these theoretical values
+(see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Parameter </font></span><a href="#do2d_at_begin"><span lang="en-GB"><font face="Thorndale">do2d_at_begin</font></span></a>
+has to be used if an additional output is wanted at the start of a run <span lang="en-GB"><font face="Thorndale">(thus at
+the time t = 0 or at the
+respective starting times of restart runs).</font></span> </p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_do2d_xz"></a><b>dt_do2d_xz</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which&nbsp;vertical cross sections data
+(xz) shall be output (</font>in <font face="Thorndale">s).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output of
+horizontal cross sections is switched on (see </font></span><a href="#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a>
+      <span lang="en-GB"><font face="Thorndale">and
+      </font></span><a href="#section_xz"><span lang="en-GB"><font face="Thorndale">section_xz</font></span></a><span lang="en-GB"><font face="Thorndale">),
+this parameter can be used to assign the temporal interval at which
+cross section data shall be output. </font></span><span lang="en-GB"><font face="Thorndale">Output can
+be skipped at the beginning of a simulation using parameter <a href="#skip_time_do2d_xz">skip_time_do2d_xz</a>, which
+has zero value by default. </font></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Reference time is the beginning of
+the simulation, i.e. output takes place at times t = <b>skip_time_do2d_xz
++ dt_do2d_xz</b>,
+      <span style="font-weight: bold;">skip_time_do2d_xz</span>
++ 2*<b>dt_do2d_xz</b>, <span style="font-weight: bold;">skip_time_do2d_xz</span>
++ 3*<b>dt_do2d_xz</b>, etc. The actual output times
+can deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Parameter </font></span><a href="#do2d_at_begin"><span lang="en-GB"><font face="Thorndale">do2d_at_begin</font></span></a>
+has to be used if an additional output is wanted at the start of a run <span lang="en-GB"><font face="Thorndale">(thus at
+the time t = 0 or at the
+respective starting times of restart runs).</font></span> </p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_do2d_yz"></a><b>dt_do2d_yz</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which&nbsp;vertical cross section data
+(yz) shall be output (</font>in s<font face="Thorndale">).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output of
+horizontal cross sections is switched on (see </font></span><a href="#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a>
+      <span lang="en-GB"><font face="Thorndale">and
+      </font></span><a href="#section_yz"><span lang="en-GB"><font face="Thorndale">section_yz</font></span></a><span lang="en-GB"><font face="Thorndale">),
+this parameter can be used to assign the temporal interval at which
+cross section data shall be output. </font></span><span lang="en-GB"><font face="Thorndale">Output can
+be skipped at the beginning of a simulation using parameter <a href="#skip_time_do2d_yz">skip_time_do2d_yz</a>, which
+has zero value by default. </font></span><span lang="en-GB"></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of
+the simulation, i.e. output takes place at times t = <b>skip_time_do2d_yz
++ dt_do2d_yz</b>,
+      <span style="font-weight: bold;">skip_time_do2d_yz</span>
++ 2*<b>dt_do2d_yz</b>, <span style="font-weight: bold;">skip_time_do2d_yz
+      </span>+ 3*<b>dt_do2d_yz</b>, etc. The actual output
+times
+can deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Parameter </font></span><a href="#do2d_at_begin"><span lang="en-GB"><font face="Thorndale">do2d_at_begin</font></span></a>
+has to be used if an additional output is wanted at the start of a run <span lang="en-GB"><font face="Thorndale">(thus at
+the time t = 0 or at the
+respective starting times of restart runs).</font></span> </p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_do3d"></a><b>dt_do3d</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which 3d volume data shall be output (</font>in
+      <font face="Thorndale">s).&nbsp; </font> </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If
+output of
+3d-volume data is switched on (see </font></span><font><a href="#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a>)<span style="font-family: thorndale;">, this parameter can be used
+to assign
+th</span></font><span lang="en-GB"><font face="Thorndale">e temporal
+interval at which 3d-data shall be output. </font></span><span lang="en-GB"><font face="Thorndale">Output can
+be skipped at the beginning of a simulation using parameter <a href="#skip_time_do3d">skip_time_do3d</a>, which has
+zero value by default. </font></span><span lang="en-GB"></span><span lang="en-GB"></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the
+beginning of the simulation, i.e. output takes place at times t = <b>skip_time_do3d
++ dt_do3d</b>,
+      <span style="font-weight: bold;">skip_time_do3d</span>
++ 2*<b>dt_do3d</b>, <span style="font-weight: bold;">skip_time_do3d</span>
++ 3*<b>dt_do3d</b>, etc. The actual output times can
+deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">). <br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Parameter </font></span><a href="#do3d_at_begin"><span lang="en-GB"><font face="Thorndale">do3d_at_begin</font></span></a>
+has to be used if an additional output is wanted at the start of a run <span lang="en-GB"><font face="Thorndale">(thus at
+the time t = 0 or at the
+respective starting times of restart runs).</font></span> </p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a name="dt_max"></a><span style="font-weight: bold;">dt_max</span></td>
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">20.0</span></td>
+
+
+
+
+      <td>Maximum
+allowed value of the timestep (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+By default,
+the maximum timestep is restricted to be 20 s. This might be o.k. for
+simulations of any kind of atmospheric turbulence but may have to be
+changed for other situations.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_restart"></a><b>dt_restart</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which a new
+restart run is to be carried out (</font>in <font face="Thorndale">s). </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">For a
+description
+how to assign restart times manually see run time parameter </font></span><a href="#restart_time"><span lang="en-GB"><font face="Thorndale">restart_time</font></span></a><span lang="en-GB"><font face="Thorndale">. <span style="font-weight: bold;">dt_restart</span>
+does not show any effect, if <span style="font-weight: bold;">restart_time</span>
+has not been set.</font></span></p>
+
+
+
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_run_control"></a><b>dt_run_control</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>60.0</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which run control
+output is to be made (</font>in <font face="Thorndale">s).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Run control
+information is output to the local ASCII-file </font></span><a href="chapter_3.4.html#RUN_CONTROL"><span lang="en-GB"><font face="Thorndale">RUN_CONTROL</font></span></a><span lang="en-GB"><font face="Thorndale">. At each
+output time, one line
+with information about the size of the time step, maximum speeds, total
+kinetic energy etc. is written to this file. Reference time is the
+beginning of the simulation, i.e. output takes place at times t = <b>dt_run_control</b>,
+2*<b>dt_run_control</b>, 3*<b>dt_run_control</b>,
+etc., and always at
+the beginning of a model run (thus at the time t = 0 or at the
+respective starting times of restart runs). The actual output times can
+deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Run control
+information is output after each time step can be achieved via <b>dt_run_control</b>
+= <i>0.0</i>.</font></span> </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="end_time"></a><b>end_time</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale">Simulation time of the 3D
+model (</font>in <font face="Thorndale">s).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">The simulation time
+is starting from the beginning of the initialization run (t = 0), not
+starting from the beginning of the respective restart run.</font></span></p>
+
+
+
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="force_print_header"></a><b>force_print_header</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Steering of
+header output to the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default, informations about the model
+parameters in use are
+output to the beginning of file RUN_CONTROL for initial runs only
+(these informations are identical to that which are output to the local
+file <a href="chapter_3.4.html#HEADER">HEADER</a>).
+With <b>force_print_header</b> = <i>.T.</i>,
+these informations are
+also output to <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+at restart runs.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="mg_cycles"></a><b>mg_cycles</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>-1</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Number of
+cycles to be used with the multi-grid scheme.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+This parameter determines the number of cycles to be carried out in the
+multi-grid method used for solving the Poisson equation for
+perturbation pressure (see <a href="#psolver">psolver</a>).
+The type of the cycles can be set with <a href="#cycle_mg">cycle_mg</a>.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ <br>
+
+
+
+
+By default (<b>mg_cyles</b> = <i>-
+1</i>), the
+number of cycles
+depends on the requested accuracy of the scheme (see <a href="#residual_limit">residual_limit</a>)
+and may vary from time step to time step. In this case, the CPU time
+for a run will be difficult to estimate, since it heavily depends on
+the total number of the cycles to be carried out.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+By assigning <b>mg_cycles</b> a value (&gt;=<span style="font-style: italic;">1</span>), the number of
+cycles can be
+fixed so that the CPU time can be clearly estimated. <br>
+
+
+
+
+ <br>
+
+
+
+
+
+      <b>Note:</b> When using a fixed number of cycles, the user
+must
+examine the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+regularly to check whether the divergence of the velocity field is
+sufficiently reduced by the pressure solver. It should be reduced at
+least by two orders of magnitude. For cyclic boundary conditions along
+both horizontal directions (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>
+and <a href="chapter_4.1.html#bc_ns">bc_ns</a>) <span style="font-weight: bold;">mg_cycles</span> = <span style="font-style: italic;">2</span> is typically a
+good choice, for
+non-cyclic lateral boundary conditions <span style="font-weight: bold;">mg_cycles</span>
+= <span style="font-style: italic;">4</span> may be
+sufficient.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="mg_switch_to_pe0_level"></a><b>mg_switch_to_pe0_<br>
+
+
+
+
+
+level</b></td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">Grid
+level at which data shall be gathered on PE0.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+In case of a run using several PEs and the multigrid method for solving
+the Poisson equation for perturbation pressure (see <a href="#psolver">psolver</a>),
+the value of this parameter defines on which grid level the data are
+gathered on PE0 in order to allow for a further coarsening of the grid.
+The finest grid defines the largest grid level. By default, the
+gathering level is determined automatically and displayed in file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.
+It is only possible to gather data from a level larger than the one
+determined automatically. A test run may be neccessary to determine
+this level.<br>
+
+      <br>
+
+Setting of <span style="font-weight: bold;">mg_switch_to_pe0_level</span> = <span style="font-style: italic;">-1</span> prevents that data are collected on PE0 at all, i.e. coarsening of grids is limited by the subdomains.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="netcdf_64bit"></a><span style="font-weight: bold;">netcdf_64bit</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">All NetCDF files - except those containing 3d
+volume data - will have 64
+bit offset format if&nbsp;<span style="font-weight: bold;">netcdf_64bit</span>
+= .TRUE..<br>
+
+
+
+
+      <br>
+
+
+
+
+By
+default, the maximum file size of the NetCDF files opened by PALM is 2
+GByte. Using <span style="font-weight: bold;">netcdf_64bit</span> = .TRUE. allows file sizes larger than 2
+GByte.<br>
+
+
+
+
+      <br>
+
+
+
+
+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>,
+      <span style="font-family: Courier New,Courier,monospace;">DATA_3D_AV_NETCDF</span>)
+is controlled independently by the switch <a href="#netcdf_64bit_3d">netcdf_64bit_3d</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Warning:</span><br>
+
+
+
+
+Some
+(PD or commercial) software may not support the 64 bit offset format.<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a name="netcdf_64bit_3d"></a><span style="font-weight: bold;">netcdf_64bit_3d</span></td>
+
+
+
+
+      <td style="vertical-align: top;">L</td>
+
+
+
+
+      <td style="vertical-align: top;">.T.</td>
+
+
+
+
+      <td style="vertical-align: top;">NetCDF files containing 3d
+volume data will have 64 bit offset format if&nbsp;<span style="font-weight: bold;">netcdf_64bit_3d</span>
+= .TRUE..<br>
+
+      <br>
+
+
+
+
+By
+default, the maximum file size of the NetCDF files opened by PALM is 2
+GByte. Using <span style="font-weight: bold;">netcdf_64bit_3d</span> = .TRUE. allows file sizes larger than 2
+GByte.<br>
+
+      <br>
+
+
+
+
+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>
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Warning:</span><br>
+
+
+
+
+Some
+(PD or commercial) software may not support the 64 bit offset format.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="ngsrb"></a><b>ngsrb</b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">I</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>2</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;">Grid
+level at which data shall be gathered on PE0.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+In case of a run using several PEs and the multigrid method for solving
+the Poisson equation for perturbation pressure (see <a href="#psolver">psolver</a>),
+the value of this parameter defines on which grid level the data are
+gathered on PE0 in order to allow for a further coarsening of the grid.
+The finest grid defines the largest grid level. By default, the
+gathering level is determined automatically and displayed in file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.
+It is only possible to gather data from a level larger than the one
+determined automatically. A test run may be neccessary to determine
+this level.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="normalizing_region"></a><b>normalizing_region</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Determines the
+subdomain from which the normalization
+quantities are calculated.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If output
+data of the horizontally averaged vertical profiles
+(see <a href="#data_output_pr">data_output_pr</a>)
+is to be normalized (see <a href="#cross_normalized_x">cross_normalized_x</a>,
+      <a href="#cross_normalized_y">cross_normalized_y</a>),
+the respective normalization quantities are by default calculated from
+the averaged data of the total model domain (<b>normalizing_region</b>
+= <i>0</i>) and are thus representative for the total
+domain. Instead
+of that, normalization quantities can also be calculated for a
+subdomain. The wanted subdomain can be given with the parameter <span style="font-weight: bold;">normalizing_region</span>,
+where <i>1</i>
+&lt;= <b>normalizing_region</b> &lt;= <i>9 </i>must
+hold. These
+quantities are then used for normalizing of all profiles (even for that
+of the total domain).</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a href="npex"><span style="font-weight: bold;"></span></a><span style="font-weight: bold;"><a name="npex"></a>npex</span></td>
+
+      <td style="vertical-align: top;">I</td>
+
+      <td style="vertical-align: top;"></td>
+
+      <td style="vertical-align: top;">
+      
+      <p>Number of processors
+along x-direction of the virtual
+processor
+net.&nbsp; </p>
+
+
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      
+      
+      <p>For parallel runs, the total
+number of processors to be used
+is given by
+the <span style="font-weight: bold;">mrun</span>
+option <a href="http://www.muk.uni-hannover.de/software/mrun_beschreibung.html#Opt-X">-X</a>.
+By default, depending on the type of the parallel computer, PALM
+generates a 1d processor
+net (domain decomposition along x, <span style="font-weight: bold;">npey</span>
+= <span style="font-style: italic;">1</span>) or a
+2d-net (this is
+favored on machines with fast communication network and/or large number of processors (&gt;256)). In case of a
+2d-net, it is tried to make it more or less square-shaped. If, for
+example, 16 processors are assigned (-X 16), a 4 * 4 processor net is
+generated (<span style="font-weight: bold;">npex</span>
+= <span style="font-style: italic;">4</span>, <span style="font-weight: bold;">npey</span>
+= <span style="font-style: italic;">4</span>).
+This choice is optimal for square total domains (<a href="chapter_4.1.html#nx">nx</a>
+= <a href="chapter_4.1.html#ny">ny</a>),
+since then the number of ghost points at the lateral boundarys of
+the subdomains reaches a minimum. If <span style="font-weight: bold;">nx</span>
+and <span style="font-weight: bold;">ny</span>
+differ extremely, the
+processor net should be manually adjusted using adequate values for <span style="font-weight: bold;">npex</span> and <span style="font-weight: bold;">npey</span>.&nbsp; </p>
+
+
+
+
+
+
+
+
+
+      
+      
+      
+      
+      
+      
+      
+      
+      <p><b>Important:</b> The value of <span style="font-weight: bold;">npex</span> * <span style="font-weight: bold;">npey</span> must exactly match the
+value assigned by the <span style="font-weight: bold;">mrun</span>-option
+      <tt>-X</tt>.
+Otherwise the model run will abort with a corresponding error
+message.&nbsp; <br>
+
+
+
+
+
+
+
+
+
+Additionally, the specification of <span style="font-weight: bold;">npex</span>
+and <span style="font-weight: bold;">npey</span>
+may of course
+override the default setting for the domain decomposition (1d or 2d)
+which may have a significant (negative) effect on the code performance.
+      </p>
+
+      </td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="npey"></a>npey</span></td>
+
+      <td style="vertical-align: top;">I</td>
+
+      <td style="vertical-align: top;"></td>
+
+      <td style="vertical-align: top;">
+      
+      <p>Number of processors
+along y-direction of the virtual
+processor
+net.&nbsp; </p>
+
+
+
+
+
+
+
+
+ 
+      
+      
+      
+      
+      
+      
+      
+      
+      <p>For further information see <a href="chapter_4.2.html#npex">npex</a>.</p>
+
+      </td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="nsor"></a><b>nsor</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>20</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Number of
+iterations to be used with the SOR-scheme.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This
+parameter is only effective if the SOR-scheme is selected
+as pressure solver (<a href="#psolver">psolver</a>
+= <span style="font-style: italic;">'sor'</span>).
+The number of
+iterations necessary for a sufficient convergence of the scheme depends
+on the grid point numbers and is to be determined by appropriate test
+runs (the default value will not at all be sufficient for larger grid
+point numbers). The number of iterations used for the first call of the
+SOR-scheme (t = 0) is determined via the parameter <a href="chapter_4.1.html#nsor_ini">nsor_ini</a>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="nz_do3d"></a><b>nz_do3d</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>nz+1</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> Limits the output of 3d
+volume data along the vertical direction (grid point index k).<br>
+
+
+
+
+      <br>
+
+
+
+
+By
+default, data for all grid points along z are output. The parameter <span style="font-weight: bold;">nz_do3d</span>
+can be used to limit the output up to a certain vertical grid point
+(e.g. in order to reduce the amount of output data). It affects all
+output of volume data ("normal" output to file, see <a href="#data_output">data_output</a>, as well as output
+for <span style="font-weight: bold;">dvrp</span>-software,
+see <a href="#mode_dvrp">mode_dvrp</a>).</td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="omega_sor"></a><b>omega_sor</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1.8</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Convergence
+factor to be used with the the SOR-scheme.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If
+the SOR-scheme is selected (<a href="#psolver">psolver</a>
+= <span style="font-style: italic;">'sor'</span>),
+this parameter
+determines the value of the convergence factor, where <i>1.0</i>
+&lt;= <b>omega_sor</b> &lt; <i>2.0 </i>.
+The optimum value of <b>omega_sor</b>
+depends on the number of grid points along the different directions in
+space. For non-equidistant grids it can only be determined by
+appropriate test runs.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="prandtl_number"></a><b>prandtl_number</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1.0</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Ratio of the
+eddy diffusivities for momentum and heat (K<sub>m</sub>/K<sub>h</sub>).&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>For runs with constant eddy diffusivity (see <a href="chapter_4.1.html#km_constant">km_constant</a>),
+this parameter can be used to assign the Prandtl number (ratio K<sub>m</sub>
+/ K<sub>h</sub>).</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a name="precipitation_amount_interval"></a><span style="font-weight: bold;">precipitation_amount_</span><br style="font-weight: bold;">
+
+
+
+
+      <span style="font-weight: bold;">interval</span></td>
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_do2d_xy">dt_do2d_<br>
+
+
+
+
+xy</a></i></td>
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> for which the precipitation amount (in mm) shall be calculated and output (</font>in <font face="Thorndale">s).&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"></span></a><span lang="en-GB"></span><a href="chapter_4.2.html#section_xy"><span lang="en-GB"></span></a><span lang="en-GB"><font face="Thorndale">This
+parameter requires <a href="chapter_4.1.html#precipitation">precipitation</a> = <span style="font-style: italic;">.TRUE.</span>.&nbsp;</font></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale"><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span>The interval must be smaller or equal than the output interval for 2d horizontal cross sections given by </font></span><a href="chapter_4.2.html#dt_do2d_xy"><span lang="en-GB"><font face="Thorndale">dt_do2d_xy</font></span></a><span lang="en-GB"><font face="Thorndale">). The output of the precipitation amount also requires setting of <a href="chapter_4.2.html#data_output">data_output</a> =<span style="font-style: italic;"> 'pra*'</span>.<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ <span lang="en-GB"></span></td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="profile_columns"></a><b>profile_columns</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>3</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Number of
+coordinate systems to be plotted<span style="font-weight: bold;"></span>
+in one row by <span style="font-weight: bold;">profil</span>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>It
+determines the layout of plots of
+horizontally averaged profiles (<a href="#data_output_pr">data_output_pr</a>)
+when plotted with the plot software <span style="font-weight: bold;">profil</span>.
+Generally, the number and sequence of coordinate systems (panels) to be
+plotted on one page are
+determined by <a href="#cross_profiles">cross_profiles</a>.
+      <b>profile_columns</b>
+determines how many panels are to be
+arranged next to each other in one row (number of columns). The
+respective number of rows on a page is assigned by <a href="#profile_rows">profile_rows</a>.
+According to their order given by <a href="#data_output_pr">data_output_pr</a>,
+the panels are arranged beginning in the top row from left to right and
+then continued in the following row. If the number of panels cranz
+&gt; <b>profile_columns</b> * <b>profile_rows</b>,
+the remaining
+panels are drawn on an additional page. If cranz &lt; <b>profile_columns</b>,
+then <b>profile_columns</b> = cranz is automatically set.
+If
+row&nbsp; contains any panel, then the value of <b>profile_rows</b>
+is reduced automatically.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="profile_rows"></a><b>profile_rows</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>2</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Number of rows
+of coordinate systems to be plotted on one page
+by <span style="font-weight: bold;">profil</span>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>It
+determines the layout of plots of horizontally averaged
+profiles. See <a href="#profile_columns">profile_columns</a>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="psolver"></a><b>psolver</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C * 10</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'poisfft'</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Scheme to be
+used to solve the Poisson equation for the
+perturbation pressure.&nbsp; </p>
+
+
+
+
+ <br>
+
+
+
+
+
+The user can choose between the following schemes:<br>
+
+
+
+
+ 
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>poisfft</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Direct method using FFT
+along x and y, solution of a
+tridiagonal matrix along z, and backward
+FFT (see Siano, institute reports, volume 54). The FFT routines to be
+used can be determined via the initialization parameter <a href="chapter_4.1.html#fft_method">fft_method</a>.<br>
+
+
+
+
+
+This solver is specially optimized for 1d domain decompositions.
+Vectorization is optimized for domain decompositions along x only.</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+            
+            
+            
+            
+            <p><i>poisfft_</i>
+            <br>
+
+
+
+
+ <i>hybrid</i></p>
+
+
+
+
+
+            </td>
+
+
+
+
+ <td style="vertical-align: top;">Direct
+method using FFT
+along x and y, solution of a
+tridiagonal matrix along z, and backward
+FFT (see Siano, institute reports, volume 54). The FFT routines to be
+used can be determined via the initialization parameter <a href="chapter_4.1.html#fft_method">fft_method</a>.<br>
+
+
+
+
+
+This solver is specially optimized for 1d domain decompositions.
+Vectorization is optimized for domain decompositions along x only.</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>multigrid</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;"> 
+            
+            
+            
+            
+            <p>Multi-grid
+scheme (see Uhlenbrock, diploma thesis). v-
+and
+w-cycles (see <a href="#cycle_mg">cycle_mg</a>)
+are implemented. The convergence of the iterative scheme can be
+steered by the number of v-/w-cycles to be carried out for each call of
+the scheme (<a href="#mg_cycles">mg_cycles</a>)
+and by the number of Gauss-Seidel iterations (see <a href="#ngsrb">ngsrb</a>)
+to be carried out on each grid level. Instead the requested accuracy
+can be given via <a href="#residual_limit">residual_limit</a>.
+            <span style="font-weight: bold;">This is the default!</span>
+The
+smaller this limit is, the more cycles have to be carried out in this
+case and the number of cycles may vary from timestep to timestep.</p>
+
+
+
+
+
+            <br>
+
+
+
+
+If <a href="#mg_cycles">mg_cycles</a>
+is set to its optimal value, the computing time of the
+multi-grid scheme amounts approximately to that of the direct solver <span style="font-style: italic;">poisfft</span>, as long as
+the number of
+grid points in the three directions
+of space corresponds to a power-of-two (2<sup>n</sup>)
+where <i>n</i> &gt;= 5 must hold. With large <i>n,
+            </i>the
+multi-grid scheme can even be faster than the direct solver (although
+its accuracy is several orders of magnitude worse, but this does not
+affect the accuracy of the simulation). Nevertheless, the user should
+always carry out some test runs in order to find out the optimum value
+for <a href="#mg_cycles">mg_cycles</a>,
+because the CPU time of a run very critically depends on this
+parameter. 
+            
+            
+            
+            
+            <p>This scheme requires that the number of grid
+points of
+the
+subdomains (or of the total domain, if only one PE is uesd) along each
+of the directions can at least be devided once by 2 without rest.</p>
+
+
+
+
+
+With parallel runs, starting from a certain grid level the
+data of the subdomains are possibly gathered on PE0 in order to allow
+for a further coarsening of the grid. The grid level for gathering can
+be manually set by <a href="#mg_switch_to_pe0_level">mg_switch_to_pe0_level</a>.<br>
+
+
+
+
+
+            
+            
+            
+            
+            <p>Using this procedure requires the subdomains to be of
+identical size (see <a href="chapter_4.1.html#grid_matching">grid_matching</a>).</p>
+
+
+
+
+
+            </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>sor</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Successive over
+relaxation
+method (SOR). The convergence of
+this
+iterative scheme is steered with the parameters <a href="#omega_sor">omega_sor</a>,
+            <a href="chapter_4.1.html#nsor_ini">nsor_ini</a>
+and <a href="chapter_4.1.html#nsor">nsor</a>.&nbsp;
+            <br>
+
+
+
+
+Compared to the direct method and the multi-grid method, this
+scheme
+needs substantially
+more computing time. It should only be used for test runs, e.g. if
+errors in the other pressure solver methods are assumed.</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      </table>
+
+
+
+
+ <br>
+
+
+
+
+In order to speed-up
+performance, the Poisson equation is by default
+only solved at the last substep of a multistep Runge-Kutta scheme (see <a href="#call_psolver_at_all_substeps">call_psolver
+at_all_substeps</a> and <a href="chapter_4.1.html#timestep_scheme">timestep_scheme</a>).&nbsp;
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="rayleigh_damping_factor"></a><b>rayleigh_damping</b>
+      <br>
+
+
+
+
+ <b>_factor</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>0.0 or</i><br>
+
+
+
+
+
+      <i>0.01</i></td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Factor for Rayleigh damping.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>A
+so-called Rayleigh damping is applied to all prognostic
+variables if a non-zero value is assigned to <b>rayleigh_damping_factor</b>.&nbsp;
+If switched on, variables are forced towards the value of their
+respective basic states (e.g. the geostrophic wind). The intensity of
+damping is controlled by the value the <b>rayleigh_damping_factor</b>
+is assigned to.
+The damping starts weakly at a height defined by <a href="#rayleigh_damping_height">rayleigh_damping_height</a>
+and rises according to a sin<sup>2</sup>-function to its
+maximum value
+at
+the top (ocean: bottom) boundary. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This method
+effectively damps gravity waves, caused by boundary layer convection,
+which may spread out vertically in the inversion layer and which are
+reflected&nbsp;at the top (ocean: bottom)
+boundary. This particularly happens with the upstream-spline scheme
+switched on (see <a href="chapter_4.1.html#momentum_advec">momentum_advec</a>
+or <a href="chapter_4.1.html#scalar_advec">scalar_advec</a>).
+Therefore, with this scheme the Rayleigh damping is switched on (<b>rayleigh_damping_factor</b>
+= <i>0.01</i>) by default. Otherwise it remains switched
+off.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The Rayleigh damping factor must
+hold the condition <i>0.0</i>
+&lt;= <b>rayleigh_damping_factor</b>
+&lt;= <i>1.0</i>. Large values (close to <span style="font-style: italic;">1.0</span>) can cause
+numerical instabilities.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="rayleigh_damping_height"></a><b>rayleigh_damping</b>
+      <br>
+
+
+
+
+ <b>_height</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><i>2/3 *</i>
+      <br>
+
+
+
+
+      <span style="font-style: italic;">zu</span><i style="font-style: italic;">(nz)</i></p>
+
+
+      
+      
+      <p> (ocean:<i style="font-style: italic;">&nbsp;</i><i>2/3 *</i>
+      <i style="font-style: italic;"> zu(0)</i>)</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Height above (ocean: below) which the Rayleigh damping starts (in m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>With
+Rayleigh damping switched on (see <a href="#rayleigh_damping_factor">rayleigh_damping_factor</a>),
+this parameter determines the range where damping is applied. By
+default, Rayleigh damping will be applied in the upper (ocean: lower) third of the
+model
+domain.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="residual_limit"></a><b>residual_limit</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1.0E-6</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Largest
+residual permitted for the multi-grid scheme (in s<sup>-2</sup>m<sup>-3</sup>).&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This is a parameter to steer the accuracy of the
+multi-grid
+scheme (see <a href="#psolver">psolver</a>).
+The assigned cycle (v- or w-cycle, see <a href="#mg_cycles">mg_cycles</a>)
+is passed through until the residual falls below the limit given by <span style="font-weight: bold;">residual_limit</span>. If
+this
+is not the case after 1000 cycles, the PALM aborts with a corresponding
+error message.</p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The reciprocal value of this
+parameter can be interpreted as
+a factor by the divergence of the provisional
+velocity field is approximately reduced after the multi-grid scheme has
+been applied (thus the default value causes a reduction of the
+divergence by approx. 6 orders of magnitude).&nbsp; </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="restart_time"></a><b>restart_time</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Simulated time
+after which a restart run is to be carried out
+(in s). </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The simulated time refers to the
+beginning of the
+initial run (t = 0), not to the beginning of the respective
+restart run. Restart runs can additionally be forced to be carried out
+in regular intervals using the run time parameter <a href="#dt_restart">dt_restart</a>. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+A successful operation of this parameter requires additional
+modifications in the <span style="font-weight: bold;">mrun</span>-call
+for the respective run (see <a href="chapter_3.3.html">chapter
+3.3</a>).<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The choice of <b>restart_time</b>
+or <b>dt_restart</b> does
+not override the automatic start of restart runs in case that the job
+runs out of CPU time. <br>
+
+
+
+      </p>
+
+
+
+      
+      
+      
+      <p>For <a href="chapter_3.8.html">coupled runs</a> this parameter must be&nbsp;equal in both parameter files <a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2"><span style="font-family: mon;"></span>PARIN</font></a>
+and&nbsp;<a href="chapter_3.4.html#PARIN"><font style="font-size: 10pt;" size="2">PARIN_O</font></a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="section_xy"></a><b>section_xy</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I(100)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">no section</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale">Position
+of&nbsp;cross section(s) for&nbsp;output of 2d horizontal cross
+sections (grid point index k).&nbsp; </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output
+of
+horizontal cross sections is selected (see </font></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a><span lang="en-GB"><font face="Thorndale">), this
+parameter can be used to
+define the position(s) of the cross section(s). Up to 100 positions of
+cross sections can be selected by assigning <b>section_xy</b>
+the
+corresponding vertical grid point index/indices k of the requested
+cross section(s). The exact location (height level) of the cross
+section depends on the variable for which the output is made: zu(k) for
+scalars and horizontal velocities, zw(k) for the vertical velocity.
+Information about the exact location of the cross section is contained
+in the NetCDF output file (if the default NetCDF output is switched on;
+see <a href="#data_output_format">data_output_format</a>).</font></span></p>
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">Assigning <span style="font-weight: bold;">section_xy</span> = <span style="font-style: italic;">-1</span>
+creates the output of horizontal cross sections averaged along z. In
+the
+NetCDF output file these (averaged) cross sections are given the
+z-coordinate <span style="font-style: italic;">-1.0</span>.</font></span></p>
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Assignments to <b>section_xy</b>
+does not effect the output of horizontal cross sections of variable u<sub>*</sub>
+and theta<sub>*</sub> and the liquid water path lwp*. For
+these quantities always only one cross
+section (for z=zu(1)) is output.</font></span></p>
+
+
+
+
+      <span lang="en-GB"><font face="Thorndale">In case of <span style="font-weight: bold;">data_output_format</span> =
+      <span style="font-style: italic;">'iso2d'</span> and
+if several cross sections are selected (e.g. <b>section_xy</b>
+= <i>1</i>, <i>10</i>, <i>15</i>),
+then the respective data are
+successively written to file. The output order follows the order given
+by <b>section_xy</b>.&nbsp;</font></span></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="section_xz"></a><b>section_xz</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I(100)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">no section</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale">Position of&nbsp;cross section(s)
+for&nbsp;output of 2d (xz) vertical cross sections (grid point
+index j).&nbsp; </font> </p>
+
+
+
+
+ <span lang="en-GB"><font face="Thorndale">If output of
+vertical xz cross sections is selected (see </font></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a><span lang="en-GB"><font face="Thorndale">), this
+parameter can be used to
+define the position(s) of the cross section(s). Up to 100 positions of
+cross sections can be selected by assigning <b>section_xz</b>
+the
+corresponding horizontal grid point index/indices j of the requested
+cross section(s). The exact position (in y-direction) of the cross
+section is given by j*</font></span><a href="chapter_4.1.html#dy"><span lang="en-GB"><font face="Thorndale">dy</font></span></a> <span lang="en-GB"><font face="Thorndale">or (j-0.5)*</font></span><a href="chapter_4.1.html#dy"><span lang="en-GB"><font face="Thorndale">dy</font></span></a><span lang="en-GB"><font face="Thorndale">, depending
+on which grid the output quantity is defined. However, in
+the&nbsp;NetCDF output file </font></span><span lang="en-GB"><font face="Thorndale">(if the
+default NetCDF output is switched on; see <a href="chapter_4.2.html#data_output_format">data_output_format</a>)
+no distinction is made between the quantities and j*<span style="font-weight: bold;">dy</span> is used for all
+positions.<br>
+
+
+
+
+      <br>
+
+
+
+
+Assigning <span style="font-weight: bold;">section_xz</span> = <span style="font-style: italic;">-1</span>
+creates the output of vertical cross sections averaged along y. In the
+NetCDF output file these (averaged) cross sections are given the
+y-coordinate <span style="font-style: italic;">-1.0</span>.<br>
+
+
+
+
+      </font></span><span lang="en-GB"><font face="Thorndale"><br>
+
+
+
+
+      </font></span><span lang="en-GB"><font face="Thorndale">In case of <span style="font-weight: bold;">data_output_format</span> =
+      <span style="font-style: italic;">'iso2d'</span> and
+      </font></span><span lang="en-GB"><font face="Thorndale">if several cross sections are
+selected (e.g. <b>section_xz</b> = <i>0</i>, <i>12</i>,
+      <i>27</i>),
+then the respective data are successively written to file. The output
+order follows the order given by <b>section_xz</b>.</font></span></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="section_yz"></a><b>section_yz</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I(100)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">no section</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale">Position of&nbsp;cross section(s)
+for&nbsp;output of 2d (yz) vertical cross sections (grid point
+index i).&nbsp; </font> </p>
+
+
+
+
+ <span lang="en-GB"><font face="Thorndale">If output of
+vertical yz cross sections is selected (see </font></span><a href="chapter_4.2.html#data_output"><span lang="en-GB"><font face="Thorndale">data_output</font></span></a><span lang="en-GB"><font face="Thorndale">),
+this parameter can be used to define the position(s) of the cross
+section(s). Up to 100 positions of cross sections can be selected by
+assigning <b>section_yz</b> the corresponding horizontal
+grid point
+index/indices i of the requested cross section(s). The exact position
+(in x-direction) of the cross section is given by i*</font></span><a href="chapter_4.1.html#dx"><span lang="en-GB"><font face="Thorndale">dx</font></span></a> <span lang="en-GB"><font face="Thorndale">or (i-0.5)*</font></span><a href="chapter_4.1.html#dx"><span lang="en-GB"><font face="Thorndale">dx</font></span></a><span lang="en-GB"><font face="Thorndale">, depending
+on which grid the output quantity is defined.&nbsp;</font></span><span lang="en-GB"><font face="Thorndale">However, in
+the&nbsp;NetCDF output file </font></span><span lang="en-GB"><font face="Thorndale">(if the
+default NetCDF output is switched on; see <a href="chapter_4.2.html#data_output_format">data_output_format</a>)
+no distinction is made between the quantities and i*<span style="font-weight: bold;">dx</span> is used for all
+positions.<br>
+
+
+
+
+      <br>
+
+
+
+
+      </font></span><span lang="en-GB"><font face="Thorndale">Assigning <span style="font-weight: bold;">section_yz</span> = <span style="font-style: italic;">-1</span>
+creates the output of vertical cross sections averaged along x. In the
+NetCDF output file these (averaged) cross sections are given the
+x-coordinate <span style="font-style: italic;">-1.0</span>.</font></span><br>
+
+
+
+
+      <span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale"> <br>
+
+
+
+
+      </font></span><span lang="en-GB"><font face="Thorndale">In case of <span style="font-weight: bold;">data_output_format</span> =
+      <span style="font-style: italic;">'iso2d'</span> and
+      </font></span><span lang="en-GB"><font face="Thorndale">if several cross sections are
+selected (e.g. <b>section_yz</b> = <span style="font-style: italic;">3</span>, <span style="font-style: italic;">27</span>, 19), then the
+respective data are successively written to file. The output order
+follows the order given by <b>section_yz</b>.</font></span></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_time_data_output"></a><span style="font-weight: bold;">skip_time_data_output</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">No data output before
+this interval has passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. By
+default, this
+applies for output of instantaneous 3d volume data, cross section data,
+spectra and vertical profile data as well as for temporally averaged 2d
+and 3d data. Individual intervals can be assigned using parameters <a href="#skip_time_do3d">skip_time_do3d</a>, <a href="#skip_time_do2d_xy">skip_time_do2d_xy</a>, <a href="#skip_time_do2d_xz">skip_time_do2d_xz</a>, <a href="#skip_time_do2d_yz">skip_time_do2d_yz</a>, <a href="#skip_time_dosp">skip_time_dosp</a>,&nbsp;<a href="#skip_time_dopr">skip_time_dopr</a>, and <a href="#skip_time_data_output_av">skip_time_data_output_av</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_data_output">dt_data_output</a>
+= <span style="font-style: italic;">3600.0</span>
+and <span style="font-weight: bold;">skip_time_data_output</span>
+= <span style="font-style: italic;">1800.0</span>,
+then the first output will be done at t = 5400 s.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a name="skip_time_data_output_av"></a><span style="font-weight: bold;">skip_time_data_output_av</span></td>
+
+
+
+
+      <td style="vertical-align: top;">R</td>
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+
+      <td style="vertical-align: top;">No output of temporally
+averaged 2d/3d data before this interval has passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_data_output_av">dt_data_output_av</a>
+= <span style="font-style: italic;">3600.0</span>
+and <span style="font-weight: bold;">skip_time_data_output_av</span>
+= <span style="font-style: italic;">1800.0</span>,
+then the first output will be done at t = 5400 s.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="skip_time_dopr"></a><span style="font-weight: bold;">skip_time_dopr</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+vertical profile data before this interval has passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_dopr">dt_dopr</a> = <span style="font-style: italic;">3600.0</span> and <span style="font-weight: bold;">skip_time_dopr</span> = <span style="font-style: italic;">1800.0</span>, then the
+first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><a name="skip_time_do2d_xy"></a><span style="font-weight: bold;">skip_time_do2d_xy</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+instantaneous horizontal cross section data before this interval has
+passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_do2d_xy">dt_do2d_xy</a>
+= <span style="font-style: italic;">3600.0</span>
+and <span style="font-weight: bold;">skip_time_do2d_xy</span>
+= <span style="font-style: italic;">1800.0</span>,
+then the first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_time_do2d_xz"></a><span style="font-weight: bold;">skip_time_do2d_xz</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+instantaneous vertical (xz) cross section data before this interval has
+passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_do2d_xz">dt_do2d_xz</a>
+= <span style="font-style: italic;">3600.0</span>
+and <span style="font-weight: bold;">skip_time_do2d_xz</span>
+= <span style="font-style: italic;">1800.0</span>,
+then the first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_time_do2d_yz"></a><span style="font-weight: bold;">skip_time_do2d_yz</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+instantaneous vertical (yz) cross section data before this interval has
+passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_do2d_yz">dt_do2d_yz</a>
+= <span style="font-style: italic;">3600.0</span>
+and <span style="font-weight: bold;">skip_time_do2d_yz</span>
+= <span style="font-style: italic;">1800.0</span>,
+then the first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_time_do3d"></a><span style="font-weight: bold;">skip_time_do3d</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+instantaneous 3d volume data before this interval has passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_do3d">dt_do3d</a> = <span style="font-style: italic;">3600.0</span> and <span style="font-weight: bold;">skip_time_do3d</span> = <span style="font-style: italic;">1800.0</span>, then the
+first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="termination_time_needed"></a><b>termination_time</b>
+      <br>
+
+
+
+
+ <b>_needed</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">35.0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>CPU time
+needed for terminal actions at the end of a run in
+batch mode (in s).<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If the environment
+variable <b>write_binary </b>is
+set <i>true</i> (see <a href="chapter_3.3.html">chapter
+3.3</a>), PALM checks the remaining CPU time of the job after
+each
+timestep. Time integration must not consume the CPU time completely,
+since several actions still have to be carried out after time
+integration has finished (e.g. writing of binary data for the restart
+run, carrying out output commands, copying of local files to their
+permanent destinations, etc.) which also takes some time. The maximum
+possible time needed for these activities plus a reserve is to be given
+with the parameter <b>termination_time_needed</b>. Among
+other things,
+it depends on
+the number of grid points used. If its value is selected too small,
+then the
+respective job will be prematurely aborted by the queuing system, which
+may result in a data loss and will possibly interrupt the job chain.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>An abort happens in any way, if the environment
+variable <span style="font-weight: bold;">write_binary</span>
+is not set to <span style="font-style: italic;">true</span>
+and if moreover the job has
+been assigned an insufficient CPU time by <b>mrun</b>
+option <tt><tt>-t</tt></tt>. <i><br>
+
+
+
+
+
+      </i> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+On the IBM computers of the HLRN the time used by the job <span style="font-weight: bold;">before</span> the start of
+PALM
+have also to be accounted for (e.g. for
+compilation and copying of input files).</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="use_prior_plot1d_parameters"></a><b>use_prior_plot1d</b>
+      <br>
+
+
+
+
+ <b>_parameters</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">L</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>.F.</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Additional
+plot of vertical profile data with <span style="font-weight: bold;">profil</span>
+from preceding runs of the
+job chain.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies
+for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>By
+default, plots of horizontally averaged vertical profiles
+(see <a href="#data_output_pr">data_output_pr</a>)
+only contain profiles of data produced by the model
+run. If profiles of prior times (i.e. data of preceding jobs of a
+job chain) shall be plotted additionally (e.g. for comparison
+purposes), <b>use_prior_plot1d_parameters</b> = <i>.T</i>.
+must be
+set.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>For further explanation see <a href="chapter_4.5.2.html">chapter
+4.5.2</a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="z_max_do1d"></a><b>z_max_do1d</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>zu(nzt+1) (model
+top)</i></td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Height level up to which horizontally averaged profiles are to
+be
+plotted with <span style="font-weight: bold;">profil</span>
+(in
+m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for
+&nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>It
+affects plots of horizontally averaged profiles
+(<a href="#data_output_pr">data_output_pr</a>)
+when plotted with the plot software <span style="font-weight: bold;">profil</span>.
+By default, profiles are plotted up to the top boundary. The height
+level up to which profiles are plotted can be decreased by assigning <span style="font-weight: bold;">z_max_do1d</span> a smaller
+value.
+Nevertheless, <span style="font-weight: bold;">all</span>
+vertical
+grid points (0 &lt;= k &lt;= nz+1) are still output to file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>.</p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>If a normalization for the vertical axis was selected (see <a href="#cross_normalized_y">cross_normalized_y</a>), <b>z_max_do1d</b>
+has no effect. Instead, <a href="#z_max_do1d_normalized">z_max_do1d_normalized</a>
+must be used.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="z_max_do1d_normalized"></a><b>z_max_do1d</b>
+      <br>
+
+
+
+
+ <b>_normalized</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>determined by plot</i>
+      <br>
+
+
+
+
+ <i>data</i> <br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Normalized height
+level up to which horizontally averaged
+profiles are to be plotted with <span style="font-weight: bold;">profil</span>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for &nbsp;<a href="chapter_4.2.html#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'profil'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>It
+affects plots of horizontally averaged profiles
+(<a href="#data_output_pr">data_output_pr</a>)
+when plotted with the plot software <span style="font-weight: bold;">profil</span>,
+if a normalization for the vertical axis is selected
+(see <a href="#cross_normalized_y">cross_normalized_y</a>).
+If e.g. the boundary layer height is used for normalization, then <b>z_max_do1d_normalized</b>
+= <i>1.5</i> means that all profiles up to the height
+level of z =
+1.5* z<sub>i </sub>are plotted.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="z_max_do2d"></a><b>z_max_do2d</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">zu(nz)</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Height level
+up to which 2d cross sections are to be plotted
+with <span style="font-weight: bold;">iso2d</span>
+(in m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter only applies for
+&nbsp;<a href="#data_output_format">data_output_format</a>
+= <span style="font-style: italic;">'iso2d'</span>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>It
+affects plots of&nbsp; 2d vertical cross
+sections (<a href="#data_output">data_output</a>)
+when plotted with <span style="font-weight: bold;">iso2d</span>.
+By
+default, vertical sections are plotted up to the top boundary. <span style="font-weight: bold;"></span>In contrast, with <b>z_max_do2d
+      </b>the
+visualization within
+the plot can be limited to a certain height level (0 &lt;= z
+&lt;= <b>z_max_do2d</b>).
+Nevertheless, <span style="font-weight: bold;">all</span>
+grid points
+of the complete cross section are still output to the local files <a href="chapter_3.4.html#PLOT2D_XZ">PLOT2D_XZ</a>
+or <a href="chapter_3.4.html#PLOT2D_YZ">PLOT2D_YZ</a>.
+The level up to which the section is visualized can later be changed by
+manually editing the
+file <a href="chapter_3.4.html#PLOT2D_XZ_GLOBAL">PLOT2D_XZ_GLOBAL</a>
+or <a href="chapter_3.4.html#PLOT2D_YZ_GLOBAL">PLOT2D_YZ_GLOBAL</a>
+(the respective <span style="font-weight: bold;">iso2d</span>-parameter
+is <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html#YRIGHT">yright</a>).</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+  
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+
+<br>
+
+
+
+
+
+<br>
+
+
+
+
+<h3 style="line-height: 100%;"><a name="particle_parameters"></a>Particle
+parameters: </h3>
+
+
+
+
+
+<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span>NAMELIST group name: <span style="font-weight: bold;">particles_par<br>
+
+
+
+
+
+</span>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Parameter
+name</b></font></td>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><b><font size="4">Default</font></b> <br>
+
+
+
+
+ <b><font size="4">value</font></b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><font size="4"><b>Explanation</b></font></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_prel"></a><b>dt_prel</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><font face="Thorndale, serif"><span lang="en-GB">Temporal
+interval at
+which particles are to be released <span lang="en-GB">from
+a particle
+source </span>(</span></font>in <font face="Thorndale, serif"><span lang="en-GB">s).</span>&nbsp;
+      </font> </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">By default
+particles are released only at the beginning of a simulation
+(t_init=0). The time of the first release (t_init) can be changed with
+package parameter </font></span><span lang="en-GB"></span><font><a href="#particle_advection_start"><font face="Thorndale, serif">particle_advection_start</font></a>.
+      </font><span lang="en-GB"><font face="Thorndale, serif">The time of the last release can be
+set with the package parameter <a href="#end_time_prel">end_time_prel</a>.
+If <span style="font-weight: bold;">dt_prel</span>
+has been set, additional
+releases will be at t = t_init+<span style="font-weight: bold;">dt_prel</span>,
+t_init+2*<span style="font-weight: bold;">dt_prel</span>,
+t_init+3*<span style="font-weight: bold;">dt_prel</span>,
+etc.. Actual release times
+may slightly deviate from thesel values (</font></span><span lang="en-GB"><font face="Thorndale, serif">see
+e.g. </font></span><a href="#dt_dopr"><span lang="en-GB"><font face="Thorndale, serif">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">).</font></span></p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif"> The domain
+of the particle <span lang="en-GB"><font face="Thorndale, serif">source </font></span>as
+well as the distance of&nbsp; released particles
+within this source </font></span><span lang="en-GB"><font face="Thorndale, serif">are determined via package
+parameters </font></span><a href="#pst"><span lang="en-GB"><font face="Thorndale, serif">pst</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#psl"><span lang="en-GB"><font face="Thorndale, serif">psl</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#psr"><span lang="en-GB"><font face="Thorndale, serif">psr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#pss"><span lang="en-GB"><font face="Thorndale, serif">pss</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#psn"><span lang="en-GB"><font face="Thorndale, serif">psn</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#psb"><span lang="en-GB"><font face="Thorndale, serif">psb</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#pdx"><span lang="en-GB"><font face="Thorndale, serif">pdx</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#pdy"><span lang="en-GB"><font face="Thorndale, serif">pdy</font></span></a>
+      <span lang="en-GB"><font face="Thorndale, serif">and
+      </font></span><a href="#pdz"><span lang="en-GB"><font face="Thorndale, serif">pdz</font></span></a><span lang="en-GB"><font face="Thorndale, serif">.</font></span><span lang="en-GB"><font face="Thorndale, serif"> By
+default, one particle is released at all points defined by these
+parameters. The package parameter <a href="#particles_per_point">particles_per_point</a>
+can be used to start more than one particle per point.<br>
+
+
+
+
+
+      </font></span></p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">Up to 10
+different groups of particles can be released at the same time (see </font></span><a href="chapter_4.2.html#number_of_particle_groups"><span lang="en-GB"><font face="Thorndale, serif">number_of_particle_groups</font></span></a><span lang="en-GB"><font face="Thorndale, serif">)
+where each group may have a different source. All particles belonging
+to one group have the same density ratio and the same radius. All other
+particle features (e.g. location of the source) are
+identical for all groups of particles.</font></span></p>
+
+
+
+
+Subgrid
+scale velocities can (optionally) be included for calculating the
+particle advection, using the method of Weil et al. (2004, JAS, 61,
+2877-2887). This method is switched on by the package
+parameter <a href="#use_sgs_for_particles">use_sgs_for_particles</a>.
+This also forces the Euler/upstream method to be used for time
+advancement of the TKE (see initialization parameter <a href="chapter_4.1.html#use_upstream_for_tke">use_upstream_for_tke</a>).
+The minimum timestep during the sub-timesteps is controlled by package
+parameter <a href="#dt_min_part">dt_min_part</a>. 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">By
+default, particles are weightless and transported passively with the
+resolved scale flow. Particles can be given a mass and thus an inertia
+by assigning the
+package parameter </font></span><a href="#density_ratio"><span lang="en-GB"><font face="Thorndale, serif">density_ratio</font></span></a><span lang="en-GB"><font face="Thorndale, serif"> a
+non-zero value (it
+defines the ratio of the density of the fluid and the density of the
+particles). In these cases their </font></span><a href="#radius"><span lang="en-GB"><font face="Thorndale, serif">radius</font></span></a><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale, serif">
+must also be defined, which affects their flow resistance. </font></span><a href="#diameter"><span lang="en-GB"></span></a><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale, serif"> </font></span> </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">Boundary
+conditions for the particle transport can be defined with package
+parameters </font></span><a href="#bc_par_t"><span lang="en-GB"><font face="Thorndale, serif">bc_par_t</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="#bc_par_lr"><span lang="en-GB"><font face="Thorndale, serif">bc_par_lr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="bc_par_ns"><span lang="en-GB"><font face="Thorndale, serif">bc_par_ns</font></span></a>
+      <span lang="en-GB"><font face="Thorndale, serif">and
+      </font></span><a href="#bc_par_b"><span lang="en-GB"><font face="Thorndale, serif">bc_par_b</font></span></a><span lang="en-GB"><font face="Thorndale, serif">.</font></span></p>
+
+
+
+
+      <span lang="en-GB"><font face="Thorndale, serif">Timeseries
+of particle quantities in NetCDF format can be output to local file <a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a>
+by using package parameter <a href="#dt_dopts">dt_dopts</a>.<br>
+
+
+
+
+      </font></span>
+      
+      
+      
+      
+      <p>For
+analysis, additional output of
+particle
+information in equidistant temporal intervals can be carried out using <a href="#dt_write_particle_data">dt_write_particle_data</a>
+(file <a href="chapter_3.4.html#PARTICLE_DATA">PARTICLE_DATA</a>).<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span style="font-family: thorndale,serif;">Statistical
+informations</span> (e.g. the total number of particles used, the
+number of particles exchanged between the PEs, etc.) are output to the
+local file <a href="chapter_3.4.html#PARTICLE_DATA">PARTICLE_INFOS</a>,
+if switched on by the parameter <a href="#write_particle_statistics">write_particle_statistics</a>.
+      <br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">If a job
+chain is to be carried out, particle
+informations </font></span><span lang="en-GB"><font face="Thorndale, serif">for the restart run (e.g. current
+location of
+all
+particles at the end of the
+run) is output to
+the local file</font></span> <font><a href="chapter_4.2.html#dt_dvrp"><span lang="en-GB"></span></a></font><a href="chapter_3.4.html#PARTICLE_RESTART_DATA_OUT">PARTICLE_RESTART_DATA_OUT</a><font><a href="chapter_4.2.html#dt_dvrp"><span lang="en-GB"></span></a></font>,
+      <span lang="en-GB"><font face="Thorndale, serif">which
+must be saved at the
+end of the run <tt><span lang="en-GB"></span></tt>and
+given as an
+input file to the restart run
+under local file name</font></span> <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>
+u<span lang="en-GB"><font face="Thorndale, serif">sing
+respective file
+connection statements in the <span style="font-weight: bold;">mrun</span>
+configuration file. </font></span> <span lang="en-GB"></span></p>
+
+
+
+
+      
+      
+      
+      
+      <p><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale, serif">The output of
+particles for visualization with the graphic software <span style="font-weight: bold;">dvrp</span> is steered by
+the package
+parameter </font></span><a href="chapter_4.2.html#dt_dvrp"><span lang="en-GB"><font face="Thorndale, serif">dt_dvrp</font></span></a><font face="Thorndale, serif"><span lang="en-GB">.
+For visualization
+purposes particles can be given a
+diameter using the parameters <a href="chapter_4.2.html#dvrp_psize">dvrp_psize</a>
+and <a href="#particle_dvrpsize">particle_dvrpsize</a> (this diameter only affects the visualization). All particles have the
+same size. Alternatively, particles can be given an individual size and
+a </span>color <span lang="en-GB">by modifying the
+user-interface (subroutine</span></font> <span style="font-family: monospace;">user_init_particles</span>)<span lang="en-GB"><font face="Thorndale, serif">.
+Particles can pull a
+&ldquo;tail&rdquo; behind themselves to improve their
+visualization.
+This 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>
+
+
+
+
+ <span lang="en-GB"></span>
+      
+      
+      
+      
+      <p><b>So far, the
+particle transport realized in PALM does only
+work
+duly in case of a constant vertical grid spacing!</b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="bc_par_b"></a><b>bc_par_b</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*15</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>&acute;reflect&acute;</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Bottom
+boundary condition for particle transport. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By
+default, particles are reflected at the bottom boundary.
+Alternatively, a particle absorption can set by <b>bc_par_b</b>
+= <i>&acute;absorb&acute;</i>.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="bc_par_lr"></a><b>bc_par_lr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*15</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>&acute;cyclic&acute;</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Lateral
+boundary condition (x-direction) for particle
+transport. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default, cyclic boundary conditions
+are used along x.
+Alternatively, reflection (<b>bc_par_lr</b>
+= <i>&acute;reflect&acute;</i>) or absorption (<b>bc_par_lr</b>
+= <i>&acute;absorb&acute;</i>)
+can be set. <br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This lateral boundary
+conditions should correspond to the
+lateral boundary condition used for the flow (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>).</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="bc_par_ns"></a><b>bc_par_ns</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*15</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>&acute;cyclic&acute;</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Lateral
+boundary condition (y-direction) for particle
+transport. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default, cyclic boundary conditions
+are used along y.
+Alternatively, reflection (<b>bc_par_ns</b>
+= <i>&acute;reflect&acute;</i>) or absorption (<b>bc_par_ns</b>
+= <i>&acute;absorb&acute;</i>)
+can be set.<br>
+
+
+
+
+ </p>
+
+
+
+
+
+This lateral boundary conditions should correspond to the lateral
+boundary condition used for the flow (see <a href="chapter_4.1.html#bc_ns">bc_ns</a>).</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="bc_par_t"></a><b>bc_par_t</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*15</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>&acute;absorb&acute;</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Top boundary
+condition for particle transport. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default,
+particles are absorbed at the top boundary.
+Alternatively, a reflection condition can be set by <b>bc_par_t</b>
+= <i>&acute;reflect&acute;</i>.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="density_ratio"></a><b>density_ratio</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><i>0.0, 9</i>
+*<br>
+
+
+
+
+ <i>9999999.9</i></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Ratio of the density
+of the fluid and the density of the
+particles. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>With the default value<i> </i>the
+particles are weightless and transported passively with the resolved
+scale flow.
+In case of <span style="font-weight: bold;">density_ratio</span>
+/=
+0.0 particles have a mass and hence inertia so that their velocity
+deviates more or less from the velocity of the surrounding flow.
+Particle velocity is calculated analytically and depends on (besides
+the density ratio and the current velocity difference between particles
+and surrounding fluid) the
+particle radius which is determined via <a href="#radius">radius</a>
+as well as on the molecular viscosity (assumed as 1.461E-5 m<sup>2</sup>/s).
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If <b>density_ratio</b> = <i>1.0</i>,
+the particle density
+corresponds to the density of the surrounding fluid and the particles
+do not feel any buoyancy. Otherwise, particles will be accelerated
+upwards (<b>density_ratio</b> &gt; <i>1.0</i>)
+or downwards (<b>density_ratio</b> &lt; <i>1.0</i>).<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>With several groups of particles (see <a href="chapter_4.2.html#number_of_particle_groups">number_of_particle_groups</a>),
+each group can be assigned a different value. If the number of values
+given for <span style="font-weight: bold;">density_ratio</span>
+is less than the number of
+groups defined by <span style="font-weight: bold;">number_of_particle_groups</span>,
+then the last assigned value is used for all remaining groups. This
+means that by default the particle density ratio for all groups will be
+      <span style="font-style: italic;">0.0</span>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+      <td align="left" valign="top"><a name="dt_dopts"></a><span style="font-weight: bold;">dt_dopts</span></td>
+
+
+
+
+      <td align="left" valign="top">R</td>
+
+
+
+
+      <td align="left" valign="top"><i>value of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+      <td align="left" valign="top">
+      
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which time series data of particle quantities
+shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+
+      <span lang="en-GB"><font face="Thorndale">If
+particle advection is switched on (see</font></span><font><span style="font-family: thorndale;"> <a href="#dt_prel">dt_prel</a>)
+this parameter can be used to assign
+th</span></font><span lang="en-GB"><font face="Thorndale">e temporal
+interval at which time series of particle quantities shall be output.
+Output is written in NetCDF format on local file <a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+The
+following list gives a short description of the&nbsp;quantities
+available. Most quantities are averages over all particles. The
+quantity name given in the first column is identical to the respective
+name of the variable on the NetCDF file (see section <a href="chapter_4.5.1.html">4.5.1</a> for a general
+description of the NetCDF files).<br>
+
+
+
+
+      <br>
+
+
+
+
+In case of using
+more than one particle group (see <a href="#number_of_particle_groups">number_of_particle_groups</a>),
+seperate time series are output for each of the groups. The long names
+of the variables in the NetCDF file containing the respective
+timeseries all end with the string</font><span style="font-style: italic; font-family: monospace;">' PG ##'</span><font face="Thorndale">, where ## is the number of the particle
+group (<span style="font-style: italic;">01</span>, <span style="font-style: italic;">02</span>, etc.). <br>
+
+
+
+
+&nbsp;</font></span>
+      
+      
+      
+      
+      <table style="text-align: left; width: 631px; height: 652px;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+        <tbody>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">tnpt</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">total number of
+particles</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">x_</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">particle
+x-coordinate&nbsp;with respect to the particle origin (in m)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">y_</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">particle
+y-coordinate&nbsp;with respect to the particle origin (in m)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">z_</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">particle
+z-coordinate&nbsp;with respect to the particle origin (in m)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">z_abs</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">absolute
+particle z-coordinate (in m)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">u</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">u particle
+velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">v</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">v particle
+velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">w</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">w particle
+velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">u"</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">subgrid-scale u
+particle velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">v"</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">subgrid-scale v
+particle velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">w"</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">subgrid-scale w
+particle velocity component (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">npt_up</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">total number of
+upward moving particles</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">w_up</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">vertical
+velocity of the upward moving particles (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">w_down</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">vertical
+velocity of the downward moving particles (in m/s)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">npt_max</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">maximum number
+of particles in a subdomain (=tnpt for non-parallel runs)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">npt_min</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">minimum number
+of particles in a subdomain (=tnpt for non-parallel runs)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">x*2</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+particle x-coordinate&nbsp;with respect to <span style="color: rgb(255, 0, 0);">x_ </span>(in m<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">y*2</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+particle y-coordinate&nbsp;with respect to <span style="color: rgb(255, 0, 0);">y_</span> (in m<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">z*2</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+particle z-coordinate&nbsp;with respect to <span style="color: rgb(255, 0, 0);">z_</span> (in m<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined"><span style="color: rgb(255, 0, 0);">u*2</span></td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+u particle velocity component with respect to <span style="color: rgb(255, 0, 0);">u </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">v*2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+v particle velocity component with respect to&nbsp;<span style="color: rgb(255, 0, 0);">v </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">w*2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+w particle velocity component with respect to&nbsp;<span style="color: rgb(255, 0, 0);">w </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">u"2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+subgrid-scale u particle velocity component with respect to <span style="color: rgb(255, 0, 0);">u" </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">v"2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+subgrid-scale v particle velocity component with respect to <span style="color: rgb(255, 0, 0);">v" </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">w"2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+subgrid-scale w particle velocity component with respect to <span style="color: rgb(255, 0, 0);">w" </span>(in m<sup>2</sup>/s<sup>2</sup>)</td>
+
+
+
+
+          </tr>
+
+
+
+
+          <tr>
+
+
+
+
+            <td align="undefined" valign="undefined">npt*2</td>
+
+
+
+
+            <td align="undefined" valign="undefined">variance of the
+number of particles with respect to the average number of particles per
+subdomain</td>
+
+
+
+
+          </tr>
+
+
+
+
+        
+        
+        
+        
+        </tbody>
+      
+      
+      
+      
+      </table>
+
+
+
+
+      <span lang="en-GB"></span><span lang="en-GB"></span></td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+      <td align="left" valign="top"><a name="dt_min_part"></a><span style="font-weight: bold;">dt_min_part</span></td>
+
+
+
+
+      <td align="left" valign="top">R</td>
+
+
+
+
+      <td align="left" valign="top"><span style="font-style: italic;">0.0002</span></td>
+
+
+
+
+      <td align="left" valign="top">Minimum value for the
+particle timestep when SGS velocities are used (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+For
+a further explanation see package parameter <a href="#use_sgs_for_particles">use_sgs_for_particles</a>.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="dt_sort_particles"></a>dt_sort_particles</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Temporal interval for sorting particles (in s).<br>
+
+      <br>
+
+By
+default, particles are sorted in memory in a way that their order
+follows the order in which the gridpoint values are stored. This may
+improve cache coherence in case of larger numbers of particles and
+gridpoints. However, since the sorting itself is time consuming and
+since the requirement of sorting depends on the strength of mixing in
+the flow, performance can be improved if the sorting is applied only
+after certain time intervals. The proper length of this interval <span style="font-weight: bold;">dt_sort_particles</span> must be determined empirically by carrying out test runs with different intervals. Check file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a> to find the value of <span style="font-weight: bold;">dt_sort_particles</span> which gives the best performance.<br>
+
+      <br>
+
+      <span style="font-weight: bold;">Note:</span><br>
+
+In case of <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a> = <span style="font-style: italic;">.T.</span>, any given non-zero value of <span style="font-weight: bold;">dt_sort_particles</span> will be reset to zero and a corresponding warning message will appear in the job protocol.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_write_particle_data"></a><b>dt_write_particle_</b>
+      <b>data</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Temporal
+interval for output of particle data (in s). </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>T<span lang="en-GB"></span><a href="#pr1d"><span lang="en-GB"></span></a><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">his
+parameter can be used to
+assign the temporal interval at which particle data shall be output.</font></span>
+Data are output to
+the local file <a href="chapter_3.4.html#PARTICLE_DATA">PARTICLE_DATA</a>.
+      <span style="font-family: mon;">See the file description
+for more
+details about its format</span>. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By
+default, no particle data are output.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    
+
+
+ <tr>
+
+
+
+
+      <td align="left" valign="top"><a name="end_time_prel"></a><span style="font-weight: bold;">end_time_prel</span></td>
+
+
+
+
+      <td align="left" valign="top">R</td>
+
+
+
+
+      <td align="left" valign="top"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td align="left" valign="top">Time of the last release of
+particles (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+See also <a href="#particle_advection_start">particle_advection_start</a>.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="initial_weighting_factor"></a>initial_weighting_factor</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Factor to define the real
+number of initial droplets in a grid box.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+In case of explicitly simulating cloud droplets (see <a href="chapter_4.1.html#cloud_droplets">cloud_droplets</a>),
+the real number of initial droplets in a grid box is equal to the
+initial number of droplets in this box (defined by the particle source
+parameters <span lang="en-GB"><font face="Thorndale, serif"> </font></span><a href="chapter_4.2.html#pst"><span lang="en-GB"><font face="Thorndale, serif">pst</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psl"><span lang="en-GB"><font face="Thorndale, serif">psl</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psr"><span lang="en-GB"><font face="Thorndale, serif">psr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pss"><span lang="en-GB"><font face="Thorndale, serif">pss</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psn"><span lang="en-GB"><font face="Thorndale, serif">psn</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psb"><span lang="en-GB"><font face="Thorndale, serif">psb</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdx"><span lang="en-GB"><font face="Thorndale, serif">pdx</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdy"><span lang="en-GB"><font face="Thorndale, serif">pdy</font></span></a>
+      <span lang="en-GB"><font face="Thorndale, serif">and
+      </font></span><a href="chapter_4.2.html#pdz"><span lang="en-GB"><font face="Thorndale, serif">pdz</font></span></a><span lang="en-GB"></span><span lang="en-GB"></span>)
+times the <span style="font-weight: bold;">initial_weighting_factor</span>.</td>
+
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="maximum_number_of_particles"></a><b>maximum_number_of_</b>
+      <br>
+
+
+
+
+ <b>particles</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>1000</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Maximum number
+of particles (on a PE).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter
+allows to set the number of particles for which
+memory must be allocated at the beginning of the run.
+If this memory becomes insufficient during the run, due to the
+release of further particles (see <a href="#dt_prel">dt_prel</a>),
+then more memory is automatically allocated.<br>
+
+
+
+
+ </p>
+
+
+
+
+
+For runs on several processors, <span style="font-weight: bold;">maximum_number_of_particles</span>
+defines
+the maximum number on each PE. This number must be larger than the
+maximum number of particles initially released in a subdomain.</td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="maximum_number_of_tailpoints"></a><b>maximum_number_of_</b>
+      <br>
+
+
+
+
+ <b>tailpoints</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">I</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>100</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Maximum number
+of tailpoints that a particle tail can
+have.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>&nbsp;<b>maximum_number_of_tailpoints</b>
+sets the number of descrete points the tail consists of. A new point is
+added to the particle tails after each time step. If the maximum number
+of tail
+points is reached after the corresponding number of timesteps, the
+oldest respective tail points is deleted within the following
+timestep.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>All particle tails have the
+same number of points. The maximum
+length of
+these
+tails is determined by the value of <b>maximum_number_of_tailpoints</b>
+and by the minimum distance between each of the adjoining
+tailpoints,&nbsp; which can be set by <a href="#minimum_tailpoint_distance">minimum_tailpoint_distance</a>.
+Additionally, it can be determined that the temporal displacement
+between the current position of the particle and the oldest point of
+the tail may become not larger than a value to be assigned by <a href="#maximum_tailpoint_age">maximum_tailpoint_age</a>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="maximum_tailpoint_age"></a><b>maximum_tailpoint_</b>
+      <br>
+
+
+
+
+ <b>age</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+ <td style="vertical-align: top;">100000.0</td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Maximum age that the
+end point of a particle tail is allowed to have (in s).&nbsp; </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>If the temporal displacement between the oldest point of a
+particle tail and the current position of the particle becomes larger
+than the value given by <b>maximum_tailpoint_age</b>, this
+oldest
+point (which defines the end of the tail) is
+removed. If this time is so small that the number of points defining
+the particle tail do not exceed the value given by <b>maximum_number_of_tailpoints</b>,
+then the length the particle tails is a measure for the distance the
+particle travelled along during the time interval defined via <b>maximum_tailpoint_age</b>,
+i.e. for the
+particle velocity. Fast particles will have long tails, slow particles
+shorter ones (note: this will not neccessarily hold if <a href="#minimum_tailpoint_distance">minimum_tailpoint_distance</a>
+= <i>0.0</i>).</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="minimum_tailpoint_distance"></a><b>minimum_tailpoint_distance</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Minimum
+distance allowed between two adjacent points of a
+particle tail (in m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>In case of <b>minimum_tailpoint_distance</b>
+&gt; <i>0.0 </i>the
+particle tail is extended by a new point only if the distance between
+its current position and the most recent tail point exceed the
+distance given via <b>minimum_tailpoint_distance</b>.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If the length of the particle tails shall be
+proportional to
+the respective particle velocity, the parameter <a href="#maximum_tailpoint_age">maximum_tailpoint_age</a>
+must also be set appropriately. </p>
+
+
+
+
+ <b>Note:</b><br>
+
+
+
+
+
+A suitable choice of <b>minimum_tailpoint_distance</b>
+&gt; <i>0.0</i> is recommended, because then the tail
+coordinates of
+slowly moving particles require less memory and can also be drawn
+faster. The upper limit of <b>minimum_tailpoint_distance</b>
+should be chosen in a way that the visualized particle
+tails still appear as smooth lines. Example: with a model domain of
+1000 m and a monitor resolution of 1280 * 1024 pixels it
+should be sufficient to set <b>minimum_tailpoint_distance</b>
+= <i>5.0</i>
+(m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="number_of_particle_groups"></a><span style="font-weight: bold;">number_of_particle_groups</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">1<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">Number of particle groups to be
+used.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+Each particle group can be assigned its own source region (see <a href="#pdx">pdx</a>, <a href="#psl">psl</a>,
+      <a href="#psr">psr</a>, etc.), particle diameter (<a href="#radius">radius</a>) and particle density ratio (<a href="density_ratio">density_ratio</a>).<br>
+
+
+
+
+      <br>
+
+
+
+
+If
+less values are given for <a href="#pdx">pdx</a>, <a href="#psl">psl</a>,
+etc. than the number of particle groups, then the last value is used
+for the remaining values (or the default value, if the user did not set
+the parameter).<br>
+
+
+
+
+ <br>
+
+
+
+
+
+The maximum allowed number of particle groups is limited to <span style="font-style: italic;">10</span>.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+      <td align="left" valign="top"><a name="particles_per_point"></a><span style="font-weight: bold;">particles_per_point</span></td>
+
+
+
+
+      <td align="left" valign="top">I</td>
+
+
+
+
+      <td align="left" valign="top">1</td>
+
+
+
+
+      <td align="left" valign="top">Number of particles to be
+started per point.<br>
+
+
+
+
+      <br>
+
+
+
+
+By default, one particle is
+started at all points of the particle source,&nbsp;defined by <span style="font-family: Thorndale,serif;">the </span><span lang="en-GB"><font face="Thorndale, serif">package
+parameters </font></span><a href="chapter_4.2.html#pst"><span lang="en-GB"><font face="Thorndale, serif">pst</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psl"><span lang="en-GB"><font face="Thorndale, serif">psl</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psr"><span lang="en-GB"><font face="Thorndale, serif">psr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pss"><span lang="en-GB"><font face="Thorndale, serif">pss</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psn"><span lang="en-GB"><font face="Thorndale, serif">psn</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psb"><span lang="en-GB"><font face="Thorndale, serif">psb</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdx"><span lang="en-GB"><font face="Thorndale, serif">pdx</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdy"><span lang="en-GB"><font face="Thorndale, serif">pdy</font></span></a>
+      <span lang="en-GB"><font face="Thorndale, serif">and
+      </font></span><a href="chapter_4.2.html#pdz"><span lang="en-GB"><font face="Thorndale, serif">pdz</font></span></a><span lang="en-GB"><font face="Thorndale, serif">.</font></span><span lang="en-GB"></span></td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="particle_advection_start"></a><b>particle_advection_</b>
+      <br>
+
+
+
+
+ <b>start</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">R </td>
+
+
+
+
+ <td style="vertical-align: top;">0.0 </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Time of the first
+release of particles (in s). </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If particles are not
+to be released at the beginning of the
+run, the release time can be set via <b>particle_advection_start</b>.<br>
+
+
+
+
+
+If particle transport is switched on in a restart run, then <a href="#read_particles_from_restartfile">read_particles_from_restartfile</a>
+= <span style="font-style: italic;">.F.</span> is
+also required.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>See also <a href="#end_time_prel">end_time_prel</a>.
+      </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="particle_maximum_age"></a><b>particle_maximum_age</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Maximum
+allowed age of particles (in s).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If the
+age of a particle exceeds the time set by <b>particle_maximum_age</b>,
+the particle as well as its tail is deleted.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="pdx"></a><b>pdx</b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * dx</i>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Distance
+along x between particles within a particle source
+(in m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If the particle source shall be
+confined to one grid point,
+the distances given by <span style="font-weight: bold;">pdx</span>,
+      <a href="#pdy">pdy</a>
+and <a href="#pdz">pdz</a>
+must be set larger than the respective domain size or <a href="#psl">psl</a>
+= <a href="#psr">psr</a> has to be set
+alternatively.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span style="font-weight: bold;">pdx</span>
+can be assigned a different value for each particle group (see <a href="#number_of_particle_groups">number_of_particle_groups</a>).<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="pdy"></a><b>pdy</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* dy</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Distance
+along y between
+particles within a
+particle source (in m).&nbsp; </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="pdz"></a><b>pdz</b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* ( zu(2) - zu(1) )</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Distance along z between
+particles within a particle source
+(in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="psb"></a><b>psb</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10&nbsp;
+* zu(nz/2)</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Bottom
+edge of a particle
+source (in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="psl"></a><b>psl</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* 0.0</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Left
+edge of a particle source
+(in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="psn"></a><b>psn</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* (ny * dy)</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Rear
+(&ldquo;north&rdquo;) edge of a
+particle source (in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="psr"></a><b>psr</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* (nx * dx)</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Right
+edge of a particle
+source (in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="pss"></a><b>pss</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* 0.0</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Front
+(&ldquo;south&rdquo;) edge of a
+particle source (in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="pst"></a><b>pst</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* zu(nz/2)</i> </td>
+
+
+
+
+ <td style="vertical-align: top;">Top
+edge of a particle source
+(in m). </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="radius"></a><b>radius</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R (10)</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>0.0, 9</i>*<br>
+
+
+
+
+
+      <i>9999999.9</i></td>
+
+
+
+
+ <td style="vertical-align: top;">Particle radius (in m).<br>
+
+
+
+
+
+      <br>
+
+
+
+
+The viscous friction (in case of a velocity difference
+between
+particles and surrounding fluid) depends on the particle radius which
+must be assigned as soon as <a href="chapter_4.2.html#density_ratio">density_ratio</a>
+/= <i>0.0</i>.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+With several groups of particles (see <a href="#number_of_particle_groups">number_of_particle_groups</a>),
+each group can be assigned a different value. If the number of values
+given for <span style="font-weight: bold;">radius</span>
+is less than the number of
+groups defined by <span style="font-weight: bold;">number_of_particle_groups</span>,
+then the last assigned value is used for all remaining groups. This
+means that by default the particle radius for all groups will be <span style="font-style: italic;">0.0</span>.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="random_start_position"></a><b>random_start_position</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>.F.</i> </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <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>
+particles is
+varied randomly within certain limits.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By
+default, the initial positions of particles within the
+source excatly correspond with the positions given by <a href="#psl">psl</a>,
+      <a href="#psr">psr</a>, <a href="#psn">psn</a>,
+      <a href="#pss">pss</a>, <a href="#psb">psb</a>,
+      <a href="#pst">pst</a>, <a href="#pdx">pdx</a>,
+      <a href="#pdy">pdy</a>,
+and<a href="#pdz">
+pdz</a>. With <b>random_start_position</b> = <i>.T.
+      </i>the initial
+positions of the particles are allowed to randomly vary from these
+positions within certain limits.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><b>Very
+important:<br>
+
+
+
+
+ </b>In case of <b>random_start_position</b>
+= <i>.T.</i>, the
+random-number generators on the individual PEs no longer&nbsp;
+run synchronously. If random disturbances are applied to the velocity
+field
+(see <a href="#create_disturbances">create_disturbances</a>),
+      <font color="#000000">then as consequence for parallel
+runs the
+realizations of the turbulent flow
+fields will deviate between runs which used different numbers of PEs!</font></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="read_particles_from_restartfile"></a><b>read_particles_from_</b>
+      <br>
+
+
+
+
+ <b>restartfile</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>.T.</i> </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Read particle
+data from the previous run.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default,
+with restart runs particle data is read
+from file <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>,
+which is created by the preceding run. If this is not requested or if
+in a restart run particle transport is switched on for the
+first time (see <a href="#particle_advection_start">particle_advection_start</a>),
+then <b>read_particles_from_restartfile</b> = <i>.F.</i>
+is required.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_particles_for_tail"></a><span style="font-weight: bold;">skip_particles_for_tail</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">100</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Limit the number of
+particle tails.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+If particle tails are switched on (see <a href="#use_particle_tails">use_particle_tails</a>),
+every particle is given a tail by default. <span style="font-weight: bold;">skip_particles_for_tail </span>can
+be used to give only every n'th particle a tail.<br>
+
+
+
+
+ <br>
+
+
+
+
+ <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+ <span style="font-weight: bold;">skip_particles_for_tail</span>
+= <span style="font-style: italic;">10</span> means
+that only every 10th particle will be given a tail.<br>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="use_particle_tails"></a><span style="font-weight: bold;">use_particle_tails</span><br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;">Give particles a tail.<br>
+
+
+
+
+
+      <br>
+
+
+
+
+A particle tail is defined by the path a particle has moved
+along starting from some point of time in the past. It consists of a
+set of descrete points in space which may e.g. be connected by a line
+in order visualize how the particle has moved.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+By default, particles have no tail. Parameter&nbsp;<a href="#skip_particles_for_tail">skip_particles_for_tail</a>
+can be used to give only every n'th particle a tail.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+The length of the tail is controlled by parameters&nbsp;<a href="#maximum_number_of_tailpoints">maximum_number_of_tailpoints</a>,&nbsp;<a href="#maximum_tailpoint_age">maximum_tailpoint_age</a>,
+and <a href="#minimum_tailpoint_distance">minimum_tailpoint_distance</a>.<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+
+      <td align="left" valign="top"><a name="use_sgs_for_particles"></a><span style="font-weight: bold;">use_sgs_for_particles</span></td>
+
+
+
+
+      <td align="left" valign="top">L</td>
+
+
+
+
+      <td align="left" valign="top"><span style="font-style: italic;">.F.</span></td>
+
+
+
+
+      <td align="left" valign="top">Use subgrid-scale
+velocities for particle advection.<br>
+
+
+
+
+      <br>
+
+
+
+
+These
+velocities are calculated from the resolved and subgrid-scale TKE using
+the Monte-Carlo random-walk method described by Weil et al. (2004, JAS,
+61,
+2877-2887). When using this method, the timestep for the advancement of
+the particles is limited by the so-called Lagrangian time scale. This
+may be smaller than the current LES timestep so that several particle
+(sub-) timesteps have to be carried out within one LES timestep. In
+order to limit the number of sub-timesteps (and to limit the CPU-time),
+the minimum value for the particle timestep is defined by the package
+parameter <a href="#dt_min_part">dt_min_part</a>.<br>
+
+
+
+
+      <br>
+
+
+
+
+Setting
+      <span style="font-weight: bold;">use_sgs_for_particles</span>
+= <span style="font-style: italic;">.TRUE.</span>
+automatically forces <a href="chapter_4.1.html#use_upstream_for_tke">use_upstream_for_tke</a>
+= <span style="font-style: italic;">.TRUE.</span>.
+This inhibits the occurrence of large (artificial) spatial gradients of
+the subgrid-scale TKE which otherwise would lead to wrong results for
+the particle advection.</td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="vertical_particle_advection"></a><b>vertical_particle_</b>
+      <br>
+
+
+
+
+ <b>advection</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>.T.</i> </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Switch on/off
+vertical particle transport. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default,
+particles are transported along all three
+directions in space. With <b>vertical_particle_advection</b>
+= <i>.F., </i>the
+particles will only be transported horizontally.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="write_particle_statistics"></a><b>write_particle_</b>
+      <br>
+
+
+
+
+ <b>statistics</b></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;">L<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><i>.F.</i> </td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Switch on/off
+output of particle informations.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><br>
+
+
+
+
+
+For <span style="font-weight: bold;">write_particle_statistics</span>
+= <span style="font-style: italic;">.T.</span> s<span style="font-family: thorndale,serif;">tatistical
+informations</span> (e.g. the total number of particles used, the
+number of particles exchanged between the PEs, etc.) which may be used
+for debugging are output to the
+local file <a href="chapter_3.4.html#PARTICLE_DATA">PARTICLE_INFOS</a>.&nbsp;
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><b>Note:</b> For parallel runs files
+may become very large
+and performance of PALM may decrease.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+  
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+
+<span style="font-weight: bold;"><br>
+
+
+
+
+
+</span><br>
+
+
+
+
+<h3 style="line-height: 100%;"><a name="Paketparameter"></a>Package
+parameters: </h3>
+
+
+
+
+<br>
+
+
+
+
+<span style="font-weight: bold;">Package
+(<span style="font-weight: bold;">mrun</span> option
+-p): <span style="font-weight: bold;"><a name="dvrp_graphics"></a>dvrp_graphics</span>
+&nbsp;&nbsp;&nbsp;
+NAMELIST group name: <span style="font-weight: bold;">dvrp_graphics_par<br>
+
+
+
+
+
+<br>
+
+
+
+
+</span></span>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Parameter
+name</b></font></td>
+
+
+
+
+ <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><b><font size="4">Default</font></b> <br>
+
+
+
+
+ <b><font size="4">value</font></b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Explanation</b></font></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_l"></a>clip_dvrp_l</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">Left boundary of the displayed domain (in m).<br>
+
+      <br>
+
+This
+parameter can be used to restrict the display of the total horizontal
+domain, e.g. to reduce the data size of the dvr-output in order to
+speed-up&nbsp;the animated sequence.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_n"></a>clip_dvrp_n</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">(<a href="chapter_4.1.html#ny">ny</a>+1)*<a href="chapter_4.1.html#dy">dy</a></span></td>
+
+      <td style="vertical-align: top;">North boundary of the displayed domain (in m).<br>
+
+      <br>
+
+This parameter can
+be used to restrict the display of the total horizontal domain, e.g. to
+reduce the data size of the dvr-output in order to speed-up&nbsp;the
+animated sequence.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_r"></a>clip_dvrp_r</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">(<a href="chapter_4.1.html#nx">nx</a>+1)*<a href="chapter_4.1.html#dx">dx</a></span></td>
+
+      <td style="vertical-align: top;">Right boundary of the displayed domain (in m).<br>
+
+      <br>
+
+This parameter can
+be used to restrict the display of the total horizontal domain, e.g. to
+reduce the data size of the dvr-output in order to speed-up&nbsp;the
+animated sequence.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_s"></a>clip_dvrp_s</span></td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td>
+
+      <td style="vertical-align: top;">South boundary of the displayed domain (in m).<br>
+
+      <br>
+
+This parameter can
+be used to restrict the display of the total horizontal domain, e.g. to
+reduce the data size of the dvr-output in order to speed-up&nbsp;the
+animated sequence.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><a name="cluster_size"></a><span style="font-weight: bold;">cluster_size</span></td>
+
+      <td style="vertical-align: top;">I</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">1</span></td>
+
+      <td>Vertex cluster size for polygon reduction of topography.<br>
+
+      <br>
+
+This
+parameter can be used to reduce the number of polygones which form the
+topography isosurface. In case of large numerical grids (large number
+of gridpoints) and /or complex topography, cluster_size &gt; 1 may
+speed up the animation significantly. Disadvantage: buildings may loose
+their strict rectangular shape.<br>
+
+      <br>
+
+The allowed range of values is 1 &lt;= <span style="font-weight: bold;">cluster_size</span> &lt;= 5.<br>
+
+      <br>
+
+ <span style="font-weight: bold;">Warning:</span> The allowed range of values is not checked. Wrong values may lead to unforseen effects or even aborts! </td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="color_interval"></a>color_interval</span></td>
+
+      <td style="vertical-align: top;">R(2)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0, 1.0</span></td>
+
+      <td style="vertical-align: top;">Interval of values used for determining the particle color displayed in the animation.<br>
+
+      <br>
+
+See <a href="#particle_color">particle_color</a> for further explanation.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="dt_dvrp"></a><b>dt_dvrp</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>9999999.9</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Temporal
+interval of scenes to be displayed with the <span style="font-weight: bold;">dvrp</span> software (in
+s).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Isosurfaces, cross sections and
+particles can be displayed
+simultaneous. The display of particles requires that the particle
+transport is switched on (see <a href="#dt_prel">dt_prel</a>).
+Objects to be displayed have to be determined with <a href="#mode_dvrp">mode_dvrp</a>. </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If
+output of scenes created by dvrp software is switched on
+(see <a href="#mode_dvrp">mode_dvrp</a>),
+this parameter can be used to assign the temporal interval at which
+scenes are to be created (and the respective&nbsp; graphical data
+is to
+be output to the streaming server). <span lang="en-GB"><font face="Thorndale">Reference time is the beginning of
+&nbsp;the simulation, i.e. output takes place at times t = <b>dt_dvrp</b>,
+2*<b>dt_dvrp</b>, 3*<b>dt_dvrp</b>, etc. The
+actual output times can
+deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).&nbsp;
+Is <b>dt_dvrp</b> &lt; </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a><span lang="en-GB"><font face="Thorndale">, then
+scenes are created and
+output after each time step (if this is requested it should be <b>dt_dvrp</b>
+= <i>0</i>).</font></span> </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="dvrpsize_interval"></a>dvrpsize_interval</span></td>
+
+      <td style="vertical-align: top;">R(2)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0, 1.0</span></td>
+
+      <td style="vertical-align: top;">Interval of values used for determining the particle size displayed in the animation.<br>
+
+      <br>
+
+See <a href="#particle_dvrpsize">particle_dvrpsize</a> for further explanation.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="dvrp_directory"></a><b>dvrp_directory</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*80</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'default'</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Name of the
+directory into which data created by the <span style="font-weight: bold;">dvrp</span>
+software shall be saved.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>By default,
+the directory name is generated from the user
+name
+(see package parameter <a href="#dvrp_username">dvrp_username</a>)
+and the base file name (given as the argument of <span style="font-weight: bold;">mrun</span> option -d) as <span style="font-style: italic;">'&lt;user
+name&gt;/&lt;base file name&gt;'</span>.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="dvrp_file"></a><b>dvrp_file</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*80</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'default'</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Name of the
+file into which data created by the <span style="font-weight: bold;">dvrp</span>
+software shall be output.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This
+parameter can be given a value only in case of <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'local'</span><i>
+      </i>which
+determines that the data created by <span style="font-weight: bold;">dvrp</span>
+is output to a local file (on the machine where PALM is executed).
+Apart from the default, it is only allowed to assign <span style="font-style: italic;">'/dev/null'</span> (which
+means that no output is really stored). This can be used for special
+runtime measurements of the <span style="font-weight: bold;">dvrp</span>
+software.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dvrp_host"></a><b>dvrp_host</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*80</td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><i>'origin.rvs.</i>
+      <br>
+
+
+
+
+u<i>ni- hanover.de'</i></p>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Name of the computer
+to which data created by the <span style="font-weight: bold;">dvrp</span>
+software shall be
+transferred.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>In case of <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'rtsp'</span>
+only the default
+value is allowed (streaming server of
+the RRZN). For <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'local'</span><i>
+      </i>the
+assigned value is ignored.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dvrp_output"></a><b>dvrp_output</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*10</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>'rtsp'</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Output mode
+for the <span style="font-weight: bold;">dvrp</span>
+software. <br>
+
+
+
+
+ <br>
+
+
+
+
+ </p>
+
+
+
+
+
+The following settings are allowed:<br>
+
+
+
+
+ <br>
+
+
+
+
+ 
+      
+      
+      
+      
+      <table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'rtsp'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Data created by the <span style="font-weight: bold;">dvrp</span>
+software is transferred using
+a special transmission protocol to a so-called streaming server, which
+is able to continuously transfer visualization data with a
+high transmission rate.&nbsp; <br>
+
+
+
+
+
+Additionally, with this output mode a
+set of files is generated automatically
+within a directory on the streaming server (beside the visualization
+data e.g. some html-files) which can be used to
+visualize the data via an internet-browser plugin. Host
+(streaming-server) and directory can be defined by the user with <a href="#dvrp_host">dvrp_host</a>
+and <a href="#dvrp_directory">dvrp_directory</a>.</td>
+
+
+
+
+
+          </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'ftp'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Data created by the <span style="font-weight: bold;">dvrp</span>
+software is transferred to the destination host (see <a href="#dvrp_host">dvrp_host</a>
+and <a href="#dvrp_directory">dvrp_directory</a>)
+using ftp.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><i>'local'</i></td>
+
+
+
+
+
+            <td style="vertical-align: top;">Data created by the <span style="font-weight: bold;">dvrp</span>
+software is output locally on a file defined by <a href="#dvrp_file">dvrp_file
+            </a>.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+        
+        
+        
+        
+        </tbody> 
+      
+      
+      
+      
+      </table>
+
+
+
+
+ <br>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dvrp_password"></a><b>dvrp_password</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*80</td>
+
+
+
+
+
+      <td style="vertical-align: top;">'********'</td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Password for the
+computer to which data created by the <span style="font-weight: bold;">dvrp</span> software is to
+be
+transferred.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Assigning a password is
+only necessary in case of <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'ftp'</span>.
+For <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'rtsp'</span><i>
+      </i>the default
+value must not be changed!</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;">
+      
+      <p><a name="dvrp_psize"></a><b>dvrp_psize</b></p>
+
+      </td>
+
+      <td style="vertical-align: top;">R</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.2 * <a href="chapter_4.1.html#dx">dx</a></span></td>
+
+      <td style="vertical-align: top;">
+      
+      <p>Diameter that particles are given in visualizations with
+the <span style="font-weight: bold;">dvrp</span>
+software (in
+m).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>In case that particles are
+visualized with the <span style="font-weight: bold;">dvrp</span>
+software (see <a href="chapter_4.5.7.html">chapter
+4.5.7</a>), their size can be set by parameter <b>dvrp_psize</b>.
+All
+particles are displayed with this same size.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Alternatively, the particle size can be controlled by certain flow parameters using parameter <a href="#particle_dvrpsize">particle_dvrpsize</a>.</p>
+
+      
+      <p>Another way to control
+the particles diameter is to set it with the
+user-interface in routine <span style="font-family: monospace;">user_init_particles</span>
+(at the beginning of the simulation) and/or to redefine it after each
+timestep in routine <tt>user<font style="font-size: 11pt;" size="2">_particle_attributes</font></tt>.&nbsp;</p>
+
+
+
+
+
+      
+      
+      
+      
+      <p><b>Note:</b> This parameter determines exclusively
+the size
+under which particles appear in the <span style="font-weight: bold;">dvrp</span>
+visualization. The flow relevant particle radius is determined via the
+particle parameter <a href="chapter_4.2.html#radius">radius</a>!</p>
+
+      </td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dvrp_username"></a><b>dvrp_username</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*80</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>User name of a valid
+account on the computer to which data
+created by the <span style="font-weight: bold;">dvrp</span>
+software
+is to be
+transferred.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Assigning a value to this
+parameter is required in case of <a href="#dvrp_output">dvrp_output</a>
+= <span style="font-style: italic;">'rtsp'</span>
+or <span style="font-style: italic;">'ftp'</span>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a name="groundplate_color"></a><span style="font-weight: bold;">groundplate_color</span></td>
+
+      <td style="vertical-align: top;">R(3)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.0, 0.6, 0.0</span></td>
+
+      <td style="vertical-align: top;">Color of the ground plate.<br>
+
+      <br>
+
+The color is given in RGB (red/green/blue) portions. The default color of the ground plate is green.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="isosurface_color"></a>isosurface_color</span></td>
+
+      <td style="vertical-align: top;">R(3,10)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.9, 0.9, 0.9</span><br style="font-style: italic;">
+
+      <span style="font-style: italic;">0.8, 0.1, 0.1</span><br style="font-style: italic;">
+
+      <span style="font-style: italic;">0.1, 0.1, 0.8<br>
+
+0.1, 0.8, 0.1<br>
+
+0.6, 0.1, 0.1<br>
+
+0.1, 0.1, 0.6<br>
+
+0.1, 0.6, 0.1<br>
+
+0.4, 0.1, 0.1<br>
+
+0.1, 0.1, 0.4<br>
+
+0.1, 0.4, 0.1</span></td>
+
+      <td style="vertical-align: top;">Color of the isosurface(s).<br>
+
+      <br>
+
+Colors
+are given in RGB (red/green/blue) portions. By default, the first
+isosurface has a gray color, the second a red color, the third a blue
+color, etc.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="mode_dvrp"></a><b>mode_dvrp</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*20&nbsp;
+      <br>
+
+
+
+
+(10)</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>10
+* ''</i></td>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Graphical objects (isosurfaces, slicers, particles) which are
+to be created by the <span style="font-weight: bold;">dvrp</span>
+software.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Several different objects can
+be assigned simultaneously and
+will be displayed in the same scene. Allowed values for <span style="font-weight: bold;">mode_dvrp</span> are <span style="font-style: italic;">'isosurface##'</span>
+(isosurface), <span style="font-style: italic;">'slicer##'</span>
+(cross sections), and <span style="font-style: italic;">'particles'</span>.
+Within the strings the hash characters ("##") have to be replaced by two
+digits 01&le;##&le;99. Up to 10 objects
+can be assigned at the same time, e.g.:&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <blockquote><b>mode_dvrp</b>
+= <span style="font-style: italic;">'isosurface02'</span><i>,
+'slicer01',
+'particles', 'slicer02'</i></blockquote>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>In this
+case one isosurface, two cross sections, and particles
+will be created. The quantities for which isosurfaces or cross sections are to be
+created have to be selected with
+the parameter <a href="#data_output">data_output</a> (<span style="font-weight: bold;">data_output</span>
+also determines the
+orientation of the cross section, thus xy, xz, or yz). Since for <span style="font-weight: bold;">data_output</span> <span style="font-weight: bold;"></span>lists of
+variables may be
+assigned, the digits at the end of the <span style="font-weight: bold;">mode_dvrp</span>-string
+select the quantity, which is given
+at the respective position in the respective list (e.g. <span style="font-style: italic;">'isosurface02'</span>
+selects the second 3D quantity
+of <span style="font-weight: bold;">data_output</span>,  <span style="font-style: italic;">'slicer01'</span> selects the first 2D quantity
+of <span style="font-weight: bold;">data_output</span>).
+If e.g. <span style="font-weight: bold;">data_output</span> is assigned as <b>data_output</b> = <span style="font-style: italic;">'u_xy'</span><i>,
+'w_xz', 'v_yz'</i>, <span style="font-style: italic;">'pt'</span><i>,
+'u', 'w'</i>, then - assuming the above assignment of <span style="font-weight: bold;">mode_dvrp</span> - an
+isosurface of u, a
+horizontal cross section of u and
+a vertical cross section (xz) of w are created. For locations of the
+cross sections see <a href="#data_output">data_output</a>.
+The theshold value for which the isosurface is
+to be created can be defined with parameter <a href="#threshold">threshold</a>. The isosurface color is controlled by parameter <a href="#isosurface_color">isosurface_color</a>.<br>
+
+
+
+
+
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>The particles color and size can be set using parameters <a href="#particle_color">particle_color</a> and <a href="#particle_dvrpsize">particle_dvrpsize</a>.</p>
+
+      
+      <p>The vertical extension of the displayed domain is
+given by <a href="#nz_do3d">nz_do3d</a>.</p>
+
+      
+      <p>The displayed horizontal domain can be restricted using parameters <a href="#clip_dvrp_l">clip_dvrp_l</a>, <a href="#clip_dvrp_r">clip_dvrp_r</a>, <a href="#clip_dvrp_n">clip_dvrp_n</a>, <a href="#clip_dvrp_s">clip_dvrp_s</a>.</p>
+
+      
+      <p>If user-defined dvrp objects exist (see <a href="chapter_3.5.4.html">chapter 3.5.4</a>), then&nbsp;<span style="font-weight: bold;">mode_dvrp</span> may also refer to quantities selected with the parameter&nbsp;<a href="chapter_4.3.html#data_output_user">data_output_user</a> (internally PALM appends them to those selected&nbsp;with
+the parameter <a href="chapter_4.2.html#data_output">data_output</a>).
+
+
+ </p>
+
+      
+      <p><b>Assignments
+of mode_dvrp must correspond to those of data_output
+and
+data_output_user! </b>If e.g. <b>data_output</b> = <span style="font-style: italic;">'pt_xy'</span>,<span style="font-style: italic;"> 'w'</span><i> </i>was set, then only the digits "01" are allowed
+for <b>mode_dvrp</b>,
+thus <span style="font-style: italic;">'isosurface01'</span>
+and/or <span style="font-style: italic;">'slicer01'</span><i>.</i>
+      </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Further details about using the <span style="font-weight: bold;">dvrp</span> software are
+given in <a href="chapter_4.5.7.html">chapter
+4.5.7</a>.<br>
+
+
+
+
+ </p>
+
+
+
+
+ <b>Note:</b><br>
+
+
+
+
+
+The declaration of color charts to be
+used still have to be given "manually" in subroutine <a href="chapter_3.4.html#user_dvrp_coltab"><span style="font-family: monospace;">user_dvrp_coltab</span></a>
+(file <tt><font style="font-size: 11pt;" size="2">user_dvrp_coltab.f90</font></tt>).&nbsp;
+
+
+      </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+      <td style="vertical-align: top;"><a style="font-weight: bold;" name="particle_color"></a><span style="font-weight: bold;">particle_color</span></td>
+
+      <td style="vertical-align: top;">C*10</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'none'</span></td>
+
+      <td style="vertical-align: top;">Parameter, which allows to bind the displayed particle color to certain flow quantities.<br>
+
+      <br>
+
+By default, particles have a black color.<br>
+
+      <br>
+
+Allowed values for <span style="font-weight: bold;">particle_color</span> are:<br>
+
+      <br>
+
+      
+      <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
+
+        <tbody>
+
+          <tr>
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'absuv'</span></td>
+
+            <td style="vertical-align: top;">Particle color depends on the absolute value of the resolved-scale horizontal velocity (SQRT(u<sup>2</sup>+v<sup>2</sup>) at the particle position.</td>
+
+          </tr>
+
+          <tr>
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'pt*'</span></td>
+
+            <td style="vertical-align: top;">Particle
+color depends on the deviation of the resolved-scale potential
+temperature at the particle position from the horizontally averaged
+potential temperature (total domain).</td>
+
+          </tr>
+
+          <tr>
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'z'</span></td>
+
+            <td style="vertical-align: top;">Particle color depends on the height of the particle with respect to the bottom boundary (z=0).</td>
+
+          </tr>
+
+        
+        </tbody>
+      
+      </table>
+
+      <br>
+
+The
+colortable used for particles ranges from deep blue to deep red with
+yellow in between. The interval of values from the above listed
+quantities to be mapped to these colors is defined by parameter <a href="#color_interval">color_interval</a>.<br>
+
+      <br>
+
+      <span style="font-weight: bold;">Example:<br>
+
+      </span>If <span style="font-weight: bold;">particle_color</span> = <span style="font-style: italic;">'pt*'</span> and <a href="#color_interval">color_interval</a> = <span style="font-style: italic;">-0.5</span>, <span style="font-style: italic;">+0.5</span>, then all particles at positions with <span style="font-style: italic;">pt* </span>&lt;=<span style="font-style: italic;"> -0.5 K</span> will have a deep blue color and those at positions with <span style="font-style: italic;">pt*</span> &gt;= <span style="font-style: italic;">+0.5 K</span> will have a deep red color, while those with <span style="font-style: italic;">-0.5</span> &lt; <span style="font-style: italic;">pt*</span> &lt; <span style="font-style: italic;">+0.5</span> will vary in color from deep blue to deep red and transition from yellow to blue indicate <span style="font-style: italic;">pt*</span> ~ <span style="font-style: italic;">0.0</span>.</td>
+
+    </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="particle_dvrpsize"></a>particle_dvrpsize</span></td>
+
+      <td style="vertical-align: top;">C*10</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">'none'</span></td>
+
+      <td style="vertical-align: top;">Parameter, which allows to bind the displayed particle size to certain flow quantities.<br>
+
+      <br>
+
+The default particle size (diameter) is determined with parameter <a href="#dvrp_psize">dvrp_psize</a>.<br>
+
+      <br>
+
+Allowed values for <span style="font-weight: bold;">particle_dvrpsize</span> are:<br>
+
+      
+      <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
+
+        <tbody>
+
+          <tr>
+
+            <td style="vertical-align: top;"><span style="font-style: italic;">'absw'</span></td>
+
+            <td style="vertical-align: top;">The particle size depends on the absolute value of the resolved-scale vertical velocity w at the particle position.</td>
+
+          </tr>
+
+        
+        </tbody>
+      
+      </table>
+
+      <br>
+
+The particle sizes ranges from 0.25*<a href="chapter_4.1.html#dx">dx</a> m to 0.85*<a href="chapter_4.1.html#dx">dx</a> m. The interval of values from the above listed quantities to be mapped to these sizes is defined by parameter <a href="#dvrpsize_interval">dvrpsize_interval</a>.<br>
+
+      <br>
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+If <span style="font-weight: bold;">particle_dvrpsize</span> = <span style="font-style: italic;">'absw'</span> and <a href="#dvrpsize_interval">dvrpsize_interval</a> = <span style="font-style: italic;">1.0</span>, <span style="font-style: italic;">2.0</span>, then all particles at positions where the absolute value of w is &lt;= <span style="font-style: italic;">1.0</span> m/s will have a size of <span style="font-style: italic;">0.25*dx</span> m and those at positions with |w| &gt;= <span style="font-style: italic;">2.0</span> m/s will have a size of <span style="font-style: italic;">0.85*dx</span> m, while those with <span style="font-style: italic;">1.0</span> m/s &lt; |w| &lt; <span style="font-style: italic;">2.0</span> m/s will linearly vary in size from <span style="font-style: italic;">0.25*dx</span> m to <span style="font-style: italic;">0.85*dx</span> m.</td>
+
+    </tr>
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="slicer_range_limits_dvrp"></a><span style="font-weight: bold;">slicer_range_limits_<br>
+
+
+
+
+
+dvrp</span></td>
+
+
+
+
+ <td style="vertical-align: top;">R(2,10)</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">10
+* (-1,1)</span></td>
+
+
+
+
+ <td style="vertical-align: top;">Ranges
+of values to which a color table has to be mapped (units of the
+respective quantity).<br>
+
+
+
+
+ <br>
+
+
+
+
+
+In case that slicers have to be displayed (see <a href="#threshold">mode_dvrp</a>),
+this parameter defines the ranges of values of the respective
+quantities to which the colortable in use has to be mapped. If e.g. a
+temperature slice shall be displayed, the colortable defines colors
+from blue to red, and <span style="font-weight: bold;">slicer_range_limits_dvrp</span>
+= 290.0, 305.0 then areas with temperature of 290 K are displayed in
+dark blue and those with 305.0 are displayed in dark red. Temperatures
+within these limits will be displayed by a continuous color gradient
+from blue to red and Temperatures outside the limits will
+be displayed either in dark blue or in dark red.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+Up to ten different ranges can be assigned in case that more than one
+slicer has to be displayed.<br>
+
+
+
+
+ <br>
+
+
+
+
+
+See <a href="#threshold">mode_dvrp</a>
+for the declaration of color charts.</td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="superelevation"></a><b>superelevation</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>1.0</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Superelevation
+factor for the vertical coordinate.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>For
+domains with unfavorable ratio between the vertical and
+the horizontal size
+(the vertical size is determined by <a href="#nz_do3d">nz_do3d</a>)
+a <span style="font-weight: bold;">superelevation</span>
+/= <span style="font-style: italic;">1.0</span> may
+be used. If e.g. the
+horizontal size is substantially larger
+than the vertical size, a <span style="font-weight: bold;">superelevation</span>
+much larger than <span style="font-style: italic;">1.0</span>
+should
+be used, since otherwise the domain appears as a
+"flat disk" in the visualization and thus the vertical direction is
+only very poorly resolved.</p>
+
+
+
+
+ </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="superelevation_x"></a><b>superelevation_x</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top; font-style: italic;">1.0<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Superelevation
+factor for the horizontal (x) coordinate.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This
+parameter can be used to stretch the displayed domain
+along the x-direction. See also <a href="#superelevation">superelevation</a>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="superelevation_y"></a><b>superelevation_y</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top; font-style: italic;">1.0<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">Superelevation
+factor for the
+horizontal (y) coordinate.&nbsp; 
+      
+      
+      
+      
+      <p>This parameter can be
+used to
+stretch the displayed domain along the y-direction. See also <a href="#superelevation">superelevation</a>.</p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="threshold"></a><b>threshold</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R(10)<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top; font-style: italic;">0.0<br>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Threshold
+value for which an isosurface is to be created by
+the <span style="font-weight: bold;">dvrp</span>
+software.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If the creation of
+isosurfaces is switched on via
+parameter <a href="#mode_dvrp">mode_dvrp</a>,
+then the respective threshold value for which the isosurface is to be
+created can be assigned via <b>threshold</b>. If several
+isosurfaces
+are given by <b>mode_dvrp</b>, then an individual
+threshold value for
+each isosurface can be assigned. The order of the threshold values
+refers to the order of the isosurfaces given by <b>mode_dvrp</b>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+    <tr>
+
+      <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="topography_color"></a>topography_color</span></td>
+
+      <td style="vertical-align: top;">R(3)</td>
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">0.8, 0.7, 0.6</span></td>
+
+      <td style="vertical-align: top;">Color of the topography.<br>
+
+      <br>
+
+The color is given in RGB (red/green/blue) portions. If topograpy is switched on (see <a href="chapter_4.1.html#topography">topography</a>), its default color is a kind of gray.</td>
+
+    </tr>
+
+
+
+
+ 
+  
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+
+<span style="font-weight: bold;"><span style="font-weight: bold;"><br>
+
+
+
+
+
+</span></span><span style="font-weight: bold;"><span style="font-weight: bold;">Package (<span style="font-weight: bold;">mrun</span>
+option -p): <span style="font-weight: bold;"><a name="spectra"></a>spectra</span>&nbsp;&nbsp;&nbsp;&nbsp;
+NAMELIST group name: <span style="font-weight: bold;">spectra_par<br>
+
+
+
+
+
+<br>
+
+
+
+
+</span></span></span>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+
+
+
+
+ <tbody>
+
+
+
+
+ <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Parameter
+name</b></font></td>
+
+
+
+
+ <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><b><font size="4">Default</font></b> <br>
+
+
+
+
+ <b><font size="4">value</font></b></p>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><font size="4"><b>Explanation</b></font></td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="averaging_interval_sp"></a><b>averaging_interval_sp</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+
+      <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#averaging_interval">averaging_<br>
+
+
+
+
+
+interval</a></span> </td>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Averaging interval
+for spectra output to local
+file <font color="#000000"><font color="#000000"><a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a>
+      </font></font>and/or&nbsp; <a href="chapter_3.4.html#PLOTSP_X_DATA">PLOTSP_X_DATA</a>
+/ &nbsp;&nbsp; <a href="chapter_3.4.html#PLOTSP_Y_DATA">PLOTSP_Y_DATA</a>
+(in s).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>If
+this parameter is given a non-zero value, temporally
+averaged spectra data are output. By default, spectra data data are not
+subject to temporal averaging. The interval length is limited by the
+parameter <a href="#dt_dosp">dt_dosp</a>. In any
+case <b>averaging_interval_sp</b> &lt;= <b>dt_dosp
+      </b>must
+hold.</p>
+
+
+
+
+If an interval is defined, then by default the average
+is calculated
+from the data values of all timesteps lying within this interval. The
+number of time levels entering into the average can be reduced with the
+parameter <a href="chapter_4.2.html#dt_averaging_input_pr">dt_averaging_input_pr</a>.
+      
+      
+      
+      
+      <p>If
+an averaging interval can not be completed at the end of a run, it will
+be finished at the beginning of the next restart run. Thus for restart
+runs, averaging intervals do not
+necessarily begin at the beginning of the run.</p>
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"><b><a name="comp_spectra_level"></a>comp_spectra_level</b></td>
+
+
+
+
+
+      <td style="vertical-align: top;">I(100)</td>
+
+
+
+
+ <td style="vertical-align: top;"><i>no level</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Vertical level
+for which horizontal spectra are to be
+calculated and output (gridpoints).<br>
+
+
+
+
+ </p>
+
+
+
+
+ <br>
+
+
+
+
+
+Spectra can be calculated for up to 100 levels.</td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="data_output_sp"></a><b>data_output_sp</b></p>
+
+
+
+
+      </td>
+
+
+
+
+      <td style="vertical-align: top;">C*10 (10)</td>
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * ' '</i></td>
+
+
+
+
+      <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p>Quantities for which
+horizontal spectra are to be calculated
+and output.</p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Allowed standard values are:&nbsp; <b>data_output_sp</b>
+= <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span>, <span style="font-style: italic;">'w'</span>, <span style="font-style: italic;">'pt'</span>, <span style="font-style: italic;">'q'</span>. The user may define further quantities (see <a href="chapter_3.5.4#spectra">chapter 3.5.4 part 5</a>).<br>
+
+
+
+
+ </p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>Spectra are calculated using the FFT-method defined by <a href="chapter_4.1.html#fft_method">fft_method</a>.</p>
+
+
+
+
+
+      
+      
+      
+      
+      <p>By default spectra data are output to the local file <a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a>.
+The file's format is NetCDF.&nbsp; Further details about processing
+NetCDF data are given in chapter <a href="chapter_4.5.1.html">4.5.1</a>.</p>
+
+
+
+
+      
+      
+      
+      
+      <p>The
+temporal interval of the output times of profiles is
+assigned via the parameter <a href="chapter_4.2.html#dt_dosp">dt_dosp</a>.&nbsp;</p>
+
+
+
+
+      
+      
+      
+      
+      <p>The
+vertical levels for which spectra are to be computed and output must be
+given by parameter <font><a href="chapter_4.2.html#comp_spectra_level"><span lang="en-GB"><font face="Thorndale">comp_spectra_level</font></span></a></font>.
+      </p>
+
+
+
+
+      <span style="font-weight: bold;">Note:</span><br>
+
+
+
+
+
+Beside <span style="font-weight: bold;">data_output_sp</span>,
+values <span style="font-weight: bold;">must</span>
+be given for each of the
+parameters,&nbsp; <font><a href="chapter_4.2.html#comp_spectra_level"><span lang="en-GB"><font face="Thorndale">comp_spectra_level</font></span></a></font>,
+and <font><a href="chapter_4.2.html#spectra_direction"><span lang="en-GB"><font face="Thorndale">spectra_direction</font></span></a></font>,
+otherwise <span style="font-weight: bold;">no</span>
+output will be
+created!<br>
+
+
+
+
+      <br>
+
+
+
+
+      <br>
+
+
+
+
+
+Calculation of spectra requires cyclic boundary conditions
+along the respective directions (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>
+and <a href="chapter_4.1.html#bc_ns">bc_ns</a>).For
+historical reasons, data can also be output in ASCII-format on local
+files <a href="chapter_3.4.html#PLOTSP_X_DATA">PLOTSP_X_DATA</a>
+and/or <a href="chapter_3.4.html#PLOTSP_Y_DATA">PLOTSP_Y_DATA</a>
+(depending on the direction(s) along which spectra are to be
+calculated; see <font><a href="chapter_4.2.html#spectra_direction"><span lang="en-GB"><font face="Thorndale">spectra_direction</font></span></a>),</font>
+which are readable by the graphic software <span style="font-weight: bold;">profil</span>. See
+parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>
+for defining the format in which data shall be output.&nbsp;Within
+these file, the spectra are ordered with respect to their
+output times. Spectra can also be temporally averaged (see <a href="chapter_4.2.html#averaging_interval_sp">averaging_interval_sp</a>
+).&nbsp;<font><a href="chapter_4.2.html#spectra_direction"><span lang="en-GB"></span></a>Each data point of a
+spectrum is output in a single line (1st column:
+wavenumber, 2nd column: spectral coefficient). If spectra are to be
+calculated and output for more than one height (see </font><font><a href="chapter_4.2.html#comp_spectra_level"><span lang="en-GB"><font face="Thorndale">comp_spectra_level</font></span></a></font><font>),
+the spectral coefficients for the further heighs can be found in the
+subsequent columns. </font>The order
+of the data in the file follows the order used in the assignment for <b>data_output_sp</b>
+(<b>data_output_sp</b> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span>,&hellip;
+means that the file starts with the spectra of the u-component,
+followed by the v-component spectra, etc.). Additional to the files
+PLOTSP_X_DATA and PLOTSP_Y_DATA which contain
+the data,
+PALM creates NAMELIST parameter files (local name <a href="chapter_3.4.html#PLOTSP_X_PAR">PLOTSP_X_PAR</a>
+and <a href="chapter_3.4.html#PLOTSP_X_PAR">PLOTSP_Y_PAR</a>)
+which can be used as parameter input file for the plot software <a href="http://www.muk.uni-hannover.de/institut/software/profil_intro.html">profil</a>.
+Spectra can be directly plotted with <span style="font-weight: bold;">profil</span>
+using the data and the corresponding parameter file. The
+plot layout is
+steered via the parameter input file. The vertical levels for which
+spectra are to be plotted must be given by <font><a href="chapter_4.2.html#plot_spectra_level"><span lang="en-GB"><font face="Thorndale">plot_spectra_level</font></span></a></font><font><a href="chapter_4.2.html#comp_spectra_level"><span lang="en-GB"></span></a></font>. <span style="font-weight: bold;"></span>Otherwise, no
+spectra
+will appear on the plot, although data are available on file. All
+parameter values can be changed by editing the parameter
+input
+file.<span style="font-weight: bold;"><br>
+
+
+
+
+      </span></td>
+
+
+
+
+    </tr>
+
+
+
+
+    <tr>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="dt_dosp"></a><b>dt_dosp</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">R</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>value of
+&nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Temporal
+interval at which&nbsp;spectra data shall be output
+(in s).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale">If output of
+horizontal spectra is switched on (see </font></span><a href="#data_output_sp"><span lang="en-GB"><font face="Thorndale">data_output_sp</font></span></a><span lang="en-GB"><font face="Thorndale">), </font></span><span lang="en-GB"><font face="Thorndale">this
+parameter can be used to
+assign the temporal interval at which spectral data&nbsp; shall be
+output. </font></span><span lang="en-GB"><font face="Thorndale">Output can be skipped at the beginning of a
+simulation using parameter <a href="#skip_time_dosp">skip_time_dosp</a>,
+which has zero value by default. </font></span><span lang="en-GB"></span><span lang="en-GB"><font face="Thorndale">Reference
+time is the beginning of
+&nbsp;the simulation, i.e. output takes place at times t = <span style="font-weight: bold;">skip_time_dosp</span> + <b>dt_dosp</b>,
+      <span style="font-weight: bold;">skip_time_dosp</span>
++ 2*<b>dt_dosp</b>, skip_time_dosp + 3*<b>dt_dosp</b>,
+etc. The actual output times can
+deviate from these theoretical values (see </font></span><a href="#dt_dopr_zeitpunkte"><span lang="en-GB"><font face="Thorndale">dt_dopr</font></span></a><span lang="en-GB"><font face="Thorndale">).&nbsp;
+If <b>dt_dosp</b> &lt; </font></span><a href="chapter_4.1.html#dt"><span lang="en-GB"><font face="Thorndale">dt</font></span></a><span lang="en-GB"><font face="Thorndale">, then
+spectral data are output
+after each time step (if this is requested it should be <b>dt_dosp</b>
+= <i>0</i>).</font></span> </p>
+
+
+
+
+ </td>
+
+
+
+
+
+    </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;">
+      
+      
+      
+      
+      <p><a name="plot_spectra_level"></a><b>plot_spectra_level</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">I(100)</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>no level</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Vertical
+level(s) for which horizontal spectra are to be
+plotted (in gridpoints).&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>This parameter
+only affects the display of spectra in plots
+created with <span style="font-weight: bold;">profil</span>.
+The
+spectral data created and output to file are exclusively determined via
+      <font><a href="#comp_spectra_level"><span lang="en-GB"><font face="Thorndale">comp_spectra_level</font></span></a></font>.</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ <tr>
+
+
+
+
+ <td style="vertical-align: top;"><a name="skip_time_dosp"></a><span style="font-weight: bold;">skip_time_dosp</span></td>
+
+
+
+
+
+      <td style="vertical-align: top;">R<br>
+
+
+
+
+ </td>
+
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span>
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">No output of
+spectra data before this interval has passed (in s).<br>
+
+
+
+
+      <br>
+
+
+
+
+This
+parameter causes that data output activities are starting not before
+this interval
+(counting from the beginning of the simulation, t=0) has passed. <br>
+
+
+
+
+      <br>
+
+
+
+
+      <span style="font-weight: bold;">Example:</span><br>
+
+
+
+
+If
+the user has set <a href="#dt_dosp">dt_dosp</a> = <span style="font-style: italic;">3600.0</span> and <span style="font-weight: bold;">skip_time_dosp</span> = <span style="font-style: italic;">1800.0</span>, then the
+first output will be done at t = 5400 s. </td>
+
+
+
+
+ </tr>
+
+
+
+
+
+    <tr>
+
+
+
+
+ <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p><a name="spectra_direction"></a><b>spectra_direction</b></p>
+
+
+
+
+
+      </td>
+
+
+
+
+ <td style="vertical-align: top;">C*2 (10)</td>
+
+
+
+
+
+      <td style="vertical-align: top;"><i>10 * ' '</i></td>
+
+
+
+
+
+      <td style="vertical-align: top;"> 
+      
+      
+      
+      
+      <p>Direction(s)
+along which spectra are to be calculated.&nbsp; </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Allowed
+values are <span style="font-style: italic;">'x'</span>,
+      <span style="font-style: italic;">'y'</span> and <span style="font-style: italic;">'xy'</span>. For
+every quantity given by <a href="#data_output_sp">data_output_sp</a>
+a corresponding
+direction<span style="font-weight: bold;"> </span>must
+be assigned.<br>
+
+
+
+
+ </p>
+
+
+
+
+ 
+      
+      
+      
+      
+      <p>Calculation of spectra
+requires cyclic boundary conditions
+along the respective directions (see <a href="chapter_4.1.html#bc_lr">bc_lr</a>
+and <a href="chapter_4.1.html#bc_ns">bc_ns</a>).</p>
+
+
+
+
+
+      </td>
+
+
+
+
+ </tr>
+
+
+
+
+ 
+  
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+
+<span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><br>
+
+
+
+
+
+</span></span></span>
+<h3 style="line-height: 100%;"><br>
+
+
+
+
+<a href="chapter_4.1.html"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></a><a href="index.html"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></a><a href="chapter_4.3.html"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></a></h3>
+
+
+
+
+<span style="font-style: italic;">Last change:</span>
+$Id$ <span style="font-weight: bold;"><span style="font-weight: bold;"><br>
+
+
+
+
+
+</span></span><br>
+
+
+
+
+</body>
+</html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.3.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.3.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.3.html	(revision 393)
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 4.3</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041013;13364831"> <meta name="CHANGED" content="20041015;15380006"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 200%;">4.3 User-defined parameters</h3>
+<table style="width: 100%;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr valign="top">
+<td> <p><font size="4"><b>Parameter name</b></font></p>
+</td> <td> <p><font size="4"><b>Type</b></font></p>
+</td> <td> <p><b><font size="4">Default</font></b>&nbsp;
+<br> <b><font size="4">value</font></b></p>
+</td> <td> <p><font size="4"><b>Explanation</b></font></p>
+</td> </tr> <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="data_output_pr_user"></a>data_output_pr_user</span></td><td style="vertical-align: top;">C * 10<br>(200)</td><td style="vertical-align: top;"><span style="font-style: italic;">200 * ' '</span></td><td style="vertical-align: top;">User defined quantities for
+which horizontally averaged profile data is to be output.<br><br>Beside
+the PALM standard output quantities (which can be selected via
+parameter <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>),
+the user can define (without any restriction) additional output
+quantities (e.g. turbulent resolved-scale horizontal momentum fluxes, etc.). Each of these
+quantities has to be given a unique identifier (string) which must be
+different from the strings defining the standard output quantities (see
+list from the description of <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>).
+Data output can be switched on by assigning the respective strings to <span style="font-weight: bold;">data_output_user</span>.<br><br>The
+user has to calculate/provide the respective data array(s) by
+appropriately extending the user interface (see <a href="chapter_3.5.4.html">3.5.4</a>).<br><br>For
+further steering of the user defined output (output times, cross
+section levels, time averaging, etc.), the steering parameters for <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>
+apply accordingly.</td></tr><tr><td style="vertical-align: top;"><a name="data_output_user"></a><span style="font-weight: bold;">data_output_user</span></td><td style="vertical-align: top;">C * 10 (100)</td><td style="vertical-align: top;"><span style="font-style: italic;">100 * ' '</span></td><td style="vertical-align: top;">User defined quantities for
+which 2d cross section and/or 3d volume data are to be output.<br><br>Beside
+the PALM standard output quantities (which can be selected via
+parameter <a href="chapter_4.2.html#data_output">data_output</a>),
+the user can define (without any restriction) additional output
+quantities (e.g. the temperature variance, etc.). Each of these
+quantities has to be given a unique identifier (string) which must be
+different from the strings defining the standard output quantities (see
+list from the description of <a href="chapter_4.2.html#data_output">data_output</a>).
+Data output can be switched on by assigning the respective strings to <span style="font-weight: bold;">data_output_user</span>.<br><br>The
+user has to calculate/provide the respective data array(s) by
+appropriately extending the user interface (see <a href="chapter_3.5.4.html">3.5.4</a>).<br><br>For
+further steering of the user defined output (output times, cross
+section levels, time averaging, etc.), the steering parameters for <a href="chapter_4.2.html#data_output">data_output</a>
+apply accordingly.<br><br><span style="font-weight: bold;">Example:</span><br>If
+the user defined output quantity is the temperature variance and if the
+user has chosen the string <span style="font-style: italic;">'pt2'</span>
+as an identifier for this quantity, then output of horizontal cross
+sections can be selected by assigning <span style="font-weight: bold;">data_output_user</span> = <span style="font-style: italic;">'pt2_xy'</span>.</td></tr><tr valign="top"> <td> <p><b><a name="region"></a>region</b></p> </td>
+<td> <p>C*40 (0:9)</p> </td> <td> <p>&nbsp;</p>
+</td> <td> <p>Name(s) of the subdomain(s) defined
+by the user.&nbsp; </p> <p>With this variable, names
+can be assigned to the subsections
+defined by the user (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>)
+which afterwards appear in the headers of the respective files (<a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>)
+and within the respective plots. Up to 9 subdomains are allowed (<b>region</b>
+(1) to <b>region</b> (9)), the total domain has the index
+0 (<b>region</b>
+(0)).</p> </td> </tr> </tbody>
+</table><p style="line-height: 200%;">&nbsp; <br>
+&nbsp; </p>
+<hr><p><br>
+<font color="#000080"><font color="#000080"><a href="chapter_4.2.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.4.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p><span style="font-style: italic;">Last change:</span>
+$Id$&nbsp;</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.4.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.4.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.4.1.html	(revision 393)
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.4</title>
+<meta content="StarOffice 7 (Win32)" name="GENERATOR">
+<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041013;13430732" name="CREATED"> <meta content="20041117;11162734" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">4.4.1 A minimum
+parameter set for the CBL</h3>
+
+<p style="line-height: 100%;">In this chapter a brief,
+simple and
+complete parameter set is described, which can be used to simulate a&nbsp;quasi-stationary,
+convective, atmospheric boundary layer with&nbsp; <font color="#000000">zero
+mean horizontal
+wind.</font> For evaluation purposes, cross sections and
+horizontally averaged vertical
+profiles of typical boundary layer variables
+are output at the end of the run. The run shall be carried out in
+batch mode on the IBM Regatta "hanni" of the HLRN.</p>
+<p style="line-height: 100%;">The parameter file necessary
+to carry
+out a run must be provided to the model as an input file under the
+local name <a href="chapter_3.4.html#PARIN">PARIN</a>
+and has the following contents:</p>
+<pre style="line-height: 100%;">&amp;inipar <a href="chapter_4.1.html#nx">nx</a> = <span style="font-style: italic;">39</span>, <a href="chapter_4.1.html#ny">ny</a> = <span style="font-style: italic;">39</span>, <a href="chapter_4.1.html#nz">nz</a> = <span style="font-style: italic;">40</span>,<br> <a href="chapter_4.1.html#dx">dx</a> = <span style="font-style: italic;">50.0</span>, <a href="chapter_4.1.html#dy">dy</a> = <span style="font-style: italic;">50.0</span>, <a href="chapter_4.1.html#dz">dz</a> = <span style="font-style: italic;">50.0</span>,<br> <a href="chapter_4.1.html#dz_stretch_level">dz_stretch_level</a> = <span style="font-style: italic;">1200.0</span>,<br> <a href="chapter_4.1.html#fft_method">fft_method</a> = <span style="font-style: italic;">'temperton-algorithm'</span>,<br> <a href="chapter_4.1.html#initializing_actions">initializing_actions</a> = <span style="font-style: italic;">'set_constant_profiles'</span>,<br> <a href="chapter_4.1.html#ug_surface">ug_surface</a> = <span style="font-style: italic;">0.0</span>, <a href="chapter_4.1.html#vg_surface">vg_surface</a> = <span style="font-style: italic;">0.0</span>,<br> <a href="chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a> = <span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span>,<br> <a href="chapter_4.1.html#pt_vertical_gradient_level">pt_vertical_gradient_level</a> = <span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">800.0</span>,<br> <a href="chapter_4.1.html#surface_heatflux">surface_heatflux</a> = <span style="font-style: italic;">0.1</span>, <a href="chapter_4.1.html#bc_pt_b">bc_pt_b</a> = <span style="font-style: italic;">'neumann'</span>,/<br><br>&amp;d3par <a href="chapter_4.2.html#end_time">end_time</a> = <span style="font-style: italic;">3600.0</span>,<br> <a href="chapter_4.2.html#create_disturbances">create_disturbances</a> = <span style="font-style: italic;">.T.</span>,<br> <a href="chapter_4.2.html#dt_disturb">dt_disturb</a> = <span style="font-style: italic;">150.0</span>, <a href="chapter_4.2.html#disturbance_energy_limit">disturbance_energy_limit</a> = <span style="font-style: italic;">0.01</span>,<br> <a href="chapter_4.2.html#dt_run_control">dt_run_control</a> = <span style="font-style: italic;">0.0</span>,<br> <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'w_xz'</span>, <span style="font-style: italic;">'w_xz_av'</span>, <span style="font-style: italic;">'pt_xy'</span>, <span style="font-style: italic;">'pt_xz'</span>,<br> <a href="chapter_4.2.html#dt_data_output">dt_data_output</a> = <span style="font-style: italic;">900.0</span>,<br> <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a> = <span style="font-style: italic;">1800.0</span>,<br> <a href="chapter_4.2.html#averaging_interval">averaging_interval</a> = <span style="font-style: italic;">900.0</span>,<br> <a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a> = <span style="font-style: italic;">10.0</span>,<br> <a href="chapter_4.2.html#section_xy">section_xy</a> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>, <a href="chapter_4.2.html#section_xz">section_xz</a> = <span style="font-style: italic;">20</span>,<br> <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>,<br> <a href="chapter_4.2.html#dt_dopr">dt_dopr</a> = <span style="font-style: italic;">900.0</span>, <a href="chapter_4.2.html#averaging_interval_pr">averaging_interval_pr</a> = <span style="font-style: italic;">600.0</span>,<br> <a href="chapter_4.2.html#dt_averaging_input_pr">dt_averaging_input_pr</a> = <span style="font-style: italic;">10.0</span>,<br> <a href="chapter_4.2.html#data_output_pr">data_output_pr</a> = <span style="font-style: italic;">'#pt'</span>, <span style="font-style: italic;">'w&rdquo;pt&rdquo;'</span>, <span style="font-style: italic;">'w*pt*'</span>, <span style="font-style: italic;">'wpt'</span>, <span style="font-style: italic;">'w*2'</span>, <span style="font-style: italic;">'pt*2'</span>,<br> <a href="chapter_4.2.html#cross_profiles">cross_profiles</a> = <span style="font-style: italic;">' pt '</span>, <span style="font-style: italic;">' w"pt" w*pt* wpt '</span>, <span style="font-style: italic;">' w*2 '</span>, <span style="font-style: italic;">' pt*2 '</span>,<br> <a href="chapter_4.2.html#cross_xtext">cross_xtext</a> = <span style="font-style: italic;">'pot. temperature in K'</span>,<br> <span style="font-style: italic;">'heat flux in K ms&gt;-&gt;1'</span>,<br> <span style="font-style: italic;">'velocity variance in m&gt;2s&gt;-&gt;2'</span>,<br> <span style="font-style: italic;">'temperature variance in K&gt;2'</span>,<br> <a href="chapter_4.2.html#z_max_do1d">z_max_do1d</a> = <span style="font-style: italic;">1500.0</span>, /</pre>
+<p style="line-height: 100%;">The initialization
+parameters (<tt><font style="font-size: 10pt;" size="2">&amp;inipar</font></tt>)
+are located at the beginning of the file. For analysis of a
+convective boundary layer of approx. 1000 m thickness the horizontal
+size of the model domain should amount to at least 2 km x 2 km. In
+order to resolve the convective structures a grid spacing of <b>dx</b>
+=
+<b>dy</b> = <b>dz</b> = <i>50 m</i>
+is enough, since the typical
+diameter of convective plumes is more than 100 m. Thereby the
+upper array index in the two horizontal directions needs to be <b>nx</b>
+= <b>ny</b> = <i>39</i>. <font color="#000000">Since in
+each case the lower array index has the value 0, 40 grid points are
+used along both horizontal directions.</font> In the vertical
+direction
+the domain must be high enough to include the entrainment processes at
+the top of the boundary layer as well as the propagation of gravity
+waves, which were stimulated by
+the convection. However, in the stably stratified region the grid
+resolution has not necessarily to be as high as within the boundary
+layer. This can be obtained by a vertical stretching of the grid
+starting
+from 1200 m via <b>dz_stretch_level</b> = <i>1200.0
+m.</i> This saves
+grid points and computing time. <font color="#800000">T</font><font color="#000000">he
+upper boundary of the model is located at (see </font><a href="chapter_4.1.html#dz_stretch_factor"><font color="#000000">dz_stretch_factor</font></a><font color="#000000">)
+&hellip; m (computed by the model)</font>.</p><p style="line-height: 100%;">Fast Fourier transformations are
+calculated using the Temperton-algorithm, which -on the IBM Regatta- is
+faster than the default system-specific algorithm (from IBM essl
+library).</p><p style="line-height: 100%;">The
+initial profiles for
+wind and temperature can be assigned via <b>initializing_actions</b>
+= <span style="font-style: italic;">'set_constant_profiles'</span>.
+The wind speed, constant with
+height, amounts to <b>ug_surface</b> = <b>vg_surface</b>
+= <i>0.0 m/s</i>. In order
+to allow for a fast onset of convection, a neutral stratified layer up
+to z
+= 800 m capped by an inversion with dtheta/dz = 1K/100 m is given:
+<b>pt_vertical_gradient</b> = <i>0.0, 1.0</i>,
+<b>pt_vertical_gradient_level</b> = <i>0.0, 800.0.</i>
+The surface
+temperature, which by default amounts to 300 K, provides the fixed
+point for the temperature profile (see <a href="chapter_4.1.html#pt_surface">pt_surface</a>).
+Convection is driven by a given, near-surface sensible heat flux via <b>surface_heatflux</b>
+= <i>0.1 K m/s.</i> A given surface sensible heta flux
+requires the
+bottom boundary condition for potential temperature to be <b>bc_pt_b</b>
+=
+<span style="font-style: italic;">'neumann'</span> .
+Thus
+all initialization parameters are determined. These can not be
+changed during the run (also not for restart runs). </p>
+<p style="line-height: 100%;">Now the run parameters (<tt><font style="font-size: 10pt;" size="2">&amp;d3par</font></tt>)
+must be specified. To produce a quasi stationary boundary layer the
+simulated time should be at least one hour, i.e. <b>end_time</b>
+= <i>3600
+s.</i> To stimulate convection, the initially homogeneous (zero)
+wind
+field must be disturbed (<b>create_disturbances</b> = <i>.T.</i>).
+These perturbations should be repeated in a temporal interval of
+<b>dt_disturb</b> = <i>150.0 s</i> until the
+energy of the
+perturbations exceeds the value <b>disturbance_energy_limit</b>
+= 0.<i>01
+m<sup>2</sup>/s<sup>2</sup></i>. After
+each time step run time
+informations (e.g. size of the timestep, maximum velocities, etc.) are
+to be written to the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+(<b>dt_run_control</b> = <i>0.0 s</i>).</p><p style="line-height: 100%;">Instantaneous cross section data
+of vertical velocity (<span style="font-style: italic;">w</span>)
+and potential temperature (<span style="font-style: italic;">pt</span>)
+are to be output for horizontal (<span style="font-style: italic;">xy</span>)
+and vertical (<span style="font-style: italic;">xz</span>)
+cross sections, and additionally, time averaged (<span style="font-style: italic;">av</span>) vertical cross
+section data are to be output for the vertical velocity: <span style="font-weight: bold;">data_output</span> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'w_xz'</span>, <span style="font-style: italic;">'w_xz_av'</span>, <span style="font-style: italic;">'pt_xy'</span>, <span style="font-style: italic;">'pt_xz'</span>. Output of
+instantaneous (time averaged) data is done after each 900 (1800)s: <span style="font-weight: bold;">dt_data_output</span> = <span style="font-style: italic;">900.0</span>, <span style="font-weight: bold;">dt_data_output_av</span> = <span style="font-style: italic;">1800.0</span>. The
+averaged data are time averaged over the last 900.0 s, where the
+temporal interval of data entering the average is 10 s: <span style="font-weight: bold;">averaging_interval</span> =
+<span style="font-style: italic;">900.0</span>, <span style="font-weight: bold;">dt_averaging_input</span> =
+<span style="font-style: italic;">10.0</span>.
+Horizontal cross sections are output for vertical levels with grid
+index k=2 and k=10, vertical cross sections are output for index j=20: <span style="font-weight: bold;">section_xy</span> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>, <span style="font-weight: bold;">section_xz</span> = <span style="font-style: italic;">20</span>. For runs on
+more than one processor, cross section data are collected and output on
+PE0: <span style="font-weight: bold;">data_output_2d_on_each_pe</span>
+= <span style="font-style: italic;">.F.</span>.</p><p style="line-height: 100%;">Output
+of vertical profiles is to be done after each 900 s. The profiles shall
+be temporally averaged<font color="#000000"> over the last
+<font color="#000000">600 </font>seconds, </font>whereby
+the temporal interval of the profiles entering the average has to be
+10 s: <b>dt_dopr</b> = <i>900.0 s</i>, <b>averaging_interval_pr</b>
+=
+<i>600.0 s</i>, <b>dt_averaging_input_pr</b> =
+<i>10.0 s.</i> The temperature
+profile including the initial temperature profile (therefore <span style="font-style: italic;">'#pt'</span>),
+the subgrid scale, resolved and total vertical sensible heat flux as
+well as the variances of the vertical velocity and the potential
+temperature are to be output:&nbsp; <b>data_output_pr</b>
+= <span style="font-style: italic;">'#pt'</span><i>,
+'w"pt&rdquo;',
+'w*pt*', 'wpt', 'w*2', 'pt*2'</i>.</p><p style="line-height: 100%;">If the data output format for
+graphic software <span style="font-weight: bold;">profil</span>
+is selected (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>),
+the temperature
+profile and the individual variances are to be drawn into independent
+coordinate systems, and in contrast to this all heat flux profiles are
+to
+be
+drawn into the same system: <b>cross_profiles</b> = <span style="font-style: italic;">'pt'</span><i>,
+'w"pt"w*pt*wpt', 'w*2', 'pt*2'</i>. The legend of the x
+axes of these systems is set to <b>cross_xtext</b>= <i>'pot.
+temperature in K', 'heat flux in K ms&gt;-&gt;1', 'velocity
+variance
+in m&gt;2s&gt;-&gt;2', 'temperature variance in K&gt;2'</i>.
+The profiles are to be drawn up to a height level of <b>z_max_do1d</b>
+=
+<i>1500.0 m</i>. </p>
+<p style="line-height: 100%;">Before starting the mo<font color="#000000">del
+on the parallel computer, the number of processing elements must be
+specified.</font> Since relatively few grid points are used for
+this run, choosing of e.g. 8 PEs is sufficient. By default, a 1d domain
+decomposition along x is used on the IBM-Regatta, which means that a
+virtual processor topology (grid) of 8*1 (x*y) is used. (<span style="font-weight: bold;">Note:</span> the user may
+adjust this
+default domain decomposition with the help of the parameters <a href="chapter_4.2.html#npex">npex</a>
+and <a href="chapter_4.2.html#npey">npey</a>).
+</p><p style="line-height: 100%;">Provided that the
+parameters
+file described above are set within the file </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example/INPUT/example_cbl_p3d</font></pre></ul><p style="line-height: 100%;">and that the conditions
+mentioned in the
+first sections of <a href="chapter_3.2.html">chapter
+3.2</a> are met, the model run can be started with the command </p>
+<p style="line-height: 100%;"><font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2">mrun
+-d example_cbl -h ibmh -K parallel -X 8 -T 8 -t 1800 -q cdev -r
+&ldquo;d3# xy# xz# pr#&rdquo;</font></font></p>
+<p style="line-height: 100%;">The output files will appear
+in the
+directories </p>
+<blockquote style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example_cbl/MONITORING</font></tt><font style="font-size: 10pt;" size="2"><br> </font><tt><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example_cbl/OUTPUT
+,</font></tt></blockquote>
+<p style="line-height: 100%;">while the job protocol will
+appear in
+directory <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">~/</font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">job_queue</font></font></tt>.
+<br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.4.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik1" src="left.gif"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.4.2.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;
+</i>$Id$
+<br>&nbsp; <br>
+&nbsp; </p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.4.2.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.4.2.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.4.2.html	(revision 393)
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.4</title>
+<meta content="StarOffice 7 (Win32)" name="GENERATOR">
+<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041013;13430732" name="CREATED"> <meta content="20041117;11162734" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">4.4.2 A&nbsp;parameter set for ocean runs</h3>
+<p style="line-height: 100%;">... to be completed ...</p><p style="line-height: 100%;">In this chapter a brief,
+simple and
+complete parameter set is described, which can be used to carry out a
+model run. The presented example is available via <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d">example
+file</a> and can be used (together with the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/.mrun.config">configuration
+file</a> described in <a href="chapter_3.2.html">chapter
+3.2)</a> for the execution of a simple model run. </p>
+<p style="line-height: 100%;">This run simulates a
+quasi-stationary,
+convective, atmospheric boundary layer with&nbsp; <font color="#000000">zero
+mean horizontal
+wind.</font> For evaluation purposes, cross sections and
+horizontally averaged vertical
+profiles of typical boundary layer variables
+are output at the end of the run. The run shall be carried out in
+batch mode on the IBM Regatta "hanni" of the HLRN.</p>
+<p style="line-height: 100%;">The parameter file necessary
+to carry
+out a run must be provided to the model as an input file under the
+local name <a href="chapter_3.4.html#PARIN">PARIN</a>
+and has the following contents:</p>
+<pre style="line-height: 100%;">&amp;inipar <a href="chapter_4.1.html#nx">nx</a> = <span style="font-style: italic;">39</span>, <a href="chapter_4.1.html#ny">ny</a> = <span style="font-style: italic;">39</span>, <a href="chapter_4.1.html#nz">nz</a> = <span style="font-style: italic;">40</span>,<br> <a href="chapter_4.1.html#dx">dx</a> = <span style="font-style: italic;">50.0</span>, <a href="chapter_4.1.html#dy">dy</a> = <span style="font-style: italic;">50.0</span>, <a href="chapter_4.1.html#dz">dz</a> = <span style="font-style: italic;">50.0</span>,<br> <a href="chapter_4.1.html#dz_stretch_level">dz_stretch_level</a> = <span style="font-style: italic;">1200.0</span>,<br> <a href="chapter_4.1.html#fft_method">fft_method</a> = <span style="font-style: italic;">'temperton-algorithm'</span>,<br> <a href="chapter_4.1.html#initializing_actions">initializing_actions</a> = <span style="font-style: italic;">'set_constant_profiles'</span>,<br> <a href="chapter_4.1.html#ug_surface">ug_surface</a> = <span style="font-style: italic;">0.0</span>, <a href="chapter_4.1.html#vg_surface">vg_surface</a> = <span style="font-style: italic;">0.0</span>,<br> <a href="chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a> = <span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span>,<br> <a href="chapter_4.1.html#pt_vertical_gradient_level">pt_vertical_gradient_level</a> = <span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">800.0</span>,<br> <a href="chapter_4.1.html#surface_heatflux">surface_heatflux</a> = <span style="font-style: italic;">0.1</span>, <a href="chapter_4.1.html#bc_pt_b">bc_pt_b</a> = <span style="font-style: italic;">'neumann'</span>,/<br><br>&amp;d3par <a href="chapter_4.2.html#end_time">end_time</a> = <span style="font-style: italic;">3600.0</span>,<br> <a href="chapter_4.2.html#create_disturbances">create_disturbances</a> = <span style="font-style: italic;">.T.</span>,<br> <a href="chapter_4.2.html#dt_disturb">dt_disturb</a> = <span style="font-style: italic;">150.0</span>, <a href="chapter_4.2.html#disturbance_energy_limit">disturbance_energy_limit</a> = <span style="font-style: italic;">0.01</span>,<br> <a href="chapter_4.2.html#dt_run_control">dt_run_control</a> = <span style="font-style: italic;">0.0</span>,<br> <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'w_xz'</span>, <span style="font-style: italic;">'w_xz_av'</span>, <span style="font-style: italic;">'pt_xy'</span>, <span style="font-style: italic;">'pt_xz'</span>,<br> <a href="chapter_4.2.html#dt_data_output">dt_data_output</a> = <span style="font-style: italic;">900.0</span>,<br> <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a> = <span style="font-style: italic;">1800.0</span>,<br> <a href="chapter_4.2.html#averaging_interval">averaging_interval</a> = <span style="font-style: italic;">900.0</span>,<br> <a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a> = <span style="font-style: italic;">10.0</span>,<br> <a href="chapter_4.2.html#section_xy">section_xy</a> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>, <a href="chapter_4.2.html#section_xz">section_xz</a> = <span style="font-style: italic;">20</span>,<br> <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>,<br> <a href="chapter_4.2.html#dt_dopr">dt_dopr</a> = <span style="font-style: italic;">900.0</span>, <a href="chapter_4.2.html#averaging_interval_pr">averaging_interval_pr</a> = <span style="font-style: italic;">600.0</span>,<br> <a href="chapter_4.2.html#dt_averaging_input_pr">dt_averaging_input_pr</a> = <span style="font-style: italic;">10.0</span>,<br> <a href="chapter_4.2.html#data_output_pr">data_output_pr</a> = <span style="font-style: italic;">'#pt'</span>, <span style="font-style: italic;">'w&rdquo;pt&rdquo;'</span>, <span style="font-style: italic;">'w*pt*'</span>, <span style="font-style: italic;">'wpt'</span>, <span style="font-style: italic;">'w*2'</span>, <span style="font-style: italic;">'pt*2'</span>,<br> <a href="chapter_4.2.html#cross_profiles">cross_profiles</a> = <span style="font-style: italic;">' pt '</span>, <span style="font-style: italic;">' w"pt" w*pt* wpt '</span>, <span style="font-style: italic;">' w*2 '</span>, <span style="font-style: italic;">' pt*2 '</span>,<br> <a href="chapter_4.2.html#cross_xtext">cross_xtext</a> = <span style="font-style: italic;">'pot. temperature in K'</span>,<br> <span style="font-style: italic;">'heat flux in K ms&gt;-&gt;1'</span>,<br> <span style="font-style: italic;">'velocity variance in m&gt;2s&gt;-&gt;2'</span>,<br> <span style="font-style: italic;">'temperature variance in K&gt;2'</span>,<br> <a href="chapter_4.2.html#z_max_do1d">z_max_do1d</a> = <span style="font-style: italic;">1500.0</span>, /</pre><p style="line-height: 100%;"><br><br></p>
+<p style="line-height: 100%;">The initialization
+parameters (<tt><font style="font-size: 10pt;" size="2">&amp;inipar</font></tt>)
+are located at the beginning of the file. For analysis of a
+convective boundary layer of approx. 1000 m thickness the horizontal
+size of the model domain should amount to at least 2 km x 2 km. In
+order to resolve the convective structures a grid spacing of <b>dx</b>
+=
+<b>dy</b> = <b>dz</b> = <i>50 m</i>
+is enough, since the typical
+diameter of convective plumes is more than 100 m. Thereby the
+upper array index in the two horizontal directions needs to be <b>nx</b>
+= <b>ny</b> = <i>39</i>. <font color="#000000">Since in
+each case the lower array index has the value 0, 40 grid points are
+used along both horizontal directions.</font> In the vertical
+direction
+the domain must be high enough to include the entrainment processes at
+the top of the boundary layer as well as the propagation of gravity
+waves, which were stimulated by
+the convection. However, in the stably stratified region the grid
+resolution has not necessarily to be as high as within the boundary
+layer. This can be obtained by a vertical stretching of the grid
+starting
+from 1200 m via <b>dz_stretch_level</b> = <i>1200.0
+m.</i> This saves
+grid points and computing time. <font color="#800000">T</font><font color="#000000">he
+upper boundary of the model is located at (see </font><a href="chapter_4.1.html#dz_stretch_factor"><font color="#000000">dz_stretch_factor</font></a><font color="#000000">)
+&hellip; m (computed by the model)</font>.</p><p style="line-height: 100%;">Fast Fourier transformations are
+calculated using the Temperton-algorithm, which -on the IBM Regatta- is
+faster than the default system-specific algorithm (from IBM essl
+library).</p><p style="line-height: 100%;">The
+initial profiles for
+wind and temperature can be assigned via <b>initializing_actions</b>
+= <span style="font-style: italic;">'set_constant_profiles'</span>.
+The wind speed, constant with
+height, amounts to <b>ug_surface</b> = <b>vg_surface</b>
+= <i>0.0 m/s</i>. In order
+to allow for a fast onset of convection, a neutral stratified layer up
+to z
+= 800 m capped by an inversion with dtheta/dz = 1K/100 m is given:
+<b>pt_vertical_gradient</b> = <i>0.0, 1.0</i>,
+<b>pt_vertical_gradient_level</b> = <i>0.0, 800.0.</i>
+The surface
+temperature, which by default amounts to 300 K, provides the fixed
+point for the temperature profile (see <a href="chapter_4.1.html#pt_surface">pt_surface</a>).
+Convection is driven by a given, near-surface sensible heat flux via <b>surface_heatflux</b>
+= <i>0.1 K m/s.</i> A given surface sensible heta flux
+requires the
+bottom boundary condition for potential temperature to be <b>bc_pt_b</b>
+=
+<span style="font-style: italic;">'neumann'</span> .
+Thus
+all initialization parameters are determined. These can not be
+changed during the run (also not for restart runs). </p>
+<p style="line-height: 100%;">Now the run parameters (<tt><font style="font-size: 10pt;" size="2">&amp;d3par</font></tt>)
+must be specified. To produce a quasi stationary boundary layer the
+simulated time should be at least one hour, i.e. <b>end_time</b>
+= <i>3600
+s.</i> To stimulate convection, the initially homogeneous (zero)
+wind
+field must be disturbed (<b>create_disturbances</b> = <i>.T.</i>).
+These perturbations should be repeated in a temporal interval of
+<b>dt_disturb</b> = <i>150.0 s</i> until the
+energy of the
+perturbations exceeds the value <b>disturbance_energy_limit</b>
+= 0.<i>01
+m<sup>2</sup>/s<sup>2</sup></i>. After
+each time step run time
+informations (e.g. size of the timestep, maximum velocities, etc.) are
+to be written to the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>
+(<b>dt_run_control</b> = <i>0.0 s</i>).</p><p style="line-height: 100%;">Instantaneous cross section data
+of vertical velocity (<span style="font-style: italic;">w</span>)
+and potential temperature (<span style="font-style: italic;">pt</span>)
+are to be output for horizontal (<span style="font-style: italic;">xy</span>)
+and vertical (<span style="font-style: italic;">xz</span>)
+cross sections, and additionally, time averaged (<span style="font-style: italic;">av</span>) vertical cross
+section data are to be output for the vertical velocity: <span style="font-weight: bold;">data_output</span> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'w_xz'</span>, <span style="font-style: italic;">'w_xz_av'</span>, <span style="font-style: italic;">'pt_xy'</span>, <span style="font-style: italic;">'pt_xz'</span>. Output of
+instantaneous (time averaged) data is done after each 900 (1800)s: <span style="font-weight: bold;">dt_data_output</span> = <span style="font-style: italic;">900.0</span>, <span style="font-weight: bold;">dt_data_output_av</span> = <span style="font-style: italic;">1800.0</span>. The
+averaged data are time averaged over the last 900.0 s, where the
+temporal interval of data entering the average is 10 s: <span style="font-weight: bold;">averaging_interval</span> =
+<span style="font-style: italic;">900.0</span>, <span style="font-weight: bold;">dt_averaging_input</span> =
+<span style="font-style: italic;">10.0</span>.
+Horizontal cross sections are output for vertical levels with grid
+index k=2 and k=10, vertical cross sections are output for index j=20: <span style="font-weight: bold;">section_xy</span> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>, <span style="font-weight: bold;">section_xz</span> = <span style="font-style: italic;">20</span>. For runs on
+more than one processor, cross section data are collected and output on
+PE0: <span style="font-weight: bold;">data_output_2d_on_each_pe</span>
+= <span style="font-style: italic;">.F.</span>.</p><p style="line-height: 100%;">Output
+of vertical profiles is to be done after each 900 s. The profiles shall
+be temporally averaged<font color="#000000"> over the last
+<font color="#000000">600 </font>seconds, </font>whereby
+the temporal interval of the profiles entering the average has to be
+10 s: <b>dt_dopr</b> = <i>900.0 s</i>, <b>averaging_interval_pr</b>
+=
+<i>600.0 s</i>, <b>dt_averaging_input_pr</b> =
+<i>10.0 s.</i> The temperature
+profile including the initial temperature profile (therefore <span style="font-style: italic;">'#pt'</span>),
+the subgrid scale, resolved and total vertical sensible heat flux as
+well as the variances of the vertical velocity and the potential
+temperature are to be output:&nbsp; <b>data_output_pr</b>
+= <span style="font-style: italic;">'#pt'</span><i>,
+'w"pt&rdquo;',
+'w*pt*', 'wpt', 'w*2', 'pt*2'</i>.</p><p style="line-height: 100%;">If the data output format for
+graphic software <span style="font-weight: bold;">profil</span>
+is selected (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>),
+the temperature
+profile and the individual variances are to be drawn into independent
+coordinate systems, and in contrast to this all heat flux profiles are
+to
+be
+drawn into the same system: <b>cross_profiles</b> = <span style="font-style: italic;">'pt'</span><i>,
+'w"pt"w*pt*wpt', 'w*2', 'pt*2'</i>. The legend of the x
+axes of these systems is set to <b>cross_xtext</b>= <i>'pot.
+temperature in K', 'heat flux in K ms&gt;-&gt;1', 'velocity
+variance
+in m&gt;2s&gt;-&gt;2', 'temperature variance in K&gt;2'</i>.
+The profiles are to be drawn up to a height level of <b>z_max_do1d</b>
+=
+<i>1500.0 m</i>. </p>
+<p style="line-height: 100%;">Before starting the mo<font color="#000000">del
+on the parallel computer, the number of processing elements must be
+specified.</font> Since relatively few grid points are used for
+this run, choosing of e.g. 8 PEs is sufficient. By default, a 1d domain
+decomposition along x is used on the IBM-Regatta, which means that a
+virtual processor topology (grid) of 8*1 (x*y) is used. (<span style="font-weight: bold;">Note:</span> the user may
+adjust this
+default domain decomposition with the help of the parameters <a href="chapter_4.2.html#npex">npex</a>
+and <a href="chapter_4.2.html#npey">npey</a>).
+</p><p style="line-height: 100%;">Provided that the
+parameters
+file described above are set within the file </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example/INPUT/example_p3d</font></pre></ul><p style="line-height: 100%;">and that the conditions
+mentioned in the
+first sections of <a href="chapter_3.2.html">chapter
+3.2</a> are met, the model run can be started with the command </p>
+<p style="line-height: 100%;"><font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2">mrun
+-d example -h ibmh -K parallel -X 8 -T 8 -t 1800 -q cdev -r
+&ldquo;d3# xy# xz# pr#&rdquo;</font></font></p>
+<p style="line-height: 100%;">The output files will appear
+in the
+directories </p>
+<blockquote style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example/MONITORING</font></tt><font style="font-size: 10pt;" size="2"><br> </font><tt><font style="font-size: 10pt;" size="2">~/palm/current_version/JOBS/example/OUTPUT
+,</font></tt></blockquote>
+<p style="line-height: 100%;">while the job protocol will
+appear in
+directory <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">~/</font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">job_queue</font></font></tt>.
+<br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.4.1.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik1" src="left.gif"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;
+</i>$Id$
+<br>&nbsp; <br>
+&nbsp; </p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.4.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.4.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.4.html	(revision 393)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.4</title>
+<meta content="StarOffice 7 (Win32)" name="GENERATOR">
+<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041013;13430732" name="CREATED"> <meta content="20041117;11162734" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">4.4 Examples of
+parameter sets</h3>
+<p style="line-height: 100%;">This chapter gives examples of complete
+parameter sets for a variety of model runs. These parameter files can
+be found in the directory <span style="font-family: Courier New,Courier,monospace;">trunk/INSTALL</span> and can be used together with the <span style="font-weight: bold;">mrun</span> configuration file (<span style="font-family: Courier New,Courier,monospace;">.mrun.config</span>) to carry out the respective model runs.</p><p style="line-height: 100%;">For
+a description of the basic parameter settings which are generally
+required, see chapter 4.4.1, which explains the settings for a simple
+run of a quasi-stationary,
+convective, atmospheric boundary layer with&nbsp; <font color="#000000">zero
+mean horizontal
+wind.</font>
+All other examples only explain those settings which are specific for
+the respective runs (e.g. only the specific ocean parameters are
+described in the parameter set for simulating ocean convection).<br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.3.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.4.1.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p><p style="line-height: 100%;"><i>Last change:&nbsp;
+</i>$Id$
+<br>&nbsp; <br>
+&nbsp; </p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.1.html	(revision 393)
@@ -0,0 +1,476 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.1</title>
+<meta content="StarOffice 7 (Win32)" name="GENERATOR">
+<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041022;12155949" name="CREATED"> <meta content="20041117;11232134" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.1
+NetCDF data output&nbsp;<span style="color: rgb(255, 0, 0);"></span></font></h4>
+<p style="line-height: 100%;">The standard data output of
+PALM is NetCDF (<span style="font-weight: bold;">Net</span>work
+<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
+interface to a library of data access functions<br>for
+storing and retrieving data in the form of arrays. NetCDF is an
+abstraction that supports a view of data as a collection of
+self-describing, <span style="font-weight: bold;">portable</span>
+objects that can be accessed through a simple interface (protable means
+that NetCDF data files can be read on any machine regardless of where
+they
+have been created). Array values may be accessed directly, without
+knowing details of how the data are stored. Auxiliary information about
+the data, such as what units are used, may be stored with the data.
+Generic utilities and application programs can access NetCDF datasets
+(files) and transform, combine, analyze, or display specified fields of
+the data, e.g. the contents of a NetCDF dataset can be viewed using the
+command <span style="font-family: monospace;">ncdump</span>
+(see <a href="#ncdump">further below</a>).
+Many (public domain) graphic software has built in interfaces to read
+NetCDF datasets (e.g. <span style="font-weight: bold;">ferret</span>
+or <span style="font-weight: bold;">NCL</span>).
+The complete NetCDF documentation
+is available from the <a href="http://www.unidata.ucar.edu/packages/netcdf/docs.html">NetCDF
+homepage</a>. The NetCDF tutorial for FORTRAN90 can also be found
+on <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/manual/netcdf/netcdf-3_f90_tutorial.pdf">our
+web server</a>.</p><p style="line-height: 100%;">The
+output format of PALM data is determined by the runtime-parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>
+(<span style="font-weight: bold;">data_output_format</span>
+= <span style="font-style: italic;">'netcdf'</span>,
+by default). For historical reasons, some alternative formats can be
+selected (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>).
+The accuracy of the NetCDF output data can be set with parameter <a href="chapter_4.1.html#netcdf_precision">netcdf_precision</a>.
+By default, data have single (4 byte) precision. Also by default,
+NetCDF datasets (files) are not allowed to be larger than 2 GByte.
+Larger datasets can be created&nbsp;by setting <a href="chapter_4.2.html#netcdf_64bit">netcdf_64bit</a>
+= <span style="font-style: italic;">.TRUE.</span>.
+These files then have the so-called 64bit-offset format. However,
+currently, many of the existing application programs may not support
+this 64-bit offset format.<br></p>PALM allows the output of
+various
+data (e.g. cross sections, vertical profiles, timeseries, etc.) into
+different files. The following table gives an overview about the
+different kind of NetCDF output data offered by PALM. Beside the local
+names of the files, the table also lists the minimum parameter settings
+which
+are necessary to switch on the output, as well as the parameters to be
+used to control the output.<br><br><table style="text-align: left; width: 750px; height: 226px;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td align="left" valign="top"><span style="font-weight: bold;">kind of data</span></td><td align="left" valign="top"><span style="font-weight: bold;">local filename</span></td><td align="left" valign="top"><span style="font-weight: bold;">parameter settings necessary to
+switch on output</span></td><td align="left" valign="top"><span style="font-weight: bold;">further
+parameters for output control</span></td></tr><tr><td align="left" valign="top">vertical profiles</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_pr">data_output_pr</a>,
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_dopr">dt_dopr</a>)</td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+(or <a href="chapter_4.2.html#averaging_interval_pr">averaging_interval_pr</a>),
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a>,
+<a href="chapter_4.2.html#dt_averaging_input_pr">dt_averaging_input_pr</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_dopr">skip_time_dopr</a>),
+<a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">timeseries</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_dots">dt_dots</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">spectra</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#comp_spectra_level">comp_spectra_level</a>,
+<a href="chapter_4.2.html#data_output_sp">data_output_sp</a>,
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_dosp">dt_dosp</a>),
+<a href="chapter_4.2.html#spectra_direction">spectra_direction</a></td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>&nbsp;(or
+<a href="chapter_4.2.html#averaging_interval_sp">averaging_interval_sp</a>),
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#dt_averaging_input_pr">dt_averaging_input_pr</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_dosp">skip_time_dosp)</a></td></tr><tr><td align="left" valign="top">2d cross section (xy)</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_XY_NETCDF">DATA_2D_XY_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_do2d_xy">dt_do2d_xy</a>),
+<a href="chapter_4.2.html#section_xy">section_xy</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_do2d_xy">skip_time_do2d_xy</a>)</td></tr><tr><td align="left" valign="top">2d cross section (xy),
+time-averaged</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a>&nbsp;or
+<a href="chapter_4.2.html#dt_do2d_xy">dt_do2d_xy</a>),
+<a href="chapter_4.2.html#section_xy">section_xy</a></td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+<a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a>,
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_data_output_av">skip_time_data_output_av</a>,
+or <a href="chapter_4.2.html#skip_time_do2d_xy">skip_time_do2d_xy</a>)</td></tr><tr><td align="left" valign="top">2d cross section (xz)</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_XZ_NETCDF">DATA_2D_XZ_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_do2d_xz">dt_do2d_xz</a>),
+<a href="chapter_4.2.html#section_xz">section_xz</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_do2d_xz">skip_time_do2d_xz</a>)</td></tr><tr><td align="left" valign="top">2d cross section (xz),
+time-averaged</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_XZ_AV_NETCDF">DATA_2D_XZ_AV_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a>&nbsp;or
+<a href="chapter_4.2.html#dt_do2d_xz">dt_do2d_xz</a>),
+<a href="chapter_4.2.html#section_xz">section_xz</a></td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+<a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a>,
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_data_output_av">skip_time_data_output_av</a>,
+or <a href="chapter_4.2.html#skip_time_do2d_xz">skip_time_do2d_xz</a>)</td></tr><tr><td align="left" valign="top">2d cross section (yz)</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_YZ_NETCDF">DATA_2D_YZ_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_do2d_yz">dt_do2d_yz</a>),
+<a href="chapter_4.2.html#section_yz">section_yz</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_do2d_yz">skip_time_do2d_yz</a>)</td></tr><tr><td align="left" valign="top">2d cross section (yz),
+time-averaged</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_2D_YZ_AV_NETCDF">DATA_2D_YZ_AV_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a>&nbsp;or
+<a href="chapter_4.2.html#dt_do2d_yz">dt_do2d_yz</a>),
+<a href="chapter_4.2.html#section_yz">section_yz</a></td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+<a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a>,
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>,
+<a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>,
+<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_data_output_av">skip_time_data_output_av</a>,
+or <a href="chapter_4.2.html#skip_time_do2d_yz">skip_time_do2d_yz</a>)</td></tr><tr><td align="left" valign="top">3d volume</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_3D_NETCDF">DATA_3D_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_do3d">dt_do3d</a>)</td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
+<a href="chapter_4.2.html#do3d_at_begin">do3d_at_begin</a>,
+<a href="chapter_4.2.html#nz_do3d">nz_do3d</a>, <a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="left" valign="top">3d volume, time-averaged</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_3D_AV_NETCDF">DATA_3D_AV_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output">data_output</a>
+(or <a href="chapter_4.3.html#data_output_user">data_output_user</a>),
+<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(or <a href="chapter_4.2.html#dt_data_output_av">dt_data_output_av</a>&nbsp;or
+<a href="chapter_4.2.html#dt_do3d">dt_do3d</a>)</td><td align="left" valign="top"><a href="chapter_4.2.html#averaging_interval">averaging_interval</a>,
+<a href="chapter_4.2.html#dt_averaging_input">dt_averaging_input</a>,
+<a href="chapter_4.2.html#data_output_format">data_output_format</a>,&nbsp;<a href="chapter_4.2.html#do3d_at_begin">do3d_at_begin</a>,
+<a href="chapter_4.2.html#nz_do3d">nz_do3d</a>, <a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_data_output_av">skip_time_data_output_av</a>,
+or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle
+timeseries</td><td style="vertical-align: top;"><a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a></td><td style="vertical-align: top;"><a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+(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
+post-processing of a PALM NetCDF file</span><br><br>This
+section describes, step-by-step, the creation, storage, and
+post-processing of PALM NetCDF datasets considering the output of 2d
+horizontal (xy) cross sections as example. The parameter settings
+described below are those of the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d">example
+parameter file</a> (see <a href="chapter_4.4.1.html">chapter
+4.4.1</a>) so this parameter file can be used to retrace the
+following explanations.<br><br><ol><li>Output
+of xy cross
+sections requires to set at least three parameters: first, the temporal
+interval of the output time (run parameter <a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+or <a href="chapter_4.2.html#dt_do2d_xy"><u>dt_do2d_xy)</u></a><span style="text-decoration: none;">, second<span style="text-decoration: none;"></span>,
+the names of the quantities for which cross section output is wanted</span><span style="text-decoration: none;"><span style="text-decoration: none;"> (<a href="chapter_4.2.html#data_output">data_output</a></span></span>),
+and third, the position (height level given as gridpoint index) of the
+cross sections (<a href="chapter_4.2.html#section_xy">section_xy</a>).
+The string <span style="font-style: italic;">'_xy'</span>
+must be appended to the name strings assigned to <span style="font-weight: bold;">data_output</span> in
+either case. Output times
+cannot be defined
+directly but only via the output time interval, starting from the
+beginning of the initial 3d run (t=0, but no cross sections are
+written at the time t=0; exceptions see <a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>).
+As an exception, the first output time can be set independently with
+parameter <a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
+(or <a href="chapter_4.2.html#skip_time_do2d_xy">skip_time_do2d_xy</a>).<br><br><span style="font-weight: bold;">Very important:</span><br>If
+no values have been assigned to <b>data_output</b> , <span style="font-weight: bold;">dt_data_output</span> (or <span style="font-weight: bold;">dt_do2d_xy</span>), and <b>section_xy</b>,
+or
+if the values given for <span style="font-weight: bold;">dt_data_output</span>
+(or <b>dt_do2d_xy</b>) or <span style="font-weight: bold;">skip_time_data_output</span>
+(or <span style="font-weight: bold;">skip_time_do2d_xy</span>)
+are
+larger than the simulated time (see <a href="chapter_4.1.html#end_time">end_time</a>),
+<b>then there will be no output!<br><br></b>For
+output of time-averaged data, the string <span style="font-style: italic;">'_av'</span> has to be
+additionally appended to the respective name string (see <a href="chapter_4.2.html#data_output">data_output</a>).<br><br><br></li><li>
+<p style="line-height: 100%;">Instantaneous data are
+output in NetCDF
+format
+into the
+local file&nbsp;<a href="chapter_3.4.html#DATA_2D_XY_NETCDF">DATA_2D_XY_NETCDF</a>.
+This file must be linked with a permanent file by
+using a file connection statement in the <b>mrun</b>
+configuration
+file (see e.g. <a href="chapter_3.2.html">chapter
+3.2</a>). At the end of the run the local file is copied to this
+file. Such a statement can look like this:<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp;DATA_2D_XY_NETCDF out:loc:tr&nbsp;&nbsp;xy#&nbsp;
+~/$fname/OUTPUT/$fname&nbsp; _xy nc &nbsp; .</span><br><br>If
+the respective <b>mrun</b> call is
+like<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp;mrun -d&nbsp; test -r &ldquo;xy#&rdquo; ... </span><br style="font-family: monospace;"><br>then the local
+file <tt><font style="font-size: 10pt;" size="2">DATA_2D_XY_NETCDF</font></tt>
+is copied to the permanent file <tt><font style="font-size: 10pt;" size="2">~/test/OUTPUT/test/test_xy.nc</font>
+</tt>. However, the character string <span style="font-family: mon; font-style: italic;">'</span><tt style="font-style: italic;"><font style="font-size: 10pt;" size="2">xy#</font></tt><span style="font-style: italic;">'</span> activating the
+file connection statement (see third column of the
+statement) must be given in the <b>mrun</b> call as
+argument of the
+option -r (and/or -o)<b>.</b> <span style="text-decoration: none;">If
+t</span>his is forgotten by mistake, the model outputs the data
+to
+the local file, but this is not copied to the permanent file and thus
+the data are not available for the user after the run has finished.<br><br>The
+last (6th) column of the file connection statement, which defines the
+additional file suffix, should be the string <span style="font-style: italic;">'nc'</span>, because many
+application programs expect NetCDF files to have the file extension <span style="font-style: italic;">'.nc'</span>. (This
+additional suffix given in the 6th column is always put at the very end
+of the filename, even
+in case of cycle numbers.)<br><br>Time averaged data are
+output into local file&nbsp;<a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a>
+which requires an additional file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
+DATA_2D_XY_AV_NETCDF out:loc:tr&nbsp; xy#&nbsp;
+~/$fname/OUTPUT/$fname&nbsp; _xy_av nc&nbsp;&nbsp; .</span><br></p></li><li>With
+parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
+= <i>.T.</i>
+each PE outputs the data of its subdomain
+not directly to the NetCDF file but to a separate file with the name
+PLOT2D_XY_&lt;processor-Id&gt;,
+where &lt;processor-Id&gt; is a four digit number (e.g.
+PLOT2D_XY_0000). These files have FORTRAN binary format. After PALM has
+finished, their content is merged into the final local destination file
+DATA_2D_XY_NETCDF by the program <span style="font-family: monospace;">combine_plot_fields</span>.&nbsp;<span style="font-weight: bold;"></span>This is done by
+adding the following output command to the configuration file:<br><br><span style="font-family: monospace;">&nbsp; &nbsp;OC:[[$
+( echo $localhost | cut -c1-3 ) = imbh ]] &amp;&amp;
+combine_plot_fields.x &nbsp; &nbsp; .</span><br><br>Using
+this call, possibly existing
+files of the other cross sections (xz, yz) and of 3d volume data are
+also merged to their respective NetCDF files.&nbsp;The tool writes
+informative messages about the actions accomplished into the job
+protocol, even if no files were found (i.e. the output command
+may remain in the configuration file, even if no appropriate files
+are created during the simulation).&nbsp;<br><br><br></li><li><a name="ncdump"></a>The contents of a NetCDF dataset can
+be simply analyzed with the tool <span style="font-family: monospace;">ncdump</span>
+(which is part of the NetCDF software). It can be used to display the
+dimension (coordinate) names and lengths; variable names, types, and
+shapes; attribute names and values; and optionally,<br>the values
+of
+data for all variables or selected variables in a netCDF dataset. The
+file content (without displaying the gridpoint data of the quantities)
+can be displayed with the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ncdump
+-c &lt;filename&gt; &nbsp; &nbsp; .</span><br><br>Usage
+of the <span style="font-family: monospace;">ncdump</span>
+command requires that the path to the NetCDF software is appropriately
+set. On the IMUK-Linux-cluster this path is set by default, on the
+HLRN-IBM-Regatta, the user has to execute the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;module
+load netcdf &nbsp; &nbsp; .</span><br><br>Please
+refer to the&nbsp;system documentation or system administrator on
+how
+to setup the correct NetCDF path on the respective host.<br><br>An
+example how to interpret the <span style="font-family: monospace;">ncdump</span>-output
+will be given <a href="#NetCDF_example">further below</a>.<br><br></li><li>There
+are several application programs which can be used for graphical
+display of NetCDF datasets. One of the easiest ways to display the PALM
+data is the <a style="font-family: monospace;" href="http://ferret.wrc.noaa.gov/Ferret/">ferret</a>
+graphical user interface (GUI). On the IMUK-Linux-cluster, this can be
+called by
+executing the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ferret
+-gui &nbsp; &nbsp; .</span><br><br><span style="font-family: monospace;">ferret</span> is also
+available at <a href="http://www.hlrn.de/doc/ferret/index.html">HLRN</a>.
+Another possible tool is <span style="font-family: monospace;">ncview</span>,
+which is also available at HLRN (see the <a href="http://www.hlrn.de/doc/ncview/index.html">HLRN
+documentation</a>). Beside these general tools, the PALM group
+will develop a&nbsp;graphical interface based on <a href="http://www.ncl.ucar.edu/">NCL</a>
+(NCAR Command Language). This interface will be&nbsp;specially
+designed
+to display the PALM Data. A detailed documentation will be linked here
+as soon as available.<br><br><br></li><li><a name="netcdf_example_program"></a>One
+of the most flexible general ways for postprocessing NetCDF data
+is&nbsp;reading these data into a FORTRAN program. The&nbsp;<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a> shows
+how to read 2d or 3d NetCDF datasets created by PALM. Compiling this
+program requires that the
+NetCDF library is installed (if neccessary, please ask your system
+administrator). Some compilation instructions are given in the header
+of the
+example program.<br><br><br></li><li>By
+default, each PALM job creates its own NetCDF files. If permanent files
+with respective filenames are already existing then new files with
+higher cycle numbers will be created. However, in case of a job chain,
+it is possible to extend the NetCDF datasets created by the initial
+run&nbsp;with data from the restart run(s). As a result, data of
+all
+output times of the complete job chain are contained in one file and
+the number of data files to be handled by the user may be reduced
+significantly.<br>To extend a NetCDF dataset (created by a
+previous run
+of a job chain) with data from the current run requires that this
+dataset must be provided as an INPUT file. This may be difficult in
+case that PALM is running on a remote host because typically the output
+data files from the previous run have been already transferred by <span style="font-weight: bold;">mrun</span> to the local
+workstation with a file connection statement like<br><br><span style="font-family: monospace;">&nbsp;
+&nbsp;DATA_2D_XY_NETCDF
+&nbsp;out:loc:tr&nbsp;&nbsp;xy#:xyf
+&nbsp;~/palm/current_version/JOBS/$fname/OUTPUT
+&nbsp;_xy&nbsp; nc</span><br><br>and thus
+they are not available on the remote host any more. <br>A
+workaround for solving this problem is to create an additional copy of
+the output file on the remote machine by adding the file connection
+statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
+DATA_2D_XY_NETCDF&nbsp; out:loc&nbsp; xy#:xyf&nbsp;
+~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>This
+additional copy can then be accessed from a restart job as an input
+file using the file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
+DATA_2D_XY_NETCDF&nbsp; in:locopt&nbsp;&nbsp;xyf&nbsp;
+~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>Here
+the file attribut <span style="font-family: monospace;">locopt</span>
+(2nd column) guarantees that the job continues if a permanent file does
+not exist (e.g. in case of an initial run). Otherwise, the job would be
+aborted.<br>Although the dataset created by the last run of a job
+chain
+will contain data from all selected time levels of the complete job
+chain, the main disadvantage of this workaround is that the datasets
+created by the remaining jobs (with lower cycle numbers) still exist
+and may consume large disc space. They have to be deleted "by hand" by
+the user on the local machine as well as on the remote
+machine&nbsp;because they only contain redundant data from the
+earlier
+time levels which are already contained&nbsp;in the dataset created
+by
+the last job of the job chain.<br><br><span style="font-weight: bold;">Note:</span><br>Extension
+of PALM NetCDF datasets of 2d horizontal cross sections requires that
+parameters <a href="chapter_4.2.html#data-output">data_output</a>
+and <a href="chapter_4.2.html#section_xy">section_xy</a>&nbsp;
+for the restart runs are set identical to the initial run. In case of a
+value mismatch between initial and restart runs, a warning is issued in
+the job protocol file and the dataset will contain only data from those
+timelevels calculated within the restart run.<br>Similar
+restrictions apply for all other PALM NetCDF datasets (i.e. profiles,
+vertical cross sections, volume data, etc.).</li></ol><br>&nbsp;<br><span style="font-weight: bold;"><a name="NetCDF_example"></a>Example
+of a PALM NetCDF dataset</span><br><br>The
+NetCDF dataset described here contains data of instantaneous horizontal
+cross sections and has been created using the settings of the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d">example
+parameter file</a> (see <a href="chapter_4.4.1.html">chapter
+4.4.1</a>),
+i.e. it contains section data of the w-velocity-component and of the
+potential temperature for vertical grid levels with index <span style="font-family: monospace;">k = 2</span> and <span style="font-family: monospace;">k = 10</span>,
+selected by the respective parameter settings <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'pt_xy'</span>, and <a href="chapter_4.2.html#section_xy">section_xy</a> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>. Output has been
+created after every 900 s (<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
+= <span style="font-style: italic;">900.0</span>).
+Because of <a href="chapter_4.2.html#end_time">end_time</a>
+= <span style="font-style: italic;">3600.0</span>,
+the file contains data of 4 time levels (t = 900, 1800, 2700, 3600 s).<br>Supposed
+that the name of the NetCDF dataset is <span style="font-family: monospace;">example_xy.nc</span>,
+an analysis of the file contents using the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ncdump
+-c example_xy.nc</span><br><br>will create the
+following output. The original ncdump output is displayed using <span style="font-family: monospace;">fixed spacing</span>,
+additional explanations are given in <span style="font-style: italic; font-family: monospace;">italian</span>.<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">netcdf&nbsp;example_xy {
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! filename</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">dimensions: &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
+41 gridpoints along x and y, 4 timelevels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+time = UNLIMITED ; // (4 currently) &nbsp; &nbsp;<span style="font-style: italic;">! unlimited means
+that&nbsp;additional time levels can be added (e.g. by</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp;<span style="font-style: italic;">! restart jobs)</span><br>&nbsp;&nbsp;&nbsp;
+zu_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
+vertical dimension (2, because two cross sections are selected);</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+zw_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
+there are two different vertical dimensions zu and zw because due</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+zu1_xy = 1 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; <span style="font-style: italic;">!
+to the staggered grid the z-levels of variables are those of the</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+x = 41 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! u- or the w-component of the
+velocity</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+y = 41 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">variables: &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; <span style="font-style: italic;">!
+precision, dimensions, and units of the variables</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double time(time) ; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! the variables containing the
+time levels and grid point coordinates</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; time:units = "seconds" ; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! have the same names as the
+respective dimensions</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double zu_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; zu_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double zw_xy(zw_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; zw_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double zu1_xy(zu1_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; zu1_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double ind_z_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; ind_z_xy:units = "gridpoints" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double x(x) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; x:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+double y(y) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; y:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+float w_xy(time, zw_xy, y, x) ; &nbsp; &nbsp; &nbsp;
+&nbsp;<span style="font-style: italic;">! array of the
+vertical velocity; it has 4 dimensions: x and y,</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; w_xy:long_name = "w_xy" ; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! because it is a horizontal
+cross section, zw_xy, which defines</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; w_xy:units = "m/s" ; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! the vertical levels of the
+sections, and time, for the time levels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+float pt_xy(time, zu_xy, y, x) ; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! array of the potential
+temperature, which is defined on the u-grid</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; pt_xy:long_name = "pt_xy" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; pt_xy:units = "K" ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">// global attributes:</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; :Conventions = "COARDS" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; :title = "PALM&nbsp;&nbsp;
+3.0&nbsp; run:
+example.00&nbsp; host: ibmh&nbsp; 13-04-06 15:12:43" ;
+&nbsp;<span style="font-style: italic;">! PALM
+run-identifier</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; :VAR_LIST = ";w_xy;pt_xy;" ; &nbsp;
+&nbsp; &nbsp; <span style="font-style: italic;">!
+the list of output quantities contained in this dataset;</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp;<span style="font-style: italic;">! this global
+attribute can be used by FORTRAN programs to identify</span><br>&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp;<span style="font-style: italic;">! and read the
+quantities contained in the file</span><br>data:</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;time = 905.3,
+1808.98, 2711.98, 3603.59 ; <span style="font-style: italic;">!
+values of the four time levels</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu_xy = 75, 475 ;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! heights of the two selected
+cross sections (u-grid)</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zw_xy = 100, 500 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu1_xy = 25 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;x = 0, 50, 100,
+150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, &nbsp; <span style="font-style: italic;">! x-coordinates of the gridpoints</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300,
+1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950,
+</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+2000 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;y = 0, 50, 100,
+150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300,
+1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950,
+</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+2000 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">}</span><br></div><br>If
+the option <span style="font-family: monospace;">-c</span>
+is omitted in the <span style="font-family: monospace;">ncdump</span>
+call, then also the complete grid point data of all quantities are
+output to the terminal.<br><br>The &nbsp;<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a><span style="font-weight: bold;"></span> shows how to read
+this 2d
+horizontal cross section dataset from a FORTRAN program (<a href="#netcdf_example_program">see above</a>).<br><hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.5.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.2.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p><p style="line-height: 100%;"><span style="font-style: italic;">Last
+change:</span> $Id$&nbsp;</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.2.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.2.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.2.html	(revision 393)
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.2</title> <meta content="StarOffice 7 (Win32)" name="GENERATOR"> <meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041022;12155949" name="CREATED"> <meta content="20041117;11232134" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.2
+Plots of vertical
+profiles with profil</font></h4>
+<p style="line-height: 100%;">Output of vertical
+profile data is enabled by providing values for the run parameters <a href="chapter_4.2.html#dt_dopr"><u>dt_dopr</u></a><span style="text-decoration: none;">
+and </span><a href="chapter_4.2.html#data_output_pr">data_output_pr</a>
+<span style="text-decoration: none;">which specify the
+temporal
+interval of the output times (in s) and the quantities for which output
+is to be made.</span> Output times cannot be defined
+directly but only via the output time interval, starting from the
+beginning of the initial 3d run (t=0, but no profiles are
+written at the time t=0; exceptions see <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>).
+By default, vertical profiles represent an instantaneous horizontal
+average of the
+total model domain at the respective output time. Temporal averaging
+can be initiated with
+the run parameter <a href="chapter_4.2.html#averaging_interval_pr">averaging_interval_pr</a>.
+Beyond that, an output of profiles for user-defined subdomains is
+possible via the
+initialization parameter <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>.</p>
+<p style="line-height: 100%;">Output of desired profiles
+(temperature,
+velocity, etc.) is steered with the run parameter <a href="chapter_4.2.html#data_output_pr">data_output_pr</a>.
+If this parameter is not set by the user, then, independently of the
+value of <b>dt_dopr</b>, there will be no output! PALM
+creates the local file <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>,
+which must be linked with a permanent file (see e.g. <a href="chapter_3.2.html">chapter
+3.2</a>) via a file connection statement in the <b>mrun</b>
+configuration file. At the end of the run the local file is copied
+to this file. Such a statement can look like this: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT1D_DATA out:loc:tr pr ~/PLOT/$fname _pr_in.</font></pre></ul>
+<p style="line-height: 100%;">If the respective <b>mrun</b>
+call is
+like<br>
+</p><ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -d test -r &ldquo;pr&rdquo; &hellip;</font></pre>
+</ul><p style="line-height: 100%;">then the local f<span style="text-decoration: none;">ile
+</span><tt><span style="text-decoration: none;"><font style="font-size: 10pt;" size="2">PLOT1D_DATA</font></span></tt><span style="text-decoration: none;"><font style="font-size: 10pt;" size="2">
+</font>is copied to the permanent file </span><tt><span style="text-decoration: none;"><font style="font-size: 10pt;" size="2">~/PLOT/test/test_pr_in</font></span></tt><span style="text-decoration: none;">.
+However, the character string <font style="font-size: 10pt;" size="2">&ldquo;</font></span><tt><span style="text-decoration: none;"><font style="font-size: 10pt;" size="2">pr</font></span></tt><span style="text-decoration: none;"><font style="font-size: 10pt;" size="2">&rdquo;</font>
+activating the file connection statement </span><span style="text-decoration: none;">(see third column of the
+statement) </span><span style="text-decoration: none;">must
+be given in the <b>mrun</b>
+call as argument of the
+option -r (and/or -o)<b>.</b> If t</span>his is
+forgotten by mistake, the model outputs the data to the local file, but
+this is
+not copied to the permanent file and thus the data are not available
+for the user after the run has finished. </p>
+<p style="line-height: 100%;">The created data file can be
+directly used as input file for the plot software <b>profil</b>.
+<b>profil</b> needs another file, the so-called parameter
+file, which
+specifies the plot layout. This file is created by PALM under the local
+name <a href="chapter_3.4.html#PLOT1D_PAR">PLOT1D_PAR</a>
+and also needs a file connection statement, e.g.: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT1D_PAR out:loc:tr pr ~/PLOT/$fname _pr_par.</font></pre></ul>
+<p style="line-height: 100%;">If you are in the directory
+<tt><font style="font-size: 10pt;" size="2">~/PLOT/test</font>,</tt>the
+data can be plotted by entering </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">profil -d test_pr_in -p test_pr_par</font></pre></ul>
+<p style="line-height: 100%;">The default plot layout as
+specified in the parameter file is as follows: the profiles of the
+different quantities are plottet into
+one or more coordinate systems (panels). Every profile is plotted only
+once,
+however several profiles of different quantities can be plottet into
+the same panel. If case of this, the different quantities are
+marked by different styles of lines. Which variables
+are drawn into which coordinate system is specified by the user via
+the run parameter <a href="chapter_4.2.html#cross_profiles">cross_profiles</a>.
+It is very important to note that only profiles are plottet, which are
+assigned to
+a coordinate system via <b>cross_profiles</b>. If a
+certain
+variable is selected by <b>data_output_pr</b> but not
+assigned to a coordinate
+system via <b>cross_profiles</b>, then the appropriate
+profile data
+are written to the file PLOT1D_DATA but they are not plotted! All
+panels for which data
+exist are plotted. For example, if only the profiles of the potential
+temperature are
+to be plottet in a panel but output of potential temperature is not set
+via
+<b>data_output_pr</b>, then the respective panel is not
+drawn
+(thus no 'empty' panels appear in the plot). The
+parameters <a href="chapter_4.2.html#profile_columns">profile_columns</a>
+and <a href="chapter_4.2.html#profile_rows">profile_rows</a>
+determine how the panels are arranged in columns and rows. The panels
+are plotted in the order given by <span style="font-weight: bold;">data_output_pr</span>
+starting in the top row from left to right.
+If the number of panels to be plotted is larger than the
+product <b>profile_columns</b> * <b>profile_rows</b>,
+then the plot
+is continued on a second page. </p>
+<p style="line-height: 100%;">During a model run output of
+profiles to
+file PLOT1D_DATA is usually carried out for several times (as
+determined by <span style="font-weight: bold;">dt_dopr</span>)<font style="font-size: 10pt;" size="2">.</font>
+All of these profiles belonging to the same quantity are plotted in the
+same panel. The different output times are marked by different line
+colors. All profiles of a certain output time have the
+same color, even if they are plotted into different panels. Beyond
+that, a legend entry is made for each, containing the name of the
+respective quantity and the output time.
+This legend string is taken from file PLOT1D_DATA
+in which a comment line is placed ahead of each profile data. </p>
+<p style="line-height: 100%;">For identification, each
+plot is
+provided with a title, which contains the model version number, the
+run identifier (base file name + number of the restart run), the name
+of the host where the run was executed, the date and time of the
+beginning
+of the run as well as the averaging domain (by default: <span style="font-style: italic;">'total
+domain'</span>). If the profiles are additionally temporally
+averaged,
+each panel gets an appropriate sub-label (<span style="font-style: italic;">'time
+averaged over&hellip; s'</span>). The axes labels of the x
+axes of the
+individual panels are specified with the run parameter
+<a href="chapter_4.2.html#cross_xtext">cross_xtext</a>,
+the y axes always have the label <span style="font-style: italic;">'height
+in m'</span>. For better
+comparison, the profiles can be normalized with respect to different
+quantities
+(see <a href="chapter_4.2.html#cross_normalized_x">cross_normalized_x</a>
+and <a href="chapter_4.2.html#cross_normalized_y">cross_normalized_y</a>).
+The respective normalization is noted in the axes label. </p>
+<p style="line-height: 100%;"><font color="#000000">As
+already
+mentioned, the profiles of a quantity
+for all output times are plotted into the same panel. This is not
+possible if a simulation needs restart runs, since the restart runs
+write the
+profile data to separate files (with appropriate cycle numbers) and
+create own parameter files. Thus by default profiles can only be drawn
+separately for each respective run. However there is a possibility to
+plot
+all profiles of a quantity in one plot, regardless of the number of
+restart runs. For this
+purpose the configuration file must be changed such that for restart
+runs the profile data are appended to already existing<font color="#000000">
+data</font> (thus all data are output into one file). Then the
+configuration file has two entries for </font><tt><font color="#000000">PLOT1D_DATA</font></tt><font color="#000000">:
+</font></p><ul> <pre style="line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT1D_DATA out:loc:tr pr# ~/PLOT/$fname _pr_in</font><br><font style="font-size: 10pt;" size="2">PLOT1D_DATA out:loc:tra prf ~/PLOT/$fname _pr_in.</font></pre>
+</ul><p style="line-height: 100%;">The first run of
+the job chain is now </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun - D test - r &ldquo;pr#&hellip;</font></pre></ul>
+<p style="line-height: 100%;">For the restart runs, the
+"#" in the <span style="font-weight: bold;">mrun</span>
+call is automatically replaced by an "f". At the end of the job chain
+there will only be one data file containing the complete profile data.
+The file connection statement for the parameter file
+<font size="3">PLOT1D_PAR</font> has not changed,
+thus a new cycle of
+the respective permanent file is created for each run. To plot
+the combined data with the parameter file created by the last run of
+the job chain, the run parameter
+<a href="chapter_4.2.html#use_prior_plot1d_parameters">use_prior_plot1d_parameters</a>
+= <i>.TRUE.</i> must be additionally set for the restart
+runs. If this
+is
+forgotten, the parameter file is useless and the data cannot
+be plotted. </p>
+<p style="line-height: 100%;">The default layout of the
+plots of
+vertical profiles can be changed by editing the
+parameter file. For a detailed description of the <span style="font-weight: bold;">profil</span> parameters
+see the
+<a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>
+manual (only in German). <br>
+</p><hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.5.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.3.html"><font color="#000080"><img name="Grafik3" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
+<p style="line-height: 100%;"><span style="font-style: italic;">Last
+change:</span> $Id$&nbsp;</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.3.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.3.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.3.html	(revision 393)
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
+chapter 4.5.3</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041026;14291096"> <meta name="CHANGED" content="20041117;11335481"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.3
+Plots of time
+series
+with profil</font></h4>Sorry, this feature isn't supported
+any more.<hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.5.2.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.4.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
+<p style="line-height: 100%;">&nbsp;<span style="font-style: italic;">Last
+change:</span> $Id$<br>
+</p></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.4.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.4.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.4.html	(revision 393)
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
+chapter 4.5.4</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041027;10130843"> <meta name="CHANGED" content="20041117;11420847"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.4
+Plots of 2d cross
+sections with iso2d</font></h4>
+<p style="line-height: 100%;">PALM permits simultaneous
+output xy, xz
+and&nbsp;
+yz cross sections. Since the output of all three cross section plots is
+steered in the same way, only the creation of xy plots is described.</p>
+<p style="line-height: 100%;">Output of xy cross
+sections requires to set at least two parameters: first, the temporal
+interval of the output time (run parameter <a href="chapter_4.2.html#dt_do2d_xy"><u>dt_do2d_xy)</u></a><span style="text-decoration: none;">
+and second<span style="text-decoration: none;"></span>
+the names of the quantities for which cross section output is wanted</span><span style="text-decoration: none;"><span style="text-decoration: none;"> (<a href="chapter_4.2.html#data_output">data_output</a></span></span>).
+The string <span style="font-style: italic;">'_xy'</span>
+must be appended to these name strings in either case. Output times
+cannot be defined
+directly but only via the output time interval, starting from the
+beginning of the initial 3d run (t=0, but no cross sections are
+written at the time t=0; exceptions see <a href="chapter_4.2.html#do2d_at_begin">do2d_at_begin</a>).
+The exact location (height level) of the cross
+section(s) can be defined with run parameter <a href="chapter_4.2.html#section_xy">section_xy</a>.
+If no values have been assigned to <b>data_output</b> and <b>section_xy</b>
+or
+if the value given for <b>dt_do2d_xy </b>is
+larger than the simulated time (see <a href="chapter_4.1.html#end_time">end_time</a>),
+<b>then there will be no output!</b><br>
+</p><p style="line-height: 100%;">Data is output in
+binary format
+into the
+local file <a href="chapter_3.4.html#PLOT2D_XY">PLOT2D_XY</a>.
+This file must be linked with a permanent file by
+using a file connection statement in the <b>mrun</b>
+configuration
+file (see e.g. <a href="chapter_3.2.html">chapter
+3.2</a>). At the end of the run the local file is copied to this
+file. Such a statement can look like this: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT2D_XY out:loc:tr pxy ~/PLOT/$fname _pxy_in.</font></pre></ul>
+<p style="line-height: 100%;">If the respective <b>mrun</b>
+call is
+like </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -d test -r &ldquo;pxy&rdquo;&hellip;</font></pre></ul>
+<p style="line-height: 100%;">then the local file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY</font></tt>
+is copied to the permanent file <tt><font style="font-size: 10pt;" size="2">~/PLOT/test/test_pxy_in</font>
+</tt>. However, the character string <font style="font-size: 10pt;" size="2">&ldquo;</font><tt><font style="font-size: 10pt;" size="2">pxy</font></tt><font style="font-size: 10pt;" size="2">&rdquo;</font>
+activating the file connection statement (see third column of the
+statement) must be given in the <b>mrun</b> call as
+argument of the
+option -r (and/or -o)<b>.</b> <span style="text-decoration: none;">If
+t</span>his is forgotten by mistake, the model outputs the data
+to
+the local file, but this is not copied to the permanent file and thus
+the data are not available for the user after the run has finished.</p>
+<p style="line-height: 100%;">The created data file can be
+directly used as input file for the plot software <b>iso2d</b>.
+However, this requires the user to assign <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
+= <i>.FALSE. </i>(see also at the end of this chapter) . <b>iso2d</b>
+needs another file, the so-called parameter file, which specifies the
+plot
+layout. This file contains a
+so-called global parameter set which applies to all plots as well as
+a local parameter set which is valid for each individual plot. These
+global and
+local parameter sets are also created by PALM and output into two
+different local files named <a href="chapter_3.4.html#PLOT2D_XY_GLOBAL">PLOT2D_XY_GLOBAL</a>
+and <a href="chapter_3.4.html#PLOT2D_XY_LOCAL">PLOT2D_XY_LOCAL</a>.
+These must be combined to one file via a so-called <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#chapter6.2">output
+command</a> in the configuration file. The resulting file also
+needs a
+file connection statement: </p>
+<ul> <pre style="line-height: 100%;"><font style="font-size: 10pt;" size="2">OC: [[ -f PLOT2D_XY_GLOBAL]] &amp;&amp; cat PLOT2D_XY_LOCAL &gt;&gt; PLOT2D_XY_GLOBAL</font><br><br><font style="font-size: 10pt;" size="2">PLOT2D_XY_GLOBAL out:loc:tr pxy ~/PLOT/$fname _pxy_par.</font></pre></ul>
+<p style="line-height: 100%;">The output command (corn
+shell syntax)
+tests whether the file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY_GLOBAL</font></tt>
+exists and if so the file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY_LOCAL</font></tt>
+is appended via the "cat" command to the file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY_GLOBAL</font></tt>
+which then contains all parameters needed by <b>iso2d</b>.&nbsp;
+This
+relatively pedantic proceeding is due to the fact that PALM
+can produce the file PLOT2D_XY_GLOBAL only at the end of the simulation
+(when the final value of the global <span style="font-weight: bold;">iso2d</span>-parameter
+<a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html#PLANZ">planz</a>
+is known), while the local parameter sets are written continuously
+to the file PLOT2D_XY_LOCAL during the run. A consequence is, that in
+case of aborts of a run the file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY_GLOBAL</font></tt>
+has possibly not been created and thus a visualization of the data -
+although they may be available - is
+not possible (in such a case, the user may create the parameter file
+manually). </p>
+<p style="line-height: 100%;">If you are in the directory <tt><font style="font-size: 10pt;" size="2">~/PLOT/test</font></tt>,
+the data
+can be plotted by entering
+</p><ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">iso2d -d test _pxy_in -p test_pxy_par</font></pre>
+</ul><p style="line-height: 100%;">By default plot
+layout as specified in
+the parameter file is as follows: for each cross section of each
+individual quantity a seperate plot is created using isolines. Isolines
+with negative values are displayed in
+red color. The axes do not have labels and the units are [m]. For
+identification, each plot is
+provided with a title, which contains the model version number, the
+run identifier (base file name + number of the restart run), the name
+of the host where the run was executed, and the date and time of the
+beginning
+of the run. Furthermore each plot carries a
+caption where the name of the displayed quantity, the output time
+(starting from
+beginning of the 3d simulation, t=0) and the location of the cross
+sections (as height level and grid point number) is noted. </p>
+<p style="line-height: 100%;">The layout of the plots can
+be
+varied by editing the parameter file (according to the
+various features of <b>iso2d</b>: color shading,
+vector plots, streamlines, etc.). For a detailed description of the <span style="font-weight: bold;">iso2d</span> parameters see
+the
+<a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>
+manual (only in German). </p>
+<p style="line-height: 100%;">With parallel runs and
+choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
+= <i>.T.</i> each PE outputs the data of its subdomain
+to a separate file with the name
+PLOT2D_XY_&lt;processor-Id&gt;,
+whereby &lt;processor-Id&gt; is a four digit number (e.g.
+PLOT2D_XY_0000). These files are not suitable for <span style="font-weight: bold;">iso2d</span>, but after the
+end
+of a run they can be combined to one file readable by <span style="font-weight: bold;">iso2d</span>. This is done
+via a
+further output command in the configuration file: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">OC:[[$ ( echo $localhost | cut -c1-3 ) = imbh ]] &amp;&amp; combine_plot_fields.x</font></pre></ul>
+<p style="line-height: 100%;">The program <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>
+collects the data from the individual processor files and outputs it
+into the local file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY</font></tt>
+which can be processed by <span style="font-weight: bold;">iso2d</span>.
+Using this call, possibly existing
+files of the other cross sections (xz, yz) and of 3d volume data are
+also combined.&nbsp;The tool writes
+informative messages about the actions accomplished into the job
+protocol, even if no files were found (i.e. the output command
+may remain in the configuration file, even if no appropriate files
+are created during the simulation). <br>
+<b><br>Note:</b> due to internal
+restrictions of <b>iso2d </b>the file <tt><font style="font-size: 10pt;" size="2">PLOT2D_XY</font></tt>
+may not contain more than 99 cross sections. This restriction does not
+apply
+for the production of video clips via <b>iso2d</b>.
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_4.5.3.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.5.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;">&nbsp;<i>Last
+change:&nbsp;&nbsp;</i>
+$Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.5.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.5.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.5.html	(revision 393)
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
+chapter 4.5.5</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041027;13094394"> <meta name="CHANGED" content="20041117;11561956"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.5
+Plots of 3d volume
+data with AVS</font></h4>
+<p style="line-height: 100%;">In contrast to the plot
+output described
+so far, which can be handled more or less automatically, the creation
+of
+plots with <b>AVS</b> requires programming a so-called
+network by
+using the <span style="font-weight: bold;">AVS</span>
+network editor
+to design the plot
+layout. Details are not given here because it is assumed that the user
+is familiar with <b>AVS</b>. </p>
+<p style="line-height: 100%;"><font color="#000000">Output
+of 3d volume
+data requires to set at least two parameters: </font>first, the
+temporal
+interval of the output time (run parameter <a href="chapter_4.2.html#dt_do3d"><u>dt_do3d)</u></a><span style="text-decoration: none;">
+and second<span style="text-decoration: none;"></span>
+the names of the quantities for which volume data output is wanted</span><span style="text-decoration: none;"><span style="text-decoration: none;"> (<a href="chapter_4.2.html#data_output">data_output</a></span></span>).<font color="#000000"> </font><font color="#000000"><span style="text-decoration: none;"></span></font><font color="#000000"><span style="text-decoration: none;"></span><span style="text-decoration: none;"></span></font><font color="#800000"> </font>The
+parameter <a href="chapter_4.2.html#nz_do3d">nz_do3d</a>
+can be used to limit data output in vertical direction up to a certain
+grid
+point. If no value has been assigned to <b>data_output</b>
+or
+if the value given for <b>dt_do3d </b>is
+larger than the simulated time (see <a href="chapter_4.1.html#end_time">end_time</a>),
+<b>then there will be no output!</b> By default, data is
+output in
+32-bit real format. Alternatively, for parallel runs, data can also be
+output in compressed format using 32-bit integers. This yields
+a loss of accuracy, but the file size is clearly reduced. The output of
+compressed data is described in more detail in <a href="chapter_4.5.6.html">chapter
+4.5.6</a>. </p>
+<p style="line-height: 100%;">Data, whether compressed or
+uncompressed, is output into the local file <a href="chapter_3.4.html#PLOT3D_DATA">PLOT3D_DATA</a>.
+This file must be linked with a permanent file by
+using a file connection statement in the <b>mrun</b>
+configuration
+file (see e.g. <a href="chapter_3.2.html">chapter
+3.2</a>). At the end of the run the local file is copied to this
+file. Additionally, mrun creates a file containing some coordinate
+informations about the 3d data, which also has to be copied. The
+statements can look like this: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT3D_DATA out:loc:tr avs ~/PLOT/$fname _avs<br>PLOT3D_COOR out:loc:tr avs ~/PLOT/$fname _coor .</font></pre></ul>
+<p style="line-height: 100%;">If the respective <b>mrun</b>
+call is
+like</p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">mrun -d test -r &ldquo;avs&rdquo;&hellip;</font></pre></ul>
+<p style="line-height: 100%;">then the local file <tt><font style="font-size: 10pt;" size="2">PLOT3D_DATA</font></tt>
+is copied to the permanent file <tt><font style="font-size: 10pt;" size="2">~/PLOT/test/test_avs</font></tt>
+.
+However, the character string &ldquo;<tt><font style="font-size: 10pt;" size="2">avs</font></tt>&rdquo;
+activating the file connection staement (see third column of the
+statement) must be given in the <b>mrun</b> call as
+argument of the
+option -r (and/or -o). <span style="text-decoration: none;">If
+t</span>his
+is forgotten by mistake, the model outputs the data to the local
+file, but this is not copied to the permanent file and thus the data
+are not available for the user after the run has finished.<br>
+</p><p style="line-height: 100%;">The created data
+file can be used as
+input file for the plot software <span style="font-weight: bold;">AVS</span>
+although for parallel runs another step is necessary which is
+described at the end of this chapter. However, after starting <b>AVS</b>
+(by executing the command &ldquo;avs&rdquo;), these data file
+is not read
+immediately<font color="#000000">. First, the user has to
+load a
+suitable network (created by the
+network editor). This module usually contains the module</font>
+&ldquo;read
+field&rdquo;, which requires an input
+file in the so-called "fld-format", which in turn refers to the two
+files
+specified above (containing the volume data and coordinate
+informations) and describes their exact structure. This fld file is
+also generated by PALM by creating two different
+local files with the names <a href="chapter_3.4.html#PLOT3D_FLD">PLOT3D_FLD</a>
+and <a href="chapter_3.4.html#PLOT3D_FLD_COOR">PLOT3D_FLD_COOR</a>,
+which must be combined into one file by a so-called <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#chapter6.2">output
+command</a>: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">OC:[[ -f PLOT3D_FLD ]] &amp;&amp; cat PLOT3D_FLD_COOR &gt;&gt; PLOT3D_FLD</font></pre></ul>
+<p style="line-height: 100%;">The new file PLOT3D_FLD also
+needs a file
+connection statement: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">PLOT3D_FLD out:loc:tr avs ~/PLOT/$fname _fld fld</font></pre></ul>
+<p style="line-height: 100%;">The above <b>mrun </b>call
+then copies the local file <tt><font style="font-size: 10pt;" size="2">PLOT3D_FLD</font></tt>
+to the permanent file <tt><font style="font-size: 10pt;" size="2">~/PLOT/test/test_fld.fld</font>
+</tt><font face="Thorndale, serif">.</font> In
+this case the entry
+&ldquo;<tt><font style="font-size: 10pt;" size="2">fld</font></tt>&rdquo;
+in the sixth column of the file connection statement is
+very important because this ensures that the permanent file name gets
+the suffix &rdquo; <tt><font style="font-size: 10pt;" size="2">.fld</font></tt>
+".&nbsp; The <span style="font-weight: bold;">AVS</span>
+module &ldquo;read field&rdquo; expects all files to have this
+suffix. (Note: With
+this file
+connection statements files with cycle numbers receive the names
+&rdquo;<tt><font style="font-size: 10pt;" size="2">&hellip;
+_fld.&lt;number of cycle&gt;.fld</font></tt><font style="font-size: 10pt;" size="2">
+</font>".) </p>
+<p style="line-height: 100%;"><font color="#000000">The
+file
+connection statements must guarantee that all three permanent files
+(volume
+data, coordinates, fld file) lie in the same directory. The names of
+the volume data file and coordinate file may not be changed after
+creation of the files, since they are registered in the fld file and
+otherwise cannot be found </font>by the "read field" module.
+Sometimes
+it may happen<font color="#000000">
+that incorrect file names are registered into the fld file. In such
+cases the user must edit and correct the fld file accordingly. </font>
+</p><p style="line-height: 100%;"><font color="#800000"><font color="#000000">After
+<font color="#000000">the <span style="font-weight: bold;">AVS</span>
+module <font color="#000000">&ldquo;read
+fields&rdquo; </font>has </font>read in the data, the
+content of this
+file is listed in a separate <span style="font-weight: bold;">AVS</span>
+window where each quantity is represented by its name and output time.</font>
+</font></p><p style="line-height: 100%;">With
+parallel runs each PE outputs the
+volume data of its subdomain to a separate file with the name
+PLOT3D_DATA_&lt;processor-Id&gt;,
+whereby &lt;processor-Id&gt; is a four digit number (e.g.
+PLOT3D_DATA_0000). These files are not suitable for&nbsp; <b>AVS</b>,
+but after the end of a run they can be combined to one file readable by
+<span style="font-weight: bold;">AVS</span>. This is
+done via a
+further output command in the configuration file: </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">OC:[[$ ( echo $localhost | cut -c1-3 ) = ibmh ]] &amp;&amp; combine_plot_fields.x</font></pre></ul>
+<p style="line-height: 100%;">The program <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>
+collects the data from the individual processor files and outputs it
+into the local file <tt><font style="font-size: 10pt;" size="2">PLOT2D_DATA</font></tt>
+which can be processed by <span style="font-weight: bold;">AVS</span>.
+Using this call, possibly existing
+files of 2d cross sections (xy, xz, yz) are
+also combined.&nbsp;The tool writes
+informative messages about the actions accomplished into the job
+protocol, even if no files were found (i.e. the output command
+may remain in the configuration file, even if no appropriate files
+are created during the simulation). <span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span><tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span></tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span><tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span></tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span><tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span></tt><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"></span><br>
+</p><p style="line-height: 100%;">&nbsp;<b>Note:</b>
+<span style="font-weight: bold;">AVS</span> can
+process 64 arrays at maximum
+in one file (with vector representations even
+only 25). If more arrays should be output, surplus arrays must be
+removed from the fld file (see <a href="chapter_3.4.html#PLOT3D_FLD">PLOT3D_FLD</a>)
+manually. &nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_4.5.4.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.6.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;">&nbsp;<i>Last
+change:&nbsp;</i> $Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.6.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.6.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.6.html	(revision 393)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 4.5.6</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041029;13171001"> <meta name="CHANGED" content="20041117;12013945"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.6
+Plots of compressed
+3d volume data with AVS</font></h4>
+<p style="line-height: 100%;">Files containing 3d volume
+data usually
+need large amounts of disc space. For parallel runs, the disc space
+requirement can
+be clearly reduced if the data are output in compressed format (note:
+currently a data
+compression is permitted only for parallel runs on Cray-T3E). Data
+compression
+can switched on by setting the initialization parameter <a href="chapter_4.2.html#do3d_compress">do3d_compress</a>
+= <i>.TRUE.</i> and by assigning the desired accuracy
+(number of
+significant digits) via <a href="chapter_4.2.html#do3d_comp_prec">do3d_comp_prec</a>.
+A separate accuracy must be assigned for each individual quantity.
+Using uncompressed data, each grid point value is
+represented by a 32-bit real number, in case of compression the grid
+point values are represented by integers whose length depends
+on the desired accuracy (in general clearly smaller than 32 bits).
+The individual grid point values are packed into 32-bit integers and
+output. To plot these compressed data the following output command must
+be inserted into the
+<span style="font-weight: bold;">mrun</span>
+configuration file<b> </b>(in
+addition to the steps described
+in <a href="chapter_4.5.5.html">chapter
+4.5.5</a>): </p>
+<ul> <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">OC:[[ -f PLOT3D_COMPRESSED ]] &amp;&amp; tar cf PLOT3D_DATA PLOT3D_DATA_*</font></pre></ul>
+<p style="line-height: 100%;">If a file named <tt><font style="font-size: 10pt;" size="2">PLOT3D_COMPRESSED</font></tt>
+exists in the local working directory, <tt><font face="Thorndale, serif">t</font></tt><font face="Thorndale, serif">he
+files produ</font>ced by the individual processors are packed
+into one
+file (<tt><font style="font-size: 10pt;" size="2">PLOT3D_DATA</font></tt>)
+using the "tar"
+command. The flag file
+<tt><font size="2">PLOT3D_COMPRESSED </font></tt>is
+created by PALM
+whenever data in compressed form is to be output. For
+uncompressed output, the individual files have to be joined via the
+program <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font>
+</tt>. In this case, an additional output command is also
+necessary
+(see chapter 4.5.5). For compressed output, this output command may
+remain
+unchanged in the configuration file, since <tt><font style="font-size: 10pt;" size="2">combine_plot_fields.x</font></tt>
+recognizes the
+ex<font face="Thorndale, serif">isten</font>ce of <tt><font style="font-size: 10pt;" size="2">PLOT3D_COMPRESSED</font></tt>
+and carries out no actions in such cases. </p>
+<p style="line-height: 100%;">The file connection
+statements for the
+local file <a href="chapter_3.4.html#PLOT3D_DATA">PLOT3D_DATA</a>
+and all further necessary statements to create plots of 3d volume
+data can be found in <a href="chapter_4.5.5.html">chapter
+4.5.5</a>. </p>
+<p style="line-height: 100%;">After been transferred to
+the local
+computer
+of the user, the tar file with the compressed data cannot be read
+with the usual <span style="font-weight: bold;">AVS</span>
+module
+&ldquo;read field&rdquo;. Alternatively,
+the module &ldquo;read_compressed_field&rdquo; particularly
+developed
+for this purpose must be used. This module is located in a module
+library under: </p>
+<pre style="margin-bottom: 0.5cm; line-height: 100%;"><font style="font-size: 10pt;" size="2">http://www.muk.uni-hannover.de/~raasch/PALM_group/AVS/Libraries/palm</font></pre><p style="line-height: 100%;">This module must be loaded within
+AVS
+(network editor - &gt; module
+tools - &gt; read module library) and then it can be used like all
+other modules. <a href="http://www.muk.uni-hannover.de/institut/people/raasch/PALM_group/AVS/Doc/read_compressed_field.html">Further
+information</a> about using this module is available (e.g. for
+accelerated treatment of compressed data with <span style="font-weight: bold;">AVS</span> the module
+<a href="http://www.muk.uni-hannover.de/institut/people/raasch/PALM_group/AVS/Doc/write_compressed_field.html">write_compressed_field</a>
+is available). <br>
+&nbsp; <br>
+&nbsp; </p>
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_4.5.5.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.7.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;">&nbsp;<i>Last
+change:&nbsp;</i> $Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.7.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.7.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.7.html	(revision 393)
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 4.5.7</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041029;14344622"> <meta name="CHANGED" content="20050119;9531085"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head><body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.7
+Plots of
+isosurfaces, 2d cross sections and particles with dvrp</font></h4>
+<p style="line-height: 100%;"><span style="font-weight: bold;">Preliminary note:</span></p><p style="line-height: 100%;">Usage of the <span style="font-weight: bold;">dvrp</span>-software requires installation of additional software components (dvrp-library, streaming-server, browser-plugin) which are <span style="font-weight: bold;">not</span>
+part of the PALM distribution. Currently (May 2009), this software is
+only available on the the HLRN/IMUK system and partly on RIAM's NEC
+system. If you are interested in using <span style="font-weight: bold;">dvrp</span> on your system, please contact the PALM developers.</p><br><span style="font-weight: bold;">General remarks:</span><p style="line-height: 100%;">The <span style="font-weight: bold;">dvrp</span>
+software was originally developed by the RRZN
+(Stephan Olbrich, Carsten Chmielewski) and is meanwhile continuosly developed and improved under the name <span style="font-weight: bold;">dsvr</span> by the University of Düsseldorf (Prof. Stephan Olbrich, see webpage of the <a href="http://www.dsvr-software.de/">dsvr-software</a>). It allows to create 3d-animations with PALM,
+which can be displayed via a special plugin for internet browsers. With
+suitable graphic hardware (e.g. NVIDIA quattro FX cards) even stereoscopic views are
+possible.</p><p style="line-height: 100%;">
+In contrast to the other kinds of visualization output realized
+in PALM (1d-, 2d-, 3d-NetCDF output),
+where the data
+is output in a format suitable for many kinds of post-processing graphic software, the creation of animations via <span style="font-weight: bold;">dvrp</span>
+software is
+integrated in PALM, i.e. respective routines are directly called within
+the PALM code. The
+<span style="font-weight: bold;">dvrp</span>
+routines then output the
+graphic data
+(so-called plot-primitives, e.g. polygones of isosurfaces) in a special
+dvr format. Since the <span style="font-weight: bold;">dvrp</span>
+software is parallelized (i.e. each PE calculates the graphic data for
+its subdomain), the visualization of simulations with very
+large numbers of grid points is possible (which so far failed because
+of
+several problems: volume of the raw data, which rapidly may sum-up to
+several Terabytes; main memory size needed for graphic workstations, on
+which the visualization is to be carried out; the insufficient scalar
+(!)
+computing speed of commercial graphic software in case of such
+large numbers of grid points). </p>
+<p style="line-height: 100%;">The coupling of <span style="font-weight: bold;">dvrp</span> software and
+PALM
+as well as the visualization of the model results via <span style="font-weight: bold;">dvrp</span> has been
+the main focus of the BMBF project "Application of
+tele-immersion in long-distance networks" (2001-2002),
+which was a joint project of RRZN, ZIB and IMUK. This work was
+continued by RRZN in the DFG-funded project "<a href="http://www.rrzn.uni-hannover.de/evita.html">EVITA</a> - Untersuchung
+effizienter
+Methoden zur visuellen und haptischen tele-immersiven
+Exploration
+komplexer Volumen- und Strömungsdaten aus
+parallelisierten,
+dynamischen 3D-Simulationen" (2005-2007). </p>
+<p style="line-height: 100%;"></p><p style="line-height: 100%;"><span style="font-weight: bold;">Using dvrp with PALM:</span></p><p style="line-height: 100%;">The calls of the <span style="font-weight: bold;">dvrp</span> routines are
+contained within a
+PALM software package (see chapter <a href="chapter_3.7.html">3.7</a>).
+To use this package, the additional option<tt style="font-family: monospace;"> </tt><font style="font-family: Courier New,Courier,monospace;" size="2">-p
+<span style="font-family: Helvetica,Arial,sans-serif;"></span>dvrp_graphics<span style="font-family: Helvetica,Arial,sans-serif;"></span></font><span style="font-family: monospace;">
+</span>has to be given in the <b>mrun</b> call. This
+automatically links the
+required libraries.
+Steering of the plot output is done via the package
+parameters (see chapter <a href="chapter_4.2.html">4.2</a>).
+In contrast to all other PALM output, <span style="font-weight: bold;">dvrp</span>
+graphic
+data are not output to local files but directly to a special remote
+computer which is defined via the package parameter <a href="chapter_4.2.html#dvrp_host">dvrp_host</a>. If the default values of the dvrp parameters are used, data are send to a so-called <span style="font-style: italic;">streaming server</span> at the
+RRZN. Apart from graphic data an additional html file is created, which
+can be opened by an internet browser to view the data (a special <span style="font-weight: bold;">dvrp</span> plugin is required for this).</p><p style="line-height: 100%;"></p><p style="line-height: 100%;"><span style="font-weight: bold;">Quickstart guide for using dvrp on the HLRN/IMUK-System (May 2009):</span></p><p style="line-height: 100%;">In the following, please replace the string<span style="font-family: Courier New,Courier,monospace; font-weight: bold;"> &lt;UNAME&gt; </span>with your IMUK username, wherever it appears. Please also replace the string<span style="font-family: Courier New,Courier,monospace;"><span style="font-weight: bold;"> &lt;UDIR&gt;</span> </span>with a subdirectory name of your choice. <span style="font-weight: bold;"></span> </p>
+<ol><li>
+Add the following define statements for environment variables to the configuration file (<span style="font-family: Courier New,Courier,monospace;">.mrun.config</span>):<br><br><span style="font-family: Courier New,Courier,monospace;"></span><span style="font-family: Courier New,Courier,monospace;"> &nbsp; &nbsp;%dvr_inc&nbsp;&nbsp;
+-I/home/h/niksiraa/dvr_mvapich2/lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcsgih parallel</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;%dvr_lib&nbsp;&nbsp;&nbsp;-L/home/h/niksiraa/dvr_mvapich2/lib:-lDVRP2:-lftp&nbsp; &nbsp; lcsgih
+parallel</span><br><br><br></li><li>Add the dvrp-steering parameters to your NAMELIST-parameter file, e.g.<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp;&amp;d3par &nbsp;end_time = 3600.0,<br>&nbsp; ... &nbsp; &nbsp; /<br><br>&nbsp;&amp;dvrp_graphics_par &nbsp; dvrp_username = '<span style="font-weight: bold;">&lt;UNAME&gt;</span>',<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dvrp_host = '130.75.105.2',<br>&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+dvrp_directory = '<span style="font-weight: bold;">&lt;UNAME&gt;</span>/<span style="font-weight: bold;">&lt;UDIR&gt;</span>', ... /<br></span><br>For other dvrp-parameters see <a href="chapter_4.2.html#Paketparameter">chapter 4.2</a>. An example parameter file can be found in directory <span style="font-family: Courier New,Courier,monospace;">..../trunk/EXAMPLES/dvr &nbsp;</span>.<span style="font-family: Courier New,Courier,monospace;"><br><br></span></li><li>On the IMUK-system, create a subdirectory in which the dvrp-data are stored and give it access permit for group <span style="font-style: italic;">palm</span>.<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;mkdir /data/raasch/Dvrp_daten/<span style="font-weight: bold;">&lt;UNAME&gt;<br>
+</span>&nbsp;&nbsp; chmod g+rwx</span><span style="font-family: Courier New,Courier,monospace;"> /data/raasch/Dvrp_daten/<span style="font-weight: bold;">&lt;UNAME&gt;</span></span><br><br>This directory has to be created only once, before dvrp is used for the first time.<br>
+<br></li><li>Submit the job&nbsp; with <span style="font-weight: bold;">mrun</span>-command<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;mrun .... -p dvrp_graphics ....</span><br><br></li><li><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;">After the job has finished, the dvrp-output can be found on the IMUK-cluster in a subdirectory under <span style="font-family: Courier New,Courier,monospace;">/data/raasch/Dvrp_daten</span>. The name of the subdirectory is determined by the dvrp-parameter <a href="chapter_4.2.html#dvrp_directory">dvrp_directory</a> (see above), i.e. if the user has set <span style="font-family: Courier New,Courier,monospace;">dvrp_directory</span> = <span style="font-style: italic;">'<span style="font-weight: bold;">&lt;UNAME&gt;</span>/movie_1'</span>, the dvrp-data are stored under&nbsp;<span style="font-family: Courier New,Courier,monospace;">/data/raasch/Dvrp_daten/<span style="font-weight: bold;">&lt;UNAME&gt;</span>/movie_1</span>.<br><br></span></span></li><li><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;">Change to this subdirectory (e.g. </span></span><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;"><span style="font-family: Courier New,Courier,monospace;">/data/raasch/Dvrp_daten/&lt;UNAME&gt;/movie_1</span></span></span><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;">) and enter the command<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;process_dvr_output</span><br><br>It will create a file with name <span style="font-family: Courier New,Courier,monospace;">all_streams_streaming.html</span>.<br><br></span></span></li><li><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;">Call the opera-browser (i.e. enter the command <span style="font-family: Courier New,Courier,monospace;">opera</span>) and open the file </span></span><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;"><span style="font-family: Courier New,Courier,monospace;">all_streams_streaming.html</span>.</span></span><span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;"></span><br></span><br></li></ol><span style="font-weight: bold;">Further features:<br></span>The script<span style="font-family: Courier New,Courier,monospace;"> process_dvr_output </span>has additional options:<br><br><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">-s</span> &nbsp; &nbsp; : <span style="font-weight: bold;">create sequence output</span>.
+All streams (and static scenes) are collected to one sequence (one
+static scene), which can be displayed with a browser without using the
+streaming server (the so-called sequence mode). This allows e.g. to
+show animations on a notebook without beeing connected to the internet.
+When the script is called with this option, the sequence is generated
+in subdirectory sequence_data. Copy this subdirectory and the file
+all_streams_sequence.html to a directory on your local computer and
+open the file all_streams_sequence.html with your browser. For this,
+you will need to install the the dvr-plugin (see webpage of the <a href="http://www.dsvr-software.de/">dsvr-software</a>) on your local computer, which is also available for Windows.<br><br><span style="font-weight: bold;">-a</span> &nbsp; &nbsp; &nbsp;: <span style="font-weight: bold;">acceleration factor</span>. If, in case of sequence mode, the performance of the animation is to slow, you can accelerate it. E.g., by using <span style="font-family: Courier New,Courier,monospace;">"-a 2</span>", only every second frame of the original streams will be used for the sequence.<br><br><br><br><br><span style="font-weight: bold;">Current limitations (May 09):</span><br>Only a special opera-version on host "bora" can be used. Log-in on "bora" and call &nbsp;<span style="font-family: Courier New,Courier,monospace;">/usr/bin/opera</span>. <span style="font-weight: bold;">Before that(!!!)</span>, enter the command "<span style="font-family: Courier New,Courier,monospace;">export LD_PRELOAD=libXm.so</span>" !
+<hr><p style="line-height: 100%;"><br>
+<font color="#000080"><font color="#000080"><a href="chapter_4.5.6.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.6.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;">&nbsp;<i>Last
+change:&nbsp;</i> $Id$</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.5.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.5.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.5.html	(revision 393)
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 4.5</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041015;12234229"> <meta name="CHANGED" content="20041022;13412723"> <meta name="KEYWORDS" content="parallel LES model"> <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">4.5 Data analysis and
+visualization<br>
+</h3><p style="line-height: 100%;">PALM is able to
+output
+data of different quantities as time series,
+vertical profiles (usually horizontally averaged), two-dimensional
+cross sections or <font color="#000000">3d-volume data.</font>
+Depending on the kind of output (time series, profiles, etc.) and the
+output format (ASCII&nbsp; or binary) data are written
+to different files (file descriptions can be found in
+<a href="../app/chapter_3.4.html">chapter
+3.4</a>). By default, all data
+output files are in NetCDF format (link to the NetCDF documentations in
+the Internet and on the PALM homepage), which can be processed by many
+public domain and commercial (graphic) software. Data from NetCDF files
+can also be easily read from FORTRAN programs provided that a NetCDF
+library is available. More detailed informations about the
+PALM-NetCDF-output is given in the next subchapter (<a href="../app/chapter_4.5.1.html">4.5.1</a>).</p>
+<p style="line-height: 100%;">Due to historical reasons,
+PALM can also
+output data in other formats suitable for some special graphic
+software. The exact format of these files corresponds to the
+requirements of the respective software. Still available at IMUK are <a href="http://www.muk.uni-hannover.de/institut/software/profil_beschreibung.html">profil</a>
+(time series, profiles), <a href="http://www.muk.uni-hannover.de/institut/software/iso2d_beschreibung.html">iso2d</a>
+(2d cross sections) and <b>AVS</b> (e.g. iso-surfaces of
+3d volume
+data). The special files created by PALM can be directly used
+as input files for these plot programs. Beyond that, <b>profil</b>
+and
+<b>iso2d</b> need additional information
+about the plot layout (e.g. titles, axes labels, arrangement of the
+coordinate systems, etc.) provided by so-called parameter files<font color="#800000">.
+</font><font color="#000000">Thes</font>e
+files are also created by
+the PALM, providing a default layout (e.g. plots produced by <b>iso2d</b>
+show. only isolines and no color shading). Within certain
+limits the plot layout can be steered by some PALM parameters.
+Beyond that the user can edit the parameter files created by PALM and
+change, supplement or remove the given default values
+according to his needs. Beside the file with the (binary) data to be
+visualized, <b>AVS</b> additionally needs a file with
+coordinate information (likewise binary) and an ASCII file in the
+so-called FLD format, which describes the structure of the two binary
+files. Coordinate and FLD file are also created by the PALM. However,
+with <b>AVS</b> (differently than with <b>profile</b>
+or <b>iso2d</b>)
+the plot layout must always be additionally designed by the user
+with the help of the AVS network editor. &nbsp;</p>
+<p style="line-height: 100%;">In the following
+subchapters, steering
+of the different data output and how to create plots of the data is
+described by some examples. Not all details of steering
+are mentioned. If necessary, these can be found within the
+description of the respective parameters.<br>
+</p>&nbsp;For most purposes it should be sufficient to read <a href="../app/chapter_4.5.1.html">chapter 4.5.1</a>
+which explains the PALM-NetCDF-output.<hr>
+<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.4.2.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" src="left.gif" name="Grafik1"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.1.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
+<p style="line-height: 100%;">&nbsp;<span style="font-style: italic;">Last
+change:</span> $Id$<br>
+</p></body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_4.6.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_4.6.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_4.6.html	(revision 393)
@@ -0,0 +1,15432 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+
+
+
+
+  
+  
+  
+  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
+
+
+
+  
+ 
+  
+  
+  
+  
+  
+  
+  <title>PALM chapter 4.6</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
+
+
+
+ 
+  
+  
+  
+  <meta name="AUTHOR" content="Marcus Oliver Letzel">
+
+
+
+ 
+  
+  
+  
+  <meta name="CREATED" content="20041103;9554421">
+
+
+
+ 
+  
+  
+  
+  <meta name="CHANGED" content="20041117;12591937">
+
+
+
+ 
+  
+  
+  
+  <meta name="KEYWORDS" content="parallel LES model">
+
+
+
+ 
+  
+  
+  
+  <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+  </style></head>
+<body style="direction: ltr;" lang="en-US">
+
+
+
+<h3>4.6
+Listing of the steering parameters in alphabetical order<br>
+
+
+
+
+</h3>
+
+
+
+<p style="margin-bottom: 0cm;">Initialization
+parameters
+(class = I),
+run parameters (R), package parameters (P) as well as user-defined
+parameters (U) are alphabetically listed in the following table. <br>
+
+
+
+
+&nbsp;
+</p>
+
+
+
+<p style="margin-bottom: 0cm;" align="center"><br>
+
+
+
+
+</p>
+
+
+
+<table style="width: 100%;" border="1" cellpadding="2" cellspacing="4">
+
+
+
+ <col width="38*">
+  <col width="12*"> <col width="18*"> <col width="42*"> <col width="146*"> <tbody>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <h3><b>Parameter name</b></h3>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%"> 
+      
+      
+      
+      <h3>Class</h3>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%">
+      
+      
+      
+      <h3>Type</h3>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <h3>Default<br>
+
+
+
+
+value</h3>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <h3>Explanation</h3>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#adjust_mixing_length"><b>adjust_mixing_length</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Near-surface
+adjustment of the
+mixing length to the Prandtl-layer law.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#alpha_surface"><b>alpha_surface</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Inclination
+of the model domain
+with respect to the horizontal (in degrees).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#averaging_interval"><span style="font-weight: bold;">averaging_interval</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">0.0</span></td>
+
+
+
+ <td>Averaging
+interval for all&nbsp;output of temporally averaged data (in s).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#averaging_interval_pr"><b>averaging_interval_pr</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><span style="font-style: italic;">value of <a href="chapter_4.2.html#averaging_interval">averaging_<br>
+
+
+
+
+interval</a></span></td>
+
+
+
+ <td style="width: 57%; text-align: left; vertical-align: middle;">
+Averaging interval for vertical profiles&nbsp;output to local
+file <font color="#000000"><font color="#000000"><a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>
+      </font></font>and/or&nbsp; <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>
+(in s).&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#averaging_interval_sp"><b>averaging_interval_sp</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><span style="font-style: italic;">value of <a href="chapter_4.2.html#averaging_interval">averaging_<br>
+
+
+
+
+interval</a></span></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">Averaging
+interval for spectra output to local
+file <font color="#000000"><font color="#000000"><a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a>
+      </font></font>and/or&nbsp; <a href="chapter_3.4.html#PLOTSP_X_DATA">PLOTSP_X_DATA</a>
+/ &nbsp;&nbsp; <a href="chapter_3.4.html#PLOTSP_Y_DATA">PLOTSP_Y_DATA</a>
+(in s).&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_e_b"><b>bc_e_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'neumann'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the
+TKE. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#bc_lr"><b>bc_lr</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C * 20<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">&acute;cyclic&acute;</span><br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;">Boundary
+condition along x (for all quantities).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;"><b><b><a href="chapter_4.1.html#bc_ns"><b>bc_ns</b></a></b></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C * 20</td>
+
+
+
+ <td style="vertical-align: middle;"><span style="font-style: italic;">'cyclic'</span></td>
+
+
+
+
+      <td style="vertical-align: middle;">Boundary
+condition along y (for all quantities).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_p_b"><b>bc_p_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'neumann'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the
+perturbation pressure. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_p_t"><b>bc_p_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top boundary condition of the
+perturbation pressure. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#bc_par_b"><b>bc_par_b</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C*15</td>
+
+
+
+ <td style="vertical-align: middle;"><i>&acute;reflect&acute;</i></td>
+
+
+
+
+      <td style="vertical-align: middle;"> 
+      
+      
+      
+      <p>Bottom
+boundary condition for particle transport. </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#bc_par_lr"><b>bc_par_lr</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C*15</td>
+
+
+
+ <td style="vertical-align: middle;"><i>&acute;cyclic&acute;</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Lateral boundary
+condition
+(x-direction) for particle
+transport.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#bc_par_ns"><b>bc_par_ns</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C*15</td>
+
+
+
+ <td style="vertical-align: middle;"><i>&acute;cyclic&acute;</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Lateral boundary
+condition
+(y-direction) for particle
+transport.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#bc_par_t"><b>bc_par_t</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">C*15</td>
+
+
+
+ <td style="vertical-align: middle;"><i>&acute;absorb&acute;</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Top boundary
+condition for
+particle transport.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_pt_b"><b>bc_pt_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the
+potential temperature. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#pc_pt_t"><b>bc_pt_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'initial_gradient'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top boundary condition of the
+potential temperature. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_q_b"><b>bc_q_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the
+specific humidity / total water content. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_q_t"><b>bc_q_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'neumann'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top boundary condition of the
+specific humidity / total water content. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_s_b"><b>bc_s_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the
+scalar concentration. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_s_t"><b>bc_s_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>&acute;neumann&acute;</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top boundary condition of the
+scalar concentration. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#bc_sa_t"><span style="font-weight: bold;">bc_sa_t</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">C * 20</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">'neumann'</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Top boundary condition of the salinity.&nbsp;</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_uv_b"><b>bc_uv_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom boundary condition of the horizontal wind
+components u
+and v.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#bc_uv_t"><b>bc_uv_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'dirichlet'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top boundary condition of the
+horizontal velocity components u and v.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#bottom_salinityflux"><span style="font-weight: bold;">bottom_salinityflux</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Kinematic salinity flux near the surface (in psu m/s).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="font-weight: bold;"><a href="chapter_4.1.html#building_height">building_height</a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td style="font-style: italic;">50.0</td>
+
+
+
+ <td>Height
+of a single building in m.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="font-weight: bold;"><a href="chapter_4.1.html#building_length_x">building_length_x</a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td style="font-style: italic;">50.0</td>
+
+
+
+ <td>Width
+of a single building in m.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="font-weight: bold;"><a href="chapter_4.1.html#building_length_y">building_length_y</a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td style="font-style: italic;">50.0</td>
+
+
+
+ <td>Depth
+of a single building in m.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="font-weight: bold; vertical-align: middle;"><a href="chapter_4.1.html#building_wall_left">building_wall_left</a></td>
+
+
+
+
+      <td style="vertical-align: middle;">I</td>
+
+
+
+ <td style="vertical-align: middle;">R</td>
+
+
+
+ <td style="font-style: italic;"><span style="font-style: italic;">building centered in x-direction</span></td>
+
+
+
+
+      <td style="vertical-align: middle;">x-coordinate of the
+left building wall in m.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="font-weight: bold; vertical-align: middle;"><a href="chapter_4.1.html#building_wall_south">building_wall_south</a></td>
+
+
+
+
+      <td style="vertical-align: middle;">I</td>
+
+
+
+ <td style="vertical-align: middle;">R</td>
+
+
+
+ <td style="font-style: italic;"><span style="font-style: italic;">building centered in y-direction</span></td>
+
+
+
+
+      <td style="vertical-align: middle;">y-coordinate of the
+South building wall&nbsp;in m.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#call_psolver_at_all_substeps"><b>call_psolver_at_all_substeps</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">L<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">.T..</span><br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">Switch
+to steer the call of the pressure solver.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><b><b><a href="chapter_4.2.html#fcl_factor"><b>canopy_mode</b></a></b></b></td>
+      <td>I</td>
+      <td>C * 20</td>
+      <td><span style="font-style: italic;">'block'</span></td>
+      <td>Canopy mode</td>
+    </tr>
+    <tr><td style="font-weight: bold;"><a href="chapter_4.1.html#canyon_height">canyon_height</a></td><td>I</td><td>R</td><td style="font-style: italic;">50.0</td><td>Street canyon height
+in m.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#canyon_width_x">canyon_width_x</a></td><td>I</td><td>R</td><td style="font-style: italic;">9999999.9</td><td>Street canyon width in x-direction in m.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#canyon_width_y">canyon_width_y</a></td><td>I</td><td>R</td><td style="font-style: italic;">9999999.9</td><td>Street canyon width in y-direction in m.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#canyon_wall_left">canyon_wall_left</a></td><td>I</td><td>R</td><td style="font-style: italic;">canyon centered in x-direction</td><td>x-coordinate of the left canyon wall&nbsp;in m.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#canyon_wall_south">canyon_wall_south</a></td><td>I</td><td>R</td><td style="font-style: italic;">canyon centered in y-direction</td><td>y-coordinate of the South canyon wall&nbsp;in m.</td></tr><tr>
+
+
+
+
+      <td><b><a href="chapter_4.2.html#fcl_factor"><b>cfl_factor</b></a></b></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><i>0.1,
+0.8&nbsp;or 0.9 </i>(see parameter description)</td>
+
+
+
+ <td>Time
+step limiting factor.</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_l"><span style="font-weight: bold;">clip_dvrp_l</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span></td><td align="undefined" valign="undefined">Left boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_n"><span style="font-weight: bold;">clip_dvrp_n</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">(ny+1)*dy</span></td><td align="undefined" valign="undefined">North boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_r"><span style="font-weight: bold;">clip_dvrp_r</span></a></td><td align="undefined" valign="undefined">P</td><td style="font-style: italic;" align="undefined" valign="undefined">R</td><td style="font-style: italic;" align="undefined" valign="undefined">(nx+1)*dx</td><td align="undefined" valign="undefined">Right boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_s"><span style="font-weight: bold;">clip_dvrp_s</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined">0.0</td><td align="undefined" valign="undefined">South boundary of the displayed domain (in m).</td></tr><tr>
+
+
+
+ <td style="vertical-align: top;"><a href="chapter_4.1.html#cloud_droplets"><span style="font-weight: bold;">cloud_droplets</span></a><br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: top;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: top;">L<br>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: top;">Parameter to switch
+on usage of cloud droplets.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#cloud_physics"><b>cloud_physics</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to switch on the condensation scheme. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr><td><a href="chapter_4.2.html#cluster_size"><span style="font-weight: bold;">cluster_size</span></a></td><td>P</td><td>I</td><td><span style="font-style: italic;">1</span></td><td>Vertex cluster size for polygon reduction of topography.</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#color_interval"><span style="font-weight: bold;">color_interval</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(2)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span></td><td align="undefined" valign="undefined">Interval of values used for determining the particle color displayed in the animation.</td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#comp_spectra_level"><b>comp_spectra_level</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I
+(100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>no level</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Vertical level for which horizontal spectra are to be
+calculated and output (gridpoints).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.1.html#conserve_volume_flow"><span style="font-weight: bold;">conserve_volume_flow</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td>Conservation
+of volume flow in x- and y-direction.</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td><a href="chapter_4.1.html#conserve_volume_flow_mode"><span style="font-weight: bold;">conserve_volume_flow_mode</span></a></td><td>I</td><td>C * 16</td><td><span style="font-style: italic;">'default'</span></td><td>Modus of volume flow conservation.</td></tr><tr>
+
+      <td><b><b><a href="chapter_4.1.html#coupling_start_time"><b>coupling_start_time</b></a></b></b></td>
+      <td>I</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Simulation time of a precursor run..</td>
+    </tr>
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#create_disturbances"><b>create_disturbances</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Switch
+to impose random perturbations to the horizontal
+velocity field. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#cross_normalized_x"><b>cross_normalized_x</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10 (100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>100
+* ' '</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Type
+of normalization applied to the x-coordinate of
+vertical
+profiles to be plotted with <span style="font-weight: bold;">profil</span>.</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#cross_normalized_y"><b>cross_normalized_y</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10&nbsp; <br>
+
+
+
+
+(100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>100 * ' '</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Type of normalization applied to the y-coordinate of
+vertical
+profiles to be plotted with <span style="font-weight: bold;">profil</span>.
+      <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#cross_profiles"><b>cross_profiles</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 100 (100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p>see
+parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Determines
+which vertical profiles are to be presented
+in
+which coordinate system if the plot software <span style="font-weight: bold;">profil</span> is
+used.&nbsp; <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#cross_xtext"><b>cross_xtext</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 40&nbsp; <br>
+
+
+
+
+&nbsp;(100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p>see
+parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>x-axis
+labels of vertical profile coordinate systems to
+be
+plotted with <span style="font-weight: bold;">profil</span>.
+      <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><b><b><a href="chapter_4.1.html#cthf"><b>cthf</b></a></b></b></td>
+      <td>R</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Average heat flux that is prescribed at the top of the plant canopy (in K m/s).</td>
+    </tr>
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#cut_spline_overshoot"><b>cut_spline_overshoot</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Cut
+off of so-called overshoots, which can occur with
+the upstream-spline-scheme.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#cycle_mg"><b>cycle_mg</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 1</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'w'</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%">Type
+of cycle to
+be used with the multi-grid
+method.&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#damp_level_1d"><b>damp_level_1d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>zu(nz+1)</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Height
+where the damping layer begins in the 1d-model
+(in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#data_output"><span style="font-weight: bold;">data_output</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>C * 10 (100)</td>
+
+
+
+ <td><span style="font-style: italic;">100 * &acute; &acute;</span></td>
+
+
+
+
+      <td>Quantities for which 2d cross section and/or 3d volume data
+are to be output.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#data_output_format"><span style="font-weight: bold;">data_output_format</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>C * 10 (10)</td>
+
+
+
+ <td><span style="font-style: italic;">'netcdf'</span></td>
+
+
+
+
+      <td>Format of output data.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#data_output_pr"><span style="font-weight: bold;">data_output_pr</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>C * 10 (100)</td>
+
+
+
+ <td><span style="font-style: italic;">100 * ' '</span></td>
+
+
+
+
+      <td>Quantities for which vertical profiles (horizontally
+averaged)
+are to be output.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a href="chapter_4.3.html#data_output_pr_user"><span style="font-weight: bold;">data_output_pr_user</span></a></td>
+
+
+
+      <td>U</td>
+
+
+
+      <td>C * 10<br>
+
+
+
+(200)</td>
+
+
+
+      <td><span style="font-style: italic;">200 * ' '</span></td>
+
+
+
+      <td>User defined quantities for which horizontally averaged profile data is to be output.</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#data_output_sp"><span style="font-weight: bold;">data_output_sp</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>C * 10 (10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * ' '</span></td>
+
+
+
+
+      <td>Quantities for which horizontal spectra are to be calculated
+and output.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.3.html#data_output_user"><span style="font-weight: bold;">data_output_user</span></a></td>
+
+
+
+
+      <td>U</td>
+
+
+
+ <td>C * 10 (100)</td>
+
+
+
+ <td><span style="font-style: italic;">100 * ' '</span></td>
+
+
+
+
+      <td>User defined quantities for which 2d cross section and/or 3d
+volume data are to be output.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#data_output_2d_on_each_pe"><span style="font-weight: bold;">data_output_2d_on_each_pe</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.T.</span></td>
+
+
+
+ <td>Output
+2d cross section data by one or
+all processors.&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#density_ratio"><b>density_ratio</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>0.0, 9</i> * <i>9999999.9</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Ratio of the density of the fluid and the density of the
+particles.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#dissipation_1d"><span style="font-weight: bold;">dissipation_1d</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>C * 20</td>
+
+
+
+ <td><span style="font-style: italic;">'as_in_3d_model'</span></td>
+
+
+
+
+      <td>Calculation method for the energy dissipation term in the TKE
+equation of the 1d-model.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#disturbance_amplitude"><b>disturbance</b></a>&nbsp;&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#disturbance_amplitude">&nbsp;<b>_amplitude</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.25</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Maximum
+perturbation amplitude of the random
+perturbations
+imposed to the horizontal velocity field (in m/s). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#disturbance_energy_limit"><b>disturbance_energy</b></a>&nbsp;&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#disturbance_energy_limit">&nbsp;<b>_limit</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.01</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB">Upper limit value of the
+perturbation energy of
+the velocity field used as a criterion for imposing random
+perturbations (in m<sup>2</sup>/s<sup>2</sup>).&nbsp;</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#disturbance_level_b"><b>disturbance_level_b</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>zu(3) or zu(nz*2/3)</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale, serif"><font size="3">Lower
+limit of the vertical range for which random perturbations are to be
+imposed on the horizontal wind field (</font></font>in <font face="Thorndale, serif"><font size="3">m).&nbsp;
+      </font></font> </p>
+
+
+
+ <span lang="en-GB"></span></td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#disturbance_level_t"><b>disturbance_level_t</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>zu(nz/3) or zu(nzt-3)</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale, serif"><font size="3">Upper
+limit of the vertical range for which random perturbations are to be
+imposed on the horizontal wind field (</font></font>in <font face="Thorndale, serif"><font size="3">m). <br>
+
+
+
+
+      </font></font></p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td><a href="chapter_4.2.html#do2d_at_begin"><span style="font-weight: bold;">do2d_at_begin</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td>Output
+2d cross section data by one or
+all processors.&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#do3d_at_begin"><span style="font-weight: bold;">do3d_at_begin</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td>Output
+of 3d volume data at the beginning
+of a run.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#do3d_compress"><span style="font-weight: bold;">do3d_compress</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td>Output
+of data for 3d plots in compressed form.&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#do3d_comp_prec"><span style="font-weight: bold;">do3d_comp_prec</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>C * 7 (100)</td>
+
+
+
+ <td>see
+parameter description</td>
+
+
+
+ <td>Significant digits in case
+of compressed data output.&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td style="font-weight: bold;"><a href="chapter_4.1.html#dp_external">dp_external</a></td><td>R</td><td>L</td><td style="font-style: italic;">.F.</td><td>External pressure gradient switch.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#dp_smooth">dp_smooth</a></td><td>R</td><td>L</td><td style="font-style: italic;">.F.</td><td>Vertically smooth the external pressure gradient using a sinusoidal smoothing function.</td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#dp_level_b">dp_level_b</a></td><td>R</td><td>R</td><td style="font-style: italic;">0.0</td><td><font size="3">Lower
+limit of the vertical range for which the external pressure gradient is applied (</font>in <font size="3">m).</font></td></tr><tr><td style="font-weight: bold;"><a href="chapter_4.1.html#dpdxy">dpdxy</a></td><td>R</td><td>R (2)</td><td style="font-style: italic;">2 * 0.0</td><td>Values of the external pressure gradient applied in x- and y-direction, respectively (in Pa/m).<br></td></tr><tr>
+      <td><a href="chapter_4.1.html#drag_coefficient"><span style="font-weight: bold;">drag_coefficient</span></a></td>
+      <td>I</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Drag coefficient used in the plant canopy model.</td>
+    </tr>
+    <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dt"><b>dt</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I/R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>variable</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p><font face="Thorndale, serif"><font size="3">Time
+step for the 3d-model (</font></font>in <font face="Thorndale, serif"><font size="3">s). <br>
+
+
+
+
+      </font></font></p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td><a href="chapter_4.2.html#dt_averaging_input"><span style="font-weight: bold;">dt_averaging_input</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">0.0</span></td>
+
+
+
+ <td>Temporal
+interval of&nbsp;data which are subject to temporal averaging (in
+s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_averaging_input_pr"><b>dt_averaging_input_pr</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><span style="font-style: italic;">value of <a href="chapter_4.2.html#dt_averaging_input">dt_<br>
+
+
+
+
+averaging_<br>
+
+
+
+
+input</a></span></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">Temporal
+interval of&nbsp;data which are subject to temporal averaging of <font face="Thorndale, serif"><font size="3">vertical
+profiles and/or spectra&nbsp;(</font></font>in <font face="Thorndale, serif"><font size="3">s).&nbsp;</font></font></td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a style="font-weight: bold;" href="chapter_4.2.html#dt_coupling">dt_coupling</a></td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined">9999999.9</td>
+
+
+
+      <td align="undefined" valign="undefined">Temporal interval for the data exchange in case of runs with coupled models (e.g. atmosphere - ocean) (in s).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#dt_data_output"><span style="font-weight: bold;">dt_data_output</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font>
+at which&nbsp;data (3d volume data (instantaneous or time
+averaged),
+cross sections (instantaneous or time averaged), vertical profiles,
+spectra) shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#dt_data_output_av"><span style="font-weight: bold;">dt_data_output_av</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font>
+at which time averaged 3d volume data and/or 2d cross section data
+shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_disturb"><b>dt_disturb</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>9999999.9</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which random
+perturbations are to be imposed on the horizontal velocity field
+(</font>in <font face="Thorndale">s). <br>
+
+
+
+ </font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#dt_dopr"><span style="font-weight: bold;">dt_dopr</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td><span lang="en-GB"><font face="Thorndale">Temporal interval at
+which data&nbsp;of vertical profiles shall be output (to local
+file <a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>
+or/and </font></span><a href="chapter_3.4.html#PLOT1D_DATA"><span lang="en-GB"><font face="Thorndale">PLOT1D_DATA</font></span></a><span lang="en-GB"><font face="Thorndale">) (</font></span>in
+      <span lang="en-GB"><font face="Thorndale">s).&nbsp;</font></span></td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#dt_dopr_listing"><span style="font-weight: bold;">dt_dopr_listing</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td> 
+      
+      
+      
+      <p><span lang="en-GB"><font face="Thorndale, serif">Temporal
+interval</font> at which data <font face="Thorndale">of
+vertical
+profiles shall be output (output for printouts, local file </font></span><a href="chapter_3.4.html#LIST_PROFIL"><span lang="en-GB"><font face="Thorndale">LIST_PROFIL</font></span></a><span lang="en-GB"><font face="Thorndale">) (</font></span>in
+      <span lang="en-GB"><font face="Thorndale">s).&nbsp;</font></span>
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td align="undefined" valign="undefined"><a href="chapter_4.2.html#dt_dopts"><span style="font-weight: bold;">dt_dopts</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">P</td>
+
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td align="undefined" valign="undefined"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which time series data of particle quantities
+shall be output (</font>in <font face="Thorndale">s).&nbsp;</font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_dosp"><b>dt_dosp</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">Temporal
+interval at which&nbsp;spectra data shall be output
+(in s).&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_dots"><b>dt_dots</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which&nbsp;time series data shall be output (</font>in <font face="Thorndale">s). <br>
+
+
+
+ </font></p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_do2d_xy"><b>dt_do2d_xy</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which horizontal cross section data shall be output (</font>in <font face="Thorndale">s). <br>
+
+
+
+ </font></p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_do2d_xz"><b>dt_do2d_xz</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which vertical cross section data (xz) shall be output&nbsp;(</font>in
+      <font face="Thorndale">s). <br>
+
+
+
+ </font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_do2d_yz"><b>dt_do2d_yz</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which vertical cross section data (yz)&nbsp;shall be
+output&nbsp;(</font>in s<font face="Thorndale">).</font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_do3d"><b>dt_do3d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_data_output">dt_data_<br>
+
+
+
+
+output</a></i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which 3d volume data shall be output (</font>in <font face="Thorndale">s). <br>
+
+
+
+ </font></p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><b><a href="chapter_4.2.html#dt_dvrp"><b>dt_dvrp</b></a></b></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td>Temporal interval of scenes to be displayed with the <span style="font-weight: bold;">dvrp</span> software (in
+s). </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.2.html#dt_max">dt_max</a></td>
+
+
+
+      <td>R</td>
+
+
+
+      <td>R</td>
+
+
+
+      <td><span style="font-style: italic;">20.0</span></td>
+
+
+
+      <td>Maximum
+allowed value of the timestep (in s).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td align="undefined" valign="undefined"><a href="chapter_4.2.html#dt_min_part"><span style="font-weight: bold;">dt_min_part</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">P</td>
+
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">0.0002</span></td>
+
+
+
+ <td align="undefined" valign="undefined">Minimum value
+for the particle timestep when SGS velocities are used (in s).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_prel"><b>dt_prel</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>9999999.9</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p><font face="Thorndale, serif"><span lang="en-GB">Temporal
+interval at
+which particles are to be released <span lang="en-GB">from
+a particle
+source </span>(</span></font>in <font face="Thorndale, serif"><span lang="en-GB">s).</span>&nbsp;</font></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dt_pr_1d"><b>dt_pr_1d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>9999999.9</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Temporal
+interval of vertical profile output of the
+1D-model
+(in s).&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#dt_restart"><b>dt_restart</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">9999999.9<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> at which a new
+restart run is to be carried out (</font>in <font face="Thorndale">s).</font></td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dt_run_control"><b>dt_run_control</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>60.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale"><font face="Thorndale, serif">Temporal interval</font> at
+which run control
+output is to be made (</font>in <font face="Thorndale">s).
+      <br>
+
+
+
+ </font></p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dt_run_control_1d"><b>dt_run_control_1d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>60.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Temporal
+interval of runtime control output of the
+1d-model
+(in s).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><a href="chapter_4.2.html#dt_sort_particles"><span style="font-weight: bold;">dt_sort_particles</span></a></td>
+      <td>P</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Temporal interval for sorting particles (in s).</td>
+    </tr>
+    <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#dt_write_particle_data"><b>dt_write_particle_data</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><i>9999999.9</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Temporal
+interval for output
+of particle data (in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_directory"><b>dvrp_directory</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 80</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'default'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Name of the directory into which data created by the <span style="font-weight: bold;">dvrp</span>
+software shall be saved. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_file"><b>dvrp_file</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 80</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'default'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Name of the file into which data created by the <span style="font-weight: bold;">dvrp</span> software shall
+be output.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_host"><b>dvrp_host</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 80</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'origin.rvs. <br>
+
+
+
+
+uni- hanover.de'</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Name
+of the computer to which data created by the <span style="font-weight: bold;">dvrp</span> software shall
+be
+transferred. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_output"><b>dvrp_output</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'rtsp'</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Output
+mode for the <span style="font-weight: bold;">dvrp</span>
+software. </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_password"><b>dvrp_password</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 80</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'********'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">Password
+for the
+computer to which data created
+by the <span style="font-weight: bold;">dvrp</span>
+software is to be
+transferred.</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_psize"><b>dvrp_psize</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.2</i> * <i>dx</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Diameter
+that the particles is given in visualizations
+with
+the <span style="font-weight: bold;">dvrp</span>
+software (in
+m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#dvrpsize_interval"><span style="font-weight: bold;">dvrpsize_interval</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(2)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span></td><td align="undefined" valign="undefined">Interval of values used for determining the particle size displayed in the animation.</td></tr><tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#dvrp_username"><b>dvrp_username</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 80</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p>no default value </p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>User
+name of a valid account on the computer to which
+data
+created by the <span style="font-weight: bold;">dvrp</span>
+software
+is to be
+transferred. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dx"><b>dx</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Horizontal
+grid spacing along the x-direction (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dy"><b>dy</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Horizontal
+grid spacing along the y-direction (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dz"><b>dz</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description </p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Vertical
+grid spacing (in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td align="undefined" valign="undefined"><a style="font-weight: bold;" href="chapter_4.1.html#dz_max">dz_max</a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td align="undefined" valign="undefined">Allowed
+maximum vertical grid spacing (in m).<br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#dz_stretch_factor"><b>dz_stretch_factor</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.08</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Stretch
+factor for a vertically stretched grid (see <a href="chapter_4.1.html#dz_stretch_level">dz_stretch_level</a>).</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#dz_stretch_level"><b>dz_stretch_level</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>100000.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Height
+level above/below which the grid is to be stretched
+vertically (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a href="chapter_4.1.html#e_init"><span style="font-weight: bold;">e_init</span></a></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>R</td>
+
+
+
+      <td style="font-style: italic;">0.0</td>
+
+
+
+      <td>Initial TKE in m<sup>2</sup>s<sup>-2</sup>.</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+
+      <td><a href="chapter_4.1.html#e_min"><b>e_min</b></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td style="font-style: italic;">0.0</td>
+
+
+
+
+      <td>Minimum TKE in m<sup>2</sup>s<sup>-2</sup>.</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#end_time"><b>end_time</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p lang="en-GB"><font face="Thorndale">Simulation
+time of the 3D
+model (</font>in <font face="Thorndale">s)</font><font face="Thorndale">.</font></p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td align="undefined" valign="undefined"><a href="chapter_4.2.html#end_time_prel"><span style="font-weight: bold;">end_time_prel</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">P</td>
+
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">9999999.9</span></td>
+
+
+
+
+      <td align="undefined" valign="undefined">Time of
+the last release of particles (in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#end_time_1d"><b>end_time_1d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>864000.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Time
+to be simulated for the 1D-model (in s).&nbsp;</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#fft_method"><b>fft_method</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'system specific'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>FFT-method to be used.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#force_print_header"><b>force_print_header</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="width: 57%; vertical-align: middle;"> 
+      
+      
+      
+      <p>Steering
+of header output to the local file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>. </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#galilei_transformation"><b>galilei_transformation</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Application
+of a Galilei-transformation to the
+coordinate
+system of the model.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#grid_matching"><b>grid_matching</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 6</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'strict'</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Variable
+to adjust the subdomain sizes in parallel runs.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#groundplate_color"><span style="font-weight: bold;">groundplate_color</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(3)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0, 0.6, 0.0</span></td><td align="undefined" valign="undefined">Color of the ground plate</td></tr><tr>
+
+
+
+      <td><b><a href="chapter_4.1.html#humidity"><b>humidity</b></a></b></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>L</td>
+
+
+
+      <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+      <td>Parameter
+to switch on the prognostic equation for
+specific
+humidity q.</td>
+
+
+
+    </tr>
+
+
+
+    <tr><td align="undefined" valign="undefined"><a href="chapter_4.1.html#inflow_damping_height"><span style="font-weight: bold;">inflow_damping_height</span></a></td><td align="undefined" valign="undefined">I</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">from precursor run</span></td><td align="undefined" valign="undefined">Height below which the turbulence signal is used for turbulence recycling (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.1.html#inflow_damping_width"><span style="font-weight: bold;">inflow_damping_width</span></a></td><td align="undefined" valign="undefined">I</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.1 * <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#inflow_damping_height">inflow_damping</a></span><a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#inflow_damping_height"><span style="font-style: italic;">_height</span></a></td><td align="undefined" valign="undefined">Transition range within which the turbulance signal is damped to zero (in m).</td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#inflow_disturbance_begin"><b>inflow_disturbance_begin</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">MIN(10,</span><br style="font-style: italic;">
+
+
+
+ <span style="font-style: italic;">nx/2 or ny/2)</span></td>
+
+
+
+
+      <td style="vertical-align: middle;">Lower
+limit of the horizontal range for which random perturbations are to be
+imposed on the horizontal velocity field (gridpoints).</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><b><a href="chapter_4.1.html#inflow_disturbance_end"><b>inflow_disturbance_end</b></a></b></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">MIN(100,</span><br style="font-style: italic;">
+
+
+
+ <span style="font-style: italic;">3/4*nx or</span><br style="font-style: italic;">
+
+
+
+ <span style="font-style: italic;">3/4*ny)</span></td>
+
+
+
+ <td style="vertical-align: middle;">Upper
+limit of the horizontal range for which random perturbations are
+to be imposed on the horizontal velocity field (gridpoints).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#initializing_actions"><b>initializing_actions</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 100</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p style="font-style: normal;">Initialization
+actions
+to be carried out. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: top;"><a href="chapter_4.2.html#initial_weighting_factor"><span style="font-weight: bold;">initial_weighting_factor</span></a><br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: top;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: top;">R<br>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span><br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: top;">Factor to define
+the real number of initial droplets in a grid cell.</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#isosurface_color"><span style="font-weight: bold;">isosurface_color</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(3,10)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.9, 0.9, 0.9</span><br style="font-style: italic;"><span style="font-style: italic;">0.8, 0.1, 0.1</span><br style="font-style: italic;"><span style="font-style: italic;">......</span></td><td align="undefined" valign="undefined">Color of the isosurface(s).</td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#km_constant"><b>km_constant</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>variable (computed from TKE)</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Constant
+eddy diffusivities are used (laminar
+simulations).&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#km_damp_max"><b>km_damp_max</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">0.5*(dx
+or dy)</span></td>
+
+
+
+ <td style="vertical-align: middle;">Maximum
+diffusivity used for filtering the velocity field in the vicinity of
+the outflow (in m<sup>2</sup>/s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><b><a href="chapter_4.1.html#lad_surface"><b>lad_surface</b></a></b></td>
+      <td>I</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Surface value of the leaf area density (in m<sup>2</sup>/m<sup>3</sup>)</td>
+    </tr>
+    <tr>
+      <td><b><a href="chapter_4.1.html#lad_vertical_gradient"><b>lad_vertical_gradient</b></a></b></td>
+      <td>I</td>
+      <td>R (10)</td>
+      <td><span style="font-style: italic;">10 * 0.0</span></td>
+      <td>Gradient(s) of the leaf area density (in&nbsp;m<sup>2</sup>/m<sup>4</sup>)</td>
+    </tr>
+    <tr>
+      <td><b><b><a href="chapter_4.1.html#lad_vertical_gradient_level"><b>lad_vertical_gradient_level</b></a></b></b></td>
+      <td>I</td>
+      <td>R (10)</td>
+      <td><span style="font-style: italic;">10 * 0.0</span></td>
+      <td>Height level from which on the&nbsp;gradient
+of the leaf area density defined by <a href="chapter_4.1.html#lad_vertical_gradient">lad_vertical_gradient_level</a>
+is effective (in m).</td>
+    </tr>
+    <tr>
+      <td><b><b><b><b><a href="chapter_4.1.html#leaf_surface_concentration"><b>leaf_surface_concentration</b></a></b></b></b></b></td>
+      <td>R</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Concentration of a passive
+scalar at the surface of a leaf (in kg/m<sup>3</sup>).</td>
+    </tr>
+    <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#long_filter_factor"><b>long_filter_factor</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Filter
+factor for the so-called Long-filter.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.1.html#loop_optimization">loop_optimization</a></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>C * 16</td>
+
+
+
+      <td>see parameter description</td>
+
+
+
+      <td>Method used to optimize loops for solving the prognostic equations .</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#maximum_number_of_particles"><b>maximum_number_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#maximum_number_of_particles"><b>of_particles</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1000</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Maximum
+number of particles (on a PE). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#maximum_number_of_tailpoints"><b>maximum_number_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#maximum_number_of_tailpoints"><b>of_tailpoints</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>100</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Maximum
+number of tailpoints that a particle tail can
+have. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#maximum_tailpoint_age"><b>maximum_tailpoint_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#maximum_tailpoint_age"><b>age</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>100000.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Maximum
+age that the end point of a particle tail is allowed to have (in s). <br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><b><a href="chapter_4.2.html#mg_cycles"><b>mg_cycles</b></a></b></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>I</td>
+
+
+
+ <td><i>- 1</i></td>
+
+
+
+
+      <td>Number of cycles to be used with the multi-grid scheme.</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><b><b><a href="chapter_4.2.html#mg_switch_to_pe0_level"><b>mg_switch_to_pe0_level</b></a></b></b></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>I</td>
+
+
+
+ <td>see parameter
+description</td>
+
+
+
+ <td>Grid
+level at which data shall be gathered on PE0.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#minimum_tailpoint_distance"><b>minimum_tailpoint_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#minimum_tailpoint_distance"><b>distance</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Minimum
+distance allowed between two adjacent points of
+a
+particle tail (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.1.html#mixing_length_1d"><span style="font-weight: bold;">mixing_length_1d</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>C * 20</td>
+
+
+
+ <td><span style="font-style: italic;">'as_in_3d_model'</span></td>
+
+
+
+
+      <td>Mixing length used in the 1d-model.</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#mode_dvrp"><b>mode_dvrp</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20 (10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * ' '</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Graphical objects (isosurfaces, slicers, particles)
+which are
+to be created by the <span style="font-weight: bold;">dvrp</span>
+software. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+  <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#momentum_advec"><b>momentum_advec</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'pw-scheme</i>'</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Advection scheme to be used for the momentum equations.</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#netcdf_precision"><span style="font-weight: bold;">netcdf_precision</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>C * 20 (10)</td>
+
+
+
+ <td><span style="font-style: italic;">single preci</span><span style="font-style: italic;">sion for all</span><br style="font-style: italic;">
+
+
+
+ <span style="font-style: italic;">output quan</span><span style="font-style: italic;">tities</span></td>
+
+
+
+ <td>Defines
+the accuracy of the NetCDF output.<br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td><a href="chapter_4.2.html#netcdf_64bit"><span style="font-weight: bold;">netcdf_64bit</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td>All NetCDF files - except those containing 3d
+volume data - will have 64 bit offset format.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.2.html#netcdf_64bit_3d">netcdf_64bit_3d</a></td>
+
+
+
+      <td>R</td>
+
+
+
+      <td>L</td>
+
+
+
+      <td><span style="font-style: italic;">.T.</span></td>
+
+
+
+      <td>NetCDF
+files containing 3d volume data will have 64 bit offset format.</td>
+
+
+
+    </tr>
+
+
+
+    <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#ngsrb"><b>ngsrb</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>2</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Grid
+level at which data shall be gathered on PE0.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#normalizing_region"><b>normalizing_region</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Determines
+the subdomain from which the normalization
+quantities are calculated. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#npex"><b>npex</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of processors along x-direction of the virtual
+processor
+net. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#npey"><b>npey</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of processors along y-direction of the virtual
+processor
+net. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#nsor"><b>nsor</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>20</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of iterations to be used with the SOR-scheme. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#nsor_ini"><b>nsor_ini</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>100</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Initial
+number of iterations with the SOR algorithm</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#number_of_particle_groups"><span style="font-weight: bold;">number_of_particle_groups</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>I</td>
+
+
+
+ <td><span style="font-style: italic;">1</span></td>
+
+
+
+ <td>Number
+of particle groups to be used.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#nx"><b>nx</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of grid points in x-direction. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#ny"><b>ny</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of grid points in y-direction.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#nz"><b>nz</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p>no default, see parameter description</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of grid points in z-direction.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#nz_do3d"><b>nz_do3d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>nz+1</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> Limits
+the output of 3d volume data along the vertical direction (grid point
+index k).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#ocean"><span style="font-weight: bold;">ocean</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">L</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">.F.</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Parameter to switch on&nbsp;ocean runs.</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#omega"><b>omega</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>7.29212E-5</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Angular
+velocity of the rotating system (in rad s<sup>-1</sup>).&nbsp;</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#omega_sor"><b>omega_sor</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.8</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Convergence
+factor to be used with the the SOR-scheme. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#outflow_damping_width"><b>outflow_damping_width</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">MIN(20,
+nx/2</span> or <span style="font-style: italic;">ny/2)</span></td>
+
+
+
+
+      <td style="vertical-align: middle;">Width of
+the damping range in the vicinity of the outflow (gridpoints).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#overshoot_limit_e"><b>overshoot_limit_e</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Allowed
+limit for the overshooting of subgrid-scale TKE
+in
+case that the upstream-spline scheme is switched on (in m<sup>2</sup>/s<sup>2</sup>).</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#overshoot_limit_pt"><b>overshoot_limit_pt</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Allowed
+limit for the overshooting of potential
+temperature in
+case that the upstream-spline scheme is switched on (in K). <br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#overshoot_limit_u"><b>overshoot_limit_u</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Allowed
+limit for the
+overshooting of
+the u-component of velocity in case that the upstream-spline scheme is
+switched on (in m/s).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#overshoot_limit_v"><b>overshoot_limit_v</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Allowed
+limit for the overshooting of the v-component of
+velocity in case that the upstream-spline scheme is switched on
+(in m/s). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#overshoot_limit_w"><b>overshoot_limit_w</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Allowed
+limit for the overshooting of the w-component of
+velocity in case that the upstream-spline scheme is switched on
+(in m/s). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.2.html#particles_per_point"><span style="font-weight: bold;">particles_per_point</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">P</td>
+
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">1</span></td>
+
+
+
+ <td align="undefined" valign="undefined">Number of
+particles to be started per point.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: top;"><b><a href="chapter_4.2.html#particle_advection_start"><b>particle_advection_start</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: top;">P<br>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: top;">R<br>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: top;">Time of the first
+release of
+particles (in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#particle_color"><span style="font-weight: bold;">particle_color</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">C*10</td><td align="undefined" valign="undefined"><span style="font-style: italic;">'none'</span></td><td align="undefined" valign="undefined">Parameter, which allows to bind the displayed particle color to certain flow quantities.</td></tr><tr><td align="undefined" valign="undefined"><a style="font-weight: bold;" href="chapter_4.2.html#particle_dvrpsize">particle_dvrpsize</a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">C*10</td><td align="undefined" valign="undefined"><span style="font-style: italic;">'none'</span></td><td align="undefined" valign="undefined">Parameter, which allows to bind the displayed particle size to certain flow quantities.</td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#particle_maximum_age"><b>particle_maximum_age</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>9999999.9</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Maximum
+allowed age of particles (in s). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#passive_scalar"><b>passive_scalar</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to switch on the prognostic equation for a
+passive
+scalar. </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><b><a href="chapter_4.1.html#pch_index"><b>pch_index</b></a></b></td>
+      <td>I</td>
+      <td>I</td>
+      <td><code></code><i>0 </i></td>
+      <td>Grid point index (scalar) of the upper boundary of the plant canopy layer</td>
+    </tr>
+    <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#pdx"><b>pdx</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * dx</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Distance
+along x between particles within a particle
+source
+(in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#pdy"><b>pdy</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * dy</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Distance
+along y between
+particles within a
+particle source (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#pdz"><b>pdz</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * ( zu(2) - zu(1) )</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Distance along z between
+particles within a particle source
+(in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#phi"><b>phi</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>55.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Geographical
+latitude (in degrees). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+      <td><b><a href="chapter_4.1.html#plant_canopy"><b>plant_canopy</b></a></b></td>
+      <td>I</td>
+      <td>L</td>
+      <td><i>.F.</i></td>
+      <td>Parameter to switch on the plant canopy model</td>
+    </tr>
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#plot_spectra_level"><b>plot_spectra_level</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I
+(100)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>No level</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Vertical level(s) for which horizontal spectra are to be
+plotted (in gridpoints). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#prandtl_layer"><b>prandtl_layer</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to switch on a Prandtl layer. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.2.html#prandtl_number"><b>prandtl_number</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Ratio
+of the eddy diffusivities for momentum and heat (K<sub>m</sub>/K<sub>h</sub>).
+      <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#precipitation"><b>precipitation</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">L<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td style="vertical-align: middle;">Parameter to
+switch on the
+precipitation scheme.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.2.html#precipitation_amount_interval">precipitation_amount_<br>
+
+
+
+interval</a></td>
+
+
+
+      <td>R</td>
+
+
+
+      <td>R</td>
+
+
+
+      <td><i>value
+of &nbsp;<a href="chapter_4.2.html#dt_do2d_xy">dt_do2d_<br>
+
+
+
+
+xy</a></i></td>
+
+
+
+      <td><font face="Thorndale"><font face="Thorndale, serif">Temporal
+interval</font> for which the precipitation amount (in mm) shall be calculated and output (</font>in <font face="Thorndale">s).&nbsp;</font></td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#profile_columns"><b>profile_columns</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>3</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of coordinate systems to be plotted<span style="font-weight: bold;"></span>
+in one row by <span style="font-weight: bold;">profil</span>.
+      <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#profile_rows"><b>profile_rows</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>2</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of rows of coordinate systems to be plotted on
+one page
+by <span style="font-weight: bold;">profil</span>. <br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#psb"><b>psb</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * zu(nz/2)</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Bottom edge of a particle
+source (in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#psl"><b>psl</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * 0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Left edge of a particle source
+(in m). </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#psn"><b>psn</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * ( ny * dy )</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Rear (&ldquo;north&rdquo;) edge of a particle
+source (in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#psolver"><b>psolver</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'poisfft'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Scheme to be used to solve the Poisson equation for the
+perturbation pressure. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#psr"><b>psr</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * ( nx * dx )</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Right edge of a particle source (in m).</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#pss"><b>pss</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * 0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Front (&ldquo;south&rdquo;) edge of a particle
+source (in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#pst"><b>pst</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * zu(nz/2)</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Top edge of a particle source (in m).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.1.html#pt_reference">pt_reference</a></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>R</td>
+
+
+
+      <td><span style="font-style: italic;">use horizontal average as
+reference</span></td>
+
+
+
+      <td>Reference temperature to be
+used in all buoyancy terms (in K).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#pt_surface"><b>pt_surface</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>300.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Surface
+potential temperature (in K). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#pt_surface_initial_change"><b>pt_surface_initial</b></a>&nbsp;&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.1.html#pt_surface_initial_change">&nbsp;<b>_change</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">Change
+in surface
+temperature to be made at the
+beginning of
+the 3d run
+(in K).&nbsp;</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#pt_vertical_gradient"><b>pt_vertical_gradient</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * 0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Temperature gradient(s) of the initial temperature
+profile (in
+K
+/ 100 m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#pt_vertical_gradient_level"><b>pt_vertical_gradient</b></a>&nbsp;&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.1.html#pt_vertical_gradient_level">&nbsp;<b>_level</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 *</i>&nbsp; <i>0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Height level from which on the temperature gradient
+defined by <a href="chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a>
+is effective (in m).&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#q_surface"><b>q_surface</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Surface
+specific humidity / total water content (kg/kg). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#q_surface_initial_change"><b>q_surface_initial</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.1.html#q_surface_initial_change">&nbsp;<b>_change</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Change
+in surface specific humidity / total water
+content to
+be made at the beginning
+of the 3d run (kg/kg). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#q_vertical_gradient"><b>q_vertical_gradient</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * 0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="width: 57%; vertical-align: middle;">
+      
+      
+      
+      <p>Humidity gradient(s) of the initial humidity profile
+(in 1/100 m). </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#q_vertical_gradient_level"><b>q_vertical_gradient</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.1.html#q_vertical_gradient_level">&nbsp;<b>_level</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 *</i>&nbsp; <i>0.0</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Height level from which on the humidity gradient defined
+by <a href="chapter_4.1.html#q_vertical_gradient">q_vertical_gradient</a>
+is effective (in m).&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#radiation"><b>radiation</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to switch on longwave radiation cooling at
+cloud-tops. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td><a href="chapter_4.2.html#radius"><span style="font-weight: bold;">radius</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>R (10)</td>
+
+
+
+ <td><i>0.0,
+9</i>*<br>
+
+
+
+ <i>9999999.9</i></td>
+
+
+
+ <td>Particle
+radius (in m).</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#random_generator"><b>random_generator</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'numerical recipes'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Random number generator to be used for creating
+uniformly
+distributed random numbers. </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#random_heatflux"><b>random_heatflux</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to impose random perturbations on the internal two-dimensional near
+surface heat flux field <span style="font-style: italic;">shf</span>.
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#random_start_position"><b>random_start_position</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <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>
+particles is
+varied randomly within certain limits.&nbsp;</span></p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#rayleigh_damping_factor"><b>rayleigh_damping</b></a>&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#rayleigh_damping_factor">&nbsp;<b>_factor</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><span style="font-style: italic;">0.0</span>
+and/or <span style="font-style: italic;">0.01</span>
+(see parameter description)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Factor
+for Rayleigh damping.&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#rayleigh_damping_height"><b>rayleigh_damping</b></a>&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#rayleigh_damping_height">&nbsp;<b>_height</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle; font-style: italic;" width="16%"> 
+      
+      
+      
+      <p>2/3 * zu(nz)</p>
+
+
+
+ </td>
+
+
+
+ <td style="width: 57%; text-align: left; vertical-align: middle;">
+      
+      
+      
+      <p>Height where the Rayleigh damping starts (in
+m).&nbsp; </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#read_particles_from_restartfile"><b>read_particles_from_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#read_particles_from_restartfile"><b>restartfile</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Read
+particle data from the previous run. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr><td align="undefined" valign="undefined"><a href="chapter_4.1.html#recycling_width"><span style="font-weight: bold;">recycling_width</span></a></td><td align="undefined" valign="undefined">I</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.1 * <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#nx">nx</a> * <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#dx">dx</a></span></td><td align="undefined" valign="undefined">Distance of the recycling plane from the inflow boundary (in m).<br></td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.3.html#region"><b>region</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>U</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 40 (0:9)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p>&nbsp;</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Name(s) of the subdomain(s) defined by the user.</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#residual_limit"><b>residual_limit</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0E-6</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Largest
+residual permitted for the multi-grid scheme (in
+s<sup>-2</sup>m<sup>-3</sup>). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.2.html#restart_time"><b>restart_time</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">9999999.9<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">Simulated time
+after which a
+restart run is to be carried out
+(in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#rif_max"><b>rif_max</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Upper
+limit of the flux-Richardson number. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#rif_min"><b>rif_min</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>- 5.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Lower
+limit of the flux-Richardson number. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#roughness_length"><b>roughness_length</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.1</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Roughness
+length (in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#sa_surface"><span style="font-weight: bold;">sa_surface</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">35.0</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Surface salinity (in psu).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#sa_vertical_gradient"><span style="font-weight: bold;">sa_vertical_gradient</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R(10)</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Salinity gradient(s) of the initial salinity profile (in psu
+/ 100 m).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#sa_vertical_gradient_level"><span style="font-weight: bold;">sa_vertical_gradient_level</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R(10)</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Height level from which on the salinity gradient defined by <a href="chapter_4.1.html#sa_vertical_gradient">sa_vertical_gradient</a>
+is effective (in m).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#scalar_advec"><b>scalar_advec</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 10</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'pw-scheme'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Advection scheme to be used for the scalar quantities. <br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+      <td><b><b><a href="../../../../../DEVELOPER_VERSION/chapter_4.1.html#scalar_exchange_coefficient"><b>scalar_exchange_coefficient</b></a></b></b></td>
+      <td>R</td>
+      <td>R</td>
+      <td><span style="font-style: italic;">0.0</span></td>
+      <td>Scalar exchange coefficient for a leaf (dimensionless).</td>
+    </tr>
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#section_xy"><span style="font-weight: bold;">section_xy</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>I (100)</td>
+
+
+
+ <td><span style="font-style: italic;">no section</span></td>
+
+
+
+
+      <td><font face="Thorndale">Position
+of&nbsp;cross section(s) for&nbsp;output of 2d horizontal cross
+sections (grid point index k).&nbsp;</font></td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#section_xz"><span style="font-weight: bold;">section_xz</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>I (100)</td>
+
+
+
+ <td><span style="font-style: italic;">no section</span></td>
+
+
+
+
+      <td><font face="Thorndale">Position
+of&nbsp;cross section(s) for&nbsp;output of 2d (xz) vertical
+cross sections (grid point index j).&nbsp;</font></td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#section_yz"><span style="font-weight: bold;">section_yz</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>I (100)</td>
+
+
+
+ <td><span style="font-style: italic;">no section</span></td>
+
+
+
+
+      <td><font face="Thorndale">Position
+of&nbsp;cross section(s) for&nbsp;output of 2d (yz) vertical
+cross sections (grid point index i).&nbsp;</font></td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_particles_for_tail"><span style="font-weight: bold;">skip_particles_for_tail</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>I</td>
+
+
+
+ <td><span style="font-style: italic;">100</span></td>
+
+
+
+ <td>Limit
+the number of particle tails.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_data_output"><span style="font-weight: bold;">skip_time_data_output</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">0.0</span></td>
+
+
+
+ <td>No
+data output before this interval has passed (in s).</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_data_output_av"><span style="font-weight: bold;">skip_time_data_output_av</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+temporally averaged 2d/3d data before this interval has passed (in s).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_dopr"><span style="font-weight: bold;">skip_time_dopr</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+vertical profile data before this interval has passed (in s).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_dosp"><span style="font-weight: bold;">skip_time_dosp</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+spectra data before this interval has passed (in s).</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_do2d_xy"><span style="font-weight: bold;">skip_time_do2d_xy</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+instantaneous horizontal cross section data before this interval has
+passed (in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_do2d_xz"><span style="font-weight: bold;">skip_time_do2d_xz</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+instantaneous vertical (xz) cross section data before this interval has
+passed (in s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_do2d_yz"><span style="font-weight: bold;">skip_time_do2d_yz</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+instantaneous vertical (yz) cross section data before this interval has
+passed (in s).<br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#skip_time_do3d"><span style="font-weight: bold;">skip_time_do3d</span></a></td>
+
+
+
+
+      <td>R</td>
+
+
+
+ <td>R</td>
+
+
+
+ <td><span style="font-style: italic;">value of <a href="chapter_4.2.html#skip_time_data_output">skip_time_<br>
+
+
+
+
+data_output</a></span></td>
+
+
+
+ <td>No output of
+instantaneous 3d volume data before this interval has passed (in s).</td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="file:///home/raasch/public_html/PALM_group/doc/app/chapter_4.2.html#spectra_direction"><b>slicer_range_limits_dvrp</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">P<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R(2,10)<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><span style="font-style: italic;">10
+* (-1,1)</span></td>
+
+
+
+ <td style="vertical-align: middle;">Ranges
+of values to which a color table has to be mapped (units of the
+respective quantity).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#spectra_direction"><b>spectra_direction</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 2 (10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>10 * ' '</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Direction(s) along which spectra are to be calculated. <br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#statistic_regions"><b>statistic_regions</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>I</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Number
+of additional user-defined subdomains for which
+statistical analysis
+and corresponding output (profiles, time series) shall be made.</p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#superelevation"><b>superelevation</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Superelevation
+factor for the vertical coordinate. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#superelevation_x"><b>superelevation_x</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Superelevation
+factor for the horizontal (x) coordinate. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#superelevation_y"><b>superelevation_y</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Superelevation
+factor for the
+horizontal (y) coordinate. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#surface_heatflux"><b>surface_heatflux</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><span style="font-style: italic;">no prescribed
+heatflux</span></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Kinematic
+sensible heat flux at the bottom surface (in K m/s).</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#surface_pressure"><b>surface_pressure</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>1013.25</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Atmospheric
+pressure at the surface (in hPa)</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#surface_scalarflux"><b>surface_scalarflux</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><i>0.0</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Scalar flux at
+the surface
+(in kg/(m<sup>2</sup> s)). <br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#surface_waterflux"><b>surface_waterflux</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Kinematic
+water flux near the surface (in m/s). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><a href="chapter_4.1.html#s_surface"><b>s_surface</b></a></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><i>0.0</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Surface value of
+the passive
+scalar (in kg/m<sup>3</sup>). <br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><b><a href="chapter_4.1.html#s_surface_initial_change"><b>s_surface_initial_change</b></a></b></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><i>0.0</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Change in
+surface scalar
+concentration to be made at the
+beginning of the 3d run (in kg/m<sup>3</sup>). <br>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"><b><b><a href="chapter_4.1.html#s_vertical_gradient"><b>s_vertical_gradient</b></a></b></b></td>
+
+
+
+
+      <td style="vertical-align: middle;">I<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;">R(10)<br>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;"><i>10 * 0</i><i>.0</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Scalar
+concentration
+gradient(s) of the initial scalar
+concentration profile (in kg/m<sup>3 </sup>/
+100 m). <br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#s_vertical_gradient_level"><span style="font-weight: bold;">s_vertical_gradient_level</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+      <td>Height level from which on the scalar gradient defined by <a href="chapter_4.1.html#s_vertical_gradient">s_vertical_gradient</a>
+is effective (in m).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#termination_time_needed"><b>termination_time</b></a>&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#termination_time_needed">&nbsp;<b>_needed</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>35.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>CPU
+time needed for terminal actions at the end of a run
+in
+batch mode (in s).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#threshold"><b>threshold</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>P</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R
+(10)</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+
+      <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Threshold
+value for which an isosurface is to be created
+by
+the <span style="font-weight: bold;">dvrp</span>
+software. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#timestep_scheme"><b>timestep_scheme</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>C
+* 20</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"> 
+      
+      
+      
+      <p><i>'runge-kutta-3'</i></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%">
+      
+      
+      
+      <p>Time step scheme to be used for integration of the prognostic
+variables. <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td><a href="chapter_4.1.html#topography"><span style="font-weight: bold;">topography</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>C * 40</td>
+
+
+
+ <td><span style="font-style: italic;">'flat'</span></td>
+
+
+
+ <td>Topography
+mode.</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#topography_color"><span style="font-weight: bold;">topography_color</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(3)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.8, 0.7, 0.6</span></td><td align="undefined" valign="undefined">Color of the topography.</td></tr><tr><td style="vertical-align: top;"><a style="font-weight: bold;" href="chapter_4.1.html#topography_grid_convention">topography_grid_convention</a></td><td style="vertical-align: top;">I</td><td style="vertical-align: top;">C * 11</td><td><span style="font-style: italic;">default depends on value of <a href="chapter_4.1.html#topography">topography</a>; see text for details</span><span style="font-style: italic;"></span></td><td style="vertical-align: top;">Convention for defining the&nbsp;topography grid.</td></tr><tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.1.html#top_heatflux">top_heatflux</a></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>R</td>
+
+
+
+      <td><span style="font-style: italic;">no prescribed heatflux</span></td>
+
+
+
+      <td>Kinematic
+sensible heat flux at the top surface (in K m/s).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#top_momentumflux_u"><span style="font-weight: bold;">top_momentumflux_u</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">no prescribed momentumflux</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Momentum flux along x at the top boundary (in m2/s2).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a style="font-weight: bold;" href="chapter_4.1.html#top_momentumflux_v">top_momentumflux_v</a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">no prescribed momentumflux</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Momentum flux along y at the top boundary (in m2/s2).</td>
+
+
+
+    </tr>
+
+
+
+    <tr>
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#top_salinityflux"><span style="font-weight: bold;">top_salinityflux</span></a></td>
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+      <td align="undefined" valign="undefined">R</td>
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">no prescribed</span><br style="font-style: italic;">
+
+
+
+      <span style="font-style: italic;">salinityflux</span></td>
+
+
+
+      <td align="undefined" valign="undefined">Kinematic
+salinity flux at the top boundary, i.e. the sea surface (in psu m/s).</td>
+
+
+
+    </tr>
+
+
+
+    <tr><td align="undefined" valign="undefined"><a href="chapter_4.1.html#turbulent_inflow"><span style="font-weight: bold;">turbulent_inflow</span></a></td><td align="undefined" valign="undefined">I</td><td align="undefined" valign="undefined">L</td><td align="undefined" valign="undefined"><span style="font-style: italic;">.F.</span></td><td align="undefined" valign="undefined">Generates a turbulent inflow at side boundaries using a turbulence recycling method.</td></tr><tr><td><a href="chapter_4.1.html#u_bulk"><span style="font-weight: bold;">u_bulk</span></a></td><td>I</td><td>R</td><td><span style="font-style: italic;">0.0</span></td><td>u-component of the predefined bulk velocity (in m/s).</td></tr><tr>
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ug_surface"><b>ug_surface</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>u-component
+of the geostrophic wind at the surface (in m/s). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#ug_vertical_gradient"><span style="font-weight: bold;">ug_vertical_gradient</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+      <td>Gradient(s) of the initial
+profile of the&nbsp; u-component of the geostrophic wind (in
+1/100s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#ug_vertical_gradient_level"><span style="font-weight: bold;">ug_vertical_gradient_level</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+      <td>Height level from which on the
+gradient defined by <a href="chapter_4.1.html#ug_vertical_gradient">ug_vertical_gradient</a>
+is effective (in m).<br>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ups_limit_e"><b>ups_limit_e</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Subgrid-scale
+turbulent kinetic energy difference used
+as
+criterion for applying the upstream scheme when upstream-spline
+advection is switched on (in m<sup>2</sup>/s<sup>2</sup>).
+&nbsp;</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ups_limit_pt"><b>ups_limit_pt</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Temperature
+difference used as criterion for
+applying&nbsp;
+the upstream scheme when upstream-spline advection&nbsp; is
+switched on
+(in K). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ups_limit_u"><b>ups_limit_u</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Velocity
+difference (u-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ups_limit_v"><b>ups_limit_v</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Velocity
+difference (v-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#ups_limit_w"><b>ups_limit_w</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Velocity
+difference (w-component) used as criterion for
+applying the upstream scheme
+when upstream-spline advection is switched on (in m/s). <br>
+
+
+
+ </p>
+
+
+
+
+      </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.2.html#use_particle_tails"><span style="font-weight: bold;">use_particle_tails</span></a></td>
+
+
+
+
+      <td>P</td>
+
+
+
+ <td>L</td>
+
+
+
+ <td style="font-style: italic;">.F.</td>
+
+
+
+
+      <td>Give particles a tail.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#use_prior_plot1d_parameters"><b>use_prior_plot1d</b></a>&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#use_prior_plot1d_parameters">&nbsp;<b>_parameters</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="width: 57%; text-align: left; vertical-align: middle;">
+      
+      
+      
+      <p>Additional plot of vertical profile data with <span style="font-weight: bold;">profil</span> from
+preceding runs of the
+job chain.&nbsp; </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td align="undefined" valign="undefined"><a href="chapter_4.2.html#use_sgs_for_particles"><span style="font-weight: bold;">use_sgs_for_particles</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">P</td>
+
+
+
+
+      <td align="undefined" valign="undefined">L</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td align="undefined" valign="undefined">Use
+subgrid-scale velocities for particle advection.</td>
+
+
+
+ </tr>
+
+
+
+
+    <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%">
+      
+      
+      
+      <p><a href="chapter_4.1.html#use_surface_fluxes"><b>use_surface_fluxes</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.F.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to steer the treatment of the subgrid-scale
+vertical
+fluxes within the diffusion terms at k=1 (bottom boundary).</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+      <td><a style="font-weight: bold;" href="chapter_4.1.html#use_top_fluxes">use_top_fluxes</a></td>
+
+
+
+      <td>I</td>
+
+
+
+      <td>L</td>
+
+
+
+      <td><span style="font-style: italic;">.F.</span></td>
+
+
+
+      <td>Parameter
+to steer the treatment of the subgrid-scale
+vertical
+fluxes within the diffusion terms at k=nz (top boundary).</td>
+
+
+
+    </tr>
+
+
+
+    <tr valign="top">
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#use_ug_for_galilei_tr"><b>use_ug_for_galilei_tr</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Switch
+to determine the translation velocity in case
+that a
+Galilean transformation is used.</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+
+      <td align="undefined" valign="undefined"><a href="chapter_4.1.html#use_upstream_for_tke"><span style="font-weight: bold;">use_upstream_for_tke</span></a></td>
+
+
+
+
+      <td align="undefined" valign="undefined">I</td>
+
+
+
+
+      <td align="undefined" valign="undefined">L</td>
+
+
+
+
+      <td align="undefined" valign="undefined"><span style="font-style: italic;">.F.</span></td>
+
+
+
+ <td align="undefined" valign="undefined">Parameter to
+choose the advection/timestep scheme to be used for the subgrid-scale
+TKE.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#vertical_particle_advection"><b>vertical_particle_advection</b></a><br>
+
+
+
+
+      </p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;">P<br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;">L<br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;"><i>.T.</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Switch on/off
+vertical
+particle transport.</td>
+
+
+
+ </tr>
+
+
+
+ <tr><td><a href="chapter_4.1.html#v_bulk"><span style="font-weight: bold;">v_bulk</span></a></td><td>I</td><td>R</td><td><span style="font-style: italic;">0.0</span></td><td>v-component of the predefined bulk velocity (in m/s).</td></tr><tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#vg_surface"><b>vg_surface</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>0.0</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>v-component
+of the geostrophic wind at the surface (in m/s).</p>
+
+
+
+ </td>
+
+
+
+
+    </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#vg_vertical_gradient"><span style="font-weight: bold;">vg_vertical_gradient</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+      <td>Gradient(s) of the initial
+profile of the&nbsp; v-component of the geostrophic wind (in
+1/100s).</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#vg_vertical_gradient_level"><span style="font-weight: bold;">vg_vertical_gradient_level</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(10)</td>
+
+
+
+ <td><span style="font-style: italic;">10 * 0.0</span></td>
+
+
+
+
+      <td>Height level from which on the
+gradient defined by <a href="chapter_4.1.html#vg_vertical_gradient">vg_vertical_gradient</a>
+is effective (in m).</td>
+
+
+
+ </tr>
+
+
+
+ <tr valign="top">
+
+
+
+
+      <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.1.html#wall_adjustment"><b>wall_adjustment</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>I</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>L</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>.T.</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Parameter
+to restrict the mixing length in the vicinity
+of the
+bottom
+boundary  (and near vertical walls of a non-flat <a href="chapter_4.1.html#topography">topography</a>).</p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td><a href="chapter_4.1.html#wall_heatflux"><span style="font-weight: bold;">wall_heatflux</span></a></td>
+
+
+
+
+      <td>I</td>
+
+
+
+ <td>R(5)</td>
+
+
+
+ <td><span style="font-style: italic;">5 * 0.0</span></td>
+
+
+
+ <td>Prescribed
+kinematic sensible heat flux in K m/s&nbsp;at
+the five topography faces.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#write_particle_statistics"><b>write_particle_</b></a>
+      <br>
+
+
+
+ <a href="chapter_4.2.html#write_particle_statistics"><b>statistics</b></a>
+      </p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;">P<br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;">L<br>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;"><i>.F.</i></td>
+
+
+
+
+      <td style="vertical-align: middle;">Switch on/off
+output of
+particle informations.</td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#z_max_do1d"><b>z_max_do1d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%"><i>zu(nzt+1)
+(model top)</i></td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Height level up to which horizontally
+averaged profiles
+are to
+be
+plotted with <span style="font-weight: bold;">profil</span>
+(in
+m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#z_max_do1d_normalized"><b>z_max_do1d</b></a>&nbsp;&nbsp;
+      <br>
+
+
+
+ <a href="chapter_4.2.html#z_max_do1d_normalized">&nbsp;<b>_normalized</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>determined by plot <br>
+
+
+
+
+data</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Normalized
+height level up to which horizontally
+averaged
+profiles are to be plotted with <span style="font-weight: bold;">profil</span>.
+      <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ <tr>
+
+
+
+ <td style="vertical-align: middle;" width="15%"> 
+      
+      
+      
+      <p><a href="chapter_4.2.html#z_max_do2d"><b>z_max_do2d</b></a></p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="5%">
+      
+      
+      
+      <p>R</p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="7%"> 
+      
+      
+      
+      <p>R</p>
+
+
+
+
+      </td>
+
+
+
+ <td style="vertical-align: middle;" width="16%">
+      
+      
+      
+      <p><i>zu(nz)</i></p>
+
+
+
+ </td>
+
+
+
+ <td style="vertical-align: middle;" width="57%"> 
+      
+      
+      
+      <p>Height
+level up to which 2d cross sections are to be
+plotted
+with <span style="font-weight: bold;">iso2d</span>
+(in m). <br>
+
+
+
+ </p>
+
+
+
+ </td>
+
+
+
+ </tr>
+
+
+
+ 
+  
+  
+  
+  </tbody>
+</table>
+
+
+
+<hr>
+<p><br>
+
+
+
+<font color="#000080"><a href="chapter_4.5.6.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_5.0.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></p>
+
+
+
+
+<p>&nbsp;<i>Last change:&nbsp;&nbsp;</i>
+$Id$ </p>
+
+
+
+
+<p><br>
+
+
+
+<br>
+
+
+
+
+<br>
+
+
+
+</p>
+
+
+
+
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_5.0.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_5.0.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_5.0.html	(revision 393)
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<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>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"><h2 style="line-height: 100%;"><font size="4">5.0
+Installation of the
+model</font></h2>
+<font color="#000000">This chapter
+describes the installation of PALM on a Linux workstation (local host)
+and a suitable remote computer, on which the
+model runs are to be carried out. The local host is used to
+start batch jobs with <b>mrun</b> and to analyze the
+results
+which are produced by the model on the remote host and send back to the
+local host. Alternatively, <span style="font-weight: bold;">mrun</span>
+can also be used to start PALM on the local host in interactive mode or
+as a batch job (if a queueing system like NQS, PBS, or LoadLeveler is
+available).</font><p style="line-height: 100%;"></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Requirements</span></font></p><p style="line-height: 100%;"><font color="#000000">The
+installation and operation of PALM requires at mimimum (on both, the
+local and the remote host, unless stated otherwise):</font></p><ol><li><font color="#000000">The Korn-shell (AT&amp;T ksh or public
+domain ksh) must be
+available under<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">/bin/ksh</font><font color="#000000">.<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span style="font-family: Courier New,Courier,monospace;"></span></font><font color="#000000"><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></font></li><li><font color="#000000">The
+NetCDF-library with version number not earlier than 3.6.0-p1 (for
+NetCDF, see under <a href="http://www.unidata.ucar.edu/software/netcdf/">www.unidata.ucar.edu</a>).</font></li><li><font color="#000000">A FORTRAN90/95 compiler.</font></li><li><font color="#000000">The Message Passing Interface (MPI), at
+least on the remote host, if the parallel version of PALM shall be used.</font></li><li><font color="#000000">On the local host, the revision control
+system <span style="font-weight: bold;">subversion</span>
+(see <a href="http://subversion.tigris.org/">subversion.tigris.org</a>).
+This is already included in many Linux distributions (e.g. SuSe). <span style="font-weight: bold;">subversion requires port 3690 to
+be open for tcp/udp.</span> <span style="font-weight: bold;">If
+there are firewall restrictions concerning this port, the PALM code
+cannot be accessed.</span> The
+user needs a permit to access the PALM repository. For getting a permit
+please contact the PALM group (<a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>)
+and define a username under which you like to access the repository.
+You will then receive a password which allows the access under this
+name.</font></li><li><font color="#000000">A
+job queueing system must be available on the remote host. Currently, <span style="font-weight: bold;">mrun</span> can handle
+LoadLeveler (IBM-AIX) and NQS/PBS (Linux-Clusters, NEC-SX).</font></li><li><font color="#000000">ssh/scp-connections to and from the remote
+host must not be blocked by a firewall.<br></font></li></ol><font color="#000000"><span style="font-weight: bold;"></span></font><font color="#000000"> Currently, <span style="font-weight: bold;">mrun</span> is configured
+to be used on a limited number of selected machines. These are SGI-ICE
+systems at computing center HLRN in Hannover (<span style="font-style: italic;">lcsgih</span>), Berlin (<span style="font-style: italic;">lcsgib</span>),
+IBM-Regatta system<span style="font-style: italic;"></span>
+at Yonsei University, Seoul (<span style="font-style: italic;">ibms</span>),
+on NEC-SX6/8 systems at DKRZ, Hamburg (<span style="font-style: italic;">nech</span>) and RIAM,
+Kyushu University, Fukuoka (<span style="font-style: italic;">necriam</span>),
+as well as on the Linux cluster of IMUK (<span style="font-style: italic;">lcmuk</span>), Tokyo
+Institute of Technology (<span style="font-style: italic;">lctit</span>),
+and the Bergen Center for Computational Science (<span style="font-style: italic;">lcxt4</span>).
+The strings given in brackets are the systems names (host identifiers)
+under which <span style="font-weight: bold;">mrun</span>
+identifies the
+different hosts.<br><br>You can also use <span style="font-weight: bold;">mrun</span>/PALM on other
+Linux-Cluster, IBM-AIX, or NEC-SX machines. See <a href="#configuration_for_other_machines">below</a> on
+how to configure <span style="font-weight: bold;">mrun</span>
+for other machines. However, these configurations currently (version
+3.2a) allow to run PALM in interactive mode only.<br><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></font><p style="line-height: 100%;"><font color="#000000">The
+examples given in this chapter refer to an
+installation of PALM on an IMUK Linux workstation and the SGI-ICE
+system of
+the HLRN used as&nbsp;remote host. They are just called local and
+remote host from now on. </font></p><p style="line-height: 100%;">
+</p><p style="line-height: 100%;">The installation
+process requires a valid
+account on the local and on the remote host as well.<br>
+&nbsp; </p>
+<ul> All hosts (local as well as remote) are
+accessed via the secure shell (ssh). The user must establish
+passwordless login using the private/public-key mechanism (see e.g. the
+<a href="http://www2.hlrn.de/doc/ssh/index.html">HLRN
+documentation</a>). <b>To ensure proper function of mrun,
+passwordless login must be
+established in both directions, from the local to the remote host as
+well as from the remote to the local host!</b> Test this by
+carrying
+out e.g. on the local host: <p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+</span><span style="font-family: Courier New,Courier,monospace;">ssh&nbsp;
+&lt;username on remote host&gt;@&lt;remote
+IP-address&gt;</span><br> </p> <p style="line-height: 100%;">and on the remote host:<br>
+</p> <p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+</span><span style="font-family: Courier New,Courier,monospace;">ssh&nbsp;
+&lt;username on local host&gt;@&lt;local IP-adddress&gt;</span><br>
+</p> In both cases you should&nbsp;not be
+prompted for a password. <b>Before continuing the further
+installation
+process, this must be absolutely guaranteed!</b> This must also
+be
+guaranteed for <b>all</b> other remote hosts, on which
+PALM shall run.<br><br>Please
+note that on many remote hosts, passwordless login must also be
+established <b>within the remote host</b>, i.e. from the
+remote host to itself. Test this by executing on the remote host: <span style="font-family: Courier New,Courier,monospace;">ssh
+&lt;remote IP-address&gt;</span>. You should not be prompted
+for a password.<br><br></ul><p style="line-height: 100%;"><span style="font-weight: bold; text-decoration: underline;">Package
+Installation</span></p><p style="line-height: 100%;">In
+the <b>first installation step</b> a
+set of directories must be created both on the local and on the
+remote host. These directories are:</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/job_queue<br></div><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm<br></div><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm/current_version<br></div><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS</span><br></div><p style="line-height: 100%;">The names of these directories
+are
+freely selectable (except <big><tt><font size="2"><big>~/job_queue</big></font></tt></big>),
+however new users should use them as suggested, since many
+examples in this documentation as well as all example files are
+assuming these settings. The directory <big><span style="font-family: monospace;">~/palm/current_version</span></big>
+on the local host will be called the working directory from now on. </p>
+<p style="line-height: 100%;"><font color="#000000">In
+the <b>second
+step</b>
+a working copy of the recent version of the PALM software package,
+including the source code, scripts, documentation, etc.&nbsp; must
+be
+copied to the working directory (</font><font color="#000000">local
+host!) by executing the following
+commands. Replace &lt;your username&gt; by the name that you
+chose to
+access the repository, and &lt;#&gt; by any of the available
+PALM
+releases, e.g. "<span style="font-style: italic;">3.1c</span>"
+(new releases will be anounced by email to the PALM mailing list).</font></p><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">cd
+~/palm/current_version</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">svn
+checkout --username &lt;your username&gt;
+svn://130.75.105.45/palm/tags/release-&lt;#&gt; trunk</span><br></div><p style="line-height: 100%;"><font color="#000000">You
+will then be prompted for your password. After finishing, the
+subdirectory</font><font style="font-family: Courier New,Courier,monospace;" color="#000000"> trunk </font><font color="#000000">should
+appear in your working directory. It contains a number of further
+subdirectories which contain e.g. the PALM source code (</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">SOURCE</font><font color="#000000">)
+and the scripts for running PALM (</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">SCRIPTS</font><font color="#000000">).</font></p><p style="line-height: 100%;">Alternatively,&nbsp;executing</p><pre style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45/palm/tags/release-&lt;#&gt; abcde</pre><p style="line-height: 100%;">will place your working copy in a
+directory named<span style="font-family: Courier New,Courier,monospace;"> abcde </span>instead
+of a directory named<span style="font-family: Courier New,Courier,monospace;"> trunk</span>.
+But keep in mind that you will have to adjust several paths given
+below, if you do not use the default directory<span style="font-family: Courier New,Courier,monospace;"> trunk</span>.</p><p style="line-height: 100%;">Please never touch any file in
+your working copy of PALM, unless you&nbsp;know exactly what you
+are doing.</p><p style="line-height: 100%; font-weight: bold;"><span style="font-weight: normal;">You can also get a copy of the
+most recent code by executing</span></p><pre style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45/palm/trunk trunk</pre>However,
+this version may contain bugs and new features may not be documented. <span style="font-weight: bold;">In future PALM releases,
+repository access to this most recent&nbsp;version will
+probably be restricted to the PALM developers.</span><p style="line-height: 100%;"></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Package
+Configuration</span></font></p><p style="line-height: 100%;"><font color="#000000">To
+use the PALM scripts, the <span style="font-family: Courier New,Courier,monospace;">PATH</span>-variable
+has to be extended and the
+environment variable<span style="font-family: Courier New,Courier,monospace;">
+PALM_BIN </span>has to be set (on local and remote host)
+in the respective profile of the users default shell (e.g. in<span style="font-family: Courier New,Courier,monospace;"> .profile</span>,
+if<span style="font-family: Courier New,Courier,monospace;">
+ksh </span>is used):</font></p><p style="line-height: 100%; margin-left: 40px;"><font style="font-family: Courier New,Courier,monospace;" color="#000000">export
+PATH=$HOME/palm/current_version/trunk/SCRIPTS:$PATH</font><font color="#000000"><br><span style="font-family: Courier New,Courier,monospace;">export
+PALM_BIN=</span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">$HOME/palm/current_version/trunk/SCRIPTS</font></p><p style="line-height: 100%;"><font color="#000000">You
+may have to login again in order to activate these settings.</font></p><font color="#000000">On the local and on the remote host, some
+small helper/utility programs have to be installed, which
+are&nbsp;later used by <span style="font-weight: bold;">mrun</span>&nbsp;e.g.
+for PALM data postprocessing. The installation is done by <span style="font-weight: bold;">mbuild</span>. This script
+requires a configuration file<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config</span>, which will be also used by <span style="font-weight: bold;">mrun</span> in the
+following. A copy has to be put into the working directory under the
+name<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config </span>by</font><p style="line-height: 100%; margin-left: 40px;"><font color="#000000"><span style="font-family: Courier New,Courier,monospace;">cp
+trunk/SCRIPTS/.mrun.config.default .mrun.config</span></font></p><font color="#000000">Beside many other things, this file contains
+typical installation parameters
+like compiler name, compiler options, etc.
+for a set of different (remote) hosts. Please edit this file, uncomment
+lines like</font><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">#%remote_username
+&nbsp;&lt;replace by your ... username&gt; &nbsp;
+&lt;host identifier&gt;</div><p style="line-height: 100%;"><font color="#000000">by
+removing the first hash (<span style="font-family: Courier New,Courier,monospace;">#</span>)
+character and replace the string "<span style="font-family: Courier New,Courier,monospace;">&lt;replace
+by ...&gt;</span>" by your username on the respective host
+given in the <span style="font-family: Courier New,Courier,monospace;">&lt;host
+identifier&gt;</span>.
+You only have to uncomment lines for those hosts on which you intend to
+use PALM.</font></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold;">Warning:
+When editing the configuration file, please NEVER use the TAB key.
+Otherwise, very confusing errors in mrun execution may occur.</span></font></p><p style="line-height: 100%;"><font color="#000000">Beside the default configuration file</font><font style="font-family: Courier New,Courier,monospace;" color="#000000"> .mrun.config.default</font><font color="#000000">, the directory<span style="font-family: Courier New,Courier,monospace;">
+trunk/SCRIPTS </span>contains additional configuration files
+which are already adjusted for special hosts:<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config.imuk </span>can be used at Hannover University,<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config.riam </span>can
+be used at the Research Institute of Applied Mechanics, Kyushu
+University. These files have to be edited in the same way as described
+above.</font></p><p style="line-height: 100%;"><font color="#000000">After modifying the configuration file, the
+respective executables are generated by executing</font></p><p style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;"><font color="#000000">mbuild -u -h lcmuk<br>mbuild -u -h
+lcsgih</font></p><p style="line-height: 100%;"><font color="#000000">The
+second call also copies the PALM scripts (like <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span>) to the
+remote
+host.</font></p><p style="line-height: 100%;"></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Pre-Compilation
+of PALM Code</span></font></p><font color="#000000">
+</font><br><font color="#000000">To avoid the
+re-compilation of the complete source code for each model run, PALM
+willl be pre-compiled once on the remote host by again using the script
+<span style="font-weight: bold;">mbuild</span>. Due
+to the use of
+FORTRAN modules in the source code, the subroutines must be compiled
+in a certain order. Therefore the so-called <i>make</i>
+mechanism
+is used (see the respective man-page of the Unix operating system),
+requiring a<span style="font-family: Courier New,Courier,monospace;">
+</span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">Makefile</font><font color="#000000">,
+in which the dependencies are described. This file is found in
+subdirectory <span style="font-family: Courier New,Courier,monospace;">trunk/SOURCE</span></font><font color="#000000">, where
+also the PALM code is stored.</font><font color="#000000"> The compiled
+sources (object
+files) are
+stored&nbsp;on the remote computer in the default directory
+</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">~/palm/current_version/MAKE_DEPOSITORY</font>.<font color="#000000"><span style="font-weight: bold;"></span></font><p style="line-height: 100%;"><font color="#000000">The
+pre-compilation for the remote host (here the SGI-ICE system of HLRN)
+is
+done by</font><span style="font-family: monospace;"></span></p><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">mbuild
+-h lcsgih &nbsp;</span></div><p style="line-height: 100%;"><span style="font-family: Courier New,Courier,monospace;">mbuild
+</span>will prompt some queries<font color="#000000">,
+which must all be
+answered "y" by the user. The compiling process </font><font color="#000000">will take some time.<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">mbuild</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"> </span>transfers
+the respective compiler calls to the remote
+host where they are carried out interactively. You can follow the
+progress at the terminal window, where also error messages
+are displayed (hopefully not for this standard installation). By just
+entering </font></p><p style="line-height: 100%;">
+</p><blockquote style="line-height: 100%; font-family: Courier New,Courier,monospace;"><font color="#000000">mbuild</font></blockquote>
+<p style="line-height: 100%;"><font color="#000000">PALM
+will
+be (consecutively) pre-compiled for all remote hosts listed in
+the configuration file. If you want to compile for the local host only,
+please enter</font></p><p style="line-height: 100%; margin-left: 40px;"><font color="#000000"><span style="font-family: Courier New,Courier,monospace;">mbuild
+-h lcmuk</span> </font>
+</p><p style="line-height: 100%;"></p><p style="line-height: 100%; font-weight: bold; text-decoration: underline;"><font color="#000000">Installation Verification</font></p><font color="#000000">As a last step,
+after the compilation has been finished, the PALM installation has to
+be verified. For this
+purpose a simple test run is carried out. This once again requires the <b>mrun
+</b>configuration file (described in </font><a href="chapter_3.2.html"><font color="#000080">chapter
+3.2</font></a><font color="#000000">), as well
+as the </font><a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_cbl_p3d"><font color="#000080">parameter
+file</font></a><font color="#000000">
+(described in </font><a href="chapter_4.4.1.html"><font color="#000080">chapter
+4.4.1</font></a>)<font color="#000000">. The
+parameter file must be
+copied from the PALM working copy by<br>
+</font><div style="margin-left: 40px;"><span style="font-family: monospace;"></span><font style="font-family: Courier New,Courier,monospace;" color="#000000">mkdir -p JOBS/example_cbl/INPUT<br>cp
+trunk/INSTALL/example_cbl_p3d&nbsp;JOBS/example_cbl/INPUT/example_cbl_p3d</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"></span></font></div>
+<p style="line-height: 100%;"><font color="#000000">The
+test run can
+now be started by executing the command </font>
+</p><pre style="margin-left: 1cm; margin-right: 1cm; margin-bottom: 0.5cm; line-height: 100%; font-family: Courier New,Courier,monospace;"><font color="#000000">mrun -d example_cbl -h lcsgih -K parallel -X 8 -T 8 -t 500 -q testq -r &ldquo;d3# pr#&rdquo;</font></pre><font color="#000000">This specific run
+will be carried out on 8 PEs and is allowed to use up to 500 seconds
+CPU time. After pressing &lt;return&gt;, the most important
+settings of
+the job are displayed at the terminal window
+and the user is prompted for o.k. (&ldquo;</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">y</font><font color="#000000">&rdquo;).
+Next, a message of the queuing system like &ldquo;<i>Request</i>
+&hellip;
+<i>Submitted to queue&hellip; by&hellip;&rdquo; </i>should
+be displayed. Now the job is
+queued and either started immediately or at a later time, depending on
+the
+current workload of the remote host. Provided that it is executed
+immediately and that all things work as designed, the job protocol of
+this run will appear under the file name<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">~/job_queue/lcsgih_example</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"> </span>no
+more than a few minutes later. The content of this
+file should be carefully examined for any error messages.</font><p style="line-height: 100%;">
+</p><p style="line-height: 100%;">Beside the job
+protocol and according to
+the configuration file and arguments given for <b>mrun</b>
+options<span style="font-family: Courier New,Courier,monospace;">
+-d </span>and<span style="font-family: Courier New,Courier,monospace;"> -r</span><tt>,</tt>further
+files should be found in
+the
+directories</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example_cbl/MONITORING</div><p style="line-height: 100%;">and</p>
+<p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+</span><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example_cbl/OUTPUT</span><span style="font-family: monospace;"></span><br>
+</p><p style="line-height: 100%;">Please compare the
+contents of file</p>
+<p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
+</span><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example_cbl/MONITORING/lcsgih_example_rc</span><br>
+</p><p style="line-height: 100%;">with those of the
+example result file which can be found under<span style="font-family: Courier New,Courier,monospace;">
+trunk/INSTALL/example_cbl_rc</span>., e.g. by using the<span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;"> standard</span>
+diff </span>command:</p><p style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">diff
+&nbsp;JOBS/example_cbl/MONITORING/lcsgih_example_cbl_rc
+trunk/INSTALL/example_cbl_rc</p><p style="line-height: 100%;">where
+it is assumed that your working directory is<span style="font-family: Courier New,Courier,monospace;">
+~/palm/current_version</span>.</p><span style="font-weight: bold;">You should not find any
+difference between these two files</span>, except of the run date
+and time displayed at the top of the file header. <font color="#000000">If
+the file contents are identical, the installation is successfully
+completed.<br><br></font><p style="line-height: 100%;"></p><p style="line-height: 100%; font-weight: bold; text-decoration: underline;"><font color="#000000"><a name="configuration_for_other_machines"></a>Configuration
+for other machines</font></p><font color="#000000">Starting
+from version 3.2a, beside the default hosts (HLRN, etc.), PALM can also
+be installed and run on other Linux-Cluster-, IBM-AIX, or
+NEC-SX-systems. To configure PALM for a non-default host only requires
+to add some lines to the configuration file<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config</span>.<br><br>First,
+you have to define the host identifier (a string of arbitrary length)
+under which your local host shall be identified by adding a line<br><br></font><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">%host_identifier
+&nbsp;&lt;hostname&gt; &nbsp;&lt;host
+identifier&gt;</span><br></div><br>to the
+configuration file (best to do this in the section where the other
+default host identifiers are defined). Here<span style="font-family: Courier New,Courier,monospace;">
+&lt;hostname&gt; </span>must be the name of your local
+host as provided by the unix-command "<span style="font-family: Courier New,Courier,monospace;">hostname</span>".
+The first characters of<span style="font-family: Courier New,Courier,monospace;">
+&lt;host identifier&gt; </span>have to be "<span style="font-family: Courier New,Courier,monospace;">lc</span>",
+if your system is (part of) a linux-cluster, "<span style="font-family: Courier New,Courier,monospace;">ibm</span>",
+or "<span style="font-family: Courier New,Courier,monospace;">nec</span>"
+in case of an IBM-AIX- or NEC-SX-system, respectively. For example, if
+you want to install on a linux-cluster, the line may read as<br><br><div style="margin-left: 40px;">%host_identifier &nbsp;foo
+&nbsp;lc_bar<br></div><br>In
+the second step, you have to give all informations neccessary to
+compile and run PALM on your local host by adding an additional section
+to the configuration file:<br><br><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">%remote_username&nbsp;&nbsp;
+&lt;1&gt;&nbsp; &nbsp; &nbsp; &lt;host
+identifier&gt; parallel<br>%tmp_user_catalog&nbsp;
+&lt;2&gt; &nbsp;&nbsp;&nbsp;&nbsp; &lt;host
+identifier&gt; parallel<br>%compiler_name&nbsp;&nbsp;&nbsp;&nbsp;
+&lt;3&gt; &nbsp;&nbsp;&nbsp;&nbsp; &lt;host
+identifier&gt; parallel<br>%compiler_name_ser
+&lt;4&gt; &nbsp;&nbsp;&nbsp;&nbsp; &lt;host
+identifier&gt; parallel<br>%cpp_options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&lt;5&gt; &nbsp; &nbsp; &nbsp;&lt;host
+identifier&gt;&nbsp;parallel<br>%netcdf_inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&lt;6&gt; &nbsp;&nbsp;&nbsp;&nbsp; &lt;host
+identifier&gt; parallel<br>%netcdf_lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&lt;7&gt; &nbsp;&nbsp;&nbsp;&nbsp; &lt;host
+identifier&gt; parallel<br>%fopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&lt;8&gt; &nbsp;&nbsp;&nbsp; &nbsp;&lt;host
+identifier&gt; parallel<br>%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&lt;9&gt; &nbsp; &nbsp;
+&nbsp;&lt;host identifier&gt; parallel<br></div><br>The
+section consists of four columns each separated by one or more blanks.
+The first column gives the name of the respective environment variable
+used by <span style="font-weight: bold;">mrun</span>
+and <span style="font-weight: bold;">mbuild</span>,
+while the second column defines its value. The third column has to be
+the host identifier as defined above, and the last column in each line
+must contain the string "<span style="font-family: Courier New,Courier,monospace;">parallel</span>".
+Otherwise, the respective line(s) will be interpreted as belonging to
+the setup for compiling and running a serial (non-parallel) version of
+PALM.<br><br>All brackets have to be replaced by the
+appropriate settings for your local host:<br><ul><li><span style="font-family: Courier New,Courier,monospace;">&lt;1&gt;
+</span>is the username on your LOCAL host</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;2&gt;
+</span>is the temporary directory in which PALM runs will be
+carried out</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;3&gt;
+</span>is the compiler name which generates parallel code</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;4&gt;
+</span>is the compiler name for generating serial code</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;5&gt;
+</span>are
+the preprocessor options to be invoked. In most of the cases, it will
+be neccessary to adjust the MPI data types to double precision by
+giving <span style="font-family: Courier New,Courier,monospace;">-DMPI_REAL=MPI_DOUBLE_PRECISION
+-DMPI_2REAL=MPI_2DOUBLE_PRECISION</span>. To switch on the NetCDF
+support, you also have to give <span style="font-family: Courier New,Courier,monospace;">-D__netcdf</span>
+and <span style="font-family: Courier New,Courier,monospace;">-D__netcdf_64bit</span>
+(if you like to have 64bit NetCDF output).</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;6&gt;
+</span>is the compiler option for specifying the include path to
+search for the NetCDF module/include files</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;7&gt;
+</span>are the linker options to search for the NetCDF library</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;8&gt;
+</span>are the general compiler options to be used. You should
+allways switch on double precision (e.g. <span style="font-family: Courier New,Courier,monospace;">-r8</span>)
+and code optimization (e.g. <span style="font-family: Courier New,Courier,monospace;">-O2</span>).</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;9&gt;
+</span>are the linker options</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;host
+identifier&gt; </span>is the host identifier as defined
+before</li></ul><br>A typical example may be:<br><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">%remote_username&nbsp;&nbsp;
+raasch &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; &nbsp;lc_bar parallel<br>%tmp_user_catalog&nbsp;
+/tmp&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;&nbsp;lc_bar
+parallel<br>%compiler_name&nbsp;&nbsp;&nbsp;&nbsp;
+mpif90&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
+parallel<br>%compiler_name_ser
+ifort&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
+parallel<br>%cpp_options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit&nbsp;&nbsp;
+lc_bar parallel<br>%netcdf_inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-I:/usr/local/netcdf/include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+lc_bar parallel<br>%netcdf_lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-L/usr/local/netcdf/lib:-lnetcdf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+lc_bar parallel<br>%fopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-axW:-cpp:-openmp:-r8:-nbs &nbsp; &nbsp; &nbsp;
+&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; lc_bar parallel<br>%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-axW:-cpp:-openmp:-r8:-nbs:-Vaxlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lc_bar
+parallel<br></div><br>Currently (version 3.2a),
+depending on the MPI
+version which is running on your local host, the options for the
+execution command (which may be <span style="font-family: Courier New,Courier,monospace;">mpirun</span>
+or <span style="font-family: Courier New,Courier,monospace;">mpiexec</span>)
+may have to be adjusted manually in the mrun-script. A future version
+will allow to give the respective settings in the configuration file.
+<p style="line-height: 100%;">If you have any problems
+with the PALM
+installation, the members of the PALM working group are pleased to
+help you. &nbsp; </p>
+<hr><p style="line-height: 100%;"><font color="#000080"><font color="#000080"><a href="chapter_4.6.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="up" src="up.gif" name="Grafik2"></font></a><a href="chapter_5.1.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last
+change:&nbsp;</i> $Id: chapter_5.0.html 287 2009-04-09
+08:59:36Z raasch $</p>
+</body></html>
Index: palm/tags/release-3.7/DOC/app/chapter_5.1.html
===================================================================
--- palm/tags/release-3.7/DOC/app/chapter_5.1.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/chapter_5.1.html	(revision 393)
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 5.1</title>
+<meta content="StarOffice 7 (Win32)" name="GENERATOR">
+<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041103;12395815" name="CREATED"> <meta content="20041119;12321236" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"></head>
+<body style="direction: ltr;" lang="en-US"><h3>5.1
+Installation of new / other versions, version update</h3>
+<p>The PALM&nbsp;group announces code revisions by emails
+send to the
+PALM mailing list. If you like to be put on this list, just send an
+email to <a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>.
+Details about new releases can be found in the
+<a href="../tec/technical_documentation.html">technical/numerical
+documentation</a>.</p><p>Generally,
+there are two ways of installing new / other versions. You can install
+a version from the list of available PALM releases or you can update
+your current installation with the newest developer version of PALM.</p><p>If you have previously checked out the most recent (at that time)  PALM developer version by using</p><p style="margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout ...../palm/trunk trunk &nbsp; &nbsp; ,</p><p>you can easily make an update to the newest version by
+changing into
+the working directory<span style="font-family: Courier New,Courier,monospace;">
+~/palm/current_version
+</span>and executing<span style="font-family: Courier New,Courier,monospace;"></span></p><p style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">svn
+update trunk</span></p><p><span style="font-family: Courier New,Courier,monospace;"></span>This
+updates all files in the PALM working copy in subdirectory<span style="font-family: Courier New,Courier,monospace;"> trunk</span>.
+The update may fail due&nbsp;the&nbsp;<span style="font-weight: bold;">subversion</span> rules, if
+you have modified the contents of<span style="font-family: Courier New,Courier,monospace;"> trunk</span>.
+In case of any conflicts with the repository, please refer to the <span style="font-weight: bold;">subversion</span>
+documentation on how to remove them.&nbsp;In order to avoid such
+conflicts, modifications of the default PALM code should be omitted and
+be restricted to the user-interface only
+(see <a href="chapter_3.5.html">chapter
+3.5</a>).</p>
+
+<p>Alternatively, you can install new or other releases in a
+different directory, eg.</p><p style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">mkdir
+~/palm/release-3.1c</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">cd
+~/palm/release-3.1c</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">svn
+checkout --username &lt;your username&gt;
+svn://130.75.105.45/palm/tags/release-3.1c trunk</span></p>
+<p>However, this would require to carry out again the complete
+installation process described in chapter 5.0. So far, differet
+versions of PALM cannot be used at the same time. The PALM releases from<span style="font-family: Courier New,Courier,monospace;"> palm/tags&nbsp;</span>never have to be updated with "<span style="font-family: Courier New,Courier,monospace;">svn update</span>", since these releases are frozen!</p><p>After
+updating the working copy, please check for any differences between
+your current configuration file (<span style="font-family: Courier New,Courier,monospace;">.mrun.config</span>)
+and the default configuration file under<span style="font-family: Courier New,Courier,monospace;">
+trunk/SCRIPTS/.mrun.config.default </span>and adjust your
+current file, if neccessary.</p><p>The scripts and the
+pre-compiled code must then be updated
+via</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">mbuild
+-u -h lcmuk<br>mbuild -u -h ibmh<br>mbuild -h ibmh</div><p>or
+via</p>
+
+<blockquote style="font-family: Courier New,Courier,monospace;">mbuild
+-u<br>mbuild</blockquote>
+<p>on all remote hosts listed in the configuration file<span style="font-family: Courier New,Courier,monospace;">
+.mrun.config</span>.</p><p>You
+can use "subversion" for code comparison between the different
+versions. Also,&nbsp;modified code can be committed to the repository,
+but this is restricted to&nbsp;PALM developers. </p>
+<p>As a last step, a suitable test run should be carried out. It
+should
+be carefully examined whether and how the results created by the new
+version differ from those of the old version. Possible discrepancies
+which go beyond the ones announced in the <a href="../tec/technical_documentation.html">technical/numerical
+documentation</a>
+should be communicated as soon as possible to the PALM group.
+</p><hr>
+<p><br><font color="#000080"><font color="#000080"><a href="chapter_5.0.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font><br>
+&nbsp;
+<br>&nbsp;<span style="font-style: italic;">Last
+change:</span> $Id$<br>
+</p></body></html>
Index: palm/tags/release-3.7/DOC/app/index.html
===================================================================
--- palm/tags/release-3.7/DOC/app/index.html	(revision 393)
+++ palm/tags/release-3.7/DOC/app/index.html	(revision 393)
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns="http://www.w3.org/TR/REC-html40" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml"><head>
+
+
+  
+  <meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
+
+  
+  <meta content="Word.Document" name="ProgId">
+
+  
+  <meta content="Microsoft Word 11" name="Generator">
+
+  
+  <meta content="Microsoft Word 11" name="Originator">
+
+  
+  <link href="index-Dateien/filelist.xml" rel="File-List">
+
+  
+  <link href="index-Dateien/editdata.mso" rel="Edit-Time-Data"><!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]--><title>PALM table of contents</title><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:HyphenationZone>21</w:HyphenationZone>
+  <w:ValidateAgainstSchemas/>
+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
+ </w:LatentStyles>
+</xml><![endif]-->
+
+  
+
+
+  
+
+  
+  <style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Thorndale;
+	panose-1:2 2 6 3 5 4 5 2 3 4;
+	mso-font-charset:0;
+	mso-generic-font-family:roman;
+	mso-font-pitch:variable;
+	mso-font-signature:647 0 0 0 159 0;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	color:black;}
+a:link, span.MsoHyperlink
+	{color:blue;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:blue;
+	text-decoration:underline;
+	text-underline:single;}
+p
+	{mso-margin-top-alt:auto;
+	margin-right:0cm;
+	mso-margin-bottom-alt:auto;
+	margin-left:0cm;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	color:black;}
+span.SpellE
+	{mso-style-name:"";
+	mso-spl-e:yes;}
+span.GramE
+	{mso-style-name:"";
+	mso-gram-e:yes;}
+@page Section1
+	{size:595.3pt 841.9pt;
+	margin:70.85pt 70.85pt 2.0cm 70.85pt;
+	mso-header-margin:35.4pt;
+	mso-footer-margin:35.4pt;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+  </style><!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Normale Tabelle";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
+	mso-para-margin:0cm;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-ansi-language:#0400;
+	mso-fareast-language:#0400;
+	mso-bidi-language:#0400;}
+</style>
+<![endif]-->
+  
+  <meta content="Marcus Oliver Letzel" name="AUTHOR">
+
+  
+  <meta content="20041117;10075861" name="CREATED">
+
+  
+  <meta content="20041119;12040014" name="CHANGED">
+
+  
+  <meta content="parallel LES model" name="KEYWORDS"><!--[if gte mso 9]><xml>
+ <u1:DocumentProperties>
+  <u1:Author>pooluser</u1:Author>
+  <u1:LastAuthor>pooluser</u1:LastAuthor>
+  <u1:Revision>2</u1:Revision>
+  <u1:Created>2004-11-19T10:58:00Z</u1:Created>
+  <u1:LastSaved>2004-11-19T10:59:00Z</u1:LastSaved>
+  <u1:Pages>1</u1:Pages>
+  <u1:Words>559</u1:Words>
+  <u1:Characters>3522</u1:Characters>
+  <u1:Company>IMUK</u1:Company>
+  <u1:Lines>29</u1:Lines>
+  <u1:Paragraphs>8</u1:Paragraphs>
+  <u1:CharactersWithSpaces>4073</u1:CharactersWithSpaces>
+  <u1:Version>11.6360</u1:Version>
+ </u1:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <u2:WordDocument>
+  <u2:SpellingState>Clean</u2:SpellingState>
+  <u2:GrammarState>Clean</u2:GrammarState>
+  <u2:HyphenationZone>21</u2:HyphenationZone>
+  <u2:ValidateAgainstSchemas/>
+  <u2:SaveIfXMLInvalid>false</u2:SaveIfXMLInvalid>
+  <u2:IgnoreMixedContent>false</u2:IgnoreMixedContent>
+  <u2:AlwaysShowPlaceholderText>false</u2:AlwaysShowPlaceholderText>
+  <u2:BrowserLevel>MicrosoftInternetExplorer4</u2:BrowserLevel>
+ </u2:WordDocument>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <u3:LatentStyles DefLockedState="false" LatentStyleCount="156">  </u3:LatentStyles>
+</xml><![endif]--></head><body style="" lang="DE" link="blue" vlink="blue">
+
+<div class="Section1">
+<p style="margin-bottom: 0.0001pt;"><span style="font-size: 36pt; font-family: Thorndale;">PALM </span><span style="font-family: Thorndale;">a <span class="SpellE"><b>pa</b>rallelized</span>
+<b>L</b>ES <span class="SpellE"><b>m</b>odel</span>
+<o:p></o:p></span></p>
+
+<div style="text-align: center;" class="MsoNormal" align="center"><span style="font-family: Thorndale;">
+<hr align="center" size="2" width="100%"></span></div>
+
+<p><span style="font-family: Thorndale;" lang="EN-GB"><br>
+
+</span><span style="font-size: 18pt; font-family: Thorndale;" lang="EN-GB">Documentation </span><span style="font-family: Thorndale;" lang="EN-GB"><o:p></o:p></span></p>
+
+<p><span style="font-family: Thorndale;" lang="EN-GB">Current
+model
+version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.7<br>
+For date of last change see bottom line of each page. <o:p></o:p></span></p>
+
+<div style="text-align: center;" class="MsoNormal" align="center"><span style="font-family: Thorndale;">
+<hr align="center" size="2" width="100%"></span></div>
+
+<p><span style="font-size: 18pt; font-family: Thorndale;" lang="EN-GB">Table
+of contents</span><span style="font-family: Thorndale;" lang="EN-GB"> <br>
+
+&nbsp; <o:p></o:p></span></p>
+
+<p style="margin-left: 36pt;"><span style="font-family: Thorndale;"><a href="chapter_1.0.html"><span style="" lang="EN-GB">1.0</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Introduction <o:p></o:p></span></p>
+
+<p style="margin-left: 36pt;"><span style="font-family: Thorndale;"><a href="chapter_2.0.html"><span style="" lang="EN-GB">2.0</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Basic
+techniques of the LES model and its parallelization <o:p></o:p></span></p>
+
+<p style="margin: 5pt 0cm 0.0001pt 36pt;"><span style="font-family: Thorndale;"><a href="chapter_3.0.html"><span style="" lang="EN-GB">3.0</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Execution of
+model runs<o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 0.0001pt 72pt;"><span style="font-family: Thorndale;"><a href="chapter_3.1.html"><span style="" lang="EN-GB">3.1</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Job control
+with <span class="SpellE"><b>mrun</b></span> <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.2.html"><span style="" lang="EN-GB">3.2</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Example of a
+minimum configuration file <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.3.html"><span style="" lang="EN-GB">3.3</span></a></span><span style="font-family: Thorndale;" lang="EN-GB">
+Initialization and restart runs <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.4.html"><span style="" lang="EN-GB">3.4</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Input and
+output files <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.5.html"><span style="" lang="EN-GB">3.5</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Programming
+of user-defined code extensions <o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 0.0001pt 108pt;"><span style="font-family: Thorndale;"><a href="chapter_3.5.1.html"><span style="" lang="EN-GB">3.5.1</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Interfaces for
+user-defined&nbsp; code <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.5.2.html"><span style="" lang="EN-GB">3.5.2</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Definition of
+user-defined parameters <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.5.3.html"><span style="" lang="EN-GB">3.5.3</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Definition of
+<span class="SpellE">user-defined subdomains</span></span></p>
+<p style="margin: 0cm 0cm 0.0001pt 108pt;"><span style="font-family: Thorndale;" lang="EN-GB"><span class="SpellE"></span> <a href="chapter_3.5.4.html">3.5.4</a> User-defined output quantities<br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_3.5.5.html"><span style="" lang="EN-GB">3.5.5</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Compiling and linking
+user-defined code <o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 5pt 72pt;"><span style="font-family: Thorndale;"><a href="chapter_3.6.html"><span style="" lang="EN-GB">3.6</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Interactive mode and
+debugging <br>
+
+</span><span style="font-family: Thorndale;"></span><span style="font-family: Thorndale;" lang="EN-GB"><a href="chapter_3.7.html">3.7</a> Optional
+software packages</span><span style="font-family: Thorndale;" lang="EN-GB"><br>
+
+</span><span style="font-family: Thorndale;"></span><span style="font-family: Thorndale;" lang="EN-GB"><a href="chapter_3.8.html">3.8</a> Coupled model runs<br><a href="chapter_3.9.html">3.9</a> Setup for turbulent inflow</span></p>
+
+<p style="margin: 12pt 0cm 0.0001pt 36pt;"><span style="font-family: Thorndale;"><a href="chapter_4.0.html"><span style="" lang="EN-GB">4.0</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Steering
+parameters <o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 0.0001pt 72pt;"><span style="font-family: Thorndale;"><a href="chapter_4.1.html"><span style="" lang="EN-GB">4.1</span></a></span><span style="font-family: Thorndale;" lang="EN-GB">
+Initialization parameters <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.2.html"><span style="" lang="EN-GB">4.2</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Runtime
+parameters and package parameters <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.3.html"><span style="" lang="EN-GB">4.3</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> User-defined
+parameters <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.4.html"><span style="" lang="EN-GB">4.4</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Examples of parameter sets</span></p>
+<div style="margin-left: 120px;">&nbsp; <a href="chapter_4.4.1.html">4.4.1</a> A minimum parameter set for the CBL<br>
+&nbsp; <a href="chapter_4.4.2.html">4.4.2</a> A parameter set for ocean runs</div>
+<p style="margin: 0cm 0cm 0.0001pt 72pt;"><span style="font-family: Thorndale;" lang="EN-GB">
+</span><span style="font-family: Thorndale;"><a href="chapter_4.5.html"><span style="" lang="EN-GB">4.5</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Data analysis and
+visualization <o:p></o:p></span></p>
+
+
+<p style="margin: 0cm 0cm 0.0001pt 108pt;"><span style="font-family: Thorndale;"><a href="chapter_4.5.1.html"><span style="" lang="EN-GB">4.5.1</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> NetCDF data output<b></b><br>
+
+<a href="chapter_4.5.2.html">4.5.2</a> </span><span style="font-family: Thorndale;" lang="EN-GB">Plots of
+vertical profiles with <b>profil</b></span><br>
+
+<span style="font-family: Thorndale;"><a href="chapter_4.5.3.html"><span style="" lang="EN-GB">4.5.3</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Plots of time
+series with <b>profil</b> <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.5.4.html"><span style="" lang="EN-GB">4.5.4</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Plots of 2D
+cross sections with <b>iso2d</b> <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.5.5.html"><span style="" lang="EN-GB">4.5.5</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Plots of 3D
+volume data with <b>AVS</b> <br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.5.6.html"><span style="" lang="EN-GB">4.5.6</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Plots of
+compressed 3D volume data with <b>AVS</b><br>
+
+</span><span style="font-family: Thorndale;"><a href="chapter_4.5.7.html"><span style="" lang="EN-GB">4.5.7</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Plots of <span class="SpellE">isosurfaces</span>, 2D cross sections and particles
+with <span class="SpellE"><b>dvrp</b></span><o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 5pt 72pt;"><span style="font-family: Thorndale;"><a href="chapter_4.6.html"><span style="" lang="EN-GB">4.6</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Listing of the steering
+parameters in alphabetical&nbsp; order<o:p></o:p></span></p>
+
+<p style="margin: 12pt 0cm 0.0001pt 36pt;"><span style="font-family: Thorndale;"><a href="chapter_5.0.html"><span style="" lang="EN-GB">5.0</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> Installation
+of the model <o:p></o:p></span></p>
+
+<p style="margin: 0cm 0cm 5.1pt 72pt;"><span style="font-family: Thorndale;"><a href="chapter_5.1.html">5.1</a>
+Installation of <span class="SpellE">new</span><span class="SpellE"></span> / other
+<span class="SpellE">versions, version update</span></span><span style="font-family: Thorndale;" lang="EN-GB"></span>
+
+</p><p style="margin: 12pt 0cm 0.0001pt 36pt;"><span style="font-family: Thorndale;"><a href="appendix_a.html"><span style="" lang="EN-GB">Appendix A</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> PALM error messages</span></p>
+<font color="#000000">&nbsp;
+<br>
+
+&nbsp;
+<span style="font-style: italic;">Last change:</span>
+$Id$<br>
+
+</font></div>
+
+</body></html>
Index: palm/tags/release-3.7/DOC/misc/Tsubame.html
===================================================================
--- palm/tags/release-3.7/DOC/misc/Tsubame.html	(revision 393)
+++ palm/tags/release-3.7/DOC/misc/Tsubame.html	(revision 393)
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<xsscleaned_taghttp-equiv ="content-type" content="text/html; charset=windows-1252"></xsscleaned_taghttp-equiv><title>Tsubame</title><style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+</style></head>
+<body style="direction: ltr;" lang="en-US"> <xsscleaned_tagname ="generator" content="StarOffice 7 (Win32)"></xsscleaned_tagname>
+<xsscleaned_tagname ="author" content="Siegfried Raasch"></xsscleaned_tagname>
+<xsscleaned_tagname ="created" content="20040809;13460943"></xsscleaned_tagname>
+<xsscleaned_tagname ="changed" content="20041112;15085727"></xsscleaned_tagname>
+<xsscleaned_tagname ="keywords" content="parallel LES model"></xsscleaned_tagname>
+<h3 style="line-height: 100%;">Tsubame</h3>
+<p style="line-height: 100%;">This document contains local
+support information for PALM users on the Linux Cluster <span style="font-weight: bold;">Tsubame</span> of the Tokyo
+Institute of Technology, Tokyo, Japan (<a href="http://www.gsic.titech.ac.jp/%7Eccwww">http://www.gsic.titech.ac.jp/~ccwww</a>).
+Japanese and English user manuals are available for download (<a href="http://www.gsic.titech.ac.jp/%7Eccwww/tebiki">http://www.gsic.titech.ac.jp/~ccwww/tebiki</a>).</p><h4>Subversion</h4><p><span style="text-decoration: underline;">Installation:</span><br>The
+following lines should be added to your <code><span style="font-family: Courier New,Courier,monospace;">~/.profile</span></code> (for ksh users - create if necessary) or <code>~/.bashrc</code> (for bash users). These settings will be active from the next login.<span style="font-family: Courier New,Courier,monospace;"></span></p><span style="font-family: Courier New,Courier,monospace;"><code>export
+LD_LIBRARY_PATH=~mkanda/svn/lib</code></span><code><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
+export PATH=~mkanda/svn/bin:$PATH</span></code><span style="text-decoration: underline;"><br></span><p><span style="text-decoration: underline;">Usage:</span><br>Since
+Tsubame is located behind a firewall, the usual&nbsp;address  <a class="fixed" href="svn://130.75.105.45" target="_blank">svn://130.75.105.45</a>&nbsp;is unreachable from Tsubame. Instead, please login to media-o
+and use&nbsp;<a class="fixed" href="svn://p9c.cc.titech.ac.jp:36900" target="_blank">svn://p9c.cc.titech.ac.jp:36900</a>.
+This port works in both directions, i.e. for <code>svn update</code> as well as <code>svn commit</code> commands.</p><h4>Batch system<br></h4><p>The implementation of the <span style="font-weight: bold;">n1ge</span> command on
+Tsubame requires modifications to&nbsp;<span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">subjob</span> for PALM to
+run on Tsubame. Since <span style="font-weight: bold;">mrun</span>
+must be executed on one PE only, a one-PE "submitting job" is created
+when the user calls <span style="font-weight: bold;">mrun</span>.
+At the time when this "submitting job" is actually executed, it starts
+the main PALM job in the foreground. However, this only works if
+enough resources are available at that time. Therefore PALM users on
+Tsubame are advised to consider the queue load of the available queues
+for the main job (<code>qstat -g c</code>) before job submission.</p><p>According
+to the current queue configuration (<a href="http://www.gsic.titech.ac.jp/%7Eccwww/tgc/q_e.html">http://www.gsic.titech.ac.jp/~ccwww/tgc/q_e.html</a>),
+the following <span style="font-weight: bold;">mrun</span>
+options are available:</p><table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td><span style="font-weight: bold;">mrun</span> option</td><td>explanation</td><td>possible
+values</td><td>default value</td></tr><tr><td><code>-q</code></td><td>queue
+name for main job</td><td>novice,&nbsp;sla1, sla2,
+sla3, RAM64GB, RAM128GB</td><td>sla3</td></tr><tr><td><code>-n</code></td><td>queue
+name for "submitting job" (always runs on 1 PE only)</td><td>novice,
+sla1, sla2, sla3</td><td>sla3</td></tr><tr><td><code>-g</code></td><td>group number</td><td>name of the N1GE_GROUP that is required to utilize the bes or sla queues</td><td>none</td></tr></tbody></table><p>Note that the default value "sla3" of the
+<span style="font-weight: bold;">mrun</span> option <code>-q</code> may
+not always be the best choice. For code development, debugging or short
+test runs the value "novice" for both options may be suitable.
+Production runs should use the respective production queues (see <a href="http://www.gsic.titech.ac.jp/%7Eccwww/tgc/q_e.html">http://www.gsic.titech.ac.jp/~ccwww/tgc/q_e.html</a> for details). In the past the queueing system on Tsubame has undergone several changes, so this information may change.</p><p>The
+computer center advised us that due to restrictions of the batch system
+the value "novice" should not be mixed with the other queues. Please
+specify either a combination of sla<span style="font-style: italic;">n</span> for <code>-n</code> and sla<span style="font-style: italic;">n</span> or RAM<span style="font-style: italic;">*</span> for <code>-q</code>, or specify the combination "novice" + "novice".</p><p>The group number contains the accounting information. You must specify it using the&nbsp;<span style="font-weight: bold;">mrun</span> option <code>-g</code>. Alternatively, you may set also a default value in your <code><span style="font-family: Courier New,Courier,monospace;">.mrun.config </span></code>file like this:</p><p><code>%group_number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+12345678
+&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;&nbsp;&nbsp;&nbsp;
+lctit parallel<br></code></p><p>The <span style="font-weight: bold;">mrun</span> option <code><span style="font-family: Courier New,Courier,monospace;">-t</span></code>
+contains the CPU time demand for the main job<span style="font-weight: bold;"> in s</span> which will be
+automatically converted into min for the <span style="font-weight: bold;">n1ge</span> command. The
+option <code><span style="font-family: Courier New,Courier,monospace;">-m</span></code>
+contains the memory demand for the main job <span style="font-weight: bold;">in MB</span> which will be
+automatically converted into GB for the <span style="font-weight: bold;">n1ge</span> command.</p><p>Finally, PALM batch jobs on Tsubame require the&nbsp;<span style="font-weight: bold;">mrun</span> option <code>-b</code>.</p><h4>NetCDF</h4><p>In order to use <a href="http://www.unidata.ucar.edu/software/netcdf" target="_top">NetCDF</a> commands like <code>ncdump</code>&nbsp;and the graphical NetCDF tools <a href="http://www.ncl.ucar.edu" target="_top">NCL</a>,&nbsp;<a href="http://meteora.ucsd.edu/%7Epierce/ncview_home_page.html" target="_top">Ncview</a> and <a href="http://ferret.pmel.noaa.gov/Ferret" target="_top">Ferret</a>, please add the following lines to  <code><span style="font-family: Courier New,Courier,monospace;">~/.profile</span></code> (for ksh users) or <code>~/.bashrc</code> (for bash users):</p><p><code># NetCDF<br>export PATH=$PATH:~mkanda/netcdf-3.6.2/bin:~mkanda/netcdf-3.6.2/include<br><br></code><code># NCL<br>export NCARG_ROOT=~mkanda/ncl<br>PATH=~mkanda/ncl/bin:$PATH<br><br># Ncview<br>export PATH=$PATH:~mkanda/ncview/bin<br>export XAPPLRESDIR=~mkanda/.app-defaults</code></p><p><code># Ferret<br>export FER_DIR=~mkanda/ferret<br>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FER_DIR/lib<br>export PATH=$PATH:$FER_DIR:$FER_DIR/bin<br>export FER_DSETS=$FER_DIR<br>export FER_WEB_BROWSER=firefox<br>export FER_EXTERNAL_FUNCTIONS="$FER_DIR/lib"<br>export FER_GO=". $FER_DIR/go $FER_DIR/examples $FER_DIR/contrib"<br>export FER_DATA="."<br>export FER_DESCR="."<br>export FER_GRIDS=". $FER_DSETS/grids"<br>export TMAP="$FER_DIR/fmt"<br>export PLOTFONTS="$FER_DIR/ppl/fonts"<br>export SPECTRA="$FER_DIR/ppl"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # for old ferret versions<br>export FER_PALETTE=". $FER_DIR/ppl"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # palette search list<br></code></p><i><br>Last
+change:</i>&nbsp; $Id$</body></html>
Index: palm/tags/release-3.7/DOC/misc/plant_canopy_model.tex
===================================================================
--- palm/tags/release-3.7/DOC/misc/plant_canopy_model.tex	(revision 393)
+++ palm/tags/release-3.7/DOC/misc/plant_canopy_model.tex	(revision 393)
@@ -0,0 +1,109 @@
+\documentclass[11pt,a4paper,titlepage]{scrreprt}
+\documentstyle[Flow]
+\usepackage{graphics}
+\usepackage{german}
+\usepackage{chimuk}
+\usepackage{bibgerm}
+\usepackage{a4wide}
+\usepackage{amsmath}
+\usepackage{flafter}
+\usepackage[dvips]{epsfig}
+\usepackage{texdraw}
+\usepackage{supertabular}
+\usepackage{longtable}
+\usepackage{scrpage}
+\usepackage{fancyheadings}
+\usepackage{flow}
+\frenchspacing
+\sloppy
+\pagestyle{fancyplain}
+\addtolength{\headheight}{\baselineskip}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter~~#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead{\fancyplain{}{\bfseries\leftmark}}
+\rhead{}
+%\begin{titlepage}
+%\author{Gerald Steinfeld}
+%\title{Prandtl layer parameterisation in PALM}
+%\end{titlepage}
+\begin{document}
+%\maketitle
+%\tableofcontents
+\pagebreak
+
+\chapter{Plant canopy model in PALM}
+The basic equations used in the LES are the Navier-Stokes equations using the Boussinesq approximation (conservation of momentum; equation \ref{NSG}), 
+the equation of continuity (conservation of mass; equation \ref{KON}), the first law of thermodynamics (conservation of energy; equation \ref{1HS}) and 
+the conservation equation for a passive scalar (equation \ref{CPS}). All equations are filtered (in PALM by averaging over a discrete grid volume) in 
+order to eliminate small-scale perturbations. Thus, the set of equations on that the LES model PALM is based is formed by the following equations:  
+
+\begin{equation} \label{NSG}
+\frac{\partial \overline{u}_i}{\partial t} = - \frac{\partial}{\partial x_k} \overline{u}_k \overline{u}_i - \frac{1}{\rho_0} \frac{\partial \overline{p^{\ast}}}{\partial x_i} - \left ( \epsilon_{ijk} f_j \overline{u}_k - \epsilon_{i3k} f_3 u_{g_k} \right ) + g \frac{\overline{\Theta^{\ast}}}{\Theta_0} \delta_{i3} - \frac{\partial}{\partial x_k} \overline{u_i'u_k'} - c_d a U \overline{u}_i
+\end{equation}
+
+\begin{equation} \label{KON} 
+\frac{\partial \overline{u}}{\partial x_i} = 0
+\end{equation}
+
+\begin{equation} \label{1HS}
+\frac{\partial \overline{\Theta}}{\partial t} = - \frac {\partial}{\partial x_k} \overline{u}_k \overline{\Theta} - \frac{\partial}{\partial x_k} \overline{u_k'\Theta'} + S
+\end{equation}
+
+\begin{equation} \label{CPS}
+\frac{\partial \overline s}{\partial t} = - \frac{\partial}{\partial x_k} \overline{u}_k \overline{s} - \frac{\partial}{\partial x_k} \overline{u_k's'} - c_s a U \left ( \overline{s} - s_l \right )
+\end{equation}
+
+The overline denotes filtered variables, while the prime denotes sub-gridscale, local spatial fluctuations at time t that are not resolved by the model; 
+the star denotes a departure of the basic state that is marked by a subscript $0$ and that varies only 
+with height; $u_i$ is the velocity in the $x_i$-direction; $\rho$ is the air density; $p$ is the pressure; $f_i=(0,2\Omega cos(\phi),2\Omega sin(\phi))$ 
+is the Coriolis parameter with the angular velocity of the earth $\Omega$; ${u_g}_i$ denotes the components of the geostrophic wind; $g$ is the 
+acceleration due to gravity; $\Theta$ is the potential temperature and $s$ denotes the concentration of a passive scalar.
+The sub-gridscale fluxes in equations \ref{NSG}, \ref{1HS} and \ref{CPS} are parameterised by a 1.5-order closure model using resolved-scale variables 
+and the sub-gridscale turbulent kinetic energy $\overline{e}$. Thus, an additional prognostic equation has to be solved for the sub-gridscale turbulent 
+kinetic energy $\overline{e}$:     
+
+\begin{equation} \label{TKE}
+\frac{\partial \overline e}{\partial t} = - \frac{\partial}{\partial x_k} \overline{u}_k \overline{e} - \tau_{ij} \frac{\partial \overline{u}_i}{\partial x_j} + \frac{g}{\Theta_0} \overline{u_3'\Theta_j'} - \frac{\partial}{\partial x_j} \left ( \overline{u_j' \left ( e + \frac{p'}{\rho_0} \right ) } \right ) - \epsilon - 2 c_d a U \overline{e}.
+\end{equation}
+
+Here, $\tau_{ij}$ denotes the sub-gridscale stress tensor. The final terms in equations \ref{NSG}, \ref{1HS}, \ref{CPS} and \ref{TKE} represent the sink 
+or source of momentum, heat and the passive scalar due to canopy elements, respectively. Thus, these terms do only occur within the plant canopy, while 
+they vanish outside the plant canopy (in PALM this distinction between canopy layer and the remaining area is realised by the specification of a height 
+index that contains the information up to which vertical grid level the plant canopy extends; the additional terms for the plant canopy layer are 
+only evaluated for grid levels smaller or equal that plant canopy height index). The additional, canopy related source and sink sources, are considered in 
+PALM in the same way as in the models of WATANABE (2004, Boundary-Layer Meteorol., 112, 307-341) and SHAW AND SCHUMANN 
+(1992, Boundary-Layer Meteorol., 61, 47-64).   
+$c_d$ and $c_s$ are the leaf drag coefficient and the scalar exchange 
+coefficient for a leaf, respectively; $a$ is the leaf area density; $U$ is the instantaneous local wind speed, defined as 
+\begin{equation}
+U = \left (  \overline{u}^2 + \overline{v}^2 + \overline{w}^2 \right )^{\frac{1}{2}},
+\end{equation}
+and $s_l$ is the scalar concentration at a leaf surface. 
+The heat source distribution $S(z)$ in convective conditions has been given by BROWN AND COVEY (1966, Agric. Meteorol., 3, 73-96) and SHAW AND SCHUMANN 
+(1992). The assumption that leads to the heat source distribution is that short-wave solar radiation penetrates the plant canopy and warms the foliage 
+which, in turn, warms the air in contact with it. The heat source is distributed in such a way that the heat flux $Q$ at the top of the canopy, $z=h$, is 
+prescribed and that the heat flux within the canopy follows a declining exponential function of the downward cumulative leaf area index. The decline of 
+heat flux with decreasing height is similar to the decline of net radiation that has been described by BROWN AND COVEY (1966). The heat source $S(z)$ that 
+is included in equation \ref{1HS} is the vertical derivative of the upward kinematic vertical heat flux $Q$   
+\begin{equation}
+S = \frac{\partial Q}{\partial z}.
+\end{equation}
+According to the explanations given above the upward kinematic vertical heat flux $Q$ is evaluated as
+\begin{equation} \label{kvh}
+Q(z) = Q(h) exp(- \alpha F(z)),
+\end{equation}
+where $F$ is the downward cumulative leaf area index (non-dimensional) determined by integration over the leaf area density $a$ 
+\begin{equation}
+F = \int_z^h a dz
+\end{equation}
+and $\alpha$ is an extinction coefficient that is set by default to 0.6 in PALM.
+
+The final term in equation \ref{TKE} represents the sink for sub-gridscale turbulent kinetic energy 
+due to the rapid dissipation of wake turbulence formed in the lee of canopy elements. This term is included 
+on the assumption that individual wake motions behind canopy elements are of even smaller scale than those 
+making up the bulk of sub-gridscale kinetic energy. For simulations in that the grid length is of the 
+order of the scale of wake turbulence modifications within equation \ref{TKE} might be necessary. KANDA 
+AND HINO (1994, Boundary-Layer Meteorol., 68, 237-257) made a suggestion how equation \ref{TKE} has to be 
+modified for such cases. 
+
+\end{document}
Index: palm/tags/release-3.7/DOC/misc/prandtl_layer.tex
===================================================================
--- palm/tags/release-3.7/DOC/misc/prandtl_layer.tex	(revision 393)
+++ palm/tags/release-3.7/DOC/misc/prandtl_layer.tex	(revision 393)
@@ -0,0 +1,249 @@
+\documentclass[11pt,a4paper,titlepage]{scrreprt}
+\documentstyle[Flow]
+\usepackage{graphics}
+\usepackage{german}
+\usepackage{chimuk}
+\usepackage{bibgerm}
+\usepackage{a4wide}
+\usepackage{amsmath}
+\usepackage{flafter}
+\usepackage[dvips]{epsfig}
+\usepackage{texdraw}
+\usepackage{supertabular}
+\usepackage{longtable}
+\usepackage{scrpage}
+\usepackage{fancyheadings}
+\usepackage{flow}
+\frenchspacing
+\sloppy
+\pagestyle{fancyplain}
+\addtolength{\headheight}{\baselineskip}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter~~#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead{\fancyplain{}{\bfseries\leftmark}}
+\rhead{}
+%\begin{titlepage}
+%\author{Gerald Steinfeld}
+%\title{Prandtl layer parameterisation in PALM}
+%\end{titlepage}
+\begin{document}
+%\maketitle
+%\tableofcontents
+\pagebreak
+
+\chapter{Prandtl layer parameterisation in PALM}
+
+The friction velocity $u_{\ast}$ is a velocity scale that is defined by the relation 
+\begin{equation}
+u_{\ast}=\left ( \left | \tau / \overline{\rho} \right | \right )^{\frac{1}{2}}, 
+\end{equation}
+where $\tau$ is the Reynolds stress and $\rho$ is the air density.
+Using the surface kinematic momentum fluxes in the x and y directions 
+$\left ( -\overline{u'w'}, -\overline{v'w'} \right )$ to represent 
+surface stress, the friction velocity can be written as   
+\begin{equation}
+u_{\ast}=\left ( (-\overline{u'w'})^2 + (-\overline{v'w'})^2 \right )^{\frac{1}{4}}.
+\end{equation}
+Based on the definition of the friction velocity $u_{\ast}$ the vertical turbulent 
+momentum flux $\overline{u'w'}$ can be determined from 
+\begin{equation}
+{u^2_{\ast}} \cos \left ( \alpha_0 \right ) = - \overline{u'w'},
+\end{equation}
+while the vertical turbulent momentum flux $\overline{v'w'}$ can be determined 
+from  
+\begin{equation}
+{u^2_{\ast}} \sin \left ( \alpha_0 \right ) = - \overline{v'w'}.
+\end{equation}
+The angle $\alpha_0$, that is assumed to be constant in the Prandtl layer, is the 
+angle between the x-direction and the direction of the mean horizontal wind and can 
+be evaluated by   
+\begin{equation} \label{win}
+\alpha_0 = \arctan \left ( \frac{\overline{v}(z_p)}{\overline{u}(z_p)} \right ).
+\end{equation}
+According to the similarity theory of Monin and Obukhov the following relationship for 
+the profile of the mean horizontal wind is valid
+\begin{equation} \label{hmpr}
+\begin{split}
+\frac{\partial \left | \overline{\vec{v}} \right |}{\partial z} &= \frac{u_{\ast}}{\kappa z} \phi_m \left ( \frac{z}{L} \right ) \\
+                                                                &= u_{\ast} \frac{1}{\kappa z} \phi_m \left ( \frac{z}{L} \right ).
+\end{split}  
+\end{equation}
+In equation \ref{hmpr} $L$ denotes the Monin Obukhov length and $\kappa$ denotes the von Karman constant, while $\phi_m$ denotes the profile 
+or Dyer-Businger functions for momentum:
+\begin{equation}
+\phi_m = 
+\begin{cases}
+1+5 \text{Rif} & \text{if $\text{Rif} > 0$}, \\
+1 & \text{if $\text{Rif} = 0$}, \\
+\left ( 1 - 16 \text{Rif} \right )^{-\frac{1}{4}} & \text{if $\text{Rif} < 0$}. 
+\end{cases}
+\end{equation} 
+Rif denotes the dimensionless Richardson flux number.
+
+By integrating equation \ref{hmpr} over $z$ from $z_0$ to a height $z$ the following relationship for the friction velocity can be deduced:    
+\begin{equation} \label{usb}
+u_{\ast} =
+\begin{cases}
+\frac{\left | \overline{\vec{v}} \right | \kappa}{\left ( \ln \left ( \frac{z}{z_0} \right ) + 5 \text{Rif} \left ( \frac{z-z_0}{z} \right ) \right )} & \text{if $\text{Rif} \ge 0$}, \\
+%\frac{\left | \overline{\vec{v}} \right | \kappa}{\left ( ln \left ( \frac{1+B}{1-B} \frac{1-A}{1+A} \right ) + 2 \left ( arctan(B) - arctan(A) \right ) \right )} & \text{if $Rif<0$}
+\frac{\left | \overline{\vec{v}} \right | \kappa}{\ln \left ( \frac{z}{z_0} \right ) - \ln \left ( \frac{ \left ( 1+A \right )^2  \left ( 1+A^2 \right ) }{ \left ( 1+B \right )^2  \left ( 1+B^2 \right ) }\right ) + 2 \left ( \arctan(A) - \arctan(B) \right )} & \text{if $\text{Rif}<0$}
+\end{cases} 
+\end{equation}
+with
+\begin{equation}
+%A=\left ( 1 - 16 Rif \right )^{-\frac{1}{4}}
+A=\left ( 1 - 16 \text{Rif} \right )^{\frac{1}{4}} 
+\end{equation}
+and
+\begin{equation}
+%B=\left ( 1 - 16 Rif \frac{z_0}{z} \right )^{-\frac{1}{4}}.
+B=\left ( 1 - 16 \text{Rif} \frac{z_0}{z} \right )^{\frac{1}{4}}.
+\end{equation}
+In fact, equation \ref{usb} is used in PALM to determine the friction velocity $u_{\ast}$.
+
+The following paragraph is a short digression dealing with the integration of equation \ref{hmpr} that finally leads to equation \ref{usb}. The integration 
+is only shown for the profile function for unstable stratification. According to PAULSON (1970) the general result of an integration of $\phi=\frac{\kappa z'}{u_{\ast}} 
+\frac{\partial \overline{u}}{\partial z'}$ over $z'$ from $z_0$ to $z$ is
+\begin{equation}
+\overline{u}(z) = \frac{u_{\ast}}{\kappa} \left [ \ln \left ( \frac{z}{z_0} \right ) - \Psi \right ] 
+\end{equation}
+with
+\begin{equation}
+\Psi = \int_{\frac{z_0}{L}}^{\frac{z}{L}}d \left ( \frac{z'}{L} \right ) \frac{1-\phi \left ( \frac{z'}{L} \right )}{\frac{z'}{L}}.
+\end{equation}  
+Applying the profile function for unstable stratification, $\phi=\left ( 1 - 16 \frac{z}{L} \right )^{-\frac{1}{4}}$, $\Psi$ can be determined as follows:
+\begin{equation}
+\begin{split}
+\Psi &= \int_{\frac{z_0}{L}}^{\frac{z}{L}}d \left ( \frac{z'}{L} \right ) \frac{1- \left ( 1 - 16 \frac{z'}{L} \right )^{-\frac{1}{4}} }{\frac{z'}{L}} \text{ | substitution: } x=\frac{1}{\phi \left ( \frac{z'}{L} \right ) } \\
+     &= \int_{\left ( 1-16\frac{z_0}{L} \right )^{\frac{1}{4}}}^{\left ( 1-16\frac{z}{L} \right )^{\frac{1}{4}}} dx \left ( 4 \frac{x^2 - x^3}{1 - x^4} \right ) \\
+     &= \int_{\left ( 1-16\frac{z_0}{L} \right )^{\frac{1}{4}}}^{\left ( 1-16\frac{z}{L} \right )^{\frac{1}{4}}} dx \left ( 2 \left ( \frac{1}{1+x} + \frac{x}{1+x^2} - \frac{1}{1+x^2} \right ) \right ) \\
+     &= \left [ 2 \ln \left ( \frac{1+x}{2} \right ) + \ln \left ( \frac{1+x^2}{2} \right ) -2 \arctan(x) \right ]_{\left ( 1-16\frac{z_0}{L} \right )^{\frac{1}{4}}=B}^{\left ( 1-16\frac{z}{L} \right )^{\frac{1}{4}}=A} \\
+     &= \ln \left ( \frac{\left ( 1 + A \right )^2}{\left ( 1 + B \right )^2} \frac{1+A^2}{1+B^2} \right ) - 2 \left ( \arctan(A) - \arctan(B) \right )
+\end{split}
+\end{equation} 
+
+Making use of equation \ref{win} and \ref{hmpr}, it is also possible to deduce a relationship for the profile of the mean u-component of the wind velocity
+\begin{equation} \label{upr}
+\begin{split}
+\frac{\partial \overline{u} }{\partial z} &= \frac{\partial \left | \overline{\vec{v}} \right |}{\partial z} \cos \left ( \alpha_0 \right ) \\
+                                          &= \frac{u_{\ast}}{\kappa z} \phi_m \left ( \frac{z}{L} \right ) \cos \left ( \alpha_0 \right ) \\
+                                          &= \frac{1}{u_{\ast}} {u^2_{\ast}} \cos \left ( \alpha_0 \right ) \frac{1}{\kappa z} \phi_m \left ( \frac{z}{L} \right ) \\
+                                          &= \frac{-\overline{u'w'}}{u_{\ast}} \frac{1}{\kappa z} \phi_m \left ( \frac{z}{L} \right )
+\end{split} 
+\end{equation}
+and accordingly a relationship for the profile of the mean v-component of the wind velocity
+\begin{equation} \label{vpr}
+\begin{split}
+\frac{\partial \overline{v} }{\partial z} &= \frac{\partial \left | \overline{\vec{v}} \right |}{\partial z} \sin \left ( \alpha_0 \right ) \\
+                                          &= \frac{u_{\ast}}{\kappa z} \phi_m \left ( \frac{z}{L} \right ) \sin \left ( \alpha_0 \right ) \\
+                                          &= \frac{1}{u_{\ast}} {u^2_{\ast}} \sin \left ( \alpha_0 \right ) \frac{1}{\kappa z} \phi_m \left ( \frac{z}{L} \right ) \\
+                                          &= \frac{-\overline{v'w'}}{u_{\ast}} \frac{1}{\kappa z} \phi_m \left ( \frac{z}{L} \right ).
+\end{split} 
+\end{equation}
+As the right-hand sides of equation \ref{upr} and \ref{vpr} differ only by prefactors that are (assumed to be) constant within the Prandtl layer from the 
+right-hand side of equation \ref{hmpr}, we can directly make use of the integration that led to equation \ref{usb} in order to obtain   
+\begin{equation} \label{uswsb}
+C=\frac{-\overline{u'w'}}{u_{\ast}} =
+\begin{cases}
+\frac{\overline{u} \kappa}{\left ( \ln \left ( \frac{z}{z_0} \right ) + 5 \text{Rif} \left ( \frac{z-z_0}{z} \right ) \right )} & \text{if $\text{Rif} \ge 0$}, \\
+%\frac{\overline{u} \kappa}{\left ( ln \left ( \frac{1+B}{1-B} \frac{1-A}{1+A} \right ) + 2 \left ( arctan(B) - arctan(A) \right ) \right )} & \text{if $Rif<0$}.
+\frac{ \overline{u} \kappa}{\ln \left ( \frac{z}{z_0} \right ) - \ln \left ( \frac{ \left ( 1+A \right )^2  \left ( 1+A^2 \right ) }{ \left ( 1+B \right )^2  \left ( 1+B^2 \right ) }\right ) + 2 \left ( \arctan(A) - \arctan(B) \right )} & \text{if $\text{Rif}<0$}.
+
+\end{cases} 
+\end{equation}
+and
+\begin{equation} \label{vswsb}
+D=\frac{-\overline{v'w'}}{u_{\ast}} =
+\begin{cases}
+\frac{\overline{v} \kappa}{\left ( \ln \left ( \frac{z}{z_0} \right ) + 5 \text{Rif} \left ( \frac{z-z_0}{z} \right ) \right )} & \text{if $\text{Rif} \ge 0$}, \\
+%\frac{\overline{v} \kappa}{\left ( ln \left ( \frac{1+B}{1-B} \frac{1-A}{1+A} \right ) + 2 \left ( arctan(B) - arctan(A) \right ) \right )} & \text{if $Rif<0$}.
+\frac{\overline{v} \kappa}{\ln \left ( \frac{z}{z_0} \right ) - \ln \left ( \frac{ \left ( 1+A \right )^2  \left ( 1+A^2 \right ) }{ \left ( 1+B \right )^2  \left ( 1+B^2 \right ) }\right ) + 2 \left ( \arctan(A) - \arctan(B) \right )} & \text{if $\text{Rif}<0$}.
+
+\end{cases} 
+\end{equation}
+Both equations, \ref{uswsb} and \ref{vswsb}, are used in PALM. In order to get an information on the turbulent vertical momentum fluxes within the Prandtl layer, 
+equation \ref{uswsb} and equation \ref{vswsb} need only to be multiplied by $-1$ and the friction velocity $u_{\ast}$, so that finally the followings two steps 
+have to be executed in PALM: 
+\begin{equation}
+\overline{u'w'} = -C u_{\ast}
+\end{equation}
+and
+\begin{equation}
+\overline{v'w'} = -D u_{\ast}.
+\end{equation}
+
+In case that no near-surface heat flux has been prescribed by the user of PALM, the near-surface heat flux $\overline{w'\Theta'}_0$ is evaluated from
+\begin{equation} \label{hfe}
+\overline{w'\Theta'} = - u_{\ast} \theta_{\ast}.
+\end{equation}
+Here, $\theta_{\ast}$ is the so-called characteristic temperature for the Prandtl layer. In case of no preset near-surface heat flux the characteristic 
+temperature $\theta_{\ast}$ is determined in PALM from the integrated version of the profile function for the potential temperature. According to the 
+similarity theory of Monin and Obukhov the following relationship for the vertical gradient of the potential temperature is valid:
+\begin{equation} \label{hmpt}
+\frac{\partial \overline{\Theta}}{\partial z} = \frac{\theta_{\ast}}{\kappa z} \phi_h.
+\end{equation}  
+In equation \ref{hmpt} $\phi_h$ denotes the profile or Dyer-Businger functions for temperature:
+\begin{equation}
+\phi_h = 
+\begin{cases}
+1+5 \text{Rif} & \text{if $\text{Rif} > 0$}, \\
+1 & \text{if $\text{Rif} = 0$}, \\
+\left ( 1 - 16 \text{Rif} \right )^{-\frac{1}{2}} & \text{if $\text{Rif} < 0$}. 
+\end{cases}
+\end{equation} 
+By integrating equation \ref{hmpt} over $z$ from $z_0$ to a height $z$ the following relationship for the characteristic temperature in the Prandtl 
+layer can be deduced:    
+\begin{equation} \label{tsb}
+\theta_{\ast} =
+\begin{cases}
+\frac{\kappa \left ( \overline{\Theta}(z) - \overline{\Theta}(z_0) \right )}{\ln \left ( \frac{z}{z_0} \right ) + 5 \text{Rif} \left ( \frac{z-z_0}{z} \right )} & \text{if $\text{Rif} \ge 0$}, \\
+\frac{\kappa \left ( \overline{\Theta}(z) - \overline{\Theta}(z_0) \right )}{\ln \left ( \frac{z}{z_0} - 2 \ln \left ( \frac{1+A}{1+B} \right )\right )} & \text{if $\text{Rif}<0$}
+\end{cases} 
+\end{equation}
+with
+\begin{equation}
+%A=\left ( 1 - 16 \text{Rif} \right )^{-\frac{1}{4}}
+A=\sqrt{1 - 16 \text{Rif}} 
+\end{equation}
+and
+\begin{equation}
+%B=\left ( 1 - 16 \text{Rif} \frac{z_0}{z} \right )^{-\frac{1}{4}}.
+B=\sqrt{1 - 16 \text{Rif} \frac{z_0}{z}}.
+\end{equation}
+Note, that the temperature at the height of the roughness length that is required for the evaluation of $\theta_{\ast}$ in equation \ref{tsb} is saved 
+in PALM at the first vertical grid level of the temperature with index k=0. The height that is assigned to this vertical grid level is -0.5$\Delta z$, 
+where $\Delta z$ is the grid length in the vertical direction.   
+In case of a near-surface heat flux $\overline{w'\Theta'}_0$ that has been prescribed by the user, the evaluation of $\theta_{\ast}$ is not needed for 
+the integration of the model. Instead $\theta_{\ast}$ is only determined for the evaluation of statistics of the turbulent flow. In that case it is 
+simply derived by a transformation of equation \ref{hfe} into  
+\begin{equation}
+\theta_{\ast} = - \frac{\overline{w'\Theta'}_0}{u_{\ast}}.
+\end{equation}    
+In case that PALM is run in its moist version, the evaluation of the characteristic humidity for the Prandtl layer is evaluated in a way correspondent to 
+that of the determination of the characteristic temperature.
+
+
+  
+  
+ 
+        
+
+ 
+
+ 
+
+
+ 
+
+
+
+
+
+
+
+ 
+  
+
+ 
+
+\end{document}
Index: palm/tags/release-3.7/DOC/tec/technical_documentation.html
===================================================================
--- palm/tags/release-3.7/DOC/tec/technical_documentation.html	(revision 393)
+++ palm/tags/release-3.7/DOC/tec/technical_documentation.html	(revision 393)
@@ -0,0 +1,2720 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html><head>
+
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <meta content="Mozilla/4.73 [en] (X11; U; HP-UX B.10.20 9000/782) [Netscape]" name="GENERATOR"> <meta content="Siegfried Raasch" name="Author"> <meta content="parallel LES model" name="Keywords"><title>PALM technical/numerical documentation</title></head><body><font size="+4">PALM&nbsp;&nbsp;
+</font>a
+<b>pa</b>rallelized
+<b>L</b>ES <b>m</b>odel
+<br><hr width="100%">
+<br><font size="+2">technical/numerical documentation</font>
+<br>&nbsp;
+<br>&nbsp;
+<br><table nosave="" cellpadding="0" cellspacing="0"> <caption>&nbsp; <br> </caption><tbody>
+</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Current
+model version:</b></td> <td><span style="font-weight: bold;">3.7 (rev 392)</span></td> </tr>
+<tr nosave=""> <td nosave=""><b>Last
+change of this document</b>:&nbsp;</td> <td nosave=""><b>$Id$</b></td> </tr>
+</tbody>
+</table><hr width="100%">
+<p><font size="+2">Table of contents</font>
+<br>&nbsp;
+<br>&nbsp;
+</p><ul> <a href="#Kapitel1.0">1.0</a>&nbsp;
+History of changes <p><a href="#Kapitel2.0">2.0</a>&nbsp;
+How to change the model source
+code </p> <p><a href="#Kapitel3.0">3.0</a>&nbsp;
+Description of selected parts
+of
+the model source code <br>
+&nbsp;</p>
+</ul><b></b><br>
+
+<h2><a name="Kapitel1.0"></a>1.0&nbsp;
+History of changes</h2>
+The following table documents all changes to the model since July, 7th
+1998. Entries in the fourth column specify the type of the change:
+change&nbsp;
+of existing code (C), new code (N) or bugfix (B). More detailed
+information
+about the changes may be found in the header comment lines of the
+respective
+routines.
+<br>&nbsp;
+<br><table nosave="" style="width: 100%;" border="1"> <caption>&nbsp; <br> </caption><tbody>
+</tbody><tbody> </tbody> <tbody> <tr> <td><b>date</b></td>
+<td><b>author</b></td> <td><b>model</b>
+<br> <b>version</b></td> <td><b>type</b></td>
+<td><b>description</b></td> <td><b>affected
+routines</b></td> </tr> <tr nosave="" valign="top"> <td>06/07/98</td> <td>SR</td>
+<td>1.0</td> <td>C</td> <td nosave="">Änderung
+von Default-Werten
+(initializing_actions, end_time,
+fcl_factor, use_prior_plot1d_parameters), zusätzliche
+Überprüfung
+von Parametern auf Zulässigkeit (prandtl_layer, psolver, nx,
+ny,
+nz,
+fcl_factor), Höhe der Schnittebenen der Horizontalschnitte
+wird
+auf
+Plots exakt ausgegeben (uv- bzw. w-Gitter).</td> <td>modules,
+check_parameters, plot_2d</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
+<td>1.0</td> <td>N</td> <td>Neues Modul
+test_variables wird in (fast) allen
+Programmteilen benutzt
+(USE). <b>Wichtig</b>: dieses Modul steht in der Datei <tt>module_test.f90.
+D</tt>iese Datei muß in der mrun- und add_library -
+Konfigurationsdatei
+bei der Variablen <tt>module_files</tt>
+aufgeführt werden.</td> <td nosave="">(fast)
+alle&nbsp; <br>
+Neu: module_test</td> </tr> <tr nosave="" valign="top"> <td>16/07/98</td> <td>SR</td>
+<td>1.0</td> <td>N</td> <td nosave="">Anpassung
+an die T3E-Rechner in Juelich (cpp -
+Direktiven)</td> <td>advec_s_bc, check_open,
+check_parameters, cpu_zeitmessung,
+init_pegrid,
+local_getenv, local_system, local_tremain, local_tremain_ini, poisfft</td>
+</tr> <tr nosave="" valign="top"> <td>24/07/98</td>
+<td>MS</td> <td>1.0</td> <td>C</td>
+<td nosave="">Anpassung des Druckloesealgorithmusses an
+Vorgehensweise von
+Schmidt, Schumann und Volkert (DFVLR-Mitteilung 84-15, S.
+20-26)&nbsp;</td> <td>poisfft</td> </tr> <tr nosave="" valign="top"> <td>27/07/98</td>
+<td>MS</td> <td>1.0</td> <td>C</td>
+<td nosave="">Berechnung von l in maketri geschieht nun
+ausserhalb der k-Schleife,
+da unabhaengig von k, dadurch Rechenzeitersparnis&nbsp;</td> <td>poisfft</td>
+</tr> <tr nosave="" valign="top"> <td>05/08/98</td>
+<td>SR</td> <td>1.0</td> <td>C</td>
+<td>Entfernung der Sonderbehandlung der Advektionsterme
+(Piascek-Williams)
+bei k=1. Terme werden nun überall gleich berechnet. Evtl.
+leichte
+Erhöhung der Varianzen in Oberflächennähe.</td>
+<td nosave="">advec_u_pw, advec_v_pw, advec_w_pw</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td> <td>1.0</td>
+<td>C</td> <td>Mischungsweganpassung (s.
+adjust_mixing_length) erfolgt nur
+noch bei
+k=1. Unrealistische sekundäre Maxima in den Km-Profilen
+oberhalb
+der
+Prandtl-Schicht werden damit vermieden. Leichte Änderungen in
+den
+oberflächennahen Turbulenzgrößen sind die
+Folge.</td> <td>diffusivities</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
+<td>1.0</td> <td>B</td> <td>Falsche
+Berechnung der benötigten CPU-Zeit pro Sekunde
+simulierter
+Zeit bei Fortsetzungsläufen korrigiert.&nbsp; <p>Berechnung
+von cross_uxmin(1) und cross_uxmax(1) aus den
+Werten von
+ug und vg entfernt. Lieferte falsche Wertebereiche für Plots
+von
+Vertikalprofilen,
+wenn im ersten Koordinatenkreuz nicht die Windgeschwindigkeiten
+gezeichnet
+wurden.</p> </td> <td nosave="">header,
+check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td>
+<td>1.0</td> <td>N</td> <td>Das
+erlaubte Maximum und Minimum der Rif-Zahl ist nun mittels
+der Initialparameter
+rif_max und rif_min einstellbar (Werte waren bisher fest auf -2.0, +1.0
+eingestellt).</td> <td>check_parameters, header,
+init_1d_model, modules, parin,
+prandtl_fluxes,
+read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">23/09/98</td>
+<td>SR</td> <td>1.0</td> <td>B</td>
+<td>Initialisierung von Feldern im Fall von initializing_action =
+"<i>set_constant_profiles</i>"
+und "<i>set_1d-model_profiles</i>" korrigiert.&nbsp; <p>2D-Plotausgabe
+von u* und theta* korrigiert. Hier wurden
+bisher falsche
+Felder herausgeschrieben.&nbsp; </p> <p>Bei
+SOR-Aufrufen war bisher dp nicht initialisiert.
+Entsprechend geändert.</p> </td> <td>init_3d_model,
+plot_2d, pres</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
+<td>1.0</td> <td>C</td> <td nosave="">Ausgabeformate
+für Statistik-Ausgaben auf
+Datei RUN_CONTROL
+um einige Kommastellen erweitert.&nbsp; <p>Lieferung von
+ausführlicheren Informationen bei
+Programmabbruch
+durch Unterschreitung des minimal erlaubten Zeitschritts.</p> </td>
+<td>run_control, timestep</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td>
+<td>SR</td> <td>1.0</td> <td>N</td>
+<td>Rechnungen mit geneigter Ebene zur Simulation von
+Kaltluftabflüssen
+sind erlaubt. Gestartet und gesteuert werden sie mit dem
+Intialisierungsparameter <tt>alpha_surface</tt>.
+Realisiert wird die geneigte Ebene durch entsprechende
+Schrägstellung
+des Schwerkraftvektors. Dadurch erhält auch die u-Komponente
+der
+Windgeschwindigkeit
+einen Anteil der Auftriebskraft.&nbsp; <p>Diese
+Implementierung ist noch nicht abgeschlossen. Die
+Simulation von
+Kaltluftabflüssen erfordert bisher noch Eingriffe "von Hand".</p>
+</td> <td>buoyancy, check_parameters, header, leap_frog,
+modules,
+parin, prandtl_fluxes,
+read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td>15/12/98</td> <td>SR</td>
+<td>1.0</td> <td>N</td> <td>Vereinbarung
+einer Cache-Layer zur schnelleren binären
+I/O auf
+T3E-Rechnern.&nbsp; <p>Ermittelung wahrer I/O-Zeiten
+für binäre
+Ein-/Ausgabe auf
+T3E-Rechnern mit TIMEF.</p> </td> <td nosave="">check_open,&nbsp;
+<br>cpu_zeitmessung, init_3d_model, write_3d_model</td> </tr>
+<tr nosave="" valign="top"> <td nosave="">"</td>
+<td>SR</td> <td>1.0</td> <td>B</td>
+<td>Bekanntgabe von run_description_header an alle
+PE's.&nbsp; <p>Diese Programmänderung erfordert auf
+T3E-Rechnern
+zwingend den
+Einsatz der MPI-Version mpt.1.2.0.1. In dieser neuen Version tritt auch
+der alte Fehler in MPI_ALLREDUCE nicht mehr auf, so daß ab
+jetzt
+mpt.1.1.0.1 nicht mehr verwendet werden muß.</p> </td>
+<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">05/02/99</td>
+<td>SR</td> <td>1.1</td> <td>C/N</td>
+<td>Implementierung des Upstream-Spline- Verfahrens zur Advektion
+von Impuls
+und skalaren Größen (neue UP's, s. rechts).
+Berechnung von
+Variablen
+für spezielle Advektionsverfahren in eigenständiges
+UP
+ausgelagert
+(<tt>init_advec</tt> + eigenes Modul <tt>advection</tt>).
+Reines
+Euler-/Upstream-Verfahren
+kann gerechnet werden.&nbsp; <p>Schnelle binäre I/O
+(s. 15/12/98) wieder abgeschaltet, da
+Dateien
+nicht wieder einlesbar sind. Druckstörung (p) wird zu Beginn
+auf 0
+gesetzt, damit sie keine Tendenzen im ersten Zeitschritt hervorruft.</p>
+</td> <td>advec_s_bc, check_open, check_parameters,
+flow_statistics,
+header,
+init_3d_model, init_grid, leap_frog, modules, parin, plot_2d, plot_ts,
+read_var_list, timestep, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
+<br>
+advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, init_advec,
+long_filter,
+spline_x, spline_y, spline_z</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">24/02/99</td>
+<td>SR</td> <td>1.1a</td> <td>C/N</td>
+<td>Kleinere Ergänzungen / Änderungen
+für Upstream
+- Spline,&nbsp; <br>
+Diverse Verbesserungen bei Berechnung der Diffusionskoeffizienten
+(exaktere
+Formulierung von Scherungen, Dissipation gemaess Original - Deardorff -
+Ansatz, Mischungswegreduktion nur, wenn Schichtung sowohl oberhalb als
+auch unterhalb des entsprechenden Gitterpunktes stabil ist),
+Wertebegrenzung
+bei Spline - Berechnung zur Verhinderung von "Überschwingern"</td>
+<td>check_parameters, diffusion_e, diffusion_pt, diffusivities,
+header,
+init_advec, long_filter, modules, production_e, spline_x, spline_y,
+spline_z</td> </tr> <tr nosave="" valign="top">
+<td>"</td> <td nosave="">SR</td> <td>1.1a</td>
+<td>N/B</td> <td>Erweiterung des des Bott - Chlond -
+Schemas auf Advektion der
+TKE,
+Korrektur der Dichteberechnung (war falsch bei Galilei-Transformation)</td>
+<td>advec_s_bc, leap_frog</td> </tr> <tr nosave="" valign="top"> <td nosave="">01/03/99</td>
+<td>MS</td> <td>1.1b</td> <td>N</td>
+<td>Kleinere Ergänzungen für Upstream -
+Spline:&nbsp; <ul> <li>Gradientenkontrolle
+für den nicht-parallelen Teil</li> <li>statistische
+Auswertung über den prozentualen Anteil
+des
+Upstream-Verfahrens
+an der Gesamtadvektion fuer nicht-parallelen Teil</li> </ul>
+</td> <td>modules, spline_x, spline_y, spline_z</td>
+</tr> <tr nosave="" valign="top"> <td>"</td>
+<td>SR</td> <td>1.1b</td> <td>N</td>
+<td>Datenkompression für 3D-Plotausgaben</td> <td nosave="">check_open, check_parameters, close_files, header,
+modules,
+parin, plot_3d&nbsp; <p><b>Neu:</b> <br>
+write_compressed</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">03/03/99</td>
+<td>SR</td> <td>1.1c</td> <td>B/C</td>
+<td>Schnelle binäre I/O auf T3E-Rechnern funktioniert
+jetzt.
+Beim
+binären Einlesen dürfen Records nicht mit dem Trick "<tt>READ
+(..) idum</tt>" überlesen werden. Zeitmessungen auf T3E
+erfolgen
+jetzt
+grundsätzlich mit <tt>TIMEF.</tt></td> <td>check_open,
+cpu_zeitmessung, init_3d_model, modules,
+write_3d_binary</td> </tr> <tr nosave="" valign="top"> <td nosave="">25/03/99</td>
+<td>SR</td> <td>1.1d</td> <td>N</td>
+<td>Einbau einer Rayleigh-Dämpfungsschicht sowie
+flexiblere
+Wahl der
+numerischen Begrenzer für das Upstream - Spline - Verfahren.</td>
+<td>check_parameters, header, init_3d_model, leap_frog, modules,
+parin,
+read_var_list, spline_x, spline_y, spline_z, write_var_list</td> </tr>
+<tr nosave="" valign="top"> <td nosave="">"</td>
+<td>SR</td> <td>1.1d</td> <td>B</td>
+<td>Korrektur des Zeitschrittkriteriums bei z=zp im 1D-Modell</td>
+<td>init_1d_model</td> </tr> <tr nosave="" valign="top"> <td>25/11/99</td> <td>SR</td>
+<td>1.1e</td> <td>N</td> <td nosave="">Partikelplots
+mit vtk-Graphiksoftware sind auf t3eh
+möglich.
+Ausgabe erfolgt im dvr-Format. Bisher noch nicht nutzbar, da noch
+Einstellmöglichkeiten
+für die Partikelquelle(n) fehlen. <b>Wichtig:</b>
+Die Benutzung
+der
+vtk-Software erfordert die zusätzliche mrun-Option <tt>-g</tt>.
+Das
+Hauptprogramm <tt>parles</tt> wird in diesem Fall zum
+Unterprogramm
+und
+von einem c++-Programm aus aufgerufen.</td> <td>header,
+init_3d_model, init_pegrid, leap_frog, modules,
+parin, parles,
+read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
+<br>
+advec_particles, init_particles, plot_particles</p> </td> </tr>
+<tr nosave="" valign="top"> <td>"</td>
+<td>SR</td> <td>1.1e</td> <td nosave="">B/C</td>
+<td>TIMEF-Zeitmessungen von Subroutine- auf Function-Aufruf
+umgestellt.
+Laufindexkorrektur in <tt>spline_y</tt>. Fehler trat bei
+nx /= ny auf.</td> <td>cpu_zeitmessung, spline_y</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">28/12/99</td> <td>SR</td> <td>1.1f</td>
+<td>N</td> <td>Plot von Isooberflächen mit
+vtk-Graphiksoftware sind auf
+t3eh
+möglich. Ausgabe erfolgt im dvr-Format. Bisher noch nicht
+allgemein
+nutzbar, da noch diverse manuelle Eingriffe nötig sind.</td>
+<td>header, leap_frog, modules, parin, plot_particles,
+read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
+<br>
+plot_isosurface</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
+<td>SR</td> <td>1.2</td> <td>C</td>
+<td>Randbedingungen für w (=0) werden explizit gesetzt,
+und
+zwar nicht
+nur bei&nbsp; <tt>k = nzb, nzt+1</tt> sondern auch
+bei&nbsp; <tt>k =
+nzt</tt>,
+wo bislang der vom vorigen Zeitschritt durch den Drucklöser
+ermittelte
+Wert stand. Auch jetzt wird der Wert bei k = nzt anschließend
+durch
+den Drucklöser modifiziert. Soweit bis jetzt abzusehen, hat
+diese
+Änderung nur minimale Auswirkungen auf den Prognoseverlauf.
+Evtl.
+gibt es stärkere Auswirkungen bei exzessivem Auftreten von
+Schwerewellen
+am oberen Rand (die dort aber eigentlich sowieso nicht
+hingehören).&nbsp; <br>
+Variablenübergabe an <tt>boundary_conds</tt>
+erfolgt&nbsp; <br>
+über Modul und nicht mehr per Parameterliste.&nbsp; <p>Bei
+Galilei-Transformation wird jetzt defaultmäßig
+der geostrophische
+Wind als Translationsgeschwindigkeit verwendet (neuer
+Initialisierungsparameter <tt>use_ug_for_galilei_tr</tt>).
+Dadurch wird das verstärkte Auftreten von Schwerewellen bei
+höheren
+geostrophischen Windgeschwindigkeiten unterdrückt.&nbsp; </p>
+<p>3D-Feldvariablen (u, v, w, pt, e, km, kh) sowie einige
+2D-Variablen
+(usws, vsws, rif, shf) sind nun als Pointer deklariert, denen nach
+jedem
+Zeitschritt neue Targets zugeordnet werden (für die
+benötigten&nbsp;
+3 Zeitebenen existieren die Targets ..._1 (z.B. u_1), ..._2, ..._3).
+Durch
+die jeweilige Neuzuordnung der Targets entfällt das
+Umspeichern
+der
+Zeitebenen komplett (Zeitersparung: ca. 5% der
+Gesamtrechenzeit).&nbsp; <br>
+Die Umordnung der Zeitebenen wurde ins neue UP <tt>swap_timelevel</tt>
+ausgelagert.&nbsp; <br> <b>Wichtig:</b> Die
+Übersetzungszeiten haben durch die
+Einführung
+der Pointer t.w. sehr deutlich zugenommen (<tt>leap_frog</tt>
+benötigt
+jetzt z.B. ca. 60 Sekunden). Außerdem benötigt der
+Compiler
+jetzt wesentlich mehr Speicher. Der "memory"-Parameter in den
+Konfigurationsdateien
+(.mrun.config, .al.config) muss nun mindestens den Wert 60 (MB) (t3eh,
+t3ej2) bzw. 45 (t3eb) und 96 (vpp) haben.&nbsp; <br> <b>Achtung:</b>
+bislang wurde diese Änderung nur für
+das
+reine Leapfrog-Verfahren getestet!&nbsp; </p> <p>Neue
+Laderoption "<tt>-D preset=nan</tt>" empfohlen (s.
+Beispiel-Konfigurationsdatei).
+Ebenso empfehlenswert für Debug-Läufe: Compileroption
+"<tt>-ei</tt>".
+Diese bewirkt einen Programmabbruch, falls mit nicht initialisierten
+Variablen
+gearbeitet wird (ist aber zeitaufwendig in der Ausführung!).</p>
+</td> <td>boundary_conds, check_parameters, header,
+init_3d_model,
+leap_frog,
+modules, parin, read_var_list, timestep, write_var_list&nbsp; <p><b>Neu:</b>
+<br>
+swap_timelevel</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
+<td>SR</td> <td>1.2</td> <td>B</td>
+<td>Der Asselin-Filter wird vor Umordnung der Zeitebenen
+aufgerufen. Dies
+geschah bisher fälschlicherweise erst danach, sodass der
+Zeitfilter
+asymmetrisch arbeitete.&nbsp; <br> <b>Achtung:</b>
+diese Änderung hat Auswirkungen auf den
+Prognoseverlauf.
+Die Testergebnis-Datei wurde entsprechend geändert.</td>
+<td>leap_frog</td> </tr> <tr nosave="">
+<td nosave="" valign="top">14/02/00</td> <td nosave="" valign="top">MS</td> <td nosave="" valign="top">1.2</td> <td nosave="" valign="top">B/C</td> <td><b>1D-Modell:</b>
+<br>
+Der Asselin-Filter im 1D-Modell wird nun auch vor der Umordnung der
+Zeitebenen aufgerufen (s.o.).&nbsp; <p><b>3D-Modell:</b>
+<br>
+TKE wurde bisher bei <tt>scalar_advec=bc-scheme</tt> einer
+zeitlichen
+Filterung unterzogen. Dies wird nun unterbunden.&nbsp; </p> <p>Die
+Divergenz der Impulsflüsse an der Prandtl - Schicht -
+Obergrenze
+wird nun über eine ganze Gitterweite gebildet. Die bisherige
+Methode
+lieferte im Vergleich mit Ergebnissen anderer LES-Modelle&nbsp; zu
+große
+Impulsflüsse.&nbsp; </p> <p>Bei der
+Berechnung der Diffusion der Temperatur werden die
+Diffusionskoeffizienten
+nun wieder durch Mittelung für die entsprechenden&nbsp;
+Gitterpunkte
+bereitgestllt. Das Maximumkriterium, das im Zuge der Implementierung
+des
+Upstream-Spline Advektionsverfahrens eingebaut wurde, bewirkte ein zu
+rasches
+Anwachsen der Grenzschicht mit der Zeit.&nbsp; </p> <p><b>Achtung:</b>
+diese Änderungen haben Auswirkungen auf
+den Prognoseverlauf.
+Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
+<td nosave="" valign="top">init_1d_model,
+asselin_filter,
+diffusion_u, diffusion_v,&nbsp; <br>
+diffusion_pt</td> </tr> <tr nosave="" valign="top"> <td nosave="">17/02/00</td>
+<td>MS</td> <td>2.0</td> <td>N</td>
+<td><b>Allgemeine Beschreibung der Änderungen:</b>
+<br>
+vollständige Implementierung des wolkenphysikalischen
+Moduls&nbsp; <p>Zur Implementierung der Wolkenphysik waren
+umfangreiche
+Änderungen
+in zahlreichen Programmteilen notwendig (Beschreibung <a href="#Cloud_physics">siehe
+unten</a> ). Im einzelnen wurden folgende Unprogramme
+geändert:&nbsp; <br> <b>modules</b>:&nbsp;
+<br>1) Bereitstellung neuer 3D-, 2D- und 1D-Felder für
+die Prognose
+des Gesamtwassergehaltes&nbsp; <br>
+2) "cloud_parameters" als neues Modul mit wolkenphysikalischen
+Variablen&nbsp; <br> <b>parin: </b>Initialisierungsparameterliste
+wurde erweitert
+(s.u.)&nbsp; <br> <font color="#000000"><b>read_var_list,
+write_var_list,
+write_3d_binary: </b>In/Output
+der neuen Initialisierungsparamter und Felder für
+Fortsetzungsläufe&nbsp;</font> <br> <font color="#000000"><b>check_parameters:</b>
+Initialisierung
+des
+Feuchteprofils und Ausgabe von neuen Vertikalprofilen:&nbsp;</font>
+<br> <font color="#ff0000">vpt</font><font color="#000000">: virtuelle
+poteniellen
+Temperatur,</font> <br> <font color="#ff0000">lpt</font><font color="#000000">:
+potentielle
+Flüssigwassertemperatur,</font> <br> <font color="#ff0000">q</font><font color="#000000">:
+Gesamtwassergehalt,</font> <br> <font color="#ff0000">qv</font><font color="#000000">:
+spezifische
+Feuchte,</font> <br> <font color="#ff0000">ql</font><font color="#000000">:
+Flüssigwassergehalt,</font> <br> <font color="#ff0000">w"vpt", w*vpt*, wvpt</font><font color="#000000">:
+Auftriebsfluss (subskalig, aufgelöst, gesamt),</font> <br>
+<font color="#ff0000">w"q", w*q*, wq</font><font color="#000000">:
+Wasserfluss (subs., aufg., ges.),</font> <br> <font color="#ff0000">w"qv", w*qv*, wqv</font><font color="#000000">:
+Feuchtefluss (subs, aufg., ges.)</font> <br> <b>init_3d_model</b>:
+Initialisierung aller
+Feuchte/Wasserfelder&nbsp; <br> <b>init_1d_model</b>:
+Anpassung an Rechnungen mit Feuchte&nbsp; <br> <b>header</b>:
+Headerausgaben für Feuchtebehandlung und
+Wolkenphysik
+eingefügt, außerdem Formatnummern erweitert um Platz
+für
+weitere Ausgaben zu schaffen&nbsp; <br> <b>leap_frog:</b>
+<br>
+1) alle prognostischen Gleichungen wurden in prognostic_equations
+ausgelagert&nbsp; <br>
+2) Aufrufe der neuen Unterprogramme (UP) compute_vpt,
+calc_liquid_water_content&nbsp; <br>
+3) veraenderter Aufruf von diffusivities&nbsp; <br> <b><tt>b</tt>oundary_conds,
+asselin_filter, swap_timelevel,
+flow_statistics: </b>Anpassung
+an Feuchtebehandlung&nbsp; <br> <b>plot2d, plot3d</b>:
+Ausgabemöglichkeiten von q und ql <br> <b>buoyancy</b>:
+Anpassung des Autriebstermes an
+Feuchtebehandlung
+durch neue Übergabeparameter: Temperatur + Nummer des
+entsprechenden
+mittleren Temperaturprofils&nbsp; <br> <b>diffusion_e</b>:
+Anpassung der Mischungswegberechnung an
+Feuchtebehandlung
+durch Variation der Übergabeparameter&nbsp; <br> <b>production_e</b>:
+TKE-Produktion durch Auftriebskräfte an
+Feuchtebehandlung
+angepasst&nbsp; <br> <b>diffusivities</b>:
+siehe diffusion_e&nbsp; <br> <b>prandtl-fluxes</b>:
+Prandtl-Schicht fuer den
+Gesamtwassergehalt
+eingefügt&nbsp; </p> <p>Zusätzlich
+wurden folgende Unterprogramme NEU
+eingeführt:&nbsp; <br> <b>inti_cloud_physics</b>:
+Initialisierung wolkenphysikalischer
+Parameter&nbsp; <br> <b>prognostic_equations</b>:
+Auslagerung der prognostischen
+Gleichungen
+aus leap_frog, zusätzliche porgnostische Gleichung
+für den
+Gesamtwassergehalt&nbsp; <br> <b>diffusion_s</b>:
+Berechnung der Diffusion skalarer
+Größen
+(Temperatur und Gesamtwassergehalt), ersetzt diffusion_pt&nbsp; <br>
+<b>calc_liquid_water_content</b>: Berechnung des
+Flüssigwassergehalts&nbsp; <br> <b>calc_radiation</b>:
+Parametrisierung langwelliger
+Strahlungsprozesse
+über des Schema der effektiven Emissivität&nbsp; <br>
+<b>calc_precipitation</b>:Parametrisierung von
+Niederschlagsprozessen
+mit Hilfe eines vereinfachten Kesslerschemas&nbsp; <br> <b>impact_of_latent_heat</b>:
+Berücksichtigung der durch
+Niederschlagsprozesse
+zurückbleibenden latenten Waerme innerhalb eines
+Gittervolumens&nbsp; <br> <b>compute_vpt</b>:
+Berechnung der virtuellen potentiellen
+Temperatur&nbsp; </p> <p><b>Liste der neuen
+Initialisierungsparameter:</b> <br> <table nosave="" border="1"> <caption>&nbsp; <br> </caption><tbody>
+</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Parameter</b></td>
+<td nosave=""><b>Typ</b></td> <td nosave="" width="4%"><b>Default</b></td>
+<td nosave=""><b>Beschreibung</b></td> </tr>
+<tr nosave=""> <td nosave=""><tt>moisture</tt></td>
+<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
+des Gesamtwassergerhaltes als neue
+progn. Variable</td> </tr> <tr> <td><tt>cloud_physics</tt></td>
+<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
+des Kondensationsschemas</td> </tr> <tr nosave="">
+<td><tt>radiation</tt></td> <td>L</td>
+<td nosave="">FALSE</td> <td>Ab-/Zuschalten
+des Strahlungsschemas</td> </tr> <tr> <td><tt>precipitation</tt></td>
+<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
+der Niderschlagsparametrisierung</td> </tr> <tr> <td><tt>bc_q_b</tt></td>
+<td>C</td> <td>'dirichlet'</td> <td>untere
+Randbedingung für q (siehe auch bc_pt_b)</td> </tr>
+<tr> <td><tt>bc_q_t</tt></td> <td>C</td>
+<td>'neumann'</td> <td>obere RB für q
+(siehe auch bc_pt_t)</td> </tr> <tr> <td><tt>q_surface</tt></td>
+<td>R</td> <td>0.0</td> <td>Feuchtewert
+an der Erdoberfläche</td> </tr> <tr> <td><tt>q_surface_initial_change</tt></td>
+<td>R</td> <td>0.0</td> <td>vgl.
+pt_surface_initial_change</td> </tr> <tr> <td><tt>q_vertical_gradient</tt></td>
+<td>R(10)</td> <td>0.0</td> <td>vgl.
+pt_vertical_gradient</td> </tr> <tr nosave="">
+<td nosave=""><tt>q_vertical_gradient_level</tt></td>
+<td>R(10)</td> <td>10000.0</td> <td>vgl.
+pt_vertical_gradient_level</td> </tr> <tr> <td><tt>surface_pressure</tt></td>
+<td>R</td> <td>1013.25</td> <td>Luftdruck
+an der Erdoberfläche</td> </tr> <tr> <td><tt>surface_waterflux</tt></td>
+<td>R</td> <td>0.0</td> <td>oberflächennaher
+Wasser/Feuchtefluss</td> </tr> </tbody> </table>
+Fortsetzungsläufe mit Daten, die mit Modellversionen kleiner
+2.0
+erzeugt
+wurden, sind aufgrund der erweiterten Initialisierungsparameterliste
+INKOMPATIBEL
+zu den Einleseroutinen der Version 2.0. Ein Update auf Version 2.0
+sollte
+deshalb nach Abschluss eines kompletten Modelllaufs erfolgen.&nbsp;
+</p> <p><b>Achtung:</b> diese
+Änderungen haben Auswirkungen auf
+den Prognoseverlauf.
+Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
+<td nosave="" valign="top">modules, parin,
+read_var_list,
+check_parameters,
+init_3d_model, init_1d_model, header, leap_frog. buoyancy, diffusion_e,
+production_e, diffusivities, prandtl_fluxes, boundary_conds,
+asselin_filter,
+swap_timelevels, flow_statistics, plot_2d, plot_3d, write_var_list,
+write_3d_binary&nbsp; <p><b>Neu:</b> <br>
+init_cloud_physics, prognostic_equations, diffusion_s,
+calc_liquid_water_content,
+calc_radiation, calc_precipitation, impact_of_latent_heat, comute_vpt</p>
+</td> </tr> <tr nosave=""> <td nosave="" valign="top">18/02/00</td> <td nosave="" valign="top">MS</td> <td nosave="" valign="top">2.0</td> <td nosave="" valign="top">B/N</td> <td>Im Zuge der
+Umstellung auf Modellversion 2.0&nbsp; wurden
+noch kleine
+Änderungen an den Unterprogrammen diffusion_e, production_e
+und
+diffusivities
+vorgenommen. In allen genannten&nbsp; <br>
+Unterprogrammen wurde bisher ein strengeres Kriterium zur Bestimmung
+der Schichtungsverhältnisse verwendet. Ein Modellvergleich
+zeigte
+jedoch, dass dadurch die Diffusion im Bereich der Inversion zu gross
+wird.&nbsp; <p>Eine weitere Ergänzung betrifft die
+Advektionsverfahren:&nbsp; <br>
+Das Bott-Chlond Advektionsverfahren ist nun auch für
+Rechnungen
+mit Feuchte/Wolkenphysik verfügbar.&nbsp; </p> <p><b>Achtung:</b>
+diese Änderungen haben Auswirkungen auf
+den Prognoseverlauf.
+Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
+<td nosave="" valign="top">diffusion_e,
+production_e,
+diffusivities, check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
+<td>SR</td> <td>2.0a</td> <td>C</td>
+<td>Vollständige Umstellung von vtk-Grafik-Software auf
+dvrp-Software.
+Grafik-Ausgaben im dvr-Format sind mittlerweile begrenzt nutzbar
+(Isooberflächen
+sind darstellbar, siehe neue Laufparameter&nbsp; <tt>dt_dvrp,
+threshold</tt>),
+es wird aber in der Anwendung in naher Zukunft noch diverse
+Änderungen
+geben. Partikelausgabe vorerst nicht mehr möglich (Verlagerung
+schon).</td> <td>header, init_particles, init_3d_model,
+leap_frog, modules,
+parin, parles,
+read_var_list, write_var_list&nbsp; <br> <b>Gestrichen:</b>
+<br>
+plot_isosurface, plot_particles&nbsp; <p><b>Neu:</b>
+<br>
+init_dvrp, plot_dvrp</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
+<td>SR</td> <td>2.0a</td> <td>C</td>
+<td>Durch zusätzlichen zyklischen Rand im
+Bott-Chlond-Schema
+sehr
+viele SENDRECV-Aufrufe eingespart.&nbsp; <br>
+Änderung des Namens einer eingelesenen Environment-Variablen
+in <tt>check_open</tt>
+von <tt>remote_addres</tt> nach <tt>return_addres</tt>.&nbsp;
+<br>Prozessor-Topologie kann durch Benutzer vorgegeben werden.
+Dazu neue
+Initialisierungsparameter <tt>npex</tt> und <tt>npey</tt>.
+Durch
+Änderungen
+am Header-Format wurde Testergebnis-Datei geändert.</td>
+<td>advec_s_bc, check_open, header, init_pegrid, modules, parin,
+read_var_list,
+write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
+<td>SR</td> <td>2.0a</td> <td>N</td>
+<td>Rechnungen mit geneigter Oberfläche erlauben jetzt
+die
+Vorgabe
+eines stabil geschichteten Temperaturprofils mit konstantem Gradienten.
+Hinzuschalten von Feuchte funktioniert für Hangrechnungen noch
+nicht.</td> <td>advec_s_bc, buoyancy, init_3d_model,
+modules,
+prognostic_equations&nbsp; <p><b>Neu:</b> <br>
+init_slope</p> </td> </tr> <tr nosave="" valign="top"> <td>13/06/00</td> <td>MS</td>
+<td>2.0a</td> <td nosave="">B</td> <td>Es
+werden nun auch die seitlichen Ränder für ql
+gesetzt.
+Ein Nichtsetzen der Randbedingungen führte zu Fehlern bei der
+Ausgabe
+von pt</td> <td nosave="">calc_liquid_water_content</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">03/07/00</td> <td>SR</td> <td>2.0b</td>
+<td>C</td> <td>Für eine Reihe von&nbsp;
+Unterprogrammen, die innerhalb
+von <tt>prognostic_equation</tt>
+aufgerufen werden und an die Pointer-Variablen übergeben
+werden,
+sind
+jetzt explizite Interfaces vereinbart (neues Modul <tt>pointer_interfaces</tt>).
+Auch im Vereinbarungsteil der entsprechenden Unterprogramme sind diese
+Übergabeparameter jetzt aus Konsistenzgründen (und
+weil es
+sonst
+Laufzeitfehler gibt) als Pointer-Variablen deklariert. Mit dieser
+Änderung
+ist der große Speicher- und CPU-Zeit-Bedarf beim
+Übersetzen
+von prognostic_equations wieder auf ein erträgliches
+Maß
+reduziert.&nbsp; <br>
+Im Rahmen dieser Änderungen wurde auch an diffusion_e ein
+Hilfsfeld
+weniger übergeben.&nbsp; <br>
+Aus nicht vollständig gekärten Gründen haben
+sich die
+Zahlen in der Testergebnis-Datei minimal geändert (und zwar
+die
+Spalte
+mit der Gesamtdivergenz nach Aufruf des Drucklösers).</td>
+<td>advec_s_bc, buoyancy, diffusion_e, diffusion_s, diffusion_u,
+diffusion_v,
+diffusion_w, disturb_field, modules, production_e, prognostic_equations</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">04/07/00</td> <td>SR</td> <td>2.0b</td>
+<td>B</td> <td>Diriclet-Randbedingungen für
+Temperatur und
+Flüssigwassergehalt
+werden gesetzt. Dies wäre bereits nach Einführung der
+Pointer
+zwingend notwendig gewesen. Rechnungen mit vorgegebener
+Oberflächentemperatur
+schlugen deshalb bislang fehl.</td> <td>boundary_conds</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">07/09/00</td> <td>MS</td> <td>2.0b</td>
+<td>B</td> <td>Die virtuelle potenielle Temperatur
+wird nun auch für
+k=nzb und
+k=nzt+1 berechnet, um die Randwerte auch für Ausgabezwecke
+bereichtzustellen.&nbsp;</td> <td>compute_vpt</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td> <td>SR</td> <td>2.1</td>
+<td>C/N</td> <td>PALM erlaubt jetzt den Einsatz
+optionaler Software-Pakete,
+die zwar
+zum Modell gehören, standardmäßig aber
+nicht mit
+übersetzt
+werden, um so unter anderem Kompilationszeit einzusparen. Siehe neues
+Kapitel
+3.7 in der Modelldokumentation.&nbsp; <p>Einsatz der
+dvrp-Software wurde vollständig
+überarbeitet.
+Sie ist nun als Software-Paket optional im Modell einsetzbar. Siehe
+überarbeitetes
+Kapitel 4.5.6 in der Modelldokumentation.&nbsp; </p> <p>Die
+Prognose der Partikelverlagerung ist ebenfalls in ein
+optionales
+Software-Paket ausgelagert.</p> </td> <td>advec_particles,
+header, init_3d_model, init_dvrp,
+init_particles,
+init_pegrid, modules, parin, parles, plot_dvrp, prognostic_equations,
+read_var_list,
+write_var_list&nbsp; <p><b>Neu:</b> <br>
+package_parin</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td>
+<td>SR</td> <td>2.1</td> <td>B</td>
+<td>MPI_FINALIZE ans Ende des Hauptprogramms geschoben (stand
+vorher vor
+cpu_auswertung, wo noch ein Barrier-Aufruf steht). comm2d war zu Beginn
+undefiniert und wird nun erst einmal gleich MPI_COMM_WORLD gesetzt.</td>
+<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
+<td>SR</td> <td>2.1a</td> <td>C</td>
+<td>Offene Dateien werden sobald möglich geschlossen.
+Wiedereröffnung
+bestimmter Dateien mit POSITION='APPEND' möglich. In diesem
+Zusammenhang
+wurde das Unterprogramm close_files in close_file umbenannt und hat nun
+1 Argument.&nbsp; <br>
+Anpassung der Diffusionsparametrisierung im 1D-Modell an das 3D-Modell.</td>
+<td>advec_particles, check_cpu_time, check_open, cpu_auswertung,
+init_1d_model,
+init_3d_model, init_particles, modules.f90, parin, parles, plot_2d,
+write_3d_binary&nbsp; <p><b>Neu:</b> <br>
+close_file&nbsp; </p> <p><b>Eliminiert:</b>
+<br>
+close_files</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
+<td>SR</td> <td>2.1a</td> <td>B</td>
+<td>Beseitigung kleiner Fehler.</td> <td>check_cpu_time,
+diffusion_e, diffusivities, long_filter,
+production_e</td> </tr> <tr nosave="" valign="top"> <td>05/01/01</td> <td>SR</td>
+<td>2.1b</td> <td>N</td> <td nosave="">Neues
+Software-Paket zur Berechnung von Spektren im
+Ortsraum</td> <td>check_open, header, init_3d_model,
+leap_frog, modules,
+package_parin,
+parles, read_var_list, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
+<br>
+calc_spectra, plot_spectra</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
+<td>2.1c</td> <td>C/N</td> <td>Drucklöser
+kann jetzt die Singleton-FFT benutzen. Modul <tt>singleton</tt>
+wurde deshalb von <tt>calc_spectra.f90</tt> nach <tt>modules.f90</tt>
+geschoben
+(neuer Initialisierungsparameter <tt>fft_method</tt>).&nbsp;
+<br>Flüsse können jetzt bei k=1
+unabhängig von der
+Verwendung
+einer Prandtl-Schicht vorgegeben werden (neuer
+Initialisierungsparameter <tt>use_surface_fluxes</tt>).&nbsp;
+<br>Modul <tt>test_variables</tt> wurde aus allen
+Programmteilen entfernt.
+Hauptprogramm wurde von parles nach <tt>palm</tt>
+umbenannt.&nbsp; <br>
+Modell kann auf DEC-Workstations eingesetzt werden (-D <tt>dec</tt>).&nbsp;
+<br>Zusätzliche Zeitmessungen mit dvrp-Software.
+Schreiben von
+Partikel-Informationen
+ist optional (neuer Parameter <tt>write_particle_informations</tt>).</td>
+<td>advec_particles, calc_spectra, check_parameters,
+cpu_zeitmessung, diffusion_s,
+header, init_3d_model, init_dvrp, init_particles, leap_frog, modules,
+package_parin,
+parin, poisfft, read_var_list, swap_timelevel, write_var_list&nbsp;
+<p><b>Neu:</b> <br>
+palm&nbsp; </p> <p><b>Eliminiert:</b> <br>
+parles, module_test</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
+<td>2.1c</td> <td>B</td> <td>Fehler
+beim öffnen von Unit 23 beseitigt. Modul <tt>interface</tt>
+fehlte in disturb_field.&nbsp; <br>
+Wertebereich von theta* in Prandtl-Fluxes eingeschränkt, weil
+sonst auf einigen Rechnern overflow droht, wenn u*=0.</td> <td>check_open,
+disturb_field, prandtl_fluxes</td> </tr> <tr valign="top"> <td>30/01/01</td> <td>SR</td>
+<td>2.1d</td> <td>N/C</td> <td>Prognose
+eines passiven Skalars ist möglich (anstatt
+Feuchte),
+dazu neuer Initialisierungsparameter <tt>passive_scalar</tt>.&nbsp;
+<p>Falls kein Pfad für ftpcopy existiert, werden in <tt>check_open</tt>
+die Dateinamen für AVS-Koordinaten- und Datendatei auf
+"unknown"
+gesetzt.</p> </td> <td>asselin_filter,
+boundary_conds, check_open, check_parameters,
+flow_statistics,
+header, init_1d_model, init_3d_model, modules, parin, plot_2d,
+plot_dvrp,
+prandtl_fluxes, prognostic_equations, read_var_list, swap_timelevel,
+write_3d_binary,
+write_var_list</td> </tr> <tr valign="top"> <td>30/01/01</td>
+<td>SR</td> <td>2.1d</td> <td>B</td>
+<td>String-Ausgabe für use_surface_fluxes korrigiert.
+Version vom
+25/01/01 brach deswegen bei Fortsetzungsläufen ab.&nbsp; <br>
+xy-Plotausgabe von q und ql korrigiert.</td> <td>plot_2d,
+write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">30/03/01</td>
+<td>SR</td> <td>2.2</td> <td>N/C</td>
+<td>Sämtliche 3D-Felder der Zeitebene t+dt wurden
+entfernt.
+Ebenso
+die Arbeitsfelder work und work1. Hilfsfelder wurden soweit
+möglich
+eingespart und werden grundsätzlich lokal allokiert. Dadurch
+konnten
+eine Reihe von Übergabeparametern gestrichen werden (z.B. beim
+Aufruf
+von <tt>pres, advec_s_bc, poisfft, production_e, sor </tt>sowie
+den
+Spline-Unterprogrammen).
+Der Long-Filter wurde in das Upstream-Spline-Verfahren integriert. Da
+der
+Zeitfilter jetzt direkt in der prognostischen Gleichung angewendet wird
+(bisher geschah dies erst nach Aufruf des Drucklösers), haben
+sich
+die Zahlen in der Testergebnis-Datei geändert. Die mittleren
+Profile
+sind aber unbeeinflusst.&nbsp; <p>Eine weitere kleinere
+Änderung der Testergebnis-Daten
+wird dadurch
+verursacht, dass jetzt der Parameter <tt>adjust_mixing_length</tt>
+defaultmäßig <tt>.FALSE.</tt>
+ist und der Mischungsweg grundsätzlich zusätzlich
+auf&nbsp; <tt>0.7
+* zu</tt>&nbsp;&nbsp; begrenzt wird. Falls <tt>adjust_mixing_length=T</tt>,
+wird jetzt der Mischungsweg in <tt>diffusivities</tt>
+analog zu <tt>diffusion_e</tt>
+an allen Gitterpunkten modifiziert. <b>Achtung: </b>Diese
+Änderungen
+können bei anderen Simulationen t.w. erhebliche Auswirkungen
+auf
+die
+oberflächennahen Ergebnisse haben.&nbsp; </p> <p><b>Kleinere
+Änderungen:</b> In <tt>init_cloud_physics</tt>
+wird
+der Wert der Variablen <tt>surface_pressure</tt> in hPa
+belassen
+(bisher
+Umwandlung in Pa).&nbsp; <br>
+Die Namelist-Namen der Software-Pakete sind&nbsp; t.w.
+geändert.&nbsp; <br>
+Unit 14 (binäre Ausgabe für
+Fortsetzungsläufe) wird
+jetzt im Hauptprogramm geschlossen, damit auf diese Datei noch
+benutzergesteuerte
+Ausgaben erfolgen können.&nbsp; <br>
+Laufparameter werden in keinem Fall mehr auf Unit 14 ausgegeben bzw.
+von Unit 13 gelesen, d.h. sie gelten jetzt tatsächlich nur
+für
+den jeweils aktuellen Lauf.&nbsp; <br>
+Partikeladvektion funktioniert jetzt auch zusammen mit der
+Galilei-Transformation.&nbsp; </p> <p>Restliche
+deutsche Variablen-, Unterprogramm- und Modulnamen
+wurden
+ins Englische übersetzt. Davon sind fast alle Programmteile
+betroffen
+(nicht in rechter Spalte aufgeführt).</p> </td> <td>advec_particles,
+advec_s_bc, advec_s_ups, advec_u_ups,
+advec_v_ups,
+advec_w_ups, boundary_conds, calc_spectra, check_parameters,
+diffusion_e,
+init_3d_model, init_cloud_physics, init_pegrid, init_rankine,
+leap_frog,
+modules, package_parin, palm, parin, poisfft, pres, production_e,
+prognostic_equations,
+read_var_list, sor, swap_timelevel, transpose_*, write_3d_binary,
+write_var_list&nbsp; <p><b>Neu:</b> <br>
+cpu_log, cpu_statistics&nbsp; </p> <p><b>Eliminiert:</b>
+<br>
+asselin_filter, cpu_auswertung, cpu_zeitmessung, long_filter</p> </td>
+</tr> <tr nosave="" valign="top"> <td nosave="">12/07/01</td> <td>SR</td> <td>2.2a</td>
+<td>N/C</td> <td>Defaultwert der unteren
+Randbedingung für die TKE ist ab
+sofort <tt>bc_e_b
+= 'neumann'</tt>.&nbsp; <br>
+Partikelquelle ist über Paketparameter steuerbar.
+Partikeleigenschaften
+sind mittels benutzereigener Software steuerbar. Der dvrp-Ausgabeweg
+ist
+jetzt ebenfalls über Paketparameter steuerbar.&nbsp; <br>
+Allen Modulen (bis auf singleton) wurde eine SAVE-Anweisung
+hinzugefügt,
+damit die durch sie vereinbarten Variablen während der
+Rechnung in
+keinem Fall undefiniert werden können (diese Gefahr besteht
+z.B.
+auf
+SGI-Origin-Maschinen).</td> <td>advec_particles, header,
+init_dvrp, init_particles,
+modules.f90, package_parin,
+plot_dvrp, user_interface</td> </tr> <tr> <td>12/07/01</td>
+<td>SR</td> <td>2.2a</td> <td>B</td>
+<td>Verschiebung der OPEN-Anweisung für Unit 33
+(AVS-FLD-Datei).</td> <td>check_open</td> </tr>
+<tr nosave="" valign="top"> <td nosave="">20/07/01</td>
+<td>SR</td> <td>2.3</td> <td>N</td>
+<td>Einbau des Mehrgitterverfahrens zur Lösung der
+Poisson-Gleichung.</td> <td>check_parameters,
+exchange_horiz, header, init_grid,
+init_pegrid, modules,
+parin, pres, run_control&nbsp; <p><b>Neu:</b> <br>
+poismg</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td>
+<td>SR</td> <td>2.3a</td> <td>N/C</td>
+<td>Ergänzung der dvrp-Software: Partikel
+können mit
+Schwänzen
+versehen werden. Die Ausgabe der dvrp-Plotdaten durch einen separaten
+PE
+ist möglich (mrun-Option "<tt>-p dvrp_graphics+1PE</tt>").
+Der
+Kommunikator <tt>MPI_COMM_WORLD</tt>&nbsp;
+wurde deshalb durch&nbsp; <tt>comm_palm</tt>&nbsp;
+ersetzt.&nbsp; <p>Reduzierung des Mischungsweges im
+Wandbereich kann wahlweise
+abgeschaltet
+werden. Für km und kh wird jetzt eine Neumann-Randbedingung am
+unteren
+Rand verwendet. Die TKE-Energieproduktionsberechnung durch Scherung des
+Grundstroms am unteren Rand wurde verbessert.&nbsp; </p> <p>Generelle
+Verwendung der bodennahen vertikalen
+Impulsflüsse in
+den Diffusionstermen von u und v, immer wenn diese als Randbedingung
+vorgegeben
+sind (gemäß <tt>use_surface_fluxes</tt>,
+- bisher wurde
+dies
+nur bei eingeschalteter Prandtl-Schicht gemacht). Schubspannungen
+können
+jetzt als Randbedingungen vorgegeben werden (allerdings unter
+zuhilfenahme
+benutzereigener Software).&nbsp; </p> <p>Zusätzliche
+Schnittstellen für benutzereigene
+Software in
+allen Tendenztermen, in <tt>flow_statistics,</tt> und
+für
+Partikel-
+bzw. dvrp-Programmteile (Bestimmung von Partikeleigenschaften,
+Festlegung
+von Farbtabellen).&nbsp; </p> <p><b>Achtung: </b>Diese
+Änderungen können bei
+Simulationen mit
+mittlerem Wind durch die Änderungen im bereich des unteren
+Randes
+t.w. erhebliche Auswirkungen auf die oberflächennahen
+Ergebnisse
+haben.</p> </td> <td>advec_particles, diffusion_e,
+diffusion_u, diffusion_v,
+diffusivities,
+flow_statistics, header, init_dvrp, init_particles, init_pegrid,
+leap_frog,
+modules, package_parin, palm, parin, plot_dvrp, production_e,
+prognostic_equations,
+read_var_list, swap_timelevel, user_interface, write_var_list</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td> <td>SR</td> <td>2.3a</td>
+<td>B</td> <td>Falsche Positionierung von
+MPI_ALLREDUCE in check_cpu_time
+korrigiert.</td> <td>check_cpu_time</td> </tr>
+<tr nosave="" valign="top"> <td nosave="">04/09/01</td>
+<td>SR</td> <td>2.3b</td> <td>N</td>
+<td>Zusätzliche Profilausgaben für
+Energieproduktionsterme möglich.
+Stördruck wird bei der FFT-Methode nicht mehr durch
+Aufsummieren
+der
+Werte zu den einzelnen Zeitschritten ermittelt.</td> <td>check_parameters,
+flow_statistics, modules, pres</td> </tr> <tr nosave="" valign="top"> <td nosave="">04/09/01</td>
+<td>SR</td> <td>2.3b</td> <td>B</td>
+<td>Austausch der Geisterränder für die
+zeitgefilterten
+Felder
+direkt nach Durchführung der Filterung (war fehlerhaft seit
+Entfernen
+der Zeitebene t+dt (Version 2.2) und führte zu sehr kleinen
+Störungen
+an den seitlichen Rändern der Teilgebiete).&nbsp; <p><b>Achtung:</b>
+Der Inhalt der Testergebnis-Datei ändert
+sich durch
+diese Fehlerkorrektur.</p> </td> <td>prognostic_equations</td>
+</tr> <tr nosave="" valign="top"> <td nosave="">09/11/01</td> <td>SR</td> <td>2.3c</td>
+<td>N</td> <td>Farbe entlang der
+Partikelschwänze kann sich
+ändern. Einschalten
+der Partikeladvektion bei Fortsetzungsläufen möglich.</td>
+<td>advec_particles, init_particles, modules, package_parin,
+plot_dvrp</td> </tr> <tr nosave="" valign="top">
+<td nosave="">16/04/02</td> <td>SR</td>
+<td>2.3d</td> <td>N</td> <td>Vorgabe
+von Randbedingungen für Partikeladvektion
+möglich.
+Partikeldaten können für spätere Analysen
+auf Datei
+geschrieben
+werden (Unit 85). <tt>PARTICLE</tt>-Datentyp
+enthält
+Informationen
+über Partikelgeschwindigkeitskomponenten und
+Startposition.&nbsp; <p>Skalartransport sowie entsprechende
+Datenausgaben können
+durch
+eigene Parameter gesteuert werden (nicht mehr über die
+Feuchteparameter).&nbsp; </p> <p>Im Fall von
+pdims(1)=1 (eindimensionales virtuelles
+Prozessornetz in
+y-Richtung) werden die zyklischen Randbedingungen in x-Richtung durch
+direktes
+Umspeichern anstatt durch&nbsp; <tt>sendrecv </tt>realisiert.
+Ebenso
+werden
+die Transponierungen xz, yz, zx&nbsp; und zy eingespart (es wird
+aber
+weiter
+umsortiert).&nbsp; </p> <p>Im Fall von
+3D-Plotausgaben Aufruf von ftpcopy-Script durch
+batch_scp-Script
+ersetzt (dient der Ermittelung von Dateizyklusnummern als Information
+für
+die AVS-fld-Datei).&nbsp; </p> <p>Bei fehlerhafter
+Eröffnung einer CPU_MEASURES-Datei
+werden erneute
+Eröffnungsversuche durchgeführt.</p> </td>
+<td>advec_particles, check_open, check_parameters,
+exchange_horiz, flow_statistics,
+header, init_particles, modules, package_parin, parin, plot_2d,
+plot_3d,
+prognostic_equations, read_var_list, transpose_xz, transpose_yz,
+transpose_zx,
+transpose_zy, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/05/02</td>
+<td>SR</td> <td>2.3e</td> <td>B</td>
+<td>Wiedereinführung der 3D-Felder für die
+Zeitebene
+t+dt, die
+notwendig ist, damit in den Diffusionstermen bei Leapfrog-Zeitschritten
+mit der korrekten Zeitebene t-dt gearbeitet wird. Seit Version 2.2
+wurde
+fälschlicherweise die Zeitebene t+dt verwendet. Asselin-Filter
+ist
+jetzt wieder eigenständiges Unterprogramm. <br>
+Die Wiedereinführung dieser dritten Zeitebene ist auch
+Voraussetzung
+für die in der nächsten Version geplante skalare
+Optimierung.&nbsp; <p>Fehler bei Berechnung von
+Ausgabezeitpunkten eliminiert (trat
+auf, wenn
+bei Fortsetzungsläufen von Ausgabeabständen 0.0 auf
+von Null
+verschiedene Werte gewechselt werden sollte).&nbsp; </p> <p><b>Achtung:</b>
+Der Inhalt der Testergebnis-Datei ändert
+sich durch
+diese Fehlerkorrektur.</p> </td> <td>init_3d_model,
+leap_frog, modules, prognostic_equations,
+swap_timelevel&nbsp; <p><b>Neu:</b> <br>
+asselin_filter</p> </td> </tr> <tr nosave="" valign="top"> <td>02/05/02</td> <td>SR</td>
+<td>2.3e</td> <td>N/C</td> <td>Kleinere
+Anpassungen an IBM-Regatta-Systeme in
+check_parameters, cpu_log.&nbsp; <p>Modul singleton in
+eigenständige Datei
+überführt.&nbsp; </p> <p>Global_min_max
+arbeitet mit REAL*4, um Komplikationen auf
+32-bit-Rechnern
+zu vermeiden (Datentyp MPI_2REAL müsste dort sonst auf
+MPI_2DOUBLE_PRECISION
+geändert werden). <br>
+Horizontale Geschwindigkeitskomponenten für Partikeladvektion
+werden exakt zwischen den jeweils benachbarten horizontalen
+Gitterflächen
+interpoliert.</p> </td> <td nosave="">advec_particles,
+check_parameters, cpu_log,
+global_min_max,
+modules&nbsp; <p><b>Neu:</b> <br>
+singleton</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td>
+<td>SR</td> <td>2.4</td> <td>N/C</td>
+<td>Optimierung und Anpassungen für einzelne Knoten der
+IBM-Regatta-Systeme. <p><b>Skalare (Cache) Optimierung:</b>
+Tendenzterme werden
+innerhalb einer
+großen (i,j)-Schleife berechnet, die nun jeweils die gesamte
+prognostische
+Gleichung umfasst. Schleifenindices i und j werden an die
+Tendenzunterprogramme
+als Argumente übergeben. Die Tendenzunterprogramme sind als
+Module
+geschrieben, die mittels Technik der überladenen Funktionen
+auch
+ohne
+diese Indices i und j aufgerufen werden können, und dann wie
+in
+früheren
+Versionen funktionieren (d.h. in ihnen laufen die Schleifen
+über
+alle
+3 Dimensionen). Solche Teile der prognostischen Gleichungen, die
+globale
+Kommunikation beinhalten, sind vor die (i,j)-Schleife gezogen. Falls
+ausschließlich
+mit Piascek-Williams-Advektion gearbeitet wird, werden alle
+prognostischen
+Gleichungen in einer einzigen (i,j)-Schleife gerechnet. </p> <p><b>Kommunikationsoptimierung:</b>
+Zusätzliche
+Implementierung einer
+1D-Gebietszerlegung in x-Richtung. Mit dem neuen direkten
+Drucklöser
+(poisfft_hybrid) werden dadurch 4 von 6 notwendigen Transpositionen
+eingespart.
+Die 1D-Zerlegung wird automatisch bei Verwendung dieses neuen
+Lösers
+aktiviert. Austausch von Geisterrändern in y-Richtung wird bei
+dieser
+1D-Zerlegung durch einfache zyklische Randbedingungen ersetzt. </p>
+<p><b>Kleinere Anpassungen:</b> String-Vergleiche
+erfordern beim
+IBM-Compiler
+in der Regel den Einsatz der TRIM-Funktion, um
+überschüssige
+Blanks am Ende des Strings abzuschneiden (sonst liefert der Vergleich
+.F.). <br>
+Lokal allokierte Felder t.w. in sogenannte automatische Felder
+umgewandelt
+(günstiger, um Gefahr von eventuellen Speicherlecks zu
+vermeiden).
+Einige Feldoperationen wurden wegen schlechter Performance auf der IBM
+entfernt (s. pres). </p> <p><b>Achtung: </b>Die
+Übersetzung des Modells erfordert
+aufgrund
+der Vielzahl nunmehr eingesetzter Module die Verwendung des
+make-Mechanismus,
+um die korrekte Reihenfolge bei der Übersetzung der
+Programmteile
+zu gewährleisten. Die Beschreibung dieser
+Abhängigkeiten
+erfolgt
+in der Datei<tt> Makefile</tt>, die zusammen mit den
+Programmdateien
+abgelegt
+ist und ebenfalls unter RCS-Verwaltung steht. </p> <p>Im
+User-Interface ist das Unterprogramm<tt> user_actions </tt>nun
+ebenfalls
+als Modul geschrieben und bedient sich der Methode der
+überladenen
+Funktionen. Existierende benutzereigene Software muss entsprechend
+angepasst
+werden.</p> </td> <td>advec_s_pw, advec_s_up,
+advec_u_pw, advec_u_up, advec_v_pw,
+advec_v_up,
+advec_w_pw, advec_w_up, buoyancy, calc_precipitation, calc_radiation,
+calc_spectra,
+check_parameters, coriolis, diffusion_e, diffusion_s, diffusion_u,
+diffusion_v,
+diffusion_w, diffusivities, exchange_horiz, exchange_horiz_2d,
+global_min_max,
+header, impact_of_latent_heat, init_pegrid, leap_frog, modules,
+plot_2d,
+plot_3d, plot_spectra, poisfft, pres, production_e,
+prognostic_equations,
+user_interface, <p><b>Neu:</b> <br>
+fft_for_1d_decomp, Makefile, poisfft_hybrid,&nbsp;</p> </td>
+</tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td> <td>SR</td> <td>2.4</td>
+<td>B</td> <td>Fehlende Variablenvereinbarung in <tt>advec_particles</tt>
+ergänzt.</td> <td>advec_particles</td> </tr>
+<tr> <td valign="top">12/09/02</td> <td valign="top">SR</td> <td valign="top">2.4a</td>
+<td valign="top">N</td> <td valign="top">Partikel
+können mit Trägheit versehen
+werden und
+einen Dichteunterschied zum umgebenden Fluid haben. Zur Steuerung dient
+der neue Paketparameter <tt>density_ratio</tt>.</td>
+<td valign="top">advec_particles, header, init_particles,
+modules, package_parin</td> </tr> <tr> <td valign="top">12/09/02</td> <td valign="top">SR</td>
+<td valign="top">2.4a</td> <td valign="top">B</td>
+<td valign="top">Fehler in Berechnung der Anfangsprofile
+von pt
+und q entfernt
+(obere Feldgrenze von 10 konnte in <tt>pt_vertical_gradient_level_ind</tt>
+überschritten werden). Fehler führte unter
+Umständen zu
+"segmentation fault" bei Verwendung sehr großer
+Gitterpunktzahlen
+in z-Richtung. <p>Fehler in Berechnung der v-Komponente am
+unteren Rand
+entfernt, die
+für den Scherungsproduktionsterm der TKE verwendet wird
+(Variable
+v_0). Fälschlicherweise wurde zur Berechnung u(k=1) statt
+v(k=1)
+verwendet.</p> </td> <td valign="top">check_parameters,
+modules, production_e</td> </tr> <tr> <td valign="top">19/12/02</td> <td valign="top">SR</td>
+<td valign="top">2.5</td> <td valign="top">N</td>
+<td valign="top">Restart times can be set by user with new
+runtime (d3par)
+parameters <tt>restart_time</tt> and <tt>dt_restart</tt>.
+Run
+description
+header is written on file CONTINUE_RUN. Output of cpu statistics
+changed
+(PE results are now collected on PE0 in order to calculate mean cpu
+statistics).
+Output of warnings in the job protocol in case of negative measured
+cpu-times.
+Remaining cpu-time is also evaluated on IBM-Regatta.</td> <td valign="top">cpu_log, cpu_statistics,
+check_parameters,header, leap_frog,
+local_tremain, local_tremain_ini, modules,&nbsp; palm,&nbsp; <p><b>new:</b>
+<br>
+check_for_restart </p> <p><b>deleted:</b> <br>
+check_cpu_time</p> </td> </tr> <tr> <td valign="top">&nbsp;<br> </td> <td valign="top">&nbsp;<br> </td> <td valign="top">&nbsp;<br> </td> <td valign="top">C</td> <td valign="top">Unit
+14 (BINOUT) must be opened using a special
+process
+id string, because on IBM, the PE rank differs between communicators
+MPI_COMM_WORLD
+and comm_2d. This leads to a mismatch between filename-PE-number and
+PE-number
+written on file. As the consequence, these files could not be read by
+restart-jobs.
+Reading of array <tt>hom</tt> moved from <tt>init_3d_model
+</tt>to <tt>read_var_list</tt>
+(binary version number incremented to 2.2). <p><b>Further
+optimization for IBM-Regatta-systems:</b> <br>
+Additional optimization of the hybrid-solver for multinode usage
+(overlapping
+of communication and computation). </p> <p>Further cache
+optimization by using strides and joining loops (<tt>hybrid_solver,
+pres</tt> and <tt>timestep</tt>). Joining of
+MPI_ALLREDUCE calls in
+timestep. </p> <p>In case of 1d-decomposition along x
+only a part of the
+integral divisor
+conditions is checked, on IBM hosts a 1d-decomposition along x is the
+default,
+a switch from Poisson-FFT-solver to the hybrid-solver is made in case
+of
+1d-decomposition along x, the hybrid-solver does not force a
+1d-decomposition
+any more. </p> <p>Array notation changed to do-loop
+constructs due to better
+performance. </p> <p>Cyclic boundary conditions along <tt>y</tt>
+used instead of
+sendrecv
+in case of a 1d-decomposition along <tt>x</tt>. SENDRECV
+replaced by
+nonblocking
+routines ISEND and IRECV in <tt>exchange_horiz.f90</tt>. </p>
+<p>Speed optimization by removing MINVAL/MAXVAL calls and by
+handling <br>
+the "abs" case in a different way than the min/max cases (routine <tt>global_min_max</tt>).</p>
+</td> <td valign="top">asselin_filter, check_open,
+exchange_horiz,
+global_min_max,
+init_3d_model, init_pegrid, parin, poisfft_hybrid, read_var_list,
+timestep,
+write_3d_binary, write_var_list</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Correction
+of mixing length term (l(k)/ll(k)).
+The condition
+kh=3*km in the unstable case is now also exactly met in the wall
+adjustment
+region. Factor 0.7 in wall adjustment part replaced by variable <tt>wall_adjustment_factor</tt>,
+which is set to 1.8 in <tt>modules.f90</tt>. The factor
+0.7 was the
+possible
+reason for 2-delta-x-waves, which were observed since version 2.1d. <p>Calculation
+of deformation tensor re-designed (<tt>production_e</tt>). </p>
+<p>STOP statements replaced by call of new subroutine <tt>local_stop,
+</tt>where
+MPI_FINALIZE is called before STOP in case of a parallel environment. </p>
+<p>ISO2D parameter dp set to true for ibm hosts. </p> <p>tend=p
+added in <tt>pres</tt> after calling sor method.</p>
+</td> <td valign="top">advec_s_bc, buoyancy,
+check_open,
+check_parameters, close_file,
+coriolis, diffusion_e, diffusivities, fft_for_1d_decomp,
+flow_statistics,
+init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
+parin,
+plot_2d, poisfft, pres, read_var_list, user_interface,&nbsp; <p><b>new:</b>
+<br>
+local_stop, production_e</p> </td> </tr> <tr>
+<td valign="top">03/03/03</td> <td valign="top">SR</td>
+<td valign="top">2.5a</td> <td valign="top">N</td>
+<td valign="top">Particle velocities are also stored in
+array
+particles in
+case of zero density ratio. Steering of variables by dvrp browser
+included.</td> <td valign="top">advec_particles,
+init_dvrp, modules,</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top"><br> </td> <td valign="top">C</td> <td valign="top">AVS
+data format changed from float to xdr_float
+(needed
+on linux machines <br>
+due to the little/big endian problem). Updates for new version of dvrp
+software (e.g. using module dvrp is now mandatory).</td> <td valign="top">close_file, init_dvrp, leap_frog, plot_dvrp</td>
+</tr> <tr> <td valign="top"><br> </td>
+<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">B</td>
+<td valign="top">Error in particle inertia part removed
+(exp_arg
+must not
+contain the timestep). <br>
+Error in calculation of the vertical flux of resolved scale energy
+(profile 57) removed. Displacement for integers in mpi_particle_type
+reduced
+from 16 to 8 on ibm.</td> <td valign="top">advec_particles,
+flow_statistics, init_particles</td> </tr> <tr> <td valign="top">12/03/03</td> <td valign="top">SR</td>
+<td valign="top">2.6</td> <td valign="top">N</td>
+<td valign="top"><b>Version optimized for NEC-SX6
+parallel-vector
+machines.&nbsp;</b> <p>There are two main changes. A
+new vectorizable routine <tt>prognostic_equations_vec</tt>
+is added, where cache optimizations are undone. The tendency
+subroutines
+called by <tt>prognostic_equations_vec</tt> contain the
+full 3d-loops
+(compared
+with the cache-optimized versions where only loops over k are carried
+out).
+Additionally, a new pressure solver <tt>poisfft_hybrid_vec</tt>
+is
+added,
+which requires a 1d-domain-decomposition (like poisfft_hybrid). In this
+solver, a very fast FFT from Clive Temperton (ECMWF) is&nbsp;
+optionally
+available by choosing <tt>fft_method </tt>= <i>'temperton-algorithm'</i>.&nbsp;
+</p> <p>Additional changes in <tt>flow_statistics</tt>
+to allow
+better vectorization. </p> <p>Small changes in routines <tt>diffusivities</tt>
+and <tt>pres</tt>
+which
+caused run time errors on IBM and NEC due to compiler problems. </p>
+<p>Reading of environment variable <tt>tasks_per_node</tt>
+moved
+from routine <tt>poisfft_hybrid</tt>
+to routine <tt>parin</tt>. </p> <p><b>Changes
+in makefile:</b> modules and user_interface now
+depend on
+the f90 files, dependency of singleton added, LDFLAGS moved to the end
+of PROG rule, temperton_fft added.</p> </td> <td valign="top">advec_s_pw, advec_s_up, advec_u_pw, advec_u_up,
+advec_v_pw,
+advec_v_up, advec_w_pw, advec_w_up, buoyancy, calc_precipitation,
+calc_radiation,
+check_parameters, coriolis, cpu_log, diffusion_e, diffusion_s,
+diffusion_u,
+diffusion_v, diffusion_w, diffusivities, fft_for_1d_decomp, header,
+impact_of_latent_heat,
+init_pegrid, leap_frog, local_tremain, modules, parin, poisfft,
+poisfft_hybrid,
+pres, production_e, prognostic_equations, user_interface <p><b>new:</b>
+<br>
+temperton_fft</p> </td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">tend=p
+added in routine <tt>pres</tt> after
+calling sor
+method.</td> <td valign="top">pres</td> </tr>
+<tr> <td valign="top">14/03/03</td> <td valign="top">SR</td> <td valign="top">2.6a</td>
+<td valign="top">N</td> <td valign="top">Additional
+vector optimization for NEC-SX6. <p>Optional system-specific
+random number generator available
+(for equal
+distributed numbers). </p> <p>Define strings in all
+relevant subroutines changed from&nbsp; </p> <p><tt>&nbsp;&nbsp;&nbsp;&nbsp;
+#if defined( define_string )</tt> </p> <p>to </p>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; #if
+defined( __define_string )</tt> </p> <p><b>Caution:
+</b>The relevant subroutines are NOT listed in
+the right
+column!</p> </td> <td valign="top">asselin_filter,
+check_parameters, diffusion_e,
+diffusivities,
+disturb_field, global_min_max, header, local_tremain, modules, parin,
+poisfft_hybrid,
+pres, read_var_list, write_var_list</td> </tr> <tr>
+<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top">B</td> <td valign="top">Error in particle boundary condition removed
+(velocity must
+be inverted in case of reflection)</td> <td valign="top">advec_particles</td>
+</tr> <tr> <td valign="top">16/04/03</td>
+<td valign="top">SR</td> <td valign="top">2.6b</td>
+<td valign="top">N</td> <td valign="top">Time
+series output of Monin Obukhov length. <p>Temperton fft can now
+be used for all hosts and every domain
+decomposition.
+Abort in case of Temperton fft, if number of gridpoints along x and/or
+y contain illegal factors.&nbsp; </p> <p>Index values
+for the extrema found in global_min_max are
+limited to
+the range 0..nx, 0..ny (on IBM machines -1 and nx+1/ny+1 occured which
+produced different RUN_CONTROL output compared to other machines). </p>
+<p>Output format of iteration count in routine run_control
+enlarged.</p> </td> <td valign="top">check_parameters,
+fft_for_1d_decomp,
+global_min_max, init_pegrid,
+modules, plot_ts, poisfft, run_control, temperton_fft</td> </tr>
+<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top">B</td> <td valign="top">Additional checks of variables <tt>hybrid_solver</tt>
+and <tt>host</tt>
+(<tt>hybrid_solver</tt> must not be used for a
+2d-domain-decomposition, <tt>host</tt>
+should be set by setting environment variable <tt>localhost</tt>).
+<p>Header output for mixing length limitations revised.</p>
+</td> <td valign="top">check_parameters, header</td>
+</tr> <tr> <td valign="top">09/05/03</td>
+<td valign="top">SR</td> <td valign="top">2.7</td>
+<td valign="top">N</td> <td valign="top"><b>Version
+running on Linux Clusters using MPICH
+and Intel
+FORTRAN compiler (ifc)</b> <p>So far, only absolutely
+neccessary changes have been done
+(possible
+optimizations will follow in a later version): </p> <p>New
+time measurements for Linux (ifc) environment added. </p> <p>Some
+parameters in MPI calls had to be modified (arrays had to
+be replaced
+by the first element of the regarding array) in order to fulfill f90
+type
+and rank requirements, since on the MUK-cluster a FORTRAN90-version of
+MPI is used. This also required to replace "mpif.h" by using a special
+module (named <tt>mpi</tt>).&nbsp; I did not find out
+how character
+strings
+can be send with MPI. Therefore, these strings are transformed to
+integers,
+before they are send, and transformed back to characters on the
+receiving
+PE. </p> <p>On the MUK-cluster, only PE0 is able to read
+the values of
+environment
+variables. Therefore, these values are communicated via broadcast to
+the
+other PEs. </p> <p>1d-decomposition is set as the default
+on Linux Clusters.
+Character
+strings have to be transformed to integer </p> <p>Smaller
+changes: </p> <p>Batch_scp paths for IBM, NEC and Linux
+added</p> </td> <td valign="top">check_open,
+cpu_log, flow_statistics,
+init_pegrid, local_getenv,
+modules, palm, poisfft_hybrid</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Measurements
+on IBM are now using function <tt>irtc</tt>,
+which allows correct measurements for jobs running over the 24:00
+timeline.</td> <td valign="top">cpu_log,
+local_tremain, local_tremain_ini</td> </tr> <tr> <td valign="top">01/08/03</td> <td valign="top">SR</td>
+<td valign="top">2.7a</td> <td valign="top">B</td>
+<td valign="top">Check that the number processors is also
+an
+integral divisor
+of the number&nbsp; of gridpoints along y in case of a
+1d-decomposition
+along x. <p>Error concerning the multinode-version of
+poisfft_hybrid
+removed. It
+was caused by the Linux changes of version 2.7 and led to program abort
+due to MPI errors in <tt>MPI_ALLTOALL</tt>. </p> <p>No
+abort on t3e-systems if system specific routines are used. </p> <p>Array<tt>
+sums </tt>is initialized in<tt> init_3d_model </tt>before
+the first call of<tt> pres</tt>. Call of<tt>
+init_cloud_physics </tt>moved
+before<tt> init_particles</tt>.</p> </td> <td valign="top">fft_1dd_init, init_3d_model, init_pegrid,
+poisfft_hybrid</td> </tr> <tr> <td valign="top"><br>
+</td> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">N</td>
+<td valign="top">Interactive steering of dvrp-graphic
+features by
+dvrp-browser
+plugin extended (position of slicers, threshold values of isosurfaces)
+. New dvrp_graphics package parameter<tt> slicer_range_limits_dvrp</tt>.</td>
+<td valign="top">init_dvrp, modules, package_parin,
+plot_dvrp</td> </tr> <tr> <td valign="top">29/10/03</td>
+<td valign="top">SR</td> <td valign="top">2.7b</td>
+<td valign="top">N</td> <td valign="top">In
+the multigrid method, on a defined level,
+data are gathered
+on PE0 and further calculations are carried out only on this PE. New<tt>
+d3par </tt>parameter <tt>mg_switch_to_pe0_level</tt>.
+<p>Particle groups implemented. New data type<tt>
+particle_groups_type </tt>and data type<tt> particle_type </tt>modified.
+Version
+numbers are
+output on the particle files. New<tt> particles_par </tt>parameter<tt>
+diameter</tt>. Parameter name<tt> uniform_psize</tt>
+changed to<tt>
+dvrp_psize</tt>.
+Parameters<tt> density_ratio </tt>is now an array.</p>
+</td> <td valign="top">advec_particles, check_open,
+exchange_horiz,
+header, init_particles,
+init_pegrid, modules, package_parin, parin, poismg</td> </tr>
+<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top">C</td> <td valign="top">Random number generator from numerical recipes
+is now rewritten
+as a module. In restart runs the seed of this generator is set to the
+last
+values of the previous run in order to keep the sequence of the random
+numbers. New binary version 2.2. <p>Buffer is flushed for file
+RUN_CONTROL immediately after every
+output
+on IBM and Linux cluster.</p> </td> <td valign="top">advec_particles,
+disturb_field, init_3d_model,
+init_particles,
+random_function, random_gauss, run_control, write_3d_binary</td> </tr>
+<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
+</td> <td valign="top">E</td> <td valign="top">In routine buoyance, horizontal mean
+temperature
+is now
+taken from array hom instead of array sums (otherwise inconsistence in
+case of using more than one statistical region). <p>Information
+about the time of the last timestep change added
+to the
+restart file. </p> <p>System call of<tt> batch_scp </tt>on
+IBM corrected.</p> </td> <td valign="top">buoyancy,
+check_open, read_var_list,
+write_var_list</td> </tr> <tr> <td style="vertical-align: top;">28/01/04</td> <td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.8</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">Runge-Kutta schemes (2nd and
+3rd
+order)
+for time integration implemented. The third order scheme is the new
+default.
+It allows the timestep to be 0.9*CFL, which is much larger than for the
+former default leapfrog scheme.&nbsp; The intermediate steps, which
+are
+part of these schemes, are realized by an additional loop within routine<span style="font-family: monospace;">
+time_integration&nbsp;</span>(currently<span style="font-family: monospace;">
+leap_frog</span>, but this routine will be renamed soon).
+Steering
+variables<span style="font-family: monospace;">
+at&nbsp;</span>and<span style="font-family: monospace;">
+bt&nbsp;</span>have
+been replaced by array<span style="font-family: monospace;">
+sct</span>.
+, which is particularly used in the prognostic equations. Values of
+this
+steering array are calculated within the new routine<span style="font-family: monospace;">
+timestep_scheme_steering</span>. <p>When using Runge-Kutta
+schemes,&nbsp; the timestep increment
+is freely
+allowed to adjust after each timestep (the older schemes are using some
+restrictions, see routine<span style="font-family: monospace;">
+timestep</span>).
+Also, routine<span style="font-family: monospace;">
+run_control&nbsp;</span>is
+not automatically called in case of timestep changes, when Runge-Kutta
+schemes are switched on. </p> <p>The old leapfrog scheme
+is still implemented and should
+produce the
+same results as in the previous version(s)! </p> <p>Depending
+on the user experience, further adjustments to the
+Runge-Kutta
+schemes may be necessary within the next minor versions.&nbsp; </p>
+<p><span style="font-weight: bold;">Attention:</span>
+<br>
+The content of the testresult-file (run control output) has
+significantly
+changed due to the new default timestep scheme!</p> </td> <td style="vertical-align: top;">check_parameters, header,
+init_3d_model,
+init_rankine, leap_frog, modules, prognostic_equations, read_var_list,
+swap_timelevel, timestep, write_var_list <p><span style="font-weight: bold;">new:</span> <br>
+timestep_scheme_steering</p> </td> </tr> <tr>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C</td> <td style="vertical-align: top;">Output of particle infos in
+subroutine<span style="font-family: monospace;">
+allocate_prt_memory&nbsp;</span>on demand only. <p>Type<span style="font-family: monospace;"> log&nbsp;</span>(used
+for
+cpu time measurements) changed to<span style="font-family: monospace;">
+logpoint&nbsp;</span>due to name conflict with FORTRAN
+intrinsic<span style="font-family: monospace;">
+log.</span></p> </td> <td style="vertical-align: top;">advec_particles,
+cpu_log,&nbsp;</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">In case of opening unit 80, a
+barrier
+is set only for the first call of<span style="font-family: monospace;">
+check_open&nbsp;</span>(from routine<span style="font-family: monospace;">
+init_particles</span>), in order to avoid the possibility of
+hanging
+jobs,
+which may occur if unit 80 is opened within routine<span style="font-family: monospace;">
+allocate_prt_memory</span>.</td> <td style="vertical-align: top;">check_open</td> </tr>
+<tr> <td style="vertical-align: top;">30/01/04</td>
+<td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.8a</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">In order to prepare the code
+for
+the simulation
+of flow around buildings (to be realized in one of the next major
+versions),
+the lower<span style="font-family: monospace;"> k&nbsp;</span>index<span style="font-family: monospace;">
+nzb&nbsp;</span>has been replaced by a two-dimensional array<span style="font-family: monospace;">
+nzb_2d&nbsp;</span>in many of the three-dimensional loops. So
+far, all
+elements of this array are set to<span style="font-family: monospace;">
+nzb</span>. <p>This change should not effect simulation
+results and cpu time
+in any
+way.</p> </td> <td style="vertical-align: top;">advec_s_pw,
+advec_s_up,
+advec_u_pw, advec_u_up,
+advec_v_pw, advec_v_up, advec_w_pw, advec_w_up, asselin_filter,
+buoyancy,
+calc_liquid_water_content, calc_precipitation, calc_radiation,
+coriolis,
+diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w,
+diffusivities,
+impact_of_latent_heat, init_3d_model, modules, production_e,
+prognostic_equations,&nbsp;</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C</td> <td style="vertical-align: top;">Euler step informations are
+removed in
+the run control output in case of Runge-Kutta schemes. Also, the
+timestep
+increment limitation is removed for the Runge-Kutta schemes. <p><span style="font-weight: bold;">Attention:</span> <br>
+The content of the testresult-file (run control output) has changed
+due to this modification.</p> </td> <td style="vertical-align: top;">run_control, timestep</td>
+</tr> <tr> <td style="vertical-align: top;"><br>
+</td> <td style="vertical-align: top;"><br> </td>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">Velocity gradients at the
+surface calculated
+in routine production_e are now limited. In case of inhomogeneous
+surface
+heating small diffusivities (<span style="font-family: monospace;">km</span>)
+sometimes caused very small timesteps due to this problem.</td> <td style="vertical-align: top;">production_e</td> </tr>
+<tr> <td style="vertical-align: top;">30/04/04<br>
+</td> <td style="vertical-align: top;">SR<br>
+</td> <td style="vertical-align: top;">2.8b<br>
+</td> <td style="vertical-align: top;">N<br> </td>
+<td style="vertical-align: top;">The number of processors
+along
+the respective directions of the virtual processor grid must not be
+integral divisors of the number of gridpoints along x, y or z any more.
+In case that they are not integral divisors, the subdomains on the
+processors at the upper borders of the virtual grid will contain less
+gridpoints than the other subdomains (which are all of equal size).
+Although this causes a load imbalance, only runs with very small
+numbers of processors will feel a significant decrease of performance.
+In order to be able to carry out the transpositions, array<span style="font-family: monospace;"> d </span>(and also
+working array<span style="font-family: monospace;"> tend</span>)
+have the same size on
+all processors. This new feature is switched on by setting the
+inipar-parameter<span style="font-family: monospace;">
+grid_matching </span>= <span style="font-style: italic;">'match'</span>,
+which is the
+default now.<br> <br>
+Routine<span style="font-family: monospace;"> poisfft </span>is
+now
+the
+default for solving the Poisson-equation for the case of 2d- as well as
+1d-domain-decompositions and has been changed from a subroutine to a
+module. This routine now includes most of the optimization from the
+(Ketelsen) routine<span style="font-family: monospace;">
+poisfft_hybrid </span>and additionally allows 1d-decompositions
+along y.<br> <span style="font-weight: bold;">ATTENTION:</span>
+Routine<span style="font-family: monospace;">
+poisfft_hybrid </span>might still be
+faster when running PALM on more than one node of the IBM-Regatta,
+although the difference is not very big. The <span style="font-family: monospace;">poisfft</span>-code
+for a
+decomposition along y has still a poor performance and needs further
+optimization.<br> <br>
+The spectra-package is now able to use all the available FFT-methods
+(selected by inipar-parameter<span style="font-family: monospace;">
+fft_method </span>).
+Performance of the transpositions needed for calculating the spectra
+has been improved by using new direct transpositions from z to y and
+from y to x instead of two subsequent transpositions.<br> <br>
+Runge-Kutta scheme implemented in the 1d-version (<span style="font-family: monospace;">init_1d_model</span>).
+Diffusion
+quantity arrays are allocated for previous timelevels only in case of
+leapfrog scheme.<br> <br>
+This version is adapted for use on COMPAQ-DECALPHA systems (main
+changes: calling of SHAPE function within subroutine arguments (e.g.<span style="font-family: monospace;"> singleton</span>)
+causes compiler errors, particle data type modified for better
+alignment, DATA statements from modules removed because they caused
+internal compiler errors).<br> </td> <td style="vertical-align: top;">advec_s_ups, advec_u_ups,
+advec_v_ups, advec_w_ups, calc_spectra, check_parameters, fft_xy,
+header, init_1d_model, init_3d_model, init_particles, init_pegrid,
+modules, parin, plot_2d, poisfft, prandtl_fluxes, pres, read_var_list,
+singleton, spline_x, spline_y, spline_z, time_integration, transpose,
+write_3d_binary, write_var_list<br> </td> </tr> <tr>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">FFT routines renamed. Module<span style="font-family: monospace;"> fft_for_1d_decomp </span>renamed<span style="font-family: monospace;"> fft_xy</span>.
+Subroutine<span style="font-family: monospace;"> leap_frog
+</span>renamed<span style="font-family: monospace;">
+time_integration</span>.<br> <br>
+For all transpositions, MPI_ALLTOALL is used instead of MPI_ALLTOALLV.
+The names of many transposition indices have been changed.<br> <br>
+Inipar-parameter<span style="font-family: monospace;">
+impulse_advec </span>renamed<span style="font-family: monospace;"> momentum_advec</span>.<br>
+<br>
+Reading of restart data is moved from<span style="font-family: monospace;"> init_3d_model </span>to
+new routine <span style="font-family: monospace;">read_3d_binary</span>.<br>
+<br>
+All former transpose routines collected into one file.<br> </td>
+<td style="vertical-align: top;">check_parameters,
+flow_statistics, header, init_1d_model, init_3d_model, init_advec,
+init_pegrid, palm, parin, poisfft, poisfft_hybrid, production_e,
+prognostic_equations, read_var_list, sline_x, spline_y, write_var_list<span style="font-weight: bold;"><br> <br>
+new:</span><br>
+fft_xy, read_3d_binary, time_integration, transpose<br> <br>
+<span style="font-weight: bold;">deleted:</span><br>
+fft_for_1d_decomp, leap_frog, transpose_xy, transpose_xz, transpose_yx,
+transpose_yz, transpose_zx, transpose_zy<br> </td> </tr>
+<tr> <td style="vertical-align: top;"><br> </td>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Small errors in the
+particle-package removed, which sometimes caused aborts of restart runs
+on IBM.<br> <br>
+Small error in calculating the time series profiles removed (array
+bounds of some arrays needed for profil-output had to be increased).<br>
+<br>
+Function fft (singleton method) replaced by subroutine fftn due to
+problems with 64-bit mode on IBM<br> </td> <td style="vertical-align: top;">advec_particles,
+check_parameters, <br> </td> </tr> <tr> <td style="vertical-align: top;">26/03/05<br> </td>
+<td style="vertical-align: top;">SR<br> </td>
+<td style="vertical-align: top;">2.9<br> </td>
+<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">Non-cyclic lateral boundary
+conditions implemented.<br>
+Dirichlet/Neumann conditions at the inflow/outflow can be used either
+along x or along y. Cyclic conditions have to be used along the
+remaining direction. In case of non-cyclic conditions along x (y), the
+upper bound nxl (nyn) of array u (v) is enlarged by one gridpoint on
+the rightmost (northest) processor. These array index informations are
+passed to routine<span style="font-family: monospace;">
+exchange_horiz </span>and<span style="font-family: monospace;">
+disturb_field </span>by two
+additional arguments. Boundary conditions are set with new
+inipar-parameters<span style="font-family: monospace;">
+bc_lr </span>and<span style="font-family: monospace;">
+bc_ns</span>. A damping layer is
+needed at the outflow in order to damp reflections (see new parameters<span style="font-family: monospace;"> km_damp_max </span>and<span style="font-family: monospace;"> outflow_damping_width</span>)
+and an
+additional disturbance is imposed near the inflow (see new parameters<span style="font-family: monospace;">&nbsp;
+inflow_disturbance_begin </span>and<span style="font-family: monospace;"> inflow_disturbance_end</span>).
+Non-cyclic conditions require the use of the multigrid-method for
+solving the Poisson equation. Argument<span style="font-family: monospace;"> range </span>added
+to routine<span style="font-family: monospace;">
+boundary_conds </span>(where the
+non-cyclic conditions are set). <br> <br>
+Minor changes:<br>
+Output of parameter<span style="font-family: monospace;">
+datform </span>on
+&amp;GLOBAL-Namelist (iso2d). This is set to <span style="font-style: italic;">'big_endian'</span> on
+IBM- and
+NEC-machines.<br> <br>
+Number of particle groups are additionally calculated in<span style="font-family: monospace;"> header </span>(formerly
+unknown).<br> </td> <td style="vertical-align: top;">advec_u_pw,
+advec_u_up, advec_v_pw, advec_v_up, boundary_conds,
+calc_liquid_water_content, check_parameters, close_file, coriolis,
+diffusion_u, diffusion_v, diffusion_w, diffusivities, disturb_field,
+exchange_horiz, header, init_3d_model, init_pegrid, init_pt_anomaly,
+init_rankine, modules, parin, poismg, pres, prognostic_equations,
+read_var_list, sor, time_integration, timestep, write_var_list<br>
+</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;"><span style="font-family: monospace;">pres </span>is called
+by default only
+at the last Runge-Kutta-substep, which spares a big amount of CPU-time
+(see also new parameter<span style="font-family: monospace;">
+call_psolver_at_all_substeps</span>). No pressure term in the
+momentum
+equations in case of Runge-Kutta-schemes.<br> <span style="font-weight: bold;">Attention:</span> <br>
+The content of the testresult-file (run control output) has changed
+due to this modification.<br> <br>
+Program speedup by removing the exchange of ghost points in routines <span style="font-family: monospace;">calc_liquid_water_content</span>,
+<span style="font-family: monospace;">diffusivities</span>,
+.<br> <br>
+Default value for residual limit increased from 1E-6 to 1E-4. Routine<span style="font-family: monospace;"> prolong </span>in<span style="font-family: monospace;"> poismg </span>simplified
+(one call of<span style="font-family: monospace;">
+exchange_horiz </span>spared).<br> </td> <td style="vertical-align: top;">calc_liquid_water_content,
+diffusivities, modules, poismg, pres, time_integration,
+timestep_scheme_steering<br> </td> </tr> <tr>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Calculation of vertical
+particle
+velocity (with inertia) corrected, exp_arg had a wrong sign.<br> <br>
+(e)**1.5 replaced by e*SQRT(e) in init_1d_model because of wrong
+results on NEC machines (as a side effect, the new calculation is much
+faster).<br> <br>
+Two errors concerning switch to PE0 (multigrid method) removed from<span style="font-family: monospace;"> init_pegrid</span>.<br>
+<br>
+Two errors in<span style="font-family: monospace;">
+plot_2d </span>removed:
+local_2d is allocated with upper bound<span style="font-family: monospace;"> nzt</span> (former<span style="font-family: monospace;"> nzt+1 </span>was
+wrong), additional barrier in case that PE0 gathers data from the other
+PEs, this barrier had to be set at the end of the gathering because
+otherwise PE0 sometimes received wrong data on tag 0.<br> <br>
+Use of module indices removed from routine<span style="font-family: monospace;"> split_1dd </span>in<span style="font-family: monospace;"> poisfft </span>since
+it caused
+errors in case of<span style="font-family: monospace;"> nx
+/= ny </span>and
+a 1D-decomposition along y.<br> <br>
+Wrong re-definition of dx2 and dy2 in<span style="font-family: monospace;"> sor </span>removed.<br>
+</td> <td style="vertical-align: top;">advec_particles,
+init_1d_model,
+init_pegrid, plot_2d, poisfft, sor<br> </td> </tr> <tr>
+<td style="vertical-align: top;">23/04/05<br> </td>
+<td style="vertical-align: top;">SR<br> </td>
+<td style="vertical-align: top;">2.9a<br> </td>
+<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Additional check for
+incompatibilities between non-cyclic lateral boundary conditions and
+other schemes.<br> <br>
+fcl_factor renamed cfl_factor.<br> <br>
+New local array sums_ll declared in flow_statistics instead of
+temporarily using sums_l.<br> <br>
+crmax (maximum number of crosses allowed in a plot of vertical
+profiles) increased from 20 to 100.<br> </td> <td style="vertical-align: top;">calc_spectra, check_parameters,
+flow_statistics, header, modules, parin, timestep<br> </td>
+</tr> <tr> <td style="vertical-align: top;"><br>
+</td> <td style="vertical-align: top;"><br> </td>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Revised calculation of output
+time counters regarding a possible decrease of the output time interval
+in case of restart runs.<br> <br>
+Error removed in Dirichlet bottom boundary conditions for pt and q in
+case of Runge-Kutta schemes.<br> <br> <span style="font-weight: bold;">batch_scp</span> calls
+(needed
+for determining correct filenames for AVS-fld-files) is given the
+remote username as an additional argument.<br> <br>
+Default setting of outflow_damping_width corrected.<br> <br>
+Initial horizontal velocities at the lowest grid levels in the 1d-model
+are set to a very small value in order to avoid wrong results and the
+resulting too small timesteps.<br> <br>
+Implicit counters i renamed i9 in modules due to declaration conflicts
+with i in other subroutines (reported by Portland compiler).<br> </td>
+<td style="vertical-align: top;">advec_particles,
+boundary_conds,
+check_open, check_parameters, init_1d_model, modules, time_integration<br>
+</td> </tr> <tr> <td style="vertical-align: top;">18/05/05<br> </td>
+<td style="vertical-align: top;">SR<br> </td>
+<td style="vertical-align: top;">2.10<br> </td>
+<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">NetCDF support implemented.<br>
+Profiles, time series, spectra, cross-sections, 3d-volume-data and
+particle data can now be output in NetCDF format (file handles
+101-108). This output can be switched on with the new d3par-parameter <span style="font-family: monospace;">data_output_format</span>.
+So far, this support is available on IBM systems at HLRN and on the NEC
+system at DKRZ. Output in format suitable for graphic software <span style="font-weight: bold;">profil</span>, <span style="font-weight: bold;">iso2d</span> and <span style="font-weight: bold;">avs</span> is still
+possible.<br> <br>
+Output of cross sections for qv, vpt and lwp (liquid water path).<br>
+</td> <td style="vertical-align: top;">advec_particles,
+check_open,
+check_parameters, close_file, header, modules, parin, plot_1d, plot_2d,
+plot_3d, plot_spectra, plot_ts, read_var_list, write_var_list<br>
+<br> <span style="font-weight: bold;">new:</span><br>
+netcdf<br> </td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">In <span style="font-family: monospace;">calc_spectra</span>, n
+is assigned the
+number of spectra (formerly, the number of spectra was given by n-1)<br>
+<br>
+Abort if <span style="font-family: monospace;">poisfft_hybrid</span>
+is called in a non-parallel environment.<br> <br>
+Default values of spectra package parameters <span style="font-family: monospace;">pl_spectra</span> and <span style="font-family: monospace;">spectra_direction</span>
+changed.<br> </td> <td style="vertical-align: top;">calc_spectra,
+check_parameters,
+modules, pres, read_3d_binary, write_3d_binary<br> </td> </tr>
+<tr> <td style="vertical-align: top;"><br> </td>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Missing argument in ffty
+(non-parallel case) added.<br> <br>
+Error in output of particle inertia information removed.<br> </td>
+<td style="vertical-align: top;">poisfft, header<br>
+</td> </tr> <tr> <td style="vertical-align: top;">05/07/05<br> </td>
+<td style="vertical-align: top;">SR<br> </td>
+<td style="vertical-align: top;">2.11<br> </td>
+<td style="vertical-align: top;">N/C<br> </td>
+<td style="vertical-align: top;">New cloud physics code
+implemented, which explicitly simulates single cloud droplets,
+including droplet growth by condensation and collision. Using this code
+requires to set the new inipar-parameter <span style="font-family: monospace;">cloud_droplets</span>
+= .TRUE. and to use the particle package (by using the <span style="font-weight: bold;">mrun</span>-option <span style="font-family: monospace;">-p particles</span>).
+Coupling between droplets and the thermodynamic quantities (potential
+temperature and specific humidity) is regarded in the new subroutine <span style="font-family: monospace;">interaction_droplets_ptq</span>.
+The real number of droplets in a grid cell can steered by the new
+inipar-parameter <span style="font-family: monospace;">initial_weighting_factor</span>.<br>
+<br> <span style="font-weight: bold;">This code
+will be further extended and probably changed in the near future, so
+the current status is that of a test version!</span><br> <br>
+In connection with this new code implementation, several changes has
+been made to the existing code:<br> <br>
+The particle (droplet) size is now given as radius (previously
+diameter). E.g., the name of the respective package parameter <span style="font-family: monospace;">diameter</span> has
+changed to <span style="font-family: monospace;">radius</span>.<br>
+<br>
+The current weighting_factor and radius are stored as additional
+particle attributes in the type structure <span style="font-family: monospace;">particle_type</span>.
+The MPI data type <span style="font-family: monospace;">mpi_particle_type</span>,
+needed for exchanging particles between subdomains, has been changed
+correspondingly.<br> <br> <span style="font-family: monospace;">gas_constant</span> is
+renamed <span style="font-family: monospace;">r_d</span>,
+<span style="font-family: monospace;">latent_heat</span>
+is renamed <span style="font-family: monospace;">r_v</span>,
+the allowed string length of <span style="font-family: monospace;">pl2d</span>
+and <span style="font-family: monospace;">pl3d</span>
+is increased from 6 to 10.<br> <br>
+New 3d arrays <span style="font-family: monospace;">ql_1</span>,
+<span style="font-family: monospace;">ql_2</span>, <span style="font-family: monospace;">ql_v</span> and <span style="font-family: monospace;">ql_vp</span>, <span style="font-family: monospace;">ql</span> is now a
+pointer, new pointer <span style="font-family: monospace;">ql_c</span>.<br>
+<br>
+Data format for unit 85 (particle data output) is changed.</td> <td style="vertical-align: top;">advec_particles.f90
+check_open.f90, header.f90, init_3d_model.f90, init_cloud_physics.f90,
+init_particles.f90, modules.f90, package_parin.f90, parin.f90,
+plot_2d.f90, plot_3d.f90, read_var_list.f90, time_integration.f90,
+write_var_list.f90<br> <br> <span style="font-weight: bold;">new:</span><br>
+interaction_droplets_ptq.f90</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Default value of <span style="font-family: monospace;">call_psolver_at_all_substeps</span>
+is <span style="font-style: italic;">.TRUE.</span>,
+because small scale waves occured with <span style="font-style: italic;">.FALSE.</span></td> <td style="vertical-align: top;">modules.f90</td> </tr>
+<tr> <td style="vertical-align: top;"><br> </td>
+<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">2d- and 3d-NetCDF-files are not
+opened if there is no output for them (<span style="font-family: monospace;">pl2d</span> = <span style="font-family: monospace;">pl3d</span> = <span style="font-style: italic;">' '</span>).<br> <br>
+No opening of units 101 - 108 in case of missing NetCDF support.</td>
+<td style="vertical-align: top;">check_open.f90, netcdf.f90<br>
+</td> </tr> <tr> <td style="vertical-align: top;">30/06/05<br> </td>
+<td style="vertical-align: top;">GS<br> </td>
+<td style="vertical-align: top;">2.11a<br> </td>
+<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Scalars ug and vg have been
+changed into
+arrays in order to allow the specification of a geostrophic wind that
+depends on height (baroclinicity). The initial profiles of the the
+u- and v-component of the geostrophic wind are initialized by
+specifying the new initialization parameters <span style="font-family: monospace;">ug_surface</span>, <span style="font-family: monospace;">ug_vertical_gradient</span>,
+<span style="font-family: monospace;">ug_vertical_gradient_level</span>
+and <span style="font-family: monospace;">vg_surface</span>,
+<span style="font-family: monospace;">vg_vertical_gradient</span>,
+<span style="font-family: monospace;">vg_vertical_gradient_level</span>,
+respectively. <br> <br>
+The former initialization parameters <span style="font-family: monospace;">ug</span> and <span style="font-family: monospace;">vg</span> have been
+removed. <br> </td> <td style="vertical-align: top;">boundary_conds,
+check_parameters, coriolis, header, init_1d_model, modules, parin,
+prognostic_equations, read_var_list, spline_z, write_var_list<br>
+</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Error in the calculation of u_0
+and
+v_0 in production_e.f90 removed.<br> <br> <span style="font-weight: bold;">Attention:</span> <br>
+The content of the testresult-file (run control output) has changed
+due to this modification.<br> </td> <td style="vertical-align: top;">production_e<br> </td>
+</tr> <tr> <td style="text-align: left; vertical-align: top;">20/10/05</td>
+<td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.11b</td> <td style="vertical-align: top;">N/C</td> <td style="vertical-align: top;">Collision process for droplet
+growth completed.<br> <br> <span style="font-weight: bold;">The droplet code is still under
+development and requires further speed optimization!<br> <br>
+</span>Number of particles really used is additionally output on
+the netcdf particle data file.<span style="font-weight: bold;"></span></td>
+<td style="vertical-align: top;">advec_particles, modules,
+netcdf</td> </tr> <tr> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">The
+last PE in a row is not allowed to have more grid points than the other
+PES (only less). Jobs crashed in these cases that the last PE has more
+grid points. Therefore, the number of gridpoints along x (and y) must
+now meet a special condition which is checked in case that <span style="font-family: monospace;">grid_matching</span> =
+<span style="font-style: italic;">'match'</span> is
+used.<br> <br>
+Error removed in calculating y axis data for yz cross sections. Error
+in output of netcdf yz-cross-sections removed.<br> <br>
+2*r replaced by r in the exponential term of the particle momentum
+equation.<br>
+Error in output of yz-slice information removed.</td> <td style="vertical-align: top;">advec_particles, header,
+init_pegrid, netcdf, plot_2d</td> </tr> <tr> <td style="vertical-align: top;">06/12/05</td> <td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.11c</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">Output of ql profile is allowed
+in case of using cloud droplets.</td> <td style="vertical-align: top;">check_parameters,
+flow_statistics, modules</td> </tr> <tr> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">&nbsp;</td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">The horizontally averaged pt
+profile is calculated within<span style="font-family: monospace;">
+buoyancy </span>only
+in case of the first respective intermediate timestep. This is done in
+order to spare communication time and to produce identical model
+results with jobs which are calling<span style="font-family: monospace;"> flow_statistics </span>at
+different time intervals.<br> <br>
+Error in netcdf variable declaration for<span style="font-family: monospace;"> statistic_regions </span>/=
+<span style="font-style: italic;">0</span> removed.</td>
+<td style="vertical-align: top;">buoyancy, netcdf</td>
+</tr><tr><td style="vertical-align: top;">23/02/06</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.0</td><td style="vertical-align: top;">N</td><td><span style="font-weight: bold;">Version for simulating flows over
+topography (buildings, mountains, etc.)</span><br style="font-weight: bold;"><br>Besides
+the implementation of topography, this version contains several other
+improvements. The most important ones are listed here:<br><ul><li>The
+cloud droplet code has been optimized (it now runs about 100 times
+faster than before).</li><li>Output of time-averaged 2d/3d
+data (sections / volume data) is possible.</li><li>Output
+of 2d-section data averaged along the direction normal to this section
+can be done.</li><li>The user-interface has been extended
+in order to allow 2d-/3d-output of user-defined quantities.</li></ul>The
+kind of topography to be used is controlled by the new initialization
+parameter <span style="font-family: monospace;">topography</span>.
+Allowed values are <span style="font-style: italic;">'flat'</span>,
+<span style="font-style: italic;">'single_building'</span>,
+and <span style="font-style: italic;">'read_from_file'</span>.
+The user can define his own special topography setting within the new
+user-interface routine <span style="font-family: monospace;">user_init_grid</span>.
+For the single building case, the&nbsp;building (rectangular) size
+and position can be controlled with parameters <span style="font-family: monospace;">building_height</span>,
+<span style="font-family: monospace;">building_length_x</span>,
+<span style="font-family: monospace;">building_length_y</span>,
+<span style="font-family: monospace;">building_wall_left</span>,
+and <span style="font-family: monospace;">building_wall_south</span>.<br>
+<br>
+The topography code is already optimized (vectorized) for use on the
+NEC-SX6.<br><br>Output of time-averaged 2d-/3d-data can be
+enabled by appending the string <span style="font-style: italic;">'_av'</span>
+to the respective output quantities given with the new
+runtime-parameter <span style="font-family: monospace;">data_output</span>
+(see further below for the (name)changes in the parameters for data
+output). Example: if a time-average of the vertical cross-section of
+potential temperature is required, the user has to set <span style="font-family: monospace;">data_output</span> = <span style="font-style: italic;">'pt_xy_av'</span>.
+In case of NetCDF-output, the time-averaged data is output to
+additional files (seperate from the non-averaged output). The length of
+the averaging interval and the temporal distance of the single
+instantaneous sections (volumes) entering into this averaging is
+controlled by the new runtime-parameters <span style="font-family: monospace;">averaging_interval</span>and
+<span style="font-family: monospace;">dt_averaging_input</span>.
+<br><br>An average normal to the direction of a
+cross-section can be output by setting the respective cross section
+index to <span style="font-style: italic;">-1</span>
+(example: <span style="font-family: monospace;">section_xz</span>
+= <span style="font-style: italic;">-1</span>).<br><br>New
+user-interface routines allowing the output of user-defined quantities
+are <span style="font-family: monospace;">user_check_data_output</span>,
+<span style="font-family: monospace;">user_define_netcdf_grid</span>,
+<span style="font-family: monospace;">user_data_output_2d</span>,
+<span style="font-family: monospace;">user_data_output_3d</span>,
+and <span style="font-family: monospace;">user_3d_data_averaging</span>.
+These quantities can be calculated using the new <span style="font-family: monospace;">CASE</span>-Entry <span style="font-style: italic;">'after integration'</span>
+in the user-interface routine <span style="font-family: monospace;">user_actions</span>.<br><br>Optimization
+of the cloud droplet code is mainly done by re-sorting all particles
+after every timestep in a way that now all particles which belong to
+the same grid-box (k,j,i) are stored consecutively (wthout any strides)
+in memory.<br> <br>
+Code adaptation for the IBM at the department of atmospheric sciences,
+Yonsei university (ibmy). Affected subroutines: <span style="font-family: monospace;">fft_xy</span>, <span style="font-family: monospace;">netcdf</span>, <br><br><span style="font-weight: bold;">Further new features:</span><br><ul><li>Use
+of particle tails now requires setting of the new package-parameter <span style="font-family: monospace;">use_particle_tails</span>.
+The new parameter skip_particles_for_tail allows only every <span style="font-family: monospace;">skip_particle_for_tail</span>'th
+parameter having a tail.</li><li>Initialization-parameter <span style="font-family: monospace;">e_min</span> can be
+used to set a lower limit for the subgrid-scale TKE (i.e. to guarantee
+a lower limit for the flow's Reynolds-number).</li><li>A
+conservation of the volume flow (through the complete xz- and
+yz-sections &nbsp;of the total domain) can be enforced by the new
+initialization-parameter <span style="font-family: monospace;">conserve_volume_flow</span>.</li><li>Data
+output can be skipped for a given time interval from simulation start
+(t=0) using new runtime-parameters <span style="font-family: monospace;">skip_time_dopr</span>,
+<span style="font-family: monospace;">skip_time_dosp</span>,
+<span style="font-family: monospace;">skip_time_do2d_xy</span>,
+<span style="font-family: monospace;">skip_time_do2d_xz</span>,
+<span style="font-family: monospace;">skip_time_do2d_yz</span>,
+and <span style="font-family: monospace;">skip_time_do3d</span>.<br>
+</li><li>By default, NetCDF output is now using 64-bit
+offset format
+(large file support) on most machines. The user can switch to the
+32-bit offset format with the new runtime-parameter <span style="font-family: monospace;">netcdf_64bit</span>.
+Units 111:113&nbsp; and 116 are opened for NetCDF output of
+time-averaged 2d-3d data.<br> </li> <li>Data
+logging routines are added (see file data_log.f90), which can be used
+for debugging purposes. Output is done on unit 20 (local file
+name/directory name DATA_LOG).</li> <li>New routine <span style="font-family: monospace;">exchange_horiz_2d_int</span>
+for&nbsp; ghostpoint exchange of 2d-integer arrays. Routine <span style="font-family: monospace;">exchange_horiz_2d</span>
+is extended for non-cyclic boundary conditions in the non-parallel case.</li>
+<li>Two different methods for calculating the mixing length and
+the dissipation can be used in the 1d-model. These are steered by the
+new initializing-parameters <span style="font-family: monospace;">dissipation_1d</span>
+and <span style="font-family: monospace;">mixing_length_1d</span>.<br>
+</li>
+</ul></td><td style="vertical-align: top;">advec_particles,
+advec_s_pw,
+advec_s_up, advec_u_pw, advec_u_up, advec_v_pw, advec_v_up, advec_w_pw,
+advec_w_up, boundary_conds, buoyancy, check_open, check_parameters,
+close_file, coriolis, diffusion_e, diffusion_s, diffusion_u,
+diffusion_v, diffusion_w, diffusivities, disturb_field,
+disturb_heatflux, exchange_horiz_2d, exchange_horiz, flow_statistics,
+header, init_1d_model, init_3d_model, init_grid, init_particles,
+init_pegrid, modules, netcdf, package_parin, parin, poisfft,
+prandtl_fluxes, pres, production_e, prognostic_equations,
+read_3d_binary, read_var_list, run_control, time_integration,
+user_interface, write_3d_binary, write_var_list<br> <br> <span style="font-weight: bold;">new:</span><br>
+average_3d_data, data_log, sum_up_3d_data<br> <br> <span style="font-weight: bold;">renamed:<br> </span>plot_dvrp
+-&gt; data_output_dvrp<br>
+plot_spectra -&gt; data_output_spectra<br>
+plot_ts -&gt; data_output_tseries<br>
+plot_1d -&gt; data_output_profiles<br> <span style="font-weight: bold;"></span>plot_2d -&gt;
+data_output_2d<br>
+plot_3d -&gt; data_output_3d<br>
+</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">C</td><td>In
+parallel mode, all PEs are opening the same copy of the
+NAMELIST-parameter file <span style="font-family: monospace;">PARIN</span>,
+i.e. from now on, the file attribute "<span style="font-family: monospace;">npe</span>" must be
+removed from the corresponding file connection statements in the <span style="font-weight: bold;">mrun</span> configuration
+file (.mrun.config).<br><br>A
+large number of parameter names and local filenames have been changed
+(see&nbsp;list below). Most of them are parameters concerning data
+output (do). The former denotations "plot" and "pl" have been changed
+to "data_output" and "do", respectively. In addition to these changes,
+the names of many internal PALM parameters and variables have also
+changed.<br><br>Restart runs now require setting of the
+initialization-parameter <span style="font-family: monospace;">initializing_actions</span>
+= <span style="font-style: italic;">'read_restart_data'</span>.<br>
+<br>
+Concerning particles, the parameters <span style="font-family: monospace;">psl</span>, <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">pdx</span>,
+etc., which are controlling the position of the particle source and the
+number of particles within this source, are now 1d-arrays. This allows
+to define different particle sources for different particle groups.<br>
+<br>
+The number of particle groups has to be set by the user (no automatic
+calculation from the value of parameter <span style="font-family: monospace;">density_ratio</span>
+any more)<span style="font-style: italic;"></span>.
+Variable <span style="font-family: monospace;">idum</span>
+in type <span style="font-family: monospace;">particle_type</span>
+has been renamed <span style="font-family: monospace;">tail_id</span>.<br><br>Output
+for units 15 and 17 flushed in <span style="font-family: monospace;">init_1d_model</span>.<br><br>List
+of changed parameter names:<br><table style="text-align: left; width: 559px; height: 831px;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td style="font-weight: bold;" align="undefined" valign="undefined">Old name</td><td align="undefined" valign="undefined"><span style="font-weight: bold;">New name</span></td><td align="undefined" valign="undefined"><span style="font-weight: bold;">Comments</span></td></tr><tr><td align="undefined" valign="undefined">average_period_pl1d</td><td align="undefined" valign="undefined">averaging_interval_pr</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td style="vertical-align: top;">average_period_pr1d</td><td style="vertical-align: top;">---</td><td style="vertical-align: top;">averaging of printed profiles
+is not possible any more</td></tr><tr><td align="undefined" valign="undefined">average_period_sp</td><td align="undefined" valign="undefined">averaging_interval_sp</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_average</td><td align="undefined" valign="undefined">dt_averaging_input_pr</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_pl1d</td><td align="undefined" valign="undefined">dt_dopr</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_plsp</td><td align="undefined" valign="undefined">dt_dosp</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td>dt_plts</td><td>dt_dots</td><td><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_pr1d</td><td align="undefined" valign="undefined">dt_dopr_listing</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_pl2d_xy</td><td align="undefined" valign="undefined">dt_do2d_xy</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_pl2d_xz</td><td align="undefined" valign="undefined">dt_do2d_xz</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">dt_pl2d_yz</td><td align="undefined" valign="undefined">dt_do2d_yz</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">ebene_xy</td><td align="undefined" valign="undefined">section_xy</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">ebene_xz</td><td align="undefined" valign="undefined">section_xz</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">ebene_yz</td><td align="undefined" valign="undefined">section_yz</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">nz_plot3d</td><td align="undefined" valign="undefined">nz_do3d</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">plts</td><td align="undefined" valign="undefined">data_output_ts</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">pl1d</td><td align="undefined" valign="undefined">data_output_pr</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td style="vertical-align: top;">pl2d</td><td style="vertical-align: top;">data_output</td><td style="vertical-align: top;">old parameters pl2d and pl3d
+are joined to new parameter data_output</td></tr><tr><td align="undefined" valign="undefined">pl3d</td><td align="undefined" valign="undefined">data_output</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">pl2d_at_begin</td><td align="undefined" valign="undefined">do2d_at_begin</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">pl3d_at_begin</td><td align="undefined" valign="undefined">do3d_at_begin</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">pl3d_compress</td><td align="undefined" valign="undefined">do3d_compress</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">pl3d_precision</td><td align="undefined" valign="undefined">do3d_comp_prec</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td>pl_spectra</td><td>data_output_sp</td><td><br>
+</td></tr><tr><td align="undefined" valign="undefined">read_fields_from_prior_run</td><td align="undefined" valign="undefined">read_restart_data</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">write_plot2d_on_each_pe</td><td align="undefined" valign="undefined">data_output_2d_on_each_pe</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">z_max_pl1d</td><td align="undefined" valign="undefined">z_max_do1d</td><td align="undefined" valign="undefined"><br>
+</td></tr><tr><td align="undefined" valign="undefined">z_max_pl2d</td><td align="undefined" valign="undefined">z_max_do2d</td><td align="undefined" valign="undefined"><br>
+</td></tr></tbody></table></td><td style="vertical-align: top;">advec_particles,
+advec_s_bc, check_parameters, check_open, close_file,
+data_output_dvrp,&nbsp; data_output_profiles, data_output_tseries,
+data_output_2d, data_output_3d, flow_statistics, header, init_1d_model,
+init_3d_model, init_dvrp, init_particles, init_pegrid, init_slope,
+modules, netcdf, package_parin, palm, parin, print_1d, read_var_list,
+run_control, time_integration, timestep, write_compressed,
+write_var_list<br>
+</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td>Error in
+the particle release (defaults of <span style="font-family: monospace;">psl</span>, <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">psn</span>, <span style="font-family: monospace;">pss</span>) at the PE
+boundary has been fixed.<br> <br>
+Error removed getting the variable ids for <span style="font-family: monospace;">_ext</span> for
+profiles and time series.<br><br>NetCDF calls in <span style="font-family: monospace;">data_output_tseries</span>
+only if NetCDF output is switched on.<br><br>Output of the
+initial geostrophic wind profile corrected.<br><br>Maximum
+possibel timestep for Runge-Kutta-schemes reduced, error concerning
+initialization of&nbsp; <span style="font-family: monospace;">l_black</span>
+removed (both in <span style="font-family: monospace;">init_1d_model</span>).<br>
+</td><td style="vertical-align: top;">advec_particles,
+data_output_tseries, header, init_particles, init_1d_model, netcdf<br>
+</td></tr><tr><td align="left" valign="top">26/04/06</td><td align="left" valign="top">SR</td><td align="left" valign="top">3.0a</td><td align="left" valign="top">N</td><td align="left" valign="top">OpenMP parallelization for
+the cache-optimized PALM code.<br><br>OpenMP
+directives have been added where necessary. Still further tuning will
+be necessary to get optimum performance. Other parts of the code than
+the cache-optimized code still need to be (OpenMP-) parallelized. <br><br>So
+far, threads are activated by setting the <span style="font-weight: bold;">mrun</span>-options <span style="font-family: monospace;">-T</span> <span style="font-style: italic;">&lt;number_of_threads&gt;</span>
+and <span style="font-family: monospace;">-O</span>,
+i.e. when the Option <span style="font-family: monospace;">-O</span>
+is given, the <span style="font-family: monospace;">-T</span>
+argument is interpreted as the number of threads to be used. When <span style="font-family: monospace;">-O</span> is given,
+the number of MPI tasks per node is automatically set to <span style="font-style: italic;">1</span>.<br><br>Beside
+the additional compiler directives, the main code change required by
+the OpenMP parallelization is that global sums are now calculated by
+first calculating local sums on each thread. As the next step, local
+sums are calculated from these thread sums for each MPI task before the
+global sum is computed via MPI_ALLREDUCE.&nbsp; For storing the
+thread
+sums, arrays sums_l and sums_l_l now have three dimensions where the
+number of elements of the third dimension is equal to the number of
+OpenMP threads.</td><td align="left" valign="top">buoyancy,
+cpu_statistics, diffusivities, flow_statistics, header, init_pegrid,
+init_3d_model, modules, prandtl_fluxes, pres, production_e</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">ML</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">C</td><td align="left" valign="top">Provisional
+correction for Piacsek &amp; Williams advection scheme: keep u and
+v
+zero one layer below the topography (in case of set_1d-model_profiles).</td><td align="left" valign="top">init_3d_model</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">SR/ML</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">E</td><td align="left" valign="top">In <span style="font-family: monospace;">flow_statistics.f90</span>
+nzb_s_inner(j,i) replaced by nzb in determination of z_i.<br><br>Errors
+removed in the computation of the diabatic mixing length (<span style="font-family: monospace;">init_1d_model.f90</span>).<br><br>Error
+removed in extend mode when checking whether the selected cross
+sections match those in the already existing NetCDF file (<span style="font-family: monospace;">netcdf.f90</span>).</td><td align="left" valign="top">flow_statistics,
+init_1d_model, netcdf</td></tr><tr><td align="left" valign="top">02/06/06</td><td align="left" valign="top">SR</td><td align="left" valign="top">3.0b</td><td align="left" valign="top">N</td><td align="left" valign="top">This version is adapted to the Sun Fire X4600
+system at TIT (to be used by setting the <span style="font-weight: bold;">mrun</span> option <span style="font-family: monospace;">-h lctit</span>).</td><td align="left" valign="top">cpu_log, init_1d_model,
+local_tremain, locaö_tremain_ini, run_control</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">C</td><td align="left" valign="top">NetCDF&nbsp;2d-
+and 3d-datasets now contain the exact coordinates of the variables
+along x and y with respect to the positions where they are defined on
+the staggered grid.<br><br>NetCDF datasets of cross
+sections (e.g. <span style="font-family: monospace;">DATA_2D_XY_NETCDF</span>)
+are only opened if the respective cross sections are really requested
+by the settings of parameter <span style="font-family: monospace;">data_output</span>.</td><td align="left" valign="top">check_parameters,
+data_output_2d, data_output_3d, modules, netcdf, user_interface</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">E</td><td align="left" valign="top">p is assigned to <span style="font-family: monospace;">to_be_resorted</span>
+instead of w</td><td align="left" valign="top">data_output_2d</td></tr><tr><td align="left" valign="top">04/08/06</td><td align="left" valign="top">SR</td><td align="left" valign="top">3.1</td><td align="left" valign="top">N</td><td align="left" valign="top">Subgrid
+scale velocities can (optionally) be included for calculating the
+particle advection, using the method of Weil et al. (2004, JAS, 61,
+2877-2887). This method is switched on by the new particle package
+parameter <span style="font-family: monospace;">use_sgs_for_particles</span>.
+This also forces the Euler/upstream method to be used for time
+advancement of the TKE (see new parameter <span style="font-family: monospace;">use_upstream_for_tke</span>).
+The minimum timestep during the sub-timesteps is controlled by
+parameter <span style="font-family: monospace;">dt_min_part</span>.
+The data type <span style="font-family: monospace;">particle_type</span>
+has additional new attributes <span style="font-family: monospace;">e_m</span>,
+<span style="font-family: monospace;">dt_sum</span>,
+and <span style="font-family: monospace;">speed_x/y/z_sgs</span>.<br><br>Other
+new particle features: output of particle quantities as timeseries in
+NetCDF format (on local file <span style="font-family: monospace;">DATA_1D_PTS_NETCDF</span>).
+The output time interval is controlled by parameter <span style="font-family: monospace;">dt_dopts</span>.
+Particle advection can be switched off after some time using parameter <span style="font-family: monospace;">end_time_prel</span>.
+More than one particle per point can be started with parameter <span style="font-family: monospace;">particles_per_point</span>.<br><br>Additional
+parameter in function <span style="font-family: monospace;">random_gauss</span>
+which limits the range of the created random numbers to five times the
+standard deviation (=1). Seeds <span style="font-family: monospace;">iran</span>
+and <span style="font-family: monospace;">iran_part</span>
+are stored for restart runs.</td><td align="left" valign="top">advec_particles,
+check_open, check_parameters, close_file, diffusion_e,
+disturb_heatflux, header, init_3d_model, init_particles, modules,
+netcdf, package_parin, parin, prognostic_equations, random_gauss,
+read_3d_binary, read_var_list, time_integration, write_3d_binary,
+write_var_list<br><br><span style="font-weight: bold;">new:</span><br>data_output_ptseries</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">C</td><td align="left" valign="top">Call of subroutine <span style="font-family: monospace;">header</span> is moved
+after call of subroutine <span style="font-family: monospace;">init_3d_model</span>.
+Generation of <span style="font-family: monospace;">run_description_header</span>
+is moved from routines <span style="font-family: monospace;">palm</span>
+and <span style="font-family: monospace;">header</span>
+to <span style="font-family: monospace;">check_parameters</span>.
+Determination of the number of particle groups is moved from <span style="font-family: monospace;">header</span> to <span style="font-family: monospace;">init_particles</span>.<br><br><span style="font-family: monospace;">izuf</span> renamed <span style="font-family: monospace;">iran</span>.</td><td align="left" valign="top">check_parameters,
+disturb_field, disturb_heatflux, header, init_particles, modules, palm</td></tr><tr><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">&nbsp;</td><td align="left" valign="top">E</td><td align="left" valign="top">Variables
+do2d_unit and do3d_unit now defined as 2d-arrays. Before, in some
+cases, the units of variables in the 2d- and 3d-NetCDF-files have been
+wrong.<br><br>In routine <span style="font-family: monospace;">poisfft</span> default
+setting of the thread number tn in case of not using OpenMP.<br><br>Error
+removed in the non-parallel part of routine <span style="font-family: monospace;">flow_statistics</span>
+(number of arguments of array <span style="font-family: monospace;">sums_l</span>).<br><br>Error
+removed which appeared if the user had decreased the value of <span style="font-family: monospace;">dt_dopr</span> within
+a job chain and if simulataneous time averaging of profiles was
+switched on.</td><td align="left" valign="top">check_parameters,
+data_output_profiles, flow_statistics, modules, netcdf, poisfft</td></tr><tr><td style="vertical-align: top;">22/08/06</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.1a</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">In case of more than one
+particle group, seperate output of timeseries for each of the groups.<br><br>New
+initial parameter <span style="font-family: monospace;">dz_max</span>,
+which limits the vertical gridspacing in case of a vertically stretched
+grid.</td><td style="vertical-align: top;">data_output_ptseries,
+header, init_grid, modules, netcdf, parin, read_var_list, write_var_list</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Disturbances are imposed only
+for the last Runge-Kutta-substep. <br><span style="font-weight: bold;">Attention:</span> <br>
+The content of the testresult-file (run control output) has changed
+due to this modification.<br><br>Output of xz and yz cross
+sections now up to gridpoint nzt+1.<br><br>Default settings
+of particle start positions changed.</td><td style="vertical-align: top;">check_open, close_file,
+data_output_2d, init_particles, netcdf, time_integration</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Initialisation of all tendency
+arrays (t.._m) needed for the Runge-Kutta schemes.<br><br>Bugfix
+in index array initialization for line- or point-like topography
+structures.<br><br>Bugfix: yv coordinates are now used for
+yz cross sections, where neccessary.</td><td style="vertical-align: top;">init_3d_model, init_grid, netcdf</td></tr><tr><td style="vertical-align: top;">12/02/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.1b</td><td style="vertical-align: top;">&nbsp;N</td><td style="vertical-align: top;"><span style="font-weight: bold;">Attention:</span><br>This
+is the last revision before switching to the subversion revison control
+system!<br><br>Informative output to the job protocoll in
+case of restarts.</td><td style="vertical-align: top;">check_for_restart</td></tr><tr><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Values of environment variables
+are now read from local file <span style="font-family: monospace;">ENVPAR</span>
+instead of getting them by a system call.<br><br>For
+interpolation in <span style="font-family: monospace;">advec_particles</span>,
+allways level k is used.</td><td style="vertical-align: top;">advec_particles,
+local_tremain_ini, parin</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Several bugfixes in <span style="font-family: monospace;">advec_particles</span>:
+new particles are released only if <span style="font-family: monospace;">end_time_prel</span>
+&gt; <span style="font-family: monospace;">simulated_time</span>,&nbsp;transfer
+of particles when x &lt; -0.5*dx (0.0 before), etc., index i,j used
+instead of cartesian (x,y) coordinate to check for transfer because
+this failed under very rare conditions, calculation of number of
+particles with same radius as the current particle (cloud droplet code).<br><br>Allocation
+of <span style="font-family: monospace;">tail_mask</span>
+and <span style="font-family: monospace;">new_tail_id</span>
+in case of restart-runs. "__" added in a cpp-directive. (both <span style="font-family: monospace;">init_particles</span>)</td><td style="vertical-align: top;">advec_particles, init_particles</td></tr><tr><td style="vertical-align: top;">02/03/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.1c</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">A heatflux can be prescribed at
+the top with new inipar parameters <span style="font-family: monospace;">top_heatflux</span>
+and <span style="font-family: monospace;">use_top_fluxes</span>.
+New 2d-arrays <span style="font-family: monospace;">qswst</span>,
+<span style="font-family: monospace;">qswst_m</span>,
+<span style="font-family: monospace;">tswst</span>
+and <span style="font-family: monospace;">tswst_m</span>
+are used to store this flux. Use of fluxes are controlled with new
+index variable <span style="font-family: monospace;">nzt_diff</span>.
+A Neumann boundary condition for temperature can be applied under these
+conditions.<br><br>Additionally, a Dirichlet condition for
+temperature can be used at the top.<br><br><span style="font-weight: bold;">Attention:</span> <br>
+The content of the testresult-file (run control output) has changed
+due to this modification.</td><td style="vertical-align: top;">check_parameters,
+diffusion_s, flow_statistics, header, init_grid, init_3d_model,
+modules, parin, production_e, prognostic_equations, read_var_list,
+read_3d_binary, swap_timelevel, write_var_list, write_3d_binary</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Prognostic equations for all
+scalars are now solved up to gridpoint nzt (formerly nzt-1).
+Boundary conditions for scalars at top adjusted respectively (now
+applied only at nzt+1).<br><br>The
+default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br><br>Calls
+of dvrp_output_local,
+which were commented out for a long time, are now activated for all
+streams.</td><td style="vertical-align: top;">advec_s_pw,
+boundary_conds, calc_precipitation, check_parameters, diffusion_e,
+diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
+modules, production_e, prognostic_equations, spline_z</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: 3d-array p is not a
+pointer any more.<br><br>Bugfix in init_particles:
+MPI_REAL
+argument in MPI_ALLREDUCE
+replaced by<br>MPI_INTEGER
+(caused error on NEC only).<br><br>Bugfix:&nbsp; ddzw now
+dimensioned 1:nzt"+1".</td><td style="vertical-align: top;">diffusion_e, diffusion_s,
+diffusion_u, diffusion_v, diffusion_w, init_particles, modules</td></tr><tr><td style="vertical-align: top;">29/03/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">The code, including scripts, utility programs and documentation is now under full control of <span style="font-family: Courier New,Courier,monospace;">subversion</span>. This revision includes a quite large number of new features, changes and bugfixes.<br>&nbsp;<br>Particle reflection from vertical walls implemented. The particle SGS model is also adjusted to these vertical walls.<br><br>Wall functions for vertical walls now include diabatic conditions. New subroutines <span style="font-family: Courier New,Courier,monospace;">wall_fluxes</span>, <span style="font-family: Courier New,Courier,monospace;">wall_fluxes_e</span>. New 4D-array <span style="font-family: Courier New,Courier,monospace;">rif_wall</span>.<br><br>Calculation/output of precipitation amount, precipitation rate and z0 (by setting "<span style="font-style: italic;">pra*</span>", "<span style="font-style: italic;">prr*</span>", "<span style="font-style: italic;">z0*</span>" with <span style="font-family: Courier New,Courier,monospace;">data_output</span>). The time interval on which the precipitation amount is defined is set by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">precipitation_amount_interval</span>.<br><br>New inipar-parameter <span style="font-family: Courier New,Courier,monospace;">loop_optimization</span> to control the loop optimization method.<br><br>New
+inipar-parameter <span style="font-family: Courier New,Courier,monospace;">pt_reference</span>. If given, this value is used as the
+reference that is used in the buoyancy terms (otherwise, the instantaneous
+horizontally averaged temperature is used).<br><br>New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">netcdf_64bit_3d</span>
+to switch on and especially to switch off 64bit offset&nbsp;for 3D
+files only (because still some pd-software is unable to handle 64bit
+offset).<br><br>New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_max</span> to set the maximum&nbsp;value allowed for the&nbsp;timestep. <br><br>New user interfaces <span style="font-family: Courier New,Courier,monospace;">user_advec_particles</span> and <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span>. The new initializing action "<span style="font-style: italic;">by_user</span>" calls <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span> and allows the initial setting of all 3d arrays under complete user control.<br><br>Samples added to the user interface which show how to add user-define time series quantities.<br><br>Topography height informations are stored on arrays <span style="font-family: Courier New,Courier,monospace;">zu_s_inner</span> and <span style="font-family: Courier New,Courier,monospace;">zw_w_inner</span> and output to the 2d/3d NetCDF files.<br><br>Unit 9 is generally opened for output of debug informations (file <span style="font-family: Courier New,Courier,monospace;">DEBUG_&lt;pe#&gt;</span>).</td><td style="vertical-align: top;">Makefile<br><br>advec_particles,
+average_3d_data, buoyancy, calc_precipitation, check_open,
+check_parameters, data_output_2d, diffusion_e, diffusion_u,
+diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat,
+init_particles, init_3d_model, modules, netcdf, parin, production_e,
+read_var_list, read_3d_binary, sum_up_3d_data, user_interface,
+write_var_list, write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>wall_fluxes<br></td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">General revision of non-cyclic horizontal boundary conditions:<br>Radiation boundary conditions are now used instead of Neumann conditions at the outflow (calculation needs velocity values for <span style="font-family: Courier New,Courier,monospace;">t-dt</span>, which are stored on new arrays <span style="font-family: Courier New,Courier,monospace;">u_m_l</span>, <span style="font-family: Courier New,Courier,monospace;">u_m_r</span>, etc.). The calculation of a mean outflow is not needed any more. Volume flow control is added for the outflow boundary (<span style="font-weight: bold;">currently only for the north boundary!!</span>). Additional gridpoints along x and y (<span style="font-family: Courier New,Courier,monospace;">uxrp</span>, <span style="font-family: Courier New,Courier,monospace;">vynp</span>) are not needed any more and removed from the code. Routine "<span style="font-family: Courier New,Courier,monospace;">boundary_conds</span>" now operates on timelevel <span style="font-family: Courier New,Courier,monospace;">t+dt</span> and is not split in two parts (<span style="font-style: italic;">main</span>, <span style="font-style: italic;">uvw_outflow</span>) any more. Neumann boundary conditions are used at inflow/outflow in case of non-cyclic boundary conditions <span style="font-weight: bold;">for all 2d-arrays</span> that are handled by <span style="font-family: Courier New,Courier,monospace;">exchange_horiz_2d</span>.<br><span style="font-weight: bold;">Attention:&nbsp;the
+non-cyclic boundary conditions of this revision still contain some bugs
+which will be removed within the next revisions!</span><br><br>The Bott-Chlond-scheme can now be used in the vectorization-optimized part (NEC, etc.). Equations are solved up to gridpoint <span style="font-family: Courier New,Courier,monospace;">nzt</span>.<br><br>The
+FFT-method for solving the Poisson-equation is now working with Neumann
+boundary conditions both at the bottom and the top. This requires
+adjustments of the tridiagonal coefficients and subtracting the
+horizontally averaged mean from the vertical velocity field.<br><br>Particles-package is now part of the default code ("<span style="font-family: Courier New,Courier,monospace;">-p particles</span>" is not needed as an <span style="font-weight: bold;">mrun</span>-option any more). New attribute <span style="font-family: Courier New,Courier,monospace;">age_m</span> in <span style="font-family: Courier New,Courier,monospace;">particle_type</span>.<br><br>Move call of <span style="font-family: Courier New,Courier,monospace;">user_actions</span>( '<span style="font-style: italic;">after_integration</span>' ) below the increments of times<br>and counters. <span style="font-family: Courier New,Courier,monospace;">user_actions</span> is now called for each statistic region and has as an argument the number of the respective region (<span style="font-family: Courier New,Courier,monospace;">sr</span>).<br><br>d3par-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_ts</span> is removed. Timeseries output for <span style="font-weight: bold;">profil</span>-software removed. Timeseries are now switched on by setting <span style="font-family: Courier New,Courier,monospace;">dt_dots</span>. Timeseries data is collected in <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>.<br><br>Initial velocities at <span style="font-family: Courier New,Courier,monospace;">nzb+1</span>
+are regarded for volume flow control in case they have been set zero
+before (to avoid small timesteps); see new internal parameters <span style="font-family: Courier New,Courier,monospace;">u/v_nzb_p1_for_vfc</span>.<br><br><span style="font-family: Courier New,Courier,monospace;">q</span> is not allowed any more to become negative (<span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>).<br><br><span style="font-family: Courier New,Courier,monospace;">poisfft_init</span> is only called if the fft-solver is switched on (<span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>).<br><br>d3par-parameter <span style="font-family: Courier New,Courier,monospace;">moisture</span> renamed to <span style="font-family: Courier New,Courier,monospace;">humidity</span>.<br><br>Subversion global revision number is read from <span style="font-weight: bold;">mrun</span> and added to the run description header and to the run control (<span style="font-family: Courier New,Courier,monospace;">_rc</span>) file.<br><br><span style="font-family: Courier New,Courier,monospace;">__vtk</span> directives removed from main program.<br><br>The uitility routine&nbsp;<span style="font-family: Courier New,Courier,monospace;">interpret_config</span> now reads PALM environment variables from <span style="font-family: Courier New,Courier,monospace;">NAMELIST</span> instead using the system call <span style="font-family: Courier New,Courier,monospace;">GETENV</span>.</td><td style="vertical-align: top;">advec_s_bc, advec_u_pw,
+advec_u_up, advec_v_pw, advec_v_up, asselin_filter, boundary_conds, check_parameters,
+coriolis, data_output_dvrp, data_output_ptseries, data_output_ts,
+data_output_2d, data_output_3d, diffusion_u, diffusion_v,
+disturb_field, exchange_horiz, exchange_horiz_2d, flow_statistics, header, init_grid,
+init_particles, init_pegrid, init_rankine, init_pt_anomaly,
+init_1d_model, init_3d_model, modules, palm, package_parin, parin,
+poisfft, poismg, prandtl_fluxes, pres, production_e,
+prognostic_equations, read_var_list, read_3d_binary, sor,
+swap_timelevel, time_integration, write_var_list, write_3d_binary</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: preset of tendencies <span style="font-family: Courier New,Courier,monospace;">te_em</span>, <span style="font-family: Courier New,Courier,monospace;">te_um</span>, and <span style="font-family: Courier New,Courier,monospace;">te_vm</span> (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).<br><br>Bugfix in sample for reading user defined data from restart file (<span style="font-family: Courier New,Courier,monospace;">user_init</span>).<br><br>Bugfix in setting diffusivities for cases with the outflow damping layer extending over more than one subdomain (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>).<br><br>Check for possible negative humidities in the initial humidity profile.<br><br>In <span style="font-family: Courier New,Courier,monospace;">Makefile</span>, default suffixes are removed from the suffix list to avoid calling of <span style="font-family: Courier New,Courier,monospace;">m2c</span> in cases of existing <span style="font-family: Courier New,Courier,monospace;">.mod</span> files (problem on Linux systems).</td><td style="vertical-align: top;">Makefile<br><br>check_parameters, init_1d_model, init_3d_model, user_interface</td></tr><tr><td style="vertical-align: top;">19/04/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2a</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">All system relevant compile and link options (e.g. cpp-directives,
+library paths, etc.) as well as the host identifier (local_host) are
+now specified in the configuration file. This generally allows to install
+PALM on any&nbsp;kind of Linux-, IBM-AIX-, or NEC-SX-system by adding
+appropriate
+settings to the configuration file. A description is added to chapter
+5.0 of the online documentation.<br><br>Scripts are also running under the public domain ksh.<br><br>Filetransfer by ftp removed (options<span style="font-family: Courier New,Courier,monospace;"> -f </span>removed from <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span>).<br><br>Call of (system-)FLUSH routine moved to new routine<span style="font-family: Courier New,Courier,monospace;"> local_flush</span>.<br><br><span style="font-family: Courier New,Courier,monospace;">return_addres </span>and<span style="font-family: Courier New,Courier,monospace;"> return_username </span>are read from ENVPAR-NAMELIST-file instead of using<span style="font-family: Courier New,Courier,monospace;"> local_getenv</span>.<br><br>Preprocessor strings for different linux clusters changed to "<span style="font-family: Courier New,Courier,monospace;">lc</span>", some preprocessor directives renamed (new:<span style="font-family: Courier New,Courier,monospace;"> __intel_openmp_bug</span> which is used for the bug in<span style="font-family: Courier New,Courier,monospace;"> tridia_1dd </span>and the OpenMP directives). Preprocessor directives for old systems have been removed.<br><br></td><td style="vertical-align: top;">advec_particles,
+check_open, cpu_log, cpu_statistics, data_output_dvrp, flow_statistics,
+header, init_dvrp, init_particles, init_1d_model, init_dvrp,
+init_pegrid, local_getenv, local_system, local_tremain,
+local_tremain_ini, modules, palm, parin, run_control<br><br><span style="font-weight: bold;">new:</span><br>local_flush<br><br><span style="font-weight: bold;">changed scripts:</span><br>mbuild, mrun, .mrun.config.default<br></td></tr><tr><td style="vertical-align: top;">30/05/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2b</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">Calculation and output of user-defined profiles: New&nbsp;userpar-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_pr_user</span>. In the user-interface, routine <span style="font-family: Courier New,Courier,monospace;">user_check_data_output_pr</span> has been added and <span style="font-family: Courier New,Courier,monospace;">user_statistics</span> has been extended.<br></td><td style="vertical-align: top;">check_parameters, flow_statistics, modules, parin, read_var_list, user_interface, write_var_list</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">In <span style="font-family: Courier New,Courier,monospace;">pres.f90</span>, division through <span style="font-family: Courier New,Courier,monospace;">dt_3d</span>
+replaced by multiplication of the inverse. For performance
+optimisation, this is done in the loop calculating the divergence
+instead of using a seperate loop.<br><br>Variables <span style="font-family: Courier New,Courier,monospace;">var_hom</span> and <span style="font-family: Courier New,Courier,monospace;">var_sum</span> are both renamed <span style="font-family: Courier New,Courier,monospace;">pr_palm</span>.</td><td style="vertical-align: top;">data_output_profiles, flow_statistics, init_3d_model, modules, parin, pres, read_var_list, run_control, time_integration</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: <span style="font-family: Courier New,Courier,monospace;">work_fft*_vec</span> removed from some PRIVATE-declarations (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br><br>Bugfix: <span style="font-family: Courier New,Courier,monospace;">field_chr</span> renamed <span style="font-family: Courier New,Courier,monospace;">field_char</span> (<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br><br>Bugfix: output of <span style="font-family: Courier New,Courier,monospace;">use_upstream_for_tke</span> (<span style="font-family: Courier New,Courier,monospace;">header</span>).</td><td style="vertical-align: top;">header, poisfft, user_interface</td></tr><tr><td style="vertical-align: top;">21/06/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.3</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This version allows runs for the ocean. These runs can be switched on with the new inipar-parameter <span style="font-family: Courier New,Courier,monospace;">ocean</span>.<br><br>Setting this switch has several effects:<br><ul><li>An additional prognostic equation for salinity is solved.</li><li>Potential temperature in buoyancy and stability-related terms is replaced by potential density.</li><li>Potential
+density is calculated from the equation of state for seawater after
+each timestep, using the algorithm proposed by Jackett et al. (2006, J.
+Atmos. Oceanic Technol., <span style="font-weight: bold;">23</span>, 1709-1728).<br>So far, only the initial hydrostatic pressure is entered into this equation.</li><li>z=0 (sea surface) is assumed at the model top (vertical grid index <span style="font-family: Courier New,Courier,monospace;">k=nzt</span> on the w-grid), with negative values of z indicating the depth.</li><li>Initial profiles are constructed (e.g. from <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a> / <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient_level">pt_vertical_gradient_level</a>) starting from the sea surface, using surface values&nbsp;given by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_surface">pt_surface</a>, <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#sa_surface">sa_surface</a>, <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#ug_surface">ug_surface</a>, and <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#vg_surface">vg_surface</a>.</li><li>Zero salinity flux is used as default boundary condition at the bottom of the sea.</li><li>If switched on, random perturbations are by default imposed to the upper model domain from zu(nzt*2/3) to zu(nzt-3).</li></ul>Relevant new inipar-parameters to be exclusively used for steering ocean runs are <span style="font-family: Courier New,Courier,monospace;">bc_sa_t</span>, <span style="font-family: Courier New,Courier,monospace;">bottom_salinityflux</span>, <span style="font-family: Courier New,Courier,monospace;">sa_surface</span>, <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient</span>, <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient_level</span>, and <span style="font-family: Courier New,Courier,monospace;">top_salinityflux</span>.<br><br>Salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>) and potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) are included as new 2d/3d output quantities. Vertical profiles of salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>), salinity fluxes (<span style="font-family: Courier New,Courier,monospace;">w"sa"</span>, <span style="font-family: Courier New,Courier,monospace;">w*sa*</span>, <span style="font-family: Courier New,Courier,monospace;">wsa</span>), and potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) can also be output.<span style="font-family: Courier New,Courier,monospace;"></span></td><td style="vertical-align: top;">advec_s_bc, average_3d_data,<br>boundary_conds, buoyancy,<br>check_parameters,&nbsp;data_output_2d,<br>data_output_3d,&nbsp;diffusion_e,<br>diffusivities,&nbsp;flow_statistics,&nbsp;header,<br>init_grid,&nbsp;init_3d_model,&nbsp;modules,<br>netcdf,&nbsp;parin,&nbsp;production_e,<br>prognostic_equations,<br>read_3d_binary,&nbsp;&nbsp;read_var_list,<br>sum_up_3d_data,&nbsp;swap_timelevel,<br>time_integration,&nbsp;user_interface,<br>write_var_list,&nbsp;write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>eqn_state_seawater,&nbsp;init_ocean</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Inipar-parameter <span style="font-family: Courier New,Courier,monospace;">use_pt_reference</span> renamed <span style="font-family: Courier New,Courier,monospace;">use_reference.</span><br>Internal variable <span style="font-family: Courier New,Courier,monospace;">hydro_press</span> renamed <span style="font-family: Courier New,Courier,monospace;">hyp</span>, routine <span style="font-family: Courier New,Courier,monospace;">calc_mean_pt_profile</span> renamed <span style="font-family: Courier New,Courier,monospace;">calc_mean_profile</span>.<br><br>The format of the <span style="font-family: Courier New,Courier,monospace;">RUN_CONTROL</span> file has been adjusted for ocean runs.<br><br>Defaults of <span style="font-family: Courier New,Courier,monospace;">.._vertical_gradient_levels</span> changed from <span style="font-style: italic;">-1.0</span> to <span style="font-style: italic;">-9999999.9</span>.</td><td style="vertical-align: top;">advec_particles,&nbsp;buoyancy,&nbsp;<br>calc_liquid_water_content, <br>check_parameters,&nbsp;diffusion_e,<br>diffusivities,&nbsp;header,<br>init_cloud_physics,&nbsp;modules,<br>production_e,&nbsp;prognostic_equations,<br>run_control</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: height above topography instead of height above level k=0 is used for calculating the mixing length (<span style="font-family: Courier New,Courier,monospace;">diffusion_e</span> and <span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br><br>Bugfix: error in boundary condition for TKE removed (<span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>).</td><td style="vertical-align: top;">advec_s_bc,&nbsp;diffusion_e,&nbsp;diffusivities</td></tr><tr><td style="vertical-align: top;">05/10/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.4</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This version allows runs for a coupled atmosphere-ocean LES.<br><br>Coupling frequency is controlled by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_coupling</span>, the coupling mode ('<span style="font-style: italic;">atmosphere_to_ocean</span>' or '<span style="font-style: italic;">ocean_to_atmosphere</span>') for the respective processes is read from environment variable <span style="font-family: Courier New,Courier,monospace;">coupling_mode</span>, which is set by the mpiexec-command in <span style="font-weight: bold;">mrun</span>. Communication between the two models is handled by the intercommunicator <span style="font-family: Courier New,Courier,monospace;">comm_inter</span>. Local files opened by the ocean model get the additional suffic "<span style="font-family: Courier New,Courier,monospace;">_O</span>".
+Saturation at k=nzb is assumed for the atmosphere coupled to ocean.
+Usage of the coupled model is described in the new section 3.8.<br><br>A momentum flux can be set as top boundary condition using the new inipar parameters <span style="font-family: Courier New,Courier,monospace;">top_momentumflux_u|v</span>.<br><br>Non-cyclic boundary conditions can be used along all horizontal directions.<br><br>Quantities w*p* and w"e can be output as vertical profiles.<br><br>Initial profiles are reset to constant profiles in case that <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span> /= '<span style="font-style: italic;">set_constant_profiles</span>'. (init_rankine)<br><br>Optionally calculate km and kh from initial TKE e_init.<br>
+</td><td style="vertical-align: top;">boundary_conds,
+check_open, check_parameters, diffusion_u, diffusion_v,
+flow_statistics, header, init_pegrid, init_rankine, init_3d_model,
+local_stop, modules, palm, parin, prandtl_fluxes, pres,
+prognostic_equations, read_var_list, read_3d_binary, swap_timelevel,
+timestep, time_integration, write_var_list, write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>surface_coupler</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Remaining variables <span style="font-family: Courier New,Courier,monospace;">iran</span> changed to <span style="font-family: Courier New,Courier,monospace;">iran_part</span> (advec_particles, init_particles).<br><br>In case that the presure solver is not called for every Runge-Kutta substep (<span style="font-family: Courier New,Courier,monospace;">call_psolver_at_all_substeps</span> = <span style="font-style: italic;">.F.</span>),
+it is called after the first substep instead of the last. In that case,
+random perturbations are also added to the velocity field after the
+first substep.<br><br>Initialization of <span style="font-family: Courier New,Courier,monospace;">km</span>, <span style="font-family: Courier New,Courier,monospace;">kh</span> = 0.00001 for <span style="font-family: Courier New,Courier,monospace;">ocean</span> = <span style="font-style: italic;">.T.</span> (for <span style="font-family: Courier New,Courier,monospace;">ocean</span> = <span style="font-style: italic;">.F.</span> it remains 0.01).<br><br>Allow <span style="font-family: Courier New,Courier,monospace;">data_output_pr</span> = '<span style="font-style: italic;">q</span>', '<span style="font-style: italic;">wq</span>', '<span style="font-style: italic;">w"q"</span>', '<span style="font-style: italic;">w*q*</span>' for <span style="font-family: Courier New,Courier,monospace;">humidity</span> = <span style="font-style: italic;">.T.</span> (instead of <span style="font-family: Courier New,Courier,monospace;">cloud_physics</span> = <span style="font-style: italic;">.T.</span>).</td><td style="vertical-align: top;">advec_particles, check_for_restart, check_parameters, init_particles, init_3d_model, time_integration<br></td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugs from code parts for non-cyclic boundary conditions are removed:<br>loops for u and v are starting from index <span style="font-family: Courier New,Courier,monospace;">nxlu</span>, <span style="font-family: Courier New,Courier,monospace;">nysv</span>,
+respectively. The radiation boundary condition is used for every
+Runge-Kutta substep. Velocity phase speeds for the radiation boundary
+conditions are calculated for the first Runge-Kutta substep only and
+reused for the further substeps. New arrays <span style="font-family: Courier New,Courier,monospace;">c_u</span>, <span style="font-family: Courier New,Courier,monospace;">c_v</span>, and <span style="font-family: Courier New,Courier,monospace;">c_w</span>
+are defined for this purpose. Several index errors are removed from the
+radiation boundary condition code parts. Upper bounds for calculating <span style="font-family: Courier New,Courier,monospace;">u_0</span> and <span style="font-family: Courier New,Courier,monospace;">v_0</span> (in production_e) are <span style="font-style: italic;">nxr+1</span> and <span style="font-style: italic;">nyn+1</span> because otherwise these values are not available in case of non-cyclic boundary conditions.<br><br>+<span style="font-family: Courier New,Courier,monospace;">dots_num_palm</span> in module user, +module netcdf_control in user_init (both in user_interface)<br><br>Bugfix: wrong sign removed from the buoyancy production term in the case <span style="font-family: Courier New,Courier,monospace;">use_reference</span> = <span style="font-style: italic;">.T.</span> (production_e)<br><br>Bugfix: Error message concerning output of particle concentration (pc) modified (check_parameters).<br><br>Bugfix: Rayleigh damping for ocean fixed.</td><td style="vertical-align: top;">advec_u_pw,
+advec_u_up, advec_v_pw, advec_v_up, boundary_conds, buoyancy,
+check_parameters, coriolis, diffusion_u, diffusion_v, header,
+init_pegrid, init_3d_model, modules, poismg, production_e,
+prognostic_equations, user_interface<br></td></tr><tr><td style="vertical-align: top;">29/11/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.4a</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">Pressure boundary conditions for vertical walls added to the multigrid solver. They are applied using new wall flag arrays (<span style="font-family: Courier New,Courier,monospace;">wall_flags_..</span>) which are defined for each grid level. New argument<span style="font-family: Courier New,Courier,monospace;"> gls </span>added to routine<span style="font-family: Courier New,Courier,monospace;"> user_init_grid </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br><br>Plant canopy model of Watanabe (2004,BLM 112,307-341) added. &nbsp;It can be switched on by the new inipar parameter <span style="font-family: Courier New,Courier,monospace;">plant_canopy</span>. The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> canopy_mode </span>can
+be used to prescribe a plant canopy type. The default case is a
+homogeneous plant canopy. Heterogeneous distributions of the leaf area
+density and the canopy drag coefficient can be defined in the new
+routine<span style="font-family: Courier New,Courier,monospace;"> user_init_plant_canopy </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>). The inipar parameters <span style="font-family: Courier New,Courier,monospace;">lad_surface</span>,<span style="font-family: Courier New,Courier,monospace;"> lad_vertical_gradient </span>and<span style="font-family: Courier New,Courier,monospace;"> lad_vertical_gradient_level </span>can be used to prescribe the vertical profile of leaf area density. The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> drag_coefficient </span>determines the canopy drag coefficient. Finally, the inipar parameter<span style="font-family: Courier New,Courier,monospace;"> pch_index </span>determines the index of the upper boundary of the plant canopy.&nbsp; <br><br>Allow new case<span style="font-family: Courier New,Courier,monospace;"> bc_uv_t </span>= <span style="font-style: italic;">'dirichlet_0'</span> for channel flow.<br><br>For unknown variables (CASE DEFAULT) call new subroutine<span style="font-family: Courier New,Courier,monospace;"> user_data_output_dvrp</span>.<br><br>Frequence of sorting particles can be controlled with new particles_par parameter<span style="font-family: Courier New,Courier,monospace;"> dt_sort_particles</span>. Sorting is moved from the SGS timestep loop in<span style="font-family: Courier New,Courier,monospace;"> advec_particles </span>after the end of this loop.</td><td style="vertical-align: top;">advec_particles,
+check_parameters, data_output_dvrp, header, init_3d_model, init_grid,
+init_particles, init_pegrid, modules, package_parin,
+parin,&nbsp;read_var_list,&nbsp;user_interface, write_var_list<br><br><span style="font-weight: bold;">new:</span><br>plant_canopy_model</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Redefine initial<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>as the actual total size of topography (later the extent of topography in<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>is reduced by 1dx at the E topography walls and by 1dy at the N topography walls to form the basis for<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>); for consistency redefine 'single_building' case.<br><br>Vertical profiles now based on<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>; they are divided by<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh_s_inner </span>(scalars, procucts of scalars) and<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh </span>(staggered velocity components and their products, procucts of scalars and velocity components), respectively.<br><br>Allow two instead of one digit to specify isosurface and slicer variables.<br><br>Status of 3D-volume NetCDF data file only depends on switch<span style="font-family: Courier New,Courier,monospace;"> netcdf_64bit_3d </span>(check_open).<br><br><span style="font-family: Courier New,Courier,monospace;">prognostic_equations </span>include the respective<span style="font-family: Courier New,Courier,monospace;"> wall_*flux </span>in the parameter list of calls of<span style="font-family: Courier New,Courier,monospace;"> diffusion_s</span>. Same as before, only the values<span style="font-family: Courier New,Courier,monospace;"> of wall_heatflux(0:4) </span>can be assigned. At present,<span style="font-family: Courier New,Courier,monospace;">&nbsp; wall_humidityflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_qflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_salinityflux</span>, and<span style="font-family: Courier New,Courier,monospace;"> wall_scalarflux </span>are kept zero.<span style="font-family: Courier New,Courier,monospace;"> diffusion_s </span>uses the respective<span style="font-family: Courier New,Courier,monospace;"> wall_*flux </span>instead of<span style="font-family: Courier New,Courier,monospace;"> wall_heatflux</span>.
+This update serves two purposes: - it avoids errors in calculations
+with humidity/scalar/salinity and prescribed non-zero wall heatflux, -
+it prepares PALM for a possible assignment of wall fluxes of
+humidity/scalar/salinity in a future releases.</td><td style="vertical-align: top;">buoyancy,
+check_open, data_output_dvrp, diffusion_s, diffusivities,
+flow_statistics, header, init_3d_model, init_dvrp, init_grid, modules,
+prognostic_equations</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: summation of<span style="font-family: Courier New,Courier,monospace;"> sums_l_l </span>(<span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br><br>Several bugfixes in the ocean part: Initial density<span style="font-family: Courier New,Courier,monospace;"> rho </span>is calculated (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>). Error in initializing<span style="font-family: Courier New,Courier,monospace;"> u_init </span>and<span style="font-family: Courier New,Courier,monospace;"> v_init </span>removed (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>). Calculation of density flux now starts from<span style="font-family: Courier New,Courier,monospace;"> nzb+1 </span>(<span style="font-family: Courier New,Courier,monospace;">production_e</span>).<br><br>Bugfix: <span style="font-family: Courier New,Courier,monospace;">pleft</span>/<span style="font-family: Courier New,Courier,monospace;">pright</span> changed to <span style="font-family: Courier New,Courier,monospace;">pnorth</span>/<span style="font-family: Courier New,Courier,monospace;">psouth</span> in sendrecv of particle tail numbers along y, small bugfixes in the SGS part (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>).<br><br>Bugfix:<span style="font-family: Courier New,Courier,monospace;"> model_string </span>needed a default value (<span style="font-family: Courier New,Courier,monospace;">combine_plot_fields</span>).<br><br>Bugfix: wavenumber calculation for even<span style="font-family: Courier New,Courier,monospace;"> nx </span>in routines<span style="font-family: Courier New,Courier,monospace;"> maketri </span>(<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br><br>Bugfix: assignment of fluxes at walls.<br><br>Bugfix: absolute value of<span style="font-family: Courier New,Courier,monospace;"> f </span>must be used when calculating the Blackadar mixing length (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).</td><td style="vertical-align: top;">advec_particles,
+check_parameters, combine_plot_fields, diffusion_s, diffusivities,
+init_ocean, init_1d_model, poisfft, production_e</td></tr><tr><td style="vertical-align: top;">16/09/08</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.5</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">The
+turbulence recycling method of Kataoka and Mizuno (2002) has been
+implemented. A precursor run must be used to initialize the main run
+with a quasi-stationary turbulence state (see <span style="font-family: monospace;">initializing_actions</span> = <span style="font-style: italic;">'read_data_for_recycling'</span>).
+The precursor run may have a smaller domain than the main run, which
+helps to spare CPU time. New parameters for steering the recycling
+method are <span style="font-family: monospace;">turbulent_inflow</span>, <span style="font-family: monospace;">recycling_width</span>, <span style="font-family: monospace;">inflow_damping_height</span>, and <span style="font-family: monospace;">inflow_damping_width</span>.<br><br>One
+new feature related with the recycling method is that within a job
+chain, the number of processors or the virtual processor grid is now
+allowed to&nbsp;change. Such a change modifies the domain decomposition
+and requires that the PEs within a restart job have to know from which
+file(s) they have to read their restart data (up to now there has been
+a one to one relation between the restart files and the PEs, i.e.
+processor 4 only reads data from file "_0004"). Informations about the
+subdomain index limits of all restart files are now written by PE0 (to
+file "_0000"). Also, all variables containing global values which do
+not depend on the subdomain are written to file "_0000" only. In a
+restart run, this file is opened by all PEs to read these global values
+and the informations about the subdomain index limits. Depending on
+these index limit information it is decided which restart file(s)
+has/have to be opened in order to read the complete data necessary for
+the current subdomain.<br><br>The plant canopy model has been extended
+to the prognostic equation for&nbsp;the potential temperature
+and&nbsp;passive scalar, as proposed by Watanabe (2004) and Shaw and
+Schumann (1992).<br><br>Particle advection adjusted for ocean runs.<br><br>Grid
+coarsening (multigrid method) is limited to subdomains (i.e. no
+collection of data on PE0 for further coarsening beyond subdomains) if <span style="font-family: monospace;">mg_switch_to_pe0_level</span> = <span style="font-style: italic;">-1</span>.<br><br>User-defined spectra are allowed.<br><br>Output of <span style="font-family: monospace;">q*2</span> profile and <span style="font-family: monospace;">w"u"0</span>, <span style="font-family: monospace;">w"v"0</span>, <span style="font-family: monospace;">w"q"0</span> timeseries are added.<br><br>Argument<span style="font-family: monospace;"> -c </span>introduced to most of the subjob calls, which allows the user to choose his own job catalog by setting the environment variable<span style="font-family: monospace;"> job_catalog </span>in the configuration file (default is <span style="font-family: monospace;">~/job_queue</span>).<br><br>This release contains first adjustments for the SGI-ICE system at HLRN.<br><br><span style="font-weight: bold;">Attention: On the SGI-ICE,&nbsp;runs are still aborted or are hanging for unknown reasons from time to time.</span></td><td style="vertical-align: top;">advec_particles, calc_spectra, check_open, check_parameters, data_output_spectra,
+header, init_3d_model, init_particles, init_pegrid, modules, netcdf, parin, particle_boundary_conds, plant_canopy_model,
+
+prognostic_equations, read_3d_binary, read_var_list, time_integration,
+user_interface, write_3d_binary, write_var_list<br><br><span style="font-weight: bold;">new:</span><br>inflow_turbulence<br></td></tr><tr><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Allow 100 spectra levels instead of 10 for consistency with define_netcdf_header. (<span style="font-family: monospace;">calc_spectra</span>, <span style="font-family: monospace;">data_output_spectra</span>, <span style="font-family: monospace;">header</span>, <span style="font-family: monospace;">modules</span>, <span style="font-family: monospace;">netcdf</span>)<br><br>Modification
+of the integrated version of the profile function for momentum for
+unstable stratification; more consistent flux definitions. (<span style="font-family: monospace;">wall_fluxes</span>, <span style="font-family: monospace;">production_e</span>)<br><br>Strict grid matching along z is not needed for mg-solver. (<span style="font-family: monospace;">check_parameters</span>)<br><br>Sharp
+lateral edges of the plant canopy introduced. Before, smaller values of
+the leaf area density than those applied in the prognostic equation for
+the vertical velocity were used in the prognostic equations for u and v
+at the boundaries of the plant_canopy. (<span style="font-family: monospace;">init_3d_model</span>)<br><br>-<span style="font-family: monospace;">cross_ts_*</span> (<span style="font-family: monospace;">read_var_list</span>, <span style="font-family: monospace;">write_var_list</span>), -<span style="font-family: monospace;">dopr_time_count</span>, old profil parameters (<span style="font-family: monospace;">cross_...</span>, <span style="font-family: monospace;">dopr_crossindex</span>,&nbsp;<span style="font-family: monospace;">profile_***</span>) removed. (<span style="font-family: monospace;">read_3d_binary</span>, <span style="font-family: monospace;">write_3d_binary</span>)<br><br>Reading/writing of <span style="font-family: monospace;">hom_sum</span>, <span style="font-family: monospace;">volume_flow_area</span>, <span style="font-family: monospace;">volume_flow_initial</span> is moved from <span style="font-family: monospace;">..._3d_binary</span> to <span style="font-family: monospace;">..._var_list</span>, <span style="font-family: monospace;">hom_sum</span> is now allocated in <span style="font-family: monospace;">parin</span> instead of <span style="font-family: monospace;">init_3d_model</span>.<br><br><span style="font-family: monospace;">npex</span>, <span style="font-family: monospace;">npey</span> moved from inipar- to d3par-namelist. (<span style="font-family: monospace;">parin</span>)<br><br><span style="font-family: monospace;">myid_char14</span>
+removed. This was used, since on IBM machines the process rank could be
+changed when the final communicator was defined, in order to save the
+preliminary processor-id for opening the binary output file for
+restarts (unit 14), because otherwise a mismatch occured when reading
+this file in a restart job. This mechanism is not needed any more since
+the subdomain informations are now contained in file _0000. (<span style="font-family: monospace;">parin</span>, <span style="font-family: monospace;">check_open</span>)<br><br>Transpositions for the 2D domain decomposition have been optimized by using <span style="font-family: monospace;">f_inv</span>
+as an automatic array instead of providing the memory by a dummy
+argument. This spares one copy loop per transposition. Order of indices
+in the 3D loops in some of the transpose routines have been rearranged
+for better cache utilization. Both have been suggested by Roland
+Richter (SGI) as part of the HLRN-II benchmark process. (<span style="font-family: monospace;">transpose</span>)<br><br>Workaround for getting information about the coupling mode, because the<span style="font-family: monospace;"> -env </span>Option (mpiexec) is not available on many systems (SGI, lcxt4 at&nbsp; Bergen Center for Computational Science). (<span style="font-family: monospace;">palm</span>, <span style="font-family: monospace;">mrun</span>)<br><br>Format adjustments in order to allow CPU# &gt; 999. (<span style="font-family: monospace;">cpu_statistics</span>)<br><br>Provisional solution for run_control_1d output: add 'CALL check_open( 15 )'. (<span style="font-family: monospace;">init_1d_model</span>)<br><br>Subdomain data are read into temporary arrays <span style="font-family: monospace;">pf_tmp</span> / <span style="font-family: monospace;">pf3d_tmp</span> in order to avoid INTEL compiler warnings about (automatic) creation of temporary arrays. (<span style="font-family: monospace;">combine_plot_fields</span>)<br><br>Time coordinate t=0 stored on netcdf-file only if an output is required for this time for at least one of the profiles.<br><br>Output of spline timeseries <span style="font-family: monospace;">splptx</span> etc. removed. (<span style="font-family: monospace;">flow_statistics</span>)</td><td style="vertical-align: top;">advec_s_ups,
+advec_u_ups, advec_v_ups, advec_w_ups, calc_spectra, check_open,
+check_parameters, cpu_statistics, data_output_profiles,
+data_output_spectra, flow_statistics, header, init_1d_model,
+init_3d_model, modules, netcdf, palm, parin, poisfft, production_e,
+read_3d_binary, read_var_list, transpose, wall_fluxes, write_3d_binary, write_var_list<br></td></tr><tr><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix:
+modification of the calculation of the vertical turbulent momentum
+fluxes u'w' and v'w'; the first usws that is computed corresponds to
+-u'w'/u* and not as priorily assumed to (-u'w')**0.5, the first vsws
+that is computed corresponds to -v'w'/u* and not as priorily assumed to
+(-v'w')**0.5. Therefore, the intermediate result for usws has to be
+multiplied by -u* instead by itself in order to get u'w'. Accordingly,
+the intermediate result for vsws has to be multiplied by -u* instead by
+itself in order to get v'w'. As u* is calculated for the position of a
+scalar an additional interpolation of u* to the position of u and v,
+respectively, is necessary. As u* is not determined for the ghost
+points on each PE, an additional exchange of information from
+neighbouring PEs is necessary. Tests showed that this
+decreases u* by some 10% and increases TKE and momentum fluxes by some
+10% because friction was underestimated and momentum fluxes were
+wrongly calculated due to the bug. (<span style="font-family: monospace;">prandtl_fluxes</span>, <span style="font-family: monospace;">wall_fluxes</span>)<br><br><span style="font-weight: bold;">Attention:</span> <br><span style="font-weight: bold;">
+The content of the testresult-file (run control output) has changed
+due to the above bugfix.</span><br><br>Bugfix:
+change definition of us_wall from 1D to 2D.&nbsp;<br><br>Bugfix: exponent = 1.0 / ( ny + 1.0 ) in calc_spectra_x. (<span style="font-family: monospace;">calc_spectra</span>)<br><br>Bugfix: calculation of horizontal fluxes at vertical walls. (<span style="font-family: monospace;">diffusion_s</span>)<br><br>Bugfix: zero assignments to tendency arrays in case of restarts. (<span style="font-family: monospace;">init_3d_model</span>)<br><br>Bugfix: wrong grid level used in multigrid solver, routine <span style="font-family: monospace;">restrict</span>. (<span style="font-family: monospace;">poismg</span>)<br><br>Bugfix:
+Construction of vertical profiles when 10 gradients have been specified
+in the parameter list (ug, vg, pt, q, sa, lad). (<span style="font-family: monospace;">check_parameters</span>)<br><br>Bugfix: Determination of the number of vertical levels for which spectra shall be output - 100 replaced by 10. (<span style="font-family: monospace;">netcdf</span>)<br><br>Bugfix:
+Lengths of those characters that are needed for the output of the
+characteristic levels of potential temperature, the geostrophic wind,
+scalar concentration, humidity and leaf area density to the header file
+has been increased. (<span style="font-family: monospace;">header</span>)<br><br>Bugfix: add ')' in <span style="font-family: monospace;">user_read_restart_data</span>.<br><br>The leaf area density is explicitly set to its surface value at k=0. (<span style="font-family: monospace;">check_parameters</span>)<br><br>Introduce<span style="font-family: monospace;"> prefix_chr</span> to ensure unique dvrp_file path.<br><br>small bugfixes for <span style="font-family: monospace;">user_interface</span> sample code (comments):<br>- initialize ustvst with 0.0 as it is now computed only until <span style="font-family: monospace;">nxr</span> and <span style="font-family: monospace;">nyn</span><br>- two ALLOCATE statements moved from <span style="font-family: monospace;">user_read_restart_data</span> back to <span style="font-family: monospace;">user_init</span><br>- remove 'READ (13) u2_av' statement in <span style="font-family: monospace;">user_read_restart_data</span><br><br>Bugfix: remove IF statement in <span style="font-family: monospace;">plant_canopy_model_ij</span>.<br><br>Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) (like other scalars). (<span style="font-family: monospace;">flow_statistics</span>)<br><br>Bugfix: <span style="font-family: monospace;">dopr_time_count</span>
+was written on the binary file, which caused that NetCDF files newly
+created by restart files (no append of existing files!) contained
+uneccessary time levels. (<span style="font-family: monospace;">read_3d_binary</span>, <span style="font-family: monospace;">write_3d_binary</span>)<br><br>Bugfix: extra '*' removed in user_statistics sample code. (<span style="font-family: monospace;">user_interface</span>)<br><br>Bugfix: a stop command was missing in some cases of the parallel branch. (<span style="font-family: monospace;">local_stop</span>)<br><br>Bugfix in volume flow control for non-cyclic boundary conditions. (<span style="font-family: monospace;">pres</span>)<br><br>Bugfix: misplaced #endif directives. (<span style="font-family: monospace;">combine_plot_fields</span>)<br><br>Data are collected from PE0 in an ordered sequence which seems to avoid hanging of processes on SGI-ICE. (<span style="font-family: monospace;">cpu_statistics</span>)</td><td style="vertical-align: top;">calc_spectra,
+check_parameters, cpu_statistics, diffusion_s, flow_statistics,
+init_3d_model, init_dvrp, local_stop, plant_canopy_model, poismg,
+prandtl_fluxes, pres, read_3d_binary, user_interface, wall_fluxes,
+write_3d_binary<br></td></tr><tr><td style="vertical-align: top;">02/02/09</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.6<br>(r228)</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This
+release contains further additions, changes, and bugfixes for the
+SGI-ICE system, as well as important changes like the splitting of the
+user-interface into single files, a complete revision of the
+pre-compiling mechanism allowing to use different make-depositories
+simultaneously, and a revision of the reading-mechanism from restart
+files, which has no more restrictions in case that the previous and
+current run have different domain/subdomain sizes. A new handling of
+all kind of output messages is introduced with this release and will be
+applied to all existing messages within the next releases.<br><br><span style="font-weight: bold;">New features are:</span><br style="font-weight: bold;"><br>Restart runs on SGI-ICE are working. (mrun)<br>2d-decomposition is default on SGI-ICE systems. (init_pegrid)<br><br>Ocean-atmosphere coupling realized with MPI-1. mrun adjusted for this case (-Y option). Check that PALM is called with <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option "<span style="font-style: italic;">-K parallel</span>" for coupling. Adjustments in <span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, and <span style="font-family: Courier New,Courier,monospace;">subjob</span> for lcxt4.<br><br>DVRP arguments changed to single precision, mode pathlines added.<br><br>User can add additional routines in files <span style="font-family: Courier New,Courier,monospace;">user_additional_routines</span>.<br><br>User can check user parameters and deduce further quantities in <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>.</td><td style="vertical-align: top;">check_for_restart,
+check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop,
+modules, package_parin, palm, surface_coupler, timestep<br><br>Makefile,&nbsp;mbuild, mrun, subjob<br><br><span style="font-weight: bold;">new:</span><br>init_coupling, user_additional_routines, user_check_parameters</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">&nbsp;User interface has been split into single files.<br><br>Type of variables <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span>
+changed to INTEGER(8) in order to avoid "out of range" problems, which
+result in measured negative time intervals. (cpu_log, local_tremain,
+local_tremain_ini)<br><br>Reading mechanism from restart files
+completely revised. The subdomain/total domain size is now allowed to
+vary arbitrarily between the current and previous run. (read_var_list,
+read_3d_binary, user_read_restart_data)<br><br>Precompilation mechanism (<span style="font-family: Courier New,Courier,monospace;">mbuild</span>) completely revised: the source-tarfile remains in the source directory (<span style="font-family: Courier New,Courier,monospace;">trunk/SOURCE</span>).
+One depository per block (given in the config-file) is created. Always
+all files from the source directory are copied to the respective
+depository. No additional file checks are done any more (mrun version
+2.1). The depository name used contains the conditions given by <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option "<span style="font-family: Courier New,Courier,monospace;">-K</span>". (mbuild, mrun)<br><br>Output messages (including required stop of execution) can now be handled with the new subroutine&nbsp;<span style="font-family: Courier New,Courier,monospace;">message</span>. All output messages will be replaced by this routine step by step within the next revisions.<br><br>Neumann boundary condition at <span style="font-family: Courier New,Courier,monospace;">k=nzb</span> is explicitly set for better reading, although this has been already done in boundary_conds. (advec_s_bc)<br><br>Origin of the xy-coordinate system shifted from the center of the first grid cell (indices <span style="font-family: Courier New,Courier,monospace;">i=0</span>, <span style="font-family: Courier New,Courier,monospace;">j=0</span>) to the south-left corner of this cell. (netcdf) Topography definition according to new user parameter <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span>. (init_grid, modules, user_header, user_init_grid, user_parin)</td><td style="vertical-align: top;">advec_s_bc,
+check_parameters, cpu_log, init_grid, local_stop, local_tremain,
+local_tremain_ini, modules, netcdf, read_3d_binary, read_var_list,
+user_read_restart_data<br><br>Makefile, mbuild, mrun<br><br><span style="font-weight: bold;">removed:</span><br>user_interface<br><br><span style="font-weight: bold;">new:</span><br>message,
+user_3d_data_averaging, user_actions, user_advec_particles,
+user_check_data_output, user_check_data_output_pr, user_data_output_2d,
+user_data_output_3d, user_data_output_dvrp, user_define_netcdf_grid,
+user_dvrp_coltab, user_header, user_init_3d_model, user_init,
+user_init_grid, user_init_particles, user_init_plant_canopy,
+user_last_actions, user_parin, user_parin, user_particle_attributes,
+user_read_restart_data, user_spectra, user_statistics</td></tr><tr><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: array <span style="font-family: Courier New,Courier,monospace;">d</span> is reallocated in case that multigrid is used. (calc_spectra)<br><br>Bugfixes for nonparallel execution. (check_for_restart, cpu_statistics, inflow_turbulence,&nbsp;timestep)<br><br>Size of <span style="font-family: Courier New,Courier,monospace;">pf3d </span>adjusted to the required output size (1 gridpoint less, along all three dimensions), because output of a subset of the data (<span style="font-family: Courier New,Courier,monospace;">pf3d(nxa:nxe...)</span>) in the NF90_PUT_VAR statement caused segmentation fault with the INTEL compiler. (combine_plot_fields)<br><br>Bugfix: error in <span style="font-family: Courier New,Courier,monospace;">zu</span> index in case of <span style="font-family: Courier New,Courier,monospace;">section_xy=-1</span>. (header)<br><br>Inconsistency
+removed: as the thermal stratification is not taken into account for
+the evaluation of the wall fluxes at vertical walls, the eddy viscosity
+<span style="font-family: Courier New,Courier,monospace;">km</span> must not be used for the evaluation of the velocity gradients <span style="font-family: Courier New,Courier,monospace;">dudy</span>, <span style="font-family: Courier New,Courier,monospace;">dwdy</span>, <span style="font-family: Courier New,Courier,monospace;">dvdx</span> and <span style="font-family: Courier New,Courier,monospace;">dwdx</span>. (production_e)<br><br>Bugfix in calculating <span style="font-family: Courier New,Courier,monospace;">k</span> index in case of oceans runs. (sort_particles)<br><br>Bugfix: no output of particle concentration and radius unless particles have been started. (data_output_2d)<br><br>Bugfix: reading of <span style="font-family: Courier New,Courier,monospace;">spectrum_x|y</span> from restart files ignored if total numbers of grid points do not match. (read_3d_binary)<br><br>Bugfix: abort in case that absolute temperature is below zero. (init_cloud_physics)</td><td style="vertical-align: top;">advec_particles,
+calc_spectra, check_for_restart, cpu_statistics, data_output_2d,
+header, inflow_turbulence, init_cloud_physics, production_e,
+read_3d_binary, timestep<br><br>combine_plot_fields</td></tr><tr>
+      <td style="vertical-align: top;">23/09/09<br>
+      </td>
+      <td style="vertical-align: top;">SR<br>
+      </td>
+      <td style="vertical-align: top;">3.7 (r392)<br>
+      </td>
+      <td style="vertical-align: top;">N<br>
+      </td>
+      <td style="vertical-align: top;"><span style="font-weight: bold;">Most important changes:</span>
+atmosphere-ocean coupling has been improved and steering of
+dvr-software is more user-friendly now. Beside that, the release
+contains a lot of optimizations, changes, and bugfixes which have
+accumulated over the last months.<br>
+      <br>
+The atmosphere-ocean coupling allows to use independent precursor runs
+in order to account for different spin-up times. The time when coupling
+has to be started is given by new inipar parameter <span style="font-family: Courier New,Courier,monospace;">coupling_start_time</span>. The precursor ocean run has to be started using new <span style="font-weight: bold;">mrun</span> option "<span style="font-family: Courier New,Courier,monospace;">-y</span>" in order to add the appendix "<span style="font-family: Courier New,Courier,monospace;">_O</span>" to all output files. (<span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>, <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_coupling</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>, <span style="font-family: Courier New,Courier,monospace;">time_integration</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+
+      <br>
+Clipping of dvrp output implemented. Default colourtable for particles
+implemented, particle attributes (color, dvrp_size) can be set with new
+parameters <span style="font-family: Courier New,Courier,monospace;">particle_color</span>, <span style="font-family: Courier New,Courier,monospace;">particle_dvrpsize</span>, <span style="font-family: Courier New,Courier,monospace;">color_interval</span>, <span style="font-family: Courier New,Courier,monospace;">dvrpsize_interval</span>. Slicer attributes (dvrp) are set with new routine <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span> and are controlled with existing parameters <span style="font-family: Courier New,Courier,monospace;">slicer_range_limits</span>. (<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>)<br>
+
+      <br>
+Polygon reduction for topography and ground plate isosurface. Reduction
+level for buildings can be chosen with parameter cluster_size. (<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>)<br>
+
+      <br>
+Variables <span style="font-family: Courier New,Courier,monospace;">bc_lr</span> / <span style="font-family: Courier New,Courier,monospace;">bc_ns</span>&nbsp; in most subroutines replaced by LOGICAL variables <span style="font-family: Courier New,Courier,monospace;">bc_lr_cyc</span>,<br>
+      <span style="font-family: Courier New,Courier,monospace;">
+bc_ns_cyc</span> for speed optimization. This gives a significant speedup of more than 10%. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_u</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_v</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_w</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
+
+      <br>
+Scripts have been adapted for machine lck (Yonsei Univ.). (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)<br>
+      <br>
+Additional timestep criterion in case of simulations with plant canopy. (<span style="font-family: Courier New,Courier,monospace;">timestep</span>)<br>
+      <br>
+Check for illegal entries in <span style="font-family: Courier New,Courier,monospace;">section_xy</span>|<span style="font-family: Courier New,Courier,monospace;">xz</span>|<span style="font-family: Courier New,Courier,monospace;">yz</span> that exceed <span style="font-family: Courier New,Courier,monospace;">nz+1</span>|<span style="font-family: Courier New,Courier,monospace;">ny+1</span>|<span style="font-family: Courier New,Courier,monospace;">nx+1</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
+      <br>
+External pressure gradient can be used as driving force. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+New topography case '<span style="font-style: italic;">single_street_canyon</span>'. (<span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">user_header</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+Option to predefine a target bulk velocity for <span style="font-family: Courier New,Courier,monospace;">conserve_volume_flow</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+Option for user defined 2D data output in xy cross sections at z=<span style="font-family: Courier New,Courier,monospace;">nzb</span>+1. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">user_data_output_2d</span>)<br>
+      <br>
+xy cross section output of surface heatfluxes (sensible and latent). (<span style="font-family: Courier New,Courier,monospace;">average_3d_data</span>, <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>, <span style="font-family: Courier New,Courier,monospace;">sum_up_3d_data</span>, <span style="font-family: Courier New,Courier,monospace;">write_3d_binary</span>)<br>
+      </td>
+      <td style="vertical-align: top;">average_3d_data,
+check_for_restart, check_parameters, data_output_2d, data_output_3d,
+data_output_dvrp, data_output_profiles, data_output_ptseries,
+data_output_spectra, data_output_tseries, diffusion_u, diffusion_v,
+diffusion_w, init_coupling, init_dvrp, init_grid, init_3d_model,
+header, mbuild, modules, mrun, package_parin, parin,
+prognostic_equations, read_3d_binary, read_var_list, subjob,
+sum_up_3d_data, surface_coupler, timestep, time_integration,
+user_check_parameters, user_data_output_2d, user_data_output_dvrp,
+user_header, user_init_grid, write_3d_binary, write_var_list<br>
+      <br>
+      <span style="font-weight: bold;">new:</span> set_particle_attributes, set_slicer_attributes_dvrp<br>
+      <br>
+      </td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;">C<br>
+      </td>
+      <td style="vertical-align: top;">Output of messages replaced by message handling routine. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>, <span style="font-family: Courier New,Courier,monospace;">buoyancy</span>, <span style="font-family: Courier New,Courier,monospace;">calc_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>, <span style="font-family: Courier New,Courier,monospace;">check_open</span>, <span style="font-family: Courier New,Courier,monospace;">coriolis</span>, <span style="font-family: Courier New,Courier,monospace;">cpu_log</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">fft_xy</span>, <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">init_particles</span>, <span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>, <span style="font-family: Courier New,Courier,monospace;">netcdf</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">plant_canopy_model</span>, <span style="font-family: Courier New,Courier,monospace;">poisfft_hybrid</span>, <span style="font-family: Courier New,Courier,monospace;">poismg</span>, <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>, <span style="font-family: Courier New,Courier,monospace;">temperton_fft</span>, <span style="font-family: Courier New,Courier,monospace;">timestep</span>, <span style="font-family: Courier New,Courier,monospace;">user_actions</span>, <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">user_dvrp_coltab</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_plant_canopy</span>, <span style="font-family: Courier New,Courier,monospace;">user_parin</span>, <span style="font-family: Courier New,Courier,monospace;">user_read_restart_data</span>, <span style="font-family: Courier New,Courier,monospace;">user_spectra</span>)<br>
+
+      <br>
+Output of NetCDF messages with aid of message handling routine. (<span style="font-family: Courier New,Courier,monospace;">check_open</span>, <span style="font-family: Courier New,Courier,monospace;">close_file</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>, <span style="font-family: Courier New,Courier,monospace;">netcdf</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
+
+      <br>
+
+__lcmuk changed to __lc to avoid problems with Intel compiler on sgi-ice. (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>)<br>
+      <br>
+For extended NetCDF files, the updated title attribute includes an update of time_average_text where appropriate. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
+      <br>
+In case of restart runs without extension, initial profiles are not
+written to NetCDF-file anymore. So far, time axis always started at
+t=0. (<span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+      <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span>='<span style="font-style: italic;">read_data_for_recycling</span>' renamed to '<span style="font-style: italic;">cyclic_fill</span>'. A cyclic fill can now <br>
+be used independent of <span style="font-family: Courier New,Courier,monospace;">turbulent_inflow</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
+      <br>
+2 NetCDF error numbers changed. (<span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
+      <br>
+A link to the webspage appendix_a.html is printed for further
+information about possible reasons of the error that appeared. (message)<br>
+      <br>
+Temperature gradient criterion for estimating the boundary layer height
+replaced by the gradient criterion of Sullivan et al. (1998). (<span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>)<br>
+      <br>
+NetCDF unit attribute in timeseries output in case of statistic regions added. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
+      <br>
+Maximum number of tails is calculated from maximum number of particles and <span style="font-family: Courier New,Courier,monospace;">skip_particles_for_tail</span>. (<span style="font-family: Courier New,Courier,monospace;">init_particles</span>)<br>
+      <br>
+Value of <span style="font-family: Courier New,Courier,monospace;">vertical_particle_advection</span> is allowed to differ for each particle group. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>) <br>
+      <br>
+First constant in array <span style="font-family: Courier New,Courier,monospace;">den</span> also defined as type double. (<span style="font-family: Courier New,Courier,monospace;">eqn_state_seawater</span>)<br>
+      <br>
+Parameter <span style="font-family: Courier New,Courier,monospace;">dvrp_psize</span> moved from <span style="font-family: Courier New,Courier,monospace;">particles_par</span> to <span style="font-family: Courier New,Courier,monospace;">dvrp_graphics_par</span>. (<span style="font-family: Courier New,Courier,monospace;">package_parin</span>)<br>
+      <br>
+      <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span> moved from <span style="font-family: Courier New,Courier,monospace;">userpar</span> to <span style="font-family: Courier New,Courier,monospace;">inipar</span> (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">user_header</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">user_parin</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+Default value of <span style="font-family: Courier New,Courier,monospace;">grid_matching</span> changed to '<span style="font-style: italic;">strict</span>'. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
+      <br>
+Adjustments for runs on lcxt4 (necessary due to a software update on CRAY) and for coupled runs on ibmy. (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)<br>
+      </td>
+      <td style="vertical-align: top;">advec_particles, advec_s_bc,
+buoyancy, calc_spectra, check_for_restart, check_open,
+check_parameters, close_file, coriolis, cpu_log, data_output_2d,
+data_output_3d, data_output_dvrp, data_output_profiles,
+data_output_ptseries, data_output_spectra, data_output_tseries,
+eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model,
+init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
+message, mrun, netcdf, package_parin, parin, plant_canopy_model,
+poisfft, poisfft_hybrid, poismg, read_3d_binary, read_var_list, subjob,
+surface_coupler, temperton_fft, timestep, user_actions,user_check_parameters, user_data_output_dvrp, user_dvrp_coltab, user_header, user_init_grid, user_init_plant_canopy, user_parin, user_read_restart_data, user_spectra, write_var_list <br>
+      </td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;"><br>
+      </td>
+      <td style="vertical-align: top;">E<br>
+      </td>
+      <td style="vertical-align: top;">Bugfix: Initial hydrostatic pressure profile in case of ocean runs is now calculated in 5 iteration steps. (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>)<br>
+      <br>
+Bugfix: wrong sign in buoyancy production of ocean part in case of not using the reference density (only in 3D routine <span style="font-family: Courier New,Courier,monospace;">production_e</span>). (<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
+      <br>
+Bugfix: output of averaged 2d/3d quantities requires that an avaraging
+interval has been set, respective error message is included. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
+      <br>
+Bugfix: Output on unit 14 only if requested by <span style="font-family: Courier New,Courier,monospace;">write_binary</span>. (<span style="font-family: Courier New,Courier,monospace;">user_last_actions</span>)<br>
+      <br>
+Bugfix to avoid zero division by <span style="font-family: Courier New,Courier,monospace;">km_neutral</span>. (<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
+      <br>
+Bugfix for extended NetCDF files: In order to avoid 'data mode' errors
+if updated attributes are larger than their original size, <span style="font-family: Courier New,Courier,monospace;">NF90_PUT_ATT</span> is called in 'define mode' enclosed by <span style="font-family: Courier New,Courier,monospace;">NF90_REDEF</span> and <span style="font-family: Courier New,Courier,monospace;">NF90_ENDDEF</span>
+calls. This implies a possible performance loss; an alternative
+strategy would be to ensure equal attribute size in a job chain. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
+      <br>
+Bugfix: correction of initial volume flow for non-flat topography. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
+      <br>
+Bugfix: zero initialization of arrays within buildings for '<span style="font-style: italic;">cyclic_fill</span>'. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
+      <br>
+Bugfix: <span style="font-family: Courier New,Courier,monospace;">to_be_resorted</span> =&gt; <span style="font-family: Courier New,Courier,monospace;">s_av</span> for time-averaged scalars. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
+      <br>
+Bugfix: avoid that <span style="font-family: Courier New,Courier,monospace;">ngp_2dh_s_inner</span> becomes zero. (<span style="font-family: Courier New,Courier,monospace;">init_3_model</span>)<br>
+      <br>
+Typographical error: unit of wpt in dots_unit. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
+      <br>
+Bugfix: error in check, if particles moved further than one subdomain
+length. This check must not be applied for newly released particles. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>)<br>
+      <br>
+Bugfix: several tail counters are initialized, <span style="font-family: Courier New,Courier,monospace;">particle_tail_coordinates</span>
+is only written to file if its third index is &gt; 0, arrays for tails
+are allocated with a minimum size of 10 tails if there is no tail
+initially. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">init_particles</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
+      <br>
+Bugfix: pressure included for profile output. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
+      <br>
+Bugfix: Type of <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span> changed to default <span style="font-family: Courier New,Courier,monospace;">INTEGER</span> on NEC machines. (<span style="font-family: Courier New,Courier,monospace;">cpu_log</span>)<br>
+      <br>
+Bugfix: output of particle time series only if particle advection is switched on. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)<br>
+      <br>
+Bugfix: qsws was calculated in case of <span style="font-family: Courier New,Courier,monospace;">constant heatflux</span> = <span style="font-family: Courier New,Courier,monospace;">.FALSE.</span>. (<span style="font-family: Courier New,Courier,monospace;">prandtl_fluxes</span>)<br>
+      <br>
+Bugfix: averaging along z is not allowed for 2d quantities (e.g. u* and z0). (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>)<br>
+      <br>
+Typographical errors. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
+      <br>
+If the inversion height calculated by the prerun is zero, inflow_damping_height must be explicitly specified. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
+      <br>
+Small bugfix concerning 3d 64bit netcdf output format. (<span style="font-family: Courier New,Courier,monospace;">header</span>)<br>
+      <br>
+Bugfix: <span style="font-family: Courier New,Courier,monospace;">dt_fixed</span>
+removed from the restart file, because otherwise, no change from a
+fixed to a variable timestep would be possible in restart runs. (<span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
+      <br>
+Bugfix: initial setting of <span style="font-family: Courier New,Courier,monospace;">time_coupling</span> in coupled restart runs. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)<br>
+      </td>
+      <td style="vertical-align: top;">advec_particles,
+check_parameters, cpu_log, data_output_2d, data_output_3d, header,
+init_3d_model, init_particles, init_ocean, modules, netcdf,
+prandtl_fluxes, production_e, read_var_list, time_integration,
+user_last_actions, write_var_list<br>
+      <br>
+      </td>
+    </tr>
+
+</tbody>
+</table>&nbsp;<b><blink>Attention:</blink></b>
+If<tt> make </tt>is not used
+for
+compiling,
+<b>all routines</b> have to be re-compiled after every
+change
+to <b>modules.f90!</b>
+<br>&nbsp;
+<br>&nbsp;
+<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
+to change the model source
+code</h2>Currently
+(Sep 23rd, 2009), only selected users are allowed to commit changes to
+the repository. Some rules about how to check in modified code will be
+added later.<br>
+<h2>
+<a name="Kapitel3.0"></a>3.0&nbsp; Description
+of selected parts of the
+model source code</h2>
+<b></b>
+<p>This section gives links to existing descriptions about special
+parts of the PALM code, e.g. special numerical methods that are used
+(including mathematical background). Documents are stored in single
+files with different formats. Some are in German (sorry for the
+inconvenience).
+<br>&nbsp;
+</p><ul> <li> <a name="UPS"></a>upstream-spline
+advection scheme ( <a href="Upstream_Spline/ups.ps">.ps</a>
+)</li> <li> <a name="Cloud_physics"></a>cloud
+physics module ( <a href="Cloud_physics/wolken.pdf">.pdf</a>
+)</li> <li> <a name="Bitkompression"></a>Datenkompression
+mit dem Verfahren
+der <a href="Bitkompression/kompression.html">Bitverschiebung</a></li>
+<li> <a name="Runge-kutta"></a>Runge-Kutta
+time integration scheme ( <a href="numerik.heiko/zeitschrittverfahren.pdf">.pdf</a>
+)</li>
+</ul><br>
+&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+<br>&nbsp;
+</body></html>
Index: palm/tags/release-3.7/DOC/tec/topography_flags.html
===================================================================
--- palm/tags/release-3.7/DOC/tec/topography_flags.html	(revision 393)
+++ palm/tags/release-3.7/DOC/tec/topography_flags.html	(revision 393)
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+
+
+  
+  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
+
+  
+
+
+  
+  
+  <title>PALM chapter 3.8</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
+
+
+  
+  <meta name="AUTHOR" content="Siegfried Raasch">
+
+
+  
+  <meta name="CREATED" content="20040809;13460943">
+
+
+  
+  <meta name="CHANGED" content="20041112;15085727">
+
+
+  
+  <meta name="KEYWORDS" content="parallel LES model">
+
+
+  
+  <style>
+<!--
+@page { size: 21cm 29.7cm }
+-->
+  </style></head>
+<body style="direction: ltr;" lang="en-US">
+
+
+<h3 style="line-height: 100%;">Topography flags</h3>
+
+
+<p style="line-height: 100%;">Starting from version 3.4a
+a flag array has been introduced in PALM for representing the topography. The new array<span style="font-family: Courier New,Courier,monospace;">&nbsp;flags </span>is a 3D-<span style="font-family: Courier New,Courier,monospace;">INTEGER</span> array dimensioned (<span style="font-family: Courier New,Courier,monospace;">nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1</span>) where each value describes the features of the respective grid point with respect to the topography. Strictly speaking,&nbsp;<span style="font-family: Courier New,Courier,monospace;">flags</span> is a <span style="font-family: Courier New,Courier,monospace;">POINTER</span> which by default points to the real array<span style="font-family: Courier New,Courier,monospace;"> wall_flags_1</span>. In case of using the multigrid method as pressure solver, additional arrays<span style="font-family: Courier New,Courier,monospace;"> wall_flags_2</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_flags_3</span>,
+etc. are used containing the respective flag informations for the
+coarser grids. (Attention: The finest grid always has the largest
+number, i.e. if four multigrid levels are used, then the flags for the
+finest grid are stored in array<span style="font-family: Courier New,Courier,monospace;"> wall_flags_4</span>.)</p><p style="line-height: 100%;">Each
+INTEGER value has to be interpreted bitwise. As to the FORTRAN model
+bits are counted from right to left starting with bit 0. So far, the
+first seven bits are used for storing the following informations (a bit value of "<span style="font-style: italic;">1</span>" means that the appropriate flag is set):</p><br><table style="text-align: left; height: 220px; width: 496px;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td style="width: 85px; text-align: center;"><span style="font-weight: bold;">bit position</span></td><td style="width: 393px;"><span style="font-weight: bold;">meaning</span></td></tr><tr><td style="width: 85px; text-align: center;">0</td><td style="width: 393px;">wall to the bottom</td></tr><tr><td style="width: 85px; text-align: center;">1</td><td style="width: 393px;">wall to the top &nbsp;(this cannot be used in the code so far)</td></tr><tr><td style="width: 85px; text-align: center;">2</td><td style="width: 393px;">wall to the south</td></tr><tr><td style="width: 85px; text-align: center;">3</td><td style="width: 393px;">wall to the north</td></tr><tr><td style="width: 85px; text-align: center;">4</td><td style="width: 393px;">wall to the left</td></tr><tr><td style="width: 85px; text-align: center;">5</td><td style="width: 393px;">wall to the rigth</td></tr><tr><td style="width: 85px; text-align: center;">6</td><td style="width: 393px;">inside topography / building</td></tr></tbody></table><p style="line-height: 100%;"><span style="font-weight: bold;">Example:</span><br>If a gridpoint has two neighbouring walls to the bottom and to the left, then the flag bit value is "<span style="font-style: italic;">...010001</span>" which gives the<span style="font-family: Courier New,Courier,monospace;"> INTEGER </span>value "<span style="font-style: italic;">17</span>" = 1*2<sup>4</sup>+1*2<sup>0</sup>.</p><p style="line-height: 100%;">For a gridpoint in the free flow without any neighbouring wall no bits are set, i.e. the<span style="font-family: Courier New,Courier,monospace;"> INTEGER </span>value of the respective array element of<span style="font-family: Courier New,Courier,monospace;"> flags </span>is "<span style="font-style: italic;">0</span>".</p><p style="line-height: 100%;">The intrinsic FORTRAN functions <span style="font-family: Courier New,Courier,monospace;">IBSET</span>, <span style="font-family: Courier New,Courier,monospace;">IBITS</span>, <span style="font-family: Courier New,Courier,monospace;">IAND</span>, <span style="font-family: Courier New,Courier,monospace;">IOR</span>, etc. can be used to manipulate the bits.</p><p style="line-height: 100%; font-weight: bold;"></p><p style="line-height: 100%; font-weight: bold;">Examples:</p><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">flags(k,j,i) = IBSET( flags(k,j,i), 6 )</span></div><p style="line-height: 100%;">sets the sixth bit of array element <span style="font-family: Courier New,Courier,monospace;">(k,j,i)</span> to "<span style="font-style: italic;">1</span>".</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">IBITS( flags(k,j,i), 4, 1 )</div><p style="line-height: 100%;">gives the<span style="font-family: Courier New,Courier,monospace;"> INTEGER </span>value "<span style="font-style: italic;">1</span>" if the fourth bit of array element <span style="font-family: Courier New,Courier,monospace;">(k,j,i)</span> is "<span style="font-style: italic;">1</span>", otherwise "<span style="font-style: italic;">0</span>".</p><p style="line-height: 100%;">Here is an example from routine <span style="font-family: Courier New,Courier,monospace;">redblack</span> (within <span style="font-family: Courier New,Courier,monospace;">poismg.f90</span>) which shows how <span style="font-family: Courier New,Courier,monospace;">IBITS</span> is used for implicit setting of Neumann boundary conditions:</p><p style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &amp;<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( p_mg(k,j,i) - p_mg(k,j,i+1) )&nbsp;</p><p style="line-height: 100%;">If there is no wall to the right of gridpoint <span style="font-family: Courier New,Courier,monospace;">(k,j,i)</span> the term results to <span style="font-family: Courier New,Courier,monospace;">p_mg(k,j,i+1)</span>, otherwise it gives <span style="font-family: Courier New,Courier,monospace;">p_mg(k,j,i)</span>.</p><br>The flag array <span style="font-family: Courier New,Courier,monospace;">flags</span> is calculated in routine <span style="font-family: Courier New,Courier,monospace;">init_grid</span> using the topography information stored in <span style="font-family: Courier New,Courier,monospace;">nzb_local</span>.
+Here also the flag arrays for the coarser grids needed for the
+multigrid scheme are calculated. This requires informations from a
+distance of more than one grid spacing away from the current gridpoint.
+Therfore, array <span style="font-family: Courier New,Courier,monospace;">nzb_local</span> had to be extended for further ghost point levels (see <span style="font-family: Courier New,Courier,monospace;">init_grid</span>).</body></html>
Index: palm/tags/release-3.7/EXAMPLES/building/example_building_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/building/example_building_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/building/example_building_p3d	(revision 393)
@@ -0,0 +1,51 @@
+ &inipar nx = 39, ny = 39, nz = 40,
+         dx = 2.0, dy = 2.0, dz = 2.0,
+
+         fft_method = 'temperton-algorithm',   ! fast, but restrictions apply
+
+         omega = 0.0,                          ! no Coriolis force
+         conserve_volume_flow = .T.,           ! maintain constant bulk velocity
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 1.0, vg_surface = 0.0,   ! implies bulk velocity 1 m/s
+         roughness_length = 0.1,               ! applies to all surfaces locally
+
+         bc_pt_b = 'neumann',
+         bc_uv_t = 'dirichlet_0',              ! channel flow boundary condition
+
+         topography = 'single_building',
+         topography_grid_convention = 'cell_edge',  ! default
+         building_height   = 40.0,
+         building_length_x = 40.0,
+         building_length_y = 40.0,
+
+         surface_heatflux = 0.0,               ! strictly neutral simulation
+         wall_heatflux = 0.0, 0.0, 0.0, 0.0, 0.0,  /
+
+ &d3par  end_time                  =   7200.0,
+         termination_time_needed   =    900.0,
+
+         create_disturbances = .T.,
+
+         netcdf_64bit = .F., netcdf_64bit_3d = .F.,
+
+         dt_run_control            =      6.0,
+         dt_dots                   =      6.0,
+
+         skip_time_dopr            =      0.0,
+         dt_dopr                   =   3600.0,
+         averaging_interval_pr     =   3600.0,
+         dt_averaging_input_pr     =      6.0,
+
+         skip_time_data_output     =      0.0,
+         dt_data_output            =   3600.0,
+
+         averaging_interval        =   3600.0,
+         dt_averaging_input        =      6.0,
+
+         data_output_pr = '#u', 'w"u"', 'w*u*', 'wu', 'u*2', 
+                          '#v', 'w"v"', 'w*v*', 'wv', 'v*2',
+                          'w', 'w*2', 'e', 'e*', '#km', '#l',
+
+         data_output = 'u',       'v',       'w',
+                       'u_av',    'v_av',    'w_av',  /
Index: palm/tags/release-3.7/EXAMPLES/building/example_building_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/building/example_building_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/building/example_building_rc	(revision 393)
@@ -0,0 +1,1407 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 244      *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              26-02-09         Run:       example_building    
+ Time:              23:13:19         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            2         Processor grid (x,y): (  1,  2) calculated
+                                     A 1d-decomposition along y is used
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> Volume flow at the right and north boundary will be conserved
+     using the initial_profiles mode
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:          7200.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =      2.000 m    dy =      2.000 m    dz =      2.000 m
+ Domain size:       x =     80.000 m     y =     80.000 m  z(u) =     81.000 m
+
+ Number of gridpoints (x,y,z):  (0:  39, 0:  39, 0:  41)
+ Subdomain size (x,y,z):        (    40,     20,     42)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: single_building                         
+ Building size (x/y/z) in m:  40.0 /  40.0 /  40.0
+ Horizontal index bounds (l/r/s/n):   10 /   30 /   10 /   30
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = 0                     | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.000000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =   1.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: u, w"u", w*u*, wu, u*2, v, w"v", w*v*, wv, v*2, w, w*2,      
+
+              : e, e*, km, l,                                                
+       Output every              3600.00 s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    3D-Arrays:
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    3D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 6.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.000E+00 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000000 1/s
+                            f*    =  0.000000 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            1.00    1.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0  m
+       Temperature:   300.00  300.00  K
+       Gradient:      ------    0.00  K/100m
+       Gridpoint:          0       0
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   ****** s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :     5.00 m (GP    3)
+    Upper disturbance level         :    25.00 m (GP   13)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ ##############################################################################
+
+ User-defined variables and actions:
+ -----------------------------------
+
+
+ Topography grid definition convention:
+
+ cell edge (staggered grid points
+ (u in x-direction, v in y-direction))
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   1.1800A   1.5209D -0.8116D -0.6272  0.000  0.00   0.000      0.  0.505E+00  0.279E-01  0.000E+00  0.000E+00    6  30  16    6  30  30   21  19  30    0.000    0.000       0
+  0      7 00:00:06.00   0.8230A   2.1872   1.8264   1.6576  0.075  0.00   0.000      0.  0.614E+00  0.650E-01  0.104E-02  0.291E-03    4  30  32   11  30   9   20  19   9    0.000    0.000       0
+  0     14 00:00:12.33   0.8950A   2.0118   1.7933   1.6229  0.078  0.00   0.000      0.  0.625E+00  0.737E-01  0.135E-02  0.311E-03   11  30  32    3  30   9   20  19   9    0.000    0.000       0
+  0     21 00:00:18.90   0.9310A   1.9336   1.7645   1.5593  0.082  0.00   0.000      0.  0.637E+00  0.826E-01  0.150E-02  0.297E-03   12  31  33    3  30   9   20  20   9    0.000    0.000       0
+  0     27 00:00:24.59   0.9770A   1.8430   1.6985   1.5343  0.084  0.00   0.000      0.  0.645E+00  0.889E-01  0.159E-02  0.299E-03    4  31  36    3  31   9   20  13   9    0.000    0.000       0
+  0     33 00:00:30.42   0.9870A   1.8246  -1.5734   1.5070  0.086  0.00   0.000      0.  0.653E+00  0.942E-01  0.151E-02  0.284E-03    3  30  37    3   9   9   20  26   9    0.000    0.000       0
+  0     39 00:00:36.42   0.9960A   1.8068  -1.6124   1.4638  0.086  0.00   0.000      0.  0.661E+00  0.987E-01  0.144E-02  0.267E-03    4  31  38    3   9   9   20  26   9    0.000    0.000       0
+  0     45 00:00:42.53   1.0200A   1.7618  -1.4645   1.4585  0.086  0.00   0.000      0.  0.667E+00  0.102E+00  0.140E-02  0.263E-03   12  33  19   19  10   9   20  11   9    0.000    0.000       0
+  0     51 00:00:48.60   1.0100A   1.7747  -1.4919   1.5427  0.087  0.00   0.000      0.  0.673E+00  0.105E+00  0.131E-02  0.248E-03    7   5  17   19  10   9   20  11   9    0.000    0.000       0
+  0     57 00:00:54.70   1.0300A   1.7497   1.4694   1.5475  0.087  0.00   0.000      0.  0.678E+00  0.108E+00  0.123E-02  0.237E-03    4   7  22   19  30   9   20  28   9    0.000    0.000       0
+  0     63 00:01:01.01   1.0700A   1.6811   1.2630   1.2985  0.087  0.00   0.000      0.  0.683E+00  0.110E+00  0.115E-02  0.205E-03    9  34  29   19  30   9   20  28   9    0.000    0.000       0
+  0     68 00:01:06.35   1.0700A   1.6808   1.0956  -1.0998  0.088  0.00   0.000      0.  0.687E+00  0.111E+00  0.105E-02  0.157E-03    9  34  34   19  30   9   10  11   9    0.000    0.000       0
+  0     74 00:01:12.66   1.0400A   1.7240  -0.8687  -1.1172  0.089  0.00   0.000      0.  0.690E+00  0.111E+00  0.923E-03  0.115E-03   10  33   0    3   7  38    9  27   9    0.000    0.000       0
+  0     80 00:01:18.74   1.0000A   1.7923  -0.7672  -1.1427  0.091  0.00   0.000      0.  0.691E+00  0.110E+00  0.831E-03  0.917E-04   10  34   3    3   5   1    9  27   9    0.000    0.000       0
+  0     86 00:01:24.78   1.0100A   1.7807  -0.7965  -1.1125  0.093  0.00   0.000      0.  0.692E+00  0.109E+00  0.834E-03  0.885E-04    8   5   7    7  11   1    8  13   9    0.000    0.000       0
+  0     92 00:01:30.76   0.9870A   1.8231   0.7923  -1.1065  0.095  0.00   0.000      0.  0.694E+00  0.108E+00  0.856E-03  0.961E-04    8   5  10    3  30   7    8  26   9    0.000    0.000       0
+  0     98 00:01:36.71   0.9980A   1.8035   0.8773  -1.1034  0.098  0.00   0.000      0.  0.695E+00  0.107E+00  0.913E-03  0.109E-03    8   3  12    3  30   7   11  19   8    0.000    0.000       0
+  0    104 00:01:42.73   1.0100A   1.7896  -0.9904  -1.1293  0.100  0.00   0.000      0.  0.697E+00  0.106E+00  0.926E-03  0.117E-03    9   2  10    2  10   9    9  20   8    0.000    0.000       0
+  0    110 00:01:48.69   0.9910A   1.8156  -1.1679  -1.1262  0.102  0.00   0.000      0.  0.699E+00  0.106E+00  0.909E-03  0.126E-03    9   2  13    2   8   9    9  13   8    0.000    0.000       0
+  0    116 00:01:54.66   1.0000A   1.7991  -1.3114  -1.1178  0.104  0.00   0.000      0.  0.701E+00  0.105E+00  0.948E-03  0.129E-03   10   3  14    1   8   9    7  13   8    0.000    0.000       0
+  0    122 00:02:00.58   0.9860A   1.8263   1.1571  -1.1324  0.104  0.00   0.000      0.  0.703E+00  0.105E+00  0.957E-03  0.116E-03   11   3  17    1  32   9    7  12   9    0.000    0.000       0
+  0    128 00:02:06.54   0.9970A   1.8050   1.3235  -1.1098  0.102  0.00   0.000      0.  0.705E+00  0.104E+00  0.988E-03  0.105E-03   11  36  19    9  13   9    6  12   9    0.000    0.000       0
+  0    134 00:02:12.53   1.0000A   1.7912   1.4762  -1.0953  0.100  0.00   0.000      0.  0.706E+00  0.104E+00  0.101E-02  0.104E-03   11  36  22   10  15   9    6  13   9    0.000    0.000       0
+  0    140 00:02:18.59   1.0200A   1.7722   1.4469  -1.1100  0.098  0.00   0.000      0.  0.707E+00  0.103E+00  0.108E-02  0.105E-03   11  36  26   10  17   9    5  14   9    0.000    0.000       0
+  0    146 00:02:24.60   0.9980A   1.8029   1.4725  -1.0470  0.097  0.00   0.000      0.  0.708E+00  0.104E+00  0.111E-02  0.105E-03   12   7  15    9  17   8    3  20   9    0.000    0.000       0
+  0    152 00:02:30.40   0.9330A   1.9302  -1.2789  -1.1176  0.096  0.00   0.000      0.  0.710E+00  0.104E+00  0.107E-02  0.102E-03    8   6  27    8  25   9    5  20   8    0.000    0.000       0
+  0    158 00:02:36.10   0.9660A   1.8625  -1.2717   1.2075  0.095  0.00   0.000      0.  0.711E+00  0.104E+00  0.110E-02  0.967E-04    8   6  30    8  25   9   20  19   9    0.000    0.000       0
+  0    165 00:02:42.91   0.9850A   1.8268   1.1448   1.2813  0.093  0.00   0.000      0.  0.711E+00  0.103E+00  0.111E-02  0.883E-04   13  31  31    8  15   5   21  20   9    0.000    0.000       0
+  0    171 00:02:48.74   0.9750A   1.8466  -1.1214   1.1441  0.092  0.00   0.000      0.  0.712E+00  0.103E+00  0.111E-02  0.781E-04   13  31  34    7  24   8   22  20   9    0.000    0.000       0
+  0    177 00:02:54.55   0.9630A   1.8689   1.0016   1.0119  0.092  0.00   0.000      0.  0.711E+00  0.101E+00  0.111E-02  0.721E-04    9   7  34    8  17   6   21  20   9    0.000    0.000       0
+  0    183 00:03:00.36   0.9740A   1.8488   1.0104   1.0121  0.093  0.00   0.000      0.  0.711E+00  0.100E+00  0.113E-02  0.811E-04   12  31  36   10  17   4    6  19  30    0.000    0.000       0
+  0    190 00:03:06.90   0.9330A   1.9288   0.9550  -1.0825  0.094  0.00   0.000      0.  0.712E+00  0.999E-01  0.112E-02  0.945E-04   20   8  39    8  16   7    3  29   9    0.000    0.000       0
+  0    196 00:03:12.25   0.8760A   2.0557   1.0636  -1.1241  0.094  0.00   0.000      0.  0.714E+00  0.100E+00  0.106E-02  0.103E-03   20   8   3    7  16   8    3  28   9    0.000    0.000       0
+  0    203 00:03:18.37   0.8830A   2.0384   1.0361  -1.0399  0.094  0.00   0.000      0.  0.717E+00  0.101E+00  0.110E-02  0.107E-03   20   8   6    7  17   8    5  28   9    0.000    0.000       0
+  0    210 00:03:24.55   0.8870A   2.0290   1.2231  -1.0549  0.093  0.00   0.000      0.  0.719E+00  0.102E+00  0.110E-02  0.941E-04   20   8  10   10  13   9    4  28   9    0.000    0.000       0
+  0    217 00:03:30.82   0.8980A   2.0055  -1.3136   0.9809  0.092  0.00   0.000      0.  0.720E+00  0.103E+00  0.111E-02  0.890E-04   20   8  14   11  24   9   16  27   9    0.000    0.000       0
+  0    223 00:03:36.31   0.8930A   2.0153  -1.3077   0.9552  0.091  0.00   0.000      0.  0.721E+00  0.103E+00  0.109E-02  0.812E-04   22  29   5   11  23   9   17  27   9    0.000    0.000       0
+  0    230 00:03:42.60   0.9220A   1.9514  -1.1783   0.8952  0.089  0.00   0.000      0.  0.720E+00  0.102E+00  0.109E-02  0.748E-04   31  19  12   10  22   9   22  19   7    0.000    0.000       0
+  0    236 00:03:48.12   0.9220A   1.9518  -1.0792   1.1106  0.087  0.00   0.000      0.  0.719E+00  0.101E+00  0.108E-02  0.696E-04   32  20  15    8  23   9   20  24   9    0.000    0.000       0
+  0    243 00:03:54.53   0.9260A   1.9436  -1.1137   1.0717  0.085  0.00   0.000      0.  0.717E+00  0.990E-01  0.107E-02  0.658E-04   32  20  20    7  23   9   22  19   9    0.000    0.000       0
+  0    249 00:04:00.02   0.9170A   1.9635  -1.1427   1.1461  0.083  0.00   0.000      0.  0.716E+00  0.979E-01  0.108E-02  0.773E-04   22  31  17    6  24   8   23  19   9    0.000    0.000       0
+  0    256 00:04:06.39   0.9240A   1.9491  -1.0332   0.9676  0.083  0.00   0.000      0.  0.716E+00  0.974E-01  0.109E-02  0.815E-04   22  31  22    6  22   8   24  19   9    0.000    0.000       0
+  0    263 00:04:12.90   0.9320A   1.9310   0.9579   0.8895  0.083  0.00   0.000      0.  0.716E+00  0.972E-01  0.110E-02  0.813E-04   24  15  19    6  24   4   20  21   9    0.000    0.000       0
+  0    269 00:04:18.44   0.9040A   1.9902  -0.9274  -0.8377  0.084  0.00   0.000      0.  0.718E+00  0.975E-01  0.108E-02  0.833E-04   22   8  27   21  19   8    6  29   9    0.000    0.000       0
+  0    276 00:04:24.87   0.9250A   1.9469  -0.8820  -0.9397  0.085  0.00   0.000      0.  0.720E+00  0.982E-01  0.112E-02  0.874E-04    8   6  21   20  19   7    6  28   9    0.000    0.000       0
+  0    282 00:04:30.34   0.9090A   1.9797   0.8880  -1.0201  0.086  0.00   0.000      0.  0.723E+00  0.990E-01  0.112E-02  0.868E-04   32  21   7    9  30   9    5  28   9    0.000    0.000       0
+  0    289 00:04:36.71   0.9100A   1.9773   1.0045   1.1859  0.087  0.00   0.000      0.  0.725E+00  0.997E-01  0.113E-02  0.830E-04   15  34  20   14  13   9   18  29   9    0.000    0.000       0
+  0    295 00:04:42.16   0.9030A   1.9933   1.1270   1.1756  0.086  0.00   0.000      0.  0.726E+00  0.996E-01  0.113E-02  0.791E-04   16  35  22   14  14   9   20  28   9    0.000    0.000       0
+  0    302 00:04:48.40   0.8800A   2.0457  -1.1387   1.2128  0.085  0.00   0.000      0.  0.726E+00  0.989E-01  0.108E-02  0.759E-04   15  34  29   14  26   9   21  27   9    0.000    0.000       0
+  0    309 00:04:54.59   0.8910A   2.0210  -1.0281   1.1055  0.084  0.00   0.000      0.  0.725E+00  0.976E-01  0.109E-02  0.788E-04   15  34  34   14  25   9   21  26   9    0.000    0.000       0
+  0    316 00:05:00.91   0.9180A   1.9598  -0.9201   1.1449  0.083  0.00   0.000      0.  0.724E+00  0.959E-01  0.110E-02  0.829E-04   23  14  13    8  24   9   20  25   9    0.000    0.000       0
+  0    322 00:05:06.36   0.9020A   1.9959  -0.8442  -0.9110  0.084  0.00   0.000      0.  0.722E+00  0.945E-01  0.107E-02  0.818E-04   20  33  19    7  24   9   16  25   7    0.000    0.000       0
+  0    329 00:05:12.60   0.8800A   2.0466   0.8335  -0.9469  0.086  0.00   0.000      0.  0.722E+00  0.932E-01  0.101E-02  0.794E-04   24  33  33   11  30   9   15  22   9    0.000    0.000       0
+  0    336 00:05:18.77   0.8790A   2.0471   0.8579  -1.0573  0.088  0.00   0.000      0.  0.721E+00  0.920E-01  0.968E-03  0.701E-04   24  33  38   20  21   8   16  16   9    0.000    0.000       0
+  0    342 00:05:24.12   0.8990A   2.0030  -0.7671  -1.0337  0.090  0.00   0.000      0.  0.721E+00  0.911E-01  0.969E-03  0.693E-04   24  33   2   18  27   7   15  16   9    0.000    0.000       0
+  0    349 00:05:30.49   0.8980A   2.0048  -0.8518  -1.0058  0.091  0.00   0.000      0.  0.722E+00  0.901E-01  0.961E-03  0.672E-04   24  24  22   20  20   8   15  19   9    0.000    0.000       0
+  0    356 00:05:36.74   0.8870A   2.0303   0.8225   1.1779  0.091  0.00   0.000      0.  0.722E+00  0.893E-01  0.933E-03  0.622E-04   24  24  26   17  10   4   20  10   9    0.000    0.000       0
+  0    362 00:05:42.12   0.9070A   1.9847  -0.9229   1.2811  0.090  0.00   0.000      0.  0.723E+00  0.887E-01  0.962E-03  0.677E-04   24  24  29   18  26   9   20  10   9    0.000    0.000       0
+  0    369 00:05:48.47   0.9050A   1.9880  -1.1147   1.2656  0.089  0.00   0.000      0.  0.724E+00  0.884E-01  0.972E-03  0.774E-04   21  34  11   16  27   9   20  12   9    0.000    0.000       0
+  0    376 00:05:54.70   0.8790A   2.0478  -1.1890  -1.0301  0.087  0.00   0.000      0.  0.726E+00  0.883E-01  0.939E-03  0.716E-04   21  34  16   15  27   9   10  18   8    0.000    0.000       0
+  0    383 00:06:00.84   0.8720A   2.0644  -1.2075  -1.0146  0.086  0.00   0.000      0.  0.727E+00  0.879E-01  0.918E-03  0.619E-04   19  31  35   12  25   9    8  18   8    0.000    0.000       0
+  0    389 00:06:06.06   0.8700A   2.0686  -1.1291  -1.0088  0.086  0.00   0.000      0.  0.727E+00  0.871E-01  0.912E-03  0.586E-04   24  10   4   11  27   9    7  18   8    0.000    0.000       0
+  0    396 00:06:12.08   0.8730A   2.0609  -1.1382  -0.9867  0.086  0.00   0.000      0.  0.727E+00  0.857E-01  0.909E-03  0.614E-04   24  10   8   11  26   9   14  10   8    0.000    0.000       0
+  0    403 00:06:18.18   0.8790A   2.0466  -1.0595  -1.1122  0.087  0.00   0.000      0.  0.726E+00  0.843E-01  0.920E-03  0.653E-04   30  26  24   10  24   9    8  17   7    0.000    0.000       0
+  0    410 00:06:24.20   0.8510A   2.1154  -0.9164  -1.1200  0.089  0.00   0.000      0.  0.725E+00  0.828E-01  0.870E-03  0.552E-04   30  26  29   11  23   9    6  17   6    0.000    0.000       0
+  0    417 00:06:30.25   0.8690A   2.0716  -0.8061  -1.1039  0.090  0.00   0.000      0.  0.723E+00  0.810E-01  0.861E-03  0.513E-04   30  25  33    5  24   9   17  23   9    0.000    0.000       0
+  0    424 00:06:36.29   0.8680A   2.0730  -0.7543  -1.1642  0.089  0.00   0.000      0.  0.722E+00  0.794E-01  0.846E-03  0.538E-04   30  25  39    5  22   9   16  23   9    0.000    0.000       0
+  0    431 00:06:42.40   0.8920A   2.0177   0.7067  -1.0211  0.089  0.00   0.000      0.  0.721E+00  0.781E-01  0.852E-03  0.561E-04   30  25   4   11  19   3   15  20   9    0.000    0.000       0
+  0    438 00:06:48.62   0.8810A   2.0427   0.7647   1.0313  0.089  0.00   0.000      0.  0.720E+00  0.772E-01  0.831E-03  0.560E-04   30  28   6   19  13   9   20  12   9    0.000    0.000       0
+  0    445 00:06:54.76   0.8750A   2.0571   0.8148   1.0120  0.088  0.00   0.000      0.  0.720E+00  0.767E-01  0.816E-03  0.604E-04   30  28  11   19  14   9   20  12   9    0.000    0.000       0
+  0    451 00:07:00.01   0.8770A   2.0523   0.8653   1.0328  0.087  0.00   0.000      0.  0.721E+00  0.768E-01  0.828E-03  0.687E-04   30  28  16   16  14   9   20  12   9    0.000    0.000       0
+  0    458 00:07:06.16   0.8820A   2.0404   1.1442   1.0136  0.085  0.00   0.000      0.  0.722E+00  0.774E-01  0.862E-03  0.753E-04   25  10  13   12  13   9   20  12   9    0.000    0.000       0
+  0    465 00:07:12.31   0.8610A   2.0898   1.2405  -0.9829  0.083  0.00   0.000      0.  0.724E+00  0.781E-01  0.871E-03  0.799E-04   27  33  27   11  14   9    8  12   9    0.000    0.000       0
+  0    472 00:07:18.28   0.8460A   2.1289   1.1750   1.0537  0.081  0.00   0.000      0.  0.727E+00  0.786E-01  0.868E-03  0.796E-04   27  33  32   12  17   9   20  28   9    0.000    0.000       0
+  0    479 00:07:24.20   0.8500A   2.1175   1.0697   1.0005  0.080  0.00   0.000      0.  0.728E+00  0.788E-01  0.874E-03  0.768E-04   27  33  37   12  17   9   20  24   9    0.000    0.000       0
+  0    486 00:07:30.22   0.8630A   2.0857  -1.0376   0.9582  0.078  0.00   0.000      0.  0.729E+00  0.785E-01  0.863E-03  0.704E-04   26  14  32   10  25   9   21  24   9    0.000    0.000       0
+  0    493 00:07:36.17   0.8500A   2.1173  -1.0624  -0.9263  0.077  0.00   0.000      0.  0.730E+00  0.778E-01  0.836E-03  0.645E-04   28  33   7   10  27   9   16  18   9    0.000    0.000       0
+  0    500 00:07:42.09   0.8500A   2.1166  -1.0402  -1.0297  0.076  0.00   0.000      0.  0.729E+00  0.769E-01  0.805E-03  0.531E-04   28  33  12    9  26   9   15  19   9    0.000    0.000       0
+  0    507 00:07:48.08   0.8630A   2.0859  -0.8907  -1.1279  0.077  0.00   0.000      0.  0.729E+00  0.757E-01  0.806E-03  0.550E-04   28  33  17    8  24   9   15  20   9    0.000    0.000       0
+  0    514 00:07:54.09   0.8530A   2.1100   0.8969  -1.0444  0.078  0.00   0.000      0.  0.729E+00  0.748E-01  0.799E-03  0.602E-04   24  31  14   20  31   9   13  20   9    0.000    0.000       0
+  0    522 00:08:00.73   0.8140A   2.2103   0.7705  -0.9519  0.079  0.00   0.000      0.  0.729E+00  0.740E-01  0.754E-03  0.537E-04   24  31  18    7  14   9   16  23   9    0.000    0.000       0
+  0    529 00:08:06.48   0.8210A   2.1912   0.7562  -0.9281  0.080  0.00   0.000      0.  0.729E+00  0.734E-01  0.744E-03  0.492E-04   24  31  22   20  12   8   17  14   9    0.000    0.000       0
+  0    536 00:08:12.32   0.8370A   2.1515   0.7702  -0.8423  0.080  0.00   0.000      0.  0.729E+00  0.730E-01  0.744E-03  0.466E-04   24  31  27    7  14   9   15  14   9    0.000    0.000       0
+  0    543 00:08:18.18   0.8300A   2.1677   0.7248  -0.8234  0.079  0.00   0.000      0.  0.730E+00  0.729E-01  0.736E-03  0.494E-04   22   7   9    7  15   9    8  20   5    0.000    0.000       0
+  0    551 00:08:24.79   0.8340A   2.1590   0.8336  -0.8038  0.078  0.00   0.000      0.  0.730E+00  0.730E-01  0.748E-03  0.509E-04   22   7  14   16  12   9    8  22   6    0.000    0.000       0
+  0    558 00:08:30.65   0.8400A   2.1425   1.0575  -0.9136  0.077  0.00   0.000      0.  0.731E+00  0.732E-01  0.759E-03  0.516E-04   30  32  14   18  13   9    7  22   5    0.000    0.000       0
+  0    565 00:08:36.53   0.8420A   2.1366   1.0099   0.8078  0.075  0.00   0.000      0.  0.732E+00  0.733E-01  0.756E-03  0.501E-04   30  32  19   17  14   9   20  26   9    0.000    0.000       0
+  0    572 00:08:42.42   0.8340A   2.1586   0.9470  -1.0016  0.074  0.00   0.000      0.  0.733E+00  0.733E-01  0.753E-03  0.477E-04   21   7  28   16  15   9    7  29   8    0.000    0.000       0
+  0    579 00:08:48.22   0.8330A   2.1603   0.8792  -1.0365  0.073  0.00   0.000      0.  0.733E+00  0.731E-01  0.763E-03  0.481E-04   21   7  33   15  13   9    6  28   8    0.000    0.000       0
+  0    586 00:08:54.02   0.8300A   2.1690   1.0399  -0.9574  0.072  0.00   0.000      0.  0.733E+00  0.728E-01  0.767E-03  0.506E-04   21   7  38   14  14   9    5  27   8    0.000    0.000       0
+  0    594 00:09:00.84   0.8570A   2.1012   1.0385  -0.8851  0.072  0.00   0.000      0.  0.732E+00  0.724E-01  0.810E-03  0.584E-04   27   4   3   15  15   9    3  26   8    0.000    0.000       0
+  0    601 00:09:06.78   0.8440A   2.1327   0.9675  -0.8080  0.073  0.00   0.000      0.  0.732E+00  0.722E-01  0.820E-03  0.610E-04   20   7   8   15  16   9    2  25   8    0.000    0.000       0
+  0    608 00:09:12.67   0.8460A   2.1274   0.9602   0.8408  0.074  0.00   0.000      0.  0.733E+00  0.720E-01  0.836E-03  0.611E-04   20   7  13   19  30   9   20  15   9    0.000    0.000       0
+  0    615 00:09:18.59   0.8430A   2.1346   0.8979  -0.9760  0.076  0.00   0.000      0.  0.733E+00  0.719E-01  0.833E-03  0.584E-04   25  14   0   18  30   9   17  25   9    0.000    0.000       0
+  0    622 00:09:24.54   0.8520A   2.1118   0.8386  -0.9244  0.078  0.00   0.000      0.  0.734E+00  0.719E-01  0.832E-03  0.558E-04   26   4  23   17  30   9   16  24   9    0.000    0.000       0
+  0    629 00:09:30.49   0.8480A   2.1224  -0.9546  -0.8779  0.080  0.00   0.000      0.  0.735E+00  0.721E-01  0.818E-03  0.539E-04   34  30  27   20  25   6    8  13   9    0.000    0.000       0
+  0    636 00:09:36.41   0.8440A   2.1330   0.8358  -0.9248  0.080  0.00   0.000      0.  0.736E+00  0.724E-01  0.804E-03  0.536E-04   32  28  31   13  16   9    7  13   9    0.000    0.000       0
+  0    643 00:09:42.33   0.8440A   2.1331   0.8981  -0.8754  0.080  0.00   0.000      0.  0.738E+00  0.726E-01  0.790E-03  0.488E-04   26  30  20    9  10   8    6  13   9    0.000    0.000       0
+  0    650 00:09:48.25   0.8440A   2.1321   0.9465   0.8950  0.079  0.00   0.000      0.  0.738E+00  0.725E-01  0.785E-03  0.494E-04   27  33  31   10  14   9   20  27   9    0.000    0.000       0
+  0    657 00:09:54.16   0.8430A   2.1342   0.9186  -0.9106  0.078  0.00   0.000      0.  0.738E+00  0.723E-01  0.796E-03  0.559E-04   33  28   7    9  15   9    8  26   9    0.000    0.000       0
+  0    665 00:10:00.78   0.8270A   2.1772  -0.8437  -0.9434  0.076  0.00   0.000      0.  0.739E+00  0.723E-01  0.795E-03  0.612E-04   21  32   1   16  26   9    7  26   9    0.000    0.000       0
+  0    672 00:10:06.58   0.8380A   2.1479  -0.8665  -0.9613  0.075  0.00   0.000      0.  0.740E+00  0.724E-01  0.811E-03  0.603E-04   33  28  18   13  25   9    6  26   9    0.000    0.000       0
+  0    679 00:10:12.45   0.8370A   2.1507  -0.9222  -0.9835  0.074  0.00   0.000      0.  0.740E+00  0.722E-01  0.807E-03  0.543E-04   27  32  11    8  27   9    5  26   9    0.000    0.000       0
+  0    686 00:10:18.35   0.8430A   2.1365  -0.9222  -0.9580  0.074  0.00   0.000      0.  0.740E+00  0.718E-01  0.793E-03  0.505E-04   29  25  28    7  26   9    5  26   9    0.000    0.000       0
+  0    693 00:10:24.11   0.8100A   2.2209  -0.8439  -0.8790  0.074  0.00   0.000      0.  0.740E+00  0.714E-01  0.761E-03  0.534E-04   26  32  20    7  26   9    4  25   9    0.000    0.000       0
+  0    701 00:10:30.66   0.8290A   2.1709   0.8248  -0.8057  0.074  0.00   0.000      0.  0.741E+00  0.714E-01  0.764E-03  0.517E-04   26  32  25    2  27   5    4  26   9    0.000    0.000       0
+  0    708 00:10:36.51   0.8350A   2.1558   0.8015  -0.7587  0.074  0.00   0.000      0.  0.741E+00  0.715E-01  0.763E-03  0.496E-04   22  31  34    2  28   5    7  20   4    0.000    0.000       0
+  0    715 00:10:42.36   0.8420A   2.1381   0.7880  -0.7989  0.074  0.00   0.000      0.  0.741E+00  0.718E-01  0.772E-03  0.542E-04   27   3  18    2  29   4    6  20   3    0.000    0.000       0
+  0    722 00:10:48.18   0.8320A   2.1630  -1.0540  -0.8132  0.075  0.00   0.000      0.  0.742E+00  0.721E-01  0.764E-03  0.517E-04   22  31   4   21  26   8    5  20   3    0.000    0.000       0
+  0    729 00:10:54.05   0.8420A   2.1390  -1.1146   0.8466  0.075  0.00   0.000      0.  0.742E+00  0.722E-01  0.772E-03  0.473E-04   28   2   5   20  26   8   20  29   9    0.000    0.000       0
+  0    737 00:11:00.74   0.8370A   2.1512  -1.2212   0.8961  0.074  0.00   0.000      0.  0.742E+00  0.722E-01  0.772E-03  0.489E-04   28   2  11   20  23   8   20  29   9    0.000    0.000       0
+  0    744 00:11:06.58   0.8340A   2.1592  -0.8758  -0.8155  0.073  0.00   0.000      0.  0.742E+00  0.721E-01  0.764E-03  0.480E-04   28   2  16   18  28   9   16  20   9    0.000    0.000       0
+  0    751 00:11:12.42   0.8320A   2.1640  -0.9177  -0.7904  0.072  0.00   0.000      0.  0.741E+00  0.721E-01  0.759E-03  0.477E-04   29   0  19   17  27   9   15  20   9    0.000    0.000       0
+  0    758 00:11:18.24   0.8320A   2.1647  -0.8705  -0.7529  0.070  0.00   0.000      0.  0.741E+00  0.722E-01  0.767E-03  0.521E-04   29   0  24   17  26   9   14  20   9    0.000    0.000       0
+  0    765 00:11:24.05   0.8300A   2.1682  -0.8827   0.8452  0.069  0.00   0.000      0.  0.742E+00  0.726E-01  0.785E-03  0.587E-04   29   0  30   16  25   9   20  13   9    0.000    0.000       0
+  0    773 00:11:30.68   0.8300A   2.1697  -0.9005   0.9224  0.068  0.00   0.000      0.  0.743E+00  0.735E-01  0.804E-03  0.650E-04   29   0  36   16  24   9   20  14   9    0.000    0.000       0
+  0    780 00:11:36.49   0.8290A   2.1712  -0.9261   0.8045  0.068  0.00   0.000      0.  0.744E+00  0.743E-01  0.809E-03  0.665E-04   29   0   1   15  24   9   20  23   9    0.000    0.000       0
+  0    787 00:11:42.31   0.8310A   2.1653  -0.9725   0.8492  0.068  0.00   0.000      0.  0.745E+00  0.752E-01  0.815E-03  0.664E-04   29   0   6   14  23   9   20  22   9    0.000    0.000       0
+  0    794 00:11:48.12   0.8300A   2.1692  -0.9505   0.9672  0.069  0.00   0.000      0.  0.746E+00  0.758E-01  0.803E-03  0.605E-04   29   0  12   14  24   8   20  23   9    0.000    0.000       0
+  0    802 00:11:54.74   0.8270A   2.1765  -1.0024   0.9383  0.070  0.00   0.000      0.  0.747E+00  0.763E-01  0.805E-03  0.584E-04   27   1  19   15  24   9   20  21   9    0.000    0.000       0
+  0    809 00:12:00.50   0.8200A   2.1955  -0.9669  -1.0407  0.071  0.00   0.000      0.  0.748E+00  0.766E-01  0.798E-03  0.564E-04   27   1  25   10  24   9   17  17   9    0.000    0.000       0
+  0    816 00:12:06.23   0.8160A   2.2062  -1.0016  -0.8611  0.072  0.00   0.000      0.  0.748E+00  0.767E-01  0.791E-03  0.530E-04   27   1  30   13  25   9   17  16   9    0.000    0.000       0
+  0    824 00:12:12.77   0.8180A   2.2010  -0.9426  -0.7532  0.074  0.00   0.000      0.  0.748E+00  0.767E-01  0.795E-03  0.500E-04   27   1  36   11  24   9   16  15   9    0.000    0.000       0
+  0    831 00:12:18.53   0.8260A   2.1781   0.9353   0.7945  0.075  0.00   0.000      0.  0.749E+00  0.766E-01  0.796E-03  0.501E-04   27   1   1   11  13   9   20  11   9    0.000    0.000       0
+  0    838 00:12:24.34   0.8310A   2.1672   0.9558   0.8236  0.074  0.00   0.000      0.  0.749E+00  0.766E-01  0.794E-03  0.508E-04   21  31  34   11  14   9   20  11   9    0.000    0.000       0
+  0    845 00:12:30.16   0.8340A   2.1585   0.8517   0.8798  0.074  0.00   0.000      0.  0.749E+00  0.764E-01  0.784E-03  0.505E-04   28  37   7   11  16   9   21  11   9    0.000    0.000       0
+  0    853 00:12:36.82   0.8330A   2.1617  -0.8148   0.7863  0.075  0.00   0.000      0.  0.749E+00  0.762E-01  0.770E-03  0.477E-04   31  29   0   15  26   9   21  11   9    0.000    0.000       0
+  0    860 00:12:42.64   0.8230A   2.1874  -0.8745  -0.7563  0.075  0.00   0.000      0.  0.748E+00  0.756E-01  0.741E-03  0.403E-04   23   2   3   13  26   9   10  28   9    0.000    0.000       0
+  0    867 00:12:48.27   0.7920A   2.2714  -0.8956  -0.7637  0.075  0.00   0.000      0.  0.747E+00  0.749E-01  0.700E-03  0.375E-04   23   2   8   13  25   9   10  27   9    0.000    0.000       0
+  0    875 00:12:54.65   0.8020A   2.2441  -0.8883  -0.7734  0.075  0.00   0.000      0.  0.746E+00  0.743E-01  0.707E-03  0.398E-04   23   2  13   13  24   9    8  27   9    0.000    0.000       0
+  0    882 00:13:00.30   0.8130A   2.2144  -0.8236  -0.7710  0.075  0.00   0.000      0.  0.746E+00  0.740E-01  0.724E-03  0.448E-04   36  28  26   13  23   9    8  27   9    0.000    0.000       0
+  0    890 00:13:06.69   0.8060A   2.2333  -0.7396  -0.8070  0.076  0.00   0.000      0.  0.746E+00  0.742E-01  0.738E-03  0.491E-04   26   1  12   13  23   9   13  17   8    0.000    0.000       0
+  0    897 00:13:12.27   0.7860A   2.2911   0.7894  -0.8228  0.076  0.00   0.000      0.  0.747E+00  0.745E-01  0.728E-03  0.493E-04   29  25  38   20  20   8   12  17   8    0.000    0.000       0
+  0    905 00:13:18.53   0.7830A   2.2979  -0.7260  -0.8332  0.076  0.00   0.000      0.  0.747E+00  0.750E-01  0.726E-03  0.474E-04   29  25   4   13  25   9   17  15   9    0.000    0.000       0
+  0    912 00:13:24.12   0.8010A   2.2477  -0.7166  -0.8832  0.075  0.00   0.000      0.  0.747E+00  0.754E-01  0.753E-03  0.493E-04   29  24   8   13  24   9   16  16   9    0.000    0.000       0
+  0    920 00:13:30.42   0.7840A   2.2968   0.7945   0.9155  0.074  0.00   0.000      0.  0.748E+00  0.761E-01  0.749E-03  0.510E-04   29  24  14   13  13   9   20  11   9    0.000    0.000       0
+  0    928 00:13:36.72   0.7910A   2.2768   0.9208  -0.8562  0.074  0.00   0.000      0.  0.749E+00  0.767E-01  0.755E-03  0.498E-04   29  26  18   13  14   9   10  16   7    0.000    0.000       0
+  0    935 00:13:42.27   0.7900A   2.2799   0.8927   0.9182  0.074  0.00   0.000      0.  0.749E+00  0.771E-01  0.753E-03  0.469E-04   24   1  10   12  15   9   20  12   9    0.000    0.000       0
+  0    943 00:13:48.61   0.7870A   2.2868  -0.8795   0.8218  0.074  0.00   0.000      0.  0.749E+00  0.774E-01  0.745E-03  0.435E-04   29  25  28   12  25   9   20  13   9    0.000    0.000       0
+  0    950 00:13:54.06   0.7760A   2.3188  -0.8252  -0.8486  0.073  0.00   0.000      0.  0.749E+00  0.776E-01  0.729E-03  0.438E-04   23   1  20   12  24   9    8  17   9    0.000    0.000       0
+  0    958 00:14:00.31   0.7850A   2.2916  -0.7855  -0.8553  0.073  0.00   0.000      0.  0.748E+00  0.776E-01  0.744E-03  0.452E-04   23   1  25   20  10   9    7  17   9    0.000    0.000       0
+  0    966 00:14:06.74   0.8120A   2.2165  -0.8341  -0.8004  0.073  0.00   0.000      0.  0.748E+00  0.777E-01  0.778E-03  0.502E-04   35   1  39   10  26   9    7  16   2    0.000    0.000       0
+  0    973 00:14:12.42   0.8090A   2.2262  -0.8209  -0.7758  0.073  0.00   0.000      0.  0.747E+00  0.779E-01  0.785E-03  0.483E-04   23   0  35   10  26   9    8  18   8    0.000    0.000       0
+  0    980 00:14:18.11   0.8130A   2.2135  -0.7438   0.8907  0.073  0.00   0.000      0.  0.747E+00  0.780E-01  0.795E-03  0.471E-04   23   0   0   10  24   9   20  29   9    0.000    0.000       0
+  0    988 00:14:24.54   0.7960A   2.2616   0.7006   0.9041  0.073  0.00   0.000      0.  0.746E+00  0.785E-01  0.794E-03  0.495E-04   25   0   5   12  15   9   20  27   9    0.000    0.000       0
+  0    995 00:14:30.10   0.7910A   2.2767   0.7296   0.9219  0.073  0.00   0.000      0.  0.747E+00  0.792E-01  0.803E-03  0.533E-04   25   0  10   12  16   9   20  28   9    0.000    0.000       0
+  0   1003 00:14:36.46   0.7970A   2.2595  -0.7763   0.9073  0.074  0.00   0.000      0.  0.748E+00  0.803E-01  0.824E-03  0.562E-04   25   0  20   17  27   9   20  12   9    0.000    0.000       0
+  0   1010 00:14:42.03   0.7950A   2.2642   0.8309   0.8311  0.075  0.00   0.000      0.  0.749E+00  0.813E-01  0.823E-03  0.535E-04   25   0  25   12  14   9   20  13   9    0.000    0.000       0
+  0   1018 00:14:48.36   0.7840A   2.2952   0.8874   0.9377  0.076  0.00   0.000      0.  0.750E+00  0.823E-01  0.806E-03  0.510E-04   26  28  37   12  15   9   20  24   9    0.000    0.000       0
+  0   1026 00:14:54.66   0.7910A   2.2761  -0.8486   0.9366  0.077  0.00   0.000      0.  0.751E+00  0.831E-01  0.818E-03  0.536E-04   26  28   3   20  10   9   21  24   9    0.000    0.000       0
+  0   1033 00:15:00.20   0.7920A   2.2737   0.8161   0.8952  0.077  0.00   0.000      0.  0.751E+00  0.835E-01  0.828E-03  0.516E-04   27   0   0   11  15   9   21  24   9    0.000    0.000       0
+  0   1041 00:15:06.48   0.7810A   2.3036  -0.8312  -0.7822  0.078  0.00   0.000      0.  0.751E+00  0.837E-01  0.823E-03  0.509E-04   26  28  17   10  25   9    6  29   9    0.000    0.000       0
+  0   1049 00:15:12.74   0.7810A   2.3043  -0.9016  -0.8795  0.077  0.00   0.000      0.  0.751E+00  0.839E-01  0.831E-03  0.482E-04   31  39  11   10  24   9    6  28   9    0.000    0.000       0
+  0   1056 00:15:18.19   0.7760A   2.3192  -0.8805  -0.8603  0.076  0.00   0.000      0.  0.750E+00  0.839E-01  0.824E-03  0.433E-04   28  28  27   10  23   9    5  28   9    0.000    0.000       0
+  0   1064 00:15:24.39   0.7790A   2.3116  -0.8038  -0.8394  0.076  0.00   0.000      0.  0.748E+00  0.838E-01  0.824E-03  0.405E-04   28  28  32    9  23   9   14  18   9    0.000    0.000       0
+  0   1072 00:15:30.66   0.7830A   2.2998  -0.7778  -0.7807  0.076  0.00   0.000      0.  0.747E+00  0.837E-01  0.833E-03  0.393E-04   30  38  26   17  10   9   13  18   9    0.000    0.000       0
+  0   1079 00:15:36.16   0.7810A   2.3060  -0.7722  -0.7866  0.076  0.00   0.000      0.  0.746E+00  0.836E-01  0.840E-03  0.389E-04   28  28   4   17  10   9   17  22   9    0.000    0.000       0
+  0   1087 00:15:42.38   0.7770A   2.3152  -0.7253  -0.8583  0.077  0.00   0.000      0.  0.745E+00  0.838E-01  0.873E-03  0.487E-04   28  28  10   17  10   9   17  19   9    0.000    0.000       0
+  0   1095 00:15:48.44   0.7590A   2.3727   0.8903  -0.9845  0.078  0.00   0.000      0.  0.745E+00  0.844E-01  0.881E-03  0.552E-04   28  28  15    8  30   9   16  19   9    0.000    0.000       0
+  0   1103 00:15:54.51   0.7680A   2.3445   0.9200  -1.0710  0.079  0.00   0.000      0.  0.746E+00  0.852E-01  0.903E-03  0.574E-04   28  28  19   20  15   8    7  29   8    0.000    0.000       0
+  0   1110 00:16:00.01   0.7890A   2.2808   0.7427  -0.9558  0.079  0.00   0.000      0.  0.747E+00  0.859E-01  0.916E-03  0.531E-04   28  32  14   20  17   8    5  29   8    0.000    0.000       0
+  0   1118 00:16:06.37   0.7950A   2.2632  -0.9157  -0.9508  0.078  0.00   0.000      0.  0.747E+00  0.863E-01  0.903E-03  0.489E-04   32  25   1   13  27   9    3  29   9    0.000    0.000       0
+  0   1126 00:16:12.52   0.7660A   2.3486  -0.8654   0.9318  0.077  0.00   0.000      0.  0.746E+00  0.864E-01  0.865E-03  0.459E-04   22  30  32   13  26   9   20  14   9    0.000    0.000       0
+  0   1134 00:16:18.66   0.7790A   2.3105  -0.8485   0.8503  0.076  0.00   0.000      0.  0.746E+00  0.865E-01  0.869E-03  0.442E-04   22  30  37   20  10   9   20  15   9    0.000    0.000       0
+  0   1141 00:16:24.29   0.8140A   2.2115  -0.8332  -0.8025  0.076  0.00   0.000      0.  0.745E+00  0.865E-01  0.900E-03  0.452E-04   22  30   2    9  25   9   10  21   7    0.000    0.000       0
+  0   1148 00:16:30.01   0.8120A   2.2166  -0.9173  -0.8070  0.076  0.00   0.000      0.  0.744E+00  0.866E-01  0.897E-03  0.482E-04   31  24  23    9  24   9    8  20   7    0.000    0.000       0
+  0   1156 00:16:36.49   0.8150A   2.2075  -0.9277  -0.7873  0.076  0.00   0.000      0.  0.743E+00  0.870E-01  0.901E-03  0.554E-04   31  24  28    9  23   9    8  21   5    0.000    0.000       0
+  0   1163 00:16:42.19   0.8140A   2.2124  -0.9334   0.7905  0.078  0.00   0.000      0.  0.743E+00  0.879E-01  0.915E-03  0.618E-04   22  35  26    8  22   9   20  10   9    0.000    0.000       0
+  0   1171 00:16:48.67   0.8070A   2.2294  -0.8905   0.8563  0.079  0.00   0.000      0.  0.744E+00  0.891E-01  0.918E-03  0.614E-04   30  35  21    8  21   9   20  11   9    0.000    0.000       0
+  0   1178 00:16:54.31   0.8060A   2.2326  -0.8291   0.9533  0.081  0.00   0.000      0.  0.745E+00  0.901E-01  0.921E-03  0.559E-04   30  35  26    9  22   8   20  12   9    0.000    0.000       0
+  0   1186 00:17:00.78   0.8070A   2.2294  -0.9280   0.9319  0.083  0.00   0.000      0.  0.746E+00  0.907E-01  0.940E-03  0.568E-04   23   2  24    9  27   9   21  12   9    0.000    0.000       0
+  0   1193 00:17:06.44   0.8100A   2.2224  -0.9886   0.9070  0.083  0.00   0.000      0.  0.746E+00  0.910E-01  0.956E-03  0.582E-04   23   2  28    9  26   9   20  13   9    0.000    0.000       0
+  0   1200 00:17:12.10   0.8050A   2.2363  -0.9207  -0.7938  0.084  0.00   0.000      0.  0.745E+00  0.910E-01  0.955E-03  0.555E-04   30  36   4    9  25   9   18  24   9    0.000    0.000       0
+  0   1208 00:17:18.49   0.7970A   2.2589   0.9810   0.9790  0.086  0.00   0.000      0.  0.744E+00  0.905E-01  0.945E-03  0.515E-04   30  36  10   20  20   8   20  29   9    0.000    0.000       0
+  0   1215 00:17:24.09   0.8040A   2.2387  -0.9106   1.0285  0.086  0.00   0.000      0.  0.743E+00  0.898E-01  0.969E-03  0.500E-04   30  36  15   18  10   9   20  28   9    0.000    0.000       0
+  0   1223 00:17:30.57   0.8130A   2.2142  -0.9581  -0.9605  0.086  0.00   0.000      0.  0.741E+00  0.887E-01  0.974E-03  0.479E-04   33  33  33   18  28   9   18  11   9    0.000    0.000       0
+  0   1230 00:17:36.26   0.8180A   2.2016  -0.9633  -0.8681  0.084  0.00   0.000      0.  0.740E+00  0.877E-01  0.976E-03  0.494E-04   35  33  29   18  27   9   14  22   9    0.000    0.000       0
+  0   1238 00:17:42.79   0.8180A   2.2004  -0.9035  -0.8750  0.083  0.00   0.000      0.  0.738E+00  0.866E-01  0.990E-03  0.532E-04   33  32   4   20  11   6   13  22   9    0.000    0.000       0
+  0   1245 00:17:48.49   0.8070A   2.2316   0.8943  -0.8508  0.083  0.00   0.000      0.  0.737E+00  0.860E-01  0.100E-02  0.633E-04   33  32   9   20  30   9   12  22   9    0.000    0.000       0
+  0   1252 00:17:54.18   0.8170A   2.2023   0.8598   0.9214  0.083  0.00   0.000      0.  0.736E+00  0.855E-01  0.102E-02  0.678E-04   33  32  14   20  30   9   22  11   5    0.000    0.000       0
+  0   1260 00:18:00.68   0.8070A   2.2306  -0.8434   1.1297  0.082  0.00   0.000      0.  0.736E+00  0.854E-01  0.103E-02  0.777E-04   30  30   0   20  18   9   20  11   9    0.000    0.000       0
+  0   1267 00:18:06.36   0.8110A   2.2189   0.9415   1.0977  0.082  0.00   0.000      0.  0.736E+00  0.857E-01  0.106E-02  0.846E-04   33  35  22   19  12   9   21  11   9    0.000    0.000       0
+  0   1274 00:18:12.04   0.8060A   2.2345   1.1559   1.1663  0.081  0.00   0.000      0.  0.737E+00  0.861E-01  0.106E-02  0.845E-04   36  33  23   17  14   9   20  15   9    0.000    0.000       0
+  0   1282 00:18:18.46   0.8080A   2.2282   1.1298   1.2340  0.080  0.00   0.000      0.  0.739E+00  0.868E-01  0.106E-02  0.846E-04   36  33  29   14  15   9   20  28   9    0.000    0.000       0
+  0   1289 00:18:24.14   0.8170A   2.2027  -1.2704   1.1157  0.080  0.00   0.000      0.  0.741E+00  0.874E-01  0.107E-02  0.847E-04   36  33  33   19  10   9   20  26   9    0.000    0.000       0
+  0   1297 00:18:30.74   0.8230A   2.1859  -1.1735   1.0540  0.080  0.00   0.000      0.  0.743E+00  0.876E-01  0.105E-02  0.720E-04   31  31  26   15  25   9   20  24   9    0.000    0.000       0
+  0   1304 00:18:36.48   0.8170A   2.2026  -1.1127  -0.9561  0.079  0.00   0.000      0.  0.743E+00  0.874E-01  0.103E-02  0.634E-04   22   0   8   12  26   9    9  20   8    0.000    0.000       0
+  0   1311 00:18:42.21   0.8180A   2.2004  -1.1733  -0.9568  0.078  0.00   0.000      0.  0.742E+00  0.868E-01  0.101E-02  0.591E-04   36  33  13   21  15   8    6  21   8    0.000    0.000       0
+  0   1319 00:18:48.57   0.7540A   2.3875  -0.9485  -0.9661  0.079  0.00   0.000      0.  0.741E+00  0.857E-01  0.924E-03  0.466E-04   21  31  33   12  24   9    6  21   8    0.000    0.000       0
+  0   1327 00:18:54.44   0.7320A   2.4604  -0.9581  -0.9466  0.080  0.00   0.000      0.  0.739E+00  0.845E-01  0.899E-03  0.490E-04   21  31  38   10  26   9    5  21   8    0.000    0.000       0
+  0   1335 00:19:00.19   0.7230A   2.4895  -0.9305  -0.9745  0.081  0.00   0.000      0.  0.738E+00  0.836E-01  0.890E-03  0.515E-04   21  31   2    7  26   9   18  21   9    0.000    0.000       0
+  0   1343 00:19:06.13   0.7490A   2.4025  -0.9279  -1.2306  0.082  0.00   0.000      0.  0.737E+00  0.828E-01  0.918E-03  0.523E-04   21  31   7   11  25   9   17  20   9    0.000    0.000       0
+  0   1351 00:19:12.29   0.7670A   2.3476  -0.8825  -1.1654  0.082  0.00   0.000      0.  0.735E+00  0.819E-01  0.949E-03  0.586E-04   20  31  12   10  24   9   15  21   9    0.000    0.000       0
+  0   1359 00:19:18.60   0.8020A   2.2437  -0.9814  -1.0537  0.082  0.00   0.000      0.  0.735E+00  0.812E-01  0.999E-03  0.683E-04   22  32  14   17  27   9    4  24   7    0.000    0.000       0
+  0   1366 00:19:24.28   0.8150A   2.2087  -1.0259   1.0807  0.082  0.00   0.000      0.  0.734E+00  0.807E-01  0.101E-02  0.696E-04   23  33  22   16  26   9   21  14   9    0.000    0.000       0
+  0   1373 00:19:30.01   0.8110A   2.2186  -0.9856   1.0488  0.082  0.00   0.000      0.  0.735E+00  0.804E-01  0.995E-03  0.699E-04   29  14   5   15  25   9   21  15   9    0.000    0.000       0
+  0   1381 00:19:36.51   0.8110A   2.2194  -0.8959  -0.8896  0.081  0.00   0.000      0.  0.735E+00  0.800E-01  0.985E-03  0.687E-04   29  14  11   14  24   9    7  22   7    0.000    0.000       0
+  0   1388 00:19:42.22   0.8180A   2.2003   1.0788  -0.8885  0.080  0.00   0.000      0.  0.736E+00  0.797E-01  0.974E-03  0.653E-04   29  14  16   20  30   9    6  22   7    0.000    0.000       0
+  0   1395 00:19:48.02   0.8360A   2.1531   0.8368  -0.8600  0.081  0.00   0.000      0.  0.736E+00  0.794E-01  0.972E-03  0.583E-04   26  33  10   20  30   9    5  22   5    0.000    0.000       0
+  0   1403 00:19:54.66   0.8290A   2.1704   0.8211  -0.8255  0.081  0.00   0.000      0.  0.736E+00  0.790E-01  0.961E-03  0.523E-04   26  33  16   20  23   9   18  19   9    0.000    0.000       0
+  0   1410 00:20:00.46   0.8280A   2.1733  -1.1150  -0.9050  0.081  0.00   0.000      0.  0.736E+00  0.786E-01  0.958E-03  0.504E-04   26  33  22   20  10   9   17  20   9    0.000    0.000       0
+  0   1417 00:20:06.27   0.8320A   2.1622  -0.9933  -0.9892  0.082  0.00   0.000      0.  0.736E+00  0.781E-01  0.955E-03  0.508E-04   27   3  16   18  10   9   17  11   9    0.000    0.000       0
+  0   1424 00:20:12.04   0.8220A   2.1906  -0.9479  -0.9675  0.083  0.00   0.000      0.  0.735E+00  0.774E-01  0.937E-03  0.497E-04   30  13  27   14  26   9   16  13   9    0.000    0.000       0
+  0   1432 00:20:18.58   0.8170A   2.2025  -0.9982  -0.9503  0.083  0.00   0.000      0.  0.734E+00  0.766E-01  0.916E-03  0.490E-04   30  13  32   13  26   9   17  16   9    0.000    0.000       0
+  0   1439 00:20:24.30   0.8200A   2.1949  -0.9513  -0.9294  0.083  0.00   0.000      0.  0.734E+00  0.760E-01  0.912E-03  0.546E-04   30  13  37   12  25   9   16  16   9    0.000    0.000       0
+  0   1446 00:20:30.02   0.8210A   2.1918  -0.8869   0.8677  0.081  0.00   0.000      0.  0.734E+00  0.756E-01  0.913E-03  0.588E-04   27  14  15   13  23   9   20  11   7    0.000    0.000       0
+  0   1454 00:20:36.67   0.8290A   2.1711  -0.8696   1.0484  0.080  0.00   0.000      0.  0.734E+00  0.754E-01  0.908E-03  0.620E-04   27   2   3   20  16   8   20  10   9    0.000    0.000       0
+  0   1461 00:20:42.49   0.8260A   2.1803  -0.8184   1.1361  0.079  0.00   0.000      0.  0.734E+00  0.754E-01  0.905E-03  0.654E-04   25  14  28    9  24   9   21  12   9    0.000    0.000       0
+  0   1468 00:20:48.24   0.8140A   2.2112  -0.8049   1.1358  0.079  0.00   0.000      0.  0.734E+00  0.755E-01  0.872E-03  0.594E-04   25  13  33    9  26   9   21  13   9    0.000    0.000       0
+  0   1475 00:20:54.00   0.8350A   2.1565  -0.8027   0.8905  0.079  0.00   0.000      0.  0.734E+00  0.754E-01  0.873E-03  0.570E-04   31  32  28   16  27   9   21  13   9    0.000    0.000       0
+  0   1483 00:21:00.46   0.7710A   2.3336  -0.9009   0.8506  0.078  0.00   0.000      0.  0.735E+00  0.755E-01  0.805E-03  0.584E-04   22  22  20   16  26   9   20  28   9    0.000    0.000       0
+  0   1491 00:21:06.75   0.8110A   2.2187  -0.8414   0.7628  0.079  0.00   0.000      0.  0.735E+00  0.756E-01  0.842E-03  0.598E-04   36  33  15   20  10   9   20  28   9    0.000    0.000       0
+  0   1498 00:21:12.43   0.8090A   2.2257  -1.1100  -0.7243  0.080  0.00   0.000      0.  0.735E+00  0.755E-01  0.833E-03  0.542E-04   36  33  20   20  10   9    7  15   7    0.000    0.000       0
+  0   1505 00:21:18.10   0.8060A   2.2328  -1.2180  -0.7977  0.081  0.00   0.000      0.  0.735E+00  0.754E-01  0.835E-03  0.545E-04   36  33  25   19   9   9   18  12   9    0.000    0.000       0
+  0   1513 00:21:24.59   0.8130A   2.2145  -0.9272  -0.9729  0.081  0.00   0.000      0.  0.735E+00  0.755E-01  0.841E-03  0.564E-04   36  33  31   17  10   9   18  13   9    0.000    0.000       0
+  0   1520 00:21:30.37   0.8300A   2.1682  -0.9108  -1.0151  0.080  0.00   0.000      0.  0.735E+00  0.756E-01  0.849E-03  0.561E-04   36  33  36   16  10   9   17  13   9    0.000    0.000       0
+  0   1527 00:21:36.20   0.8410A   2.1409   1.0997  -1.0121  0.079  0.00   0.000      0.  0.736E+00  0.759E-01  0.850E-03  0.537E-04   22  24   4   20  14   8   17  16   9    0.000    0.000       0
+  0   1534 00:21:42.06   0.8420A   2.1384   0.7836  -0.9444  0.079  0.00   0.000      0.  0.736E+00  0.762E-01  0.855E-03  0.529E-04   23  19  16   12  18   9   16  16   9    0.000    0.000       0
+  0   1542 00:21:48.84   0.8480A   2.1227   0.8110  -0.9073  0.079  0.00   0.000      0.  0.737E+00  0.764E-01  0.869E-03  0.503E-04   31  30   0   14  14   6   15  18   9    0.000    0.000       0
+  0   1549 00:21:54.73   0.8390A   2.1457  -0.8013  -0.9797  0.079  0.00   0.000      0.  0.737E+00  0.764E-01  0.878E-03  0.563E-04   32  30   5   12  26   9   18  21   9    0.000    0.000       0
+  0   1556 00:22:00.59   0.8350A   2.1550   0.8791  -1.0918  0.078  0.00   0.000      0.  0.737E+00  0.764E-01  0.900E-03  0.654E-04   31  30  11   20  25   9   17  22   9    0.000    0.000       0
+  0   1563 00:22:06.45   0.8400A   2.1427   0.7839  -1.1350  0.077  0.00   0.000      0.  0.737E+00  0.764E-01  0.908E-03  0.645E-04   31  30  16   20  26   9   17  23   9    0.000    0.000       0
+  0   1570 00:22:12.35   0.8430A   2.1342   0.9610  -1.0386  0.076  0.00   0.000      0.  0.737E+00  0.763E-01  0.912E-03  0.615E-04   30  17  20   19  25   9   16  23   9    0.000    0.000       0
+  0   1577 00:22:18.21   0.8320A   2.1646  -1.1566  -0.9944  0.076  0.00   0.000      0.  0.737E+00  0.761E-01  0.902E-03  0.586E-04   28  25  31   19   9   9   15  23   9    0.000    0.000       0
+  0   1584 00:22:24.01   0.8260A   2.1803   1.0429  -0.9392  0.077  0.00   0.000      0.  0.738E+00  0.758E-01  0.896E-03  0.575E-04   28  25  35   19  26   9   14  23   9    0.000    0.000       0
+  0   1592 00:22:30.69   0.8410A   2.1409   0.8279  -0.9953  0.077  0.00   0.000      0.  0.738E+00  0.754E-01  0.905E-03  0.602E-04   24  17  26   19  27   9   17  18   9    0.000    0.000       0
+  0   1599 00:22:36.52   0.8320A   2.1640   0.7609  -0.9821  0.077  0.00   0.000      0.  0.738E+00  0.752E-01  0.908E-03  0.646E-04   31  14  37   18  30   9   16  19   9    0.000    0.000       0
+  0   1606 00:22:42.29   0.8240A   2.1852  -0.8206  -0.9655  0.077  0.00   0.000      0.  0.739E+00  0.751E-01  0.896E-03  0.625E-04   31  14   2    1   8   8   13  20   9    0.000    0.000       0
+  0   1613 00:22:48.04   0.8160A   2.2046  -0.8326  -0.9616  0.077  0.00   0.000      0.  0.740E+00  0.751E-01  0.878E-03  0.588E-04   30  14   7    1   7   8    7  13   9    0.000    0.000       0
+  0   1621 00:22:54.54   0.8160A   2.2055  -0.8064  -0.9448  0.076  0.00   0.000      0.  0.740E+00  0.753E-01  0.878E-03  0.609E-04   30  14  13   14  26   9    5  13   9    0.000    0.000       0
+  0   1628 00:23:00.31   0.8210A   2.1926  -0.8222  -0.8614  0.075  0.00   0.000      0.  0.741E+00  0.756E-01  0.874E-03  0.602E-04   22  14   1   13  26   7    6  14   8    0.000    0.000       0
+  0   1636 00:23:06.77   0.8050A   2.2353  -0.8488   0.8825  0.074  0.00   0.000      0.  0.742E+00  0.759E-01  0.838E-03  0.524E-04   31  14  20   11  24   9   20  29   9    0.000    0.000       0
+  0   1643 00:23:12.29   0.7840A   2.2964  -0.8352   0.9613  0.074  0.00   0.000      0.  0.743E+00  0.761E-01  0.811E-03  0.476E-04   22  14  11   11  26   9   20  29   9    0.000    0.000       0
+  0   1651 00:23:18.63   0.7990A   2.2537   0.8731  -0.9416  0.075  0.00   0.000      0.  0.743E+00  0.762E-01  0.823E-03  0.493E-04   36   1  17   20  27   8   17  16   9    0.000    0.000       0
+  0   1658 00:23:24.20   0.7910A   2.2746   0.9388  -0.8593  0.076  0.00   0.000      0.  0.744E+00  0.763E-01  0.822E-03  0.508E-04   36   1  22   20  29   8   15  17   9    0.000    0.000       0
+  0   1666 00:23:30.60   0.8110A   2.2205  -0.6938   0.9332  0.077  0.00   0.000      0.  0.745E+00  0.764E-01  0.827E-03  0.504E-04   36   1  28   12  26   9   20  28   9    0.000    0.000       0
+  0   1673 00:23:36.32   0.8210A   2.1938  -0.8036   0.9709  0.078  0.00   0.000      0.  0.745E+00  0.764E-01  0.834E-03  0.528E-04   36   1  33   21  28   8   20  12   9    0.000    0.000       0
+  0   1680 00:23:42.09   0.8270A   2.1771  -0.8872   1.1578  0.078  0.00   0.000      0.  0.746E+00  0.766E-01  0.848E-03  0.584E-04   36   1  38   21  27   8   21  12   9    0.000    0.000       0
+  0   1688 00:23:48.69   0.8230A   2.1878  -1.0237   1.0378  0.077  0.00   0.000      0.  0.746E+00  0.769E-01  0.848E-03  0.571E-04   25  36  26   19  27   9   21  13   9    0.000    0.000       0
+  0   1695 00:23:54.43   0.8240A   2.1836   0.7929   1.0192  0.077  0.00   0.000      0.  0.747E+00  0.772E-01  0.851E-03  0.579E-04   25  36  31   16  13   9   20  12   9    0.000    0.000       0
+  0   1702 00:24:00.14   0.8110A   2.2204   0.8298   0.9355  0.077  0.00   0.000      0.  0.747E+00  0.776E-01  0.846E-03  0.572E-04   29  21  21   14  13   9   20  13   9    0.000    0.000       0
+  0   1710 00:24:06.63   0.8120A   2.2154   0.8326  -0.8718  0.078  0.00   0.000      0.  0.748E+00  0.781E-01  0.849E-03  0.561E-04   29  21  27   13  14   9    8  11   9    0.000    0.000       0
+  0   1717 00:24:12.36   0.8250A   2.1814  -1.0563  -0.8967  0.080  0.00   0.000      0.  0.749E+00  0.786E-01  0.865E-03  0.569E-04   29  21  32   20  10   9    6  11   9    0.000    0.000       0
+  0   1724 00:24:18.11   0.8210A   2.1933  -1.1296  -1.0774  0.082  0.00   0.000      0.  0.750E+00  0.790E-01  0.881E-03  0.633E-04   30  21  38   19  10   9   18  16   9    0.000    0.000       0
+  0   1732 00:24:24.63   0.8110A   2.2194  -0.9196  -1.3791  0.083  0.00   0.000      0.  0.751E+00  0.794E-01  0.880E-03  0.672E-04   30  21   3   16  27   9   17  15   9    0.000    0.000       0
+  0   1739 00:24:30.29   0.8040A   2.2375  -1.1016  -1.3101  0.083  0.00   0.000      0.  0.751E+00  0.796E-01  0.886E-03  0.671E-04   30  21   8   17  26   9   16  14   9    0.000    0.000       0
+  0   1747 00:24:36.72   0.8000A   2.2491  -1.1807  -1.1196  0.082  0.00   0.000      0.  0.752E+00  0.797E-01  0.865E-03  0.597E-04   30  21  14   19  25   9   15  17   9    0.000    0.000       0
+  0   1754 00:24:42.29   0.7960A   2.2601  -1.1436  -1.1104  0.080  0.00   0.000      0.  0.752E+00  0.796E-01  0.837E-03  0.505E-04   28  24  18   13  26   9   13  14   8    0.000    0.000       0
+  0   1762 00:24:48.68   0.7970A   2.2589  -1.0449  -1.0526  0.078  0.00   0.000      0.  0.752E+00  0.794E-01  0.836E-03  0.494E-04   31  21  24   12  25   9   11  14   8    0.000    0.000       0
+  0   1769 00:24:54.29   0.8010A   2.2478  -0.9756  -1.0103  0.077  0.00   0.000      0.  0.751E+00  0.795E-01  0.847E-03  0.520E-04   31  21  29   10  24   9    8  18   8    0.000    0.000       0
+  0   1777 00:25:00.74   0.8040A   2.2401  -0.9318   1.0428  0.076  0.00   0.000      0.  0.752E+00  0.799E-01  0.863E-03  0.562E-04   28  23  32    9  20   9   20  12   9    0.000    0.000       0
+  0   1784 00:25:06.32   0.7900A   2.2793   1.1409   1.0744  0.076  0.00   0.000      0.  0.752E+00  0.803E-01  0.859E-03  0.571E-04   28  23  37   20  28   9   20  13   9    0.000    0.000       0
+  0   1792 00:25:12.63   0.7860A   2.2908  -1.0001  -1.1571  0.076  0.00   0.000      0.  0.752E+00  0.808E-01  0.864E-03  0.561E-04   28  23   3    7  18   9   17  24   9    0.000    0.000       0
+  0   1799 00:25:18.14   0.7830A   2.2979  -0.8969  -1.1404  0.077  0.00   0.000      0.  0.753E+00  0.814E-01  0.870E-03  0.583E-04   28  23   8    6  17   9   16  24   9    0.000    0.000       0
+  0   1807 00:25:24.42   0.7830A   2.2995  -1.0938  -1.0633  0.079  0.00   0.000      0.  0.754E+00  0.823E-01  0.901E-03  0.642E-04   28  23  14   19  10   9   13  24   9    0.000    0.000       0
+  0   1815 00:25:30.72   0.7870A   2.2869  -0.9972  -1.0378  0.080  0.00   0.000      0.  0.755E+00  0.831E-01  0.935E-03  0.642E-04   28  23  20   18   9   9    6  18   5    0.000    0.000       0
+  0   1822 00:25:36.29   0.8020A   2.2445  -0.9246  -1.1272  0.080  0.00   0.000      0.  0.756E+00  0.835E-01  0.946E-03  0.583E-04   28  23  25   20  23   8   16  20   9    0.000    0.000       0
+  0   1830 00:25:42.71   0.8080A   2.2269   0.7984  -1.1933  0.080  0.00   0.000      0.  0.757E+00  0.836E-01  0.935E-03  0.527E-04   22  25   0   19  13   9   15  20   9    0.000    0.000       0
+  0   1837 00:25:48.34   0.8050A   2.2354  -0.7949  -1.2094  0.080  0.00   0.000      0.  0.757E+00  0.837E-01  0.927E-03  0.525E-04   30  20  37   20  27   9   14  18   9    0.000    0.000       0
+  0   1845 00:25:54.78   0.8030A   2.2412  -0.9092  -1.1838  0.078  0.00   0.000      0.  0.757E+00  0.837E-01  0.925E-03  0.497E-04   35  32  12   15  27   9   13  18   8    0.000    0.000       0
+  0   1852 00:26:00.42   0.8050A   2.2366  -0.9435  -1.1716  0.076  0.00   0.000      0.  0.757E+00  0.838E-01  0.922E-03  0.515E-04   35  32  17   14  26   9   11  18   8    0.000    0.000       0
+  0   1859 00:26:06.07   0.8110A   2.2190   0.8868  -1.1143  0.076  0.00   0.000      0.  0.757E+00  0.839E-01  0.917E-03  0.481E-04   35  32  22   20  29   8    9  17   8    0.000    0.000       0
+  0   1867 00:26:12.56   0.8140A   2.2104   1.1624  -1.0609  0.076  0.00   0.000      0.  0.757E+00  0.842E-01  0.933E-03  0.527E-04   31  18  18   20  30   9    7  17   8    0.000    0.000       0
+  0   1874 00:26:18.25   0.8090A   2.2253   0.9750  -1.2730  0.077  0.00   0.000      0.  0.757E+00  0.845E-01  0.938E-03  0.548E-04   31  17  24   19  30   9   18  24   9    0.000    0.000       0
+  0   1882 00:26:24.72   0.8100A   2.2223  -0.8200  -1.5241  0.077  0.00   0.000      0.  0.757E+00  0.848E-01  0.939E-03  0.576E-04   28   1   5   13  24   8   16  24   9    0.000    0.000       0
+  0   1889 00:26:30.40   0.8100A   2.2234   0.8918  -1.3409  0.078  0.00   0.000      0.  0.757E+00  0.850E-01  0.940E-03  0.597E-04   28   1  10   15  30   9   14  24   9    0.000    0.000       0
+  0   1896 00:26:36.07   0.8120A   2.2164  -0.8418  -1.2861  0.079  0.00   0.000      0.  0.757E+00  0.851E-01  0.946E-03  0.626E-04   31  28  35   10  23   9   14  29   9    0.000    0.000       0
+  0   1904 00:26:42.57   0.8140A   2.2104  -0.7552  -1.1571  0.079  0.00   0.000      0.  0.757E+00  0.852E-01  0.934E-03  0.579E-04   30   1  20    9  22   8   11  22   9    0.000    0.000       0
+  0   1911 00:26:48.24   0.8110A   2.2206  -0.7408  -1.1045  0.079  0.00   0.000      0.  0.757E+00  0.853E-01  0.921E-03  0.582E-04   30   1  25    8  22   8   10  22   9    0.000    0.000       0
+  0   1919 00:26:54.73   0.8130A   2.2148   0.8334  -1.0841  0.079  0.00   0.000      0.  0.757E+00  0.857E-01  0.913E-03  0.542E-04   34  38  28   16  15   9    9  23   8    0.000    0.000       0
+  0   1926 00:27:00.38   0.8050A   2.2349   0.8713  -1.0428  0.078  0.00   0.000      0.  0.757E+00  0.859E-01  0.905E-03  0.534E-04   34  38  34   15  16   9    9  25   8    0.000    0.000       0
+  0   1933 00:27:06.00   0.8080A   2.2287   0.8622  -1.0134  0.077  0.00   0.000      0.  0.757E+00  0.863E-01  0.905E-03  0.542E-04   34  38  39   14  17   9    6  23   7    0.000    0.000       0
+  0   1941 00:27:12.46   0.7960A   2.2615  -0.9114  -0.9372  0.077  0.00   0.000      0.  0.758E+00  0.869E-01  0.901E-03  0.577E-04   22  28  24   12  26   9    6  25   7    0.000    0.000       0
+  0   1949 00:27:18.71   0.7790A   2.3115  -0.9607  -0.8750  0.077  0.00   0.000      0.  0.759E+00  0.877E-01  0.875E-03  0.505E-04   22  28  29   11  25   9    7  19   7    0.000    0.000       0
+  0   1956 00:27:24.28   0.8100A   2.2216  -1.0089  -0.8861  0.078  0.00   0.000      0.  0.759E+00  0.882E-01  0.905E-03  0.480E-04   28  38  23   10  24   9    6  19   7    0.000    0.000       0
+  0   1964 00:27:30.73   0.8020A   2.2446  -0.9559  -0.8366  0.078  0.00   0.000      0.  0.758E+00  0.887E-01  0.891E-03  0.425E-04   24  28  38    9  23   9    5  21   7    0.000    0.000       0
+  0   1971 00:27:36.31   0.8020A   2.2447  -1.0179  -0.8140  0.078  0.00   0.000      0.  0.757E+00  0.891E-01  0.893E-03  0.434E-04   29  17  23   12  24   9    3  20   7    0.000    0.000       0
+  0   1979 00:27:42.65   0.7880A   2.2846  -1.0509  -0.7306  0.079  0.00   0.000      0.  0.757E+00  0.894E-01  0.883E-03  0.436E-04   29  17  28   12  23   9    4  11   9    0.000    0.000       0
+  0   1986 00:27:48.21   0.7930A   2.2699  -0.9804  -0.8347  0.080  0.00   0.000      0.  0.756E+00  0.895E-01  0.887E-03  0.452E-04   29  18  33   12  22   9   18  24   9    0.000    0.000       0
+  0   1994 00:27:54.59   0.8050A   2.2354  -0.9150  -0.9920  0.081  0.00   0.000      0.  0.755E+00  0.896E-01  0.909E-03  0.479E-04   29  18  39    7  26   9   17  23   9    0.000    0.000       0
+  0   2001 00:28:00.25   0.8120A   2.2165  -0.9399  -0.9855  0.082  0.00   0.000      0.  0.754E+00  0.896E-01  0.925E-03  0.490E-04   27  39  14    7  25   9   17  21   9    0.000    0.000       0
+  0   2009 00:28:06.77   0.8170A   2.2026  -0.9340  -0.9378  0.082  0.00   0.000      0.  0.753E+00  0.897E-01  0.934E-03  0.467E-04   29   4  18    7  24   9   17  26   9    0.000    0.000       0
+  0   2016 00:28:12.52   0.8270A   2.1772  -0.8950  -0.8998  0.082  0.00   0.000      0.  0.753E+00  0.898E-01  0.954E-03  0.465E-04   36   1  18    7  26   9   15  24   9    0.000    0.000       0
+  0   2023 00:28:18.30   0.8130A   2.2133  -0.8819  -0.9727  0.081  0.00   0.000      0.  0.752E+00  0.899E-01  0.951E-03  0.438E-04   29   5  28    6  25   9   15  23   9    0.000    0.000       0
+  0   2031 00:28:24.74   0.8190A   2.1968   0.8300  -1.0156  0.080  0.00   0.000      0.  0.751E+00  0.900E-01  0.978E-03  0.427E-04   29   5  32    9   5  33   16  21   9    0.000    0.000       0
+  0   2038 00:28:30.52   0.8240A   2.1832  -0.8384  -1.0623  0.079  0.00   0.000      0.  0.750E+00  0.901E-01  0.100E-02  0.449E-04   29   5  39    6  18   8   15  21   9    0.000    0.000       0
+  0   2045 00:28:36.32   0.8340A   2.1577   0.8650  -1.1301  0.079  0.00   0.000      0.  0.749E+00  0.904E-01  0.103E-02  0.493E-04   36  26  24    9   6  37   14  20   9    0.000    0.000       0
+  0   2052 00:28:42.15   0.8320A   2.1632   0.8502  -1.0333  0.080  0.00   0.000      0.  0.749E+00  0.909E-01  0.104E-02  0.523E-04   37  26  28    9   6  39   13  20   9    0.000    0.000       0
+  0   2060 00:28:48.68   0.8070A   2.2310  -0.8399  -0.9392  0.081  0.00   0.000      0.  0.749E+00  0.913E-01  0.104E-02  0.539E-04   37  26  33   19  14   9   15  17   9    0.000    0.000       0
+  0   2067 00:28:54.38   0.8240A   2.1843   0.8181   1.1334  0.082  0.00   0.000      0.  0.749E+00  0.916E-01  0.109E-02  0.590E-04   37  26  37   11  11   2   20  28   9    0.000    0.000       0
+  0   2074 00:29:00.13   0.8220A   2.1896  -0.8345   1.0146  0.082  0.00   0.000      0.  0.749E+00  0.920E-01  0.109E-02  0.584E-04   30   4  26    8  27   9   20  27   9    0.000    0.000       0
+  0   2082 00:29:06.69   0.8150A   2.2080  -0.8443   0.8267  0.082  0.00   0.000      0.  0.749E+00  0.924E-01  0.108E-02  0.541E-04   31   7  36   19  26   9   10   1  36    0.000    0.000       0
+  0   2089 00:29:12.41   0.8230A   2.1876  -0.8682   0.9219  0.080  0.00   0.000      0.  0.749E+00  0.929E-01  0.109E-02  0.510E-04   31   7   1   17  10   9   11   1  38    0.000    0.000       0
+  0   2096 00:29:18.17   0.8170A   2.2031  -0.8889   0.9113  0.079  0.00   0.000      0.  0.749E+00  0.933E-01  0.108E-02  0.506E-04   30   3   2    5  24   9   11   0   0    0.000    0.000       0
+  0   2104 00:29:24.64   0.7900A   2.2786   0.8383   0.8612  0.078  0.00   0.000      0.  0.749E+00  0.939E-01  0.106E-02  0.520E-04   25  14  22   10   5  21   12  39   2    0.000    0.000       0
+  0   2111 00:29:30.16   0.7740A   2.3246  -0.7929   0.8929  0.079  0.00   0.000      0.  0.749E+00  0.943E-01  0.105E-02  0.539E-04   25  14  26   11  26   9   10  39   5    0.000    0.000       0
+  0   2119 00:29:36.54   0.8200A   2.1950   1.0147  -1.1053  0.080  0.00   0.000      0.  0.748E+00  0.946E-01  0.114E-02  0.553E-04   25  14  31   19  27   9   17  19   9    0.000    0.000       0
+  0   2126 00:29:42.20   0.8110A   2.2204  -0.9663  -1.2417  0.081  0.00   0.000      0.  0.747E+00  0.945E-01  0.114E-02  0.526E-04   19   4  25    5  25   9   17  22   9    0.000    0.000       0
+  0   2134 00:29:48.50   0.7950A   2.2639  -0.9080  -1.2725  0.081  0.00   0.000      0.  0.745E+00  0.941E-01  0.112E-02  0.522E-04   19   4  30    6  24   9   15  22   9    0.000    0.000       0
+  0   2141 00:29:54.10   0.8030A   2.2420  -0.8106  -1.1765  0.082  0.00   0.000      0.  0.744E+00  0.937E-01  0.116E-02  0.644E-04   32  24  15    6  23   9   14  22   9    0.000    0.000       0
+  0   2149 00:30:00.50   0.8010A   2.2477   1.1276   1.1605  0.083  0.00   0.000      0.  0.743E+00  0.936E-01  0.119E-02  0.736E-04   31  27  23   21  15   8   20  11   9    0.000    0.000       0
+  0   2156 00:30:06.09   0.7870A   2.2869   1.3970  -1.0737  0.083  0.00   0.000      0.  0.742E+00  0.935E-01  0.116E-02  0.650E-04   24  36  20   20  17   8   12  20   9    0.000    0.000       0
+  0   2164 00:30:12.37   0.7910A   2.2756   1.2066  -1.0004  0.083  0.00   0.000      0.  0.741E+00  0.934E-01  0.115E-02  0.585E-04   24  36  25   16  15   9   11  20   9    0.000    0.000       0
+  0   2172 00:30:18.66   0.7850A   2.2939   1.1080   1.0734  0.081  0.00   0.000      0.  0.741E+00  0.935E-01  0.114E-02  0.623E-04   31  30  39   16  16   9   20  16   9    0.000    0.000       0
+  0   2179 00:30:24.18   0.7890A   2.2820  -1.0682   1.1306  0.081  0.00   0.000      0.  0.741E+00  0.936E-01  0.116E-02  0.664E-04   31  30   4   13  25   9   21  17   9    0.000    0.000       0
+  0   2187 00:30:30.54   0.7990A   2.2542  -0.9952   1.0028  0.080  0.00   0.000      0.  0.742E+00  0.938E-01  0.118E-02  0.713E-04   31  30   9   12  24   9   20  12   9    0.000    0.000       0
+  0   2194 00:30:36.08   0.7710A   2.3332  -0.9082   1.1823  0.078  0.00   0.000      0.  0.742E+00  0.939E-01  0.115E-02  0.687E-04   22  30  32   12  24   9   20  11   9    0.000    0.000       0
+  0   2202 00:30:42.28   0.7880A   2.2853   0.9130   1.2142  0.077  0.00   0.000      0.  0.741E+00  0.937E-01  0.114E-02  0.572E-04   22  30  36   12  16   9   20  11   9    0.000    0.000       0
+  0   2210 00:30:48.66   0.8050A   2.2346   0.9046   1.0794  0.077  0.00   0.000      0.  0.740E+00  0.932E-01  0.116E-02  0.510E-04   29  37  12   12  17   9   20  11   9    0.000    0.000       0
+  0   2217 00:30:54.30   0.8090A   2.2239   1.0021   1.0177  0.078  0.00   0.000      0.  0.738E+00  0.926E-01  0.117E-02  0.525E-04   29  36  16   12  13   9   20  29   9    0.000    0.000       0
+  0   2225 00:31:00.76   0.8070A   2.2295   1.1315   1.0225  0.079  0.00   0.000      0.  0.737E+00  0.921E-01  0.120E-02  0.676E-04   28  37  25   12  15   9   20  28   9    0.000    0.000       0
+  0   2232 00:31:06.37   0.8040A   2.2396   1.1048  -1.0936  0.080  0.00   0.000      0.  0.738E+00  0.918E-01  0.119E-02  0.715E-04   28  37  29   12  17   9   17  22   9    0.000    0.000       0
+  0   2240 00:31:12.80   0.8060A   2.2340   1.0040  -1.1327  0.081  0.00   0.000      0.  0.738E+00  0.911E-01  0.118E-02  0.704E-04   28  36  38   11  15   9   16  22   9    0.000    0.000       0
+  0   2247 00:31:18.40   0.7920A   2.2727   1.0194  -1.1073  0.081  0.00   0.000      0.  0.737E+00  0.902E-01  0.113E-02  0.645E-04   28   7  24    9  16   9   14  22   9    0.000    0.000       0
+  0   2255 00:31:24.69   0.7870A   2.2870   0.9760  -1.0426  0.081  0.00   0.000      0.  0.736E+00  0.887E-01  0.109E-02  0.563E-04   27  25  22    8  16   9   15  19   9    0.000    0.000       0
+  0   2262 00:31:30.18   0.7830A   2.2977  -0.9159  -0.9808  0.081  0.00   0.000      0.  0.735E+00  0.875E-01  0.106E-02  0.573E-04   29  33  16   13  27   9   14  20   9    0.000    0.000       0
+  0   2270 00:31:36.51   0.7920A   2.2733   1.0026   1.1974  0.080  0.00   0.000      0.  0.734E+00  0.864E-01  0.106E-02  0.608E-04   29  33  22   19  13   9   20  12   9    0.000    0.000       0
+  0   2278 00:31:42.67   0.7610A   2.3644   1.3074   1.0954  0.081  0.00   0.000      0.  0.733E+00  0.857E-01  0.101E-02  0.584E-04   29  33  28   19  14   9   20  10   9    0.000    0.000       0
+  0   2285 00:31:48.01   0.7660A   2.3506   1.2298   1.0951  0.081  0.00   0.000      0.  0.733E+00  0.852E-01  0.100E-02  0.583E-04   29  33  33   19  16   9   20  11   9    0.000    0.000       0
+  0   2293 00:31:54.19   0.7790A   2.3100   1.1196  -1.0351  0.082  0.00   0.000      0.  0.733E+00  0.848E-01  0.998E-03  0.569E-04   24  23  31   14  17   9    9  22   8    0.000    0.000       0
+  0   2301 00:32:00.45   0.7880A   2.2832   1.0977  -1.0628  0.083  0.00   0.000      0.  0.733E+00  0.844E-01  0.986E-03  0.579E-04   27  21  27   20  25   8    7  22   8    0.000    0.000       0
+  0   2309 00:32:06.74   0.7880A   2.2845  -0.8697  -1.1993  0.083  0.00   0.000      0.  0.733E+00  0.839E-01  0.969E-03  0.550E-04   27  21  32   20  10   9   16  19   9    0.000    0.000       0
+  0   2316 00:32:12.32   0.7970A   2.2583   0.9982  -1.1694  0.083  0.00   0.000      0.  0.733E+00  0.833E-01  0.962E-03  0.529E-04   28  21  37   12  13   9   14  19   9    0.000    0.000       0
+  0   2324 00:32:18.63   0.7810A   2.3053   1.2022  -0.9863  0.083  0.00   0.000      0.  0.733E+00  0.823E-01  0.929E-03  0.489E-04   28  21   3   11  15   9   13  20   9    0.000    0.000       0
+  0   2331 00:32:24.08   0.7750A   2.3216   1.1648  -0.9050  0.082  0.00   0.000      0.  0.731E+00  0.814E-01  0.913E-03  0.506E-04   28  21   8   10  16   9    4  12   9    0.000    0.000       0
+  0   2339 00:32:30.30   0.7750A   2.3235   1.0744  -0.8435  0.082  0.00   0.000      0.  0.730E+00  0.805E-01  0.896E-03  0.505E-04   28  23  13    9  17   8    7  21   7    0.000    0.000       0
+  0   2347 00:32:36.51   0.7810A   2.3058   0.9654  -0.8653  0.082  0.00   0.000      0.  0.729E+00  0.799E-01  0.896E-03  0.567E-04   28  23  19    8  18   8    6  21   9    0.000    0.000       0
+  0   2355 00:32:42.76   0.7860A   2.2902   0.9181  -0.8449  0.083  0.00   0.000      0.  0.729E+00  0.796E-01  0.910E-03  0.650E-04   23  23  10   19  14   9    5  21   9    0.000    0.000       0
+  0   2362 00:32:48.18   0.7660A   2.3489   0.9544   0.9909  0.084  0.00   0.000      0.  0.729E+00  0.795E-01  0.882E-03  0.627E-04   23  23  14   20  27   8   20  11   9    0.000    0.000       0
+  0   2370 00:32:54.45   0.7870A   2.2881   0.9926   0.9565  0.085  0.00   0.000      0.  0.730E+00  0.794E-01  0.878E-03  0.549E-04   23  23  19   18  16   9   20  11   9    0.000    0.000       0
+  0   2377 00:33:00.02   0.8010A   2.2470   0.9277  -0.7827  0.087  0.00   0.000      0.  0.730E+00  0.792E-01  0.873E-03  0.492E-04   23  23  24   18  16   9    8  15   4    0.000    0.000       0
+  0   2385 00:33:06.43   0.8000A   2.2504  -0.7971  -0.8148  0.087  0.00   0.000      0.  0.731E+00  0.790E-01  0.867E-03  0.509E-04   23  23  29    9  24   9   17  24   9    0.000    0.000       0
+  0   2392 00:33:12.11   0.8240A   2.1854  -0.8213  -0.7895  0.087  0.00   0.000      0.  0.731E+00  0.789E-01  0.883E-03  0.528E-04   23  23  33    8  23   9    3  27   9    0.000    0.000       0
+  0   2400 00:33:18.55   0.7890A   2.2823  -0.9961  -0.8237  0.086  0.00   0.000      0.  0.732E+00  0.787E-01  0.837E-03  0.465E-04   23  22  37   11  26   9    5  27   9    0.000    0.000       0
+  0   2408 00:33:24.76   0.7710A   2.3345  -0.9472  -0.8136  0.086  0.00   0.000      0.  0.732E+00  0.783E-01  0.807E-03  0.392E-04   23  22   2   10  25   9    6  28   9    0.000    0.000       0
+  0   2415 00:33:30.06   0.7510A   2.3963  -0.8340  -0.9145  0.087  0.00   0.000      0.  0.731E+00  0.779E-01  0.798E-03  0.402E-04   23  22   7   10  23   9    5  27   9    0.000    0.000       0
+  0   2423 00:33:36.16   0.7610A   2.3641  -0.8638  -0.9713  0.088  0.00   0.000      0.  0.731E+00  0.773E-01  0.815E-03  0.429E-04   23  22  12   10  25   9   17  18   9    0.000    0.000       0
+  0   2431 00:33:42.45   0.7980A   2.2555  -0.8713  -1.0102  0.087  0.00   0.000      0.  0.730E+00  0.765E-01  0.844E-03  0.448E-04   23  22  17   10  25   9   17  18   9    0.000    0.000       0
+  0   2438 00:33:48.09   0.8060A   2.2343  -0.8120  -0.9061  0.086  0.00   0.000      0.  0.729E+00  0.758E-01  0.853E-03  0.499E-04   28  28  19   10  24   9   15  18   9    0.000    0.000       0
+  0   2446 00:33:54.50   0.7990A   2.2534  -0.7312  -0.8377  0.086  0.00   0.000      0.  0.729E+00  0.752E-01  0.840E-03  0.481E-04   28  28  26    9  23   9   16  21   9    0.000    0.000       0
+  0   2453 00:34:00.11   0.8030A   2.2428   0.6708  -0.8407  0.085  0.00   0.000      0.  0.729E+00  0.748E-01  0.844E-03  0.500E-04   28  28  32   20  24   9   18  22   9    0.000    0.000       0
+  0   2461 00:34:06.55   0.8070A   2.2296  -0.6662  -0.8022  0.083  0.00   0.000      0.  0.730E+00  0.744E-01  0.847E-03  0.508E-04   28  28  38   11  25   9   15  20   9    0.000    0.000       0
+  0   2468 00:34:12.25   0.8190A   2.1980  -0.7442   0.8284  0.081  0.00   0.000      0.  0.730E+00  0.741E-01  0.866E-03  0.539E-04   27  27   3   15  28   9   18  10   8    0.000    0.000       0
+  0   2476 00:34:18.75   0.8050A   2.2351  -0.7719  -0.8132  0.080  0.00   0.000      0.  0.731E+00  0.739E-01  0.843E-03  0.503E-04   27  26   8   15  27   9   15  21   9    0.000    0.000       0
+  0   2483 00:34:24.38   0.8090A   2.2240  -0.7806  -0.8297  0.081  0.00   0.000      0.  0.731E+00  0.736E-01  0.830E-03  0.464E-04   27  26  13   12  25   9    8  26   9    0.000    0.000       0
+  0   2490 00:34:30.05   0.8120A   2.2176  -0.8238  -1.0138  0.081  0.00   0.000      0.  0.731E+00  0.730E-01  0.820E-03  0.436E-04   29  31  11   12  25   9   18  16   9    0.000    0.000       0
+  0   2498 00:34:36.56   0.8170A   2.2028  -0.8106  -1.0380  0.079  0.00   0.000      0.  0.731E+00  0.725E-01  0.839E-03  0.519E-04   25  32   4   12  24   9   17  16   9    0.000    0.000       0
+  0   2505 00:34:42.29   0.8210A   2.1924  -0.8000  -0.9148  0.079  0.00   0.000      0.  0.731E+00  0.723E-01  0.849E-03  0.599E-04   29  27  20   11  23   9   16  18   9    0.000    0.000       0
+  0   2512 00:34:48.03   0.8200A   2.1962   0.8173  -0.8926  0.078  0.00   0.000      0.  0.731E+00  0.722E-01  0.851E-03  0.626E-04   29  27  25   10  14   9    7  28   9    0.000    0.000       0
+  0   2520 00:34:54.63   0.8300A   2.1699   0.9722   0.9075  0.078  0.00   0.000      0.  0.732E+00  0.722E-01  0.869E-03  0.659E-04   27  23  12   20  26   9   20  27   9    0.000    0.000       0
+  0   2527 00:35:00.44   0.8300A   2.1688   0.9219  -0.8550  0.077  0.00   0.000      0.  0.732E+00  0.721E-01  0.867E-03  0.644E-04   27  23  17   10  15   9    5  27   9    0.000    0.000       0
+  0   2534 00:35:06.29   0.8370A   2.1508   0.8646  -0.9089  0.076  0.00   0.000      0.  0.732E+00  0.720E-01  0.876E-03  0.658E-04   27  22  21   10  15   9   17  21   9    0.000    0.000       0
+  0   2541 00:35:12.18   0.8460A   2.1284   0.8511  -0.9402  0.075  0.00   0.000      0.  0.733E+00  0.719E-01  0.884E-03  0.671E-04   27  22  27    8  14   9   15  22   9    0.000    0.000       0
+  0   2548 00:35:18.07   0.8440A   2.1321   0.8227  -0.8751  0.075  0.00   0.000      0.  0.733E+00  0.720E-01  0.869E-03  0.627E-04   26  28  19    8  15   9   15  20   9    0.000    0.000       0
+  0   2556 00:35:24.82   0.8420A   2.1367  -0.8777   0.9280  0.076  0.00   0.000      0.  0.734E+00  0.721E-01  0.851E-03  0.591E-04   28  27  29   13  25   5   11  29   8    0.000    0.000       0
+  0   2563 00:35:30.73   0.8470A   2.1262  -0.8805   0.9275  0.076  0.00   0.000      0.  0.735E+00  0.725E-01  0.861E-03  0.638E-04   28  31  26   12  24   5   20  29   9    0.000    0.000       0
+  0   2570 00:35:36.62   0.8340A   2.1570  -0.8055   1.0520  0.076  0.00   0.000      0.  0.737E+00  0.732E-01  0.861E-03  0.665E-04   27  23  31   12  24   6   20  28   9    0.000    0.000       0
+  0   2577 00:35:42.42   0.8240A   2.1841  -0.8080   0.9855  0.076  0.00   0.000      0.  0.738E+00  0.737E-01  0.854E-03  0.606E-04   27  23  36   15  27   9   20  27   9    0.000    0.000       0
+  0   2584 00:35:48.21   0.8300A   2.1684  -0.8588   0.9793  0.075  0.00   0.000      0.  0.739E+00  0.740E-01  0.869E-03  0.582E-04   27  23   1   17  27   9   21  13   9    0.000    0.000       0
+  0   2591 00:35:54.04   0.8350A   2.1569  -0.8263   1.0653  0.075  0.00   0.000      0.  0.739E+00  0.738E-01  0.872E-03  0.524E-04   27  31   7    9  26   9   21  14   9    0.000    0.000       0
+  0   2599 00:36:00.67   0.8240A   2.1853   0.9505   0.9587  0.074  0.00   0.000      0.  0.739E+00  0.733E-01  0.845E-03  0.434E-04   27  23  15   10  13   9   21  15   9    0.000    0.000       0
+  0   2606 00:36:06.39   0.8160A   2.2055   0.9379  -0.7837  0.074  0.00   0.000      0.  0.738E+00  0.726E-01  0.823E-03  0.398E-04   27  31  19   11  14   9   16  10   8    0.000    0.000       0
+  0   2613 00:36:12.12   0.8240A   2.1833   0.8598  -0.7210  0.075  0.00   0.000      0.  0.737E+00  0.719E-01  0.822E-03  0.365E-04   27  31  24   11  16   9    7  21  38    0.000    0.000       0
+  0   2621 00:36:18.70   0.8150A   2.2099  -0.7535  -0.6965  0.076  0.00   0.000      0.  0.736E+00  0.712E-01  0.806E-03  0.415E-04   24  26  11   10  25   9   10  24   1    0.000    0.000       0
+  0   2628 00:36:24.30   0.7910A   2.2749   0.8308  -0.9246  0.077  0.00   0.000      0.  0.736E+00  0.711E-01  0.782E-03  0.434E-04   24  26  16   20  29   9   18  17   9    0.000    0.000       0
+  0   2636 00:36:30.75   0.8060A   2.2341   0.7717  -0.9911  0.079  0.00   0.000      0.  0.735E+00  0.711E-01  0.792E-03  0.407E-04   23  27  21   20  27   8   17  16   9    0.000    0.000       0
+  0   2643 00:36:36.59   0.8400A   2.1430   0.6820  -0.9505  0.080  0.00   0.000      0.  0.735E+00  0.712E-01  0.830E-03  0.434E-04   34  35  37   20  28   8   16  15   9    0.000    0.000       0
+  0   2650 00:36:42.46   0.8330A   2.1601  -0.6908   0.9052  0.080  0.00   0.000      0.  0.735E+00  0.713E-01  0.819E-03  0.468E-04   22  28  30   22  27   6   21  29   9    0.000    0.000       0
+  0   2657 00:36:48.38   0.8510A   2.1150  -0.7924   0.8845  0.079  0.00   0.000      0.  0.736E+00  0.715E-01  0.822E-03  0.493E-04   34  36   7   22  26   8   20  27   9    0.000    0.000       0
+  0   2664 00:36:54.29   0.8440A   2.1320  -0.8716  -0.8360  0.077  0.00   0.000      0.  0.736E+00  0.718E-01  0.798E-03  0.465E-04   34  36  13   19  27   9   16  20   9    0.000    0.000       0
+  0   2671 00:37:00.22   0.8440A   2.1334  -0.7798  -0.8299  0.076  0.00   0.000      0.  0.736E+00  0.720E-01  0.787E-03  0.434E-04   35  22   7   20  27   9   15  19   9    0.000    0.000       0
+  0   2678 00:37:06.14   0.8460A   2.1266   0.7907   0.8746  0.075  0.00   0.000      0.  0.736E+00  0.722E-01  0.789E-03  0.440E-04   35  22  12   17  13   9   20  26   9    0.000    0.000       0
+  0   2685 00:37:12.06   0.8410A   2.1405   0.9946   0.8759  0.074  0.00   0.000      0.  0.736E+00  0.724E-01  0.792E-03  0.481E-04   27  21  31   22  29   8   20  26   9    0.000    0.000       0
+  0   2693 00:37:18.73   0.8320A   2.1625   0.9217  -0.9168  0.074  0.00   0.000      0.  0.736E+00  0.726E-01  0.795E-03  0.471E-04   27  21  37   21  30   8   16  20   9    0.000    0.000       0
+  0   2700 00:37:24.61   0.8440A   2.1339   0.8735  -0.9157  0.075  0.00   0.000      0.  0.736E+00  0.725E-01  0.810E-03  0.467E-04   29  32  37   10  14   9   15  20   9    0.000    0.000       0
+  0   2707 00:37:30.49   0.8440A   2.1325   0.8766  -0.9472  0.075  0.00   0.000      0.  0.735E+00  0.722E-01  0.814E-03  0.483E-04   29  32   2   10  14   9   17  19   9    0.000    0.000       0
+  0   2714 00:37:36.37   0.8420A   2.1384  -0.8637  -1.0401  0.076  0.00   0.000      0.  0.734E+00  0.719E-01  0.807E-03  0.488E-04   28  27  30    9  24   9   17  21   9    0.000    0.000       0
+  0   2721 00:37:42.26   0.8390A   2.1460  -0.8552  -0.9776  0.076  0.00   0.000      0.  0.734E+00  0.717E-01  0.800E-03  0.535E-04   28  28  33   10  23   9   16  21   9    0.000    0.000       0
+  0   2728 00:37:48.04   0.8200A   2.1943  -0.8204  -0.8997  0.075  0.00   0.000      0.  0.734E+00  0.717E-01  0.774E-03  0.524E-04   28  28  39    8  26   9   16  20   9    0.000    0.000       0
+  0   2736 00:37:54.62   0.8280A   2.1732  -0.7911  -0.8390  0.074  0.00   0.000      0.  0.734E+00  0.719E-01  0.782E-03  0.520E-04   28  28   5    7  25   9    4  18   5    0.000    0.000       0
+  0   2743 00:38:00.44   0.8330A   2.1615  -0.7074  -0.7889  0.074  0.00   0.000      0.  0.734E+00  0.723E-01  0.777E-03  0.463E-04   28  12  19    7  24   9    2  18   5    0.000    0.000       0
+  0   2750 00:38:06.29   0.8300A   2.1684  -0.6768   0.8496  0.074  0.00   0.000      0.  0.734E+00  0.727E-01  0.769E-03  0.444E-04   28  32  33   11  27   9   20  28   9    0.000    0.000       0
+  0   2757 00:38:12.09   0.8250A   2.1825  -0.7705   0.7249  0.073  0.00   0.000      0.  0.735E+00  0.732E-01  0.768E-03  0.485E-04   28  32  38   11  26   9   20  28   9    0.000    0.000       0
+  0   2765 00:38:18.73   0.8290A   2.1722  -0.7960   0.8453  0.073  0.00   0.000      0.  0.736E+00  0.741E-01  0.777E-03  0.523E-04   26  31  28   11  25   9   20  26   9    0.000    0.000       0
+  0   2772 00:38:24.49   0.8240A   2.1836  -0.8213   0.7711  0.073  0.00   0.000      0.  0.737E+00  0.748E-01  0.764E-03  0.483E-04   26  31  33   10  24   9   20  25   9    0.000    0.000       0
+  0   2779 00:38:30.21   0.8230A   2.1859   0.8458  -0.7418  0.072  0.00   0.000      0.  0.737E+00  0.754E-01  0.757E-03  0.442E-04   26  31  37   20  30   9   16  18   9    0.000    0.000       0
+  0   2787 00:38:36.77   0.8190A   2.1975   0.7937  -0.6821  0.073  0.00   0.000      0.  0.737E+00  0.758E-01  0.746E-03  0.363E-04   25  33   0   20  29   8    4  26   9    0.000    0.000       0
+  0   2794 00:38:42.42   0.7980A   2.2558   0.9381  -0.7583  0.075  0.00   0.000      0.  0.737E+00  0.758E-01  0.721E-03  0.328E-04   24  11   5   20  30   9   16  25   8    0.000    0.000       0
+  0   2801 00:38:48.03   0.8070A   2.2310   0.8539  -0.7192  0.077  0.00   0.000      0.  0.736E+00  0.757E-01  0.747E-03  0.383E-04   24  11   9   19  30   9   20  11   6    0.000    0.000       0
+  0   2809 00:38:54.54   0.8150A   2.2088  -0.8875  -0.8754  0.078  0.00   0.000      0.  0.736E+00  0.755E-01  0.778E-03  0.455E-04   26  34   9   20  10   9   18  10   9    0.000    0.000       0
+  0   2816 00:39:00.21   0.8070A   2.2316   0.9086  -1.0622  0.078  0.00   0.000      0.  0.735E+00  0.753E-01  0.771E-03  0.444E-04   24  11  19   20  10   8   17  20   9    0.000    0.000       0
+  0   2824 00:39:06.54   0.7850A   2.2926  -0.7884  -1.1339  0.079  0.00   0.000      0.  0.734E+00  0.750E-01  0.752E-03  0.439E-04   24  11  23    7  25   9   16  20   9    0.000    0.000       0
+  0   2831 00:39:12.00   0.7810A   2.3033  -0.7403  -1.0709  0.079  0.00   0.000      0.  0.734E+00  0.747E-01  0.749E-03  0.426E-04   24  11  27    7  23   9   14  20   9    0.000    0.000       0
+  0   2839 00:39:18.18   0.7660A   2.3485  -0.6510   1.0536  0.079  0.00   0.000      0.  0.733E+00  0.745E-01  0.728E-03  0.369E-04   24  11  32    6  22   9   19  10   8    0.000    0.000       0
+  0   2847 00:39:24.50   0.8000A   2.2488   0.8251   0.9727  0.079  0.00   0.000      0.  0.733E+00  0.745E-01  0.758E-03  0.382E-04   24  11  37   16  30   9   21  10   9    0.000    0.000       0
+  0   2854 00:39:30.15   0.8160A   2.2068   0.7089   0.9540  0.078  0.00   0.000      0.  0.733E+00  0.746E-01  0.785E-03  0.427E-04   25   2  25   17  30   9   21  10   9    0.000    0.000       0
+  0   2862 00:39:36.74   0.8320A   2.1639   0.7028   1.0302  0.076  0.00   0.000      0.  0.733E+00  0.751E-01  0.834E-03  0.520E-04   25   2  31   16  14   8   21  11   9    0.000    0.000       0
+  0   2869 00:39:42.56   0.8310A   2.1666   0.9097   0.9235  0.075  0.00   0.000      0.  0.734E+00  0.756E-01  0.843E-03  0.527E-04   34  17  38   14  13   9   20  11   9    0.000    0.000       0
+  0   2876 00:39:48.42   0.8390A   2.1444   1.0779   0.9357  0.074  0.00   0.000      0.  0.735E+00  0.761E-01  0.849E-03  0.538E-04   24   2   1   13  14   9   20  27   9    0.000    0.000       0
+  0   2883 00:39:54.22   0.8240A   2.1847   1.0871   0.8750  0.073  0.00   0.000      0.  0.736E+00  0.765E-01  0.830E-03  0.495E-04   38  35  11   12  15   9   20  26   9    0.000    0.000       0
+  0   2891 00:40:00.77   0.8130A   2.2134   0.9831   0.8523  0.072  0.00   0.000      0.  0.737E+00  0.766E-01  0.809E-03  0.420E-04   38  35  16    9  15   9   21  12   9    0.000    0.000       0
+  0   2898 00:40:06.53   0.8280A   2.1747   0.9625  -0.7841  0.073  0.00   0.000      0.  0.736E+00  0.765E-01  0.817E-03  0.415E-04   36  36  28    9  16   9    5  12   9    0.000    0.000       0
+  0   2905 00:40:12.29   0.8190A   2.1979  -0.9882  -0.7220  0.074  0.00   0.000      0.  0.736E+00  0.762E-01  0.809E-03  0.417E-04   29   8  18   19  10   9    5  12   9    0.000    0.000       0
+  0   2913 00:40:18.76   0.8090A   2.2242  -1.1004  -0.7462  0.075  0.00   0.000      0.  0.736E+00  0.760E-01  0.806E-03  0.428E-04   29   8  24   19   9   9   18  17   9    0.000    0.000       0
+  0   2920 00:40:24.40   0.8060A   2.2345  -1.0801  -0.8375  0.075  0.00   0.000      0.  0.735E+00  0.758E-01  0.801E-03  0.444E-04   29   8  28   17   9   9   17  17   9    0.000    0.000       0
+  0   2927 00:40:30.07   0.8130A   2.2133  -1.0720  -0.8807  0.076  0.00   0.000      0.  0.734E+00  0.757E-01  0.801E-03  0.462E-04   29   8  33   16   8   9   16  18   9    0.000    0.000       0
+  0   2935 00:40:36.61   0.8180A   2.2006  -0.8995  -0.9168  0.076  0.00   0.000      0.  0.734E+00  0.756E-01  0.808E-03  0.446E-04   30  22   1   15   9   9   16  17   9    0.000    0.000       0
+  0   2942 00:40:42.36   0.8220A   2.1888   0.9282  -1.0184  0.077  0.00   0.000      0.  0.733E+00  0.754E-01  0.814E-03  0.451E-04   30  22   7   17  13   9   15  10   9    0.000    0.000       0
+  0   2949 00:40:48.09   0.8180A   2.2006   1.2178   1.1635  0.077  0.00   0.000      0.  0.732E+00  0.752E-01  0.812E-03  0.471E-04   30  22  12   18  13   9   20  11   9    0.000    0.000       0
+  0   2957 00:40:54.66   0.8220A   2.1889   1.2090   1.1548  0.076  0.00   0.000      0.  0.731E+00  0.749E-01  0.815E-03  0.501E-04   29  22  19   18  14   9   20  11   9    0.000    0.000       0
+  0   2964 00:41:00.39   0.8180A   2.2014   1.0862  -0.9920  0.075  0.00   0.000      0.  0.731E+00  0.748E-01  0.809E-03  0.523E-04   29  22  24   19  15   9   14  18   9    0.000    0.000       0
+  0   2971 00:41:06.14   0.8310A   2.1667   0.9304  -0.9126  0.075  0.00   0.000      0.  0.731E+00  0.748E-01  0.818E-03  0.538E-04   31   1  18   17  16   9   13  19   9    0.000    0.000       0
+  0   2979 00:41:12.79   0.8310A   2.1664  -0.8724  -0.8196  0.075  0.00   0.000      0.  0.731E+00  0.751E-01  0.809E-03  0.490E-04   31   1  25   20  10   9   13  19   8    0.000    0.000       0
+  0   2986 00:41:18.60   0.8270A   2.1767  -0.8055  -0.8359  0.077  0.00   0.000      0.  0.731E+00  0.753E-01  0.794E-03  0.425E-04   31   1  31   19  25   9   17  16   9    0.000    0.000       0
+  0   2993 00:41:24.38   0.8240A   2.1847  -0.8135  -0.8360  0.078  0.00   0.000      0.  0.731E+00  0.756E-01  0.783E-03  0.389E-04   31   1  37   20  24   9   15  18   9    0.000    0.000       0
+  0   3000 00:41:30.15   0.8240A   2.1846  -0.8225  -0.8122  0.078  0.00   0.000      0.  0.731E+00  0.758E-01  0.777E-03  0.351E-04   31   1   2   20  24   9   14  19   9    0.000    0.000       0
+  0   3008 00:41:36.74   0.8260A   2.1799  -0.7306  -0.7504  0.077  0.00   0.000      0.  0.731E+00  0.762E-01  0.781E-03  0.371E-04   31   1   9   12  26   9   13  19   9    0.000    0.000       0
+  0   3015 00:41:42.54   0.8330A   2.1620  -0.7726   0.8876  0.076  0.00   0.000      0.  0.731E+00  0.766E-01  0.792E-03  0.387E-04   31   1  15   11  26   9   20  10   9    0.000    0.000       0
+  0   3022 00:41:48.36   0.8320A   2.1631  -0.8440   1.0489  0.075  0.00   0.000      0.  0.730E+00  0.769E-01  0.788E-03  0.374E-04   28   2  17   12  26   9   21  11   9    0.000    0.000       0
+  0   3029 00:41:54.17   0.8260A   2.1793  -0.8164   0.9691  0.074  0.00   0.000      0.  0.730E+00  0.772E-01  0.780E-03  0.354E-04   36  36   1   12  26   9   21  12   9    0.000    0.000       0
+  0   3037 00:42:00.78   0.8200A   2.1957  -0.7392   0.8192  0.073  0.00   0.000      0.  0.729E+00  0.774E-01  0.769E-03  0.355E-04   37  33  15   13  24   9   20  12   9    0.000    0.000       0
+  0   3044 00:42:06.53   0.8260A   2.1802  -0.7032  -0.7818  0.073  0.00   0.000      0.  0.729E+00  0.775E-01  0.776E-03  0.364E-04   31   0  37    9  25   9   17  20   9    0.000    0.000       0
+  0   3051 00:42:12.32   0.8290A   2.1724  -0.7275  -0.7699  0.073  0.00   0.000      0.  0.728E+00  0.775E-01  0.775E-03  0.354E-04   31   0   2    9  24   9   17  20   9    0.000    0.000       0
+  0   3058 00:42:18.10   0.8190A   2.1975  -0.7621  -0.7453  0.073  0.00   0.000      0.  0.728E+00  0.774E-01  0.766E-03  0.352E-04   35  31  30    8  24   8   16  20   9    0.000    0.000       0
+  0   3066 00:42:24.64   0.8220A   2.1885  -0.8590  -0.7646  0.074  0.00   0.000      0.  0.728E+00  0.773E-01  0.769E-03  0.368E-04   35  30  34   20  23   8   18  17   9    0.000    0.000       0
+  0   3073 00:42:30.34   0.8020A   2.2439  -1.0211  -0.9816  0.076  0.00   0.000      0.  0.727E+00  0.771E-01  0.750E-03  0.340E-04   36  36  33   20  20   8   17  17   9    0.000    0.000       0
+  0   3081 00:42:36.72   0.7980A   2.2555  -0.8327  -1.0312  0.077  0.00   0.000      0.  0.726E+00  0.769E-01  0.760E-03  0.361E-04   36  36  39   20  17   8   16  16   9    0.000    0.000       0
+  0   3088 00:42:42.29   0.8070A   2.2293  -0.6445  -0.9466  0.077  0.00   0.000      0.  0.725E+00  0.770E-01  0.775E-03  0.401E-04   36  36   4    6  24   8   16  15   9    0.000    0.000       0
+  0   3095 00:42:48.00   0.8240A   2.1841   0.6320  -0.9109  0.076  0.00   0.000      0.  0.725E+00  0.773E-01  0.795E-03  0.443E-04   36  36   9   20   8   5   15  14   9    0.000    0.000       0
+  0   3103 00:42:54.62   0.8240A   2.1844   0.7135  -0.8322  0.076  0.00   0.000      0.  0.726E+00  0.779E-01  0.779E-03  0.383E-04   36  36  15   19  11   8   13  16   9    0.000    0.000       0
+  0   3110 00:43:00.37   0.8100A   2.2229   0.7657  -0.7561  0.076  0.00   0.000      0.  0.726E+00  0.782E-01  0.754E-03  0.325E-04   28   2  16   19  12   9   16  12   9    0.000    0.000       0
+  0   3118 00:43:06.79   0.7970A   2.2597  -0.7130   0.7806  0.076  0.00   0.000      0.  0.726E+00  0.785E-01  0.740E-03  0.331E-04   28   2  22   14  27   9   20  11   9    0.000    0.000       0
+  0   3125 00:43:12.40   0.8030A   2.2422   0.7903   0.8808  0.075  0.00   0.000      0.  0.726E+00  0.788E-01  0.754E-03  0.387E-04   28   2  27   19  12   9   20  11   9    0.000    0.000       0
+  0   3132 00:43:18.09   0.8200A   2.1939  -0.9351   0.7699  0.075  0.00   0.000      0.  0.726E+00  0.789E-01  0.776E-03  0.422E-04   29   0  33   15  27   9   20  11   9    0.000    0.000       0
+  0   3140 00:43:24.63   0.8100A   2.2228   0.9175  -0.8220  0.074  0.00   0.000      0.  0.725E+00  0.790E-01  0.781E-03  0.452E-04   21   9  35   10  14   9   18  18   9    0.000    0.000       0
+  0   3147 00:43:30.43   0.8310A   2.1653   0.8985  -0.9567  0.073  0.00   0.000      0.  0.725E+00  0.789E-01  0.806E-03  0.474E-04   29   0   4   10  15   9   17  18   9    0.000    0.000       0
+  0   3154 00:43:36.24   0.8310A   2.1667  -0.9344  -0.9863  0.074  0.00   0.000      0.  0.724E+00  0.788E-01  0.809E-03  0.471E-04   31   2   4   20  10   8   16  18   9    0.000    0.000       0
+  0   3161 00:43:42.03   0.8260A   2.1802  -0.8974  -0.9244  0.074  0.00   0.000      0.  0.724E+00  0.788E-01  0.821E-03  0.496E-04   31   2  10   19  11   8   15  17   9    0.000    0.000       0
+  0   3169 00:43:48.62   0.8220A   2.1909  -0.9152  -0.8291  0.075  0.00   0.000      0.  0.723E+00  0.788E-01  0.843E-03  0.546E-04   31   2  16   19  10   9   13  18   9    0.000    0.000       0
+  0   3176 00:43:54.36   0.8200A   2.1943   0.9659  -0.9063  0.076  0.00   0.000      0.  0.723E+00  0.791E-01  0.851E-03  0.565E-04   31   2  21   20  14   8   17  15   9    0.000    0.000       0
+  0   3183 00:44:00.08   0.8150A   2.2094   1.2084  -1.2373  0.077  0.00   0.000      0.  0.723E+00  0.793E-01  0.855E-03  0.527E-04   31   3  26   19  14   9   17  11   9    0.000    0.000       0
+  0   3191 00:44:06.59   0.8130A   2.2143   1.0497  -1.3067  0.077  0.00   0.000      0.  0.723E+00  0.796E-01  0.858E-03  0.488E-04   31   3  32   18  15   9   16  12   9    0.000    0.000       0
+  0   3198 00:44:12.29   0.8170A   2.2042   0.8306  -1.1043  0.078  0.00   0.000      0.  0.724E+00  0.799E-01  0.852E-03  0.475E-04   31   3  37   17  16   9   15  13   9    0.000    0.000       0
+  0   3205 00:44:18.01   0.8170A   2.2031   0.6859  -0.9418  0.079  0.00   0.000      0.  0.725E+00  0.804E-01  0.853E-03  0.509E-04   30   2   3   22  29  21   13  12   9    0.000    0.000       0
+  0   3213 00:44:24.55   0.8180A   2.2017   0.7440   0.8799  0.079  0.00   0.000      0.  0.726E+00  0.813E-01  0.857E-03  0.543E-04   30   2   9   16  13   9   20  10   9    0.000    0.000       0
+  0   3220 00:44:30.23   0.8140A   2.2102   0.8322   0.9305  0.078  0.00   0.000      0.  0.727E+00  0.822E-01  0.863E-03  0.569E-04   30   3  14   16  13   9   20  11   9    0.000    0.000       0
+  0   3228 00:44:36.57   0.7780A   2.3148   0.8372   0.8072  0.077  0.00   0.000      0.  0.728E+00  0.831E-01  0.832E-03  0.521E-04   25  27  20   17  14   9   20  13   9    0.000    0.000       0
+  0   3235 00:44:42.03   0.7680A   2.3446   0.7861   0.8009  0.076  0.00   0.000      0.  0.729E+00  0.839E-01  0.820E-03  0.460E-04   25  27  24   16  14   9   20  14   9    0.000    0.000       0
+  0   3243 00:44:48.30   0.7940A   2.2662  -0.7563   0.7558  0.076  0.00   0.000      0.  0.730E+00  0.847E-01  0.838E-03  0.412E-04   25  27  29   11  23   9   16  28   9    0.000    0.000       0
+  0   3251 00:44:54.74   0.8010A   2.2465   0.7857   0.7962  0.076  0.00   0.000      0.  0.730E+00  0.852E-01  0.843E-03  0.392E-04   25   3  25   20  20   8   21  15   9    0.000    0.000       0
+  0   3258 00:45:00.28   0.7800A   2.3074   0.7844  -1.0010  0.077  0.00   0.000      0.  0.730E+00  0.854E-01  0.820E-03  0.350E-04   25   3  30   20  10   8   18  10   9    0.000    0.000       0
+  0   3266 00:45:06.51   0.7820A   2.3015  -0.8389  -0.9890  0.078  0.00   0.000      0.  0.729E+00  0.853E-01  0.816E-03  0.305E-04   25   3  36    9  25   9   18  11   9    0.000    0.000       0
+  0   3274 00:45:12.70   0.7740A   2.3259  -0.7815  -0.9288  0.079  0.00   0.000      0.  0.728E+00  0.849E-01  0.803E-03  0.290E-04   25   3   1   10  23   9   16  16   9    0.000    0.000       0
+  0   3281 00:45:18.20   0.7890A   2.2807  -0.7074  -0.8923  0.080  0.00   0.000      0.  0.727E+00  0.845E-01  0.815E-03  0.305E-04   25   3   6    7  27   5   16  15   9    0.000    0.000       0
+  0   3289 00:45:24.61   0.8060A   2.2337  -0.6693  -0.9109  0.080  0.00   0.000      0.  0.726E+00  0.839E-01  0.838E-03  0.362E-04   27   8  11   18  10   9   15  14   9    0.000    0.000       0
+  0   3296 00:45:30.17   0.7830A   2.2996  -0.7223  -0.9136  0.079  0.00   0.000      0.  0.724E+00  0.837E-01  0.818E-03  0.385E-04   27   8  16    6  31   3   17  18   9    0.000    0.000       0
+  0   3304 00:45:36.42   0.7770A   2.3171  -0.7801  -0.9130  0.078  0.00   0.000      0.  0.723E+00  0.836E-01  0.819E-03  0.432E-04   27   8  21    7  30   6   16  18   9    0.000    0.000       0
+  0   3312 00:45:42.62   0.7810A   2.3033  -0.8107  -0.8438  0.077  0.00   0.000      0.  0.723E+00  0.840E-01  0.832E-03  0.499E-04   27   8  27    6  30   8   14  18   9    0.000    0.000       0
+  0   3319 00:45:48.05   0.7790A   2.3121  -0.8176  -0.7704  0.077  0.00   0.000      0.  0.723E+00  0.846E-01  0.828E-03  0.496E-04   27   8  31   13  10   9   14  18   9    0.000    0.000       0
+  0   3327 00:45:54.32   0.7880A   2.2832   0.8855   0.8121  0.077  0.00   0.000      0.  0.723E+00  0.853E-01  0.839E-03  0.483E-04   27   8  37   21  28   8   20  11   9    0.000    0.000       0
+  0   3335 00:46:00.73   0.8090A   2.2256   0.8887   0.8657  0.078  0.00   0.000      0.  0.722E+00  0.859E-01  0.852E-03  0.449E-04   26   3  18   19  30   9   20  13   9    0.000    0.000       0
+  0   3342 00:46:06.36   0.8020A   2.2450   0.8041   0.8349  0.078  0.00   0.000      0.  0.722E+00  0.864E-01  0.836E-03  0.432E-04   26   3  23   18  13   9   20  13   9    0.000    0.000       0
+  0   3349 00:46:12.03   0.8170A   2.2023   0.8687   0.8681  0.079  0.00   0.000      0.  0.722E+00  0.869E-01  0.846E-03  0.432E-04   26   3  28   19  14   9   20  13   9    0.000    0.000       0
+  0   3357 00:46:18.62   0.8190A   2.1965   0.7978   0.8737  0.079  0.00   0.000      0.  0.722E+00  0.875E-01  0.847E-03  0.453E-04   25   3  34   19  15   9   20  13   9    0.000    0.000       0
+  0   3364 00:46:24.32   0.8090A   2.2244  -0.8629   0.9049  0.079  0.00   0.000      0.  0.722E+00  0.882E-01  0.846E-03  0.458E-04   23  39  18   21  12   8   20  13   9    0.000    0.000       0
+  0   3371 00:46:30.03   0.8190A   2.1980  -1.0560   0.8227  0.079  0.00   0.000      0.  0.722E+00  0.888E-01  0.870E-03  0.462E-04   28   0  20   20  23   8   20  13   9    0.000    0.000       0
+  0   3379 00:46:36.57   0.8200A   2.1961  -1.0030  -0.8131  0.080  0.00   0.000      0.  0.722E+00  0.894E-01  0.876E-03  0.439E-04   27   2  25   20  20   8   17  19   9    0.000    0.000       0
+  0   3386 00:46:42.29   0.8160A   2.2057  -0.7617  -0.8339  0.080  0.00   0.000      0.  0.722E+00  0.898E-01  0.868E-03  0.395E-04   26  39  30   14  27   9   18  24   9    0.000    0.000       0
+  0   3394 00:46:48.81   0.8110A   2.2198  -0.8174   0.8225  0.079  0.00   0.000      0.  0.721E+00  0.901E-01  0.867E-03  0.427E-04   27  39  36   13  26   9   20  29   9    0.000    0.000       0
+  0   3401 00:46:54.54   0.8200A   2.1960  -0.8439  -0.8834  0.079  0.00   0.000      0.  0.721E+00  0.903E-01  0.874E-03  0.418E-04   28   8  39   11  25   9    7  28   9    0.000    0.000       0
+  0   3408 00:47:00.28   0.8170A   2.2045  -0.9614  -1.0175  0.079  0.00   0.000      0.  0.720E+00  0.904E-01  0.886E-03  0.482E-04   30   4   4   11  25   9    7  27   9    0.000    0.000       0
+  0   3416 00:47:06.76   0.8050A   2.2371  -0.9983  -0.9713  0.079  0.00   0.000      0.  0.720E+00  0.906E-01  0.890E-03  0.557E-04   30   4  10    9  24   9   16  10   9    0.000    0.000       0
+  0   3423 00:47:12.37   0.8030A   2.2404   1.0719  -1.0349  0.079  0.00   0.000      0.  0.719E+00  0.906E-01  0.878E-03  0.487E-04   30   4  15   20  12   9   15  11   9    0.000    0.000       0
+  0   3431 00:47:18.79   0.8010A   2.2474  -0.9613  -0.9309  0.080  0.00   0.000      0.  0.718E+00  0.903E-01  0.861E-03  0.440E-04   25   3   9   10  23   8   14  12   9    0.000    0.000       0
+  0   3438 00:47:24.45   0.8080A   2.2269  -0.9399  -0.7881  0.080  0.00   0.000      0.  0.717E+00  0.899E-01  0.855E-03  0.436E-04   24   2  14   20  13   8   13  12   9    0.000    0.000       0
+  0   3445 00:47:30.08   0.7960A   2.2618  -0.8312  -0.7963  0.081  0.00   0.000      0.  0.716E+00  0.898E-01  0.841E-03  0.430E-04   25  10  12   12  21   8   18  14   9    0.000    0.000       0
+  0   3453 00:47:36.56   0.8170A   2.2031  -0.7917  -0.8934  0.082  0.00   0.000      0.  0.715E+00  0.899E-01  0.855E-03  0.393E-04   24  39  39   11  20   8   18  17   9    0.000    0.000       0
+  0   3460 00:47:42.30   0.8230A   2.1863  -0.7584  -1.0553  0.082  0.00   0.000      0.  0.715E+00  0.901E-01  0.861E-03  0.384E-04   24  39   4   13  26   9   17  16   9    0.000    0.000       0
+  0   3467 00:47:48.01   0.8100A   2.2233  -0.7129  -1.0045  0.081  0.00   0.000      0.  0.715E+00  0.904E-01  0.857E-03  0.415E-04   28  13  37   10  28   9   16  16   9    0.000    0.000       0
+  0   3475 00:47:54.56   0.8080A   2.2284  -0.8370  -0.9408  0.081  0.00   0.000      0.  0.716E+00  0.906E-01  0.852E-03  0.423E-04   27  13   2   10  27   9   14  16   9    0.000    0.000       0
+  0   3482 00:48:00.19   0.8030A   2.2427  -0.8075  -0.8783  0.081  0.00   0.000      0.  0.716E+00  0.908E-01  0.848E-03  0.455E-04   27  13   7   11  26   9   12  16   9    0.000    0.000       0
+  0   3490 00:48:06.75   0.8280A   2.1727  -0.7962  -0.8100  0.081  0.00   0.000      0.  0.716E+00  0.910E-01  0.864E-03  0.479E-04   33   5  13   11  25   9   11  16   9    0.000    0.000       0
+  0   3497 00:48:12.56   0.8300A   2.1679  -0.7586  -0.8932  0.081  0.00   0.000      0.  0.716E+00  0.909E-01  0.857E-03  0.438E-04   33   5  18   11  24   9   17  21   9    0.000    0.000       0
+  0   3504 00:48:18.44   0.8450A   2.1310   0.8143  -0.8918  0.082  0.00   0.000      0.  0.715E+00  0.905E-01  0.859E-03  0.384E-04   22  37  16   19  30   9   16  20   9    0.000    0.000       0
+  0   3511 00:48:24.28   0.8340A   2.1575   0.7880  -0.8530  0.082  0.00   0.000      0.  0.714E+00  0.900E-01  0.839E-03  0.331E-04   26   5   0   19  30   9   18  26   9    0.000    0.000       0
+  0   3518 00:48:30.07   0.8270A   2.1766   0.6527  -0.8909  0.082  0.00   0.000      0.  0.713E+00  0.896E-01  0.818E-03  0.292E-04   26   5   5   12  14   9   18  24   9    0.000    0.000       0
+  0   3526 00:48:36.56   0.8100A   2.2229  -0.6504  -0.8914  0.081  0.00   0.000      0.  0.712E+00  0.892E-01  0.796E-03  0.302E-04   27  11  25    8  39  37   17  23   9    0.000    0.000       0
+  0   3533 00:48:42.28   0.8320A   2.1635  -0.6613  -0.8194  0.080  0.00   0.000      0.  0.711E+00  0.891E-01  0.821E-03  0.358E-04   27  11  30    8  39   1   16  23   9    0.000    0.000       0
+  0   3540 00:48:48.18   0.8470A   2.1260   0.6365  -0.8073  0.080  0.00   0.000      0.  0.711E+00  0.893E-01  0.844E-03  0.452E-04   29  22  34    6  14   9   15  22   9    0.000    0.000       0
+  0   3547 00:48:54.09   0.8400A   2.1428  -0.6844   0.9054  0.079  0.00   0.000      0.  0.712E+00  0.896E-01  0.829E-03  0.435E-04   25   9  39   20  14   8   19  10   8    0.000    0.000       0
+  0   3555 00:49:00.77   0.8340A   2.1578   0.7664   1.0528  0.080  0.00   0.000      0.  0.711E+00  0.899E-01  0.824E-03  0.426E-04   25   9   4   20  30   9   20  10   9    0.000    0.000       0
+  0   3562 00:49:06.56   0.8250A   2.1809   0.8198   1.0182  0.081  0.00   0.000      0.  0.711E+00  0.901E-01  0.825E-03  0.418E-04   25   9   9   18  13   9   20  11   9    0.000    0.000       0
+  0   3569 00:49:12.30   0.8170A   2.2039   0.9761  -1.0536  0.081  0.00   0.000      0.  0.711E+00  0.902E-01  0.825E-03  0.420E-04   25   1  36   19  14   9   11  10   9    0.000    0.000       0
+  0   3576 00:49:18.05   0.8320A   2.1629   0.9123  -1.0970  0.081  0.00   0.000      0.  0.712E+00  0.905E-01  0.855E-03  0.500E-04   25   1   1   12  15   9    9  11   9    0.000    0.000       0
+  0   3584 00:49:24.70   0.8370A   2.1494   0.9487  -1.0085  0.081  0.00   0.000      0.  0.712E+00  0.911E-01  0.863E-03  0.553E-04   25   1   6   18  15   9   10  14   8    0.000    0.000       0
+  0   3591 00:49:30.58   0.8430A   2.1362   0.9165  -1.0703  0.082  0.00   0.000      0.  0.712E+00  0.916E-01  0.869E-03  0.559E-04   33   7  33   18  16   9    8  14   8    0.000    0.000       0
+  0   3598 00:49:36.44   0.8300A   2.1679   1.0025  -1.1064  0.082  0.00   0.000      0.  0.713E+00  0.920E-01  0.851E-03  0.509E-04   24  12  18   20  17   9   17  15   9    0.000    0.000       0
+  0   3605 00:49:42.34   0.8460A   2.1271   0.8177  -1.1291  0.082  0.00   0.000      0.  0.713E+00  0.919E-01  0.848E-03  0.440E-04   34   7   1   18  17   9   16  15   9    0.000    0.000       0
+  0   3612 00:49:48.21   0.8390A   2.1443  -0.8723  -1.0763  0.082  0.00   0.000      0.  0.712E+00  0.916E-01  0.832E-03  0.376E-04   34   7   6   10  26   9   15  15   9    0.000    0.000       0
+  0   3619 00:49:54.07   0.8400A   2.1429  -0.9192  -0.9044  0.082  0.00   0.000      0.  0.711E+00  0.911E-01  0.823E-03  0.351E-04   27  15   9   10  25   9   13  16   9    0.000    0.000       0
+  0   3627 00:50:00.83   0.8470A   2.1258  -0.8556  -0.8261  0.080  0.00   0.000      0.  0.710E+00  0.905E-01  0.826E-03  0.378E-04   30  16  25    9  24   9   11  16   9    0.000    0.000       0
+  0   3634 00:50:06.74   0.8460A   2.1265  -0.7262   0.7873  0.079  0.00   0.000      0.  0.709E+00  0.900E-01  0.813E-03  0.371E-04   30  16  31    8  23   9   13   9   4    0.000    0.000       0
+  0   3641 00:50:12.68   0.8520A   2.1135  -0.6866   0.7844  0.079  0.00   0.000      0.  0.708E+00  0.896E-01  0.816E-03  0.405E-04   30  16  36    9  24   9   15   9   6    0.000    0.000       0
+  0   3648 00:50:18.72   0.8690A   2.0715   0.7024  -0.8844  0.079  0.00   0.000      0.  0.708E+00  0.894E-01  0.829E-03  0.437E-04   24  16   2   20  28   9   17  23   9    0.000    0.000       0
+  0   3655 00:50:24.81   0.8720A   2.0645   0.7329  -0.9833  0.079  0.00   0.000      0.  0.708E+00  0.894E-01  0.823E-03  0.432E-04   28  16   9    9  10   8   17  24   9    0.000    0.000       0
+  0   3661 00:50:30.01   0.8700A   2.0678   0.8267  -0.9668  0.078  0.00   0.000      0.  0.708E+00  0.893E-01  0.812E-03  0.424E-04   26  14  36    9  12   9   16  24   9    0.000    0.000       0
+  0   3668 00:50:36.10   0.8740A   2.0585   0.9218  -0.8823  0.078  0.00   0.000      0.  0.708E+00  0.894E-01  0.819E-03  0.474E-04   27  16  19    9  13   9    5  12   9    0.000    0.000       0
+  0   3675 00:50:42.21   0.8700A   2.0690   0.8113  -0.8291  0.078  0.00   0.000      0.  0.708E+00  0.896E-01  0.811E-03  0.501E-04   26  13  14    9  15   9   13  22   9    0.000    0.000       0
+  0   3682 00:50:48.25   0.8580A   2.0989   0.6919  -1.0125  0.079  0.00   0.000      0.  0.708E+00  0.900E-01  0.793E-03  0.468E-04   26  13  19    8  16   9   17  16   9    0.000    0.000       0
+  0   3689 00:50:54.25   0.8600A   2.0919  -0.8635  -1.0944  0.081  0.00   0.000      0.  0.708E+00  0.903E-01  0.788E-03  0.431E-04   27  15  37   20  10   9   16  15   9    0.000    0.000       0
+  0   3696 00:51:00.19   0.8350A   2.1558  -0.8289  -1.0380  0.084  0.00   0.000      0.  0.708E+00  0.904E-01  0.760E-03  0.398E-04   26  15   2   19  10   9   18  17   9    0.000    0.000       0
+  0   3704 00:51:06.77   0.8140A   2.2117  -0.7519  -1.1186  0.086  0.00   0.000      0.  0.708E+00  0.904E-01  0.737E-03  0.387E-04   26  15   7   18  10   9   17  18   9    0.000    0.000       0
+  0   3711 00:51:12.46   0.8110A   2.2208  -0.7040  -1.0042  0.086  0.00   0.000      0.  0.708E+00  0.904E-01  0.748E-03  0.397E-04   26  15  12    5  28   9   16  18   9    0.000    0.000       0
+  0   3718 00:51:18.14   0.8130A   2.2134  -0.9176  -0.9960  0.086  0.00   0.000      0.  0.708E+00  0.903E-01  0.753E-03  0.399E-04   26  15  17    5  27   9   16  20   9    0.000    0.000       0
+  0   3726 00:51:24.70   0.8240A   2.1854  -0.9378  -0.9595  0.085  0.00   0.000      0.  0.707E+00  0.900E-01  0.741E-03  0.366E-04   26  15  23    5  26   9   15  20   9    0.000    0.000       0
+  0   3733 00:51:30.50   0.8380A   2.1469  -0.8646  -0.9022  0.085  0.00   0.000      0.  0.707E+00  0.897E-01  0.742E-03  0.375E-04   26  15  28    3  25   9   13  19   9    0.000    0.000       0
+  0   3740 00:51:36.40   0.8350A   2.1551  -0.7792  -0.8326  0.086  0.00   0.000      0.  0.706E+00  0.893E-01  0.730E-03  0.355E-04   25  11  37    6  24   9   17  26   9    0.000    0.000       0
+  0   3747 00:51:42.28   0.8400A   2.1429  -0.7501  -0.8220  0.086  0.00   0.000      0.  0.706E+00  0.890E-01  0.719E-03  0.352E-04   25  11   2    9  23   9    8  19   8    0.000    0.000       0
+  0   3754 00:51:48.25   0.8570A   2.1006  -0.7258  -0.7967  0.086  0.00   0.000      0.  0.705E+00  0.887E-01  0.724E-03  0.369E-04   26  15   6    7  22   9    8  18   8    0.000    0.000       0
+  0   3761 00:51:54.24   0.8550A   2.1047  -0.8243   0.7845  0.085  0.00   0.000      0.  0.705E+00  0.883E-01  0.727E-03  0.401E-04   26  15  11   16  28   9   20  28   9    0.000    0.000       0
+  0   3768 00:52:00.22   0.8520A   2.1129  -0.8473  -0.9827  0.085  0.00   0.000      0.  0.705E+00  0.880E-01  0.730E-03  0.409E-04   26  15  17   16  27   9   17  16   9    0.000    0.000       0
+  0   3775 00:52:06.17   0.8470A   2.1239  -0.7181  -1.0160  0.085  0.00   0.000      0.  0.705E+00  0.877E-01  0.721E-03  0.373E-04   26  15  22   17  27   9   16  16   9    0.000    0.000       0
+  0   3782 00:52:12.13   0.8570A   2.1003  -0.6353  -0.9586  0.085  0.00   0.000      0.  0.704E+00  0.872E-01  0.722E-03  0.385E-04   26  15  27   12  27   9   15  17   9    0.000    0.000       0
+  0   3789 00:52:18.22   0.8690A   2.0707  -0.6948  -0.8718  0.086  0.00   0.000      0.  0.703E+00  0.867E-01  0.725E-03  0.400E-04   26  14  32   17  10   9   16  20   9    0.000    0.000       0
+  0   3796 00:52:24.31   0.8750A   2.0567  -0.6223  -0.9126  0.085  0.00   0.000      0.  0.703E+00  0.862E-01  0.719E-03  0.387E-04   26  14  37   16  10   9   16  21   9    0.000    0.000       0
+  0   3803 00:52:30.44   0.8730A   2.0623   0.6710  -0.8754  0.084  0.00   0.000      0.  0.703E+00  0.858E-01  0.704E-03  0.368E-04   25  10  15   23  30  24   15  21   9    0.000    0.000       0
+  0   3810 00:52:36.54   0.8680A   2.0729   0.6457  -0.7949  0.083  0.00   0.000      0.  0.702E+00  0.855E-01  0.694E-03  0.368E-04   27  18  13   13  13   9   14  21   9    0.000    0.000       0
+  0   3817 00:52:42.66   0.8730A   2.0616   0.9254  -0.8063  0.081  0.00   0.000      0.  0.702E+00  0.855E-01  0.705E-03  0.421E-04   26  14  17   20  17   8    9  20   8    0.000    0.000       0
+  0   3824 00:52:48.75   0.8680A   2.0729   0.8719  -0.7560  0.080  0.00   0.000      0.  0.702E+00  0.856E-01  0.705E-03  0.431E-04   26  14  22   10  14   9    8  20   7    0.000    0.000       0
+  0   3831 00:52:54.81   0.8660A   2.0785   0.9092  -0.7096  0.079  0.00   0.000      0.  0.703E+00  0.857E-01  0.708E-03  0.439E-04   26  14  27   10  15   9    7  20   7    0.000    0.000       0
+  0   3837 00:53:00.02   0.8700A   2.0693  -0.9303  -0.7071  0.078  0.00   0.000      0.  0.703E+00  0.857E-01  0.715E-03  0.444E-04   26  14  31   10  26   9    6  27   9    0.000    0.000       0
+  0   3844 00:53:06.09   0.8650A   2.0800  -0.8945  -0.6855  0.076  0.00   0.000      0.  0.703E+00  0.858E-01  0.716E-03  0.469E-04   26  14   0   11  25   9    7  20   8    0.000    0.000       0
+  0   3851 00:53:12.09   0.8570A   2.1010  -0.8412  -0.6982  0.076  0.00   0.000      0.  0.703E+00  0.861E-01  0.714E-03  0.483E-04   24  11   7   11  24   9    6  20   8    0.000    0.000       0
+  0   3858 00:53:18.13   0.8520A   2.1135   0.7760  -0.7144  0.077  0.00   0.000      0.  0.704E+00  0.863E-01  0.703E-03  0.446E-04   24  19   0   10  14   9    5  20   7    0.000    0.000       0
+  0   3865 00:53:24.08   0.8550A   2.1061  -0.7994  -0.7260  0.077  0.00   0.000      0.  0.704E+00  0.866E-01  0.703E-03  0.404E-04   24  19   5    9  26   9   17  16   9    0.000    0.000       0
+  0   3872 00:53:30.04   0.8470A   2.1261  -0.8040  -0.7276  0.078  0.00   0.000      0.  0.704E+00  0.868E-01  0.691E-03  0.356E-04   25  14  20   11  25   9   17  20   9    0.000    0.000       0
+  0   3880 00:53:36.82   0.8480A   2.1235  -0.7530   0.8252  0.078  0.00   0.000      0.  0.705E+00  0.872E-01  0.702E-03  0.387E-04   23  19  16   10  24   9   21  10   9    0.000    0.000       0
+  0   3887 00:53:42.77   0.8490A   2.1210  -0.6862   0.7609  0.078  0.00   0.000      0.  0.705E+00  0.877E-01  0.712E-03  0.414E-04   23  19  21    8  23   9   21  11   9    0.000    0.000       0
+  0   3894 00:53:48.73   0.8440A   2.1334  -0.6395   0.6899  0.078  0.00   0.000      0.  0.705E+00  0.881E-01  0.709E-03  0.423E-04   24  15   3    8  27   9   20  11   9    0.000    0.000       0
+  0   3901 00:53:54.62   0.8360A   2.1537  -0.6572  -0.7820  0.079  0.00   0.000      0.  0.705E+00  0.883E-01  0.689E-03  0.379E-04   25  10  38   14  10   9   17  18   9    0.000    0.000       0
+  0   3908 00:54:00.51   0.8470A   2.1245  -0.7236  -0.7668  0.079  0.00   0.000      0.  0.705E+00  0.884E-01  0.695E-03  0.377E-04   25  10   3   15  10   9   16  19   9    0.000    0.000       0
+  0   3915 00:54:06.51   0.8540A   2.1069   0.6851   0.7274  0.079  0.00   0.000      0.  0.705E+00  0.883E-01  0.697E-03  0.373E-04   22  11   6    9  12   9   20  11   9    0.000    0.000       0
+  0   3922 00:54:12.56   0.8880A   2.0264   0.7882  -0.7537  0.079  0.00   0.000      0.  0.705E+00  0.882E-01  0.716E-03  0.396E-04   22   9  11    8  13   9   18  10   8    0.000    0.000       0
+  0   3929 00:54:18.76   0.8740A   2.0592   0.8663  -0.7258  0.078  0.00   0.000      0.  0.704E+00  0.881E-01  0.692E-03  0.357E-04   25   9  18    7  14   9   17  10   9    0.000    0.000       0
+  0   3935 00:54:24.02   0.8780A   2.0507   0.8482  -0.6410  0.078  0.00   0.000      0.  0.704E+00  0.880E-01  0.685E-03  0.327E-04   23  19  38    7  15   9   18  11   9    0.000    0.000       0
+  0   3942 00:54:30.06   0.8520A   2.1127   0.7613  -0.6909  0.078  0.00   0.000      0.  0.703E+00  0.880E-01  0.674E-03  0.339E-04   22  10  21    7  16   9    6  29   8    0.000    0.000       0
+  0   3949 00:54:36.05   0.8590A   2.0954   0.6499  -0.6637  0.078  0.00   0.000      0.  0.704E+00  0.883E-01  0.694E-03  0.386E-04   27   8  29    7  16   9    5  29   8    0.000    0.000       0
+  0   3957 00:54:42.84   0.8500A   2.1166   0.6250   0.7829  0.079  0.00   0.000      0.  0.704E+00  0.888E-01  0.708E-03  0.466E-04   27   8  35    1  30   2   20  10   9    0.000    0.000       0
+  0   3964 00:54:48.85   0.8640A   2.0824  -0.7413   1.0091  0.079  0.00   0.000      0.  0.705E+00  0.893E-01  0.733E-03  0.484E-04   24   7  38    9  27   9   20  10   9    0.000    0.000       0
+  0   3970 00:54:54.09   0.8770A   2.0517  -0.9595   1.0769  0.079  0.00   0.000      0.  0.706E+00  0.896E-01  0.753E-03  0.478E-04   28   9   4   10  27   9   20  11   9    0.000    0.000       0
+  0   3977 00:55:00.22   0.8750A   2.0572  -1.0356   1.0658  0.079  0.00   0.000      0.  0.706E+00  0.898E-01  0.759E-03  0.476E-04   28   9   9   11  26   9   21  12   9    0.000    0.000       0
+  0   3984 00:55:06.30   0.8670A   2.0769  -1.0115   1.0377  0.079  0.00   0.000      0.  0.707E+00  0.898E-01  0.757E-03  0.477E-04   27   7  15   10  24   9   21  13   9    0.000    0.000       0
+  0   3991 00:55:12.38   0.8750A   2.0570  -0.9631   0.8860  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.758E-03  0.471E-04   28   7  21   10  23   9   21  13   9    0.000    0.000       0
+  0   3998 00:55:18.50   0.8740A   2.0592   0.9179   0.9355  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.764E-03  0.509E-04   25  12  36   12  15   9   20  14   9    0.000    0.000       0
+  0   4005 00:55:24.65   0.8800A   2.0459   0.9186  -0.8206  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.771E-03  0.488E-04   32  12   3   12  16   9   17  17   9    0.000    0.000       0
+  0   4012 00:55:30.81   0.8800A   2.0461   0.8779  -0.8635  0.078  0.00   0.000      0.  0.706E+00  0.896E-01  0.777E-03  0.491E-04   34  10  22   11  16   9   17  16   9    0.000    0.000       0
+  0   4018 00:55:36.07   0.8710A   2.0662  -0.9093  -0.8866  0.079  0.00   0.000      0.  0.706E+00  0.897E-01  0.769E-03  0.499E-04   26  14  32   19  10   9   16  16   9    0.000    0.000       0
+  0   4025 00:55:42.19   0.8800A   2.0443  -1.1417  -1.0284  0.080  0.00   0.000      0.  0.706E+00  0.899E-01  0.772E-03  0.499E-04   28  25  35   20  15   8   17  14   9    0.000    0.000       0
+  0   4032 00:55:48.32   0.8770A   2.0530  -0.8611  -0.8974  0.082  0.00   0.000      0.  0.707E+00  0.901E-01  0.773E-03  0.481E-04   24  25  34   17  10   9   17  13   9    0.000    0.000       0
+  0   4039 00:55:54.46   0.8770A   2.0523  -0.7174  -1.0735  0.082  0.00   0.000      0.  0.707E+00  0.900E-01  0.764E-03  0.417E-04   24  25  39    9  26   9   17  19   9    0.000    0.000       0
+  0   4046 00:56:00.61   0.8790A   2.0484  -0.6903  -1.0242  0.081  0.00   0.000      0.  0.707E+00  0.898E-01  0.759E-03  0.389E-04   24  23  37    9  25   9   16  21   9    0.000    0.000       0
+  0   4053 00:56:06.69   0.8620A   2.0873  -0.7238  -0.9666  0.080  0.00   0.000      0.  0.706E+00  0.894E-01  0.738E-03  0.356E-04   24  23   2   14  28   9   17  16   9    0.000    0.000       0
+  0   4060 00:56:12.71   0.8430A   2.1359  -0.8499  -0.9455  0.079  0.00   0.000      0.  0.705E+00  0.888E-01  0.716E-03  0.328E-04   22  10   1   14  27   9   17  15   9    0.000    0.000       0
+  0   4067 00:56:18.56   0.8360A   2.1531  -0.8476  -0.8144  0.078  0.00   0.000      0.  0.704E+00  0.885E-01  0.712E-03  0.336E-04   22  10   5   14  26   9   16  15   9    0.000    0.000       0
+  0   4074 00:56:24.33   0.8300A   2.1679  -0.7440  -0.7700  0.077  0.00   0.000      0.  0.703E+00  0.884E-01  0.709E-03  0.387E-04   22  10   8   13  25   9   15  18   9    0.000    0.000       0
+  0   4081 00:56:30.13   0.8260A   2.1793   0.7364   0.7601  0.077  0.00   0.000      0.  0.703E+00  0.886E-01  0.710E-03  0.433E-04   38   2  20   15  12   9   20  26   9    0.000    0.000       0
+  0   4089 00:56:36.77   0.8320A   2.1645   0.8803  -0.9768  0.077  0.00   0.000      0.  0.704E+00  0.891E-01  0.716E-03  0.464E-04   38   2  25   19  21   9   17  18   9    0.000    0.000       0
+  0   4096 00:56:42.48   0.7990A   2.2538   0.7560  -1.0245  0.078  0.00   0.000      0.  0.705E+00  0.895E-01  0.697E-03  0.443E-04   24  14  21   19  22   9   16  18   9    0.000    0.000       0
+  0   4103 00:56:48.12   0.8040A   2.2384   0.6744  -0.9466  0.079  0.00   0.000      0.  0.706E+00  0.898E-01  0.694E-03  0.416E-04   24  14  25   19  30   9   14  18   9    0.000    0.000       0
+  0   4111 00:56:54.74   0.8240A   2.1833   0.8165  -0.8557  0.081  0.00   0.000      0.  0.706E+00  0.899E-01  0.708E-03  0.397E-04   24  14  30   19  30   9   14  15   9    0.000    0.000       0
+  0   4118 00:57:00.62   0.8590A   2.0947  -0.7850  -0.8143  0.082  0.00   0.000      0.  0.706E+00  0.896E-01  0.724E-03  0.383E-04   24  14  34    8  28   9   11  19   9    0.000    0.000       0
+  0   4125 00:57:06.59   0.8560A   2.1034  -0.9209  -0.8248  0.082  0.00   0.000      0.  0.706E+00  0.890E-01  0.715E-03  0.364E-04   24  14  39    8  27   9   18  24   9    0.000    0.000       0
+  0   4132 00:57:12.70   0.8780A   2.0498  -0.9207  -0.9762  0.081  0.00   0.000      0.  0.705E+00  0.883E-01  0.724E-03  0.373E-04   22  25  15    6  27   9   17  23   9    0.000    0.000       0
+  0   4139 00:57:18.78   0.8770A   2.0523  -0.8623  -0.9892  0.080  0.00   0.000      0.  0.704E+00  0.878E-01  0.717E-03  0.391E-04   36   7  38    6  26   9   16  23   9    0.000    0.000       0
+  0   4145 00:57:24.02   0.8690A   2.0712  -0.8074  -0.9513  0.080  0.00   0.000      0.  0.703E+00  0.873E-01  0.701E-03  0.368E-04   36   7   2    5  25   9   15  23   9    0.000    0.000       0
+  0   4152 00:57:30.11   0.8720A   2.0635  -0.8491  -0.9097  0.079  0.00   0.000      0.  0.702E+00  0.868E-01  0.696E-03  0.358E-04   36   7   7   15  27   9   14  23   9    0.000    0.000       0
+  0   4159 00:57:36.16   0.8630A   2.0850  -0.8430  -0.8590  0.080  0.00   0.000      0.  0.702E+00  0.863E-01  0.680E-03  0.341E-04   36  34  30   14  26   9   13  23   9    0.000    0.000       0
+  0   4166 00:57:42.17   0.8610A   2.0895  -0.7615  -0.7758  0.080  0.00   0.000      0.  0.701E+00  0.859E-01  0.677E-03  0.363E-04   36  34  35   13  25   9   12  22   9    0.000    0.000       0
+  0   4173 00:57:48.16   0.8510A   2.1142   0.7385  -0.7258  0.080  0.00   0.000      0.  0.701E+00  0.858E-01  0.673E-03  0.385E-04   25  27  13   17  15   9   14  22   9    0.000    0.000       0
+  0   4180 00:57:54.06   0.8300A   2.1690   0.7753  -0.7327  0.080  0.00   0.000      0.  0.702E+00  0.858E-01  0.650E-03  0.368E-04   22  27  11    9  13   9   17  18   9    0.000    0.000       0
+  0   4188 00:58:00.51   0.7970A   2.2582   0.8146  -0.7767  0.081  0.00   0.000      0.  0.702E+00  0.861E-01  0.627E-03  0.379E-04   22  27  16    9  14   9   18  16   9    0.000    0.000       0
+  0   4196 00:58:06.62   0.7570A   2.3766  -0.8739  -0.7881  0.081  0.00   0.000      0.  0.703E+00  0.865E-01  0.597E-03  0.372E-04   22  27  20   19  27   9   17  16   9    0.000    0.000       0
+  0   4204 00:58:12.69   0.7550A   2.3853   0.7532  -0.7423  0.082  0.00   0.000      0.  0.703E+00  0.868E-01  0.594E-03  0.382E-04   22  27  25    9  16   9   11  20   8    0.000    0.000       0
+  0   4211 00:58:18.14   0.7890A   2.2809   0.6988  -0.7303  0.082  0.00   0.000      0.  0.703E+00  0.870E-01  0.614E-03  0.366E-04   22  27  29    7  12   9   10  20   7    0.000    0.000       0
+  0   4219 00:58:24.81   0.8690A   2.0709   0.8373  -0.7429  0.081  0.00   0.000      0.  0.703E+00  0.869E-01  0.663E-03  0.364E-04   22  27  34    7  13   9    7  20   7    0.000    0.000       0
+  0   4225 00:58:30.08   0.8830A   2.0392   0.8591   0.7582  0.081  0.00   0.000      0.  0.702E+00  0.866E-01  0.666E-03  0.365E-04   36   8  15    7  14   9   20  28   9    0.000    0.000       0
+  0   4232 00:58:36.27   0.8930A   2.0163   0.8148  -0.6916  0.081  0.00   0.000      0.  0.702E+00  0.862E-01  0.668E-03  0.355E-04   36   8  20    7  15   9   17  18   9    0.000    0.000       0
+  0   4239 00:58:42.50   0.8770A   2.0526   0.7179  -0.8403  0.081  0.00   0.000      0.  0.701E+00  0.857E-01  0.651E-03  0.330E-04   22  26   2    8  15   9   17  19   9    0.000    0.000       0
+  0   4246 00:58:48.54   0.8490A   2.1203   0.6419  -0.8482  0.080  0.00   0.000      0.  0.700E+00  0.854E-01  0.625E-03  0.303E-04   22  26   6    7  17   9   16  19   9    0.000    0.000       0
+  0   4253 00:58:54.73   0.8940A   2.0124   0.5768  -0.7735  0.080  0.00   0.000      0.  0.700E+00  0.852E-01  0.653E-03  0.340E-04   31  38  28    8  17   9   15  20   9    0.000    0.000       0
+  0   4259 00:59:00.06   0.8860A   2.0319  -0.5720  -0.6924  0.081  0.00   0.000      0.  0.700E+00  0.854E-01  0.643E-03  0.345E-04   22  25  17   11  24   9   14  20   9    0.000    0.000       0
+  0   4266 00:59:06.30   0.8980A   2.0049  -0.5901  -0.6850  0.081  0.00   0.000      0.  0.700E+00  0.860E-01  0.658E-03  0.395E-04   25   8   3   11  23   9    7  19   7    0.000    0.000       0
+  0   4273 00:59:12.58   0.8960A   2.0093   0.6045   0.7273  0.082  0.00   0.000      0.  0.701E+00  0.867E-01  0.649E-03  0.360E-04   33  36  36    4  23   6   19  29   8    0.000    0.000       0
+  0   4280 00:59:18.84   0.8950A   2.0118   0.5864   0.7813  0.081  0.00   0.000      0.  0.701E+00  0.872E-01  0.656E-03  0.366E-04   33  36   1    4  24   5   20  11   9    0.000    0.000       0
+  0   4286 00:59:24.24   0.8970A   2.0078  -0.5906   0.9619  0.080  0.00   0.000      0.  0.702E+00  0.876E-01  0.669E-03  0.395E-04   24   8  14    8  21   9   20  11   9    0.000    0.000       0
+  0   4293 00:59:30.47   0.8870A   2.0300   0.7130   0.8190  0.079  0.00   0.000      0.  0.702E+00  0.878E-01  0.661E-03  0.370E-04   37  10  27   19  13   9   20  12   9    0.000    0.000       0
+  0   4300 00:59:36.70   0.8890A   2.0256   0.7492   0.6171  0.078  0.00   0.000      0.  0.701E+00  0.876E-01  0.653E-03  0.332E-04   37  10  31   15  13   9   20  28   9    0.000    0.000       0
+  0   4306 00:59:42.07   0.8930A   2.0148   0.7306  -0.7354  0.077  0.00   0.000      0.  0.701E+00  0.872E-01  0.659E-03  0.360E-04   37  10  35   15  14   9   18  22   9    0.000    0.000       0
+  0   4313 00:59:48.42   0.9090A   1.9792   0.7895  -0.7391  0.076  0.00   0.000      0.  0.700E+00  0.867E-01  0.670E-03  0.370E-04   28  26  23   14  13   9   17  22   9    0.000    0.000       0
+  0   4320 00:59:54.71   0.9000A   2.0010   0.8613  -0.6746  0.076  0.00   0.000      0.  0.699E+00  0.865E-01  0.673E-03  0.432E-04   38  28   2   11  14   9   16  22   9    0.000    0.000       0
+  0   4327 01:00:00.86   0.8670A   2.0766  -0.9611  -0.6679  0.077  0.00   0.000      0.  0.700E+00  0.866E-01  0.669E-03  0.484E-04   38  28   7   20  10   9   18  12   9    0.000    0.000       0
+  0   4333 01:00:06.07   0.8600A   2.0935  -0.8795  -0.8526  0.078  0.00   0.000      0.  0.700E+00  0.869E-01  0.667E-03  0.461E-04   38  28  11   19  10   9   18  15   9    0.000    0.000       0
+  0   4340 01:00:12.13   0.8670A   2.0767  -0.7155  -0.9154  0.079  0.00   0.000      0.  0.701E+00  0.871E-01  0.670E-03  0.437E-04   38  28  16   18  10   9   17  15   9    0.000    0.000       0
+  0   4347 01:00:18.28   0.8920A   2.0175  -0.6887  -0.8865  0.079  0.00   0.000      0.  0.701E+00  0.873E-01  0.691E-03  0.441E-04   38  27  19   15  10   9   17  17   9    0.000    0.000       0
+  0   4354 01:00:24.51   0.8910A   2.0195   0.6632   0.9947  0.078  0.00   0.000      0.  0.701E+00  0.875E-01  0.692E-03  0.451E-04   38  27  24   12  18   8   20  11   9    0.000    0.000       0
+  0   4361 01:00:30.78   0.8950A   2.0119  -0.8241   0.9794  0.077  0.00   0.000      0.  0.701E+00  0.876E-01  0.697E-03  0.452E-04   29  26  18   10  27   9   20  12   9    0.000    0.000       0
+  0   4367 01:00:36.14   0.8940A   2.0141  -0.8637   0.9683  0.076  0.00   0.000      0.  0.701E+00  0.876E-01  0.708E-03  0.456E-04   29  26  23   10  26   9   20  12   9    0.000    0.000       0
+  0   4374 01:00:42.38   0.8880A   2.0270  -0.8764   0.9106  0.076  0.00   0.000      0.  0.701E+00  0.877E-01  0.717E-03  0.486E-04   29  25  28   12  26   9   20  13   9    0.000    0.000       0
+  0   4381 01:00:48.60   0.8890A   2.0242  -0.8611   0.8950  0.075  0.00   0.000      0.  0.701E+00  0.878E-01  0.727E-03  0.512E-04   31  12  12   12  25   9   20  14   9    0.000    0.000       0
+  0   4388 01:00:54.75   0.8710A   2.0668  -0.8731  -0.7911  0.075  0.00   0.000      0.  0.702E+00  0.881E-01  0.724E-03  0.529E-04   26  31  23    9  27   9   10  18   9    0.000    0.000       0
+  0   4394 01:01:00.03   0.8790A   2.0483  -1.2840  -0.8003  0.076  0.00   0.000      0.  0.703E+00  0.884E-01  0.738E-03  0.555E-04   29  25   4   20  13   8    9  19   8    0.000    0.000       0
+  0   4401 01:01:06.20   0.8810A   2.0427  -1.0335  -0.8317  0.078  0.00   0.000      0.  0.704E+00  0.888E-01  0.734E-03  0.498E-04   29  25   9   19  10   9    8  19   8    0.000    0.000       0
+  0   4408 01:01:12.42   0.8910A   2.0208  -0.8497  -1.0069  0.080  0.00   0.000      0.  0.704E+00  0.889E-01  0.729E-03  0.445E-04   29  25  14    8  24   9   18  18   9    0.000    0.000       0
+  0   4415 01:01:18.67   0.8860A   2.0320   0.8839  -1.0741  0.080  0.00   0.000      0.  0.704E+00  0.888E-01  0.720E-03  0.434E-04   26  31   2   20  13   8   16  18   9    0.000    0.000       0
+  0   4421 01:01:24.03   0.8960A   2.0090   0.8764  -1.0270  0.080  0.00   0.000      0.  0.705E+00  0.888E-01  0.723E-03  0.435E-04   25   6  24   20  14   8   15  19   9    0.000    0.000       0
+  0   4428 01:01:30.21   0.8730A   2.0608   0.8425  -0.9215  0.079  0.00   0.000      0.  0.705E+00  0.887E-01  0.715E-03  0.443E-04   25   6  29   18  13   9   14  19   9    0.000    0.000       0
+  0   4435 01:01:36.32   0.8690A   2.0711   0.8198  -0.8837  0.079  0.00   0.000      0.  0.705E+00  0.886E-01  0.715E-03  0.453E-04   25   6  34   16  14   9   15  20   9    0.000    0.000       0
+  0   4442 01:01:42.44   0.8760A   2.0537  -0.9487  -0.8309  0.078  0.00   0.000      0.  0.706E+00  0.883E-01  0.713E-03  0.436E-04   25   6  39   10  27   9   14  19   9    0.000    0.000       0
+  0   4449 01:01:48.65   0.8920A   2.0180  -0.9789  -0.7891  0.077  0.00   0.000      0.  0.705E+00  0.879E-01  0.715E-03  0.415E-04   25   6   4   10  26   9   13  19   9    0.000    0.000       0
+  0   4456 01:01:54.82   0.8750A   2.0570  -0.9137  -0.7516  0.077  0.00   0.000      0.  0.705E+00  0.873E-01  0.697E-03  0.393E-04   25   6  10    7  26   9   12  16   7    0.000    0.000       0
+  0   4462 01:02:00.01   0.8620A   2.0886  -0.9005  -0.7347  0.077  0.00   0.000      0.  0.705E+00  0.869E-01  0.686E-03  0.375E-04   25   6  15    9  25   9    5  11   9    0.000    0.000       0
+  0   4469 01:02:06.06   0.8730A   2.0622  -0.8406  -0.7038  0.077  0.00   0.000      0.  0.704E+00  0.864E-01  0.696E-03  0.379E-04   25   6  20    9  25   9    5  12   9    0.000    0.000       0
+  0   4476 01:02:12.22   0.8810A   2.0431   0.8417  -0.6878  0.077  0.00   0.000      0.  0.704E+00  0.859E-01  0.706E-03  0.393E-04   36   4   3   11  15   9    9  17   5    0.000    0.000       0
+  0   4483 01:02:18.47   0.9000A   1.9996   0.8229  -0.6874  0.077  0.00   0.000      0.  0.704E+00  0.856E-01  0.718E-03  0.397E-04   35   4   9   10  16   9   16  18   9    0.000    0.000       0
+  0   4490 01:02:24.77   0.8900A   2.0230   0.7646  -0.6544  0.078  0.00   0.000      0.  0.704E+00  0.853E-01  0.708E-03  0.384E-04   36  18   4    9  17   9   15  18   9    0.000    0.000       0
+  0   4496 01:02:30.05   0.8760A   2.0550   0.7184  -0.6972  0.078  0.00   0.000      0.  0.704E+00  0.852E-01  0.705E-03  0.394E-04   36  18   8    8  17   9   18  21   9    0.000    0.000       0
+  0   4503 01:02:36.22   0.8860A   2.0317   0.6547  -0.7590  0.078  0.00   0.000      0.  0.704E+00  0.851E-01  0.719E-03  0.405E-04   36  18  13    7  17   9   17  21   9    0.000    0.000       0
+  0   4510 01:02:42.46   0.8820A   2.0419  -0.6653  -0.7200  0.078  0.00   0.000      0.  0.704E+00  0.851E-01  0.721E-03  0.412E-04   22  13  11   13  27   9   16  21   9    0.000    0.000       0
+  0   4517 01:02:48.73   0.8960A   2.0085  -0.7367   0.7072  0.077  0.00   0.000      0.  0.704E+00  0.852E-01  0.732E-03  0.424E-04   34  12  28   12  26   9   17  29   9    0.000    0.000       0
+  0   4523 01:02:54.12   0.8970A   2.0074  -0.8685   0.7263  0.078  0.00   0.000      0.  0.705E+00  0.853E-01  0.740E-03  0.467E-04   33  14  32   10  27   9   17  28   9    0.000    0.000       0
+  0   4530 01:03:00.30   0.8710A   2.0661  -0.9294  -0.9314  0.078  0.00   0.000      0.  0.706E+00  0.857E-01  0.736E-03  0.506E-04   33  14  37   10  26   9   18  14   9    0.000    0.000       0
+  0   4537 01:03:06.38   0.8650A   2.0803  -0.9389  -0.9857  0.078  0.00   0.000      0.  0.706E+00  0.860E-01  0.733E-03  0.472E-04   33  14   2   11  24   9   17  15   9    0.000    0.000       0
+  0   4544 01:03:12.50   0.8780A   2.0510  -0.9212  -0.9115  0.078  0.00   0.000      0.  0.707E+00  0.860E-01  0.742E-03  0.450E-04   25  29  10   10  24   9   16  16   9    0.000    0.000       0
+  0   4551 01:03:18.69   0.8900A   2.0234   0.8877  -0.8392  0.077  0.00   0.000      0.  0.707E+00  0.858E-01  0.747E-03  0.413E-04   26   7   2   13  14   9   16  15   9    0.000    0.000       0
+  0   4558 01:03:24.89   0.8950A   2.0114  -0.8367  -0.6968  0.077  0.00   0.000      0.  0.706E+00  0.854E-01  0.746E-03  0.370E-04   26   7   8   10  23   9   17  11   9    0.000    0.000       0
+  0   4564 01:03:30.24   0.8910A   2.0198  -0.8935   0.7460  0.076  0.00   0.000      0.  0.706E+00  0.849E-01  0.744E-03  0.343E-04   26   7  12    8  27   9   18  31  39    0.000    0.000       0
+  0   4571 01:03:36.49   0.8950A   2.0111  -0.9011   0.7459  0.075  0.00   0.000      0.  0.705E+00  0.842E-01  0.750E-03  0.367E-04   26   7  18    9  25   9   19  31   2    0.000    0.000       0
+  0   4578 01:03:42.74   0.8870A   2.0287  -0.8522   0.6988  0.074  0.00   0.000      0.  0.704E+00  0.837E-01  0.748E-03  0.414E-04   23   7  23    9  24   9   18  30   4    0.000    0.000       0
+  0   4584 01:03:48.11   0.8940A   2.0130  -0.7727   0.7960  0.074  0.00   0.000      0.  0.704E+00  0.836E-01  0.756E-03  0.485E-04   32  26  18    9  23   9   19  30   6    0.000    0.000       0
+  0   4591 01:03:54.36   0.8940A   2.0136  -0.7190   0.9790  0.074  0.00   0.000      0.  0.704E+00  0.838E-01  0.746E-03  0.457E-04   30  25  21    5  22   9   19  29   8    0.000    0.000       0
+  0   4598 01:04:00.61   0.8920A   2.0173   0.6765   1.2389  0.075  0.00   0.000      0.  0.705E+00  0.842E-01  0.749E-03  0.485E-04   32  26  29   20  19   9   20  29   9    0.000    0.000       0
+  0   4605 01:04:06.84   0.8890A   2.0258  -0.7795   1.1176  0.074  0.00   0.000      0.  0.706E+00  0.848E-01  0.744E-03  0.480E-04   31  22  33   14  27   9   21  28   9    0.000    0.000       0
+  0   4611 01:04:12.18   0.8930A   2.0158  -0.9206   0.9058  0.074  0.00   0.000      0.  0.707E+00  0.852E-01  0.744E-03  0.459E-04   31  22  38   14  26   9   20  27   9    0.000    0.000       0
+  0   4618 01:04:18.45   0.9000A   2.0002  -0.9763  -0.8436  0.074  0.00   0.000      0.  0.708E+00  0.855E-01  0.740E-03  0.419E-04   31  22   3   15  25   9   20  27   8    0.000    0.000       0
+  0   4625 01:04:24.77   0.9070A   1.9853  -0.9405  -0.7913  0.073  0.00   0.000      0.  0.708E+00  0.856E-01  0.729E-03  0.417E-04   22   1  34   14  24   9   19  27   8    0.000    0.000       0
+  0   4631 01:04:30.16   0.8910A   2.0201   0.9409   0.7466  0.073  0.00   0.000      0.  0.708E+00  0.854E-01  0.707E-03  0.387E-04   22   1  38    8  15   9   20  24   9    0.000    0.000       0
+  0   4638 01:04:36.38   0.8860A   2.0312   0.8912  -0.6149  0.073  0.00   0.000      0.  0.708E+00  0.850E-01  0.705E-03  0.384E-04   22   1   3    7  16   9   17  27   8    0.000    0.000       0
+  0   4645 01:04:42.61   0.8890A   2.0248   0.8479  -0.6009  0.073  0.00   0.000      0.  0.707E+00  0.847E-01  0.707E-03  0.375E-04   22   9  12    5  13   9   18  26   9    0.000    0.000       0
+  0   4652 01:04:48.83   0.9050A   1.9897   0.8062  -0.6331  0.074  0.00   0.000      0.  0.706E+00  0.842E-01  0.706E-03  0.318E-04   22   9  17    4  14   9   17  21   9    0.000    0.000       0
+  0   4658 01:04:54.29   0.9100A   1.9775   0.7715  -0.6814  0.074  0.00   0.000      0.  0.705E+00  0.836E-01  0.711E-03  0.322E-04   33  34  11    3  15   9   17  22   9    0.000    0.000       0
+  0   4665 01:05:00.64   0.8990A   2.0023   0.7716  -0.7386  0.074  0.00   0.000      0.  0.704E+00  0.831E-01  0.708E-03  0.376E-04   33  34  16   12  13   9   17  24   9    0.000    0.000       0
+  0   4671 01:05:06.02   0.8910A   2.0209   0.7005  -0.7447  0.074  0.00   0.000      0.  0.704E+00  0.831E-01  0.711E-03  0.458E-04   33  34  20    2  16   9   17  24   9    0.000    0.000       0
+  0   4678 01:05:12.23   0.8820A   2.0415   0.6580   0.8987  0.074  0.00   0.000      0.  0.705E+00  0.835E-01  0.703E-03  0.490E-04   33  34  25    2  17   9   19  29   8    0.000    0.000       0
+  0   4685 01:05:18.40   0.8760A   2.0552  -0.6631   1.0026  0.075  0.00   0.000      0.  0.706E+00  0.842E-01  0.697E-03  0.507E-04   33  34  30   20  10   9   20  29   8    0.000    0.000       0
+  0   4692 01:05:24.53   0.8740A   2.0595  -0.7806   1.0903  0.077  0.00   0.000      0.  0.707E+00  0.848E-01  0.700E-03  0.498E-04   33  34  35   20  10   9   21  29   9    0.000    0.000       0
+  0   4699 01:05:30.67   0.8780A   2.0499  -0.6697   1.0756  0.078  0.00   0.000      0.  0.707E+00  0.854E-01  0.705E-03  0.448E-04   33  34   0   20  10   9   21  28   9    0.000    0.000       0
+  0   4706 01:05:36.86   0.8900A   2.0226  -0.7183  -1.0377  0.078  0.00   0.000      0.  0.708E+00  0.857E-01  0.715E-03  0.420E-04   33  34   5   14  27   9   17  19   9    0.000    0.000       0
+  0   4712 01:05:42.23   0.9010A   1.9978   0.7173  -1.0549  0.078  0.00   0.000      0.  0.708E+00  0.858E-01  0.725E-03  0.416E-04   33  34  10    8  13   9   16  19   9    0.000    0.000       0
+  0   4719 01:05:48.54   0.8980A   2.0037  -0.7761  -0.9681  0.078  0.00   0.000      0.  0.708E+00  0.861E-01  0.726E-03  0.425E-04   33  33  15   17  27   9   15  19   9    0.000    0.000       0
+  0   4726 01:05:54.83   0.9030A   1.9937  -0.7681   0.9524  0.077  0.00   0.000      0.  0.708E+00  0.863E-01  0.724E-03  0.432E-04   33  33  20   17  26   9   20  26   9    0.000    0.000       0
+  0   4732 01:06:00.24   0.9020A   1.9963   0.7393   1.0322  0.077  0.00   0.000      0.  0.708E+00  0.864E-01  0.718E-03  0.432E-04   33  33  25   17  13   9   21  26   9    0.000    0.000       0
+  0   4739 01:06:06.59   0.9060A   1.9869  -0.7398   0.8289  0.076  0.00   0.000      0.  0.708E+00  0.862E-01  0.717E-03  0.459E-04   31  34  26   13  24   9   20  25   9    0.000    0.000       0
+  0   4745 01:06:12.06   0.9160A   1.9642   0.7193   0.7410  0.076  0.00   0.000      0.  0.707E+00  0.859E-01  0.723E-03  0.471E-04   34  29  12   16  15   9   20  24   9    0.000    0.000       0
+  0   4752 01:06:18.42   0.9060A   1.9869   0.7153  -0.7627  0.075  0.00   0.000      0.  0.706E+00  0.856E-01  0.722E-03  0.468E-04   34  29  18   16  15   9    9  19   8    0.000    0.000       0
+  0   4759 01:06:24.73   0.9010A   1.9980   0.6900  -0.7689  0.074  0.00   0.000      0.  0.706E+00  0.854E-01  0.731E-03  0.476E-04   34  30  22   15  16   9    8  19   8    0.000    0.000       0
+  0   4765 01:06:30.13   0.8980A   2.0048   0.6913  -0.7745  0.074  0.00   0.000      0.  0.706E+00  0.854E-01  0.730E-03  0.451E-04   34  30  26   20  29   8    7  19   7    0.000    0.000       0
+  0   4772 01:06:36.43   0.8980A   2.0037   0.7018  -0.7292  0.075  0.00   0.000      0.  0.706E+00  0.853E-01  0.723E-03  0.423E-04   26   8   6   20  26   8    6  19   5    0.000    0.000       0
+  0   4779 01:06:42.67   0.8910A   2.0207   0.6912  -0.7166  0.076  0.00   0.000      0.  0.706E+00  0.853E-01  0.718E-03  0.416E-04   26   8  10   20  28   9    5  18   4    0.000    0.000       0
+  0   4785 01:06:48.00   0.8940A   2.0138   0.8601  -0.7132  0.078  0.00   0.000      0.  0.706E+00  0.855E-01  0.731E-03  0.458E-04   26   8  14   20  28   9    4  18   3    0.000    0.000       0
+  0   4792 01:06:54.29   0.8960A   2.0097   0.7404  -1.0366  0.080  0.00   0.000      0.  0.706E+00  0.859E-01  0.759E-03  0.525E-04   32  28   9   19  27   9   17  23   9    0.000    0.000       0
+  0   4799 01:07:00.54   0.8890A   2.0248   0.7984  -1.2926  0.082  0.00   0.000      0.  0.707E+00  0.863E-01  0.759E-03  0.476E-04   32  28  14   19  30   9   16  21   9    0.000    0.000       0
+  0   4806 01:07:06.61   0.8410A   2.1398   0.6755  -1.1699  0.084  0.00   0.000      0.  0.707E+00  0.864E-01  0.720E-03  0.431E-04   22  10   6   18  30   9   15  20   9    0.000    0.000       0
+  0   4813 01:07:12.57   0.8570A   2.1009   0.9880  -1.0758  0.084  0.00   0.000      0.  0.707E+00  0.865E-01  0.746E-03  0.465E-04   22  10  10   14  13   9   16  19   9    0.000    0.000       0
+  0   4820 01:07:18.55   0.8700A   2.0683   1.0847  -1.0172  0.083  0.00   0.000      0.  0.707E+00  0.865E-01  0.767E-03  0.520E-04   22   9  14   15  14   9   15  19   9    0.000    0.000       0
+  0   4827 01:07:24.75   0.8990A   2.0013   1.0337  -0.9797  0.084  0.00   0.000      0.  0.707E+00  0.867E-01  0.794E-03  0.566E-04   26   4  22   14  16   9   11  20   8    0.000    0.000       0
+  0   4833 01:07:30.13   0.8950A   2.0108   1.0133  -1.0106  0.084  0.00   0.000      0.  0.708E+00  0.869E-01  0.801E-03  0.584E-04   31  28   0   13  15   9    9  20   8    0.000    0.000       0
+  0   4840 01:07:36.39   0.8940A   2.0144   1.0301  -0.9668  0.084  0.00   0.000      0.  0.708E+00  0.871E-01  0.798E-03  0.562E-04   34  37  25   11  16   9    7  20   8    0.000    0.000       0
+  0   4847 01:07:42.64   0.8890A   2.0237   1.0327   0.9340  0.082  0.00   0.000      0.  0.708E+00  0.871E-01  0.778E-03  0.527E-04   34  37  30   10  15   9   20  26   9    0.000    0.000       0
+  0   4854 01:07:48.87   0.8880A   2.0265   0.9979   0.9677  0.082  0.00   0.000      0.  0.708E+00  0.872E-01  0.775E-03  0.534E-04   31  28  16    9  16   9   20  27   9    0.000    0.000       0
+  0   4860 01:07:54.17   0.8690A   2.0706   0.9490   0.8735  0.081  0.00   0.000      0.  0.708E+00  0.874E-01  0.750E-03  0.464E-04   27   6  34    9  16   9   20  27   9    0.000    0.000       0
+  0   4867 01:08:00.13   0.8360A   2.1532   0.9970  -0.8843  0.082  0.00   0.000      0.  0.708E+00  0.875E-01  0.717E-03  0.364E-04   27   6  39    9  18   8    8  24   7    0.000    0.000       0
+  0   4875 01:08:06.83   0.8360A   2.1539   0.9474  -0.8853  0.083  0.00   0.000      0.  0.707E+00  0.875E-01  0.722E-03  0.385E-04   27   6   4    9  19   8    7  24   6    0.000    0.000       0
+  0   4882 01:08:12.83   0.8730A   2.0629  -0.7847  -0.8523  0.083  0.00   0.000      0.  0.707E+00  0.875E-01  0.757E-03  0.426E-04   27   6   9   10  25   9   17  20   9    0.000    0.000       0
+  0   4888 01:08:18.07   0.8700A   2.0681  -0.7922  -0.8842  0.084  0.00   0.000      0.  0.707E+00  0.877E-01  0.756E-03  0.457E-04   26   6  13   10  26   8    4  24   4    0.000    0.000       0
+  0   4895 01:08:24.17   0.8720A   2.0636  -0.8114  -0.7977  0.083  0.00   0.000      0.  0.708E+00  0.879E-01  0.760E-03  0.462E-04   26   6  18    8  26   9   16  22   9    0.000    0.000       0
+  0   4902 01:08:30.32   0.8760A   2.0558  -0.8820  -0.8247  0.083  0.00   0.000      0.  0.708E+00  0.878E-01  0.761E-03  0.426E-04   26   3  23    8  26   9   17  19   9    0.000    0.000       0
+  0   4909 01:08:36.44   0.8720A   2.0647  -0.8811  -0.8614  0.082  0.00   0.000      0.  0.707E+00  0.874E-01  0.762E-03  0.404E-04   26   3  28    7  25   9   16  19   9    0.000    0.000       0
+  0   4916 01:08:42.54   0.8700A   2.0680  -0.8259  -0.8197  0.081  0.00   0.000      0.  0.706E+00  0.869E-01  0.758E-03  0.414E-04   26   6  35    6  25   9   15  20   9    0.000    0.000       0
+  0   4923 01:08:48.61   0.8550A   2.1055  -0.8016  -0.7929  0.080  0.00   0.000      0.  0.705E+00  0.863E-01  0.754E-03  0.426E-04   36   0  33   19  10   9   14  20   9    0.000    0.000       0
+  0   4930 01:08:54.49   0.8330A   2.1596   0.7527  -0.7608  0.080  0.00   0.000      0.  0.705E+00  0.860E-01  0.736E-03  0.420E-04   36   0  38   15  14   9   12  20   9    0.000    0.000       0
+  0   4937 01:09:00.37   0.8520A   2.1135   0.7779   0.8626  0.079  0.00   0.000      0.  0.704E+00  0.857E-01  0.738E-03  0.378E-04   36   0   3   14  15   9   19  10   8    0.000    0.000       0
+  0   4944 01:09:06.35   0.8530A   2.1108   0.7520   0.8829  0.079  0.00   0.000      0.  0.704E+00  0.855E-01  0.736E-03  0.368E-04   36   0   9   12  16   9   20  10   9    0.000    0.000       0
+  0   4951 01:09:12.35   0.8610A   2.0896   0.6948   0.8508  0.079  0.00   0.000      0.  0.704E+00  0.854E-01  0.747E-03  0.404E-04   38   3  25   13  16   9   20  11   9    0.000    0.000       0
+  0   4958 01:09:18.43   0.8710A   2.0659  -0.7936   0.9135  0.079  0.00   0.000      0.  0.704E+00  0.853E-01  0.765E-03  0.448E-04   24   6  26   15  26   9   16  29   9    0.000    0.000       0
+  0   4965 01:09:24.48   0.8660A   2.0781  -0.8833   0.8002  0.079  0.00   0.000      0.  0.704E+00  0.854E-01  0.758E-03  0.468E-04   24   6  30   16  26   9   18  29   9    0.000    0.000       0
+  0   4972 01:09:30.53   0.8670A   2.0757  -0.9214   0.8729  0.078  0.00   0.000      0.  0.705E+00  0.855E-01  0.762E-03  0.511E-04   24   6  35   14  25   9   20  26   9    0.000    0.000       0
+  0   4979 01:09:36.69   0.8810A   2.0425  -0.8410   0.8396  0.078  0.00   0.000      0.  0.705E+00  0.856E-01  0.769E-03  0.514E-04   28   4   0   14  24   9   20  26   9    0.000    0.000       0
+  0   4986 01:09:42.80   0.8750A   2.0578   0.8422  -0.7559  0.078  0.00   0.000      0.  0.705E+00  0.857E-01  0.764E-03  0.517E-04   29   5   8   20  30   9   15  18   9    0.000    0.000       0
+  0   4993 01:09:48.81   0.8500A   2.1183   1.0091  -0.7927  0.077  0.00   0.000      0.  0.706E+00  0.859E-01  0.749E-03  0.552E-04   29   5  14   19  30   8   17  22   9    0.000    0.000       0
+  0   5000 01:09:54.73   0.8390A   2.1446  -0.9103  -0.7155  0.077  0.00   0.000      0.  0.707E+00  0.863E-01  0.726E-03  0.507E-04   29   5  19   20  30   8   16  21   9    0.000    0.000       0
+  0   5007 01:10:00.62   0.8390A   2.1449   0.9268   0.6727  0.075  0.00   0.000      0.  0.708E+00  0.867E-01  0.708E-03  0.419E-04   29   5  24   10  15   9   15  12   9    0.000    0.000       0
+  0   5014 01:10:06.52   0.8440A   2.1332   0.8720  -0.6900  0.074  0.00   0.000      0.  0.709E+00  0.869E-01  0.698E-03  0.360E-04   29   5  29   10  16   9    7  22   3    0.000    0.000       0
+  0   5021 01:10:12.45   0.8530A   2.1107   0.7892  -0.6684  0.073  0.00   0.000      0.  0.709E+00  0.869E-01  0.702E-03  0.354E-04   29   5  34    8  17   9    6  22   3    0.000    0.000       0
+  0   5028 01:10:18.42   0.8590A   2.0955  -0.7956   0.6452  0.072  0.00   0.000      0.  0.708E+00  0.867E-01  0.706E-03  0.364E-04   29   5   0    7  26   9   20  13   9    0.000    0.000       0
+  0   5035 01:10:24.49   0.8700A   2.0696  -0.8694   0.6676  0.072  0.00   0.000      0.  0.707E+00  0.864E-01  0.727E-03  0.421E-04   36   2  10    7  26   9   18  29   9    0.000    0.000       0
+  0   5042 01:10:30.57   0.8700A   2.0696  -0.7997   0.7847  0.073  0.00   0.000      0.  0.707E+00  0.861E-01  0.723E-03  0.420E-04   36   2  15    7  25   9   20  29   9    0.000    0.000       0
+  0   5049 01:10:36.63   0.8640A   2.0825   0.7061  -0.6607  0.075  0.00   0.000      0.  0.706E+00  0.858E-01  0.716E-03  0.414E-04   36   2  19    5  12   9   16  19   9    0.000    0.000       0
+  0   5056 01:10:42.74   0.8760A   2.0549   0.7606  -0.7177  0.078  0.00   0.000      0.  0.705E+00  0.855E-01  0.725E-03  0.432E-04   36   2  24    4  12   9   16  19   9    0.000    0.000       0
+  0   5063 01:10:48.87   0.8790A   2.0480   0.7445  -0.8601  0.080  0.00   0.000      0.  0.705E+00  0.852E-01  0.722E-03  0.413E-04   36   3  26    4  13   9   17  22   9    0.000    0.000       0
+  0   5069 01:10:54.14   0.8790A   2.0474   0.6980  -0.9137  0.082  0.00   0.000      0.  0.705E+00  0.850E-01  0.716E-03  0.394E-04   27   1  21    3  13   9   17  16   9    0.000    0.000       0
+  0   5076 01:11:00.33   0.8860A   2.0326  -0.6339  -0.9054  0.084  0.00   0.000      0.  0.705E+00  0.849E-01  0.719E-03  0.403E-04   22  38  36   19  32   2   16  16   9    0.000    0.000       0
+  0   5083 01:11:06.50   0.8870A   2.0303  -0.6290  -0.8048  0.084  0.00   0.000      0.  0.705E+00  0.850E-01  0.714E-03  0.395E-04   26  39  35   19  31   5   15  16   9    0.000    0.000       0
+  0   5090 01:11:12.70   0.8860A   2.0327  -0.9809   1.1061  0.083  0.00   0.000      0.  0.706E+00  0.852E-01  0.729E-03  0.434E-04   26   1  37   19  28   9   20  28   9    0.000    0.000       0
+  0   5097 01:11:18.85   0.8740A   2.0593  -1.0237   0.8566  0.081  0.00   0.000      0.  0.706E+00  0.854E-01  0.732E-03  0.448E-04   31   8  12   14  27   9   21  27   9    0.000    0.000       0
+  0   5104 01:11:24.75   0.8250A   2.1829  -1.1013   0.7906  0.080  0.00   0.000      0.  0.706E+00  0.855E-01  0.685E-03  0.382E-04   22  29   8   14  26   9   20  11   9    0.000    0.000       0
+  0   5111 01:11:30.70   0.8440A   2.1324  -1.0419   0.8043  0.078  0.00   0.000      0.  0.706E+00  0.854E-01  0.696E-03  0.362E-04   32  13  29   16  25   9   20  11   9    0.000    0.000       0
+  0   5118 01:11:36.58   0.8440A   2.1315  -0.9787  -0.7771  0.077  0.00   0.000      0.  0.706E+00  0.850E-01  0.694E-03  0.354E-04   32  13  33   16  24   9   12  15   8    0.000    0.000       0
+  0   5125 01:11:42.50   0.8510A   2.1155  -0.8540  -0.7367  0.077  0.00   0.000      0.  0.705E+00  0.845E-01  0.690E-03  0.347E-04   32  13  38   12  25   9   12  15   7    0.000    0.000       0
+  0   5132 01:11:48.59   0.8730A   2.0613  -0.8610  -0.6950  0.077  0.00   0.000      0.  0.705E+00  0.840E-01  0.711E-03  0.394E-04   26  26  38   15  23   8   10  15   7    0.000    0.000       0
+  0   5139 01:11:54.79   0.8920A   2.0171  -0.8031  -0.7041  0.078  0.00   0.000      0.  0.704E+00  0.836E-01  0.733E-03  0.426E-04   29   7  39   15  22   8   18  23   9    0.000    0.000       0
+  0   5145 01:12:00.15   0.8930A   2.0155   0.7348  -0.8901  0.078  0.00   0.000      0.  0.704E+00  0.834E-01  0.735E-03  0.409E-04   32   9  11   19  30   9   18  22   9    0.000    0.000       0
+  0   5152 01:12:06.33   0.8630A   2.0862  -0.6990  -0.9603  0.078  0.00   0.000      0.  0.704E+00  0.831E-01  0.720E-03  0.408E-04   22   8  37   15  20   7   17  22   9    0.000    0.000       0
+  0   5159 01:12:12.37   0.8550A   2.1050  -0.6573  -0.9055  0.077  0.00   0.000      0.  0.704E+00  0.829E-01  0.721E-03  0.441E-04   32  16  38   13  27   9   16  20   9    0.000    0.000       0
+  0   5166 01:12:18.38   0.8600A   2.0942  -0.7340   0.8845  0.076  0.00   0.000      0.  0.703E+00  0.828E-01  0.729E-03  0.453E-04   32  16   3   14  27   9   20  27   9    0.000    0.000       0
+  0   5173 01:12:24.44   0.8680A   2.0728  -0.7646   0.8390  0.076  0.00   0.000      0.  0.703E+00  0.827E-01  0.732E-03  0.430E-04   32  16   8   13  26   9   21  27   9    0.000    0.000       0
+  0   5180 01:12:30.54   0.8690A   2.0725  -0.7925   0.8653  0.075  0.00   0.000      0.  0.703E+00  0.827E-01  0.733E-03  0.443E-04   32  16  13   15  27   9   19  29   8    0.000    0.000       0
+  0   5187 01:12:36.62   0.8680A   2.0726  -0.8471   0.9726  0.075  0.00   0.000      0.  0.704E+00  0.829E-01  0.734E-03  0.451E-04   32  16  18   16  27   9   20  29   9    0.000    0.000       0
+  0   5194 01:12:42.64   0.8580A   2.0978  -0.8659   0.7114  0.075  0.00   0.000      0.  0.704E+00  0.830E-01  0.718E-03  0.419E-04   27   6  21   14  26   9   20  12   9    0.000    0.000       0
+  0   5201 01:12:48.54   0.8400A   2.1435  -0.9050  -0.6801  0.075  0.00   0.000      0.  0.704E+00  0.830E-01  0.696E-03  0.385E-04   27   6  26   19  25   9    4  16   2    0.000    0.000       0
+  0   5208 01:12:54.50   0.8590A   2.0953   0.9796  -0.8735  0.077  0.00   0.000      0.  0.705E+00  0.830E-01  0.700E-03  0.361E-04   23   7   0   20  30   9   18  25   9    0.000    0.000       0
+  0   5215 01:13:00.49   0.8540A   2.1074   0.9235  -0.9480  0.078  0.00   0.000      0.  0.704E+00  0.828E-01  0.678E-03  0.315E-04   21   7  39   19  30   9   17  24   9    0.000    0.000       0
+  0   5222 01:13:06.42   0.8440A   2.1337   0.7922  -0.9623  0.079  0.00   0.000      0.  0.704E+00  0.824E-01  0.658E-03  0.313E-04   21   7   3   12  15   9   16  23   9    0.000    0.000       0
+  0   5229 01:13:12.29   0.8360A   2.1533   0.6762  -0.9086  0.079  0.00   0.000      0.  0.703E+00  0.821E-01  0.634E-03  0.303E-04   25   5   8    9  15   9   15  22   9    0.000    0.000       0
+  0   5236 01:13:18.20   0.8370A   2.1496   0.6003  -0.8564  0.078  0.00   0.000      0.  0.703E+00  0.817E-01  0.621E-03  0.283E-04   24   6  16   12  13   9   14  22   9    0.000    0.000       0
+  0   5243 01:13:24.04   0.8340A   2.1571   0.5763   0.7147  0.077  0.00   0.000      0.  0.702E+00  0.814E-01  0.621E-03  0.302E-04   24   6  21   12  14   9   19  28   8    0.000    0.000       0
+  0   5251 01:13:30.77   0.8480A   2.1225  -0.6089   0.9217  0.076  0.00   0.000      0.  0.702E+00  0.813E-01  0.647E-03  0.380E-04   24   6  26   16  28   9   20  28   9    0.000    0.000       0
+  0   5258 01:13:36.73   0.8570A   2.1001  -0.8138   0.9555  0.076  0.00   0.000      0.  0.702E+00  0.813E-01  0.656E-03  0.414E-04   24   6  31   16  28   9   21  27   9    0.000    0.000       0
+  0   5265 01:13:42.73   0.8610A   2.0907  -0.8361   0.7690  0.075  0.00   0.000      0.  0.702E+00  0.812E-01  0.647E-03  0.397E-04   26   4  33   15  27   9   20  25   9    0.000    0.000       0
+  0   5272 01:13:48.70   0.8490A   2.1204   0.9123  -0.8474  0.075  0.00   0.000      0.  0.702E+00  0.810E-01  0.635E-03  0.387E-04   26   4  38   20  30   9   17  18   9    0.000    0.000       0
+  0   5279 01:13:54.66   0.8490A   2.1199   0.9807  -0.8483  0.076  0.00   0.000      0.  0.702E+00  0.808E-01  0.629E-03  0.367E-04   26   4   3   19  30   9   18  27   9    0.000    0.000       0
+  0   5286 01:14:00.67   0.8560A   2.1028   0.7654  -0.8005  0.077  0.00   0.000      0.  0.702E+00  0.807E-01  0.623E-03  0.343E-04   25   5  10   18  30   9   15  17   9    0.000    0.000       0
+  0   5293 01:14:06.61   0.8430A   2.1345  -0.7293  -0.7197  0.077  0.00   0.000      0.  0.702E+00  0.807E-01  0.605E-03  0.335E-04   25   5  15    9  25   9   17  25   9    0.000    0.000       0
+  0   5300 01:14:12.61   0.8650A   2.0799  -0.7424   0.8174  0.076  0.00   0.000      0.  0.702E+00  0.807E-01  0.622E-03  0.378E-04   25   5  20   13  22   9   20  11   9    0.000    0.000       0
+  0   5307 01:14:18.61   0.8570A   2.1004   0.7480   0.7640  0.075  0.00   0.000      0.  0.702E+00  0.809E-01  0.625E-03  0.408E-04   26   5  25   19  12   9   20  12   9    0.000    0.000       0
+  0   5314 01:14:24.60   0.8600A   2.0934   0.8388   0.7898  0.075  0.00   0.000      0.  0.703E+00  0.812E-01  0.633E-03  0.419E-04   26   5  30   19  13   9   20  13   9    0.000    0.000       0
+  0   5321 01:14:30.70   0.8770A   2.0524  -0.7731   0.7889  0.074  0.00   0.000      0.  0.703E+00  0.816E-01  0.647E-03  0.420E-04   21  39   3   11  21   8   20  13   9    0.000    0.000       0
+  0   5328 01:14:36.83   0.8800A   2.0457   0.7422  -0.7593  0.074  0.00   0.000      0.  0.703E+00  0.819E-01  0.645E-03  0.389E-04   21  39   8   15  15   9   13  21   9    0.000    0.000       0
+  0   5334 01:14:42.09   0.8760A   2.0537   0.7575  -0.7177  0.074  0.00   0.000      0.  0.703E+00  0.820E-01  0.641E-03  0.367E-04   29  11  31   17  15   9    9  21   9    0.000    0.000       0
+  0   5341 01:14:48.20   0.8680A   2.0749   0.7446   0.7738  0.074  0.00   0.000      0.  0.703E+00  0.821E-01  0.632E-03  0.370E-04   29  11  36   17  16   9   15  11   8    0.000    0.000       0
+  0   5348 01:14:54.29   0.8710A   2.0663   0.7293   0.6993  0.073  0.00   0.000      0.  0.704E+00  0.823E-01  0.629E-03  0.388E-04   29  11   1   16  13   9   16  11   8    0.000    0.000       0
+  0   5355 01:15:00.44   0.8800A   2.0464   0.7328  -0.7146  0.074  0.00   0.000      0.  0.704E+00  0.827E-01  0.636E-03  0.409E-04   29  11   6   15  14   9   10  19   7    0.000    0.000       0
+  0   5362 01:15:06.64   0.8890A   2.0258   0.7622  -0.7960  0.074  0.00   0.000      0.  0.705E+00  0.832E-01  0.638E-03  0.408E-04   29  11  11   15  14   9   17  18   9    0.000    0.000       0
+  0   5369 01:15:12.84   0.8830A   2.0388   0.8025  -0.7895  0.075  0.00   0.000      0.  0.706E+00  0.836E-01  0.635E-03  0.405E-04   23   8  10   14  14   9   16  18   9    0.000    0.000       0
+  0   5375 01:15:18.19   0.8910A   2.0191   0.8033  -0.7194  0.075  0.00   0.000      0.  0.706E+00  0.838E-01  0.633E-03  0.390E-04   28  11  21   13  14   9   16  17   9    0.000    0.000       0
+  0   5382 01:15:24.35   0.8610A   2.0910   0.8112  -0.7038  0.075  0.00   0.000      0.  0.706E+00  0.838E-01  0.609E-03  0.369E-04   28  12  26   18  13   9   16  20   9    0.000    0.000       0
+  0   5389 01:15:30.40   0.8770A   2.0514   0.8957  -0.7053  0.075  0.00   0.000      0.  0.706E+00  0.836E-01  0.621E-03  0.366E-04   28  12  31   18  14   9    7  21   2    0.000    0.000       0
+  0   5396 01:15:36.61   0.8820A   2.0403   0.9334  -0.6925  0.075  0.00   0.000      0.  0.706E+00  0.834E-01  0.620E-03  0.347E-04   28  12  37   18  14   9   14  19   9    0.000    0.000       0
+  0   5403 01:15:42.69   0.8560A   2.1016   0.9226  -0.6793  0.075  0.00   0.000      0.  0.706E+00  0.833E-01  0.602E-03  0.322E-04   28  12   2   18  15   9   13  18   9    0.000    0.000       0
+  0   5410 01:15:48.70   0.8620A   2.0889   0.8055  -0.6899  0.075  0.00   0.000      0.  0.705E+00  0.831E-01  0.610E-03  0.334E-04   28  12   7   17  16   9   10  17   8    0.000    0.000       0
+  0   5417 01:15:54.78   0.8750A   2.0575  -0.8245  -0.6748  0.074  0.00   0.000      0.  0.705E+00  0.831E-01  0.621E-03  0.338E-04   28  12  12   19  27   9    7  18   8    0.000    0.000       0
+  0   5423 01:16:00.03   0.8740A   2.0585  -0.7421  -0.6751  0.075  0.00   0.000      0.  0.705E+00  0.832E-01  0.626E-03  0.366E-04   28  12  17   19  26   9    7  18   7    0.000    0.000       0
+  0   5430 01:16:06.15   0.8780A   2.0504  -0.7061  -0.7815  0.075  0.00   0.000      0.  0.706E+00  0.835E-01  0.640E-03  0.440E-04   28  12  22   11  27   9   18  20   9    0.000    0.000       0
+  0   5437 01:16:12.34   0.8890A   2.0246  -0.8906   0.8795  0.075  0.00   0.000      0.  0.707E+00  0.841E-01  0.661E-03  0.522E-04   31  11  28   12  27   9   20  11   9    0.000    0.000       0
+  0   5444 01:16:18.49   0.8650A   2.0821  -0.9141  -1.0810  0.075  0.00   0.000      0.  0.708E+00  0.846E-01  0.651E-03  0.485E-04   26  11  36   12  26   9   18  22   9    0.000    0.000       0
+  0   5451 01:16:24.59   0.8760A   2.0557  -0.8356  -1.2269  0.076  0.00   0.000      0.  0.708E+00  0.848E-01  0.655E-03  0.441E-04   26  11   1   12  25   9   16  22   9    0.000    0.000       0
+  0   5458 01:16:30.69   0.8650A   2.0810   0.8763  -1.1363  0.076  0.00   0.000      0.  0.708E+00  0.849E-01  0.653E-03  0.472E-04   31  12   3   18  14   9   15  22   9    0.000    0.000       0
+  0   5465 01:16:36.78   0.8680A   2.0734   0.8888  -1.0053  0.076  0.00   0.000      0.  0.709E+00  0.853E-01  0.659E-03  0.492E-04   31  12   8   16  15   9   14  22   9    0.000    0.000       0
+  0   5472 01:16:42.85   0.8630A   2.0860   0.8466  -0.8537  0.076  0.00   0.000      0.  0.709E+00  0.855E-01  0.651E-03  0.442E-04   24  29   6   13  14   9   13  22   9    0.000    0.000       0
+  0   5478 01:16:48.02   0.8690A   2.0713   0.8278  -0.7791  0.075  0.00   0.000      0.  0.709E+00  0.855E-01  0.648E-03  0.410E-04   31  13  16   13  15   9   16  25   9    0.000    0.000       0
+  0   5485 01:16:54.08   0.8750A   2.0582   0.8205  -0.7585  0.074  0.00   0.000      0.  0.709E+00  0.854E-01  0.643E-03  0.369E-04   31  13  22   13  16   9   15  25   9    0.000    0.000       0
+  0   5492 01:17:00.18   0.8740A   2.0588   0.8141  -0.7400  0.074  0.00   0.000      0.  0.709E+00  0.853E-01  0.637E-03  0.341E-04   31  13  27   13  16   9   12  21   8    0.000    0.000       0
+  0   5499 01:17:06.34   0.8820A   2.0412   0.7817  -0.7315  0.074  0.00   0.000      0.  0.709E+00  0.851E-01  0.637E-03  0.327E-04   31  13  32   11  17   9   10  21   7    0.000    0.000       0
+  0   5506 01:17:12.56   0.8920A   2.0189   0.8629  -0.7319  0.073  0.00   0.000      0.  0.709E+00  0.847E-01  0.642E-03  0.339E-04   28  31  26    9  20   9    8  21   6    0.000    0.000       0
+  0   5513 01:17:18.80   0.8890A   2.0254   0.9428  -0.7756  0.072  0.00   0.000      0.  0.709E+00  0.845E-01  0.663E-03  0.402E-04   28  24  11    8  20   9    7  22   8    0.000    0.000       0
+  0   5519 01:17:24.07   0.8720A   2.0646  -0.7850  -0.7601  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.666E-03  0.441E-04   28  24  16   16  27   9    6  22   6    0.000    0.000       0
+  0   5526 01:17:30.16   0.8720A   2.0650  -0.7603   0.8382  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.680E-03  0.447E-04   28  24  21   15  26   9   20  29   9    0.000    0.000       0
+  0   5533 01:17:36.32   0.8820A   2.0400  -0.7600   0.7462  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.688E-03  0.428E-04   31  13  19   19  27   9   20  26   9    0.000    0.000       0
+  0   5540 01:17:42.46   0.8680A   2.0728  -0.7287  -0.7145  0.072  0.00   0.000      0.  0.710E+00  0.845E-01  0.669E-03  0.407E-04   31  13  24   18  26   9    5  25   3    0.000    0.000       0
+  0   5547 01:17:48.55   0.8680A   2.0740   0.7241  -0.7793  0.073  0.00   0.000      0.  0.710E+00  0.847E-01  0.655E-03  0.379E-04   31  13  29    9  14   9   17  22   9    0.000    0.000       0
+  0   5554 01:17:54.68   0.8880A   2.0277  -0.6967  -0.8582  0.073  0.00   0.000      0.  0.710E+00  0.849E-01  0.674E-03  0.397E-04   29  12  34   16  25   9   16  22   9    0.000    0.000       0
+  0   5561 01:18:00.85   0.8820A   2.0419  -0.7970  -0.9003  0.074  0.00   0.000      0.  0.711E+00  0.851E-01  0.672E-03  0.376E-04   28  29  25   12  27   9   15  21   9    0.000    0.000       0
+  0   5567 01:18:06.05   0.8600A   2.0936  -0.8201  -0.8662  0.074  0.00   0.000      0.  0.711E+00  0.852E-01  0.657E-03  0.368E-04   28  29  30   13  27   9   14  20   9    0.000    0.000       0
+  0   5574 01:18:12.06   0.8550A   2.1060  -0.8612  -0.7777  0.074  0.00   0.000      0.  0.711E+00  0.852E-01  0.653E-03  0.355E-04   28  29  35   12  26   9   13  19   9    0.000    0.000       0
+  0   5581 01:18:18.10   0.8690A   2.0723  -0.8697   0.7232  0.074  0.00   0.000      0.  0.711E+00  0.851E-01  0.672E-03  0.373E-04   28  29   0   12  25   9   20  10   9    0.000    0.000       0
+  0   5588 01:18:24.29   0.8930A   2.0168  -0.8295  -0.7326  0.074  0.00   0.000      0.  0.711E+00  0.850E-01  0.697E-03  0.403E-04   28  26   7   12  24   9    7  20   8    0.000    0.000       0
+  0   5595 01:18:30.46   0.8750A   2.0566  -0.8068   0.7285  0.074  0.00   0.000      0.  0.711E+00  0.849E-01  0.684E-03  0.380E-04   28  26  13   11  23   9   20  11   9    0.000    0.000       0
+  0   5602 01:18:36.54   0.8640A   2.0838  -0.7401  -0.7717  0.073  0.00   0.000      0.  0.711E+00  0.847E-01  0.688E-03  0.347E-04   28  26  18   12  26   9   17  15   9    0.000    0.000       0
+  0   5609 01:18:42.59   0.8640A   2.0841  -0.7485  -0.7541  0.073  0.00   0.000      0.  0.710E+00  0.843E-01  0.697E-03  0.328E-04   28  26  23   11  27   9   17  15   9    0.000    0.000       0
+  0   5616 01:18:48.62   0.8590A   2.0944  -0.8275  -0.7187  0.072  0.00   0.000      0.  0.710E+00  0.838E-01  0.698E-03  0.353E-04   28  26  29   11  27   9    4  19   3    0.000    0.000       0
+  0   5623 01:18:54.62   0.8560A   2.1018  -0.8883  -0.6770  0.072  0.00   0.000      0.  0.709E+00  0.836E-01  0.705E-03  0.408E-04   28  26  34   11  26   9    3  19   3    0.000    0.000       0
+  0   5630 01:19:00.60   0.8560A   2.1026  -0.8660  -0.6099  0.072  0.00   0.000      0.  0.710E+00  0.837E-01  0.716E-03  0.448E-04   28  26   0   11  25   9    3  19   2    0.000    0.000       0
+  0   5637 01:19:06.60   0.8520A   2.1139  -0.8501  -0.5849  0.072  0.00   0.000      0.  0.710E+00  0.840E-01  0.719E-03  0.465E-04   28  27   3   12  25   9   17  20   9    0.000    0.000       0
+  0   5644 01:19:12.48   0.8330A   2.1608  -0.8061  -0.6232  0.072  0.00   0.000      0.  0.711E+00  0.842E-01  0.701E-03  0.449E-04   28  27   9   12  24   9   18  22   9    0.000    0.000       0
+  0   5651 01:19:18.22   0.8150A   2.2098  -0.7413  -0.6877  0.071  0.00   0.000      0.  0.711E+00  0.845E-01  0.685E-03  0.426E-04   28  27  14   11  24   9   18  23   9    0.000    0.000       0
+  0   5659 01:19:24.73   0.8130A   2.2131  -0.7103   0.6550  0.069  0.00   0.000      0.  0.711E+00  0.849E-01  0.687E-03  0.422E-04   28  27  20   11  24   9   14  10   9    0.000    0.000       0
+  0   5666 01:19:30.45   0.8190A   2.1974  -0.7367   0.6950  0.068  0.00   0.000      0.  0.712E+00  0.854E-01  0.701E-03  0.483E-04   28  27  25   11  27   9   14  12   9    0.000    0.000       0
+  0   5673 01:19:36.22   0.8280A   2.1751  -0.7901   0.7293  0.067  0.00   0.000      0.  0.713E+00  0.862E-01  0.712E-03  0.509E-04   28  27  31   12  26   9   16  12   9    0.000    0.000       0
+  0   5680 01:19:42.08   0.8450A   2.1307  -0.8172  -0.7096  0.067  0.00   0.000      0.  0.714E+00  0.868E-01  0.709E-03  0.425E-04   28  27  37   12  25   9   18  17   9    0.000    0.000       0
+  0   5687 01:19:48.03   0.8550A   2.1042  -0.8199  -0.8539  0.067  0.00   0.000      0.  0.714E+00  0.872E-01  0.720E-03  0.411E-04   28  27   2   11  25   9    3  11   9    0.000    0.000       0
+  0   5694 01:19:54.04   0.8640A   2.0838  -0.8038  -0.8238  0.068  0.00   0.000      0.  0.714E+00  0.876E-01  0.751E-03  0.467E-04   28  27   8   12  24   9    3  12   9    0.000    0.000       0
+  0   5701 01:20:00.11   0.8720A   2.0648  -0.7821  -0.7765  0.068  0.00   0.000      0.  0.714E+00  0.881E-01  0.761E-03  0.454E-04   28  27  14   12  23   9    3  11   9    0.000    0.000       0
+  0   5708 01:20:06.27   0.8830A   2.0395  -0.7678  -0.7226  0.068  0.00   0.000      0.  0.714E+00  0.886E-01  0.762E-03  0.413E-04   28  27  20   10  27   9    3  14   8    0.000    0.000       0
+  0   5715 01:20:12.42   0.8710A   2.0669  -0.8309  -0.6073  0.070  0.00   0.000      0.  0.715E+00  0.891E-01  0.747E-03  0.379E-04   27  28  22    9  24   9    3  16   7    0.000    0.000       0
+  0   5722 01:20:18.50   0.8670A   2.0758  -0.8624  -0.6174  0.071  0.00   0.000      0.  0.715E+00  0.895E-01  0.742E-03  0.346E-04   27  28  27   10  23   9    6  28   9    0.000    0.000       0
+  0   5729 01:20:24.59   0.8700A   2.0700  -0.8237  -0.6327  0.073  0.00   0.000      0.  0.715E+00  0.898E-01  0.742E-03  0.330E-04   34  20  22   10  22   9    6  27   9    0.000    0.000       0
+  0   5736 01:20:30.68   0.8740A   2.0594  -0.7676  -0.6168  0.074  0.00   0.000      0.  0.715E+00  0.900E-01  0.751E-03  0.350E-04   34  20  28    9  22   9    6  24   9    0.000    0.000       0
+  0   5743 01:20:36.78   0.8700A   2.0681  -0.7917   0.5689  0.075  0.00   0.000      0.  0.715E+00  0.900E-01  0.754E-03  0.359E-04   34  20  33    8  26   8   18  10   9    0.000    0.000       0
+  0   5750 01:20:42.72   0.8240A   2.1843  -0.7693   0.6312  0.075  0.00   0.000      0.  0.714E+00  0.898E-01  0.723E-03  0.359E-04   24  12  20    8  25   8   18  10   9    0.000    0.000       0
+  0   5757 01:20:48.68   0.8720A   2.0642  -0.7121   0.6115  0.075  0.00   0.000      0.  0.713E+00  0.893E-01  0.764E-03  0.378E-04   23  28   1    8  24   8   18  11   9    0.000    0.000       0
+  0   5764 01:20:54.63   0.8390A   2.1450   0.6918   0.6685  0.075  0.00   0.000      0.  0.711E+00  0.887E-01  0.739E-03  0.355E-04   23  28   6    6   7  35   16  10   6    0.000    0.000       0
+  0   5771 01:21:00.54   0.8570A   2.1010   0.7274   0.8082  0.075  0.00   0.000      0.  0.710E+00  0.884E-01  0.766E-03  0.409E-04   23  28  10    5   7  36   16  10   8    0.000    0.000       0
+  0   5778 01:21:06.50   0.8490A   2.1201   0.7870   0.7991  0.075  0.00   0.000      0.  0.710E+00  0.883E-01  0.768E-03  0.442E-04   34   0  18   14  13   9   16  10   9    0.000    0.000       0
+  0   5785 01:21:12.45   0.8520A   2.1136   0.9403   0.7952  0.075  0.00   0.000      0.  0.710E+00  0.884E-01  0.786E-03  0.527E-04   34   0  23   11  13   9   16  11   9    0.000    0.000       0
+  0   5792 01:21:18.45   0.8540A   2.1073   0.9594  -0.9897  0.075  0.00   0.000      0.  0.710E+00  0.888E-01  0.796E-03  0.546E-04   25  25  29   15  15   9   17  21   9    0.000    0.000       0
+  0   5799 01:21:24.42   0.8550A   2.1043   0.9205  -1.1160  0.075  0.00   0.000      0.  0.710E+00  0.892E-01  0.806E-03  0.561E-04   34  39  33   13  16   9   16  21   9    0.000    0.000       0
+  0   5806 01:21:30.40   0.8570A   2.1001   0.8610  -1.1728  0.075  0.00   0.000      0.  0.711E+00  0.896E-01  0.811E-03  0.532E-04   34  39  38   15  16   9   15  22   9    0.000    0.000       0
+  0   5813 01:21:36.46   0.8730A   2.0614   0.8043  -1.0143  0.076  0.00   0.000      0.  0.712E+00  0.901E-01  0.829E-03  0.536E-04   34  38   4   11  17   9   14  22   9    0.000    0.000       0
+  0   5820 01:21:42.45   0.8500A   2.1188   0.8824   0.8822  0.077  0.00   0.000      0.  0.712E+00  0.905E-01  0.806E-03  0.455E-04   34  38   9   16  17   8   20  27   9    0.000    0.000       0
+  0   5827 01:21:48.49   0.8680A   2.0726   0.6939   0.8743  0.077  0.00   0.000      0.  0.712E+00  0.904E-01  0.822E-03  0.429E-04   25  24  15    8  15   9   20  27   9    0.000    0.000       0
+  0   5834 01:21:54.56   0.8680A   2.0734   0.7547   0.8827  0.076  0.00   0.000      0.  0.711E+00  0.902E-01  0.828E-03  0.418E-04   25  24  20   13  14   9   20  26   9    0.000    0.000       0
+  0   5841 01:22:00.64   0.8710A   2.0672   0.7342  -0.9108  0.075  0.00   0.000      0.  0.710E+00  0.899E-01  0.818E-03  0.401E-04   33  39  24   13  14   9   17  17   9    0.000    0.000       0
+  0   5848 01:22:06.76   0.8760A   2.0550   0.9313  -0.8211  0.075  0.00   0.000      0.  0.709E+00  0.894E-01  0.822E-03  0.443E-04   25  24  31   20  30   9   16  17   9    0.000    0.000       0
+  0   5854 01:22:12.00   0.8710A   2.0660   1.0978  -0.9714  0.075  0.00   0.000      0.  0.709E+00  0.893E-01  0.844E-03  0.498E-04   25  24  39   19  30   9   17  27   9    0.000    0.000       0
+  0   5861 01:22:18.10   0.8740A   2.0603  -0.8389  -1.0297  0.075  0.00   0.000      0.  0.709E+00  0.892E-01  0.847E-03  0.440E-04   34  37   1   21  10   8   17  26   9    0.000    0.000       0
+  0   5868 01:22:24.18   0.8700A   2.0700  -0.7166  -1.0246  0.075  0.00   0.000      0.  0.708E+00  0.891E-01  0.837E-03  0.421E-04   25  24   9   21   9   9   16  26   9    0.000    0.000       0
+  0   5875 01:22:30.26   0.8650A   2.0809   0.6878  -0.9724  0.076  0.00   0.000      0.  0.708E+00  0.891E-01  0.852E-03  0.477E-04   34  36  11   14  30   9   15  24   9    0.000    0.000       0
+  0   5882 01:22:36.32   0.8610A   2.0899   0.6714   0.9556  0.077  0.00   0.000      0.  0.709E+00  0.896E-01  0.872E-03  0.619E-04   35  38  22   14  31   9   20  12   9    0.000    0.000       0
+  0   5889 01:22:42.33   0.8560A   2.1037   0.7577   1.1446  0.078  0.00   0.000      0.  0.710E+00  0.905E-01  0.865E-03  0.650E-04   35  38  27   17  14   9   20  13   9    0.000    0.000       0
+  0   5896 01:22:48.36   0.8630A   2.0857  -0.8046   1.1737  0.079  0.00   0.000      0.  0.712E+00  0.914E-01  0.869E-03  0.631E-04   34  32   3   14  27   9   20  14   9    0.000    0.000       0
+  0   5903 01:22:54.33   0.8530A   2.1091  -0.8759   0.9569  0.080  0.00   0.000      0.  0.712E+00  0.917E-01  0.849E-03  0.506E-04   24  32   7   12  27   9   20  29   9    0.000    0.000       0
+  0   5910 01:23:00.21   0.8310A   2.1661  -0.9046  -0.9997  0.080  0.00   0.000      0.  0.712E+00  0.915E-01  0.809E-03  0.402E-04   24  32  12   11  27   9   15  20   9    0.000    0.000       0
+  0   5917 01:23:06.03   0.8350A   2.1566  -0.9356  -0.9260  0.080  0.00   0.000      0.  0.711E+00  0.909E-01  0.797E-03  0.407E-04   24  32  17   10  27   9   14  20   9    0.000    0.000       0
+  0   5925 01:23:12.63   0.8400A   2.1422  -0.8440  -0.8406  0.080  0.00   0.000      0.  0.710E+00  0.903E-01  0.789E-03  0.435E-04   24  32  22    9  25   9   12  21   9    0.000    0.000       0
+  0   5932 01:23:18.61   0.8640A   2.0828   0.9485  -0.8087  0.080  0.00   0.000      0.  0.709E+00  0.900E-01  0.800E-03  0.449E-04   37   2   0   10  14   9    9  21   9    0.000    0.000       0
+  0   5939 01:23:24.66   0.8650A   2.0817   1.0114  -0.8636  0.080  0.00   0.000      0.  0.709E+00  0.898E-01  0.800E-03  0.463E-04   33  33  34   10  15   9    8  21   8    0.000    0.000       0
+  0   5946 01:23:30.66   0.8620A   2.0872   0.9503   0.9143  0.081  0.00   0.000      0.  0.709E+00  0.898E-01  0.808E-03  0.541E-04   33  33  39   10  16   9   18  29   9    0.000    0.000       0
+  0   5953 01:23:36.56   0.8400A   2.1439  -0.8753   0.9912  0.081  0.00   0.000      0.  0.709E+00  0.901E-01  0.794E-03  0.546E-04   39  36  32   17  27   9   19  28   9    0.000    0.000       0
+  0   5960 01:23:42.49   0.8430A   2.1345   0.8325   1.2088  0.082  0.00   0.000      0.  0.710E+00  0.902E-01  0.793E-03  0.502E-04   39  36  36   10  16   9   20  27   9    0.000    0.000       0
+  0   5967 01:23:48.48   0.8650A   2.0806   0.7558   0.9741  0.083  0.00   0.000      0.  0.710E+00  0.902E-01  0.809E-03  0.482E-04   22  22   6   10  17   9   20  26   9    0.000    0.000       0
+  0   5974 01:23:54.54   0.8630A   2.0857   0.7752  -0.9292  0.084  0.00   0.000      0.  0.710E+00  0.901E-01  0.803E-03  0.445E-04   22  22  11    9  13   9   16  22   9    0.000    0.000       0
+  0   5981 01:24:00.59   0.8640A   2.0822   0.8842  -0.8967  0.084  0.00   0.000      0.  0.709E+00  0.899E-01  0.802E-03  0.444E-04   26  24  19    9  14   9   16  21   9    0.000    0.000       0
+  0   5988 01:24:06.60   0.8550A   2.1057   0.8967  -0.9123  0.085  0.00   0.000      0.  0.709E+00  0.897E-01  0.802E-03  0.512E-04   26  24  24    9  15   9   16  21   9    0.000    0.000       0
+  0   5995 01:24:12.61   0.8580A   2.0974   0.8444  -0.9399  0.084  0.00   0.000      0.  0.708E+00  0.896E-01  0.798E-03  0.505E-04   26  24  29    9  14   9   16  20   9    0.000    0.000       0
+  0   6002 01:24:18.66   0.8700A   2.0678   0.8132  -0.8769  0.084  0.00   0.000      0.  0.708E+00  0.893E-01  0.794E-03  0.468E-04   34  25  34    9  15   9   15  19   9    0.000    0.000       0
+  0   6009 01:24:24.68   0.8590A   2.0954   0.8616  -0.7710  0.083  0.00   0.000      0.  0.708E+00  0.891E-01  0.779E-03  0.453E-04   34  25  39   20  30   9   13  19   9    0.000    0.000       0
+  0   6016 01:24:30.67   0.8570A   2.1009   0.8975  -0.7204  0.083  0.00   0.000      0.  0.708E+00  0.887E-01  0.772E-03  0.414E-04   34  25   4   20  21   8    5  23   1    0.000    0.000       0
+  0   6023 01:24:36.68   0.8640A   2.0844  -0.7394  -0.7869  0.083  0.00   0.000      0.  0.708E+00  0.883E-01  0.769E-03  0.391E-04   34  25   9   13  26   9   18  13   9    0.000    0.000       0
+  0   6030 01:24:42.68   0.8560A   2.1021  -0.7470  -0.7421  0.082  0.00   0.000      0.  0.707E+00  0.878E-01  0.756E-03  0.411E-04   34  25  15    7  27   9   18  24   9    0.000    0.000       0
+  0   6037 01:24:48.65   0.8550A   2.1060  -0.7176  -0.8473  0.081  0.00   0.000      0.  0.707E+00  0.875E-01  0.750E-03  0.424E-04   34  25  20    6  25   9   18  25   9    0.000    0.000       0
+  0   6044 01:24:54.67   0.8610A   2.0908  -0.6684  -0.7767  0.081  0.00   0.000      0.  0.707E+00  0.875E-01  0.761E-03  0.477E-04   34  25  25    5  22   9   17  24   9    0.000    0.000       0
+  0   6051 01:25:00.70   0.8590A   2.0943  -0.7971  -0.8123  0.080  0.00   0.000      0.  0.708E+00  0.877E-01  0.757E-03  0.490E-04   28  16  19   10  27   9   17  19   9    0.000    0.000       0
+  0   6058 01:25:06.75   0.8660A   2.0776  -0.8985   0.9648  0.080  0.00   0.000      0.  0.708E+00  0.878E-01  0.758E-03  0.484E-04   28  16  24   11  27   9   21  11   9    0.000    0.000       0
+  0   6065 01:25:12.81   0.8650A   2.0800  -0.8375  -0.8971  0.079  0.00   0.000      0.  0.708E+00  0.878E-01  0.753E-03  0.466E-04   28  36  22   11  26   9   15  20   9    0.000    0.000       0
+  0   6072 01:25:18.72   0.8350A   2.1555  -0.7538  -0.8858  0.079  0.00   0.000      0.  0.708E+00  0.876E-01  0.726E-03  0.452E-04   22  28   4   11  25   9   13  20   9    0.000    0.000       0
+  0   6079 01:25:24.52   0.8320A   2.1631   0.8376  -0.9595  0.078  0.00   0.000      0.  0.708E+00  0.872E-01  0.719E-03  0.407E-04   22  28   8   12  13   9   16  23   9    0.000    0.000       0
+  0   6086 01:25:30.54   0.8590A   2.0960   0.8486  -0.9276  0.078  0.00   0.000      0.  0.707E+00  0.866E-01  0.746E-03  0.426E-04   28  36  39   13  14   9   16  24   9    0.000    0.000       0
+  0   6093 01:25:36.55   0.8560A   2.1028   0.8574  -0.8827  0.078  0.00   0.000      0.  0.707E+00  0.862E-01  0.749E-03  0.454E-04   28  36   4   12  15   9   15  25   9    0.000    0.000       0
+  0   6100 01:25:42.54   0.8560A   2.1025   0.7940  -0.7902  0.078  0.00   0.000      0.  0.707E+00  0.860E-01  0.758E-03  0.485E-04   28  36  10   12  16   9   14  25   9    0.000    0.000       0
+  0   6107 01:25:48.52   0.8540A   2.1084   0.9398  -0.8023  0.078  0.00   0.000      0.  0.707E+00  0.862E-01  0.775E-03  0.555E-04   28  36  15   10  14   9    6  12   9    0.000    0.000       0
+  0   6114 01:25:54.52   0.8590A   2.0946   1.0588   0.8533  0.078  0.00   0.000      0.  0.708E+00  0.869E-01  0.810E-03  0.671E-04   28  36  20   10  15   9   20  29   9    0.000    0.000       0
+  0   6121 01:26:00.53   0.8590A   2.0961   1.0458   0.9002  0.078  0.00   0.000      0.  0.710E+00  0.878E-01  0.816E-03  0.671E-04   28  36  26   10  16   9   20  28   9    0.000    0.000       0
+  0   6128 01:26:06.54   0.8580A   2.0991  -1.0164   0.8735  0.078  0.00   0.000      0.  0.711E+00  0.885E-01  0.813E-03  0.650E-04   28  36  32   12  25   9   20  27   9    0.000    0.000       0
+  0   6135 01:26:12.55   0.8600A   2.0942   0.9507  -0.8261  0.078  0.00   0.000      0.  0.713E+00  0.892E-01  0.794E-03  0.596E-04   28  36  38   10  18   9    7  22   9    0.000    0.000       0
+  0   6142 01:26:18.56   0.8600A   2.0929   0.9152  -0.7940  0.080  0.00   0.000      0.  0.713E+00  0.895E-01  0.780E-03  0.538E-04   28  36   3    9  17   9    6  12   9    0.000    0.000       0
+  0   6149 01:26:24.61   0.8680A   2.0741   0.8724  -0.7509  0.081  0.00   0.000      0.  0.714E+00  0.897E-01  0.789E-03  0.531E-04   28  36   8   10  17   9    8  22   5    0.000    0.000       0
+  0   6156 01:26:30.70   0.8740A   2.0601   0.7930  -0.7552  0.081  0.00   0.000      0.  0.713E+00  0.897E-01  0.796E-03  0.494E-04   28  36  14   10  17   9   10  29   8    0.000    0.000       0
+  0   6163 01:26:36.86   0.8820A   2.0412   0.7947   0.7255  0.082  0.00   0.000      0.  0.713E+00  0.895E-01  0.815E-03  0.522E-04   27  36  18   20  23   9   19  30   8    0.000    0.000       0
+  0   6169 01:26:42.02   0.8480A   2.1228  -0.8730  -0.8220  0.083  0.00   0.000      0.  0.712E+00  0.894E-01  0.784E-03  0.471E-04   24  26  29   20  10   9   18  19   9    0.000    0.000       0
+  0   6176 01:26:48.02   0.8690A   2.0708  -0.8012  -0.8932  0.084  0.00   0.000      0.  0.712E+00  0.892E-01  0.809E-03  0.469E-04   24  26  33   19  10   9   17  19   9    0.000    0.000       0
+  0   6183 01:26:54.08   0.8640A   2.0836  -0.8217  -1.2222  0.084  0.00   0.000      0.  0.711E+00  0.889E-01  0.811E-03  0.467E-04   29   6   9   12  27   9   18  15   9    0.000    0.000       0
+  0   6190 01:27:00.15   0.8720A   2.0642  -0.8470  -1.1588  0.083  0.00   0.000      0.  0.711E+00  0.888E-01  0.835E-03  0.529E-04   30  19  33   13  26   9   17  15   9    0.000    0.000       0
+  0   6197 01:27:06.22   0.8660A   2.0779  -0.8616  -1.0828  0.082  0.00   0.000      0.  0.712E+00  0.889E-01  0.842E-03  0.555E-04   30  19  39   13  25   9   15  15   9    0.000    0.000       0
+  0   6204 01:27:12.27   0.8600A   2.0930  -0.9005  -0.9524  0.081  0.00   0.000      0.  0.712E+00  0.892E-01  0.836E-03  0.538E-04   30  19   4   13  27   9   14  15   9    0.000    0.000       0
+  0   6211 01:27:18.26   0.8540A   2.1087  -1.0243   1.0241  0.080  0.00   0.000      0.  0.713E+00  0.893E-01  0.824E-03  0.486E-04   30  19  10   14  26   9   20  10   9    0.000    0.000       0
+  0   6218 01:27:24.19   0.8450A   2.1304  -0.9775   1.0508  0.079  0.00   0.000      0.  0.713E+00  0.894E-01  0.819E-03  0.497E-04   30  19  15   13  26   9   20  11   9    0.000    0.000       0
+  0   6225 01:27:30.13   0.8480A   2.1232  -0.9424   0.8949  0.079  0.00   0.000      0.  0.713E+00  0.894E-01  0.819E-03  0.541E-04   30  19  20   12  25   9   20  25   9    0.000    0.000       0
+  0   6232 01:27:36.11   0.8620A   2.0875  -0.8671   0.8813  0.079  0.00   0.000      0.  0.714E+00  0.894E-01  0.818E-03  0.514E-04   30  19  25   12  24   9   20  24   9    0.000    0.000       0
+  0   6239 01:27:42.17   0.8680A   2.0731   1.0155  -0.9474  0.079  0.00   0.000      0.  0.714E+00  0.892E-01  0.819E-03  0.513E-04   30  19  31   20  31   9    9  17   7    0.000    0.000       0
+  0   6246 01:27:48.22   0.8650A   2.0803   0.9362  -0.9878  0.080  0.00   0.000      0.  0.714E+00  0.888E-01  0.823E-03  0.518E-04   28  36  36   12  15   9    8  17   6    0.000    0.000       0
+  0   6253 01:27:54.22   0.8580A   2.0970  -0.9253   0.9722  0.081  0.00   0.000      0.  0.713E+00  0.884E-01  0.837E-03  0.561E-04   33  19  26   20  10   9   21  28   9    0.000    0.000       0
+  0   6260 01:28:00.20   0.8540A   2.1086   0.9431  -1.0918  0.081  0.00   0.000      0.  0.713E+00  0.878E-01  0.838E-03  0.527E-04   33  19  31   10  14   9   18  14   9    0.000    0.000       0
+  0   6267 01:28:06.17   0.8500A   2.1176  -1.0227  -1.2798  0.081  0.00   0.000      0.  0.712E+00  0.871E-01  0.827E-03  0.512E-04   28  37  13   18  27   9   17  15   9    0.000    0.000       0
+  0   6274 01:28:12.14   0.8560A   2.1023   0.9001  -1.1611  0.082  0.00   0.000      0.  0.712E+00  0.865E-01  0.813E-03  0.521E-04   28  37  19   10  16   9   15  15   9    0.000    0.000       0
+  0   6281 01:28:18.14   0.8550A   2.1043  -0.7979  -1.0516  0.082  0.00   0.000      0.  0.712E+00  0.862E-01  0.803E-03  0.539E-04   28  37  25   16  25   9   14  15   9    0.000    0.000       0
+  0   6288 01:28:24.11   0.8520A   2.1119  -0.7430  -0.9084  0.083  0.00   0.000      0.  0.712E+00  0.861E-01  0.792E-03  0.541E-04   26  37  28   14  10   9   14  15   8    0.000    0.000       0
+  0   6295 01:28:30.07   0.8500A   2.1183  -0.6723   0.9316  0.082  0.00   0.000      0.  0.712E+00  0.861E-01  0.775E-03  0.509E-04   26  37  33    4  12   3   18  29   8    0.000    0.000       0
+  0   6302 01:28:36.01   0.8480A   2.1224  -0.6502  -0.8880  0.082  0.00   0.000      0.  0.713E+00  0.862E-01  0.771E-03  0.506E-04   26  37  39    4  11   3   16  23   9    0.000    0.000       0
+  0   6310 01:28:42.85   0.8610A   2.0918   0.6430   0.9336  0.081  0.00   0.000      0.  0.714E+00  0.865E-01  0.779E-03  0.510E-04   26  37   5   17  12   9   20  11   9    0.000    0.000       0
+  0   6316 01:28:48.02   0.8600A   2.0939   0.7825   0.9655  0.080  0.00   0.000      0.  0.715E+00  0.868E-01  0.783E-03  0.485E-04   29  36   5   17  13   9   20  11   9    0.000    0.000       0
+  0   6323 01:28:54.00   0.8480A   2.1232   0.8120   1.0705  0.080  0.00   0.000      0.  0.716E+00  0.870E-01  0.789E-03  0.505E-04   36  36  30   19  14   9   20  28   9    0.000    0.000       0
+  0   6331 01:29:00.82   0.8540A   2.1083   0.9065   0.9173  0.081  0.00   0.000      0.  0.716E+00  0.873E-01  0.807E-03  0.516E-04   29  36  16   14  15   9   20  28   9    0.000    0.000       0
+  0   6338 01:29:06.73   0.8390A   2.1451   0.9355  -0.8162  0.082  0.00   0.000      0.  0.717E+00  0.874E-01  0.797E-03  0.467E-04   35  35  38   14  16   9   10  20   8    0.000    0.000       0
+  0   6345 01:29:12.66   0.8510A   2.1156   0.9591  -0.8518  0.083  0.00   0.000      0.  0.717E+00  0.874E-01  0.806E-03  0.460E-04   30  34  26   11  13   9    8  20   8    0.000    0.000       0
+  0   6352 01:29:18.62   0.8490A   2.1198   0.9885  -0.8859  0.083  0.00   0.000      0.  0.717E+00  0.873E-01  0.802E-03  0.481E-04   31  32  30   10  14   9    7  20   8    0.000    0.000       0
+  0   6359 01:29:24.56   0.8490A   2.1195   0.9062  -0.8445  0.084  0.00   0.000      0.  0.717E+00  0.871E-01  0.787E-03  0.455E-04   31  32  35   10  15   9    6  20   8    0.000    0.000       0
+  0   6366 01:29:30.53   0.8540A   2.1080   0.7941  -0.8574  0.084  0.00   0.000      0.  0.717E+00  0.868E-01  0.781E-03  0.419E-04   31  32   0    9  17   9   16  21   9    0.000    0.000       0
+  0   6373 01:29:36.55   0.8630A   2.0860   0.6954  -0.8480  0.085  0.00   0.000      0.  0.716E+00  0.865E-01  0.783E-03  0.421E-04   32  32   3    9  18   9   16  20   9    0.000    0.000       0
+  0   6380 01:29:42.59   0.8610A   2.0895   0.6367  -0.8536  0.085  0.00   0.000      0.  0.716E+00  0.860E-01  0.775E-03  0.433E-04   37  29  38    4  20   8   16  19   9    0.000    0.000       0
+  0   6387 01:29:48.65   0.8660A   2.0778  -0.6212  -0.8578  0.085  0.00   0.000      0.  0.715E+00  0.855E-01  0.771E-03  0.426E-04   35  32  12   19  28   9   15  19   9    0.000    0.000       0
+  0   6394 01:29:54.69   0.8570A   2.1001  -0.6899  -0.8306  0.083  0.00   0.000      0.  0.714E+00  0.850E-01  0.768E-03  0.438E-04   37  30   9   18  27   9   14  19   9    0.000    0.000       0
+  0   6401 01:30:00.62   0.8420A   2.1383  -0.7976   1.0621  0.082  0.00   0.000      0.  0.714E+00  0.847E-01  0.775E-03  0.505E-04   37  30  13   14  10   9   20  12   9    0.000    0.000       0
+  0   6408 01:30:06.47   0.8290A   2.1724   0.8409   1.0342  0.080  0.00   0.000      0.  0.714E+00  0.845E-01  0.777E-03  0.537E-04   37  30  18   14  10   8   20  13   9    0.000    0.000       0
+  0   6415 01:30:12.32   0.8400A   2.1418   0.9024   0.9769  0.080  0.00   0.000      0.  0.714E+00  0.845E-01  0.790E-03  0.534E-04   37  30  23   15  15   9   20  11   9    0.000    0.000       0
+  0   6422 01:30:18.23   0.8570A   2.1006   0.9705  -0.8688  0.080  0.00   0.000      0.  0.714E+00  0.847E-01  0.811E-03  0.591E-04   37  30  27   17  15   9    7  11   9    0.000    0.000       0
+  0   6429 01:30:24.25   0.8680A   2.0737   0.9744  -0.8668  0.080  0.00   0.000      0.  0.715E+00  0.853E-01  0.833E-03  0.668E-04   35  33   4   15  16   9    7  12   9    0.000    0.000       0
+  0   6436 01:30:30.30   0.8610A   2.0896   0.9948   1.0441  0.080  0.00   0.000      0.  0.717E+00  0.862E-01  0.835E-03  0.685E-04   36  32   8   16  17   9   20  29   9    0.000    0.000       0
+  0   6443 01:30:36.34   0.8680A   2.0745   0.9504   1.1934  0.080  0.00   0.000      0.  0.719E+00  0.870E-01  0.840E-03  0.690E-04   36  33  13   14  14   9   20  27   9    0.000    0.000       0
+  0   6450 01:30:42.39   0.8590A   2.0957   1.0198   1.1135  0.080  0.00   0.000      0.  0.720E+00  0.879E-01  0.827E-03  0.685E-04   29  34  31   14  15   9   20  25   9    0.000    0.000       0
+  0   6457 01:30:48.37   0.8520A   2.1119   0.9984   1.0143  0.079  0.00   0.000      0.  0.721E+00  0.886E-01  0.809E-03  0.631E-04   29  34  37   15  17   9   21  25   9    0.000    0.000       0
+  0   6464 01:30:54.29   0.8400A   2.1440   0.9090   1.0858  0.079  0.00   0.000      0.  0.722E+00  0.891E-01  0.791E-03  0.564E-04   28  31  12   16  17   9   20  11   9    0.000    0.000       0
+  0   6471 01:31:00.06   0.8180A   2.1999   1.0309   0.9266  0.078  0.00   0.000      0.  0.722E+00  0.893E-01  0.765E-03  0.516E-04   28  31  17   19  16   9   20  11   9    0.000    0.000       0
+  0   6479 01:31:06.63   0.8270A   2.1765  -0.9287   0.9135  0.078  0.00   0.000      0.  0.722E+00  0.895E-01  0.766E-03  0.467E-04   28  31  22    7  25   9   20  11   9    0.000    0.000       0
+  0   6486 01:31:12.52   0.8410A   2.1415  -0.8755   0.8279  0.078  0.00   0.000      0.  0.722E+00  0.897E-01  0.775E-03  0.457E-04   28  32  21    7  25   9   20  11   9    0.000    0.000       0
+  0   6493 01:31:18.31   0.8260A   2.1786  -0.8323   0.8795  0.078  0.00   0.000      0.  0.722E+00  0.898E-01  0.765E-03  0.416E-04   28  32  26    6  25   9   20  11   9    0.000    0.000       0
+  0   6500 01:31:24.08   0.8190A   2.1984  -0.8105   0.8526  0.078  0.00   0.000      0.  0.722E+00  0.900E-01  0.772E-03  0.428E-04   28  31  28    4  24   9   20  11   9    0.000    0.000       0
+  0   6508 01:31:30.67   0.8200A   2.1950   0.7294   0.8577  0.079  0.00   0.000      0.  0.722E+00  0.902E-01  0.790E-03  0.496E-04   28  32  38   17  15   9   20  16   9    0.000    0.000       0
+  0   6515 01:31:36.38   0.8150A   2.2077  -0.7127  -0.8661  0.080  0.00   0.000      0.  0.722E+00  0.906E-01  0.795E-03  0.519E-04   28  32   2    5  25   9   16  26   9    0.000    0.000       0
+  0   6522 01:31:42.15   0.8370A   2.1508  -0.8951  -0.8265  0.081  0.00   0.000      0.  0.722E+00  0.910E-01  0.820E-03  0.514E-04   28  32   7   19   9   9   15  27   9    0.000    0.000       0
+  0   6530 01:31:48.82   0.8330A   2.1604  -0.8194  -0.8505  0.082  0.00   0.000      0.  0.722E+00  0.910E-01  0.820E-03  0.463E-04   29  30   6   19   9   9   12  28   4    0.000    0.000       0
+  0   6537 01:31:54.75   0.8510A   2.1142  -0.7677  -0.9205  0.083  0.00   0.000      0.  0.722E+00  0.909E-01  0.847E-03  0.430E-04   28  33  16   20  28   9   11  29   9    0.000    0.000       0
+  0   6544 01:32:00.68   0.8370A   2.1496  -0.7898   0.9323  0.082  0.00   0.000      0.  0.721E+00  0.907E-01  0.848E-03  0.465E-04   26  27  26   14  30   6   20  27   9    0.000    0.000       0
+  0   6551 01:32:06.48   0.8230A   2.1870  -0.8761   1.1785  0.080  0.00   0.000      0.  0.720E+00  0.906E-01  0.867E-03  0.537E-04   26  27  31   16  27   9   21  26   9    0.000    0.000       0
+  0   6558 01:32:12.26   0.8180A   2.2015  -1.0478   1.0961  0.077  0.00   0.000      0.  0.720E+00  0.906E-01  0.881E-03  0.548E-04   25  31  30   16  26   9   21  25   9    0.000    0.000       0
+  0   6565 01:32:18.07   0.8320A   2.1643  -1.0981  -0.9874  0.076  0.00   0.000      0.  0.720E+00  0.907E-01  0.920E-03  0.592E-04   25  31  34   15  25   9   10  28   9    0.000    0.000       0
+  0   6573 01:32:24.79   0.8530A   2.1105   1.3313  -0.9395  0.076  0.00   0.000      0.  0.719E+00  0.909E-01  0.959E-03  0.638E-04   26  26   6   19  31   9   18  20   9    0.000    0.000       0
+  0   6580 01:32:30.71   0.8440A   2.1336   1.2002  -1.0533  0.077  0.00   0.000      0.  0.719E+00  0.908E-01  0.944E-03  0.615E-04   22  19  20   18  31   9   17  20   9    0.000    0.000       0
+  0   6587 01:32:36.74   0.8610A   2.0907  -1.0905  -1.1327  0.078  0.00   0.000      0.  0.719E+00  0.907E-01  0.961E-03  0.648E-04   37   3  35   11  24   9   17  21   9    0.000    0.000       0
+  0   6594 01:32:42.77   0.8650A   2.0811  -0.9716  -1.2508  0.078  0.00   0.000      0.  0.720E+00  0.908E-01  0.961E-03  0.676E-04   28  24  30   10  23   9   15  21   9    0.000    0.000       0
+  0   6601 01:32:48.83   0.8660A   2.0793   0.8060  -1.2675  0.078  0.00   0.000      0.  0.720E+00  0.910E-01  0.961E-03  0.680E-04   26  18   1   17  15   9   14  21   9    0.000    0.000       0
+  0   6607 01:32:54.02   0.8640A   2.0835  -0.9598  -1.2324  0.077  0.00   0.000      0.  0.720E+00  0.911E-01  0.954E-03  0.642E-04   29  24  36   21  11   8   12  22   9    0.000    0.000       0
+  0   6614 01:33:00.02   0.8620A   2.0884  -0.9285  -1.1724  0.076  0.00   0.000      0.  0.720E+00  0.911E-01  0.939E-03  0.567E-04   37   4  16   21  11   8   10  22   9    0.000    0.000       0
+  0   6621 01:33:06.03   0.8610A   2.0903   0.9274  -1.0885  0.076  0.00   0.000      0.  0.720E+00  0.908E-01  0.919E-03  0.503E-04   37   4  21   14  16   9    9  19   9    0.000    0.000       0
+  0   6628 01:33:12.11   0.8810A   2.0431   0.9316  -1.0193  0.076  0.00   0.000      0.  0.719E+00  0.904E-01  0.926E-03  0.493E-04   37  31  15   13  17   9    9  23   8    0.000    0.000       0
+  0   6635 01:33:18.17   0.8510A   2.1147   0.8294  -0.9958  0.076  0.00   0.000      0.  0.718E+00  0.901E-01  0.887E-03  0.444E-04   26  29   7   12  18   9    7  23   7    0.000    0.000       0
+  0   6642 01:33:24.08   0.8410A   2.1413   0.7754   0.9734  0.076  0.00   0.000      0.  0.717E+00  0.901E-01  0.880E-03  0.468E-04   26  29  11   14  14   9   20  29   9    0.000    0.000       0
+  0   6649 01:33:30.05   0.8650A   2.0811   0.7423   1.2113  0.076  0.00   0.000      0.  0.717E+00  0.904E-01  0.916E-03  0.540E-04   26  29  16   13  15   9   20  29   9    0.000    0.000       0
+  0   6656 01:33:36.15   0.8650A   2.0806   0.7442   1.1922  0.076  0.00   0.000      0.  0.717E+00  0.910E-01  0.908E-03  0.566E-04   28  24  33   13  16   9   20  28   9    0.000    0.000       0
+  0   6663 01:33:42.18   0.8620A   2.0872  -0.7340   1.0500  0.077  0.00   0.000      0.  0.718E+00  0.916E-01  0.899E-03  0.582E-04   28  24  39   20  15   8   20  29   9    0.000    0.000       0
+  0   6670 01:33:48.23   0.8670A   2.0749  -0.6634   0.9959  0.079  0.00   0.000      0.  0.718E+00  0.921E-01  0.893E-03  0.574E-04   33  25   5    1  16   7   20  29   9    0.000    0.000       0
+  0   6677 01:33:54.28   0.8610A   2.0903  -0.7008   0.8940  0.080  0.00   0.000      0.  0.718E+00  0.925E-01  0.877E-03  0.550E-04   33  25  10   20  10   9   20  27   9    0.000    0.000       0
+  0   6684 01:34:00.33   0.8640A   2.0830  -0.8367  -0.8552  0.081  0.00   0.000      0.  0.718E+00  0.926E-01  0.868E-03  0.463E-04   28  24  17   20  15   8   17  29   8    0.000    0.000       0
+  0   6691 01:34:06.34   0.8570A   2.1013  -0.7235  -0.7751  0.081  0.00   0.000      0.  0.717E+00  0.923E-01  0.842E-03  0.417E-04   28  24  23   19   9   9   16  29   9    0.000    0.000       0
+  0   6698 01:34:12.34   0.8580A   2.0987  -0.7341  -0.7525  0.082  0.00   0.000      0.  0.716E+00  0.919E-01  0.826E-03  0.401E-04   28  24  28   19   9   9   16  19   9    0.000    0.000       0
+  0   6705 01:34:18.30   0.8480A   2.1217  -0.7931   0.7900  0.082  0.00   0.000      0.  0.715E+00  0.917E-01  0.804E-03  0.395E-04   28  24  34   18  10   9   20  29   0    0.000    0.000       0
+  0   6712 01:34:24.24   0.8470A   2.1264  -0.8008   0.9222  0.081  0.00   0.000      0.  0.715E+00  0.915E-01  0.789E-03  0.352E-04   27  30  27    8  27   9   20  29   2    0.000    0.000       0
+  0   6719 01:34:30.15   0.8430A   2.1350  -0.7867   0.7879  0.080  0.00   0.000      0.  0.714E+00  0.911E-01  0.776E-03  0.347E-04   27  31  31    8  26   9   21  29   4    0.000    0.000       0
+  0   6726 01:34:36.11   0.8530A   2.1092  -0.6955   0.7652  0.080  0.00   0.000      0.  0.713E+00  0.908E-01  0.783E-03  0.377E-04   32  26  11   19  10   9   17  10   9    0.000    0.000       0
+  0   6733 01:34:42.06   0.8460A   2.1287   0.7708   0.7683  0.079  0.00   0.000      0.  0.713E+00  0.907E-01  0.783E-03  0.407E-04   27  30   3   14  13   9   17  11   9    0.000    0.000       0
+  0   6741 01:34:48.79   0.8440A   2.1317   0.8836  -0.7995  0.078  0.00   0.000      0.  0.713E+00  0.908E-01  0.786E-03  0.412E-04   31  25  20   11  13   9   14  26   9    0.000    0.000       0
+  0   6748 01:34:54.64   0.8320A   2.1631   0.9769  -0.8312  0.077  0.00   0.000      0.  0.713E+00  0.908E-01  0.771E-03  0.392E-04   22  36  23   12  15   9   20  29   8    0.000    0.000       0
+  0   6755 01:35:00.48   0.8370A   2.1509   0.9732  -0.7891  0.077  0.00   0.000      0.  0.712E+00  0.906E-01  0.767E-03  0.377E-04   22  36  28   12  16   9   12  25   8    0.000    0.000       0
+  0   6762 01:35:06.36   0.8380A   2.1475   0.9122  -0.7738  0.076  0.00   0.000      0.  0.711E+00  0.904E-01  0.765E-03  0.390E-04   28  30  29   13  17   9   17  21   9    0.000    0.000       0
+  0   6769 01:35:12.05   0.8040A   2.2385   0.8716  -0.7579  0.076  0.00   0.000      0.  0.711E+00  0.902E-01  0.728E-03  0.380E-04   28  30  34   13  18   9   10  25   6    0.000    0.000       0
+  0   6777 01:35:18.48   0.8160A   2.2050   0.8523  -0.7456  0.076  0.00   0.000      0.  0.710E+00  0.902E-01  0.733E-03  0.403E-04   28  30   0   11  15   9    8  25   5    0.000    0.000       0
+  0   6784 01:35:24.19   0.8230A   2.1874   0.8916  -0.7980  0.075  0.00   0.000      0.  0.710E+00  0.903E-01  0.732E-03  0.383E-04   28  30   4   10  16   9   16  21   9    0.000    0.000       0
+  0   6792 01:35:30.83   0.8430A   2.1341   0.8446  -0.8949  0.076  0.00   0.000      0.  0.709E+00  0.904E-01  0.755E-03  0.402E-04   28  32   2    9  17   9   16  21   9    0.000    0.000       0
+  0   6799 01:35:36.73   0.8450A   2.1292   0.7893  -0.9335  0.077  0.00   0.000      0.  0.709E+00  0.906E-01  0.771E-03  0.439E-04   29  32  11   19  24   9   15  21   9    0.000    0.000       0
+  0   6806 01:35:42.64   0.8470A   2.1260   0.8398  -0.9324  0.078  0.00   0.000      0.  0.709E+00  0.909E-01  0.772E-03  0.435E-04   29  32  16   19  25   9   14  21   9    0.000    0.000       0
+  0   6813 01:35:48.56   0.8410A   2.1398   0.7252  -0.8631  0.079  0.00   0.000      0.  0.709E+00  0.912E-01  0.762E-03  0.420E-04   28  32  23   18  26   9   13  21   9    0.000    0.000       0
+  0   6820 01:35:54.48   0.8470A   2.1244  -0.6546  -0.7622  0.079  0.00   0.000      0.  0.709E+00  0.915E-01  0.759E-03  0.403E-04   28  32  28   20  22   4   14  18   8    0.000    0.000       0
+  0   6827 01:36:00.40   0.8390A   2.1444  -0.6839  -0.7292  0.079  0.00   0.000      0.  0.709E+00  0.919E-01  0.749E-03  0.416E-04   34  34  39   20  20   4   13  18   8    0.000    0.000       0
+  0   6834 01:36:06.25   0.8330A   2.1597   0.6663  -0.6741  0.079  0.00   0.000      0.  0.709E+00  0.924E-01  0.743E-03  0.428E-04   34  34   4   19  30   9   11  19   8    0.000    0.000       0
+  0   6841 01:36:12.06   0.8270A   2.1765   0.7407   0.9348  0.079  0.00   0.000      0.  0.709E+00  0.929E-01  0.732E-03  0.407E-04   34  34  10   19  30   9   20  12   9    0.000    0.000       0
+  0   6849 01:36:18.63   0.8240A   2.1851  -0.6636   1.0125  0.079  0.00   0.000      0.  0.709E+00  0.935E-01  0.733E-03  0.408E-04   34  34  15    9  23   7   21  13   9    0.000    0.000       0
+  0   6856 01:36:24.39   0.8290A   2.1723  -0.7048   0.8071  0.079  0.00   0.000      0.  0.709E+00  0.941E-01  0.746E-03  0.420E-04   34  34  20   11  27   9   19  29   8    0.000    0.000       0
+  0   6863 01:36:30.19   0.8350A   2.1560  -0.8646   0.7226  0.078  0.00   0.000      0.  0.709E+00  0.945E-01  0.752E-03  0.404E-04   34  34  26   11  26   9   20  29   8    0.000    0.000       0
+  0   6870 01:36:36.07   0.8400A   2.1417  -0.9735   0.6766  0.078  0.00   0.000      0.  0.709E+00  0.949E-01  0.760E-03  0.418E-04   34  34  31   13  26   9   21  29   9    0.000    0.000       0
+  0   6878 01:36:42.81   0.8470A   2.1250  -0.9258  -0.7260  0.078  0.00   0.000      0.  0.709E+00  0.950E-01  0.776E-03  0.388E-04   34  34  37   13  25   9   18  17   9    0.000    0.000       0
+  0   6885 01:36:48.77   0.8500A   2.1176  -0.8334  -0.8282  0.079  0.00   0.000      0.  0.709E+00  0.948E-01  0.787E-03  0.367E-04   29  25  19    6  28   9   17  17   9    0.000    0.000       0
+  0   6892 01:36:54.74   0.8530A   2.1104  -0.7944  -0.8078  0.080  0.00   0.000      0.  0.708E+00  0.943E-01  0.794E-03  0.370E-04   29  25  24    6  28   9   16  19   9    0.000    0.000       0
+  0   6899 01:37:00.61   0.8260A   2.1787  -0.7404  -0.7659  0.081  0.00   0.000      0.  0.707E+00  0.938E-01  0.767E-03  0.361E-04   29  24  28   14  26   9   17  19   9    0.000    0.000       0
+  0   6906 01:37:06.38   0.8270A   2.1768   0.8604  -0.7448  0.081  0.00   0.000      0.  0.706E+00  0.933E-01  0.766E-03  0.369E-04   29  24  33   11  14   9   17  18   9    0.000    0.000       0
+  0   6913 01:37:12.19   0.8350A   2.1569   0.8933   0.6888  0.082  0.00   0.000      0.  0.705E+00  0.930E-01  0.777E-03  0.395E-04   25  25  22   12  14   9   20  13   9    0.000    0.000       0
+  0   6921 01:37:18.80   0.8180A   2.2015   0.8132  -1.0238  0.082  0.00   0.000      0.  0.704E+00  0.928E-01  0.769E-03  0.404E-04   25  25  27   12  15   9   18  24   9    0.000    0.000       0
+  0   6928 01:37:24.57   0.8250A   2.1807   0.7956  -1.1598  0.083  0.00   0.000      0.  0.704E+00  0.927E-01  0.787E-03  0.422E-04   25  25  32   11  13   9   17  24   9    0.000    0.000       0
+  0   6935 01:37:30.41   0.8520A   2.1132   0.7858  -1.0775  0.082  0.00   0.000      0.  0.703E+00  0.929E-01  0.820E-03  0.483E-04   25  25  36   11  14   9   16  24   9    0.000    0.000       0
+  0   6942 01:37:36.36   0.8490A   2.1201  -0.7969  -0.9118  0.081  0.00   0.000      0.  0.703E+00  0.932E-01  0.813E-03  0.500E-04   31  29  18   13  25   9   16  25   9    0.000    0.000       0
+  0   6949 01:37:42.34   0.8570A   2.1004  -0.7492  -0.7935  0.080  0.00   0.000      0.  0.704E+00  0.938E-01  0.818E-03  0.523E-04   31  29  23   13  25   9   14  23   9    0.000    0.000       0
+  0   6956 01:37:48.37   0.8580A   2.0979   0.7239  -0.8527  0.080  0.00   0.000      0.  0.704E+00  0.944E-01  0.823E-03  0.519E-04   25  22  11   20  25   9   17  20   9    0.000    0.000       0
+  0   6963 01:37:54.36   0.8590A   2.0960   0.7376  -1.0029  0.080  0.00   0.000      0.  0.704E+00  0.949E-01  0.833E-03  0.521E-04   25  22  17   19  26   9   16  21   9    0.000    0.000       0
+  0   6970 01:38:00.36   0.8590A   2.0964   0.8575  -1.0952  0.081  0.00   0.000      0.  0.704E+00  0.953E-01  0.832E-03  0.552E-04   25  22  22   18  30   9   15  21   9    0.000    0.000       0
+  0   6977 01:38:06.35   0.8420A   2.1377   0.9323  -1.0806  0.083  0.00   0.000      0.  0.705E+00  0.958E-01  0.823E-03  0.549E-04   34  22  28   20  28   9   14  21   9    0.000    0.000       0
+  0   6984 01:38:12.22   0.8380A   2.1469   0.9473  -1.1294  0.085  0.00   0.000      0.  0.705E+00  0.960E-01  0.811E-03  0.491E-04   34  22  32   19  28   9   17  24   9    0.000    0.000       0
+  0   6991 01:38:18.00   0.8230A   2.1872   0.9745  -1.1755  0.087  0.00   0.000      0.  0.705E+00  0.959E-01  0.771E-03  0.404E-04   34  22  37   18  30   9   16  24   9    0.000    0.000       0
+  0   6999 01:38:24.65   0.8280A   2.1736  -0.8623  -1.0744  0.087  0.00   0.000      0.  0.705E+00  0.956E-01  0.760E-03  0.407E-04   34  22   2   10  26   9   14  23   9    0.000    0.000       0
+  0   7006 01:38:30.54   0.8530A   2.1107  -0.8442  -0.9678  0.087  0.00   0.000      0.  0.705E+00  0.957E-01  0.765E-03  0.409E-04   34  22   7   10  26   9   13  22   9    0.000    0.000       0
+  0   7013 01:38:36.53   0.8540A   2.1067  -0.7427  -0.8568  0.086  0.00   0.000      0.  0.705E+00  0.957E-01  0.750E-03  0.393E-04   35  36   7   15  24   7   12  21   9    0.000    0.000       0
+  0   7020 01:38:42.53   0.8590A   2.0966  -0.7970  -0.8799  0.085  0.00   0.000      0.  0.705E+00  0.958E-01  0.742E-03  0.394E-04   35  36  12    7  27   9    7  20   8    0.000    0.000       0
+  0   7027 01:38:48.57   0.8620A   2.0893  -0.8123  -0.8802  0.084  0.00   0.000      0.  0.705E+00  0.957E-01  0.739E-03  0.386E-04   34  21  22    7  27   9    5  20   8    0.000    0.000       0
+  0   7034 01:38:54.62   0.8670A   2.0760  -0.8071  -0.8702  0.083  0.00   0.000      0.  0.704E+00  0.954E-01  0.744E-03  0.384E-04   35   2  23    7  26   9    4  20   7    0.000    0.000       0
+  0   7041 01:39:00.66   0.8630A   2.0847  -0.7892  -0.7628  0.082  0.00   0.000      0.  0.703E+00  0.952E-01  0.753E-03  0.416E-04   31  32  31    7  25   9    4  20   9    0.000    0.000       0
+  0   7048 01:39:06.73   0.8660A   2.0797  -0.7516  -0.7813  0.083  0.00   0.000      0.  0.702E+00  0.952E-01  0.767E-03  0.442E-04   35   3  32    9  27   9    3  20   8    0.000    0.000       0
+  0   7055 01:39:12.80   0.8740A   2.0585   0.9328  -0.8857  0.084  0.00   0.000      0.  0.702E+00  0.953E-01  0.789E-03  0.478E-04   29   4  17   20  30   9   18  25   9    0.000    0.000       0
+  0   7061 01:39:18.03   0.8730A   2.0629   0.9205  -0.9289  0.086  0.00   0.000      0.  0.703E+00  0.955E-01  0.808E-03  0.518E-04   29   4  21   19  30   9   17  25   9    0.000    0.000       0
+  0   7068 01:39:24.20   0.8800A   2.0463   0.8911  -1.0803  0.088  0.00   0.000      0.  0.703E+00  0.959E-01  0.834E-03  0.552E-04   31  30   8   18  30   9   17  17   9    0.000    0.000       0
+  0   7075 01:39:30.28   0.8570A   2.1000  -0.9378  -1.1352  0.090  0.00   0.000      0.  0.704E+00  0.961E-01  0.813E-03  0.528E-04   38  34   6   20  10   9   16  17   9    0.000    0.000       0
+  0   7082 01:39:36.32   0.8710A   2.0676   0.9529  -1.0626  0.090  0.00   0.000      0.  0.704E+00  0.961E-01  0.823E-03  0.510E-04   26  36   2   13  13   9   16  17   9    0.000    0.000       0
+  0   7089 01:39:42.47   0.8820A   2.0406   0.9674  -1.0340  0.089  0.00   0.000      0.  0.704E+00  0.959E-01  0.838E-03  0.496E-04   29  36   6   13  14   9   15  20   9    0.000    0.000       0
+  0   7096 01:39:48.58   0.8750A   2.0573  -0.9504  -0.9474  0.087  0.00   0.000      0.  0.704E+00  0.956E-01  0.849E-03  0.533E-04   29  36  10   16  27   9   14  20   9    0.000    0.000       0
+  0   7103 01:39:54.65   0.8630A   2.0849  -1.0248  -0.9582  0.084  0.00   0.000      0.  0.704E+00  0.955E-01  0.859E-03  0.550E-04   19   8   4   14  26   9   10  20   8    0.000    0.000       0
+  0   7110 01:40:00.73   0.8790A   2.0472   1.0865  -0.9554  0.082  0.00   0.000      0.  0.704E+00  0.951E-01  0.878E-03  0.515E-04   29  36  20   10  14   9    7  20   8    0.000    0.000       0
+  0   7116 01:40:06.05   0.8870A   2.0286   1.0354  -0.9506  0.080  0.00   0.000      0.  0.704E+00  0.946E-01  0.887E-03  0.523E-04   28  35  25    9  15   9    7  20   7    0.000    0.000       0
+  0   7123 01:40:12.22   0.8780A   2.0507   0.9247  -0.9442  0.079  0.00   0.000      0.  0.703E+00  0.941E-01  0.865E-03  0.458E-04   29  36  32    9  16   9    6  21   7    0.000    0.000       0
+  0   7130 01:40:18.35   0.8740A   2.0602   0.8197  -0.8856  0.080  0.00   0.000      0.  0.702E+00  0.935E-01  0.851E-03  0.413E-04   29  36  37   19  13   9    5  21   6    0.000    0.000       0
+  0   7137 01:40:24.51   0.8820A   2.0408  -0.7227  -0.8957  0.082  0.00   0.000      0.  0.702E+00  0.931E-01  0.852E-03  0.397E-04   29  36   2   14  23   7   15  23   9    0.000    0.000       0
+  0   7144 01:40:30.65   0.8670A   2.0750  -0.6913  -0.9441  0.084  0.00   0.000      0.  0.701E+00  0.927E-01  0.845E-03  0.463E-04   22  31  31   13  22   7   17  21   9    0.000    0.000       0
+  0   7151 01:40:36.61   0.8370A   2.1509  -0.7487  -0.9798  0.085  0.00   0.000      0.  0.702E+00  0.928E-01  0.840E-03  0.540E-04   22  31  35   13  21   6   17  17   9    0.000    0.000       0
+  0   7158 01:40:42.46   0.8330A   2.1596  -0.8249  -1.0501  0.085  0.00   0.000      0.  0.703E+00  0.930E-01  0.847E-03  0.575E-04   22  31  39   16  28   9   17  17   9    0.000    0.000       0
+  0   7165 01:40:48.51   0.8710A   2.0657  -1.0091  -0.9687  0.085  0.00   0.000      0.  0.703E+00  0.929E-01  0.878E-03  0.539E-04   23  29   8   15  27   9   13  16   9    0.000    0.000       0
+  0   7172 01:40:54.64   0.8770A   2.0525  -1.0761   1.3333  0.083  0.00   0.000      0.  0.703E+00  0.927E-01  0.887E-03  0.560E-04   29  37  29   14  26   9   20  12   9    0.000    0.000       0
+  0   7179 01:41:00.71   0.8530A   2.1111  -1.0470   1.3693  0.082  0.00   0.000      0.  0.703E+00  0.925E-01  0.874E-03  0.608E-04   22  29  15   12  26   9   21  13   9    0.000    0.000       0
+  0   7186 01:41:06.74   0.8450A   2.1303   1.0650   1.0030  0.080  0.00   0.000      0.  0.703E+00  0.924E-01  0.858E-03  0.563E-04   23  29  16   13  15   9   20  15   9    0.000    0.000       0
+  0   7193 01:41:12.76   0.8670A   2.0764   1.1773  -0.9193  0.079  0.00   0.000      0.  0.703E+00  0.919E-01  0.864E-03  0.505E-04   22  29  24   13  16   9   11  18   8    0.000    0.000       0
+  0   7200 01:41:18.73   0.8330A   2.1609   1.1870  -0.9236  0.078  0.00   0.000      0.  0.703E+00  0.914E-01  0.824E-03  0.471E-04   22  29  28   11  14   9    9  18   8    0.000    0.000       0
+  0   7207 01:41:24.58   0.8300A   2.1693   1.1210  -0.8938  0.078  0.00   0.000      0.  0.702E+00  0.910E-01  0.828E-03  0.515E-04   22  29  32   10  15   9    7  12   9    0.000    0.000       0
+  0   7214 01:41:30.50   0.8450A   2.1301   0.9919  -0.8406  0.079  0.00   0.000      0.  0.702E+00  0.906E-01  0.826E-03  0.482E-04   22  28  36   14  16   9    6  14   9    0.000    0.000       0
+  0   7221 01:41:36.47   0.8520A   2.1117   0.8731  -0.7889  0.080  0.00   0.000      0.  0.702E+00  0.903E-01  0.810E-03  0.459E-04   22  28   0   14  17   9    5  14   9    0.000    0.000       0
+  0   7228 01:41:42.36   0.8450A   2.1304  -0.8656   0.8574  0.081  0.00   0.000      0.  0.703E+00  0.901E-01  0.798E-03  0.497E-04   22  29   5   19  19   9   15  11   0    0.000    0.000       0
+  0   7235 01:41:48.31   0.8430A   2.1361   0.8891  -1.0903  0.081  0.00   0.000      0.  0.703E+00  0.899E-01  0.786E-03  0.454E-04   22  30   8   19  26   9   17  20   9    0.000    0.000       0
+  0   7242 01:41:54.29   0.8540A   2.1068   0.7090  -1.2811  0.082  0.00   0.000      0.  0.703E+00  0.895E-01  0.786E-03  0.465E-04   22  30  12   17  25   9   16  20   9    0.000    0.000       0
+  0   7249 01:42:00.30   0.8540A   2.1076  -0.9283  -1.1523  0.084  0.00   0.000      0.  0.703E+00  0.892E-01  0.791E-03  0.512E-04   22  29  17   20  25   8   14  20   9    0.000    0.000       0
+  0   7256 01:42:06.33   0.8640A   2.0828  -0.7669  -1.0554  0.084  0.00   0.000      0.  0.703E+00  0.889E-01  0.804E-03  0.519E-04   28  18  31   20  25   9   18  27   9    0.000    0.000       0
+  0   7263 01:42:12.47   0.8780A   2.0499   0.7443  -1.0457  0.084  0.00   0.000      0.  0.703E+00  0.886E-01  0.808E-03  0.507E-04   27  19   0   12  14   9   17  26   9    0.000    0.000       0
+  0   7270 01:42:18.60   0.8740A   2.0596   0.8128  -0.8755  0.084  0.00   0.000      0.  0.702E+00  0.884E-01  0.798E-03  0.510E-04   27  19   5   12  16   9   13  23   8    0.000    0.000       0
+  0   7277 01:42:24.75   0.8820A   2.0404   0.8282  -0.8083  0.084  0.00   0.000      0.  0.703E+00  0.883E-01  0.806E-03  0.558E-04   21  31  28   11  17   9    8  12   9    0.000    0.000       0
+  0   7284 01:42:30.78   0.8520A   2.1137   0.7527  -0.8266  0.085  0.00   0.000      0.  0.703E+00  0.882E-01  0.776E-03  0.508E-04   21  31  33   11  17   9   18  16   9    0.000    0.000       0
+  0   7291 01:42:36.82   0.8610A   2.0916  -0.8634  -0.8107  0.085  0.00   0.000      0.  0.703E+00  0.881E-01  0.775E-03  0.515E-04   21  31  37   17  26   9   17  17   9    0.000    0.000       0
+  0   7297 01:42:42.02   0.8670A   2.0770  -0.9372  -0.7516  0.084  0.00   0.000      0.  0.704E+00  0.882E-01  0.780E-03  0.546E-04   21  31   1   13  26   9    7  20   8    0.000    0.000       0
+  0   7304 01:42:48.08   0.8670A   2.0767  -0.9366   0.9861  0.083  0.00   0.000      0.  0.705E+00  0.883E-01  0.776E-03  0.560E-04   28  16  33   14  25   9   20  11   9    0.000    0.000       0
+  0   7311 01:42:54.16   0.8690A   2.0702   0.9741   0.9682  0.082  0.00   0.000      0.  0.705E+00  0.883E-01  0.766E-03  0.530E-04   28  16  37   19  14   9   20  11   9    0.000    0.000       0
+  0   7318 01:43:00.28   0.8800A   2.0455   0.9450   0.9690  0.080  0.00   0.000      0.  0.705E+00  0.882E-01  0.764E-03  0.473E-04   29  12   4   16  16   9   20  12   9    0.000    0.000       0
+  0   7325 01:43:06.45   0.8810A   2.0435   0.9914   0.8689  0.079  0.00   0.000      0.  0.705E+00  0.879E-01  0.761E-03  0.459E-04   33  12   3   19  17   9   20  12   9    0.000    0.000       0
+  0   7332 01:43:12.62   0.8760A   2.0543   1.0014  -0.7880  0.079  0.00   0.000      0.  0.704E+00  0.875E-01  0.767E-03  0.475E-04   26  17  18   13  17   8    6  20   6    0.000    0.000       0
+  0   7339 01:43:18.74   0.8720A   2.0654   1.0623  -0.8088  0.079  0.00   0.000      0.  0.704E+00  0.872E-01  0.767E-03  0.479E-04   26  17  23   12  15   9   16  10   8    0.000    0.000       0
+  0   7345 01:43:23***   0.8800A   2.0461   0.9955  -0.7207  0.079  0.00   0.000      0.  0.704E+00  0.872E-01  0.758E-03  0.470E-04   26  33  37   11  16   9   10  14   9    0.000    0.000       0
+  0   7352 01:43:30.16   0.8820A   2.0415   0.9196   0.7474  0.079  0.00   0.000      0.  0.705E+00  0.872E-01  0.741E-03  0.468E-04   26  33   2   10  18   9   20  11   9    0.000    0.000       0
+  0   7359 01:43:36.17   0.8590A   2.0956   0.8926   0.7690  0.078  0.00   0.000      0.  0.705E+00  0.875E-01  0.725E-03  0.487E-04   22  34   9   12  15   9   20  11   9    0.000    0.000       0
+  0   7366 01:43:42.15   0.8650A   2.0811   0.8526   0.7683  0.077  0.00   0.000      0.  0.706E+00  0.878E-01  0.742E-03  0.550E-04   22  34  14    6  13   9   20  29   9    0.000    0.000       0
+  0   7373 01:43:48.27   0.8710A   2.0655   0.9767   0.8107  0.076  0.00   0.000      0.  0.707E+00  0.882E-01  0.756E-03  0.566E-04   33  14  37    6  15   9   20  28   9    0.000    0.000       0
+  0   7380 01:43:54.37   0.8700A   2.0687   1.0185  -0.6581  0.075  0.00   0.000      0.  0.707E+00  0.884E-01  0.745E-03  0.522E-04   33  14   2   11  15   9    3  21   9    0.000    0.000       0
+  0   7387 01:44:00.42   0.8580A   2.0972   0.9992   0.7183  0.075  0.00   0.000      0.  0.707E+00  0.884E-01  0.732E-03  0.451E-04   21  34  30   11  16   9   13  29   8    0.000    0.000       0
+  0   7394 01:44:06.38   0.8470A   2.1260   0.9498  -0.6750  0.075  0.00   0.000      0.  0.707E+00  0.880E-01  0.714E-03  0.384E-04   25  34  32   10  17   9    3  22   5    0.000    0.000       0
+  0   7401 01:44:12.27   0.8480A   2.1230   0.8850   0.7462  0.075  0.00   0.000      0.  0.707E+00  0.875E-01  0.707E-03  0.361E-04   25  34  37   10  18   9   12  10   8    0.000    0.000       0
+  0   7408 01:44:18.24   0.8660A   2.0797  -0.8137   0.7701  0.075  0.00   0.000      0.  0.706E+00  0.870E-01  0.723E-03  0.398E-04   25  34   3   12  28   9   13  11   8    0.000    0.000       0
+  0   7415 01:44:24.32   0.8650A   2.0812  -0.8407  -0.6990  0.075  0.00   0.000      0.  0.705E+00  0.866E-01  0.721E-03  0.428E-04   24  21   1   12  27   9   16  19   9    0.000    0.000       0
+  0   7422 01:44:30.41   0.8700A   2.0688   0.8884   0.6943  0.074  0.00   0.000      0.  0.705E+00  0.863E-01  0.721E-03  0.450E-04   30  16  38   13  12   9   20  10   9    0.000    0.000       0
+  0   7429 01:44:36.48   0.8640A   2.0829   0.9263   0.7766  0.073  0.00   0.000      0.  0.705E+00  0.861E-01  0.708E-03  0.445E-04   30  16   3   13  14   9   21  11   9    0.000    0.000       0
+  0   7436 01:44:42.53   0.8610A   2.0903  -0.9155   0.8316  0.073  0.00   0.000      0.  0.705E+00  0.861E-01  0.715E-03  0.471E-04   30  15   8   15  26   9   20  13   9    0.000    0.000       0
+  0   7443 01:44:48.56   0.8620A   2.0877  -0.9353   0.9189  0.072  0.00   0.000      0.  0.705E+00  0.863E-01  0.741E-03  0.554E-04   30  15  13   15  26   9   20  14   9    0.000    0.000       0
+  0   7450 01:44:54.52   0.8460A   2.1265  -0.9422   0.8253  0.073  0.00   0.000      0.  0.706E+00  0.869E-01  0.733E-03  0.532E-04   24  36  32   15  25   9   21  14   9    0.000    0.000       0
+  0   7457 01:45:00.43   0.8510A   2.1163  -0.9143  -0.7369  0.073  0.00   0.000      0.  0.707E+00  0.875E-01  0.742E-03  0.510E-04   24  36  37   14  25   9   15  18   9    0.000    0.000       0
+  0   7464 01:45:06.45   0.8650A   2.0811  -0.9020   0.8232  0.074  0.00   0.000      0.  0.708E+00  0.881E-01  0.754E-03  0.494E-04   31  15  28   14  25   9   20  14   9    0.000    0.000       0
+  0   7471 01:45:12.47   0.8590A   2.0963  -0.8312   0.8477  0.074  0.00   0.000      0.  0.709E+00  0.885E-01  0.737E-03  0.432E-04   31  15  33   17  24   9   20  14   9    0.000    0.000       0
+  0   7478 01:45:18.51   0.8630A   2.0859   0.9004   0.7727  0.074  0.00   0.000      0.  0.709E+00  0.886E-01  0.727E-03  0.387E-04   31  15  38   12  13   9   20  14   9    0.000    0.000       0
+  0   7485 01:45:24.59   0.8760A   2.0555   0.9108  -0.7647  0.073  0.00   0.000      0.  0.709E+00  0.883E-01  0.737E-03  0.400E-04   31  15   4   12  14   9    8  18   8    0.000    0.000       0
+  0   7492 01:45:30.71   0.8700A   2.0688   0.8359  -0.7316  0.073  0.00   0.000      0.  0.708E+00  0.880E-01  0.733E-03  0.393E-04   37  37  14   11  15   9    7  18   7    0.000    0.000       0
+  0   7499 01:45:36.84   0.8770A   2.0533  -0.7711  -0.7136  0.073  0.00   0.000      0.  0.708E+00  0.875E-01  0.738E-03  0.392E-04   37  37  19   13  24   8    6  19   8    0.000    0.000       0
+  0   7505 01:45:42.14   0.8890A   2.0243  -0.7238  -0.7168  0.072  0.00   0.000      0.  0.707E+00  0.872E-01  0.746E-03  0.417E-04   37  37  24    9  25   9    6  19   7    0.000    0.000       0
+  0   7512 01:45:48.35   0.8880A   2.0278  -0.7631   0.7393  0.072  0.00   0.000      0.  0.706E+00  0.868E-01  0.744E-03  0.432E-04   31  16  26   20  15   9   18  10   9    0.000    0.000       0
+  0   7519 01:45:54.53   0.8740A   2.0601   0.8136   0.8869  0.072  0.00   0.000      0.  0.706E+00  0.865E-01  0.744E-03  0.458E-04   21  34  32   14  12   9   20  11   9    0.000    0.000       0
+  0   7526 01:46:00.73   0.8930A   2.0162   0.9620  -0.8738  0.072  0.00   0.000      0.  0.706E+00  0.862E-01  0.764E-03  0.447E-04   31  16  37   13  13   9   16  20   9    0.000    0.000       0
+  0   7532 01:46:06.09   0.8910A   2.0198   0.8956  -0.8064  0.073  0.00   0.000      0.  0.705E+00  0.859E-01  0.770E-03  0.452E-04   37  36   1   13  14   9   16  21   9    0.000    0.000       0
+  0   7539 01:46:12.30   0.8930A   2.0146   0.7860   0.8246  0.074  0.00   0.000      0.  0.705E+00  0.856E-01  0.783E-03  0.519E-04   37  36   7   13  15   9   21  14   9    0.000    0.000       0
+  0   7546 01:46:18.53   0.8930A   2.0157   0.7127   0.8562  0.074  0.00   0.000      0.  0.706E+00  0.858E-01  0.793E-03  0.568E-04   37  36  12   20  14   9   16  30   6    0.000    0.000       0
+  0   7553 01:46:24.71   0.8740A   2.0605   0.7692   1.0153  0.075  0.00   0.000      0.  0.707E+00  0.863E-01  0.787E-03  0.595E-04   28   7   3   16  30   9   17  30   8    0.000    0.000       0
+  0   7560 01:46:30.80   0.8680A   2.0740   0.7857   1.1123  0.075  0.00   0.000      0.  0.708E+00  0.869E-01  0.785E-03  0.607E-04   25   1  14   18  30   9   19  29   8    0.000    0.000       0
+  0   7567 01:46:36.85   0.8610A   2.0901   0.7866   1.0802  0.074  0.00   0.000      0.  0.710E+00  0.875E-01  0.773E-03  0.537E-04   25   1  19   15  13   9   20  10   9    0.000    0.000       0
+  0   7574 01:46:42.85   0.8620A   2.0870   0.8484   0.8744  0.074  0.00   0.000      0.  0.711E+00  0.878E-01  0.758E-03  0.442E-04   25   1  24   15  13   9   20  11   9    0.000    0.000       0
+  0   7580 01:46:48.02   0.8610A   2.0917  -0.9043  -1.0112  0.073  0.00   0.000      0.  0.712E+00  0.878E-01  0.744E-03  0.403E-04   27  30   0    9  29   6   15  29   8    0.000    0.000       0
+  0   7587 01:46:54.05   0.8570A   2.1007   0.9776  -0.9459  0.072  0.00   0.000      0.  0.712E+00  0.875E-01  0.741E-03  0.419E-04   27  30   5   13  13   9    5  28   9    0.000    0.000       0
+  0   7594 01:47:00.09   0.8670A   2.0762  -0.9996  -0.7929  0.072  0.00   0.000      0.  0.711E+00  0.870E-01  0.739E-03  0.422E-04   27  30  10    7  27   8    6  27   9    0.000    0.000       0
+  0   7601 01:47:06.21   0.8760A   2.0558  -0.9203  -0.7970  0.072  0.00   0.000      0.  0.710E+00  0.864E-01  0.740E-03  0.440E-04   25  16   6    9  24   9    6  26   9    0.000    0.000       0
+  0   7608 01:47:12.39   0.8910A   2.0202  -0.9142  -0.7387  0.073  0.00   0.000      0.  0.709E+00  0.858E-01  0.741E-03  0.435E-04   25  16  11    8  26   9   15  15   9    0.000    0.000       0
+  0   7615 01:47:18.59   0.8880A   2.0262  -0.8338  -0.7165  0.074  0.00   0.000      0.  0.709E+00  0.854E-01  0.725E-03  0.440E-04   36  17  11    7  25   9   14  16   9    0.000    0.000       0
+  0   7622 01:47:24.81   0.8870A   2.0293  -0.7186  -0.8047  0.075  0.00   0.000      0.  0.709E+00  0.851E-01  0.720E-03  0.446E-04   36  17  17   20  30   8   18  23   9    0.000    0.000       0
+  0   7628 01:47:30.13   0.8890A   2.0245   0.6846  -0.9935  0.074  0.00   0.000      0.  0.709E+00  0.850E-01  0.716E-03  0.437E-04   36  17  22   19  26   9   18  22   9    0.000    0.000       0
+  0   7635 01:47:36.36   0.8910A   2.0195  -0.6711  -1.0678  0.075  0.00   0.000      0.  0.709E+00  0.848E-01  0.698E-03  0.372E-04   36  17  27   20  10   9   17  21   9    0.000    0.000       0
+  0   7642 01:47:42.61   0.8930A   2.0166  -0.6340  -1.0041  0.075  0.00   0.000      0.  0.708E+00  0.845E-01  0.693E-03  0.354E-04   36  17  33   20  23   6   15  21   9    0.000    0.000       0
+  0   7649 01:47:48.77   0.8790A   2.0475  -0.6906  -0.9181  0.075  0.00   0.000      0.  0.708E+00  0.843E-01  0.677E-03  0.362E-04   26  12  30   20  22   6   14  20   9    0.000    0.000       0
+  0   7656 01:47:54.86   0.8730A   2.0607  -0.5672  -0.8729  0.075  0.00   0.000      0.  0.707E+00  0.842E-01  0.674E-03  0.386E-04   26  12  35   14  24   8   13  20   9    0.000    0.000       0
+  0   7662 01:48:00.10   0.8720A   2.0641  -0.5797  -0.8078  0.075  0.00   0.000      0.  0.707E+00  0.842E-01  0.676E-03  0.396E-04   26  12  39    3   1  22   12  20   9    0.000    0.000       0
+  0   7669 01:48:06.28   0.8910A   2.0203   0.5973  -0.7938  0.076  0.00   0.000      0.  0.707E+00  0.845E-01  0.700E-03  0.423E-04   27  35  29   15  13   9    8   9   8    0.000    0.000       0
+  0   7676 01:48:12.50   0.8900A   2.0233   0.7421   0.7175  0.076  0.00   0.000      0.  0.708E+00  0.851E-01  0.709E-03  0.442E-04   28  18  33   15  13   9   18  27   9    0.000    0.000       0
+  0   7683 01:48:18.71   0.8850A   2.0337   0.9369   0.8348  0.076  0.00   0.000      0.  0.709E+00  0.857E-01  0.725E-03  0.488E-04   38  34  18   14  13   9   20  27   9    0.000    0.000       0
+  0   7690 01:48:24.81   0.8640A   2.0828   0.9938   0.9579  0.075  0.00   0.000      0.  0.710E+00  0.864E-01  0.725E-03  0.510E-04   38  34  23   13  14   9   20  27   9    0.000    0.000       0
+  0   7697 01:48:30.78   0.8390A   2.1464   0.9588  -0.8550  0.075  0.00   0.000      0.  0.711E+00  0.867E-01  0.712E-03  0.446E-04   38  34  27   13  15   9    8  18   8    0.000    0.000       0
+  0   7704 01:48:36.70   0.8400A   2.1421   0.8736  -0.7930  0.075  0.00   0.000      0.  0.711E+00  0.867E-01  0.712E-03  0.427E-04   38  34  31   11  16   9    7  18   8    0.000    0.000       0
+  0   7711 01:48:42.65   0.8660A   2.0785  -0.7836  -0.7479  0.076  0.00   0.000      0.  0.711E+00  0.864E-01  0.723E-03  0.382E-04   28  18  18    5  26   9   15  16   8    0.000    0.000       0
+  0   7718 01:48:48.58   0.8410A   2.1391  -0.7696  -0.7555  0.077  0.00   0.000      0.  0.710E+00  0.859E-01  0.699E-03  0.357E-04   38  34   0    6  26   9   18  20   9    0.000    0.000       0
+  0   7725 01:48:54.55   0.8530A   2.1111  -0.7819  -0.8777  0.078  0.00   0.000      0.  0.709E+00  0.853E-01  0.707E-03  0.365E-04   38  34   4    6  26   9   17  20   9    0.000    0.000       0
+  0   7732 01:49:00.55   0.8660A   2.0784  -0.7399  -0.8825  0.078  0.00   0.000      0.  0.708E+00  0.848E-01  0.714E-03  0.372E-04   28  18  33    5  25   9   16  20   9    0.000    0.000       0
+  0   7739 01:49:06.64   0.8840A   2.0354  -0.6919  -0.8573  0.078  0.00   0.000      0.  0.708E+00  0.845E-01  0.721E-03  0.370E-04   25  36  24    6  27   8   16  20   9    0.000    0.000       0
+  0   7746 01:49:12.79   0.8750A   2.0580  -0.6297  -0.8224  0.077  0.00   0.000      0.  0.708E+00  0.843E-01  0.715E-03  0.379E-04   26  35  31    6  26   8   15  20   9    0.000    0.000       0
+  0   7753 01:49:18.74   0.8310A   2.1654   0.6180  -0.7966  0.077  0.00   0.000      0.  0.708E+00  0.842E-01  0.686E-03  0.363E-04   24  33  28   17  23   9   15  21   9    0.000    0.000       0
+  0   7760 01:49:24.61   0.8460A   2.1283   0.7427   0.8525  0.077  0.00   0.000      0.  0.708E+00  0.841E-01  0.698E-03  0.371E-04   24  33  33    8  12   9    9  10   9    0.000    0.000       0
+  0   7767 01:49:30.59   0.8610A   2.0901   0.7951  -0.6777  0.076  0.00   0.000      0.  0.708E+00  0.839E-01  0.706E-03  0.378E-04   27  33   2    8  13   9   13  22   9    0.000    0.000       0
+  0   7774 01:49:36.58   0.8540A   2.1070   0.7332  -0.6808  0.074  0.00   0.000      0.  0.708E+00  0.836E-01  0.695E-03  0.373E-04   27  33   7    9  15   9    6  18   5    0.000    0.000       0
+  0   7781 01:49:42.58   0.8610A   2.0917   0.7098  -0.6570  0.073  0.00   0.000      0.  0.707E+00  0.834E-01  0.698E-03  0.391E-04   27  33  11   10  15   9    5  18   5    0.000    0.000       0
+  0   7788 01:49:48.64   0.8700A   2.0688   0.8148   0.6410  0.073  0.00   0.000      0.  0.707E+00  0.833E-01  0.703E-03  0.399E-04   27  33  16   12  12   9   20  11   9    0.000    0.000       0
+  0   7795 01:49:54.77   0.8770A   2.0535   0.9060   0.7078  0.073  0.00   0.000      0.  0.707E+00  0.833E-01  0.713E-03  0.449E-04   27  36  23   12  13   9   20  11   9    0.000    0.000       0
+  0   7801 01:50:00.02   0.8750A   2.0574   0.8734   0.6631  0.074  0.00   0.000      0.  0.708E+00  0.835E-01  0.710E-03  0.455E-04   27  36  27   13  14   9   20  11   9    0.000    0.000       0
+  0   7808 01:50:06.16   0.8800A   2.0464   0.8402  -0.7561  0.076  0.00   0.000      0.  0.708E+00  0.839E-01  0.713E-03  0.442E-04   27  36  32   18  30   9    6  28   9    0.000    0.000       0
+  0   7815 01:50:12.32   0.8780A   2.0508  -0.9387  -0.7743  0.076  0.00   0.000      0.  0.709E+00  0.843E-01  0.700E-03  0.404E-04   38  38  27    9  26   9    5  27   9    0.000    0.000       0
+  0   7822 01:50:18.52   0.8930A   2.0156  -0.9464  -0.7091  0.077  0.00   0.000      0.  0.710E+00  0.845E-01  0.712E-03  0.410E-04   25  36   5   10  25   9    4  27   9    0.000    0.000       0
+  0   7829 01:50:24.76   0.8930A   2.0148  -0.9742  -0.6607  0.077  0.00   0.000      0.  0.710E+00  0.847E-01  0.721E-03  0.461E-04   27  36  10   11  24   9   14  10   8    0.000    0.000       0
+  0   7835 01:50:30.11   0.8910A   2.0191  -1.0257   0.7830  0.076  0.00   0.000      0.  0.710E+00  0.848E-01  0.727E-03  0.495E-04   27  36  15    9  26   9   21  11   9    0.000    0.000       0
+  0   7842 01:50:36.29   0.8760A   2.0536  -1.1249   0.7025  0.075  0.00   0.000      0.  0.710E+00  0.847E-01  0.709E-03  0.463E-04   35  21  14    8  25   9   20  11   9    0.000    0.000       0
+  0   7849 01:50:42.32   0.8370A   2.1516  -1.0549   0.7759  0.073  0.00   0.000      0.  0.709E+00  0.844E-01  0.669E-03  0.394E-04   23   8  15    8  23   9   18  10   8    0.000    0.000       0
+  0   7856 01:50:48.12   0.8370A   2.1505  -0.8949   0.6634  0.072  0.00   0.000      0.  0.708E+00  0.840E-01  0.663E-03  0.361E-04   23   8  19    8  22   9   18  10   9    0.000    0.000       0
+  0   7863 01:50:54.08   0.8540A   2.1069  -0.7823   0.7101  0.071  0.00   0.000      0.  0.707E+00  0.837E-01  0.678E-03  0.378E-04   23   8  24    9  24   9   20  11   9    0.000    0.000       0
+  0   7870 01:51:00.22   0.8790A   2.0472   0.8949   0.7531  0.071  0.00   0.000      0.  0.707E+00  0.836E-01  0.704E-03  0.415E-04   33  31  19   11  13   9   20  11   9    0.000    0.000       0
+  0   7877 01:51:06.35   0.8700A   2.0693   0.9078  -0.7200  0.071  0.00   0.000      0.  0.707E+00  0.838E-01  0.706E-03  0.486E-04   33  31  24   13  13   9   11  22   4    0.000    0.000       0
+  0   7884 01:51:12.44   0.8690A   2.0725   0.9074  -0.7540  0.072  0.00   0.000      0.  0.707E+00  0.844E-01  0.720E-03  0.536E-04   33  31  29   13  14   9   10  22   4    0.000    0.000       0
+  0   7891 01:51:18.53   0.8720A   2.0654   0.8887  -0.7447  0.074  0.00   0.000      0.  0.708E+00  0.854E-01  0.738E-03  0.547E-04   34  34  30   15  14   9   18  24   9    0.000    0.000       0
+  0   7898 01:51:24.58   0.8560A   2.1039   0.7666  -0.7897  0.075  0.00   0.000      0.  0.710E+00  0.865E-01  0.733E-03  0.483E-04   24  36  27   16  14   9   17  23   9    0.000    0.000       0
+  0   7905 01:51:30.56   0.8510A   2.1155   0.7372  -0.7769  0.076  0.00   0.000      0.  0.711E+00  0.875E-01  0.737E-03  0.452E-04   24  36  32    5   9   0   17  21   9    0.000    0.000       0
+  0   7912 01:51:36.50   0.8510A   2.1160  -0.9450   0.8757  0.075  0.00   0.000      0.  0.712E+00  0.884E-01  0.747E-03  0.440E-04   24  36  38   11  26   9   20  28   9    0.000    0.000       0
+  0   7919 01:51:42.49   0.8590A   2.0944  -1.0774   0.8660  0.074  0.00   0.000      0.  0.712E+00  0.891E-01  0.766E-03  0.470E-04   24  36   3   11  25   9   20  27   9    0.000    0.000       0
+  0   7926 01:51:48.49   0.8570A   2.0998  -1.0236   0.8600  0.073  0.00   0.000      0.  0.712E+00  0.896E-01  0.763E-03  0.451E-04   23  36   6    9  24   9   21  27   9    0.000    0.000       0
+  0   7933 01:51:54.44   0.8470A   2.1259  -0.9849   0.7525  0.073  0.00   0.000      0.  0.712E+00  0.898E-01  0.751E-03  0.394E-04   23  36  12    9  25   9    6  11   1    0.000    0.000       0
+  0   7940 01:52:00.38   0.8520A   2.1119  -0.9549  -0.8114  0.073  0.00   0.000      0.  0.712E+00  0.898E-01  0.763E-03  0.394E-04   24  31  14   20  12   9   18  16   9    0.000    0.000       0
+  0   7947 01:52:06.41   0.8700A   2.0684  -0.8284  -0.8103  0.073  0.00   0.000      0.  0.711E+00  0.897E-01  0.783E-03  0.425E-04   24  31  19   10  22   9   11  10   8    0.000    0.000       0
+  0   7954 01:52:12.35   0.8290A   2.1714   0.7663  -0.7806  0.073  0.00   0.000      0.  0.711E+00  0.898E-01  0.753E-03  0.411E-04   24  31  23    3  12   9   10  10   8    0.000    0.000       0
+  0   7961 01:52:18.30   0.8630A   2.0860  -0.7408   0.8133  0.074  0.00   0.000      0.  0.710E+00  0.899E-01  0.787E-03  0.450E-04   24  31  27    7  27   9   18  10   9    0.000    0.000       0
+  0   7968 01:52:24.32   0.8480A   2.1233  -0.7181   0.9021  0.074  0.00   0.000      0.  0.710E+00  0.902E-01  0.788E-03  0.486E-04   27  30  24    7  25   9   19  11   9    0.000    0.000       0
+  0   7975 01:52:30.27   0.8610A   2.0897   0.8299   0.9451  0.074  0.00   0.000      0.  0.710E+00  0.907E-01  0.791E-03  0.484E-04   21   8   3   17  12   9   20  11   9    0.000    0.000       0
+  0   7982 01:52:36.21   0.8690A   2.0720   1.0147   0.9187  0.075  0.00   0.000      0.  0.710E+00  0.913E-01  0.805E-03  0.493E-04   21   8   8   17  13   9   21  12   9    0.000    0.000       0
+  0   7989 01:52:42.30   0.8610A   2.0903   0.9940   0.9165  0.076  0.00   0.000      0.  0.710E+00  0.919E-01  0.801E-03  0.500E-04   28  29  38   15  14   9   21  13   9    0.000    0.000       0
+  0   7996 01:52:48.29   0.8520A   2.1117   0.9727   0.8074  0.077  0.00   0.000      0.  0.710E+00  0.926E-01  0.802E-03  0.543E-04   28  29   2   16  15   9   20  14   9    0.000    0.000       0
+  0   8003 01:52:54.24   0.8510A   2.1162   0.9495   0.8241  0.078  0.00   0.000      0.  0.711E+00  0.933E-01  0.799E-03  0.545E-04   28  29   2   15  16   9   20  28   9    0.000    0.000       0
+  0   8010 01:53:00.29   0.8690A   2.0721  -0.8855  -0.9458  0.078  0.00   0.000      0.  0.711E+00  0.938E-01  0.793E-03  0.479E-04   28  29  11   14  25   9   18  16   9    0.000    0.000       0
+  0   8017 01:53:06.30   0.8430A   2.1355  -0.9026  -1.0096  0.078  0.00   0.000      0.  0.711E+00  0.940E-01  0.765E-03  0.441E-04   27   8   3   13  25   9   17  19   9    0.000    0.000       0
+  0   8024 01:53:12.26   0.8650A   2.0802  -0.8460  -0.9386  0.078  0.00   0.000      0.  0.711E+00  0.942E-01  0.794E-03  0.471E-04   27   8   7   12  27   9   16  19   9    0.000    0.000       0
+  0   8031 01:53:18.20   0.8330A   2.1601  -0.8830   0.8268  0.077  0.00   0.000      0.  0.711E+00  0.944E-01  0.780E-03  0.476E-04   27   8  12   13  26   9   20  10   6    0.000    0.000       0
+  0   8038 01:53:24.08   0.8440A   2.1328  -0.8619   0.8710  0.075  0.00   0.000      0.  0.711E+00  0.945E-01  0.787E-03  0.458E-04   27   8  16   13  25   9   20  10   8    0.000    0.000       0
+  0   8045 01:53:30.14   0.8700A   2.0692   0.9543   0.9467  0.074  0.00   0.000      0.  0.710E+00  0.944E-01  0.810E-03  0.451E-04   21  36  15   20  27   8   21  10   9    0.000    0.000       0
+  0   8052 01:53:36.25   0.8810A   2.0434   0.8644   0.9813  0.074  0.00   0.000      0.  0.709E+00  0.942E-01  0.820E-03  0.458E-04   31  38   4   20  26   9   21  11   9    0.000    0.000       0
+  0   8059 01:53:42.40   0.8770A   2.0534  -0.8370  -0.9875  0.073  0.00   0.000      0.  0.708E+00  0.938E-01  0.804E-03  0.416E-04   31  38  10   13  22   7   18  24   9    0.000    0.000       0
+  0   8066 01:53:48.44   0.8540A   2.1077  -0.7790  -0.9468  0.074  0.00   0.000      0.  0.708E+00  0.935E-01  0.776E-03  0.380E-04   29  27   9   14  23   8   17  23   9    0.000    0.000       0
+  0   8073 01:53:54.33   0.8350A   2.1558  -0.7044  -0.9403  0.075  0.00   0.000      0.  0.707E+00  0.934E-01  0.758E-03  0.381E-04   29  27  14   13  22   8   16  22   9    0.000    0.000       0
+  0   8080 01:54:00.17   0.8330A   2.1597  -0.7371  -0.8881  0.076  0.00   0.000      0.  0.707E+00  0.935E-01  0.749E-03  0.393E-04   29  27  19   13  21   7   15  21   9    0.000    0.000       0
+  0   8087 01:54:06.04   0.8390A   2.1461  -0.6276  -0.8078  0.077  0.00   0.000      0.  0.708E+00  0.937E-01  0.752E-03  0.402E-04   29  26  24   11  21   9   13  21   9    0.000    0.000       0
+  0   8095 01:54:12.79   0.8450A   2.1297  -0.7833  -0.7462  0.077  0.00   0.000      0.  0.708E+00  0.941E-01  0.766E-03  0.461E-04   38  32  33   14  27   9   13  20   9    0.000    0.000       0
+  0   8102 01:54:18.69   0.8420A   2.1378  -0.8267   0.8011  0.078  0.00   0.000      0.  0.709E+00  0.944E-01  0.755E-03  0.440E-04   38  32  38   13  26   9   20  11   9    0.000    0.000       0
+  0   8109 01:54:24.55   0.8360A   2.1524  -0.8251   0.7983  0.079  0.00   0.000      0.  0.709E+00  0.947E-01  0.736E-03  0.398E-04   30  29  38   12  26   9   20  11   9    0.000    0.000       0
+  0   8116 01:54:30.36   0.8320A   2.1632  -0.7564  -0.7452  0.080  0.00   0.000      0.  0.708E+00  0.947E-01  0.723E-03  0.357E-04   30  29   3   12  24   9    9  22   8    0.000    0.000       0
+  0   8123 01:54:36.14   0.8350A   2.1569  -0.7242   0.7900  0.081  0.00   0.000      0.  0.708E+00  0.945E-01  0.723E-03  0.339E-04   30  29   7   20  11   8   20  27   9    0.000    0.000       0
+  0   8131 01:54:42.82   0.8440A   2.1338  -0.7353   0.9833  0.083  0.00   0.000      0.  0.707E+00  0.943E-01  0.739E-03  0.402E-04   23  36  26   16  25   9   20  27   9    0.000    0.000       0
+  0   8138 01:54:48.80   0.8610A   2.0908   0.7690  -0.8860  0.083  0.00   0.000      0.  0.707E+00  0.942E-01  0.760E-03  0.453E-04   30  23  19   21  29   8   16  18   9    0.000    0.000       0
+  0   8145 01:54:54.85   0.8660A   2.0786   0.9462  -0.8858  0.084  0.00   0.000      0.  0.707E+00  0.941E-01  0.754E-03  0.416E-04   30  23  24   20  30   9   15  17   9    0.000    0.000       0
+  0   8151 01:55:00.08   0.8720A   2.0642   0.9240  -0.9227  0.086  0.00   0.000      0.  0.707E+00  0.940E-01  0.758E-03  0.417E-04   35  38  22   20  30   9   18  24   9    0.000    0.000       0
+  0   8158 01:55:06.14   0.8610A   2.0899  -0.5961  -1.1101  0.087  0.00   0.000      0.  0.707E+00  0.938E-01  0.754E-03  0.401E-04   32  35  29   20  28   8   17  23   9    0.000    0.000       0
+  0   8165 01:55:12.14   0.8520A   2.1138   0.7446  -1.0912  0.087  0.00   0.000      0.  0.706E+00  0.934E-01  0.735E-03  0.351E-04   35  38  33   16  12   9   16  22   9    0.000    0.000       0
+  0   8172 01:55:18.10   0.8490A   2.1194   0.8812  -1.0297  0.086  0.00   0.000      0.  0.706E+00  0.931E-01  0.740E-03  0.392E-04   35  38  38   16  13   9   15  21   9    0.000    0.000       0
+  0   8179 01:55:24.07   0.8570A   2.1004   1.0167  -0.9224  0.084  0.00   0.000      0.  0.706E+00  0.929E-01  0.751E-03  0.411E-04   35  38   3   14  13   9   13  20   9    0.000    0.000       0
+  0   8186 01:55:30.08   0.8560A   2.1037   0.9941  -0.8659  0.083  0.00   0.000      0.  0.706E+00  0.927E-01  0.758E-03  0.455E-04   32  36   7   13  14   9   12  19   9    0.000    0.000       0
+  0   8193 01:55:36.05   0.8500A   2.1167   0.9354  -0.8360  0.083  0.00   0.000      0.  0.706E+00  0.927E-01  0.765E-03  0.507E-04   32  36  12   13  13   9   11  18   9    0.000    0.000       0
+  0   8201 01:55:42.85   0.8480A   2.1215   0.9586  -0.8729  0.084  0.00   0.000      0.  0.706E+00  0.926E-01  0.744E-03  0.416E-04   32  36  18   13  15   9    9  18   8    0.000    0.000       0
+  0   8208 01:55:48.79   0.8500A   2.1183   0.8720  -0.8163  0.085  0.00   0.000      0.  0.705E+00  0.921E-01  0.737E-03  0.377E-04   35  37  28   12  16   9    9  19   8    0.000    0.000       0
+  0   8215 01:55:54.76   0.8550A   2.1044   0.8227  -0.8468  0.084  0.00   0.000      0.  0.704E+00  0.916E-01  0.746E-03  0.400E-04   32  36  29   14  14   9    7  20   8    0.000    0.000       0
+  0   8222 01:56:00.75   0.8570A   2.0999   0.8292  -0.9228  0.084  0.00   0.000      0.  0.704E+00  0.913E-01  0.755E-03  0.454E-04   36  37  37   14  14   9   18  17   9    0.000    0.000       0
+  0   8229 01:56:06.76   0.8620A   2.0874  -0.8302  -0.9092  0.083  0.00   0.000      0.  0.704E+00  0.911E-01  0.751E-03  0.465E-04   36  37   2   10  25   9   17  17   9    0.000    0.000       0
+  0   8236 01:56:12.83   0.8700A   2.0682  -0.8200  -0.7958  0.083  0.00   0.000      0.  0.705E+00  0.911E-01  0.747E-03  0.447E-04   32  36   5   10  24   9   16  18   9    0.000    0.000       0
+  0   8242 01:56:18.03   0.8660A   2.0791  -0.7453  -0.7331  0.082  0.00   0.000      0.  0.705E+00  0.911E-01  0.740E-03  0.431E-04   32  36  10    9  22   9   15  19   9    0.000    0.000       0
+  0   8249 01:56:24.10   0.8600A   2.0924   0.7134  -0.9274  0.081  0.00   0.000      0.  0.704E+00  0.909E-01  0.729E-03  0.404E-04   29   6  35   19  30   9   17  24   9    0.000    0.000       0
+  0   8256 01:56:30.13   0.8550A   2.1060   0.7004  -1.0432  0.081  0.00   0.000      0.  0.704E+00  0.907E-01  0.722E-03  0.413E-04   28   2   0   19  30   9   16  24   9    0.000    0.000       0
+  0   8263 01:56:36.11   0.8570A   2.1006   0.8092  -0.9881  0.080  0.00   0.000      0.  0.704E+00  0.905E-01  0.721E-03  0.444E-04   28   2   5   12  13   9   15  22   9    0.000    0.000       0
+  0   8270 01:56:42.08   0.8580A   2.0984   0.8817  -0.9147  0.079  0.00   0.000      0.  0.705E+00  0.904E-01  0.721E-03  0.468E-04   28   2  10   11  13   9   14  23   9    0.000    0.000       0
+  0   8277 01:56:48.06   0.8520A   2.1139   0.8889  -0.8179  0.078  0.00   0.000      0.  0.705E+00  0.903E-01  0.710E-03  0.457E-04   28   2  15   11  14   9   13  23   9    0.000    0.000       0
+  0   8284 01:56:54.05   0.8550A   2.1057   0.8367  -0.7073  0.077  0.00   0.000      0.  0.706E+00  0.902E-01  0.709E-03  0.455E-04   28   2  20   11  15   9   12  22   9    0.000    0.000       0
+  0   8291 01:57:00.08   0.8660A   2.0796   0.7683  -0.6841  0.076  0.00   0.000      0.  0.706E+00  0.900E-01  0.712E-03  0.445E-04   28   2  25   10  16   9    3  18   2    0.000    0.000       0
+  0   8298 01:57:06.16   0.8780A   2.0495   0.7134  -0.6561  0.076  0.00   0.000      0.  0.706E+00  0.898E-01  0.726E-03  0.469E-04   36  37  20   10  17   9    4  19   9    0.000    0.000       0
+  0   8305 01:57:12.27   0.8760A   2.0557  -0.8176  -0.8408  0.076  0.00   0.000      0.  0.707E+00  0.899E-01  0.739E-03  0.483E-04   36  37  25    9  26   9   18  18   9    0.000    0.000       0
+  0   8312 01:57:18.39   0.8830A   2.0382  -0.8612  -1.0766  0.077  0.00   0.000      0.  0.707E+00  0.897E-01  0.739E-03  0.421E-04   36  37  30    9  26   9   17  19   9    0.000    0.000       0
+  0   8319 01:57:24.57   0.8800A   2.0462  -0.8296  -1.0594  0.078  0.00   0.000      0.  0.707E+00  0.892E-01  0.724E-03  0.389E-04   34  39  29   10  24   9   16  19   9    0.000    0.000       0
+  0   8326 01:57:30.72   0.8780A   2.0504  -0.8070  -0.9199  0.078  0.00   0.000      0.  0.707E+00  0.887E-01  0.714E-03  0.404E-04   34  39  34    8  23   9   15  19   9    0.000    0.000       0
+  0   8332 01:57:36.01   0.8840A   2.0353  -0.7451  -0.8287  0.078  0.00   0.000      0.  0.708E+00  0.883E-01  0.714E-03  0.431E-04   34  39  39    8  22   9   13  19   9    0.000    0.000       0
+  0   8339 01:57:42.23   0.8940A   2.0123   0.7536  -0.8250  0.079  0.00   0.000      0.  0.708E+00  0.878E-01  0.718E-03  0.440E-04   34  39   4   15  13   9   14  17   8    0.000    0.000       0
+  0   8346 01:57:48.53   0.9030A   1.9931   0.8448   0.8601  0.079  0.00   0.000      0.  0.708E+00  0.873E-01  0.727E-03  0.463E-04   36  37   8   16  13   9   18  11   9    0.000    0.000       0
+  0   8353 01:57:54.85   0.9030A   1.9938   0.8109  -0.9055  0.078  0.00   0.000      0.  0.707E+00  0.868E-01  0.734E-03  0.494E-04   35  38  17   16  14   9   17  24   9    0.000    0.000       0
+  0   8359 01:58:00.09   0.8520A   2.1139   1.0056  -1.0204  0.077  0.00   0.000      0.  0.707E+00  0.863E-01  0.703E-03  0.512E-04   22  19   4   13  13   9   16  24   9    0.000    0.000       0
+  0   8367 01:58:06.82   0.8400A   2.1418   1.0354  -1.0113  0.076  0.00   0.000      0.  0.707E+00  0.860E-01  0.703E-03  0.569E-04   22  19   9   14  14   9   15  24   9    0.000    0.000       0
+  0   8374 01:58:12.64   0.8470A   2.1254   1.0058  -0.8726  0.076  0.00   0.000      0.  0.708E+00  0.859E-01  0.705E-03  0.559E-04   22  19  14   14  15   9   14  24   9    0.000    0.000       0
+  0   8381 01:58:18.67   0.8780A   2.0498   0.9655  -0.7861  0.075  0.00   0.000      0.  0.708E+00  0.859E-01  0.731E-03  0.611E-04   22  19  18   14  17   9   14  23   9    0.000    0.000       0
+  0   8387 01:58:24.03   0.8950A   2.0105   0.9365   0.8640  0.075  0.00   0.000      0.  0.710E+00  0.861E-01  0.751E-03  0.666E-04   35  38   3   15  18   9   20  28   9    0.000    0.000       0
+  0   8394 01:58:30.22   0.8770A   2.0513   0.8451   1.0864  0.075  0.00   0.000      0.  0.711E+00  0.866E-01  0.737E-03  0.647E-04   35  38   9   14  18   9   20  26   9    0.000    0.000       0
+  0   8401 01:58:36.33   0.8680A   2.0731   0.7844   0.9665  0.074  0.00   0.000      0.  0.713E+00  0.871E-01  0.734E-03  0.620E-04   35  38  14   14  19   9   21  25   9    0.000    0.000       0
+  0   8408 01:58:42.42   0.8690A   2.0724   0.8811   0.7882  0.074  0.00   0.000      0.  0.714E+00  0.874E-01  0.727E-03  0.579E-04   35  38  19   13  14   9   21  25   9    0.000    0.000       0
+  0   8415 01:58:48.54   0.8770A   2.0520   0.8627  -0.7481  0.074  0.00   0.000      0.  0.715E+00  0.875E-01  0.726E-03  0.550E-04   35  38  24   12  15   9   10  23   7    0.000    0.000       0
+  0   8422 01:58:54.67   0.8700A   2.0691   0.8630  -0.8003  0.074  0.00   0.000      0.  0.715E+00  0.873E-01  0.715E-03  0.485E-04   26   8  34   20  30   9    6  23   6    0.000    0.000       0
+  0   8429 01:59:00.85   0.8910A   2.0204   0.8655  -0.8207  0.075  0.00   0.000      0.  0.715E+00  0.871E-01  0.722E-03  0.494E-04   35  38  35   10  15   9    5  23   6    0.000    0.000       0
+  0   8435 01:59:06.25   0.9040A   1.9922  -0.9061  -0.8374  0.075  0.00   0.000      0.  0.715E+00  0.869E-01  0.725E-03  0.466E-04   35  38  39   14  25   9    5  23   5    0.000    0.000       0
+  0   8442 01:59:12.55   0.9010A   1.9974  -0.8815  -0.9018  0.075  0.00   0.000      0.  0.714E+00  0.865E-01  0.716E-03  0.438E-04   36   0   7   12  26   9   12  10   9    0.000    0.000       0
+  0   8449 01:59:18.83   0.8920A   2.0169  -0.8659  -0.8238  0.074  0.00   0.000      0.  0.714E+00  0.859E-01  0.704E-03  0.435E-04   29  34  37   13  26   9   12  11   9    0.000    0.000       0
+  0   8455 01:59:24.22   0.9000A   2.0008  -0.8136  -0.6946  0.073  0.00   0.000      0.  0.714E+00  0.855E-01  0.706E-03  0.450E-04   29  34   1   10  24   8    7  25   2    0.000    0.000       0
+  0   8462 01:59:30.51   0.9010A   1.9973  -0.7665  -0.7974  0.072  0.00   0.000      0.  0.713E+00  0.852E-01  0.711E-03  0.489E-04   35  39  21   10  23   8   17  21   9    0.000    0.000       0
+  0   8469 01:59:36.71   0.8810A   2.0430   0.7636  -0.9413  0.071  0.00   0.000      0.  0.713E+00  0.850E-01  0.708E-03  0.514E-04   18   8  28   18  13   9   16  20   9    0.000    0.000       0
+  0   8476 01:59:42.83   0.8670A   2.0752   0.6993  -0.9932  0.070  0.00   0.000      0.  0.713E+00  0.848E-01  0.707E-03  0.512E-04   24  30   8    8  25   4   15  19   9    0.000    0.000       0
+  0   8482 01:59:48.07   0.8760A   2.0547   0.7566  -0.9892  0.069  0.00   0.000      0.  0.713E+00  0.848E-01  0.712E-03  0.510E-04   24  30  12   19  13   9   14  19   9    0.000    0.000       0
+  0   8489 01:59:54.25   0.8830A   2.0385   0.9673   1.0398  0.068  0.00   0.000      0.  0.714E+00  0.849E-01  0.723E-03  0.541E-04   37  38   2   19  14   9   20  13   9    0.000    0.000       0
+  0   8496 02:00:00.40   0.8780A   2.0494   1.0051   1.0478  0.067  0.00   0.000      0.  0.714E+00  0.853E-01  0.733E-03  0.567E-04   37  38   7   19  15   9   20  11   9    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_p3d	(revision 393)
@@ -0,0 +1,52 @@
+ &inipar nx = 39, ny = 39, nz = 40,
+         dx = 2.0, dy = 2.0, dz = 2.0,
+
+         fft_method = 'temperton-algorithm',   ! fast, but restrictions apply
+
+         omega = 0.0,                          ! no Coriolis force
+         conserve_volume_flow = .T.,           ! maintain constant bulk velocity
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 1.0, vg_surface = 0.0,   ! implies bulk velocity 1 m/s
+         roughness_length = 0.1,               ! applies to all surfaces locally
+
+         bc_pt_b = 'neumann',
+         bc_uv_t = 'neumann',                  ! open channel boundary condition
+
+         topography = 'single_street_canyon',
+         canyon_height   = 40.0,
+         canyon_width_x = 40.0,
+
+         surface_heatflux = 0.0,
+         wall_heatflux = 0.0, 0.0, 0.0, 0.0, 0.0,  /
+
+ &d3par  end_time                  =   7200.0,
+         termination_time_needed   =    900.0,
+         npex = 2, npey = 1,
+         create_disturbances = .T.,
+
+         netcdf_64bit = .F., netcdf_64bit_3d = .F.,
+
+         dt_run_control            =      6.0,
+         dt_dots                   =      6.0,
+
+         skip_time_dopr            =      0.0,
+         dt_dopr                   =   3600.0,
+         averaging_interval_pr     =   3600.0,
+         dt_averaging_input_pr     =      6.0,
+
+         skip_time_data_output     =      0.0,
+         dt_data_output            =   3600.0,
+
+         averaging_interval        =   3600.0,
+         dt_averaging_input        =      6.0,
+
+         section_xz = -1,
+
+         data_output_pr = '#u', 'w"u"', 'w*u*', 'wu', 'u*2', 
+                          '#v', 'w"v"', 'w*v*', 'wv', 'v*2',
+                          'w', 'w*2', 'e', 'e*', '#km', '#l',
+
+         data_output = 'u',       'v',       'w',
+                       'u_xz_av', 'v_xz_av', 'w_xz_av',
+                       'u_av',    'v_av',    'w_av',  /
Index: palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/canyon/example_canyon_rc	(revision 393)
@@ -0,0 +1,1411 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 244      *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              26-02-09         Run:       example_canyon      
+ Time:              23:10:00         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            2         Processor grid (x,y): (  2,  1) predefined
+                                     A 1d-decomposition along x is used
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> Volume flow at the right and north boundary will be conserved
+     using the initial_profiles mode
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:          7200.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =      2.000 m    dy =      2.000 m    dz =      2.000 m
+ Domain size:       x =     80.000 m     y =     80.000 m  z(u) =     81.000 m
+
+ Number of gridpoints (x,y,z):  (0:  39, 0:  39, 0:  41)
+ Subdomain size (x,y,z):        (    20,     40,     42)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: single_street_canyon                    
+ Single quasi-2D street canyon of infinite length in y direction
+ Canyon height:  40.00m, ch =   20.
+ Canyon position (u-walls): cxl =   10, cxr =   30.
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = uv(nzt)               | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.000000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =   1.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: u, w"u", w*u*, wu, u*2, v, w"v", w*v*, wv, v*2, w, w*2,      
+
+              : e, e*, km, l,                                                
+       Output every              3600.00 s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    2D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       XZ-cross-section  Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+       Cross sections at j = /-1/
+       scalar-coordinates:   /-2.0/ m
+
+
+    3D-Arrays:
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    3D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 6.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.000E+00 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000000 1/s
+                            f*    =  0.000000 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            1.00    1.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0  m
+       Temperature:   300.00  300.00  K
+       Gradient:      ------    0.00  K/100m
+       Gridpoint:          0       0
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   ****** s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :     5.00 m (GP    3)
+    Upper disturbance level         :    25.00 m (GP   13)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ *** no user-defined variables found
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   1.5100A   1.1915D  0.1951D -0.6578  0.000  0.00   0.000      0.  0.267E+00  0.158E-01  0.000E+00  0.000E+00   22  38   1    7   0  21   21  35  11    0.000    0.000       0
+  0      5 00:00:06.55   1.2700A   1.4138   0.1975   1.2044  0.076  0.00   0.000      0.  0.248E+00  0.158E-01  0.996E-03  0.318E-03   22  33  11    7   5  15   20   2  29    0.000    0.000       0
+  0     10 00:00:12.98   1.2800A   1.4071   0.2118   1.1962  0.072  0.00   0.000      0.  0.250E+00  0.165E-01  0.106E-02  0.297E-03   22  34  12    7   6  15   20   3  29    0.000    0.000       0
+  0     14 00:00:18.17   1.3200A   1.3670  -0.2069   1.1781  0.067  0.00   0.000      0.  0.252E+00  0.171E-01  0.116E-02  0.295E-03   22  24  13   10  35  22   20   3  29    0.000    0.000       0
+  0     19 00:00:24.85   1.3500A   1.3361   0.2153   1.1373  0.061  0.00   0.000      0.  0.256E+00  0.175E-01  0.123E-02  0.281E-03   24   7  36    7   7  15   20  25  29    0.000    0.000       0
+  0     23 00:00:30.23   1.3400A   1.3464  -0.2024   1.0859  0.057  0.00   0.000      0.  0.260E+00  0.174E-01  0.122E-02  0.264E-03   22  29  15   11  30  21   20  23  29    0.000    0.000       0
+  0     28 00:00:37.15   1.3900A   1.2942  -0.2106   1.0384  0.052  0.00   0.000      0.  0.265E+00  0.171E-01  0.123E-02  0.253E-03   25   6  36   11  30  21   20  23  29    0.000    0.000       0
+  0     32 00:00:42.70   1.3900A   1.2911   0.1919   0.9887  0.048  0.00   0.000      0.  0.269E+00  0.168E-01  0.117E-02  0.232E-03   25   8  38    6   1  19   20  23  29    0.000    0.000       0
+  0     36 00:00:48.39   1.4300A   1.2564  -0.2136   0.9231  0.044  0.00   0.000      0.  0.272E+00  0.163E-01  0.114E-02  0.213E-03   25   8   1    9  33  22   20  23  29    0.000    0.000       0
+  0     40 00:00:54.14   1.4300A   1.2570  -0.2252   0.8540  0.041  0.00   0.000      0.  0.275E+00  0.158E-01  0.109E-02  0.186E-03   25  15  37    9  33  22   20   9  29    0.000    0.000       0
+  0     45 00:01:01.26   1.4200A   1.2649  -0.2077   0.7770  0.036  0.00   0.000      0.  0.278E+00  0.152E-01  0.101E-02  0.160E-03   25  15   1    9  33  22   20   9  29    0.000    0.000       0
+  0     49 00:01:06.90   1.4100A   1.2782  -0.2208   0.7108  0.034  0.00   0.000      0.  0.280E+00  0.149E-01  0.958E-03  0.144E-03   25  15   1    9   7  22   20   9  29    0.000    0.000       0
+  0     53 00:01:12.56   1.4100A   1.2760  -0.2110   0.6140  0.032  0.00   0.000      0.  0.282E+00  0.146E-01  0.874E-03  0.132E-03   25  15   3    9   7  22   20   9  29    0.000    0.000       0
+  0     57 00:01:18.25   1.4300A   1.2597  -0.1819   0.5966  0.032  0.00   0.000      0.  0.283E+00  0.143E-01  0.804E-03  0.113E-03   25  15   4   12  17  29   17  15  18    0.000    0.000       0
+  0     61 00:01:24.07   1.4600A   1.2364   0.1626   0.5981  0.033  0.00   0.000      0.  0.284E+00  0.140E-01  0.726E-03  0.850E-04   24  15   4    8   0  28   17  16  18    0.000    0.000       0
+  0     66 00:01:31.47   1.5000A   1.1992  -0.1523   0.6091  0.034  0.00   0.000      0.  0.285E+00  0.137E-01  0.694E-03  0.749E-04   26  15   0    4   8  24   17  19  19    0.000    0.000       0
+  0     70 00:01:37.42   1.4700A   1.2214  -0.1477  -0.6692  0.034  0.00   0.000      0.  0.286E+00  0.137E-01  0.666E-03  0.695E-04   26  15   3    4   8  24   16  25  29    0.000    0.000       0
+  0     74 00:01:43.23   1.4400A   1.2457  -0.1615  -0.7282  0.035  0.00   0.000      0.  0.286E+00  0.137E-01  0.655E-03  0.743E-04   26  15   6    7   7  21   17  20  26    0.000    0.000       0
+  0     78 00:01:48***   1.4400A   1.2487  -0.1570  -0.7769  0.036  0.00   0.000      0.  0.286E+00  0.138E-01  0.659E-03  0.794E-04   26  15   9    7   7  21   16  20  26    0.000    0.000       0
+  0     82 00:01:54.76   1.4400A   1.2542  -0.1424  -0.7793  0.037  0.00   0.000      0.  0.286E+00  0.139E-01  0.646E-03  0.853E-04   26  15  12    7   6  21   16  25  27    0.000    0.000       0
+  0     86 00:02:00.49   1.4300A   1.2616  -0.1486  -0.8074  0.038  0.00   0.000      0.  0.286E+00  0.139E-01  0.640E-03  0.103E-03   26  15  14    7   7  19   15  24  28    0.000    0.000       0
+  0     90 00:02:06.21   1.4300A   1.2592  -0.1548  -0.8613  0.039  0.00   0.000      0.  0.285E+00  0.140E-01  0.634E-03  0.110E-03   27  15  17    7   7  19   16  14  27    0.000    0.000       0
+  0     95 00:02:13.32   1.4200A   1.2641  -0.1404  -0.9111  0.041  0.00   0.000      0.  0.284E+00  0.139E-01  0.610E-03  0.103E-03   26  15  20    7   7  19   15  31  27    0.000    0.000       0
+  0     99 00:02:19.03   1.4200A   1.2651  -0.1374  -0.9131  0.043  0.00   0.000      0.  0.283E+00  0.137E-01  0.595E-03  0.998E-04   26  10  19    7   6  19   14  14  28    0.000    0.000       0
+  0    103 00:02:24.71   1.4200A   1.2716  -0.1300  -0.9362  0.045  0.00   0.000      0.  0.282E+00  0.133E-01  0.593E-03  0.103E-03   26  18  21    7   3  21   14  23  28    0.000    0.000       0
+  0    107 00:02:30.37   1.4200A   1.2644  -0.1168  -0.9288  0.046  0.00   0.000      0.  0.280E+00  0.129E-01  0.595E-03  0.105E-03   26  24  23    7   3  21   13  27  28    0.000    0.000       0
+  0    111 00:02:36.09   1.4300A   1.2573  -0.1113  -0.9088  0.046  0.00   0.000      0.  0.278E+00  0.124E-01  0.600E-03  0.973E-04   27  15  25    7   6  18   13  27  28    0.000    0.000       0
+  0    116 00:02:43.29   1.4500A   1.2417  -0.1013  -0.8679  0.045  0.00   0.000      0.  0.276E+00  0.118E-01  0.568E-03  0.737E-04   27  10  27    4   7  21   12  27  28    0.000    0.000       0
+  0    120 00:02:49.13   1.4700A   1.2267   0.1036  -0.8360  0.044  0.00   0.000      0.  0.274E+00  0.114E-01  0.561E-03  0.673E-04   27  10  30    6  37  21   12  35  28    0.000    0.000       0
+  0    124 00:02:55.01   1.4700A   1.2241  -0.1084  -0.8112  0.042  0.00   0.000      0.  0.273E+00  0.112E-01  0.574E-03  0.778E-04   26  29  31    3  22  16   12   2  28    0.000    0.000       0
+  0    128 00:03:00.88   1.4600A   1.2296   0.1097  -0.7913  0.039  0.00   0.000      0.  0.272E+00  0.109E-01  0.582E-03  0.794E-04   26  29  33    6  37  20   12   7  28    0.000    0.000       0
+  0    132 00:03:06.74   1.4700A   1.2286   0.1117  -0.7904  0.037  0.00   0.000      0.  0.272E+00  0.107E-01  0.592E-03  0.774E-04   26  29  35    6  37  20   11   7  28    0.000    0.000       0
+  0    136 00:03:12.62   1.4700A   1.2244   0.0965  -0.7815  0.035  0.00   0.000      0.  0.272E+00  0.105E-01  0.582E-03  0.748E-04   26  29  37    4  34  15   11   7  28    0.000    0.000       0
+  0    140 00:03:18.50   1.4700A   1.2256  -0.0932  -0.7586  0.034  0.00   0.000      0.  0.273E+00  0.102E-01  0.575E-03  0.719E-04   27  10  38    4   6  19   10   6  28    0.000    0.000       0
+  0    144 00:03:24.37   1.4700A   1.2280  -0.0989  -0.7410  0.031  0.00   0.000      0.  0.273E+00  0.101E-01  0.567E-03  0.699E-04   27  10   1    4   6  19   10   6  28    0.000    0.000       0
+  0    148 00:03:30.21   1.4600A   1.2296  -0.0967  -0.7286  0.029  0.00   0.000      0.  0.273E+00  0.991E-02  0.567E-03  0.724E-04   27  10   3    4   5  19   10   5  27    0.000    0.000       0
+  0    152 00:03:36.08   1.4700A   1.2276  -0.0932  -0.7197  0.028  0.00   0.000      0.  0.274E+00  0.981E-02  0.567E-03  0.778E-04   27  10   5    3  39  26    9   5  27    0.000    0.000       0
+  0    157 00:03:43.46   1.4800A   1.2158  -0.0992  -0.6959  0.028  0.00   0.000      0.  0.274E+00  0.974E-02  0.536E-03  0.701E-04   27  11   8    3  39  26    9   5  26    0.000    0.000       0
+  0    161 00:03:49.41   1.4900A   1.2097  -0.0987  -0.6814  0.029  0.00   0.000      0.  0.275E+00  0.975E-02  0.493E-03  0.496E-04   26  29   9    4  32  21    9   5  26    0.000    0.000       0
+  0    165 00:03:55.37   1.4900A   1.2114   0.1247  -0.6642  0.031  0.00   0.000      0.  0.276E+00  0.984E-02  0.455E-03  0.311E-04   26  29  11    6  33  21    8   6  26    0.000    0.000       0
+  0    169 00:04:01.29   1.4800A   1.2203   0.1313  -0.6453  0.032  0.00   0.000      0.  0.278E+00  0.100E-01  0.448E-03  0.332E-04   26  15  14    6  33  21    8   8  26    0.000    0.000       0
+  0    173 00:04:07.15   1.4600A   1.2321   0.1553  -0.6302  0.034  0.00   0.000      0.  0.279E+00  0.103E-01  0.463E-03  0.418E-04   26  15  16    6  33  20    8   4  25    0.000    0.000       0
+  0    177 00:04:12.95   1.4400A   1.2458   0.1809  -0.6160  0.036  0.00   0.000      0.  0.281E+00  0.106E-01  0.463E-03  0.418E-04   26  29  18    6  33  20    8   8  25    0.000    0.000       0
+  0    181 00:04:18.71   1.4400A   1.2520   0.1949  -0.6063  0.039  0.00   0.000      0.  0.282E+00  0.109E-01  0.464E-03  0.412E-04   26  29  20    7  33  19    8  27  25    0.000    0.000       0
+  0    185 00:04:24.47   1.4400A   1.2516   0.2085   0.6054  0.042  0.00   0.000      0.  0.282E+00  0.111E-01  0.485E-03  0.563E-04   26  15  22    9  33  19    8  13  19    0.000    0.000       0
+  0    189 00:04:30.25   1.4500A   1.2383   0.2428   0.5991  0.044  0.00   0.000      0.  0.282E+00  0.113E-01  0.513E-03  0.770E-04   26  15  24   10  33  19    8  37  19    0.000    0.000       0
+  0    193 00:04:36.14   1.4800A   1.2144   0.2641  -0.5913  0.046  0.00   0.000      0.  0.281E+00  0.113E-01  0.536E-03  0.937E-04   28  37  20   10  33  19    8  11  24    0.000    0.000       0
+  0    197 00:04:42.04   1.4700A   1.2215  -0.2677   0.5906  0.046  0.00   0.000      0.  0.280E+00  0.112E-01  0.537E-03  0.968E-04   28   1  23   10  19  19    8  27  18    0.000    0.000       0
+  0    202 00:04:49.40   1.4800A   1.2182  -0.2704   0.5919  0.046  0.00   0.000      0.  0.277E+00  0.109E-01  0.519E-03  0.886E-04   28  39  25   10  18  18    9  29  18    0.000    0.000       0
+  0    206 00:04:55.35   1.4900A   1.2051   0.2883  -0.6614  0.046  0.00   0.000      0.  0.275E+00  0.106E-01  0.486E-03  0.733E-04   28   2  28   10  22  18    9  31  23    0.000    0.000       0
+  0    210 00:05:01.35   1.5000A   1.2030   0.3013  -0.6716  0.044  0.00   0.000      0.  0.273E+00  0.102E-01  0.446E-03  0.493E-04   27  29  26   10  22  18    8  31  23    0.000    0.000       0
+  0    214 00:05:07.35   1.5000A   1.2038   0.2926  -0.6717  0.042  0.00   0.000      0.  0.271E+00  0.997E-02  0.415E-03  0.258E-04   27  29  28   10  23  17    9  19  22    0.000    0.000       0
+  0    218 00:05:13.31   1.4900A   1.2082   0.2970  -0.6899  0.040  0.00   0.000      0.  0.270E+00  0.978E-02  0.409E-03  0.291E-04   27  29  31   10  23  17    7  19  22    0.000    0.000       0
+  0    222 00:05:19.25   1.4800A   1.2166   0.2872  -0.6084  0.038  0.00   0.000      0.  0.270E+00  0.967E-02  0.427E-03  0.450E-04   27  29  33   10  23  17    7  20  22    0.000    0.000       0
+  0    226 00:05:25.14   1.4700A   1.2235   0.2789  -0.5798  0.036  0.00   0.000      0.  0.270E+00  0.963E-02  0.459E-03  0.631E-04   27  29  35   10  23  17    8   4  23    0.000    0.000       0
+  0    230 00:05:31.00   1.4600A   1.2308  -0.2744  -0.5556  0.034  0.00   0.000      0.  0.270E+00  0.962E-02  0.486E-03  0.760E-04   27  29  36    6  23  11    9  21  22    0.000    0.000       0
+  0    234 00:05:36.83   1.4500A   1.2387  -0.2882   0.5564  0.033  0.00   0.000      0.  0.271E+00  0.962E-02  0.500E-03  0.840E-04   27  29  38    6  23  11    9  30  17    0.000    0.000       0
+  0    238 00:05:42.63   1.4500A   1.2442  -0.3003   0.5375  0.032  0.00   0.000      0.  0.273E+00  0.962E-02  0.503E-03  0.880E-04   27  29   0    7  22  11    9  30  17    0.000    0.000       0
+  0    242 00:05:48.40   1.4400A   1.2473  -0.3164  -0.5325  0.031  0.00   0.000      0.  0.274E+00  0.962E-02  0.495E-03  0.836E-04   27  29   3    8  22  11    8  30  22    0.000    0.000       0
+  0    246 00:05:54.16   1.4400A   1.2506  -0.3177   0.5287  0.032  0.00   0.000      0.  0.275E+00  0.965E-02  0.476E-03  0.729E-04   27  29   5    8  22  11    9  18  16    0.000    0.000       0
+  0    251 00:06:01.36   1.4400A   1.2527  -0.2996  -0.5701  0.033  0.00   0.000      0.  0.277E+00  0.977E-02  0.431E-03  0.520E-04   27  29   8    9  22  11    9  21  21    0.000    0.000       0
+  0    255 00:06:07.09   1.4300A   1.2571  -0.2781  -0.6004  0.036  0.00   0.000      0.  0.278E+00  0.993E-02  0.394E-03  0.344E-04   27  29  10   10  22  11    9  22  21    0.000    0.000       0
+  0    259 00:06:12.80   1.4200A   1.2657  -0.2570   0.6615  0.039  0.00   0.000      0.  0.279E+00  0.102E-01  0.385E-03  0.350E-04   27  29  12   10  21  11    8  19  16    0.000    0.000       0
+  0    263 00:06:18.46   1.4100A   1.2784  -0.2484   0.6841  0.042  0.00   0.000      0.  0.281E+00  0.104E-01  0.400E-03  0.465E-04   27  29  14   15  25  13    9  19  16    0.000    0.000       0
+  0    267 00:06:24.05   1.3900A   1.2923  -0.2425   0.6607  0.044  0.00   0.000      0.  0.282E+00  0.107E-01  0.423E-03  0.590E-04   27  29  16   16  24  13    9  18  16    0.000    0.000       0
+  0    272 00:06:30.97   1.3800A   1.3066   0.2425   0.6560  0.047  0.00   0.000      0.  0.282E+00  0.109E-01  0.452E-03  0.717E-04   27  29  19   13  35  20   10  18  15    0.000    0.000       0
+  0    276 00:06:36.46   1.3700A   1.3118   0.2433   0.6169  0.049  0.00   0.000      0.  0.282E+00  0.110E-01  0.466E-03  0.812E-04   27  29  21   13  35  20   10  18  15    0.000    0.000       0
+  0    281 00:06:43.32   1.3800A   1.3084   0.2406  -0.6316  0.050  0.00   0.000      0.  0.280E+00  0.108E-01  0.470E-03  0.892E-04   27  29  24   14  35  19   17   3  29    0.000    0.000       0
+  0    285 00:06:48.86   1.3900A   1.2954  -0.2534  -0.6188  0.049  0.00   0.000      0.  0.278E+00  0.105E-01  0.457E-03  0.864E-04   27  29  26   13  10  17   16  31  29    0.000    0.000       0
+  0    289 00:06:54.46   1.4100A   1.2808  -0.2595  -0.5869  0.047  0.00   0.000      0.  0.276E+00  0.101E-01  0.433E-03  0.743E-04   28  15  27   15  28  19   17   6  29    0.000    0.000       0
+  0    293 00:07:00.12   1.4200A   1.2657   0.2428   0.5853  0.045  0.00   0.000      0.  0.274E+00  0.965E-02  0.394E-03  0.541E-04   28  15  29   13  14  21   10   5  15    0.000    0.000       0
+  0    298 00:07:07.29   1.4400A   1.2507  -0.2484   0.5439  0.043  0.00   0.000      0.  0.272E+00  0.922E-02  0.360E-03  0.342E-04   28  15  32   15  27  20   11   5  15    0.000    0.000       0
+  0    302 00:07:13.06   1.4500A   1.2448   0.2309   0.5422  0.041  0.00   0.000      0.  0.272E+00  0.901E-02  0.364E-03  0.420E-04   28  15  34   15  34  18   11  27  15    0.000    0.000       0
+  0    306 00:07:18.86   1.4500A   1.2416   0.2338   0.5300  0.039  0.00   0.000      0.  0.271E+00  0.890E-02  0.379E-03  0.528E-04   28   3  35   14  35  21   10   9  15    0.000    0.000       0
+  0    310 00:07:24.66   1.4500A   1.2417  -0.2347   0.5316  0.037  0.00   0.000      0.  0.272E+00  0.887E-02  0.399E-03  0.610E-04   28   3  37   20  19  13   11   9  15    0.000    0.000       0
+  0    314 00:07:30.44   1.4400A   1.2482  -0.2397   0.5431  0.036  0.00   0.000      0.  0.273E+00  0.889E-02  0.414E-03  0.682E-04   28   4  38   20  19  13   11  16  16    0.000    0.000       0
+  0    318 00:07:36.20   1.4400A   1.2522   0.2278   0.5625  0.035  0.00   0.000      0.  0.273E+00  0.895E-02  0.422E-03  0.726E-04   28   4   1   16  34  19   12  16  16    0.000    0.000       0
+  0    323 00:07:43.40   1.4400A   1.2542   0.2297   0.5461  0.034  0.00   0.000      0.  0.275E+00  0.905E-02  0.416E-03  0.676E-04   28   4   4   20  12  14   12  16  16    0.000    0.000       0
+  0    327 00:07:49.16   1.4400A   1.2513   0.2336   0.5369  0.035  0.00   0.000      0.  0.276E+00  0.916E-02  0.397E-03  0.563E-04   28   4   7   20  12  14   13  18  16    0.000    0.000       0
+  0    331 00:07:54.92   1.4400A   1.2525   0.2483   0.5309  0.036  0.00   0.000      0.  0.277E+00  0.930E-02  0.378E-03  0.429E-04   27  34   6   20   6  29   12  24  15    0.000    0.000       0
+  0    335 00:08:00.67   1.4300A   1.2553   0.2689   0.5245  0.038  0.00   0.000      0.  0.278E+00  0.947E-02  0.357E-03  0.311E-04   27  18   9   19   6  29   12  25  16    0.000    0.000       0
+  0    339 00:08:06.39   1.4300A   1.2588   0.3750   0.5284  0.041  0.00   0.000      0.  0.279E+00  0.966E-02  0.353E-03  0.314E-04   27  18  11   20   3  28   13  25  16    0.000    0.000       0
+  0    343 00:08:12.09   1.4200A   1.2667   0.3426   0.5231  0.044  0.00   0.000      0.  0.280E+00  0.985E-02  0.364E-03  0.447E-04   27  19  13   20   3  28   13  25  16    0.000    0.000       0
+  0    348 00:08:19.15   1.4100A   1.2801   0.3316  -0.5633  0.047  0.00   0.000      0.  0.281E+00  0.100E-01  0.386E-03  0.600E-04   27  19  16   20  19  29   17  29  29    0.000    0.000       0
+  0    352 00:08:24.75   1.4000A   1.2872   0.3144  -0.5973  0.049  0.00   0.000      0.  0.281E+00  0.101E-01  0.393E-03  0.653E-04   27  19  18   19  19  29   16  29  29    0.000    0.000       0
+  0    356 00:08:30.33   1.3900A   1.2920   0.3813  -0.6125  0.050  0.00   0.000      0.  0.280E+00  0.101E-01  0.394E-03  0.651E-04   27  34  20   20   5  29   16  28  29    0.000    0.000       0
+  0    361 00:08:37.28   1.3900A   1.2921   0.3938  -0.6141  0.051  0.00   0.000      0.  0.279E+00  0.989E-02  0.390E-03  0.615E-04   27  34  22   20   6  29   16  13  29    0.000    0.000       0
+  0    365 00:08:42.86   1.4000A   1.2884   0.4067  -0.6311  0.050  0.00   0.000      0.  0.278E+00  0.965E-02  0.385E-03  0.574E-04   27   4  26   19   6  29   16   1  29    0.000    0.000       0
+  0    369 00:08:48.48   1.4100A   1.2768   0.3650  -0.6258  0.050  0.00   0.000      0.  0.276E+00  0.936E-02  0.375E-03  0.509E-04   27   4  29   18   6  29   15   1  29    0.000    0.000       0
+  0    373 00:08:54.13   1.4200A   1.2716  -0.3358  -0.6088  0.048  0.00   0.000      0.  0.275E+00  0.907E-02  0.359E-03  0.392E-04   26   4  26   17  10  29   15   1  29    0.000    0.000       0
+  0    378 00:09:01.24   1.4200A   1.2671   0.3041  -0.5881  0.046  0.00   0.000      0.  0.273E+00  0.879E-02  0.340E-03  0.263E-04   26   4  29   17   7  29   13   0  29    0.000    0.000       0
+  0    382 00:09:06.96   1.4300A   1.2602   0.2843  -0.5793  0.044  0.00   0.000      0.  0.272E+00  0.867E-02  0.348E-03  0.314E-04   27  29  33   17   7  29   12   0  29    0.000    0.000       0
+  0    386 00:09:12.68   1.4300A   1.2627   0.2976  -0.5738  0.042  0.00   0.000      0.  0.272E+00  0.866E-02  0.372E-03  0.461E-04   27  29  35   20  15  14   12   0  29    0.000    0.000       0
+  0    390 00:09:18.36   1.4200A   1.2633  -0.2877  -0.5635  0.041  0.00   0.000      0.  0.272E+00  0.872E-02  0.397E-03  0.600E-04   27  29  37   22  35  18   11   0  29    0.000    0.000       0
+  0    394 00:09:24.06   1.4200A   1.2670  -0.3422  -0.5448  0.039  0.00   0.000      0.  0.273E+00  0.881E-02  0.416E-03  0.691E-04   28  39  36   22  35  20   10   0  29    0.000    0.000       0
+  0    399 00:09:31.17   1.4200A   1.2639   0.3866  -0.5293  0.039  0.00   0.000      0.  0.274E+00  0.893E-02  0.419E-03  0.679E-04   28  39   0   22   8  28   10  37  28    0.000    0.000       0
+  0    403 00:09:36.86   1.4300A   1.2612   0.3711  -0.5229  0.040  0.00   0.000      0.  0.275E+00  0.903E-02  0.409E-03  0.590E-04   30  15   2   22   8  29    9  37  28    0.000    0.000       0
+  0    407 00:09:42.55   1.4200A   1.2669  -0.3959  -0.5241  0.041  0.00   0.000      0.  0.276E+00  0.914E-02  0.390E-03  0.481E-04   27   6   3   20  15  28   12  21  28    0.000    0.000       0
+  0    411 00:09:48.22   1.4200A   1.2690   0.3460  -0.5326  0.042  0.00   0.000      0.  0.277E+00  0.925E-02  0.379E-03  0.411E-04   27   6   5   19  34  29   12  21  28    0.000    0.000       0
+  0    416 00:09:55.26   1.4200A   1.2693  -0.3509  -0.5461  0.045  0.00   0.000      0.  0.278E+00  0.937E-02  0.371E-03  0.360E-04   28  29   9   23  26   4   16  30  29    0.000    0.000       0
+  0    420 00:10:00.89   1.4100A   1.2766   0.3405  -0.6153  0.048  0.00   0.000      0.  0.279E+00  0.946E-02  0.368E-03  0.360E-04   28  29  11   19  21  29   17  17  29    0.000    0.000       0
+  0    424 00:10:06.50   1.4000A   1.2875   0.3451  -0.6576  0.050  0.00   0.000      0.  0.279E+00  0.951E-02  0.371E-03  0.425E-04   28  29  14   19  21  29   16  17  29    0.000    0.000       0
+  0    428 00:10:12.07   1.3900A   1.2984  -0.3587  -0.6673  0.052  0.00   0.000      0.  0.279E+00  0.953E-02  0.378E-03  0.497E-04   28  29  16   23  28   8   15  17  29    0.000    0.000       0
+  0    433 00:10:18.94   1.3700A   1.3126  -0.3538  -0.6527  0.054  0.00   0.000      0.  0.278E+00  0.948E-02  0.374E-03  0.508E-04   27   7  17   23  27  10   14  18  29    0.000    0.000       0
+  0    437 00:10:24.38   1.3600A   1.3232  -0.3681  -0.6488  0.055  0.00   0.000      0.  0.277E+00  0.939E-02  0.370E-03  0.482E-04   27   7  19   23  27  12   14  15  29    0.000    0.000       0
+  0    442 00:10:31.15   1.3600A   1.3261  -0.3269  -0.6163  0.055  0.00   0.000      0.  0.276E+00  0.923E-02  0.363E-03  0.433E-04   27  28  24   23  27  14   13  15  29    0.000    0.000       0
+  0    446 00:10:36.60   1.3700A   1.3182   0.3380  -0.5838  0.055  0.00   0.000      0.  0.275E+00  0.908E-02  0.355E-03  0.376E-04   27  28  27   24  37  16   12  15  29    0.000    0.000       0
+  0    450 00:10:42.07   1.3700A   1.3130   0.3470  -0.5579  0.054  0.00   0.000      0.  0.274E+00  0.895E-02  0.345E-03  0.290E-04   27  28  29   24  37  18   13  12  29    0.000    0.000       0
+  0    455 00:10:48***   1.3900A   1.2962   0.3831  -0.5394  0.052  0.00   0.000      0.  0.273E+00  0.882E-02  0.342E-03  0.231E-04   28  28  31   24  36  21   13  11  29    0.000    0.000       0
+  0    459 00:10:54.56   1.3900A   1.2967   0.3645  -0.5367  0.051  0.00   0.000      0.  0.272E+00  0.878E-02  0.348E-03  0.274E-04   27  27  33   25  37  24   10  23  27    0.000    0.000       0
+  0    463 00:11:00.11   1.3900A   1.2966   0.3781  -0.5363  0.049  0.00   0.000      0.  0.272E+00  0.881E-02  0.366E-03  0.364E-04   27  27  35   24  37  24   10  23  27    0.000    0.000       0
+  0    468 00:11:07.02   1.3700A   1.3119   0.3580  -0.5171  0.047  0.00   0.000      0.  0.272E+00  0.891E-02  0.387E-03  0.475E-04   28  19  37   24  37  26    9  22  27    0.000    0.000       0
+  0    472 00:11:12.49   1.3600A   1.3216  -0.3537  -0.5130  0.046  0.00   0.000      0.  0.273E+00  0.902E-02  0.399E-03  0.532E-04   28  35   0   24  22  20    9  23  27    0.000    0.000       0
+  0    477 00:11:19.31   1.3700A   1.3166  -0.3493  -0.4979  0.046  0.00   0.000      0.  0.274E+00  0.917E-02  0.409E-03  0.544E-04   28  35   4   20  30  29    9  23  27    0.000    0.000       0
+  0    481 00:11:24.77   1.3700A   1.3162  -0.4886   0.5032  0.046  0.00   0.000      0.  0.275E+00  0.928E-02  0.412E-03  0.525E-04   28  35   7   20  29  29   20   8  29    0.000    0.000       0
+  0    485 00:11:30.23   1.3700A   1.3140  -0.5295  -0.6003  0.047  0.00   0.000      0.  0.276E+00  0.938E-02  0.414E-03  0.516E-04   28  35  10   20  29  29   18  32  29    0.000    0.000       0
+  0    490 00:11:37.05   1.3700A   1.3180  -0.4940  -0.7259  0.048  0.00   0.000      0.  0.277E+00  0.948E-02  0.412E-03  0.498E-04   28  35  13   19  29  29   17  32  29    0.000    0.000       0
+  0    494 00:11:42.49   1.3500A   1.3304  -0.4929  -0.7246  0.050  0.00   0.000      0.  0.278E+00  0.954E-02  0.402E-03  0.460E-04   27  19  16   20  35  28   16  32  29    0.000    0.000       0
+  0    499 00:11:49.29   1.3600A   1.3198  -0.5202  -0.6617  0.052  0.00   0.000      0.  0.278E+00  0.958E-02  0.398E-03  0.399E-04   27  19  20   19   3  29   14  31  29    0.000    0.000       0
+  0    503 00:11:54.74   1.3600A   1.3247  -0.5435  -0.7194  0.053  0.00   0.000      0.  0.278E+00  0.958E-02  0.396E-03  0.366E-04   27  19  23   19   2  29   16   6  29    0.000    0.000       0
+  0    507 00:12:00.15   1.3600A   1.3271  -0.5315  -0.7257  0.054  0.00   0.000      0.  0.278E+00  0.955E-02  0.393E-03  0.349E-04   27  19  26   18   2  29   15   5  29    0.000    0.000       0
+  0    512 00:12:06.86   1.3400A   1.3456  -0.4679  -0.7083  0.055  0.00   0.000      0.  0.278E+00  0.947E-02  0.383E-03  0.322E-04   27  19  29   17   1  29   14   5  29    0.000    0.000       0
+  0    516 00:12:12.26   1.3500A   1.3307  -0.4414  -0.6829  0.055  0.00   0.000      0.  0.277E+00  0.937E-02  0.376E-03  0.299E-04   28  15  27   16   1  29   13   4  29    0.000    0.000       0
+  0    521 00:12:19.06   1.3600A   1.3207   0.3918  -0.6417  0.056  0.00   0.000      0.  0.276E+00  0.923E-02  0.368E-03  0.280E-04   28  15  30   26   8  16   12   4  29    0.000    0.000       0
+  0    525 00:12:24.52   1.3700A   1.3145   0.3927  -0.5930  0.055  0.00   0.000      0.  0.275E+00  0.911E-02  0.362E-03  0.245E-04   28  15  33   25   9  15   11   4  29    0.000    0.000       0
+  0    529 00:12:30.03   1.3800A   1.3007   0.3886  -0.5490  0.055  0.00   0.000      0.  0.275E+00  0.902E-02  0.358E-03  0.212E-04   28  15  36   25   9  17    9   4  29    0.000    0.000       0
+  0    534 00:12:36.97   1.3900A   1.2982   0.3693  -0.5214  0.054  0.00   0.000      0.  0.274E+00  0.895E-02  0.358E-03  0.224E-04   28  27  35   26  10  23   15  14  29    0.000    0.000       0
+  0    538 00:12:42.48   1.3800A   1.3083   0.3488  -0.5237  0.053  0.00   0.000      0.  0.274E+00  0.893E-02  0.360E-03  0.258E-04   28  27  37   26  10  26   14  14  29    0.000    0.000       0
+  0    543 00:12:49.35   1.3800A   1.3046  -0.3318  -0.5115  0.052  0.00   0.000      0.  0.274E+00  0.895E-02  0.368E-03  0.312E-04   28  27   1   24  13  39   13  14  29    0.000    0.000       0
+  0    547 00:12:54.86   1.3800A   1.3028  -0.3753  -0.4996  0.052  0.00   0.000      0.  0.275E+00  0.899E-02  0.375E-03  0.352E-04   28  27   3   24  13   0   12  14  29    0.000    0.000       0
+  0    551 00:13:00.42   1.3900A   1.2916  -0.3915  -0.4834  0.051  0.00   0.000      0.  0.275E+00  0.904E-02  0.383E-03  0.378E-04   28  27   6   21   4  19   11  14  29    0.000    0.000       0
+  0    556 00:13:07.37   1.3900A   1.2980  -0.3727  -0.4913  0.051  0.00   0.000      0.  0.276E+00  0.911E-02  0.387E-03  0.386E-04   29   7   2   25  13   6   15  10  29    0.000    0.000       0
+  0    560 00:13:12.91   1.3800A   1.3049  -0.3632  -0.4961  0.051  0.00   0.000      0.  0.276E+00  0.917E-02  0.382E-03  0.360E-04   27   8  14   24  11   6   14  10  29    0.000    0.000       0
+  0    564 00:13:18.39   1.3500A   1.3329   0.3716  -0.5061  0.051  0.00   0.000      0.  0.277E+00  0.922E-02  0.372E-03  0.328E-04   27   8  16   26  11  35   13  10  29    0.000    0.000       0
+  0    569 00:13:25.13   1.3300A   1.3512  -0.4728  -0.4991  0.052  0.00   0.000      0.  0.277E+00  0.927E-02  0.368E-03  0.307E-04   27   8  19   20  13  29   12  10  29    0.000    0.000       0
+  0    573 00:13:30.51   1.3500A   1.3312  -0.4393  -0.5736  0.053  0.00   0.000      0.  0.277E+00  0.929E-02  0.374E-03  0.315E-04   27   8  21   19  13  29   18  16  29    0.000    0.000       0
+  0    578 00:13:37.29   1.3600A   1.3248   0.4108  -0.6222  0.054  0.00   0.000      0.  0.277E+00  0.928E-02  0.375E-03  0.311E-04   27   8  24   20   8  29   17  17  29    0.000    0.000       0
+  0    582 00:13:42.79   1.3800A   1.3002   0.4733  -0.6660  0.055  0.00   0.000      0.  0.277E+00  0.924E-02  0.378E-03  0.301E-04   28   7  24   19   8  29   17   5  29    0.000    0.000       0
+  0    586 00:13:48.33   1.3800A   1.3015   0.4603  -0.7929  0.055  0.00   0.000      0.  0.276E+00  0.917E-02  0.375E-03  0.276E-04   23  23  24   19   9  29   17   7  29    0.000    0.000       0
+  0    591 00:13:55.27   1.3800A   1.2997   0.4533  -0.7724  0.055  0.00   0.000      0.  0.276E+00  0.907E-02  0.367E-03  0.244E-04   27   7  30   20  11  29   16   8  29    0.000    0.000       0
+  0    595 00:14:00.80   1.3800A   1.3071   0.4155  -0.7399  0.056  0.00   0.000      0.  0.276E+00  0.899E-02  0.362E-03  0.239E-04   27   7  33   19  11  29   15   8  29    0.000    0.000       0
+  0    599 00:14:06.32   1.3800A   1.3036   0.3913  -0.6519  0.055  0.00   0.000      0.  0.275E+00  0.891E-02  0.358E-03  0.232E-04   27   7  36   19  11  29   15   9  29    0.000    0.000       0
+  0    604 00:14:13.28   1.3900A   1.2919  -0.3765  -0.5950  0.055  0.00   0.000      0.  0.275E+00  0.884E-02  0.356E-03  0.226E-04   27  11  34   24   5  32   14  10  29    0.000    0.000       0
+  0    608 00:14:18.76   1.3600A   1.3263  -0.3619  -0.5575  0.054  0.00   0.000      0.  0.275E+00  0.880E-02  0.347E-03  0.221E-04   26   7   2   23  23  18   13  10  29    0.000    0.000       0
+  0    612 00:14:24.13   1.3400A   1.3444  -0.3504  -0.5181  0.054  0.00   0.000      0.  0.275E+00  0.880E-02  0.344E-03  0.239E-04   26   7   5   23  23  20   11  10  29    0.000    0.000       0
+  0    617 00:14:30.94   1.3800A   1.3083  -0.3480  -0.4800  0.053  0.00   0.000      0.  0.275E+00  0.882E-02  0.362E-03  0.286E-04   26   7   8   23   8   1   10  11  29    0.000    0.000       0
+  0    621 00:14:36.51   1.3800A   1.3013  -0.3678  -0.4671  0.052  0.00   0.000      0.  0.275E+00  0.885E-02  0.365E-03  0.301E-04   28   6  11   23   8   3   10  20  28    0.000    0.000       0
+  0    625 00:14:41***   1.3600A   1.3187  -0.3932  -0.4593  0.052  0.00   0.000      0.  0.275E+00  0.888E-02  0.361E-03  0.294E-04   28   6  14   20  18  28    9  20  28    0.000    0.000       0
+  0    630 00:14:48.83   1.3700A   1.3144   0.4088  -0.4928  0.051  0.00   0.000      0.  0.275E+00  0.892E-02  0.365E-03  0.275E-04   28   6  17   20  22  29   18  20  29    0.000    0.000       0
+  0    634 00:14:54.34   1.3800A   1.3003  -0.3906  -0.5381  0.051  0.00   0.000      0.  0.275E+00  0.895E-02  0.368E-03  0.263E-04   28   6  20   23   6   9   18  19  29    0.000    0.000       0
+  0    639 00:15:01.34   1.4000A   1.2862  -0.3878  -0.5672  0.050  0.00   0.000      0.  0.275E+00  0.898E-02  0.375E-03  0.262E-04   31  14  20   23   6  12   17  19  29    0.000    0.000       0
+  0    643 00:15:06.93   1.4000A   1.2897  -0.3866  -0.5248  0.050  0.00   0.000      0.  0.275E+00  0.900E-02  0.377E-03  0.256E-04   31  14  22   23   5  14   16  19  29    0.000    0.000       0
+  0    647 00:15:12.49   1.3900A   1.2963  -0.3777  -0.4817  0.050  0.00   0.000      0.  0.275E+00  0.902E-02  0.377E-03  0.249E-04   31  14  25   23   5  16   17  29  29    0.000    0.000       0
+  0    651 00:15:18.05   1.3900A   1.2969  -0.4013  -0.5039  0.050  0.00   0.000      0.  0.275E+00  0.906E-02  0.377E-03  0.245E-04   31  14  28   20  33  28   17  29  29    0.000    0.000       0
+  0    656 00:15:24.99   1.3800A   1.3030  -0.3617  -0.5050  0.050  0.00   0.000      0.  0.276E+00  0.911E-02  0.375E-03  0.251E-04   26  28  34   23   3  21   16  30  29    0.000    0.000       0
+  0    660 00:15:30.50   1.3700A   1.3141  -0.3718  -0.4935  0.050  0.00   0.000      0.  0.276E+00  0.918E-02  0.374E-03  0.267E-04   26  28  37   23   2  21   15  30  29    0.000    0.000       0
+  0    664 00:15:35***   1.3800A   1.3091  -0.3631  -0.4786  0.050  0.00   0.000      0.  0.276E+00  0.927E-02  0.382E-03  0.288E-04   26  28  39   23  17  24   14  30  29    0.000    0.000       0
+  0    669 00:15:42.86   1.3700A   1.3159   0.4226  -0.4621  0.051  0.00   0.000      0.  0.277E+00  0.940E-02  0.387E-03  0.296E-04   27  28   3   20  19  28   13  30  29    0.000    0.000       0
+  0    673 00:15:48.31   1.3600A   1.3242   0.4288  -0.4668  0.052  0.00   0.000      0.  0.277E+00  0.949E-02  0.388E-03  0.295E-04   27  28   5   20  17  29   20  15  26    0.000    0.000       0
+  0    678 00:15:55.03   1.3300A   1.3508   0.4664  -0.6242  0.053  0.00   0.000      0.  0.277E+00  0.957E-02  0.383E-03  0.276E-04   27  29   9   19  17  29   17  13  29    0.000    0.000       0
+  0    682 00:16:00.34   1.3300A   1.3559   0.4459  -0.7409  0.053  0.00   0.000      0.  0.277E+00  0.959E-02  0.384E-03  0.270E-04   27  29  11   18  17  29   16  12  29    0.000    0.000       0
+  0    687 00:16:06.90   1.3100A   1.3707  -0.4830  -0.7783  0.054  0.00   0.000      0.  0.277E+00  0.956E-02  0.380E-03  0.276E-04   27  29  15   19   8  29   16  15  29    0.000    0.000       0
+  0    691 00:16:12.20   1.3300A   1.3485  -0.4705  -0.7742  0.054  0.00   0.000      0.  0.277E+00  0.950E-02  0.382E-03  0.271E-04   27  29  17   19   8  29   15  15  29    0.000    0.000       0
+  0    696 00:16:18.90   1.3300A   1.3574  -0.4542  -0.7578  0.054  0.00   0.000      0.  0.276E+00  0.938E-02  0.380E-03  0.260E-04   28  29  22   18   7  29   13  14  29    0.000    0.000       0
+  0    700 00:16:24.16   1.3000A   1.3823  -0.4370  -0.7272  0.054  0.00   0.000      0.  0.276E+00  0.928E-02  0.372E-03  0.256E-04   28  29  25   18   7  29   12  14  29    0.000    0.000       0
+  0    705 00:16:30.64   1.2900A   1.3956  -0.4098  -0.6869  0.053  0.00   0.000      0.  0.276E+00  0.917E-02  0.371E-03  0.272E-04   28  29  28   17   7  29   11  14  29    0.000    0.000       0
+  0    710 00:16:37.03   1.2700A   1.4175  -0.3874  -0.6413  0.052  0.00   0.000      0.  0.275E+00  0.909E-02  0.367E-03  0.284E-04   28  29  32   23   8   9   10  14  29    0.000    0.000       0
+  0    714 00:16:42.13   1.2800A   1.4092  -0.3954  -0.6046  0.051  0.00   0.000      0.  0.276E+00  0.904E-02  0.370E-03  0.291E-04   28  29  35   20  27  28    9  14  29    0.000    0.000       0
+  0    719 00:16:48.53   1.2800A   1.4041  -0.3654  -0.5611  0.051  0.00   0.000      0.  0.276E+00  0.898E-02  0.365E-03  0.261E-04   28  29  38   23   7  12    9  10  29    0.000    0.000       0
+  0    724 00:16:54.95   1.2800A   1.4012  -0.3732  -0.5313  0.050  0.00   0.000      0.  0.276E+00  0.893E-02  0.359E-03  0.228E-04   28  29   2   23   6  14    8  10  29    0.000    0.000       0
+  0    728 00:17:00.12   1.2900A   1.3931  -0.3862  -0.5183  0.050  0.00   0.000      0.  0.276E+00  0.889E-02  0.359E-03  0.214E-04   28  29   5   25  10  28   12  20  28    0.000    0.000       0
+  0    733 00:17:06.65   1.3100A   1.3698  -0.3706  -0.5220  0.050  0.00   0.000      0.  0.276E+00  0.886E-02  0.357E-03  0.200E-04   28  29   8   25  10  30   11  20  28    0.000    0.000       0
+  0    738 00:17:13.22   1.3100A   1.3694   0.4034  -0.5198  0.050  0.00   0.000      0.  0.276E+00  0.886E-02  0.357E-03  0.228E-04   29  30  11   28  12  10   11  19  28    0.000    0.000       0
+  0    742 00:17:18.50   1.3200A   1.3655   0.3957  -0.5023  0.050  0.00   0.000      0.  0.276E+00  0.887E-02  0.365E-03  0.276E-04   29  30  14   28  13  12   10  19  28    0.000    0.000       0
+  0    747 00:17:25.12   1.3200A   1.3594   0.3791  -0.4956  0.050  0.00   0.000      0.  0.276E+00  0.890E-02  0.370E-03  0.299E-04   29  30  18   28  13  15    9  19  27    0.000    0.000       0
+  0    751 00:17:30.43   1.3300A   1.3510   0.3743  -0.4941  0.051  0.00   0.000      0.  0.277E+00  0.891E-02  0.374E-03  0.292E-04   29  30  21   28  15  17    8  19  27    0.000    0.000       0
+  0    756 00:17:37.11   1.3400A   1.3387   0.3948  -0.4645  0.051  0.00   0.000      0.  0.276E+00  0.890E-02  0.377E-03  0.283E-04   29  30  24   20  31  29    6  19  27    0.000    0.000       0
+  0    760 00:17:42.51   1.3500A   1.3350   0.3919  -0.4432  0.050  0.00   0.000      0.  0.276E+00  0.888E-02  0.377E-03  0.262E-04   36  21  28   20  31  29   17  28  29    0.000    0.000       0
+  0    765 00:17:49.21   1.3400A   1.3471  -0.3873  -0.4498  0.050  0.00   0.000      0.  0.276E+00  0.885E-02  0.371E-03  0.238E-04   36  21  32   20  31  28   16  28  29    0.000    0.000       0
+  0    769 00:17:54.54   1.3300A   1.3496  -0.4054  -0.4553  0.050  0.00   0.000      0.  0.276E+00  0.881E-02  0.368E-03  0.234E-04   36  21  35   20  31  28   16  15  29    0.000    0.000       0
+  0    774 00:18:01.21   1.3300A   1.3487  -0.4227  -0.5118  0.050  0.00   0.000      0.  0.275E+00  0.876E-02  0.365E-03  0.225E-04   36  21  39   19  10  29   17  14  29    0.000    0.000       0
+  0    778 00:18:06.57   1.3400A   1.3421  -0.3975  -0.5352  0.050  0.00   0.000      0.  0.275E+00  0.873E-02  0.366E-03  0.225E-04   36  21   2   19  10  29   17  13  29    0.000    0.000       0
+  0    783 00:18:13.26   1.3400A   1.3452  -0.3663  -0.5658  0.050  0.00   0.000      0.  0.275E+00  0.871E-02  0.364E-03  0.230E-04   32   9  32   23  17  26   16  13  29    0.000    0.000       0
+  0    787 00:18:18.59   1.3400A   1.3451  -0.3678  -0.5760  0.050  0.00   0.000      0.  0.276E+00  0.871E-02  0.363E-03  0.245E-04   32   9  36   23  17  27   15  13  29    0.000    0.000       0
+  0    792 00:18:25.31   1.3500A   1.3330  -0.3590  -0.5697  0.050  0.00   0.000      0.  0.276E+00  0.875E-02  0.372E-03  0.303E-04   34   8  11   24   2  34   14  13  29    0.000    0.000       0
+  0    796 00:18:30.68   1.3300A   1.3554  -0.3952  -0.5664  0.050  0.00   0.000      0.  0.277E+00  0.879E-02  0.373E-03  0.336E-04   31   9   2   24   2  36   13  13  29    0.000    0.000       0
+  0    801 00:18:37.25   1.3000A   1.3804  -0.4231  -0.5545  0.051  0.00   0.000      0.  0.277E+00  0.884E-02  0.368E-03  0.330E-04   31   9   6   24   1  38   12  13  29    0.000    0.000       0
+  0    805 00:18:42.45   1.3000A   1.3809  -0.4562  -0.5425  0.051  0.00   0.000      0.  0.277E+00  0.887E-02  0.367E-03  0.323E-04   31   9   9   24   1   0   11  13  29    0.000    0.000       0
+  0    810 00:18:48.95   1.3100A   1.3746  -0.4717  -0.5124  0.051  0.00   0.000      0.  0.278E+00  0.888E-02  0.370E-03  0.327E-04   31   9  13   24   1   2   10  13  29    0.000    0.000       0
+  0    814 00:18:54.24   1.3400A   1.3482  -0.4367  -0.5164  0.052  0.00   0.000      0.  0.278E+00  0.886E-02  0.374E-03  0.319E-04   35  24  26   24   1   4   18   4  29    0.000    0.000       0
+  0    819 00:19:00.91   1.3300A   1.3531   0.5023  -0.6542  0.052  0.00   0.000      0.  0.277E+00  0.881E-02  0.361E-03  0.277E-04   35  24  30   19   8  29   17   4  29    0.000    0.000       0
+  0    823 00:19:06.23   1.3300A   1.3574   0.4533  -0.6742  0.053  0.00   0.000      0.  0.277E+00  0.874E-02  0.353E-03  0.259E-04   35  24  33   18   8  29   16   4  29    0.000    0.000       0
+  0    828 00:19:12.85   1.3200A   1.3590  -0.3967  -0.6482  0.053  0.00   0.000      0.  0.277E+00  0.862E-02  0.341E-03  0.227E-04   35  24  37   24  39  10   14   5  29    0.000    0.000       0
+  0    832 00:19:18.14   1.3200A   1.3617  -0.3874  -0.6281  0.053  0.00   0.000      0.  0.276E+00  0.851E-02  0.334E-03  0.211E-04   35  24   0   24  39  12   13   5  29    0.000    0.000       0
+  0    837 00:19:24.75   1.3200A   1.3598  -0.3701  -0.6015  0.053  0.00   0.000      0.  0.276E+00  0.838E-02  0.326E-03  0.202E-04   35  24   4   22  39  12   13   2  29    0.000    0.000       0
+  0    841 00:19:30.03   1.3200A   1.3612  -0.3574  -0.5804  0.052  0.00   0.000      0.  0.275E+00  0.830E-02  0.323E-03  0.212E-04   35  24   7   22  39  14   12   2  29    0.000    0.000       0
+  0    846 00:19:36.64   1.3300A   1.3582  -0.3550  -0.5480  0.051  0.00   0.000      0.  0.275E+00  0.824E-02  0.326E-03  0.239E-04   35  24  10   25  36  22   11   2  29    0.000    0.000       0
+  0    851 00:19:43.26   1.3300A   1.3582  -0.3702  -0.5207  0.050  0.00   0.000      0.  0.275E+00  0.821E-02  0.331E-03  0.276E-04   35  24  14   22   1  18   11   1  29    0.000    0.000       0
+  0    855 00:19:48.56   1.3300A   1.3535  -0.3452  -0.5218  0.050  0.00   0.000      0.  0.275E+00  0.821E-02  0.335E-03  0.298E-04   35  24  17   22   1  20   13   2  29    0.000    0.000       0
+  0    860 00:19:55.21   1.3300A   1.3507  -0.3605  -0.5144  0.049  0.00   0.000      0.  0.276E+00  0.823E-02  0.340E-03  0.311E-04   35  24  21   26  35  30   11   2  29    0.000    0.000       0
+  0    864 00:20:00.54   1.3400A   1.3475  -0.3717  -0.4958  0.048  0.00   0.000      0.  0.276E+00  0.826E-02  0.342E-03  0.308E-04   35  24  25   26  34  32   10   2  29    0.000    0.000       0
+  0    869 00:20:07.22   1.3400A   1.3428  -0.3995  -0.4851  0.048  0.00   0.000      0.  0.276E+00  0.829E-02  0.336E-03  0.273E-04   35  24  29   27  35  35   10   1  29    0.000    0.000       0
+  0    873 00:20:12.58   1.3400A   1.3416  -0.3955  -0.4694  0.048  0.00   0.000      0.  0.276E+00  0.832E-02  0.328E-03  0.232E-04   35  24  32   27  35  37    9   1  29    0.000    0.000       0
+  0    878 00:20:19.30   1.3500A   1.3360  -0.4261  -0.4343  0.049  0.00   0.000      0.  0.277E+00  0.834E-02  0.324E-03  0.199E-04   35  24  36   27  33  39    9   1  29    0.000    0.000       0
+  0    882 00:20:24.66   1.3400A   1.3408  -0.4208  -0.4344  0.050  0.00   0.000      0.  0.277E+00  0.835E-02  0.320E-03  0.192E-04   38  16  37   27  32   1   18  31  29    0.000    0.000       0
+  0    886 00:20:30.02   1.3400A   1.3457  -0.4286  -0.4457  0.050  0.00   0.000      0.  0.277E+00  0.835E-02  0.321E-03  0.199E-04   38  16   0   27  32   3   17  31  29    0.000    0.000       0
+  0    891 00:20:36.70   1.3300A   1.3506  -0.4042  -0.4338  0.051  0.00   0.000      0.  0.276E+00  0.835E-02  0.321E-03  0.207E-04   38  16   4   27  32   6   17  30  29    0.000    0.000       0
+  0    895 00:20:42.02   1.3300A   1.3551  -0.3932  -0.4335  0.051  0.00   0.000      0.  0.276E+00  0.836E-02  0.324E-03  0.217E-04   38  16   7   27  31   9   16  30  29    0.000    0.000       0
+  0    900 00:20:48.66   1.3200A   1.3600  -0.3833  -0.4590  0.051  0.00   0.000      0.  0.276E+00  0.835E-02  0.321E-03  0.221E-04   38  16  11   27  31  12   17  16  29    0.000    0.000       0
+  0    905 00:20:55.27   1.3200A   1.3645  -0.3634  -0.4750  0.051  0.00   0.000      0.  0.276E+00  0.834E-02  0.322E-03  0.224E-04   38  16  15   26  29  13   16  16  29    0.000    0.000       0
+  0    909 00:21:00.55   1.3200A   1.3681  -0.3768  -0.4769  0.051  0.00   0.000      0.  0.276E+00  0.832E-02  0.321E-03  0.217E-04   38  16  18   26  29  15   15  16  29    0.000    0.000       0
+  0    914 00:21:07.13   1.3100A   1.3723  -0.3639  -0.4877  0.051  0.00   0.000      0.  0.276E+00  0.829E-02  0.318E-03  0.207E-04   38  16  22   26  29  19   17   9  29    0.000    0.000       0
+  0    918 00:21:12.38   1.3100A   1.3744   0.3729  -0.4920  0.051  0.00   0.000      0.  0.276E+00  0.826E-02  0.316E-03  0.201E-04   38  16  25   20  29  28   17   9  29    0.000    0.000       0
+  0    923 00:21:18.93   1.3100A   1.3752  -0.3683  -0.4791  0.050  0.00   0.000      0.  0.275E+00  0.822E-02  0.314E-03  0.199E-04   38  16  29   26  28  24   17   6  29    0.000    0.000       0
+  0    927 00:21:24.17   1.3100A   1.3735  -0.3697  -0.4834  0.050  0.00   0.000      0.  0.275E+00  0.819E-02  0.309E-03  0.193E-04   38  16  32   26  28  26   16   6  29    0.000    0.000       0
+  0    932 00:21:30.75   1.3200A   1.3675   0.3636  -0.4953  0.050  0.00   0.000      0.  0.275E+00  0.817E-02  0.308E-03  0.195E-04   38  16  36   20   7  28   17  26  29    0.000    0.000       0
+  0    936 00:21:36.03   1.3200A   1.3618   0.3339  -0.4738  0.049  0.00   0.000      0.  0.275E+00  0.816E-02  0.306E-03  0.194E-04   38  16  39   20   7  28   14   6  29    0.000    0.000       0
+  0    941 00:21:42.67   1.3300A   1.3571  -0.3153  -0.4624  0.049  0.00   0.000      0.  0.275E+00  0.816E-02  0.308E-03  0.207E-04   36  36   4   28  31  30   13   6  29    0.000    0.000       0
+  0    946 00:21:49.30   1.3200A   1.3596  -0.3147  -0.4515  0.049  0.00   0.000      0.  0.275E+00  0.818E-02  0.310E-03  0.236E-04   36  36   8   22  36  22   12   5  29    0.000    0.000       0
+  0    950 00:21:54.61   1.3300A   1.3581  -0.3099  -0.4464  0.049  0.00   0.000      0.  0.275E+00  0.820E-02  0.317E-03  0.260E-04   36  36  11   22  36  23   11   5  29    0.000    0.000       0
+  0    955 00:22:01.26   1.3300A   1.3533  -0.3703  -0.4337  0.049  0.00   0.000      0.  0.276E+00  0.822E-02  0.320E-03  0.268E-04   36  36  15   20   0  29   10   5  29    0.000    0.000       0
+  0    959 00:22:06.58   1.3300A   1.3559  -0.3857  -0.4150  0.049  0.00   0.000      0.  0.276E+00  0.824E-02  0.320E-03  0.255E-04   37  13  15   20   0  29   13  22  29    0.000    0.000       0
+  0    964 00:22:13.23   1.3300A   1.3575  -0.3717  -0.4303  0.049  0.00   0.000      0.  0.276E+00  0.823E-02  0.319E-03  0.230E-04   37  13  19   20  39  29   17   2  29    0.000    0.000       0
+  0    968 00:22:18.55   1.3300A   1.3520  -0.3402  -0.4664  0.049  0.00   0.000      0.  0.276E+00  0.822E-02  0.316E-03  0.211E-04   37  13  22   19  39  29   17   2  29    0.000    0.000       0
+  0    973 00:22:25.24   1.3400A   1.3417  -0.3143  -0.4870  0.049  0.00   0.000      0.  0.276E+00  0.819E-02  0.314E-03  0.198E-04   36  36  29   24   2   1   16   2  29    0.000    0.000       0
+  0    977 00:22:30.60   1.3400A   1.3424  -0.3107  -0.4758  0.049  0.00   0.000      0.  0.275E+00  0.816E-02  0.313E-03  0.196E-04   40  30  27   24   2   3   15   2  29    0.000    0.000       0
+  0    982 00:22:37.30   1.3400A   1.3447  -0.3229  -0.4546  0.049  0.00   0.000      0.  0.275E+00  0.811E-02  0.311E-03  0.191E-04   41  29  31   23  39   6   14   2  29    0.000    0.000       0
+  0    986 00:22:42.63   1.3300A   1.3544  -0.3303  -0.4373  0.050  0.00   0.000      0.  0.275E+00  0.807E-02  0.307E-03  0.184E-04   41  29  34   23  39   8   13   2  29    0.000    0.000       0
+  0    991 00:22:49.26   1.3200A   1.3637   0.3209  -0.4209  0.049  0.00   0.000      0.  0.275E+00  0.803E-02  0.304E-03  0.175E-04   41  29  38   22  14   8   13   3  29    0.000    0.000       0
+  0    995 00:22:54.53   1.3100A   1.3692   0.3414  -0.4130  0.049  0.00   0.000      0.  0.274E+00  0.800E-02  0.301E-03  0.170E-04   40  29   1   26  16  23   12   3  29    0.000    0.000       0
+  0   1000 00:23:01.08   1.3100A   1.3757   0.3303  -0.4029  0.049  0.00   0.000      0.  0.274E+00  0.797E-02  0.299E-03  0.168E-04   41  29   5   26  17  26   11   3  29    0.000    0.000       0
+  0   1004 00:23:06.32   1.3100A   1.3777  -0.3364  -0.3932  0.049  0.00   0.000      0.  0.274E+00  0.796E-02  0.298E-03  0.170E-04   40  29   8   22   4  15   11   4  29    0.000    0.000       0
+  0   1009 00:23:12.84   1.3000A   1.3807  -0.3421  -0.3837  0.048  0.00   0.000      0.  0.274E+00  0.796E-02  0.297E-03  0.182E-04   41  29  12   24   6  14   10   4  29    0.000    0.000       0
+  0   1013 00:23:18.05   1.3000A   1.3797  -0.3430  -0.3735  0.048  0.00   0.000      0.  0.274E+00  0.797E-02  0.297E-03  0.193E-04   40  29  15   24   5  16    9   4  29    0.000    0.000       0
+  0   1018 00:23:24.58   1.3100A   1.3790   0.3307  -0.3680  0.048  0.00   0.000      0.  0.274E+00  0.799E-02  0.301E-03  0.206E-04   41  29  19   26  19  37   16  20  29    0.000    0.000       0
+  0   1023 00:23:31.13   1.3100A   1.3755   0.3276  -0.3797  0.048  0.00   0.000      0.  0.275E+00  0.802E-02  0.301E-03  0.211E-04   41  29  23   26  19   0   16  20  29    0.000    0.000       0
+  0   1027 00:23:36.37   1.3100A   1.3734  -0.3289  -0.3804  0.048  0.00   0.000      0.  0.275E+00  0.804E-02  0.301E-03  0.210E-04   41  28  26   23  36  25   15  20  29    0.000    0.000       0
+  0   1032 00:23:42.91   1.3000A   1.3797  -0.4080  -0.3788  0.048  0.00   0.000      0.  0.275E+00  0.806E-02  0.302E-03  0.210E-04   41  28  30   20   1  29   15  20  29    0.000    0.000       0
+  0   1036 00:23:48.12   1.3000A   1.3838  -0.4560  -0.4728  0.048  0.00   0.000      0.  0.275E+00  0.805E-02  0.300E-03  0.195E-04   40  28  33   20   1  29   18   2  29    0.000    0.000       0
+  0   1041 00:23:54.62   1.3000A   1.3882  -0.4393  -0.5431  0.047  0.00   0.000      0.  0.275E+00  0.803E-02  0.299E-03  0.174E-04   41  28  37   20   0  29   18   4  29    0.000    0.000       0
+  0   1046 00:24:01.11   1.2900A   1.3909  -0.4127  -0.6017  0.047  0.00   0.000      0.  0.275E+00  0.800E-02  0.299E-03  0.175E-04   41  28   1   19   0  29   17   3  29    0.000    0.000       0
+  0   1050 00:24:06.29   1.2900A   1.3910  -0.3704  -0.5969  0.047  0.00   0.000      0.  0.275E+00  0.797E-02  0.300E-03  0.183E-04   41  28   4   18   0  29   16   3  29    0.000    0.000       0
+  0   1055 00:24:12.75   1.2900A   1.3922  -0.3374  -0.5804  0.048  0.00   0.000      0.  0.275E+00  0.794E-02  0.299E-03  0.186E-04   29   7   2   23  33  35   17   6  29    0.000    0.000       0
+  0   1060 00:24:19.22   1.3000A   1.3862  -0.3721  -0.5580  0.048  0.00   0.000      0.  0.275E+00  0.791E-02  0.299E-03  0.184E-04   29   7   5   23  33  37   15   6  29    0.000    0.000       0
+  0   1064 00:24:24.39   1.3000A   1.3796  -0.3531  -0.5257  0.048  0.00   0.000      0.  0.275E+00  0.790E-02  0.295E-03  0.178E-04   41  28  15   23  33  38   14   6  29    0.000    0.000       0
+  0   1069 00:24:30.91   1.3100A   1.3720  -0.2917  -0.5047  0.048  0.00   0.000      0.  0.275E+00  0.788E-02  0.296E-03  0.180E-04   29   7  12   23   4   8   14   7  29    0.000    0.000       0
+  0   1073 00:24:36.15   1.3100A   1.3736  -0.2951  -0.4896  0.048  0.00   0.000      0.  0.275E+00  0.787E-02  0.296E-03  0.184E-04   32   9  22   23  32   1   13   7  29    0.000    0.000       0
+  0   1078 00:24:42.70   1.3100A   1.3735  -0.2991  -0.4583  0.049  0.00   0.000      0.  0.275E+00  0.785E-02  0.296E-03  0.186E-04   32   9  26   24   4  34   12   7  29    0.000    0.000       0
+  0   1083 00:24:49.25   1.3100A   1.3696  -0.2854  -0.4247  0.049  0.00   0.000      0.  0.274E+00  0.781E-02  0.293E-03  0.177E-04   32   9  30   24   4  36   11   7  29    0.000    0.000       0
+  0   1087 00:24:54.50   1.3200A   1.3671  -0.2894  -0.4095  0.048  0.00   0.000      0.  0.274E+00  0.779E-02  0.293E-03  0.169E-04   32   9  33   22  14  38   11   8  29    0.000    0.000       0
+  0   1092 00:25:01.08   1.3200A   1.3678  -0.3009  -0.3909  0.048  0.00   0.000      0.  0.274E+00  0.775E-02  0.294E-03  0.170E-04   28   7  31   22  14   0   16   0  29    0.000    0.000       0
+  0   1096 00:25:06.36   1.3200A   1.3636   0.3017  -0.4085  0.048  0.00   0.000      0.  0.274E+00  0.772E-02  0.294E-03  0.169E-04   24   9  10   20  38  28   16   0  29    0.000    0.000       0
+  0   1101 00:25:12.98   1.3200A   1.3611  -0.2815  -0.4178  0.048  0.00   0.000      0.  0.274E+00  0.769E-02  0.290E-03  0.161E-04   27   7  36   23   1  23   16   0  29    0.000    0.000       0
+  0   1105 00:25:18.22   1.3100A   1.3717  -0.2926  -0.4195  0.047  0.00   0.000      0.  0.274E+00  0.767E-02  0.284E-03  0.156E-04   27   7  39   20   6  29   15   0  29    0.000    0.000       0
+  0   1110 00:25:24.75   1.3100A   1.3775  -0.3086  -0.4107  0.047  0.00   0.000      0.  0.274E+00  0.763E-02  0.279E-03  0.156E-04   27   7   3   23  37  22   14   0  29    0.000    0.000       0
+  0   1115 00:25:31.25   1.3000A   1.3817  -0.2974  -0.3966  0.047  0.00   0.000      0.  0.274E+00  0.760E-02  0.277E-03  0.164E-04   27   7   7   23  36  23   13   0  29    0.000    0.000       0
+  0   1119 00:25:36.46   1.3100A   1.3763  -0.3192  -0.3922  0.046  0.00   0.000      0.  0.274E+00  0.759E-02  0.280E-03  0.174E-04   27   7  10   26  28  12   12  39  29    0.000    0.000       0
+  0   1124 00:25:42.98   1.3100A   1.3762  -0.3403  -0.4017  0.046  0.00   0.000      0.  0.274E+00  0.757E-02  0.279E-03  0.178E-04   27   7  14   26  28  15   18  12  29    0.000    0.000       0
+  0   1128 00:25:48.25   1.3200A   1.3645  -0.3346  -0.4044  0.046  0.00   0.000      0.  0.274E+00  0.756E-02  0.281E-03  0.178E-04   36  39   7   26  28  17   17  12  29    0.000    0.000       0
+  0   1133 00:25:54.82   1.3100A   1.3699  -0.3411  -0.4024  0.045  0.00   0.000      0.  0.274E+00  0.756E-02  0.280E-03  0.188E-04   36  39  11   27  26  23   17  12  29    0.000    0.000       0
+  0   1137 00:26:00.07   1.3100A   1.3751  -0.3567  -0.3897  0.045  0.00   0.000      0.  0.274E+00  0.757E-02  0.281E-03  0.198E-04   36  39  14   27  26  25   16  12  29    0.000    0.000       0
+  0   1142 00:26:06.62   1.3100A   1.3764  -0.3487  -0.3726  0.046  0.00   0.000      0.  0.274E+00  0.757E-02  0.281E-03  0.195E-04   36  39  18   27  26  28   15  11  29    0.000    0.000       0
+  0   1147 00:26:13.15   1.3100A   1.3771  -0.3409  -0.3689  0.046  0.00   0.000      0.  0.274E+00  0.756E-02  0.281E-03  0.188E-04   36  39  22   27  25  31   14  11  29    0.000    0.000       0
+  0   1151 00:26:18.36   1.3000A   1.3812  -0.3672  -0.3707  0.046  0.00   0.000      0.  0.274E+00  0.754E-02  0.279E-03  0.179E-04   36  39  25   20  37  29   18   2  29    0.000    0.000       0
+  0   1156 00:26:24.88   1.3100A   1.3781  -0.3626  -0.4408  0.047  0.00   0.000      0.  0.274E+00  0.749E-02  0.280E-03  0.165E-04   36  39  29   19  37  29   18   2  29    0.000    0.000       0
+  0   1160 00:26:30.10   1.3100A   1.3774  -0.3590  -0.4776  0.047  0.00   0.000      0.  0.274E+00  0.743E-02  0.279E-03  0.160E-04   36  39  32   19  37  29   17   2  29    0.000    0.000       0
+  0   1165 00:26:36.65   1.3100A   1.3691  -0.3204  -0.4695  0.047  0.00   0.000      0.  0.274E+00  0.735E-02  0.277E-03  0.153E-04   36  39  36   24  39   6   16   2  29    0.000    0.000       0
+  0   1170 00:26:43.25   1.3200A   1.3591  -0.3357  -0.4710  0.047  0.00   0.000      0.  0.274E+00  0.727E-02  0.276E-03  0.148E-04   36  39   0   23   0   3   16   0  29    0.000    0.000       0
+  0   1174 00:26:48.57   1.3300A   1.3531  -0.3293  -0.4681  0.047  0.00   0.000      0.  0.274E+00  0.721E-02  0.275E-03  0.149E-04   36  39   3   23   0   5   15   0  29    0.000    0.000       0
+  0   1179 00:26:55.26   1.3400A   1.3454  -0.3318  -0.4528  0.046  0.00   0.000      0.  0.273E+00  0.715E-02  0.276E-03  0.149E-04   41  27  13   23  39   7   14   0  29    0.000    0.000       0
+  0   1183 00:27:00.59   1.3300A   1.3534  -0.3337  -0.4387  0.046  0.00   0.000      0.  0.273E+00  0.712E-02  0.275E-03  0.154E-04   27   8  21   23  39   8   13   0  29    0.000    0.000       0
+  0   1188 00:27:07.21   1.3200A   1.3612   0.3288  -0.4353  0.046  0.00   0.000      0.  0.273E+00  0.709E-02  0.274E-03  0.160E-04   27   8  25   22  14  15   16   7  29    0.000    0.000       0
+  0   1192 00:27:12.48   1.3200A   1.3636  -0.3312  -0.4244  0.045  0.00   0.000      0.  0.273E+00  0.709E-02  0.275E-03  0.170E-04   41  27  23   22  39  10   15   6  29    0.000    0.000       0
+  0   1197 00:27:19.07   1.3200A   1.3656  -0.3230  -0.4213  0.045  0.00   0.000      0.  0.273E+00  0.709E-02  0.277E-03  0.195E-04   27   8  31   25  36  24   15   6  29    0.000    0.000       0
+  0   1201 00:27:24.33   1.3200A   1.3670  -0.3270  -0.4268  0.045  0.00   0.000      0.  0.273E+00  0.710E-02  0.278E-03  0.208E-04   41  27  30   25  36  26   14   6  29    0.000    0.000       0
+  0   1206 00:27:30.88   1.3100A   1.3753   0.3243  -0.4250  0.045  0.00   0.000      0.  0.274E+00  0.713E-02  0.276E-03  0.208E-04   41  27  33   22  17  23   13   6  29    0.000    0.000       0
+  0   1210 00:27:36.12   1.3100A   1.3774   0.3746  -0.4141  0.045  0.00   0.000      0.  0.274E+00  0.714E-02  0.275E-03  0.204E-04   41  27  36   21  16  27   12   6  29    0.000    0.000       0
+  0   1215 00:27:42.67   1.3100A   1.3789   0.3599  -0.4697  0.045  0.00   0.000      0.  0.274E+00  0.715E-02  0.271E-03  0.191E-04   41  27   0   21  16  28   17  11  29    0.000    0.000       0
+  0   1220 00:27:49.18   1.3000A   1.3846   0.4156  -0.4742  0.045  0.00   0.000      0.  0.274E+00  0.715E-02  0.268E-03  0.173E-04   41  28   3   20  10  28   17  12  29    0.000    0.000       0
+  0   1224 00:27:54.34   1.2900A   1.3918   0.3565  -0.4811  0.046  0.00   0.000      0.  0.274E+00  0.714E-02  0.266E-03  0.175E-04   40  28   6   20  10  28   17  13  29    0.000    0.000       0
+  0   1229 00:28:00.78   1.2800A   1.4030   0.3523  -0.5002  0.046  0.00   0.000      0.  0.274E+00  0.713E-02  0.262E-03  0.166E-04   41  28  10   21  17  32   17  14  29    0.000    0.000       0
+  0   1234 00:28:07.18   1.2800A   1.4074   0.3355  -0.5060  0.046  0.00   0.000      0.  0.273E+00  0.712E-02  0.261E-03  0.171E-04   41  28  14   19  19  29   17  15  29    0.000    0.000       0
+  0   1238 00:28:12.30   1.2800A   1.4077   0.3022  -0.5036  0.046  0.00   0.000      0.  0.273E+00  0.710E-02  0.264E-03  0.188E-04   41  28  17   18  19  29   16  15  29    0.000    0.000       0
+  0   1243 00:28:18.70   1.2800A   1.4052  -0.2878  -0.4903  0.047  0.00   0.000      0.  0.273E+00  0.709E-02  0.263E-03  0.181E-04   41  28  21   20  23  29   15  15  29    0.000    0.000       0
+  0   1248 00:28:25.11   1.2900A   1.4002   0.2757  -0.4793  0.046  0.00   0.000      0.  0.274E+00  0.709E-02  0.262E-03  0.175E-04   41  28  25   22  15   6   15  16  29    0.000    0.000       0
+  0   1252 00:28:30.27   1.2900A   1.3981   0.2662  -0.4786  0.046  0.00   0.000      0.  0.274E+00  0.709E-02  0.262E-03  0.183E-04   41  28  28   21  25  27   14  16  29    0.000    0.000       0
+  0   1257 00:28:36.73   1.3000A   1.3890   0.2897  -0.4674  0.046  0.00   0.000      0.  0.274E+00  0.710E-02  0.266E-03  0.196E-04   41  28  32   21  25  28   13  16  29    0.000    0.000       0
+  0   1262 00:28:43.21   1.3000A   1.3845   0.3201  -0.4552  0.046  0.00   0.000      0.  0.274E+00  0.711E-02  0.266E-03  0.199E-04   40  28  35   20  25  28   12  16  29    0.000    0.000       0
+  0   1266 00:28:48.41   1.3000A   1.3832   0.3322  -0.4470  0.047  0.00   0.000      0.  0.274E+00  0.712E-02  0.268E-03  0.201E-04   41  36  35   20  25  29   12  15  29    0.000    0.000       0
+  0   1271 00:28:54.91   1.3000A   1.3871   0.3897  -0.4446  0.047  0.00   0.000      0.  0.274E+00  0.712E-02  0.270E-03  0.200E-04   41  36  39   20  26  29   18  17  29    0.000    0.000       0
+  0   1275 00:29:00.11   1.3000A   1.3874   0.3543  -0.5035  0.047  0.00   0.000      0.  0.274E+00  0.711E-02  0.269E-03  0.187E-04   41  36   2   20  27  29   17  17  29    0.000    0.000       0
+  0   1280 00:29:06.61   1.3000A   1.3875  -0.3338  -0.5238  0.047  0.00   0.000      0.  0.274E+00  0.709E-02  0.267E-03  0.171E-04   41  36   6   19  15  29   17  16  29    0.000    0.000       0
+  0   1285 00:29:13.11   1.3000A   1.3853  -0.3184  -0.5174  0.048  0.00   0.000      0.  0.274E+00  0.707E-02  0.264E-03  0.162E-04   41  36  10   19  14  29   16  16  29    0.000    0.000       0
+  0   1289 00:29:18.32   1.3000A   1.3805  -0.3230  -0.5018  0.048  0.00   0.000      0.  0.274E+00  0.705E-02  0.262E-03  0.165E-04   41  36  13   19  14  29   16  15  29    0.000    0.000       0
+  0   1294 00:29:24.86   1.3100A   1.3792  -0.3199  -0.4676  0.048  0.00   0.000      0.  0.274E+00  0.703E-02  0.261E-03  0.166E-04   41  35  17   18  14  29   15  15  29    0.000    0.000       0
+  0   1298 00:29:30.08   1.3100A   1.3790  -0.2963  -0.4418  0.048  0.00   0.000      0.  0.274E+00  0.701E-02  0.257E-03  0.159E-04   41  35  20   17  14  29   14  14  29    0.000    0.000       0
+  0   1303 00:29:36.60   1.3100A   1.3790  -0.2860  -0.4179  0.048  0.00   0.000      0.  0.274E+00  0.701E-02  0.254E-03  0.161E-04   41  35  24   21   9  24   13  20  29    0.000    0.000       0
+  0   1308 00:29:43.12   1.3100A   1.3767  -0.3089  -0.4021  0.047  0.00   0.000      0.  0.274E+00  0.702E-02  0.255E-03  0.170E-04   41  35  28   21   9  26   13  21  29    0.000    0.000       0
+  0   1312 00:29:48.36   1.3100A   1.3752  -0.3121  -0.4012  0.047  0.00   0.000      0.  0.273E+00  0.703E-02  0.258E-03  0.192E-04   41  35  32   20   8  26   13  21  29    0.000    0.000       0
+  0   1317 00:29:54.91   1.3100A   1.3691  -0.4332  -0.3979  0.047  0.00   0.000      0.  0.273E+00  0.706E-02  0.263E-03  0.210E-04   41  35  36   20   8  28   12  21  28    0.000    0.000       0
+  0   1321 00:30:00.17   1.3100A   1.3730  -0.3984  -0.4125  0.047  0.00   0.000      0.  0.274E+00  0.707E-02  0.263E-03  0.202E-04   41  34  38   20   8  28   17   7  29    0.000    0.000       0
+  0   1326 00:30:06.70   1.3000A   1.3826  -0.3761  -0.4603  0.047  0.00   0.000      0.  0.274E+00  0.709E-02  0.260E-03  0.190E-04   41  34   2   20   6  29   18  10  29    0.000    0.000       0
+  0   1331 00:30:13.20   1.3000A   1.3898  -0.3255  -0.5309  0.046  0.00   0.000      0.  0.274E+00  0.710E-02  0.265E-03  0.199E-04   41  34   6   19   5  29   17  10  29    0.000    0.000       0
+  0   1335 00:30:18.36   1.2900A   1.3909   0.3396  -0.5579  0.046  0.00   0.000      0.  0.274E+00  0.712E-02  0.265E-03  0.206E-04   41  34   9   20   8  28   17  10  29    0.000    0.000       0
+  0   1340 00:30:24.81   1.2900A   1.3912   0.3292  -0.5515  0.046  0.00   0.000      0.  0.274E+00  0.716E-02  0.264E-03  0.196E-04   41  34  13   20   9  28   16   9  29    0.000    0.000       0
+  0   1345 00:30:31.27   1.3000A   1.3869  -0.3695  -0.5365  0.046  0.00   0.000      0.  0.274E+00  0.719E-02  0.267E-03  0.202E-04   41  34  17   21  16  28   15   9  29    0.000    0.000       0
+  0   1349 00:30:36.47   1.3000A   1.3840   0.4136  -0.5227  0.047  0.00   0.000      0.  0.274E+00  0.722E-02  0.269E-03  0.203E-04   41   1  16   20  10  28   14   9  29    0.000    0.000       0
+  0   1354 00:30:42.97   1.3000A   1.3798   0.4206  -0.5071  0.047  0.00   0.000      0.  0.274E+00  0.726E-02  0.268E-03  0.196E-04   41   1  20   20  11  28   13   9  29    0.000    0.000       0
+  0   1358 00:30:48.21   1.3100A   1.3762   0.4435  -0.4934  0.047  0.00   0.000      0.  0.274E+00  0.728E-02  0.271E-03  0.194E-04   41   1  23   20  11  28   12   9  29    0.000    0.000       0
+  0   1363 00:30:54.75   1.3000A   1.3800   0.3940  -0.4743  0.048  0.00   0.000      0.  0.274E+00  0.730E-02  0.274E-03  0.198E-04   41  33  31   20  12  28   17   5  29    0.000    0.000       0
+  0   1368 00:31:01.26   1.3000A   1.3810  -0.4447  -0.4913  0.048  0.00   0.000      0.  0.274E+00  0.733E-02  0.281E-03  0.222E-04   40  33  35   21   9  28   16   5  29    0.000    0.000       0
+  0   1372 00:31:06.47   1.3100A   1.3784  -0.5425  -0.4930  0.048  0.00   0.000      0.  0.274E+00  0.735E-02  0.287E-03  0.233E-04   41  33  39   20   8  28   16   5  29    0.000    0.000       0
+  0   1377 00:31:12***   1.3100A   1.3766  -0.4442  -0.5344  0.048  0.00   0.000      0.  0.274E+00  0.735E-02  0.288E-03  0.218E-04   40  33   3   20   7  28   18  11  29    0.000    0.000       0
+  0   1381 00:31:18.24   1.3100A   1.3738  -0.5064  -0.6039  0.048  0.00   0.000      0.  0.274E+00  0.734E-02  0.289E-03  0.216E-04   40  33   6   20   7  29   17  10  29    0.000    0.000       0
+  0   1386 00:31:24.83   1.3200A   1.3650  -0.4852  -0.6139  0.049  0.00   0.000      0.  0.274E+00  0.731E-02  0.288E-03  0.209E-04   40  33  10   19   7  29   17   9  29    0.000    0.000       0
+  0   1390 00:31:30.11   1.3200A   1.3616  -0.4546  -0.5838  0.049  0.00   0.000      0.  0.274E+00  0.728E-02  0.284E-03  0.192E-04   37   5   5   19   6  29   16   9  29    0.000    0.000       0
+  0   1395 00:31:36.71   1.3200A   1.3658  -0.4243  -0.5719  0.049  0.00   0.000      0.  0.274E+00  0.723E-02  0.283E-03  0.191E-04   37   5   9   18   6  29   17  13  29    0.000    0.000       0
+  0   1400 00:31:43.31   1.3200A   1.3678  -0.3736  -0.6104  0.049  0.00   0.000      0.  0.274E+00  0.719E-02  0.282E-03  0.205E-04   37   5  13   17   6  29   17  13  29    0.000    0.000       0
+  0   1404 00:31:48.58   1.3200A   1.3677  -0.3371  -0.5985  0.049  0.00   0.000      0.  0.274E+00  0.717E-02  0.279E-03  0.211E-04   37   5  17   17   5  29   16  13  29    0.000    0.000       0
+  0   1409 00:31:55.18   1.3200A   1.3661   0.3016  -0.5731  0.049  0.00   0.000      0.  0.274E+00  0.715E-02  0.276E-03  0.208E-04   37   5  21   20   9  28   15  14  29    0.000    0.000       0
+  0   1413 00:32:00.46   1.3200A   1.3626   0.2850  -0.5502  0.048  0.00   0.000      0.  0.274E+00  0.714E-02  0.274E-03  0.193E-04   37   5  24   20  14  26   14  14  29    0.000    0.000       0
+  0   1418 00:32:07.06   1.3200A   1.3621   0.3432  -0.5197  0.048  0.00   0.000      0.  0.274E+00  0.713E-02  0.271E-03  0.180E-04   37   5  30   20  15  28   13  14  29    0.000    0.000       0
+  0   1422 00:32:12.34   1.3200A   1.3616   0.3630  -0.4993  0.049  0.00   0.000      0.  0.274E+00  0.713E-02  0.269E-03  0.178E-04   37   5  33   20  15  28   12  14  29    0.000    0.000       0
+  0   1427 00:32:18.94   1.3200A   1.3617   0.3490  -0.4754  0.049  0.00   0.000      0.  0.274E+00  0.714E-02  0.265E-03  0.170E-04   37   5  38   20  14  29   10  11  29    0.000    0.000       0
+  0   1431 00:32:24.22   1.3200A   1.3651   0.3413  -0.4604  0.049  0.00   0.000      0.  0.274E+00  0.715E-02  0.264E-03  0.175E-04   36   5  39   20  15  29   10  14  29    0.000    0.000       0
+  0   1436 00:32:30.81   1.3100A   1.3696   0.3518  -0.4298  0.049  0.00   0.000      0.  0.274E+00  0.716E-02  0.264E-03  0.186E-04   36   5   3   20  15  29    9  14  29    0.000    0.000       0
+  0   1440 00:32:36.05   1.3100A   1.3716   0.3217  -0.4089  0.049  0.00   0.000      0.  0.274E+00  0.717E-02  0.268E-03  0.193E-04   36   5   7   22  13  36    9  10  29    0.000    0.000       0
+  0   1445 00:32:42.60   1.3100A   1.3729   0.3403  -0.3956  0.049  0.00   0.000      0.  0.274E+00  0.718E-02  0.271E-03  0.195E-04   36   5  11   22  13  39   11  16  28    0.000    0.000       0
+  0   1450 00:32:49.15   1.3100A   1.3720   0.3289  -0.4387  0.050  0.00   0.000      0.  0.274E+00  0.717E-02  0.267E-03  0.183E-04   36   5  15   22  13   2   18   8  29    0.000    0.000       0
+  0   1454 00:32:54.39   1.3100A   1.3712   0.3111  -0.4526  0.050  0.00   0.000      0.  0.274E+00  0.717E-02  0.264E-03  0.178E-04   36   5  18   21  14  38   17   8  29    0.000    0.000       0
+  0   1459 00:33:00.97   1.3200A   1.3663   0.2980  -0.4505  0.049  0.00   0.000      0.  0.274E+00  0.716E-02  0.263E-03  0.182E-04   36   5  22   21  14   0   17   7  29    0.000    0.000       0
+  0   1463 00:33:06.22   1.3100A   1.3785  -0.2974  -0.4420  0.049  0.00   0.000      0.  0.274E+00  0.716E-02  0.259E-03  0.181E-04   35  14  32   20  14  28   16   7  29    0.000    0.000       0
+  0   1468 00:33:12.72   1.3000A   1.3878   0.3047  -0.4212  0.049  0.00   0.000      0.  0.274E+00  0.715E-02  0.256E-03  0.180E-04   35  14  36   22  13  12   15   7  29    0.000    0.000       0
+  0   1473 00:33:19.17   1.2900A   1.3945   0.3942  -0.4757  0.049  0.00   0.000      0.  0.274E+00  0.714E-02  0.256E-03  0.186E-04   35  14  39   20  27  29   18  25  29    0.000    0.000       0
+  0   1477 00:33:24.31   1.2900A   1.3955   0.3985  -0.5233  0.049  0.00   0.000      0.  0.274E+00  0.714E-02  0.260E-03  0.207E-04   35  14   2   19  27  29   17  25  29    0.000    0.000       0
+  0   1482 00:33:30.74   1.2900A   1.3971   0.3688  -0.5142  0.048  0.00   0.000      0.  0.274E+00  0.714E-02  0.264E-03  0.221E-04   35  14   6   19  28  29   16  25  29    0.000    0.000       0
+  0   1487 00:33:37.23   1.3000A   1.3844   0.3417  -0.4839  0.048  0.00   0.000      0.  0.274E+00  0.715E-02  0.268E-03  0.215E-04   35  14  10   22  14  20   15  25  29    0.000    0.000       0
+  0   1491 00:33:42.47   1.3100A   1.3689   0.3303  -0.4580  0.048  0.00   0.000      0.  0.274E+00  0.715E-02  0.269E-03  0.204E-04   35  14  13   22  14  22   14  25  29    0.000    0.000       0
+  0   1496 00:33:49.11   1.3300A   1.3548   0.3544  -0.4332  0.048  0.00   0.000      0.  0.274E+00  0.716E-02  0.270E-03  0.181E-04   39   2  11   22  14  27   13  25  29    0.000    0.000       0
+  0   1500 00:33:54.43   1.3300A   1.3493   0.3340  -0.4189  0.048  0.00   0.000      0.  0.274E+00  0.716E-02  0.266E-03  0.169E-04   39   2  15   22  14  28   12  25  29    0.000    0.000       0
+  0   1505 00:34:01.08   1.3300A   1.3518   0.3629  -0.4035  0.049  0.00   0.000      0.  0.274E+00  0.716E-02  0.264E-03  0.168E-04   36  18   6   21  13  26   18  12  29    0.000    0.000       0
+  0   1509 00:34:06.40   1.3300A   1.3576  -0.3807  -0.4457  0.049  0.00   0.000      0.  0.274E+00  0.715E-02  0.268E-03  0.182E-04   36  18   9   20   8  29   17  12  29    0.000    0.000       0
+  0   1514 00:34:13.02   1.3200A   1.3611  -0.4751  -0.6455  0.049  0.00   0.000      0.  0.274E+00  0.713E-02  0.270E-03  0.195E-04   36  18  13   19   8  29   18   9  29    0.000    0.000       0
+  0   1518 00:34:18.30   1.3200A   1.3639  -0.4651  -0.7244  0.049  0.00   0.000      0.  0.274E+00  0.711E-02  0.271E-03  0.209E-04   36  18  16   19   7  29   17  10  29    0.000    0.000       0
+  0   1523 00:34:24.90   1.3200A   1.3651  -0.4037  -0.7168  0.049  0.00   0.000      0.  0.274E+00  0.707E-02  0.272E-03  0.220E-04   36  18  20   18   7  29   16  10  29    0.000    0.000       0
+  0   1527 00:34:30.18   1.3200A   1.3650  -0.3586  -0.6671  0.049  0.00   0.000      0.  0.274E+00  0.705E-02  0.273E-03  0.215E-04   36  18  23   18   7  29   15  10  29    0.000    0.000       0
+  0   1532 00:34:36.78   1.3200A   1.3641   0.3431  -0.6064  0.049  0.00   0.000      0.  0.274E+00  0.702E-02  0.272E-03  0.204E-04   36  18  27   18  13  29   14  10  29    0.000    0.000       0
+  0   1536 00:34:42.06   1.3200A   1.3624   0.3338  -0.5626  0.049  0.00   0.000      0.  0.274E+00  0.701E-02  0.274E-03  0.205E-04   36  18  31   22  20   7   13  10  29    0.000    0.000       0
+  0   1541 00:34:48.66   1.3200A   1.3635   0.3458  -0.5162  0.049  0.00   0.000      0.  0.275E+00  0.699E-02  0.273E-03  0.199E-04   36  18  35   25  20  13   12  10  29    0.000    0.000       0
+  0   1546 00:34:55.26   1.3200A   1.3682   0.3679  -0.4791  0.049  0.00   0.000      0.  0.274E+00  0.698E-02  0.271E-03  0.179E-04   28  13   4   22  21  10   11  11  29    0.000    0.000       0
+  0   1550 00:35:00.53   1.3200A   1.3636   0.3506  -0.4578  0.049  0.00   0.000      0.  0.274E+00  0.698E-02  0.270E-03  0.167E-04   36  18   2   22  21  12   10  11  29    0.000    0.000       0
+  0   1555 00:35:07.12   1.3200A   1.3675   0.3639  -0.4336  0.049  0.00   0.000      0.  0.274E+00  0.698E-02  0.269E-03  0.160E-04   28  13  10   22  22  14   10  14  29    0.000    0.000       0
+  0   1559 00:35:12.40   1.3200A   1.3641   0.3740  -0.4131  0.049  0.00   0.000      0.  0.274E+00  0.698E-02  0.268E-03  0.154E-04   36  18  10   22  22  16    9  11  29    0.000    0.000       0
+  0   1564 00:35:18***   1.3200A   1.3626   0.3726  -0.3919  0.049  0.00   0.000      0.  0.274E+00  0.699E-02  0.265E-03  0.150E-04   36  18  14   22  23  17    8  11  29    0.000    0.000       0
+  0   1568 00:35:24.28   1.3200A   1.3634   0.3549  -0.3780  0.049  0.00   0.000      0.  0.274E+00  0.702E-02  0.265E-03  0.152E-04   35  18  16   22  16  15   18  30  29    0.000    0.000       0
+  0   1573 00:35:30.84   1.3000A   1.3798   0.3716  -0.3821  0.048  0.00   0.000      0.  0.273E+00  0.706E-02  0.265E-03  0.165E-04   35  18  20   22  24  20   17  29  29    0.000    0.000       0
+  0   1577 00:35:36.04   1.3000A   1.3890   0.3400  -0.3855  0.048  0.00   0.000      0.  0.273E+00  0.711E-02  0.269E-03  0.181E-04   35  18  23   22  24  21   17  31  29    0.000    0.000       0
+  0   1582 00:35:42.50   1.2900A   1.3995   0.3406  -0.3989  0.049  0.00   0.000      0.  0.274E+00  0.719E-02  0.273E-03  0.207E-04   35  18  27   22  15  24   17  31  29    0.000    0.000       0
+  0   1587 00:35:48.93   1.2800A   1.4044   0.3083  -0.3932  0.049  0.00   0.000      0.  0.274E+00  0.726E-02  0.275E-03  0.225E-04   35  18  31   22  25  24   16  31  29    0.000    0.000       0
+  0   1591 00:35:54.06   1.2800A   1.4071   0.3388  -0.3838  0.050  0.00   0.000      0.  0.274E+00  0.732E-02  0.278E-03  0.226E-04   35  18  34   20  33  29   16  31  29    0.000    0.000       0
+  0   1596 00:36:00.47   1.2800A   1.4048   0.3609  -0.3727  0.051  0.00   0.000      0.  0.274E+00  0.738E-02  0.279E-03  0.225E-04   35  18  38   20  33  29   15  31  29    0.000    0.000       0
+  0   1601 00:36:06.89   1.2900A   1.3971   0.3206  -0.3948  0.051  0.00   0.000      0.  0.274E+00  0.744E-02  0.279E-03  0.208E-04   35  18   2   20  33  29   17   2  29    0.000    0.000       0
+  0   1605 00:36:12.05   1.2900A   1.3918  -0.2960  -0.4156  0.052  0.00   0.000      0.  0.274E+00  0.748E-02  0.278E-03  0.187E-04   35  18   5   20  37  29   17   1  29    0.000    0.000       0
+  0   1610 00:36:18.54   1.3000A   1.3803  -0.3094  -0.4077  0.052  0.00   0.000      0.  0.274E+00  0.752E-02  0.279E-03  0.172E-04   35  18   8   20  37  29   16   0  29    0.000    0.000       0
+  0   1615 00:36:25.11   1.3200A   1.3662  -0.3057  -0.3936  0.053  0.00   0.000      0.  0.274E+00  0.755E-02  0.284E-03  0.174E-04   35  18  12   24  17  22   16   0  29    0.000    0.000       0
+  0   1619 00:36:30.43   1.3400A   1.3480   0.3989  -0.4131  0.053  0.00   0.000      0.  0.274E+00  0.758E-02  0.291E-03  0.180E-04   35  18  15   20  17  29   17  15  29    0.000    0.000       0
+  0   1624 00:36:37.06   1.3100A   1.3705   0.3845  -0.4719  0.053  0.00   0.000      0.  0.274E+00  0.760E-02  0.288E-03  0.191E-04   34  19  22   20  18  29   17  14  29    0.000    0.000       0
+  0   1628 00:36:42.27   1.3000A   1.3896   0.3835  -0.5189  0.054  0.00   0.000      0.  0.274E+00  0.761E-02  0.289E-03  0.198E-04   34  19  25   19  18  29   17  13  29    0.000    0.000       0
+  0   1633 00:36:48.73   1.2900A   1.3995  -0.3716  -0.5560  0.054  0.00   0.000      0.  0.274E+00  0.760E-02  0.288E-03  0.193E-04   34  19  28   19  11  29   17  13  29    0.000    0.000       0
+  0   1638 00:36:55.17   1.2900A   1.3920  -0.3302  -0.5588  0.053  0.00   0.000      0.  0.274E+00  0.760E-02  0.286E-03  0.181E-04   34  19  32   18  11  29   16  13  29    0.000    0.000       0
+  0   1642 00:37:00.37   1.3000A   1.3835  -0.3039  -0.5384  0.053  0.00   0.000      0.  0.274E+00  0.759E-02  0.288E-03  0.177E-04   33  20  33   18  10  29   15  13  29    0.000    0.000       0
+  0   1647 00:37:06.88   1.3000A   1.3863  -0.3048  -0.5033  0.052  0.00   0.000      0.  0.274E+00  0.758E-02  0.288E-03  0.168E-04   33  20  37   24  17   2   14  13  29    0.000    0.000       0
+  0   1651 00:37:12.11   1.3100A   1.3776  -0.3047  -0.4763  0.051  0.00   0.000      0.  0.274E+00  0.759E-02  0.294E-03  0.174E-04   33  20   0   24  17   4   13  13  29    0.000    0.000       0
+  0   1656 00:37:18.70   1.3200A   1.3604   0.3448  -0.4475  0.051  0.00   0.000      0.  0.274E+00  0.760E-02  0.304E-03  0.204E-04   33  20   4   20  14  26   12  13  29    0.000    0.000       0
+  0   1660 00:37:24.02   1.3300A   1.3517   0.3805  -0.4267  0.050  0.00   0.000      0.  0.274E+00  0.762E-02  0.307E-03  0.211E-04   34  19  10   20  14  28   11  13  29    0.000    0.000       0
+  0   1665 00:37:30.67   1.3300A   1.3493   0.4044  -0.4015  0.050  0.00   0.000      0.  0.274E+00  0.762E-02  0.306E-03  0.194E-04   34   9  14   20  35  28   11  12  29    0.000    0.000       0
+  0   1669 00:37:35***   1.3300A   1.3511   0.3960  -0.3871  0.050  0.00   0.000      0.  0.274E+00  0.762E-02  0.306E-03  0.186E-04   34   9  17   20  14  29   10  12  29    0.000    0.000       0
+  0   1674 00:37:42.66   1.3300A   1.3498   0.3592  -0.3927  0.050  0.00   0.000      0.  0.274E+00  0.761E-02  0.306E-03  0.178E-04   34   9  21   20  35  29   18  11  29    0.000    0.000       0
+  0   1678 00:37:48.02   1.3400A   1.3475  -0.3755  -0.4326  0.049  0.00   0.000      0.  0.274E+00  0.761E-02  0.308E-03  0.181E-04   34   9  24   20  12  28   17  11  29    0.000    0.000       0
+  0   1683 00:37:54.68   1.3300A   1.3513  -0.4298  -0.4513  0.049  0.00   0.000      0.  0.274E+00  0.760E-02  0.306E-03  0.195E-04   41  31  10   20  12  29   16  11  29    0.000    0.000       0
+  0   1688 00:38:01.31   1.3200A   1.3601  -0.3770  -0.4590  0.049  0.00   0.000      0.  0.274E+00  0.760E-02  0.306E-03  0.228E-04   35  18  26   20  12  29   16  11  29    0.000    0.000       0
+  0   1692 00:38:06.59   1.3200A   1.3686  -0.3390  -0.4683  0.049  0.00   0.000      0.  0.274E+00  0.760E-02  0.307E-03  0.246E-04   35  18  29   20   8  29   15  11  29    0.000    0.000       0
+  0   1697 00:38:13.14   1.3100A   1.3780  -0.3751  -0.4636  0.049  0.00   0.000      0.  0.274E+00  0.760E-02  0.303E-03  0.233E-04   35  18  33   19   8  29   17  14  29    0.000    0.000       0
+  0   1701 00:38:18.35   1.3000A   1.3806   0.3551  -0.4652  0.049  0.00   0.000      0.  0.274E+00  0.759E-02  0.297E-03  0.217E-04   35  18  36   21  36  27   16  14  29    0.000    0.000       0
+  0   1706 00:38:24.87   1.3000A   1.3832  -0.3452  -0.4612  0.050  0.00   0.000      0.  0.275E+00  0.758E-02  0.293E-03  0.205E-04   35  18  39   18   7  29   16  15  29    0.000    0.000       0
+  0   1710 00:38:30.08   1.3000A   1.3831   0.3483  -0.4512  0.050  0.00   0.000      0.  0.275E+00  0.756E-02  0.289E-03  0.203E-04   35  18   2   28   0  33   15  15  29    0.000    0.000       0
+  0   1715 00:38:36.60   1.3000A   1.3796   0.3682  -0.4635  0.051  0.00   0.000      0.  0.275E+00  0.754E-02  0.288E-03  0.216E-04   35  18   6   28   0  36   18  34  29    0.000    0.000       0
+  0   1720 00:38:43.15   1.3100A   1.3776   0.3874  -0.5076  0.051  0.00   0.000      0.  0.275E+00  0.751E-02  0.289E-03  0.227E-04   35  19   9   28   1  38   17  35  29    0.000    0.000       0
+  0   1724 00:38:48.37   1.3100A   1.3790   0.3798  -0.4989  0.051  0.00   0.000      0.  0.275E+00  0.748E-02  0.285E-03  0.214E-04   35  19  12   28   1   1   17  35  29    0.000    0.000       0
+  0   1729 00:38:54.89   1.3100A   1.3770   0.3674  -0.4680  0.051  0.00   0.000      0.  0.275E+00  0.745E-02  0.279E-03  0.190E-04   35  19  16   28   1   4   17  33  29    0.000    0.000       0
+  0   1733 00:39:00.12   1.3000A   1.3802  -0.3583  -0.4760  0.051  0.00   0.000      0.  0.275E+00  0.743E-02  0.275E-03  0.179E-04   40  30   8   20  22  28   16  33  29    0.000    0.000       0
+  0   1738 00:39:06.62   1.3000A   1.3867  -0.3562  -0.4602  0.051  0.00   0.000      0.  0.275E+00  0.739E-02  0.274E-03  0.177E-04   40  30  12   20  22  28   15  33  29    0.000    0.000       0
+  0   1743 00:39:13.10   1.3000A   1.3884   0.3233  -0.4427  0.050  0.00   0.000      0.  0.275E+00  0.735E-02  0.273E-03  0.167E-04   35  19  28   29   2  10   18  26  29    0.000    0.000       0
+  0   1747 00:39:18.26   1.2900A   1.3909   0.3324  -0.4629  0.050  0.00   0.000      0.  0.275E+00  0.731E-02  0.270E-03  0.163E-04   35  19  32   29   2  13   17  26  29    0.000    0.000       0
+  0   1752 00:39:24.71   1.2900A   1.3904   0.3236  -0.4946  0.050  0.00   0.000      0.  0.274E+00  0.726E-02  0.267E-03  0.157E-04   35  19  35   26  39  38   17  25  29    0.000    0.000       0
+  0   1757 00:39:31.19   1.3000A   1.3881   0.3113  -0.5186  0.049  0.00   0.000      0.  0.274E+00  0.723E-02  0.266E-03  0.153E-04   35  19  39   26  39   1   17  23  29    0.000    0.000       0
+  0   1761 00:39:36.40   1.3000A   1.3803   0.3063  -0.5339  0.049  0.00   0.000      0.  0.274E+00  0.721E-02  0.265E-03  0.158E-04   35  19   2   29   3  21   17  23  29    0.000    0.000       0
+  0   1766 00:39:42.91   1.3000A   1.3828  -0.3069  -0.5170  0.048  0.00   0.000      0.  0.273E+00  0.722E-02  0.266E-03  0.177E-04   41  29  33   23   9   0   16  23  29    0.000    0.000       0
+  0   1770 00:39:48.12   1.3000A   1.3808  -0.3206  -0.5038  0.048  0.00   0.000      0.  0.273E+00  0.724E-02  0.270E-03  0.201E-04   40  29  36   23   9   2   15  24  29    0.000    0.000       0
+  0   1775 00:39:54.65   1.3100A   1.3756  -0.3029  -0.4962  0.047  0.00   0.000      0.  0.274E+00  0.729E-02  0.281E-03  0.245E-04   40  29   0   23   9   4   14  24  29    0.000    0.000       0
+  0   1780 00:40:01.23   1.3200A   1.3645  -0.2952  -0.4866  0.046  0.00   0.000      0.  0.274E+00  0.734E-02  0.292E-03  0.280E-04   40  29   4   21  10  29   13  24  29    0.000    0.000       0
+  0   1784 00:40:06.53   1.3200A   1.3586  -0.4534  -0.4780  0.046  0.00   0.000      0.  0.274E+00  0.738E-02  0.300E-03  0.289E-04   34   9   2   20  10  29   12  24  29    0.000    0.000       0
+  0   1789 00:40:13.13   1.3200A   1.3661  -0.4468  -0.5089  0.046  0.00   0.000      0.  0.275E+00  0.741E-02  0.306E-03  0.291E-04   34   9   6   19   9  29   17  11  29    0.000    0.000       0
+  0   1793 00:40:18.41   1.3200A   1.3687  -0.4662  -0.5797  0.046  0.00   0.000      0.  0.275E+00  0.743E-02  0.309E-03  0.287E-04   34   9   9   20   9  29   17  11  29    0.000    0.000       0
+  0   1798 00:40:24.97   1.3100A   1.3699  -0.4198  -0.6102  0.047  0.00   0.000      0.  0.275E+00  0.744E-02  0.306E-03  0.263E-04   34   9  13   19   9  29   16  11  29    0.000    0.000       0
+  0   1802 00:40:30.23   1.3200A   1.3668  -0.3678  -0.6064  0.047  0.00   0.000      0.  0.275E+00  0.744E-02  0.304E-03  0.243E-04   34   9  16   19   9  29   15  11  29    0.000    0.000       0
+  0   1807 00:40:36.83   1.3200A   1.3609  -0.3406  -0.5796  0.048  0.00   0.000      0.  0.276E+00  0.744E-02  0.299E-03  0.201E-04   34   9  20   17   8  29   14  11  29    0.000    0.000       0
+  0   1811 00:40:42.11   1.3200A   1.3606  -0.3491  -0.5494  0.048  0.00   0.000      0.  0.276E+00  0.742E-02  0.295E-03  0.178E-04   33  11  22   20  25  28   13  11  29    0.000    0.000       0
+  0   1816 00:40:48.72   1.3200A   1.3603   0.3399  -0.5079  0.049  0.00   0.000      0.  0.275E+00  0.740E-02  0.293E-03  0.169E-04   35   3   4   24  18   8   12  11  29    0.000    0.000       0
+  0   1820 00:40:54.01   1.3200A   1.3613   0.3337  -0.4782  0.049  0.00   0.000      0.  0.275E+00  0.737E-02  0.292E-03  0.178E-04   35   3   7   25  18  14   11  11  29    0.000    0.000       0
+  0   1825 00:41:00.58   1.3100A   1.3695  -0.3791  -0.4516  0.049  0.00   0.000      0.  0.275E+00  0.733E-02  0.285E-03  0.163E-04   33  39  35   20  22  28   18  35  29    0.000    0.000       0
+  0   1830 00:41:07.07   1.2900A   1.3916  -0.3871  -0.4499  0.049  0.00   0.000      0.  0.274E+00  0.730E-02  0.280E-03  0.173E-04   33  39  39   23  16  27   17  36  29    0.000    0.000       0
+  0   1834 00:41:12.22   1.2800A   1.4019  -0.4002  -0.4343  0.049  0.00   0.000      0.  0.274E+00  0.728E-02  0.280E-03  0.194E-04   33  39   2   23  15  28   17  36  29    0.000    0.000       0
+  0   1839 00:41:18.63   1.2800A   1.4089   0.3734  -0.4324  0.049  0.00   0.000      0.  0.274E+00  0.727E-02  0.279E-03  0.195E-04   33  39   6   26  18  29   18  13  29    0.000    0.000       0
+  0   1844 00:41:25.04   1.2900A   1.3977  -0.3559  -0.4539  0.049  0.00   0.000      0.  0.275E+00  0.726E-02  0.277E-03  0.172E-04   33  39   9   23  13  32   17  13  29    0.000    0.000       0
+  0   1848 00:41:30.17   1.2900A   1.3963  -0.3408  -0.4386  0.049  0.00   0.000      0.  0.275E+00  0.726E-02  0.275E-03  0.162E-04   33  39  12   23  13  34   16  13  29    0.000    0.000       0
+  0   1853 00:41:36.60   1.2900A   1.3976   0.3497  -0.4173  0.049  0.00   0.000      0.  0.275E+00  0.727E-02  0.274E-03  0.165E-04   33  39  16   26  19  38   15  13  29    0.000    0.000       0
+  0   1858 00:41:43.06   1.2900A   1.3937   0.3194  -0.4146  0.049  0.00   0.000      0.  0.275E+00  0.728E-02  0.276E-03  0.175E-04   33  39  20   26  19   1   13  17  29    0.000    0.000       0
+  0   1862 00:41:48.25   1.3000A   1.3896  -0.3426  -0.4767  0.049  0.00   0.000      0.  0.275E+00  0.729E-02  0.280E-03  0.180E-04   33  39  23   20  20  29   18  23  29    0.000    0.000       0
+  0   1867 00:41:54.75   1.3000A   1.3819   0.4090  -0.5388  0.049  0.00   0.000      0.  0.275E+00  0.729E-02  0.284E-03  0.192E-04   33  39  27   20  10  29   18  23  29    0.000    0.000       0
+  0   1872 00:42:01.31   1.3200A   1.3655   0.3916  -0.5369  0.049  0.00   0.000      0.  0.275E+00  0.726E-02  0.291E-03  0.198E-04   33  39  31   20  10  29   17  23  29    0.000    0.000       0
+  0   1876 00:42:06.59   1.3200A   1.3666   0.3851  -0.5642  0.049  0.00   0.000      0.  0.275E+00  0.722E-02  0.290E-03  0.190E-04   32   0  33   20  11  29   17  24  29    0.000    0.000       0
+  0   1881 00:42:13.16   1.3100A   1.3780   0.3010  -0.5549  0.049  0.00   0.000      0.  0.275E+00  0.717E-02  0.281E-03  0.167E-04   32  39  37   18  10  29   16  24  29    0.000    0.000       0
+  0   1885 00:42:18.36   1.3000A   1.3896  -0.2827  -0.5327  0.049  0.00   0.000      0.  0.275E+00  0.713E-02  0.276E-03  0.164E-04   32  39   0   24  12  19   15  24  29    0.000    0.000       0
+  0   1890 00:42:24.82   1.2900A   1.3909   0.2871  -0.5070  0.049  0.00   0.000      0.  0.275E+00  0.708E-02  0.270E-03  0.175E-04   32  39   3   23  19  37   15  25  29    0.000    0.000       0
+  0   1895 00:42:31.25   1.2800A   1.4011   0.3152  -0.4943  0.049  0.00   0.000      0.  0.275E+00  0.703E-02  0.267E-03  0.179E-04   32  39   7   22  18  36   13  25  29    0.000    0.000       0
+  0   1899 00:42:36.40   1.2900A   1.3985   0.3114  -0.4826  0.049  0.00   0.000      0.  0.275E+00  0.700E-02  0.271E-03  0.190E-04   32  39  10   22  19  37   12  25  29    0.000    0.000       0
+  0   1904 00:42:42.86   1.2900A   1.3929   0.3034  -0.4676  0.049  0.00   0.000      0.  0.275E+00  0.697E-02  0.272E-03  0.193E-04   32  39  14   22  19  39   11  25  29    0.000    0.000       0
+  0   1908 00:42:48.06   1.3000A   1.3818   0.3120  -0.4562  0.049  0.00   0.000      0.  0.275E+00  0.694E-02  0.272E-03  0.184E-04   32  39  17   22  19   1   11  25  29    0.000    0.000       0
+  0   1913 00:42:54.61   1.3000A   1.3842   0.2916  -0.4388  0.049  0.00   0.000      0.  0.275E+00  0.690E-02  0.269E-03  0.173E-04   31   1  33   22  18   3   10  25  29    0.000    0.000       0
+  0   1918 00:43:01.08   1.3000A   1.3858   0.3037  -0.4158  0.049  0.00   0.000      0.  0.275E+00  0.686E-02  0.268E-03  0.165E-04   31   1  37   23  19   8    9  25  29    0.000    0.000       0
+  0   1922 00:43:06.21   1.2800A   1.4010   0.3015  -0.4069  0.049  0.00   0.000      0.  0.275E+00  0.682E-02  0.262E-03  0.154E-04   31   1  39   23  19  10   17  12  29    0.000    0.000       0
+  0   1927 00:43:12.62   1.2800A   1.4101   0.3122  -0.4088  0.048  0.00   0.000      0.  0.274E+00  0.677E-02  0.259E-03  0.141E-04   31   1   3   22  19  10   17  12  29    0.000    0.000       0
+  0   1932 00:43:19.03   1.2900A   1.4007   0.3243  -0.3974  0.048  0.00   0.000      0.  0.274E+00  0.673E-02  0.259E-03  0.137E-04   31   1   6   22  20  13   16  12  29    0.000    0.000       0
+  0   1936 00:43:24.13   1.2700A   1.4122   0.3505  -0.3813  0.048  0.00   0.000      0.  0.274E+00  0.670E-02  0.258E-03  0.143E-04   31   1   9   22  20  14   15  12  29    0.000    0.000       0
+  0   1941 00:43:30.53   1.2900A   1.3992   0.3211  -0.3763  0.047  0.00   0.000      0.  0.274E+00  0.667E-02  0.262E-03  0.149E-04   31   1  13   22  21  16   14  14  29    0.000    0.000       0
+  0   1946 00:43:36.92   1.2700A   1.4140   0.3113  -0.3787  0.047  0.00   0.000      0.  0.274E+00  0.665E-02  0.259E-03  0.155E-04   32  38   5   22  22  18   17  31  29    0.000    0.000       0
+  0   1950 00:43:42.01   1.2700A   1.4223   0.2948  -0.3722  0.047  0.00   0.000      0.  0.274E+00  0.664E-02  0.259E-03  0.167E-04   32  38   8   23  17  20   13  14  29    0.000    0.000       0
+  0   1955 00:43:48.33   1.2600A   1.4234   0.3651  -0.3702  0.047  0.00   0.000      0.  0.274E+00  0.664E-02  0.258E-03  0.171E-04   32  38  12   20  11  29   12  14  29    0.000    0.000       0
+  0   1960 00:43:54.72   1.2900A   1.3975   0.3001  -0.3590  0.047  0.00   0.000      0.  0.274E+00  0.664E-02  0.264E-03  0.175E-04   32  38  15   19  11  29   12  14  29    0.000    0.000       0
+  0   1965 00:44:01.19   1.3000A   1.3796  -0.3126  -0.3562  0.047  0.00   0.000      0.  0.275E+00  0.664E-02  0.267E-03  0.180E-04   32  38  19   21  11  26   12  10  29    0.000    0.000       0
+  0   1969 00:44:06.41   1.3100A   1.3781  -0.3849  -0.3537  0.047  0.00   0.000      0.  0.275E+00  0.665E-02  0.271E-03  0.193E-04   41  30  13   21  12  28   12  10  29    0.000    0.000       0
+  0   1974 00:44:12.91   1.3000A   1.3815  -0.3902  -0.3751  0.047  0.00   0.000      0.  0.275E+00  0.665E-02  0.269E-03  0.194E-04   40  30  16   20  12  28   16   9  29    0.000    0.000       0
+  0   1978 00:44:18.11   1.3000A   1.3810  -0.3377  -0.3795  0.047  0.00   0.000      0.  0.275E+00  0.665E-02  0.270E-03  0.195E-04   41  30  20   20  10  28   15   9  29    0.000    0.000       0
+  0   1983 00:44:24.62   1.3000A   1.3807  -0.4204  -0.5153  0.047  0.00   0.000      0.  0.275E+00  0.664E-02  0.270E-03  0.189E-04   41  30  23   20  10  29   18  13  29    0.000    0.000       0
+  0   1988 00:44:31.16   1.3100A   1.3776  -0.4217  -0.6297  0.047  0.00   0.000      0.  0.275E+00  0.661E-02  0.270E-03  0.177E-04   31  37  36   19  10  29   17  12  29    0.000    0.000       0
+  0   1992 00:44:36.37   1.3000A   1.3857  -0.3949  -0.6394  0.047  0.00   0.000      0.  0.275E+00  0.658E-02  0.266E-03  0.163E-04   31  37  39   18  10  29   16  12  29    0.000    0.000       0
+  0   1997 00:44:42.87   1.3000A   1.3797  -0.3496  -0.6019  0.047  0.00   0.000      0.  0.275E+00  0.655E-02  0.261E-03  0.144E-04   31  37   3   17  10  29   15  12  29    0.000    0.000       0
+  0   2001 00:44:48.08   1.3100A   1.3759  -0.3095  -0.5578  0.047  0.00   0.000      0.  0.275E+00  0.652E-02  0.260E-03  0.138E-04   31  37   6   17  10  29   15  14  29    0.000    0.000       0
+  0   2006 00:44:54.64   1.3200A   1.3651   0.2710  -0.5204  0.047  0.00   0.000      0.  0.275E+00  0.649E-02  0.260E-03  0.144E-04   31  37  10   25   0  20   14  14  29    0.000    0.000       0
+  0   2011 00:45:01.22   1.3100A   1.3754   0.2858  -0.4850  0.046  0.00   0.000      0.  0.275E+00  0.647E-02  0.257E-03  0.158E-04   34   0  12   25   0  23   13  14  29    0.000    0.000       0
+  0   2015 00:45:06.43   1.2900A   1.3911   0.2784  -0.4618  0.046  0.00   0.000      0.  0.275E+00  0.646E-02  0.253E-03  0.166E-04   30  37  16   25   0  25   13  16  29    0.000    0.000       0
+  0   2020 00:45:12.86   1.2800A   1.4011  -0.2744  -0.4373  0.046  0.00   0.000      0.  0.275E+00  0.646E-02  0.251E-03  0.167E-04   30  37  20   22  20  24   13  17  29    0.000    0.000       0
+  0   2024 00:45:17***   1.2900A   1.3977  -0.2765  -0.4320  0.046  0.00   0.000      0.  0.275E+00  0.645E-02  0.252E-03  0.167E-04   30  37  23   22  19  24   12  17  29    0.000    0.000       0
+  0   2029 00:45:24.45   1.2900A   1.3969  -0.2879  -0.4154  0.046  0.00   0.000      0.  0.275E+00  0.644E-02  0.249E-03  0.158E-04   34   0  24   24  16  10   11  17  29    0.000    0.000       0
+  0   2034 00:45:30.94   1.3000A   1.3835  -0.2796  -0.3915  0.046  0.00   0.000      0.  0.274E+00  0.643E-02  0.249E-03  0.149E-04   34   0  27   24  16  13   12  18  29    0.000    0.000       0
+  0   2038 00:45:36.17   1.3100A   1.3759  -0.2744  -0.3946  0.046  0.00   0.000      0.  0.274E+00  0.643E-02  0.250E-03  0.147E-04   34   0  30   24  16  15   11  18  29    0.000    0.000       0
+  0   2043 00:45:42.74   1.3100A   1.3714  -0.2803  -0.3884  0.046  0.00   0.000      0.  0.274E+00  0.644E-02  0.249E-03  0.140E-04   39  25  36   24  16  17   10  17  28    0.000    0.000       0
+  0   2047 00:45:47***   1.3200A   1.3632  -0.2597  -0.3819  0.046  0.00   0.000      0.  0.274E+00  0.645E-02  0.250E-03  0.139E-04   39  25  39   24  15  18   10  17  28    0.000    0.000       0
+  0   2052 00:45:54.55   1.3100A   1.3787  -0.2553  -0.3778  0.046  0.00   0.000      0.  0.274E+00  0.648E-02  0.251E-03  0.151E-04   39  25   2   24  15  21    9  17  28    0.000    0.000       0
+  0   2057 00:46:01.09   1.3100A   1.3739  -0.2427  -0.3736  0.046  0.00   0.000      0.  0.274E+00  0.652E-02  0.255E-03  0.172E-04   32  39   6   23  38  16    9  18  28    0.000    0.000       0
+  0   2061 00:46:06.30   1.3000A   1.3837  -0.2561  -0.3663  0.046  0.00   0.000      0.  0.274E+00  0.656E-02  0.256E-03  0.183E-04   32  39   9   24  36  22    8  18  28    0.000    0.000       0
+  0   2066 00:46:12.80   1.3000A   1.3834  -0.2645  -0.3490  0.047  0.00   0.000      0.  0.274E+00  0.661E-02  0.258E-03  0.189E-04   41  25  10   22  14  26    8  18  28    0.000    0.000       0
+  0   2070 00:46:18.01   1.3000A   1.3858   0.3132  -0.3726  0.047  0.00   0.000      0.  0.275E+00  0.665E-02  0.258E-03  0.192E-04   41  25  13   20  15  29   17  30  29    0.000    0.000       0
+  0   2075 00:46:24.53   1.3100A   1.3789  -0.3155  -0.3686  0.048  0.00   0.000      0.  0.275E+00  0.669E-02  0.260E-03  0.188E-04   39  25  19   21   7  28   17  30  29    0.000    0.000       0
+  0   2080 00:46:31.07   1.3100A   1.3712  -0.3692  -0.3664  0.048  0.00   0.000      0.  0.275E+00  0.673E-02  0.259E-03  0.174E-04   39  25  23   20   7  28   16  30  29    0.000    0.000       0
+  0   2084 00:46:36.31   1.3100A   1.3709  -0.3724  -0.3904  0.048  0.00   0.000      0.  0.275E+00  0.676E-02  0.258E-03  0.160E-04   41   2  13   20   7  28   17  13  29    0.000    0.000       0
+  0   2089 00:46:42.86   1.3100A   1.3740  -0.3293  -0.4210  0.049  0.00   0.000      0.  0.275E+00  0.679E-02  0.260E-03  0.173E-04   41   2  17   20   6  28   17  13  29    0.000    0.000       0
+  0   2093 00:46:48.10   1.3100A   1.3748  -0.3095  -0.4241  0.049  0.00   0.000      0.  0.275E+00  0.681E-02  0.262E-03  0.180E-04   41   2  20   24  11   4   16  13  29    0.000    0.000       0
+  0   2098 00:46:54.65   1.3100A   1.3751  -0.3251  -0.4080  0.049  0.00   0.000      0.  0.275E+00  0.683E-02  0.262E-03  0.171E-04   41   2  24   23  13   2   18   9  29    0.000    0.000       0
+  0   2103 00:47:01.20   1.3100A   1.3747  -0.3131  -0.4321  0.049  0.00   0.000      0.  0.275E+00  0.683E-02  0.259E-03  0.158E-04   41   2  28   25  11  10   18  16  29    0.000    0.000       0
+  0   2107 00:47:06.44   1.3100A   1.3729   0.3199  -0.4268  0.049  0.00   0.000      0.  0.274E+00  0.682E-02  0.257E-03  0.151E-04   41   2  32   19  18  29   17  16  29    0.000    0.000       0
+  0   2112 00:47:12.99   1.3100A   1.3720   0.3065  -0.4093  0.049  0.00   0.000      0.  0.274E+00  0.680E-02  0.255E-03  0.143E-04   41   2  36   18  18  29   16  10  29    0.000    0.000       0
+  0   2116 00:47:18.22   1.3000A   1.3802  -0.2787  -0.3930  0.049  0.00   0.000      0.  0.274E+00  0.680E-02  0.250E-03  0.129E-04   39  26   9   22  13  10   15  10  29    0.000    0.000       0
+  0   2121 00:47:24.74   1.3000A   1.3832   0.2703  -0.3798  0.048  0.00   0.000      0.  0.273E+00  0.680E-02  0.250E-03  0.132E-04   40  20  19   24  23  15   14  11  28    0.000    0.000       0
+  0   2126 00:47:31.24   1.3000A   1.3879  -0.3001  -0.3729  0.047  0.00   0.000      0.  0.273E+00  0.683E-02  0.255E-03  0.166E-04   40  20  23   21  17  28   13  11  28    0.000    0.000       0
+  0   2130 00:47:36.43   1.2900A   1.3903  -0.3306  -0.3677  0.047  0.00   0.000      0.  0.274E+00  0.687E-02  0.258E-03  0.190E-04   40  20  26   21  21  26   14  19  29    0.000    0.000       0
+  0   2135 00:47:42.92   1.3000A   1.3888  -0.3831  -0.3643  0.046  0.00   0.000      0.  0.274E+00  0.693E-02  0.267E-03  0.220E-04   40  20  30   21  20  28   15  12  29    0.000    0.000       0
+  0   2139 00:47:48.12   1.3000A   1.3869  -0.4089  -0.3748  0.046  0.00   0.000      0.  0.274E+00  0.698E-02  0.273E-03  0.245E-04   40  20  33   20  17  29   14  12  28    0.000    0.000       0
+  0   2144 00:47:54.62   1.3000A   1.3840  -0.4120   0.3849  0.046  0.00   0.000      0.  0.274E+00  0.704E-02  0.280E-03  0.262E-04   40  19  36   20  17  29   20  15  29    0.000    0.000       0
+  0   2149 00:48:01.08   1.2900A   1.3954   0.4201  -0.4304  0.047  0.00   0.000      0.  0.275E+00  0.709E-02  0.277E-03  0.244E-04   40  19   0   22  24  28   18  21  29    0.000    0.000       0
+  0   2153 00:48:06.24   1.2900A   1.3992   0.4199  -0.4670  0.047  0.00   0.000      0.  0.275E+00  0.712E-02  0.274E-03  0.218E-04   40  19   3   21  24  28   18  22  29    0.000    0.000       0
+  0   2158 00:48:12.64   1.2800A   1.4056   0.4362  -0.5508  0.047  0.00   0.000      0.  0.275E+00  0.713E-02  0.270E-03  0.186E-04   40  19   7   20  20  28   17  23  29    0.000    0.000       0
+  0   2163 00:48:19.04   1.2800A   1.4086   0.4275  -0.5911  0.047  0.00   0.000      0.  0.275E+00  0.713E-02  0.269E-03  0.186E-04   40  19  11   20  21  28   17  23  29    0.000    0.000       0
+  0   2167 00:48:24.16   1.2800A   1.4063   0.4117  -0.5903  0.047  0.00   0.000      0.  0.275E+00  0.712E-02  0.268E-03  0.181E-04   40  19  14   20  22  28   16  23  29    0.000    0.000       0
+  0   2172 00:48:30.56   1.2800A   1.4079   0.3323  -0.5506  0.048  0.00   0.000      0.  0.275E+00  0.711E-02  0.265E-03  0.175E-04   39  19  17   20  22  28   15  23  29    0.000    0.000       0
+  0   2177 00:48:36.95   1.2800A   1.4072   0.3419  -0.5065  0.048  0.00   0.000      0.  0.274E+00  0.710E-02  0.263E-03  0.170E-04   39  19  21   20  23  28   14  23  29    0.000    0.000       0
+  0   2181 00:48:42.07   1.2800A   1.4061   0.3251  -0.4770  0.048  0.00   0.000      0.  0.274E+00  0.709E-02  0.259E-03  0.163E-04   39  19  25   22  38   7   13  23  29    0.000    0.000       0
+  0   2186 00:48:48.48   1.2900A   1.3999   0.3197  -0.4433  0.048  0.00   0.000      0.  0.274E+00  0.708E-02  0.258E-03  0.157E-04   39  19  29   22  38   9   12  23  29    0.000    0.000       0
+  0   2191 00:48:54.93   1.2900A   1.3912   0.2955  -0.4154  0.047  0.00   0.000      0.  0.274E+00  0.709E-02  0.258E-03  0.160E-04   39  19  33   22  38  10   13  26  29    0.000    0.000       0
+  0   2195 00:49:00.13   1.3000A   1.3823   0.2813  -0.4069  0.047  0.00   0.000      0.  0.274E+00  0.710E-02  0.260E-03  0.170E-04   39  19  36   20  25  28   16  29  29    0.000    0.000       0
+  0   2200 00:49:06.67   1.3100A   1.3691   0.2822  -0.4030  0.047  0.00   0.000      0.  0.274E+00  0.712E-02  0.265E-03  0.185E-04   39  19   0   22  26   8   15  29  29    0.000    0.000       0
+  0   2205 00:49:13.27   1.3200A   1.3669  -0.3062  -0.3937  0.047  0.00   0.000      0.  0.274E+00  0.714E-02  0.268E-03  0.171E-04   40   8  24   21  32  28   15  29  29    0.000    0.000       0
+  0   2209 00:49:18.54   1.3100A   1.3707  -0.3218  -0.3929  0.047  0.00   0.000      0.  0.274E+00  0.716E-02  0.268E-03  0.166E-04   41  32  20   22  33  32   16  17  29    0.000    0.000       0
+  0   2214 00:49:25.09   1.3100A   1.3757   0.3568  -0.3943  0.047  0.00   0.000      0.  0.274E+00  0.717E-02  0.273E-03  0.183E-04   41  32  24   21  39  31   18  36  29    0.000    0.000       0
+  0   2218 00:49:30.31   1.3000A   1.3796   0.3303  -0.3887  0.047  0.00   0.000      0.  0.274E+00  0.719E-02  0.276E-03  0.208E-04   41  32  27   21  39  33   15  17  29    0.000    0.000       0
+  0   2223 00:49:36.82   1.3000A   1.3824   0.3414  -0.3830  0.047  0.00   0.000      0.  0.274E+00  0.721E-02  0.280E-03  0.216E-04   40  32  30   22   0  38   14  17  29    0.000    0.000       0
+  0   2227 00:49:42.02   1.3000A   1.3856   0.3569  -0.3861  0.047  0.00   0.000      0.  0.274E+00  0.722E-02  0.279E-03  0.207E-04   40  32  33   23   1   0   17  35  29    0.000    0.000       0
+  0   2232 00:49:48.50   1.2900A   1.3925   0.3548  -0.3821  0.047  0.00   0.000      0.  0.274E+00  0.724E-02  0.275E-03  0.190E-04   40  32  37   23   1   2   17  35  29    0.000    0.000       0
+  0   2237 00:49:54.95   1.2900A   1.3970  -0.3315  -0.3825  0.047  0.00   0.000      0.  0.274E+00  0.727E-02  0.271E-03  0.169E-04   41  32   1   20  39  28   16  35  29    0.000    0.000       0
+  0   2241 00:50:00.11   1.2900A   1.3998  -0.3354  -0.3820  0.047  0.00   0.000      0.  0.274E+00  0.728E-02  0.271E-03  0.169E-04   41  32   4   20  37  28   16  33  29    0.000    0.000       0
+  0   2246 00:50:06.54   1.2900A   1.3992  -0.3239  -0.3961  0.047  0.00   0.000      0.  0.274E+00  0.730E-02  0.271E-03  0.169E-04   41  32   8   20  37  28   16  33  29    0.000    0.000       0
+  0   2251 00:50:12.97   1.2900A   1.4005  -0.3154  -0.4083  0.047  0.00   0.000      0.  0.274E+00  0.731E-02  0.271E-03  0.164E-04   40  32  11   22  37  38   18   5  29    0.000    0.000       0
+  0   2255 00:50:18.11   1.2900A   1.4005  -0.3128  -0.4068  0.047  0.00   0.000      0.  0.274E+00  0.732E-02  0.271E-03  0.163E-04   40  32  14   22  37   0   18   6  29    0.000    0.000       0
+  0   2260 00:50:24.55   1.2900A   1.3987  -0.3096  -0.4104  0.047  0.00   0.000      0.  0.274E+00  0.732E-02  0.271E-03  0.156E-04   41  32  18   22  31  25   17   3  29    0.000    0.000       0
+  0   2265 00:50:31.00   1.2900A   1.3962  -0.3367  -0.4308  0.047  0.00   0.000      0.  0.274E+00  0.733E-02  0.275E-03  0.166E-04   40  31  20   22  31  27   17   3  29    0.000    0.000       0
+  0   2269 00:50:36.16   1.2900A   1.3979  -0.3276  -0.4244  0.047  0.00   0.000      0.  0.274E+00  0.733E-02  0.276E-03  0.175E-04   40  31  23   22  31  29   16   3  29    0.000    0.000       0
+  0   2274 00:50:42.61   1.2900A   1.3983   0.3359  -0.4114  0.047  0.00   0.000      0.  0.274E+00  0.734E-02  0.274E-03  0.169E-04   40  31  27   20  22  28   16   3  29    0.000    0.000       0
+  0   2279 00:50:49.06   1.2900A   1.3901   0.3247  -0.4018  0.048  0.00   0.000      0.  0.274E+00  0.735E-02  0.277E-03  0.184E-04   40  31  31   20  23  28   15   3  29    0.000    0.000       0
+  0   2283 00:50:54.24   1.3000A   1.3854  -0.2927  -0.3936  0.048  0.00   0.000      0.  0.274E+00  0.736E-02  0.282E-03  0.196E-04   39  31   0   22  15  31   14   3  29    0.000    0.000       0
+  0   2288 00:51:00.74   1.3000A   1.3820  -0.3204  -0.3897  0.048  0.00   0.000      0.  0.274E+00  0.737E-02  0.284E-03  0.189E-04   41  32   2   23  37  16   17  17  29    0.000    0.000       0
+  0   2293 00:51:07.24   1.3000A   1.3824  -0.3194  -0.3842  0.049  0.00   0.000      0.  0.274E+00  0.737E-02  0.281E-03  0.164E-04   41  32   6   23  37  18   17  17  29    0.000    0.000       0
+  0   2297 00:51:12.44   1.3000A   1.3793   0.3443  -0.3819  0.049  0.00   0.000      0.  0.274E+00  0.736E-02  0.280E-03  0.156E-04   41  32   9   28  27  29   17  14  29    0.000    0.000       0
+  0   2302 00:51:18.93   1.3000A   1.3896   0.3520  -0.3719  0.049  0.00   0.000      0.  0.274E+00  0.736E-02  0.283E-03  0.174E-04   38  32  11   28  27  32   15  28  29    0.000    0.000       0
+  0   2306 00:51:24.09   1.2900A   1.3900   0.3402  -0.3658  0.049  0.00   0.000      0.  0.274E+00  0.736E-02  0.282E-03  0.168E-04   38  32  15   28  27  34   14  28  29    0.000    0.000       0
+  0   2311 00:51:30.54   1.2900A   1.3924   0.3658  -0.3813  0.049  0.00   0.000      0.  0.274E+00  0.737E-02  0.281E-03  0.150E-04   38  32  18   28  28  37   18   9  29    0.000    0.000       0
+  0   2316 00:51:37.00   1.3000A   1.3890   0.3556  -0.4332  0.049  0.00   0.000      0.  0.273E+00  0.737E-02  0.285E-03  0.148E-04   38  32  22   28  28   0   18   8  29    0.000    0.000       0
+  0   2320 00:51:42.16   1.2900A   1.3913  -0.3632  -0.4455  0.049  0.00   0.000      0.  0.273E+00  0.737E-02  0.284E-03  0.159E-04   38  32  26   23  11  14   17   8  29    0.000    0.000       0
+  0   2325 00:51:48.64   1.2900A   1.3951  -0.3731  -0.4300  0.049  0.00   0.000      0.  0.273E+00  0.738E-02  0.284E-03  0.155E-04   38  32  30   23  11  16   17   8  29    0.000    0.000       0
+  0   2330 00:51:55.08   1.2800A   1.4010  -0.3490  -0.4242  0.048  0.00   0.000      0.  0.273E+00  0.739E-02  0.281E-03  0.156E-04   38  32  34   23  11  18   16   7  29    0.000    0.000       0
+  0   2334 00:52:00.22   1.2800A   1.4026  -0.3479  -0.4087  0.048  0.00   0.000      0.  0.272E+00  0.742E-02  0.280E-03  0.150E-04   38  32  37   23  10  19   15   9  29    0.000    0.000       0
+  0   2339 00:52:06.65   1.2800A   1.4080   0.3405  -0.3926  0.048  0.00   0.000      0.  0.272E+00  0.746E-02  0.283E-03  0.159E-04   38  31   0   27  29  13   14   9  29    0.000    0.000       0
+  0   2344 00:52:13.05   1.2900A   1.4008   0.3572  -0.3766  0.048  0.00   0.000      0.  0.272E+00  0.751E-02  0.292E-03  0.176E-04   38  31   4   27  29  15   14   9  29    0.000    0.000       0
+  0   2348 00:52:18.17   1.2900A   1.3991  -0.3569  -0.3752  0.048  0.00   0.000      0.  0.272E+00  0.756E-02  0.294E-03  0.172E-04   38  31   6   23  29  16   13   9  29    0.000    0.000       0
+  0   2353 00:52:24.58   1.2800A   1.4052  -0.3596  -0.3660  0.048  0.00   0.000      0.  0.273E+00  0.763E-02  0.299E-03  0.186E-04   38  31  10   23  28  19   12   9  29    0.000    0.000       0
+  0   2358 00:52:31.02   1.2900A   1.3963  -0.3616  -0.3834  0.048  0.00   0.000      0.  0.273E+00  0.771E-02  0.314E-03  0.232E-04   38  31  14   23  28  21   21  30  26    0.000    0.000       0
+  0   2362 00:52:36.22   1.3000A   1.3834  -0.3372  -0.4019  0.049  0.00   0.000      0.  0.273E+00  0.778E-02  0.321E-03  0.251E-04   38  31  17   23  27  23   20  28  28    0.000    0.000       0
+  0   2367 00:52:42.77   1.3100A   1.3738  -0.4021  -0.5000  0.050  0.00   0.000      0.  0.273E+00  0.785E-02  0.329E-03  0.267E-04   37  32  20   20  27  29   18  28  29    0.000    0.000       0
+  0   2371 00:52:48.01   1.3100A   1.3719   0.4148  -0.5472  0.050  0.00   0.000      0.  0.273E+00  0.790E-02  0.333E-03  0.278E-04   37  32  23   20  31  29   18  28  29    0.000    0.000       0
+  0   2376 00:52:54.59   1.3200A   1.3644   0.4187  -0.5471  0.051  0.00   0.000      0.  0.274E+00  0.793E-02  0.333E-03  0.258E-04   37  32  27   19  32  29   17  29  29    0.000    0.000       0
+  0   2381 00:53:01.08   1.2900A   1.3986   0.4415  -0.5144  0.052  0.00   0.000      0.  0.274E+00  0.794E-02  0.323E-03  0.224E-04   37  31  30   19  32  29   16  29  29    0.000    0.000       0
+  0   2385 00:53:06.20   1.2700A   1.4147   0.4085  -0.5463  0.053  0.00   0.000      0.  0.274E+00  0.792E-02  0.317E-03  0.205E-04   37  31  33   18  32  29   18  22  29    0.000    0.000       0
+  0   2390 00:53:12.59   1.2800A   1.4016  -0.3618  -0.5716  0.053  0.00   0.000      0.  0.273E+00  0.788E-02  0.314E-03  0.189E-04   37  31  37   21  27  26   17  22  29    0.000    0.000       0
+  0   2395 00:53:19.08   1.3100A   1.3755   0.3481  -0.5667  0.053  0.00   0.000      0.  0.273E+00  0.781E-02  0.317E-03  0.181E-04   37  31   0   25  38  17   17  23  29    0.000    0.000       0
+  0   2399 00:53:24.38   1.3300A   1.3554  -0.3743  -0.5987  0.053  0.00   0.000      0.  0.272E+00  0.776E-02  0.320E-03  0.176E-04   30  11  31   20  28  28   17  24  29    0.000    0.000       0
+  0   2404 00:53:30.99   1.3200A   1.3664  -0.4320  -0.5891  0.052  0.00   0.000      0.  0.272E+00  0.770E-02  0.314E-03  0.168E-04   30  11  34   20  28  28   16  24  29    0.000    0.000       0
+  0   2408 00:53:36.26   1.3200A   1.3669  -0.3845  -0.5656  0.051  0.00   0.000      0.  0.272E+00  0.766E-02  0.312E-03  0.173E-04   30  11  37   22  26   9   15  24  29    0.000    0.000       0
+  0   2413 00:53:42.86   1.3200A   1.3622  -0.3522  -0.5290  0.050  0.00   0.000      0.  0.272E+00  0.764E-02  0.310E-03  0.186E-04   30  11   1   22  25  10   15  25  29    0.000    0.000       0
+  0   2417 00:53:48.17   1.3300A   1.3571  -0.3344  -0.5058  0.050  0.00   0.000      0.  0.272E+00  0.764E-02  0.313E-03  0.211E-04   30  11   4   22  26  12   14  25  29    0.000    0.000       0
+  0   2422 00:53:54.75   1.3100A   1.3690  -0.3435  -0.4825  0.049  0.00   0.000      0.  0.272E+00  0.766E-02  0.313E-03  0.259E-04   30  10   8   20  10  29   12  25  29    0.000    0.000       0
+  0   2427 00:54:01.28   1.3000A   1.3848  -0.4013  -0.4559  0.048  0.00   0.000      0.  0.272E+00  0.771E-02  0.317E-03  0.287E-04   30  10  12   20  10  29   11  25  29    0.000    0.000       0
+  0   2431 00:54:06.48   1.3000A   1.3872  -0.4149  -0.4753  0.048  0.00   0.000      0.  0.272E+00  0.774E-02  0.314E-03  0.267E-04   30  10  15   19  10  29   17  12  29    0.000    0.000       0
+  0   2436 00:54:12.99   1.3100A   1.3788  -0.4154  -0.5178  0.048  0.00   0.000      0.  0.273E+00  0.776E-02  0.314E-03  0.235E-04   30  10  18   20  31  29   16  12  29    0.000    0.000       0
+  0   2440 00:54:18.20   1.3100A   1.3769   0.4048  -0.5562  0.049  0.00   0.000      0.  0.273E+00  0.775E-02  0.315E-03  0.224E-04   30  10  21   19  17  29   17  14  29    0.000    0.000       0
+  0   2445 00:54:24.73   1.3100A   1.3751   0.4213  -0.5908  0.049  0.00   0.000      0.  0.273E+00  0.773E-02  0.314E-03  0.212E-04   30  10  25   19  17  29   16  14  29    0.000    0.000       0
+  0   2450 00:54:31.26   1.3100A   1.3748   0.3629  -0.5691  0.050  0.00   0.000      0.  0.273E+00  0.769E-02  0.310E-03  0.198E-04   29  16  14   18  17  29   15  14  29    0.000    0.000       0
+  0   2454 00:54:36.45   1.3000A   1.3854   0.3459  -0.5439  0.050  0.00   0.000      0.  0.273E+00  0.766E-02  0.304E-03  0.187E-04   27  17  19   19  18  29   14  14  29    0.000    0.000       0
+  0   2459 00:54:42.91   1.2900A   1.3907   0.3062  -0.5117  0.050  0.00   0.000      0.  0.273E+00  0.762E-02  0.297E-03  0.178E-04   27  17  23   18  18  29   13  14  29    0.000    0.000       0
+  0   2463 00:54:48.13   1.3100A   1.3691   0.2918  -0.4893  0.050  0.00   0.000      0.  0.272E+00  0.759E-02  0.299E-03  0.175E-04   33   3  26   27  25   7   12  14  29    0.000    0.000       0
+  0   2468 00:54:54.73   1.3200A   1.3594  -0.3056  -0.4677  0.051  0.00   0.000      0.  0.272E+00  0.756E-02  0.301E-03  0.183E-04   33   3  29   22  30  12   11  15  29    0.000    0.000       0
+  0   2472 00:55:00.04   1.3300A   1.3537  -0.3174  -0.4549  0.051  0.00   0.000      0.  0.272E+00  0.755E-02  0.305E-03  0.189E-04   28  16  31   22  30  14   11  15  29    0.000    0.000       0
+  0   2477 00:55:06.70   1.3300A   1.3484  -0.3024  -0.4360  0.051  0.00   0.000      0.  0.272E+00  0.754E-02  0.306E-03  0.193E-04   28  16  35   22  30  16   10  15  29    0.000    0.000       0
+  0   2481 00:55:12.06   1.3400A   1.3440  -0.2946  -0.4215  0.051  0.00   0.000      0.  0.272E+00  0.754E-02  0.309E-03  0.193E-04   41  11   7   22  34  26   10  15  29    0.000    0.000       0
+  0   2486 00:55:18.75   1.3300A   1.3513  -0.3231  -0.4229  0.051  0.00   0.000      0.  0.272E+00  0.755E-02  0.309E-03  0.201E-04   39  19   6   23  38  28   10   7  28    0.000    0.000       0
+  0   2490 00:55:24.07   1.3300A   1.3519  -0.3121  -0.4265  0.051  0.00   0.000      0.  0.272E+00  0.757E-02  0.310E-03  0.201E-04   39  19   9   22  26  24   11   8  28    0.000    0.000       0
+  0   2495 00:55:30.72   1.3300A   1.3495  -0.3103  -0.4290  0.050  0.00   0.000      0.  0.272E+00  0.759E-02  0.312E-03  0.197E-04   32   8  36   20   1  29   17  20  29    0.000    0.000       0
+  0   2499 00:55:36.07   1.3400A   1.3480  -0.3978  -0.4258  0.050  0.00   0.000      0.  0.272E+00  0.760E-02  0.318E-03  0.211E-04   32   8  39   20   0  29   18   2  29    0.000    0.000       0
+  0   2504 00:55:42.73   1.3200A   1.3646  -0.3879  -0.4662  0.051  0.00   0.000      0.  0.272E+00  0.761E-02  0.316E-03  0.217E-04   26  17  17   20   0  29   17   2  29    0.000    0.000       0
+  0   2508 00:55:48.00   1.3100A   1.3758   0.3524  -0.4784  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.312E-03  0.220E-04   26  17  20   20  33  28   17   2  29    0.000    0.000       0
+  0   2513 00:55:54.58   1.3200A   1.3621  -0.3466  -0.4652  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.308E-03  0.211E-04   26  17  23   22  37   2   16   1  29    0.000    0.000       0
+  0   2518 00:56:01.20   1.3300A   1.3506   0.3436  -0.4469  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.305E-03  0.194E-04   35  14  10   20  39  28   15   1  29    0.000    0.000       0
+  0   2522 00:56:06.52   1.3300A   1.3508   0.3518  -0.5175  0.051  0.00   0.000      0.  0.272E+00  0.763E-02  0.303E-03  0.188E-04   35  14  13   20  39  28   17  30  29    0.000    0.000       0
+  0   2527 00:56:13.17   1.3300A   1.3523   0.3179  -0.5391  0.051  0.00   0.000      0.  0.272E+00  0.765E-02  0.301E-03  0.185E-04   35  13  17   22  17   7   16  30  29    0.000    0.000       0
+  0   2531 00:56:18.49   1.3300A   1.3538  -0.3299  -0.5270  0.051  0.00   0.000      0.  0.272E+00  0.767E-02  0.301E-03  0.193E-04   35  13  20   29  23   1   16  30  29    0.000    0.000       0
+  0   2536 00:56:25.12   1.3200A   1.3650  -0.3170  -0.5099  0.051  0.00   0.000      0.  0.272E+00  0.771E-02  0.301E-03  0.220E-04   41  30  15   29  23   4   15  30  29    0.000    0.000       0
+  0   2540 00:56:30.37   1.3100A   1.3788   0.3399  -0.4975  0.051  0.00   0.000      0.  0.272E+00  0.775E-02  0.301E-03  0.235E-04   41  30  18   22  21  18   14  30  29    0.000    0.000       0
+  0   2545 00:56:36.89   1.3000A   1.3857   0.3673  -0.4718  0.051  0.00   0.000      0.  0.272E+00  0.780E-02  0.300E-03  0.241E-04   41  30  22   22  21  20   13  30  29    0.000    0.000       0
+  0   2549 00:56:42.07   1.3000A   1.3884   0.3810  -0.4451  0.051  0.00   0.000      0.  0.272E+00  0.783E-02  0.298E-03  0.225E-04   41  30  25   22  21  21   12  30  29    0.000    0.000       0
+  0   2554 00:56:48.54   1.3000A   1.3882   0.3353  -0.4459  0.051  0.00   0.000      0.  0.272E+00  0.785E-02  0.294E-03  0.191E-04   32  13   0   22  20  21   18  32  29    0.000    0.000       0
+  0   2559 00:56:54.99   1.2900A   1.3928   0.3252  -0.4604  0.051  0.00   0.000      0.  0.272E+00  0.786E-02  0.290E-03  0.182E-04   32  13   3   22  22  25   17  32  29    0.000    0.000       0
+  0   2563 00:57:00.15   1.2900A   1.3903  -0.3719  -0.4631  0.051  0.00   0.000      0.  0.272E+00  0.786E-02  0.289E-03  0.187E-04   32  13   6   21  37  28   16  33  29    0.000    0.000       0
+  0   2568 00:57:06.62   1.3000A   1.3890  -0.3863  -0.4604  0.051  0.00   0.000      0.  0.272E+00  0.786E-02  0.290E-03  0.188E-04   32  13  10   20  36  28   15  33  29    0.000    0.000       0
+  0   2573 00:57:13.10   1.3000A   1.3848  -0.4201  -0.4832  0.052  0.00   0.000      0.  0.272E+00  0.786E-02  0.289E-03  0.195E-04   32  13  14   20  35  28   17   4  29    0.000    0.000       0
+  0   2577 00:57:18.31   1.3100A   1.3765  -0.3474  -0.4839  0.052  0.00   0.000      0.  0.272E+00  0.786E-02  0.292E-03  0.202E-04   32  13  17   20  32  29   17   4  29    0.000    0.000       0
+  0   2582 00:57:24.87   1.3200A   1.3688   0.3215  -0.4674  0.052  0.00   0.000      0.  0.272E+00  0.786E-02  0.294E-03  0.193E-04   32  13  21   20  31  28   16   4  29    0.000    0.000       0
+  0   2586 00:57:30.12   1.3200A   1.3657   0.5088  -0.4463  0.052  0.00   0.000      0.  0.272E+00  0.787E-02  0.296E-03  0.189E-04   32  12  23   20  32  28   15   4  29    0.000    0.000       0
+  0   2591 00:57:36.72   1.3200A   1.3672   0.5193  -0.4231  0.052  0.00   0.000      0.  0.272E+00  0.789E-02  0.303E-03  0.209E-04   32  12  27   20  33  28   18  12  29    0.000    0.000       0
+  0   2596 00:57:43.29   1.3100A   1.3742   0.4474  -0.4761  0.052  0.00   0.000      0.  0.272E+00  0.790E-02  0.305E-03  0.230E-04   32  11  30   20  33  28   17  12  29    0.000    0.000       0
+  0   2600 00:57:48.49   1.3000A   1.3839   0.3806  -0.5109  0.053  0.00   0.000      0.  0.272E+00  0.789E-02  0.304E-03  0.243E-04   32  11  33   22  19   7   17  12  29    0.000    0.000       0
+  0   2605 00:57:54.94   1.2800A   1.4009   0.3750  -0.5133  0.053  0.00   0.000      0.  0.273E+00  0.788E-02  0.297E-03  0.232E-04   29   7   2   22  19   9   16  12  29    0.000    0.000       0
+  0   2609 00:58:00.07   1.2800A   1.4024  -0.3758  -0.4961  0.053  0.00   0.000      0.  0.273E+00  0.785E-02  0.295E-03  0.217E-04   32  11   0   20  31  28   15  12  29    0.000    0.000       0
+  0   2614 00:58:06.47   1.2800A   1.4113   0.3653  -0.4765  0.053  0.00   0.000      0.  0.272E+00  0.781E-02  0.295E-03  0.201E-04   32  11   4   23  19  16   14  11  29    0.000    0.000       0
+  0   2619 00:58:12.83   1.2700A   1.4180   0.3806  -0.5408  0.052  0.00   0.000      0.  0.272E+00  0.776E-02  0.291E-03  0.186E-04   32  11   8   22  21  16   18  17  29    0.000    0.000       0
+  0   2624 00:58:19.18   1.2700A   1.4213   0.3549  -0.5771  0.052  0.00   0.000      0.  0.272E+00  0.770E-02  0.290E-03  0.179E-04   32  11  12   22  21  18   17  17  29    0.000    0.000       0
+  0   2628 00:58:24.25   1.2600A   1.4230   0.3457  -0.5493  0.051  0.00   0.000      0.  0.272E+00  0.766E-02  0.285E-03  0.170E-04   32  11  15   22  20  21   16  17  29    0.000    0.000       0
+  0   2633 00:58:30.58   1.2600A   1.4234   0.3284  -0.5015  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.283E-03  0.163E-04   32  11  19   22  21  22   15  17  29    0.000    0.000       0
+  0   2638 00:58:36.90   1.2600A   1.4233   0.3270  -0.4583  0.051  0.00   0.000      0.  0.272E+00  0.759E-02  0.282E-03  0.172E-04   32  11  23   22  21  24   14  17  29    0.000    0.000       0
+  0   2643 00:58:43.22   1.2700A   1.4217   0.3578  -0.4246  0.050  0.00   0.000      0.  0.272E+00  0.758E-02  0.284E-03  0.201E-04   32  11  27   22  20  28   13  17  29    0.000    0.000       0
+  0   2647 00:58:48.27   1.2600A   1.4269   0.3811  -0.4030  0.050  0.00   0.000      0.  0.272E+00  0.759E-02  0.285E-03  0.225E-04   32  11  30   22  21  29   12  17  29    0.000    0.000       0
+  0   2652 00:58:54.57   1.2600A   1.4248   0.3612  -0.3888  0.049  0.00   0.000      0.  0.272E+00  0.761E-02  0.281E-03  0.210E-04   32  11  34   20  18  28   14  34  29    0.000    0.000       0
+  0   2657 00:59:00.85   1.2600A   1.4318   0.4018  -0.3876  0.049  0.00   0.000      0.  0.272E+00  0.765E-02  0.278E-03  0.190E-04   32  11  37   20  19  28   13  34  29    0.000    0.000       0
+  0   2662 00:59:07.12   1.2500A   1.4354   0.4243  -0.3858  0.049  0.00   0.000      0.  0.272E+00  0.768E-02  0.281E-03  0.205E-04   32  11   1   20  20  28   12  34  29    0.000    0.000       0
+  0   2666 00:59:12.15   1.2600A   1.4333   0.3906  -0.4515  0.049  0.00   0.000      0.  0.272E+00  0.771E-02  0.287E-03  0.224E-04   32  11   4   20  20  28   18  11  29    0.000    0.000       0
+  0   2671 00:59:18.44   1.2600A   1.4307   0.3684  -0.5019  0.049  0.00   0.000      0.  0.272E+00  0.775E-02  0.287E-03  0.219E-04   32  11   8   20  19  29   17  12  29    0.000    0.000       0
+  0   2676 00:59:24.76   1.2600A   1.4234   0.3943  -0.5195  0.050  0.00   0.000      0.  0.272E+00  0.777E-02  0.285E-03  0.188E-04   32  11  12   20  20  29   17  12  29    0.000    0.000       0
+  0   2681 00:59:31.12   1.2800A   1.4116   0.3612  -0.5156  0.050  0.00   0.000      0.  0.272E+00  0.778E-02  0.291E-03  0.179E-04   32  11  16   20  21  29   16  12  29    0.000    0.000       0
+  0   2685 00:59:36.24   1.2800A   1.4015  -0.3670  -0.5117  0.051  0.00   0.000      0.  0.272E+00  0.779E-02  0.293E-03  0.179E-04   32  11  19   20  27  29   17  15  29    0.000    0.000       0
+  0   2690 00:59:42.67   1.2900A   1.4001   0.3376  -0.5125  0.051  0.00   0.000      0.  0.272E+00  0.779E-02  0.298E-03  0.195E-04   30   9  16   20   7  29   16  15  29    0.000    0.000       0
+  0   2695 00:59:49.11   1.2900A   1.3973   0.3352  -0.5089  0.051  0.00   0.000      0.  0.272E+00  0.780E-02  0.297E-03  0.202E-04   37  16  12   19   7  29   15  15  29    0.000    0.000       0
+  0   2699 00:59:54.27   1.2900A   1.3961  -0.3291  -0.5086  0.052  0.00   0.000      0.  0.272E+00  0.780E-02  0.293E-03  0.194E-04   37  16  15   22  28  24   15  16  29    0.000    0.000       0
+  0   2704 01:00:00.72   1.2900A   1.3992   0.3662  -0.4981  0.052  0.00   0.000      0.  0.272E+00  0.781E-02  0.293E-03  0.203E-04   32  11  35   20  28  28   14  16  29    0.000    0.000       0
+  0   2709 01:00:07.14   1.2800A   1.4038  -0.3671  -0.4817  0.053  0.00   0.000      0.  0.272E+00  0.781E-02  0.289E-03  0.197E-04   32  11  39   22  27  28   13  16  29    0.000    0.000       0
+  0   2713 01:00:12.24   1.2800A   1.4044  -0.3745  -0.4686  0.053  0.00   0.000      0.  0.272E+00  0.781E-02  0.289E-03  0.199E-04   32  11   2   21  27  26   12  16  29    0.000    0.000       0
+  0   2718 01:00:18.58   1.2600A   1.4237  -0.4098  -0.4473  0.053  0.00   0.000      0.  0.272E+00  0.780E-02  0.286E-03  0.191E-04   32  11   5   21  27  28   11  16  29    0.000    0.000       0
+  0   2723 01:00:24.91   1.2700A   1.4219  -0.3843  -0.4520  0.053  0.00   0.000      0.  0.272E+00  0.778E-02  0.286E-03  0.170E-04   32  11   9   21  26  28   18  19  29    0.000    0.000       0
+  0   2728 01:00:31.24   1.2700A   1.4207  -0.3518  -0.4448  0.053  0.00   0.000      0.  0.272E+00  0.775E-02  0.285E-03  0.161E-04   32  11  12   22  24  35   17  19  29    0.000    0.000       0
+  0   2732 01:00:36.32   1.2700A   1.4224  -0.3657  -0.4211  0.053  0.00   0.000      0.  0.272E+00  0.773E-02  0.285E-03  0.160E-04   32  11  15   22  24  37   16  19  29    0.000    0.000       0
+  0   2737 01:00:42.66   1.2700A   1.4143  -0.3798  -0.5198  0.052  0.00   0.000      0.  0.271E+00  0.769E-02  0.289E-03  0.180E-04   32  11  19   22  24  38   18  31  29    0.000    0.000       0
+  0   2742 01:00:49.04   1.2800A   1.4010  -0.3693  -0.5629  0.052  0.00   0.000      0.  0.271E+00  0.767E-02  0.294E-03  0.208E-04   32  11  22   22  24   0   17  31  29    0.000    0.000       0
+  0   2746 01:00:54.16   1.2800A   1.4015  -0.3408  -0.5466  0.051  0.00   0.000      0.  0.271E+00  0.765E-02  0.297E-03  0.223E-04   40  16  14   19  28  29   17  32  29    0.000    0.000       0
+  0   2751 01:01:00.55   1.2700A   1.4142  -0.3152  -0.5261  0.051  0.00   0.000      0.  0.271E+00  0.764E-02  0.293E-03  0.213E-04   40  16  18   21   0  26   16  32  29    0.000    0.000       0
+  0   2756 01:01:06.90   1.2700A   1.4228  -0.3342  -0.4859  0.051  0.00   0.000      0.  0.272E+00  0.764E-02  0.291E-03  0.205E-04   41  16  22   21   1  28   15  32  29    0.000    0.000       0
+  0   2761 01:01:13.22   1.2600A   1.4274  -0.3283  -0.4546  0.051  0.00   0.000      0.  0.272E+00  0.764E-02  0.287E-03  0.194E-04   41  16  26   21  14  33   14  33  29    0.000    0.000       0
+  0   2765 01:01:18.26   1.2600A   1.4311  -0.3333  -0.4441  0.051  0.00   0.000      0.  0.272E+00  0.765E-02  0.286E-03  0.188E-04   41  16  29   22  13  36   13  33  29    0.000    0.000       0
+  0   2770 01:01:24.56   1.2600A   1.4319   0.3283  -0.4335  0.051  0.00   0.000      0.  0.272E+00  0.765E-02  0.288E-03  0.183E-04   41  16  33   21   6  26   12  33  29    0.000    0.000       0
+  0   2775 01:01:30.86   1.2600A   1.4306   0.3501  -0.4950  0.051  0.00   0.000      0.  0.272E+00  0.765E-02  0.285E-03  0.161E-04   41  16  37   21   6  28   18   5  29    0.000    0.000       0
+  0   2780 01:01:37.16   1.2600A   1.4274   0.2968  -0.5406  0.052  0.00   0.000      0.  0.272E+00  0.765E-02  0.288E-03  0.165E-04   41  16   1   19   8  29   18   6  29    0.000    0.000       0
+  0   2784 01:01:42.20   1.2600A   1.4280   0.3098  -0.5702  0.052  0.00   0.000      0.  0.272E+00  0.765E-02  0.292E-03  0.181E-04   41  16   4   20   6  28   17   6  29    0.000    0.000       0
+  0   2789 01:01:48.51   1.2700A   1.4222  -0.3094  -0.5488  0.052  0.00   0.000      0.  0.272E+00  0.764E-02  0.295E-03  0.186E-04   41  16   8   23   0   6   16   6  29    0.000    0.000       0
+  0   2794 01:01:54.84   1.2700A   1.4155  -0.2998  -0.5227  0.053  0.00   0.000      0.  0.272E+00  0.763E-02  0.292E-03  0.175E-04   41  16  11   23  35  10   16   8  29    0.000    0.000       0
+  0   2799 01:02:01.21   1.2800A   1.4084  -0.3022  -0.5083  0.052  0.00   0.000      0.  0.272E+00  0.761E-02  0.296E-03  0.176E-04   41  16  15   23  35  13   15   8  29    0.000    0.000       0
+  0   2803 01:02:06.32   1.2700A   1.4120  -0.2964  -0.5213  0.052  0.00   0.000      0.  0.272E+00  0.760E-02  0.294E-03  0.181E-04   34  27   2   24  11  24   17   0  29    0.000    0.000       0
+  0   2808 01:02:12.72   1.2800A   1.4081  -0.3125  -0.5114  0.052  0.00   0.000      0.  0.271E+00  0.759E-02  0.293E-03  0.173E-04   35  13  25   21  16  28   17   0  29    0.000    0.000       0
+  0   2813 01:02:19.13   1.2800A   1.4051  -0.3134  -0.4816  0.052  0.00   0.000      0.  0.271E+00  0.759E-02  0.293E-03  0.174E-04   35  13  29   21  15  28   15   0  29    0.000    0.000       0
+  0   2817 01:02:24.29   1.2900A   1.4005   0.3200  -0.4593  0.051  0.00   0.000      0.  0.271E+00  0.759E-02  0.298E-03  0.184E-04   35  13  32   33  25   8   14   0  29    0.000    0.000       0
+  0   2822 01:02:30.74   1.2900A   1.3950  -0.4122  -0.4772  0.051  0.00   0.000      0.  0.271E+00  0.760E-02  0.304E-03  0.206E-04   33  12  27   20  16  29   18  18  29    0.000    0.000       0
+  0   2827 01:02:37.20   1.3000A   1.3878  -0.4320  -0.4827  0.051  0.00   0.000      0.  0.271E+00  0.761E-02  0.311E-03  0.228E-04   33  12  31   20  16  29   18  19  29    0.000    0.000       0
+  0   2831 01:02:42.38   1.3000A   1.3846  -0.4215  -0.5186  0.051  0.00   0.000      0.  0.271E+00  0.762E-02  0.311E-03  0.215E-04   33  12  33   19  16  29   17  19  29    0.000    0.000       0
+  0   2836 01:02:48.88   1.3000A   1.3830   0.3748  -0.5220  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.312E-03  0.210E-04   33  12  37   23  32   7   17  20  29    0.000    0.000       0
+  0   2840 01:02:54.11   1.3100A   1.3757  -0.3915  -0.5120  0.051  0.00   0.000      0.  0.272E+00  0.762E-02  0.315E-03  0.217E-04   33  12   0   24  12   5   17  21  29    0.000    0.000       0
+  0   2845 01:03:00.66   1.3100A   1.3787  -0.3835  -0.4990  0.051  0.00   0.000      0.  0.272E+00  0.761E-02  0.313E-03  0.202E-04   32  12   6   24  12   7   16  21  29    0.000    0.000       0
+  0   2850 01:03:07.13   1.2900A   1.3932  -0.4064  -0.4913  0.051  0.00   0.000      0.  0.272E+00  0.760E-02  0.308E-03  0.197E-04   32  12  10   20  31  29   18  34  29    0.000    0.000       0
+  0   2854 01:03:12.26   1.2800A   1.4018  -0.4375  -0.5447  0.052  0.00   0.000      0.  0.272E+00  0.758E-02  0.308E-03  0.214E-04   32  12  14   20  30  29   17  34  29    0.000    0.000       0
+  0   2859 01:03:18.66   1.2800A   1.4080  -0.3967  -0.5714  0.052  0.00   0.000      0.  0.272E+00  0.755E-02  0.308E-03  0.226E-04   32  12  17   19  30  29   17  33  29    0.000    0.000       0
+  0   2864 01:03:25.06   1.2800A   1.4041  -0.3468  -0.5791  0.052  0.00   0.000      0.  0.272E+00  0.752E-02  0.303E-03  0.214E-04   32  12  21   22  34  38   16  32  29    0.000    0.000       0
+  0   2868 01:03:30.18   1.2800A   1.4044  -0.3352  -0.5659  0.052  0.00   0.000      0.  0.272E+00  0.749E-02  0.300E-03  0.200E-04   32  13  27   22  33  39   15  32  29    0.000    0.000       0
+  0   2873 01:03:36.61   1.2900A   1.3952  -0.3397  -0.5403  0.052  0.00   0.000      0.  0.272E+00  0.746E-02  0.304E-03  0.206E-04   32  13  30   22  33   2   14  32  29    0.000    0.000       0
+  0   2878 01:03:43.10   1.3100A   1.3774  -0.3311  -0.5125  0.052  0.00   0.000      0.  0.272E+00  0.743E-02  0.309E-03  0.216E-04   32  13  34   29  10  38   13  32  29    0.000    0.000       0
+  0   2882 01:03:48.34   1.3100A   1.3693   0.3647  -0.5377  0.052  0.00   0.000      0.  0.272E+00  0.740E-02  0.309E-03  0.226E-04   32  12  37   20  22  28   18  26  29    0.000    0.000       0
+  0   2887 01:03:54.95   1.3300A   1.3529   0.3880  -0.5668  0.051  0.00   0.000      0.  0.271E+00  0.736E-02  0.311E-03  0.228E-04   32  12   1   20  23  28   17  26  29    0.000    0.000       0
+  0   2891 01:04:00.27   1.3300A   1.3585   0.3704  -0.5188  0.051  0.00   0.000      0.  0.271E+00  0.734E-02  0.306E-03  0.213E-04   36  21  24   19  28  29   17  27  29    0.000    0.000       0
+  0   2896 01:04:06.86   1.3100A   1.3750   0.3240  -0.4938  0.050  0.00   0.000      0.  0.271E+00  0.731E-02  0.299E-03  0.201E-04   32  12  10   19  21  29   17  19  29    0.000    0.000       0
+  0   2900 01:04:12.09   1.3000A   1.3809  -0.3126  -0.4756  0.050  0.00   0.000      0.  0.271E+00  0.730E-02  0.295E-03  0.196E-04   32  12  13   22  31  22   16  19  29    0.000    0.000       0
+  0   2905 01:04:18.60   1.3000A   1.3809  -0.3644  -0.4642  0.049  0.00   0.000      0.  0.271E+00  0.729E-02  0.297E-03  0.195E-04   32  12  17   22  31  25   16  16  29    0.000    0.000       0
+  0   2910 01:04:25.07   1.2900A   1.3950  -0.3385  -0.4498  0.049  0.00   0.000      0.  0.271E+00  0.730E-02  0.293E-03  0.181E-04   31  12  20   22  31  27   15  16  29    0.000    0.000       0
+  0   2914 01:04:30.20   1.2800A   1.4047   0.3325  -0.4426  0.049  0.00   0.000      0.  0.271E+00  0.731E-02  0.288E-03  0.165E-04   31  12  23   21  13  31   16  15  29    0.000    0.000       0
+  0   2919 01:04:36.59   1.2700A   1.4143  -0.3726  -0.4406  0.050  0.00   0.000      0.  0.271E+00  0.732E-02  0.287E-03  0.178E-04   31  12  27   22  29  33   16  15  29    0.000    0.000       0
+  0   2924 01:04:42.97   1.2800A   1.4080  -0.3715  -0.4423  0.050  0.00   0.000      0.  0.271E+00  0.734E-02  0.290E-03  0.184E-04   31  12  31   22  29  35   16  14  29    0.000    0.000       0
+  0   2928 01:04:48.08   1.2700A   1.4143  -0.4054  -0.4485  0.050  0.00   0.000      0.  0.271E+00  0.735E-02  0.285E-03  0.179E-04   31  11  33   22  28  36   17  31  29    0.000    0.000       0
+  0   2933 01:04:54.41   1.2600A   1.4332  -0.3858  -0.4329  0.050  0.00   0.000      0.  0.271E+00  0.737E-02  0.279E-03  0.182E-04   31  11  37   22  28  38   14  14  29    0.000    0.000       0
+  0   2938 01:05:00.69   1.2600A   1.4292   0.3703  -0.4331  0.050  0.00   0.000      0.  0.271E+00  0.741E-02  0.281E-03  0.204E-04   31  11   1   22  15   3   16   9  29    0.000    0.000       0
+  0   2943 01:05:06.96   1.2500A   1.4353  -0.3685  -0.4283  0.050  0.00   0.000      0.  0.271E+00  0.745E-02  0.283E-03  0.229E-04   31  11   4   20  13  28   15   9  29    0.000    0.000       0
+  0   2948 01:05:13.22   1.2500A   1.4375  -0.3676  -0.4230  0.050  0.00   0.000      0.  0.272E+00  0.750E-02  0.289E-03  0.252E-04   31  11   8   20  39  29   14  30  29    0.000    0.000       0
+  0   2952 01:05:18.26   1.2600A   1.4289   0.3850  -0.4601  0.050  0.00   0.000      0.  0.272E+00  0.753E-02  0.295E-03  0.254E-04   31  11  11   20   5  29   18   1  29    0.000    0.000       0
+  0   2957 01:05:24.61   1.2800A   1.4094  -0.4158  -0.5310  0.051  0.00   0.000      0.  0.272E+00  0.756E-02  0.297E-03  0.240E-04   31  11  14   20  10  29   17   1  29    0.000    0.000       0
+  0   2962 01:05:31.05   1.3000A   1.3849   0.4616  -0.5401  0.051  0.00   0.000      0.  0.272E+00  0.757E-02  0.300E-03  0.221E-04   31  11  18   20  28  29   16   1  29    0.000    0.000       0
+  0   2966 01:05:36.31   1.3200A   1.3640   0.4636  -0.5655  0.050  0.00   0.000      0.  0.272E+00  0.756E-02  0.303E-03  0.212E-04   31  12  20   20  29  29   18  27  29    0.000    0.000       0
+  0   2971 01:05:42.92   1.3200A   1.3608   0.4225  -0.6342  0.050  0.00   0.000      0.  0.272E+00  0.754E-02  0.304E-03  0.217E-04   30  12  24   19  29  29   17  27  29    0.000    0.000       0
+  0   2975 01:05:48.16   1.3000A   1.3812  -0.3954  -0.6419  0.050  0.00   0.000      0.  0.272E+00  0.753E-02  0.299E-03  0.214E-04   32  11  25   23  26  27   16  26  29    0.000    0.000       0
+  0   2980 01:05:54.64   1.2900A   1.3968  -0.3879  -0.6148  0.050  0.00   0.000      0.  0.271E+00  0.750E-02  0.295E-03  0.209E-04   32  11  29   23  26  29   15  26  29    0.000    0.000       0
+  0   2985 01:06:01.07   1.2900A   1.4004  -0.3472  -0.5695  0.050  0.00   0.000      0.  0.271E+00  0.749E-02  0.295E-03  0.212E-04   32  11  32   23  25  31   14  26  29    0.000    0.000       0
+  0   2989 01:06:06.19   1.2800A   1.4046  -0.3239  -0.5415  0.050  0.00   0.000      0.  0.271E+00  0.749E-02  0.292E-03  0.210E-04   32  11  35   23  14  10   14  25  29    0.000    0.000       0
+  0   2994 01:06:12.60   1.2800A   1.4034   0.3373  -0.5126  0.050  0.00   0.000      0.  0.271E+00  0.751E-02  0.287E-03  0.193E-04   32  11  39   20  12  28   13  22  29    0.000    0.000       0
+  0   2999 01:06:19.06   1.3000A   1.3875  -0.3268  -0.4830  0.050  0.00   0.000      0.  0.271E+00  0.752E-02  0.288E-03  0.190E-04   32  11   3   23  11  22   12  22  29    0.000    0.000       0
+  0   3003 01:06:24.29   1.3100A   1.3740  -0.3496  -0.4700  0.050  0.00   0.000      0.  0.272E+00  0.754E-02  0.294E-03  0.208E-04   32  11   6   24  11  27   13  20  29    0.000    0.000       0
+  0   3008 01:06:30.84   1.3100A   1.3743  -0.3934  -0.4603  0.050  0.00   0.000      0.  0.272E+00  0.755E-02  0.299E-03  0.223E-04   32  21   3   24  11  29   12  20  29    0.000    0.000       0
+  0   3012 01:06:36.07   1.3200A   1.3669  -0.4101  -0.4486  0.050  0.00   0.000      0.  0.272E+00  0.756E-02  0.302E-03  0.216E-04   32  21   7   23  10  29   11  20  29    0.000    0.000       0
+  0   3017 01:06:42.67   1.3200A   1.3612  -0.4004  -0.4340  0.050  0.00   0.000      0.  0.272E+00  0.756E-02  0.305E-03  0.201E-04   39   7   1   23  10  31   12  29  28    0.000    0.000       0
+  0   3022 01:06:49.27   1.3200A   1.3631  -0.3877  -0.4439  0.050  0.00   0.000      0.  0.272E+00  0.756E-02  0.306E-03  0.194E-04   39   7   5   24  10  36   11  29  28    0.000    0.000       0
+  0   3026 01:06:54.55   1.3200A   1.3646  -0.3628  -0.4441  0.051  0.00   0.000      0.  0.272E+00  0.754E-02  0.304E-03  0.180E-04   39   7   8   24   9  39   10  29  28    0.000    0.000       0
+  0   3031 01:07:01.15   1.3200A   1.3660  -0.3740  -0.4719  0.051  0.00   0.000      0.  0.272E+00  0.750E-02  0.304E-03  0.194E-04   39   7  12   24   9   2   18  14  29    0.000    0.000       0
+  0   3035 01:07:06.43   1.3200A   1.3663  -0.3884  -0.4959  0.051  0.00   0.000      0.  0.271E+00  0.747E-02  0.304E-03  0.194E-04   39   7  15   24   8   3   17  13  29    0.000    0.000       0
+  0   3040 01:07:13.03   1.3200A   1.3672  -0.4260  -0.5017  0.050  0.00   0.000      0.  0.271E+00  0.743E-02  0.300E-03  0.183E-04   39   7  19   24   8   6   17  13  29    0.000    0.000       0
+  0   3044 01:07:18.31   1.3200A   1.3680  -0.3823  -0.5044  0.050  0.00   0.000      0.  0.271E+00  0.740E-02  0.298E-03  0.183E-04   39   6  22   24   8   8   16  13  29    0.000    0.000       0
+  0   3049 01:07:24.87   1.3100A   1.3745  -0.3503  -0.4921  0.050  0.00   0.000      0.  0.271E+00  0.738E-02  0.296E-03  0.193E-04   40  11  22   24  10  10   15  12  29    0.000    0.000       0
+  0   3053 01:07:30.08   1.3000A   1.3814  -0.3591  -0.4862  0.050  0.00   0.000      0.  0.271E+00  0.736E-02  0.293E-03  0.190E-04   40  11  25   24  10  12   15  12  29    0.000    0.000       0
+  0   3058 01:07:36.58   1.3000A   1.3847  -0.3693  -0.4695  0.050  0.00   0.000      0.  0.271E+00  0.733E-02  0.291E-03  0.190E-04   40  11  29   24   9  14   14  11  29    0.000    0.000       0
+  0   3063 01:07:43.07   1.3000A   1.3877   0.4144  -0.4533  0.049  0.00   0.000      0.  0.270E+00  0.731E-02  0.291E-03  0.195E-04   40  11  32   20   5  29   13  11  29    0.000    0.000       0
+  0   3067 01:07:48.24   1.3000A   1.3896   0.3911  -0.4659  0.049  0.00   0.000      0.  0.270E+00  0.729E-02  0.291E-03  0.193E-04   41  11  36   21   2  28   17   3  29    0.000    0.000       0
+  0   3072 01:07:54.69   1.2900A   1.3904   0.4322  -0.4736  0.049  0.00   0.000      0.  0.270E+00  0.728E-02  0.290E-03  0.199E-04   40  11  39   21   1  28   17   3  29    0.000    0.000       0
+  0   3077 01:08:01.14   1.2900A   1.3913   0.3682  -0.4677  0.049  0.00   0.000      0.  0.270E+00  0.726E-02  0.289E-03  0.211E-04   40  11   3   19   6  29   16   4  29    0.000    0.000       0
+  0   3081 01:08:06.31   1.3000A   1.3877   0.3484  -0.4377  0.049  0.00   0.000      0.  0.270E+00  0.726E-02  0.289E-03  0.220E-04   40  11   6   22   0  34   15   4  29    0.000    0.000       0
+  0   3086 01:08:12.78   1.3000A   1.3862   0.3496  -0.4116  0.049  0.00   0.000      0.  0.271E+00  0.726E-02  0.289E-03  0.230E-04   40  11  10   23   0  38   15   4  29    0.000    0.000       0
+  0   3091 01:08:19.28   1.3000A   1.3837   0.3475  -0.3938  0.050  0.00   0.000      0.  0.271E+00  0.725E-02  0.288E-03  0.221E-04   40  11  14   23   0   0   14   3  29    0.000    0.000       0
+  0   3095 01:08:24.48   1.3000A   1.3836   0.3651  -0.3798  0.050  0.00   0.000      0.  0.271E+00  0.725E-02  0.285E-03  0.206E-04   41  11  18   23   1   2   13   3  29    0.000    0.000       0
+  0   3100 01:08:30.98   1.3000A   1.3815   0.3731  -0.3824  0.050  0.00   0.000      0.  0.271E+00  0.725E-02  0.284E-03  0.194E-04   41  11  22   23   1   4   17  21  29    0.000    0.000       0
+  0   3104 01:08:36.19   1.3000A   1.3807   0.3897  -0.3857  0.050  0.00   0.000      0.  0.271E+00  0.724E-02  0.282E-03  0.184E-04   40  11  25   23   1   6   16  21  29    0.000    0.000       0
+  0   3109 01:08:42.73   1.3100A   1.3780   0.3800  -0.4004  0.051  0.00   0.000      0.  0.271E+00  0.723E-02  0.285E-03  0.194E-04   40  11  29   23   2   8   17  19  29    0.000    0.000       0
+  0   3114 01:08:49.25   1.3000A   1.3823   0.3936  -0.3994  0.051  0.00   0.000      0.  0.271E+00  0.721E-02  0.285E-03  0.200E-04   31   8   7   23   2  11   16  19  29    0.000    0.000       0
+  0   3118 01:08:54.46   1.3100A   1.3735   0.3888  -0.4230  0.052  0.00   0.000      0.  0.271E+00  0.718E-02  0.287E-03  0.201E-04   31   8   9   23   2  13   18  16  29    0.000    0.000       0
+  0   3123 01:09:01.00   1.3100A   1.3697   0.3922  -0.4580  0.052  0.00   0.000      0.  0.271E+00  0.714E-02  0.286E-03  0.195E-04   40  11   0   23   3  15   18  15  29    0.000    0.000       0
+  0   3127 01:09:06.24   1.3100A   1.3727   0.3865  -0.5119  0.051  0.00   0.000      0.  0.271E+00  0.711E-02  0.284E-03  0.181E-04   30   8   7   23   3  17   18  14  29    0.000    0.000       0
+  0   3132 01:09:12.75   1.3000A   1.3859   0.3661  -0.5258  0.051  0.00   0.000      0.  0.270E+00  0.708E-02  0.278E-03  0.163E-04   30   8  11   23   3  19   17  14  29    0.000    0.000       0
+  0   3137 01:09:19.25   1.3000A   1.3881   0.3498  -0.5149  0.050  0.00   0.000      0.  0.270E+00  0.706E-02  0.273E-03  0.145E-04   30   8  15   23   4  21   16  14  29    0.000    0.000       0
+  0   3141 01:09:24.43   1.2900A   1.3971  -0.3570  -0.4969  0.050  0.00   0.000      0.  0.270E+00  0.706E-02  0.272E-03  0.151E-04   30   8  18   26  29  28   16  14  29    0.000    0.000       0
+  0   3146 01:09:30.86   1.2900A   1.3929  -0.3477  -0.4749  0.050  0.00   0.000      0.  0.270E+00  0.706E-02  0.277E-03  0.175E-04   30   8  22   26  29  31   14  14  29    0.000    0.000       0
+  0   3150 01:09:36.03   1.3000A   1.3868  -0.3526  -0.4651  0.050  0.00   0.000      0.  0.270E+00  0.707E-02  0.283E-03  0.195E-04   30   8  24   25   0  21   14  14  29    0.000    0.000       0
+  0   3155 01:09:42.56   1.3100A   1.3746   0.3801  -0.4507  0.050  0.00   0.000      0.  0.270E+00  0.710E-02  0.292E-03  0.221E-04   30   8  28   22   3  28   13  14  29    0.000    0.000       0
+  0   3160 01:09:49.14   1.3200A   1.3635  -0.3817  -0.4373  0.049  0.00   0.000      0.  0.270E+00  0.713E-02  0.299E-03  0.232E-04   30   6  32   24  39  26   12  14  29    0.000    0.000       0
+  0   3164 01:09:54.40   1.3100A   1.3784  -0.3591  -0.4261  0.049  0.00   0.000      0.  0.270E+00  0.716E-02  0.300E-03  0.234E-04   31  10   3   24  39  28   11  14  29    0.000    0.000       0
+  0   3169 01:10:00.87   1.2900A   1.3928   0.3705  -0.4121  0.049  0.00   0.000      0.  0.270E+00  0.720E-02  0.300E-03  0.240E-04   31  10   7   22  25  29   10  14  29    0.000    0.000       0
+  0   3173 01:10:06.03   1.2900A   1.3950   0.3982  -0.4107  0.050  0.00   0.000      0.  0.271E+00  0.724E-02  0.301E-03  0.248E-04   31  10  10   22  25  31   16  34  29    0.000    0.000       0
+  0   3178 01:10:12.50   1.3000A   1.3867  -0.4791  -0.4036  0.050  0.00   0.000      0.  0.271E+00  0.728E-02  0.306E-03  0.248E-04   31  10  13   20  17  28   15  34  29    0.000    0.000       0
+  0   3183 01:10:19.01   1.3000A   1.3802  -0.4342  -0.4336  0.050  0.00   0.000      0.  0.271E+00  0.731E-02  0.303E-03  0.218E-04   41  12   9   20  17  29   18  36  29    0.000    0.000       0
+  0   3187 01:10:24.22   1.3000A   1.3849  -0.4393  -0.4751  0.051  0.00   0.000      0.  0.271E+00  0.732E-02  0.302E-03  0.205E-04   41  12  12   20  16  29   18  36  29    0.000    0.000       0
+  0   3192 01:10:30.72   1.3000A   1.3870   0.4076  -0.5730  0.051  0.00   0.000      0.  0.271E+00  0.731E-02  0.302E-03  0.209E-04   41  12  16   20  36  28   18  20  29    0.000    0.000       0
+  0   3197 01:10:37.22   1.3000A   1.3862   0.4066  -0.6450  0.052  0.00   0.000      0.  0.271E+00  0.729E-02  0.301E-03  0.227E-04   41  12  20   20  36  28   17  20  29    0.000    0.000       0
+  0   3201 01:10:42.42   1.3000A   1.3874   0.4108  -0.6429  0.052  0.00   0.000      0.  0.271E+00  0.727E-02  0.300E-03  0.235E-04   41  12  23   20  21  29   16  20  29    0.000    0.000       0
+  0   3206 01:10:48.92   1.3000A   1.3801   0.4076  -0.6354  0.052  0.00   0.000      0.  0.271E+00  0.723E-02  0.297E-03  0.213E-04   41  12  27   20  22  29   15  21  29    0.000    0.000       0
+  0   3210 01:10:54.14   1.3100A   1.3748   0.3873  -0.6029  0.052  0.00   0.000      0.  0.271E+00  0.719E-02  0.294E-03  0.192E-04   41  12  30   24  34   6   15  21  29    0.000    0.000       0
+  0   3215 01:11:00.72   1.3300A   1.3578  -0.4484  -0.5710  0.052  0.00   0.000      0.  0.270E+00  0.713E-02  0.292E-03  0.176E-04   41  12  34   20  38  28   15  16  29    0.000    0.000       0
+  0   3219 01:11:06.04   1.3300A   1.3546  -0.4016  -0.5582  0.051  0.00   0.000      0.  0.270E+00  0.707E-02  0.287E-03  0.162E-04   33   5   2   20  38  28   14  16  29    0.000    0.000       0
+  0   3224 01:11:12.62   1.3100A   1.3757  -0.3814  -0.5270  0.051  0.00   0.000      0.  0.270E+00  0.701E-02  0.277E-03  0.156E-04   33   7   9   20  37  28   12  16  29    0.000    0.000       0
+  0   3229 01:11:19.15   1.3100A   1.3781   0.3674  -0.5025  0.050  0.00   0.000      0.  0.270E+00  0.697E-02  0.273E-03  0.164E-04   31  12  14   23  33  16   11  16  29    0.000    0.000       0
+  0   3233 01:11:24.32   1.2900A   1.3957   0.4036  -0.4757  0.050  0.00   0.000      0.  0.270E+00  0.695E-02  0.269E-03  0.185E-04   31  12  17   23  33  18   10  16  29    0.000    0.000       0
+  0   3238 01:11:30.78   1.2900A   1.3956   0.3745  -0.4470  0.049  0.00   0.000      0.  0.270E+00  0.695E-02  0.272E-03  0.217E-04   31  12  21   23  34  20    9  16  29    0.000    0.000       0
+  0   3243 01:11:37.27   1.3100A   1.3773  -0.3949  -0.4208  0.048  0.00   0.000      0.  0.270E+00  0.696E-02  0.276E-03  0.216E-04   31  12  25   21  38  27    8  20  29    0.000    0.000       0
+  0   3247 01:11:42.49   1.3100A   1.3729  -0.3838  -0.4080  0.048  0.00   0.000      0.  0.270E+00  0.698E-02  0.276E-03  0.205E-04   33   4  22   21  37  27    8  20  29    0.000    0.000       0
+  0   3252 01:11:49.03   1.3100A   1.3767  -0.3782  -0.3958  0.048  0.00   0.000      0.  0.271E+00  0.700E-02  0.276E-03  0.194E-04   29  39  18   21  37  28   13  32  29    0.000    0.000       0
+  0   3256 01:11:54.16   1.2700A   1.4214   0.3070  -0.3851  0.048  0.00   0.000      0.  0.271E+00  0.702E-02  0.269E-03  0.180E-04   25  10  23   20  20  28   12  32  29    0.000    0.000       0
+  0   3261 01:12:00.39   1.2400A   1.4510   0.3447  -0.3760  0.048  0.00   0.000      0.  0.271E+00  0.705E-02  0.266E-03  0.173E-04   25  10  27   20  21  28    7  16  28    0.000    0.000       0
+  0   3266 01:12:06.64   1.2500A   1.4391   0.3593  -0.3825  0.049  0.00   0.000      0.  0.271E+00  0.709E-02  0.271E-03  0.180E-04   25  10  30   20  22  28   16  12  29    0.000    0.000       0
+  0   3271 01:12:13.04   1.3200A   1.3675  -0.3353  -0.4048  0.049  0.00   0.000      0.  0.270E+00  0.711E-02  0.290E-03  0.202E-04   25  10  33   22   4  36   17  11  29    0.000    0.000       0
+  0   3275 01:12:18.31   1.3200A   1.3645  -0.3272  -0.4294  0.050  0.00   0.000      0.  0.270E+00  0.712E-02  0.290E-03  0.198E-04   41  15  27   22   4  38   19   8  29    0.000    0.000       0
+  0   3280 01:12:24.85   1.2800A   1.4051  -0.3173  -0.5401  0.050  0.00   0.000      0.  0.270E+00  0.712E-02  0.279E-03  0.173E-04   28   9  36   22  31  27   18   8  29    0.000    0.000       0
+  0   3285 01:12:31.22   1.2600A   1.4279  -0.3293  -0.5560  0.050  0.00   0.000      0.  0.270E+00  0.712E-02  0.272E-03  0.164E-04   28   9  39   22   6   0   18   9  29    0.000    0.000       0
+  0   3289 01:12:36.27   1.2600A   1.4248  -0.3530  -0.5545  0.050  0.00   0.000      0.  0.270E+00  0.713E-02  0.271E-03  0.166E-04   28   9   2   22   5   1   17   9  29    0.000    0.000       0
+  0   3294 01:12:42.71   1.3000A   1.3843  -0.3828  -0.5074  0.050  0.00   0.000      0.  0.270E+00  0.715E-02  0.279E-03  0.188E-04   28   5  11   22   5   4   16   9  29    0.000    0.000       0
+  0   3299 01:12:49.17   1.2900A   1.3942  -0.3841  -0.4726  0.050  0.00   0.000      0.  0.270E+00  0.719E-02  0.281E-03  0.206E-04   28   5  15   22   5   6   15   7  29    0.000    0.000       0
+  0   3303 01:12:54.35   1.2900A   1.3909  -0.3500  -0.4420  0.050  0.00   0.000      0.  0.270E+00  0.723E-02  0.283E-03  0.220E-04   28   5  18   22   5   8   15   7  29    0.000    0.000       0
+  0   3308 01:13:00.83   1.2900A   1.3907  -0.3093  -0.4253  0.049  0.00   0.000      0.  0.270E+00  0.730E-02  0.286E-03  0.245E-04   28   5  22   22   4  10   15  11  29    0.000    0.000       0
+  0   3312 01:13:06.01   1.2900A   1.3925   0.3447  -0.4219  0.050  0.00   0.000      0.  0.270E+00  0.736E-02  0.288E-03  0.254E-04   28   5  25   21  23  28   14  11  29    0.000    0.000       0
+  0   3317 01:13:12.50   1.3000A   1.3829  -0.3454  -0.4169  0.050  0.00   0.000      0.  0.270E+00  0.744E-02  0.290E-03  0.236E-04   28   5  29   21  20  27   13  11  29    0.000    0.000       0
+  0   3322 01:13:19.03   1.3200A   1.3686  -0.3363  -0.4080  0.050  0.00   0.000      0.  0.271E+00  0.752E-02  0.292E-03  0.208E-04   28   5  32   21  20  29   13  11  29    0.000    0.000       0
+  0   3326 01:13:24.28   1.3100A   1.3741  -0.3428  -0.4292  0.051  0.00   0.000      0.  0.271E+00  0.757E-02  0.291E-03  0.202E-04   29  12  18   21  19  31   17  17  29    0.000    0.000       0
+  0   3331 01:13:30.84   1.3000A   1.3808  -0.3433  -0.4397  0.051  0.00   0.000      0.  0.271E+00  0.762E-02  0.292E-03  0.198E-04   28   6   0   21  18  33   18  21  29    0.000    0.000       0
+  0   3336 01:13:37.23   1.2700A   1.4209  -0.3567  -0.5186  0.051  0.00   0.000      0.  0.271E+00  0.765E-02  0.285E-03  0.175E-04   28   6   3   21  18  35   18  21  29    0.000    0.000       0
+  0   3340 01:13:42.20   1.2400A   1.4557  -0.3672  -0.5197  0.051  0.00   0.000      0.  0.271E+00  0.767E-02  0.279E-03  0.171E-04   28   6   6   21  18  36   17  20  29    0.000    0.000       0
+  0   3345 01:13:48.36   1.2300A   1.4649  -0.3407  -0.5066  0.052  0.00   0.000      0.  0.271E+00  0.769E-02  0.279E-03  0.179E-04   28   6  10   21  18  37   17  20  29    0.000    0.000       0
+  0   3350 01:13:54.55   1.2400A   1.4505   0.3356  -0.4957  0.052  0.00   0.000      0.  0.270E+00  0.772E-02  0.282E-03  0.189E-04   28   6  13   23  15  37   16  31  29    0.000    0.000       0
+  0   3355 01:14:00.81   1.2600A   1.4315   0.3357  -0.4820  0.052  0.00   0.000      0.  0.270E+00  0.774E-02  0.287E-03  0.182E-04   28   6  17   24  17   0   16  32  29    0.000    0.000       0
+  0   3360 01:14:07.19   1.2900A   1.3922   0.3582  -0.4677  0.052  0.00   0.000      0.  0.270E+00  0.775E-02  0.295E-03  0.181E-04   28   6  20   20  16  29   15  32  29    0.000    0.000       0
+  0   3364 01:14:12.37   1.3000A   1.3851   0.3867  -0.4961  0.052  0.00   0.000      0.  0.270E+00  0.776E-02  0.301E-03  0.197E-04   28   7  23   20   9  28   18  10  29    0.000    0.000       0
+  0   3369 01:14:18.85   1.3000A   1.3844   0.3631  -0.5055  0.052  0.00   0.000      0.  0.270E+00  0.779E-02  0.306E-03  0.231E-04   28   7  27   23  17   4   17  10  29    0.000    0.000       0
+  0   3373 01:14:24.03   1.3000A   1.3888   0.3718  -0.4689  0.052  0.00   0.000      0.  0.270E+00  0.781E-02  0.310E-03  0.239E-04   28   7  30   22  16  39   17   8  29    0.000    0.000       0
+  0   3378 01:14:30.51   1.3000A   1.3884  -0.3788  -0.4571  0.051  0.00   0.000      0.  0.270E+00  0.785E-02  0.312E-03  0.226E-04   28   7  33   20  36  29   18   7  29    0.000    0.000       0
+  0   3383 01:14:37.00   1.3000A   1.3797  -0.3510  -0.4556  0.051  0.00   0.000      0.  0.270E+00  0.788E-02  0.316E-03  0.243E-04   28   7  37   19  36  29   18   6  29    0.000    0.000       0
+  0   3387 01:14:42.27   1.3200A   1.3587  -0.3618  -0.4473  0.051  0.00   0.000      0.  0.270E+00  0.792E-02  0.323E-03  0.244E-04   28   7   0   20  15  28   17   6  29    0.000    0.000       0
+  0   3392 01:14:48.92   1.3300A   1.3526  -0.4261  -0.4595  0.051  0.00   0.000      0.  0.270E+00  0.794E-02  0.325E-03  0.234E-04   29   1  28   20  19  29   18  20  29    0.000    0.000       0
+  0   3396 01:14:54.24   1.3300A   1.3542  -0.4498  -0.5896  0.051  0.00   0.000      0.  0.270E+00  0.795E-02  0.325E-03  0.233E-04   29   1  31   20  18  29   18  19  29    0.000    0.000       0
+  0   3401 01:15:00.88   1.3200A   1.3585  -0.4020  -0.6249  0.051  0.00   0.000      0.  0.270E+00  0.796E-02  0.326E-03  0.243E-04   29   4  35   18  18  29   17  19  29    0.000    0.000       0
+  0   3405 01:15:06.19   1.3300A   1.3585   0.3801  -0.5914  0.051  0.00   0.000      0.  0.271E+00  0.796E-02  0.331E-03  0.251E-04   29   4  38   20  27  29   16  19  29    0.000    0.000       0
+  0   3410 01:15:12.81   1.3200A   1.3599   0.3718  -0.5542  0.051  0.00   0.000      0.  0.271E+00  0.796E-02  0.330E-03  0.240E-04   28   3   1   20  32  28   15  20  29    0.000    0.000       0
+  0   3414 01:15:18.10   1.3200A   1.3649   0.3825  -0.5296  0.051  0.00   0.000      0.  0.271E+00  0.796E-02  0.330E-03  0.236E-04   28   3   4   20  32  29   15  23  29    0.000    0.000       0
+  0   3419 01:15:24.69   1.3200A   1.3676   0.4354  -0.5119  0.052  0.00   0.000      0.  0.271E+00  0.794E-02  0.332E-03  0.238E-04   28   3   7   20  33  29   14  23  29    0.000    0.000       0
+  0   3424 01:15:31.24   1.2900A   1.3968   0.4841  -0.5118  0.052  0.00   0.000      0.  0.271E+00  0.791E-02  0.330E-03  0.242E-04   30  37  10   20  13  29   17  30  29    0.000    0.000       0
+  0   3428 01:15:36.31   1.2500A   1.4391   0.4760  -0.4881  0.052  0.00   0.000      0.  0.271E+00  0.788E-02  0.322E-03  0.234E-04   30  37  13   20  13  29   16  30  29    0.000    0.000       0
+  0   3433 01:15:42.52   1.2400A   1.4559   0.3895  -0.5150  0.053  0.00   0.000      0.  0.271E+00  0.784E-02  0.319E-03  0.229E-04   30  37  16   20  14  29   17  10  29    0.000    0.000       0
+  0   3438 01:15:48.69   1.2400A   1.4467  -0.3581  -0.5092  0.053  0.00   0.000      0.  0.271E+00  0.780E-02  0.315E-03  0.220E-04   30  37  20   20  12  28   17  10  29    0.000    0.000       0
+  0   3443 01:15:55.07   1.3000A   1.3837  -0.3421  -0.4782  0.053  0.00   0.000      0.  0.271E+00  0.774E-02  0.324E-03  0.201E-04   30  37  23   20  12  29   16   6  29    0.000    0.000       0
+  0   3447 01:16:00.30   1.3000A   1.3890  -0.3702  -0.4566  0.054  0.00   0.000      0.  0.271E+00  0.769E-02  0.321E-03  0.194E-04   29  37  26   20  11  29   15   6  29    0.000    0.000       0
+  0   3452 01:16:06.70   1.2700A   1.4130  -0.3683  -0.4843  0.054  0.00   0.000      0.  0.271E+00  0.761E-02  0.309E-03  0.188E-04   29  37  30   20  33  29   18  38  29    0.000    0.000       0
+  0   3457 01:16:13.14   1.3000A   1.3873  -0.3341  -0.4878  0.053  0.00   0.000      0.  0.270E+00  0.754E-02  0.310E-03  0.191E-04   29  37  34   24  17  19   17  38  29    0.000    0.000       0
+  0   3461 01:16:18.40   1.3200A   1.3599  -0.3280  -0.4938  0.053  0.00   0.000      0.  0.270E+00  0.749E-02  0.312E-03  0.202E-04   29  37  37   23  17  20   17  37  29    0.000    0.000       0
+  0   3466 01:16:25.08   1.3300A   1.3537   0.3422  -0.4845  0.052  0.00   0.000      0.  0.270E+00  0.744E-02  0.309E-03  0.209E-04   35  14  24   25  20  15   16  37  29    0.000    0.000       0
+  0   3470 01:16:30.35   1.3100A   1.3715   0.3409  -0.4738  0.052  0.00   0.000      0.  0.270E+00  0.741E-02  0.300E-03  0.201E-04   35  14  27   25  30  26   17  36  29    0.000    0.000       0
+  0   3475 01:16:36.88   1.3000A   1.3833  -0.3564  -0.4659  0.051  0.00   0.000      0.  0.270E+00  0.739E-02  0.291E-03  0.188E-04   35  14  31   24  16  25   16  36  29    0.000    0.000       0
+  0   3479 01:16:42.09   1.3000A   1.3855   0.3546  -0.4534  0.051  0.00   0.000      0.  0.270E+00  0.739E-02  0.288E-03  0.185E-04   35  14  34   20  13  29   15  36  29    0.000    0.000       0
+  0   3484 01:16:48.60   1.3000A   1.3828   0.3710  -0.4333  0.051  0.00   0.000      0.  0.270E+00  0.738E-02  0.291E-03  0.206E-04   35  14  38   20  14  29   14  36  29    0.000    0.000       0
+  0   3489 01:16:55.09   1.3000A   1.3848   0.3188  -0.4586  0.051  0.00   0.000      0.  0.270E+00  0.738E-02  0.296E-03  0.234E-04   35  14   1   21  14  35   17  10  29    0.000    0.000       0
+  0   3493 01:17:00.26   1.3000A   1.3856   0.3406  -0.4903  0.051  0.00   0.000      0.  0.270E+00  0.739E-02  0.299E-03  0.243E-04   35  14   5   22  27  37   17  10  29    0.000    0.000       0
+  0   3498 01:17:06.73   1.3000A   1.3887  -0.3545  -0.5019  0.051  0.00   0.000      0.  0.271E+00  0.740E-02  0.297E-03  0.229E-04   35  14   8   21  21  28   16  10  29    0.000    0.000       0
+  0   3503 01:17:13.18   1.2900A   1.3944  -0.3528  -0.4915  0.052  0.00   0.000      0.  0.271E+00  0.740E-02  0.293E-03  0.205E-04   35  15  12   21  21  29   15  10  29    0.000    0.000       0
+  0   3507 01:17:18.28   1.2700A   1.4143   0.3493  -0.4744  0.052  0.00   0.000      0.  0.271E+00  0.741E-02  0.288E-03  0.196E-04   35  15  15   23  19  35   14  10  29    0.000    0.000       0
+  0   3512 01:17:24.61   1.2600A   1.4283  -0.3884  -0.4497  0.052  0.00   0.000      0.  0.271E+00  0.742E-02  0.286E-03  0.200E-04   35  15  19   20  22  29   13  10  29    0.000    0.000       0
+  0   3517 01:17:30.92   1.2600A   1.4274  -0.4204  -0.5155  0.053  0.00   0.000      0.  0.271E+00  0.741E-02  0.287E-03  0.198E-04   35  15  22   19  22  29   18  22  29    0.000    0.000       0
+  0   3522 01:17:37.22   1.2600A   1.4310  -0.4689  -0.5991  0.053  0.00   0.000      0.  0.271E+00  0.740E-02  0.288E-03  0.198E-04   35  15  26   19  21  29   17  23  29    0.000    0.000       0
+  0   3526 01:17:42.29   1.2700A   1.4227  -0.4357  -0.6081  0.053  0.00   0.000      0.  0.271E+00  0.739E-02  0.292E-03  0.206E-04   35  15  29   18  21  29   16  23  29    0.000    0.000       0
+  0   3531 01:17:48.67   1.2800A   1.4042  -0.3682  -0.5917  0.053  0.00   0.000      0.  0.271E+00  0.737E-02  0.293E-03  0.204E-04   35  15  32   17  21  29   15  23  29    0.000    0.000       0
+  0   3536 01:17:55.10   1.2900A   1.3968   0.3505  -0.5578  0.053  0.00   0.000      0.  0.271E+00  0.734E-02  0.293E-03  0.195E-04   35  15  36   20  36  28   14  23  29    0.000    0.000       0
+  0   3540 01:18:00.30   1.3000A   1.3799  -0.3277  -0.5238  0.053  0.00   0.000      0.  0.271E+00  0.732E-02  0.293E-03  0.181E-04   35  15  39   16  20  29   14  22  29    0.000    0.000       0
+  0   3545 01:18:06.88   1.3200A   1.3596   0.3063  -0.4989  0.052  0.00   0.000      0.  0.270E+00  0.730E-02  0.297E-03  0.174E-04   35  15   3   25  28  19   13  22  29    0.000    0.000       0
+  0   3549 01:18:12.22   1.3400A   1.3435   0.2960  -0.4808  0.052  0.00   0.000      0.  0.270E+00  0.727E-02  0.302E-03  0.178E-04   35  15   6   20  18  29   12  22  29    0.000    0.000       0
+  0   3554 01:18:18.92   1.3400A   1.3434   0.3153  -0.4509  0.052  0.00   0.000      0.  0.270E+00  0.725E-02  0.302E-03  0.183E-04   35  15  11   23  14  27   11  22  29    0.000    0.000       0
+  0   3558 01:18:24.28   1.3400A   1.3444   0.3064  -0.4647  0.052  0.00   0.000      0.  0.270E+00  0.724E-02  0.305E-03  0.197E-04   35  15  14   23  14  29   17  29  29    0.000    0.000       0
+  0   3563 01:18:30.96   1.3400A   1.3460  -0.2999  -0.4742  0.052  0.00   0.000      0.  0.271E+00  0.725E-02  0.310E-03  0.224E-04   35  15  18   22  20  19   16  29  29    0.000    0.000       0
+  0   3567 01:18:36.33   1.3500A   1.3379  -0.3085  -0.4647  0.052  0.00   0.000      0.  0.271E+00  0.726E-02  0.317E-03  0.246E-04   35  15  21   21  20  19   15  29  29    0.000    0.000       0
+  0   3572 01:18:43.10   1.3600A   1.3265  -0.3628  -0.4594  0.052  0.00   0.000      0.  0.271E+00  0.727E-02  0.322E-03  0.257E-04   37   0  14   20   5  28   15  30  29    0.000    0.000       0
+  0   3576 01:18:48.54   1.3600A   1.3251   0.3996  -0.4592  0.053  0.00   0.000      0.  0.271E+00  0.728E-02  0.323E-03  0.255E-04   37   0  17   20  13  29   14  30  29    0.000    0.000       0
+  0   3581 01:18:55.34   1.3600A   1.3242  -0.4589  -0.4473  0.053  0.00   0.000      0.  0.271E+00  0.727E-02  0.323E-03  0.248E-04   37   0  21   21  14  28   13  30  29    0.000    0.000       0
+  0   3585 01:19:00.74   1.3400A   1.3465  -0.4105  -0.4399  0.054  0.00   0.000      0.  0.272E+00  0.726E-02  0.319E-03  0.246E-04   27  36   8   21  13  28   12  31  29    0.000    0.000       0
+  0   3589 01:19:06.07   1.3300A   1.3563  -0.4018  -0.4808  0.054  0.00   0.000      0.  0.272E+00  0.723E-02  0.318E-03  0.252E-04   27  36  11   20  14  28   18   9  29    0.000    0.000       0
+  0   3594 01:19:12.64   1.3100A   1.3744   0.3794  -0.5428  0.053  0.00   0.000      0.  0.272E+00  0.719E-02  0.312E-03  0.240E-04   27  36  14   20  30  29   17   9  29    0.000    0.000       0
+  0   3599 01:19:19.12   1.2800A   1.4056  -0.3520  -0.5568  0.053  0.00   0.000      0.  0.272E+00  0.713E-02  0.298E-03  0.202E-04   27  36  18   27  30  27   16   8  29    0.000    0.000       0
+  0   3603 01:19:24.22   1.2800A   1.4037   0.3465  -0.5916  0.053  0.00   0.000      0.  0.271E+00  0.707E-02  0.291E-03  0.181E-04   27  36  21   20   9  28   17  23  29    0.000    0.000       0
+  0   3608 01:19:30.56   1.2700A   1.4136  -0.3479  -0.6109  0.053  0.00   0.000      0.  0.271E+00  0.698E-02  0.284E-03  0.175E-04   27  36  24   26  29  30   16  22  29    0.000    0.000       0
+  0   3613 01:19:37.04   1.3100A   1.3763  -0.3371  -0.5962  0.052  0.00   0.000      0.  0.271E+00  0.687E-02  0.285E-03  0.177E-04   27  36  27   26  29  33   15  22  29    0.000    0.000       0
+  0   3617 01:19:42.26   1.3100A   1.3740  -0.3305  -0.5750  0.052  0.00   0.000      0.  0.270E+00  0.680E-02  0.278E-03  0.170E-04   27  36  30   26  29  36   15  22  29    0.000    0.000       0
+  0   3622 01:19:48.80   1.3200A   1.3686  -0.3342  -0.5430  0.051  0.00   0.000      0.  0.270E+00  0.673E-02  0.277E-03  0.177E-04   27  36  34   26  29  38   14  22  29    0.000    0.000       0
+  0   3626 01:19:54.11   1.3300A   1.3490  -0.3294  -0.5203  0.051  0.00   0.000      0.  0.270E+00  0.670E-02  0.280E-03  0.196E-04   27  36  36   25  32  34   13  22  29    0.000    0.000       0
+  0   3631 01:20:00.84   1.3400A   1.3392  -0.3254  -0.4949  0.050  0.00   0.000      0.  0.271E+00  0.668E-02  0.287E-03  0.228E-04   40   3  14   25  32  36   12  21  29    0.000    0.000       0
+  0   3635 01:20:06.23   1.3400A   1.3387  -0.3270  -0.4810  0.050  0.00   0.000      0.  0.271E+00  0.668E-02  0.292E-03  0.252E-04   40   3  17   25  31  38   11  21  29    0.000    0.000       0
+  0   3640 01:20:12.96   1.3400A   1.3389   0.3621  -0.4710  0.050  0.00   0.000      0.  0.271E+00  0.670E-02  0.298E-03  0.277E-04   40   3  21   21   7  28   12  18  29    0.000    0.000       0
+  0   3644 01:20:18.35   1.3500A   1.3374  -0.3493  -0.4608  0.050  0.00   0.000      0.  0.271E+00  0.673E-02  0.302E-03  0.283E-04   40   3  24   26  29  10   12  18  29    0.000    0.000       0
+  0   3649 01:20:25.07   1.3400A   1.3456  -0.3437  -0.4414  0.050  0.00   0.000      0.  0.272E+00  0.676E-02  0.294E-03  0.239E-04   28  39  10   26  29  13   11  18  29    0.000    0.000       0
+  0   3653 01:20:30.40   1.3300A   1.3544  -0.3941  -0.4308  0.051  0.00   0.000      0.  0.272E+00  0.678E-02  0.292E-03  0.209E-04   26  35  14   20  15  29   10  17  29    0.000    0.000       0
+  0   3658 01:20:36.98   1.3100A   1.3743  -0.3897  -0.5211  0.051  0.00   0.000      0.  0.272E+00  0.677E-02  0.290E-03  0.201E-04   26  35  17   20  15  29   18  38  29    0.000    0.000       0
+  0   3662 01:20:42.24   1.3100A   1.3695  -0.3985  -0.5626  0.052  0.00   0.000      0.  0.272E+00  0.675E-02  0.293E-03  0.210E-04   26  35  20   20  14  29   17  38  29    0.000    0.000       0
+  0   3667 01:20:48.84   1.3200A   1.3587  -0.3692  -0.5668  0.052  0.00   0.000      0.  0.272E+00  0.671E-02  0.296E-03  0.219E-04   26  35  24   20  14  29   17  29  29    0.000    0.000       0
+  0   3671 01:20:54.23   1.3500A   1.3352  -0.3096  -0.5530  0.052  0.00   0.000      0.  0.272E+00  0.668E-02  0.300E-03  0.220E-04   40   3   6   19  14  29   17  30  29    0.000    0.000       0
+  0   3676 01:21:00.96   1.3500A   1.3376   0.3426  -0.5200  0.051  0.00   0.000      0.  0.271E+00  0.664E-02  0.297E-03  0.219E-04   40   3  10   21  11  25   15  30  29    0.000    0.000       0
+  0   3680 01:21:06.32   1.3400A   1.3413  -0.4053  -0.5010  0.051  0.00   0.000      0.  0.271E+00  0.662E-02  0.289E-03  0.208E-04   40   3  13   20   2  28   16  32  29    0.000    0.000       0
+  0   3685 01:21:13.02   1.3400A   1.3436   0.3798  -0.4928  0.051  0.00   0.000      0.  0.271E+00  0.660E-02  0.285E-03  0.195E-04   40   3  17   21  11  28   15  32  29    0.000    0.000       0
+  0   3689 01:21:18.38   1.3400A   1.3448   0.3429  -0.4840  0.051  0.00   0.000      0.  0.271E+00  0.659E-02  0.282E-03  0.184E-04   40   3  20   21  11  29   17  34  29    0.000    0.000       0
+  0   3694 01:21:25.08   1.3400A   1.3461   0.3028  -0.4936  0.052  0.00   0.000      0.  0.271E+00  0.657E-02  0.281E-03  0.185E-04   40   3  24   21   8  28   18   5  29    0.000    0.000       0
+  0   3698 01:21:30.44   1.3400A   1.3443   0.3186  -0.5247  0.051  0.00   0.000      0.  0.271E+00  0.655E-02  0.282E-03  0.202E-04   40   3  27   21  11  32   17   5  29    0.000    0.000       0
+  0   3703 01:21:37.14   1.3400A   1.3448  -0.2975  -0.5136  0.051  0.00   0.000      0.  0.271E+00  0.654E-02  0.282E-03  0.211E-04   40   3  31   25  23   3   16   5  29    0.000    0.000       0
+  0   3707 01:21:42.47   1.3300A   1.3485  -0.3229  -0.4903  0.051  0.00   0.000      0.  0.271E+00  0.653E-02  0.282E-03  0.213E-04   40   3  35   21  13  28   15   5  29    0.000    0.000       0
+  0   3712 01:21:49.13   1.3300A   1.3506  -0.4067  -0.4760  0.050  0.00   0.000      0.  0.271E+00  0.653E-02  0.284E-03  0.226E-04   40   3  39   21  13  28   16   8  29    0.000    0.000       0
+  0   3716 01:21:54.45   1.3300A   1.3529  -0.4799  -0.4687  0.050  0.00   0.000      0.  0.272E+00  0.654E-02  0.283E-03  0.227E-04   40   3   2   21  15  28   16   8  29    0.000    0.000       0
+  0   3721 01:22:01.10   1.3300A   1.3544  -0.3988  -0.4618  0.050  0.00   0.000      0.  0.272E+00  0.654E-02  0.280E-03  0.217E-04   40   3   6   20  15  28   14   7  29    0.000    0.000       0
+  0   3725 01:22:06.42   1.3300A   1.3540  -0.3620  -0.4567  0.050  0.00   0.000      0.  0.272E+00  0.654E-02  0.282E-03  0.221E-04   40   3   9   21  15  31   13   7  29    0.000    0.000       0
+  0   3730 01:22:13.07   1.3300A   1.3545  -0.3520  -0.4509  0.050  0.00   0.000      0.  0.272E+00  0.654E-02  0.284E-03  0.231E-04   40   3  13   24  14  38   12   7  29    0.000    0.000       0
+  0   3734 01:22:18.39   1.3300A   1.3519  -0.3728  -0.4633  0.050  0.00   0.000      0.  0.272E+00  0.654E-02  0.281E-03  0.217E-04   41   3  17   24  14  39   18  20  29    0.000    0.000       0
+  0   3739 01:22:25.04   1.3300A   1.3525   0.4448  -0.4583  0.050  0.00   0.000      0.  0.272E+00  0.652E-02  0.273E-03  0.186E-04   35  14   3   20   7  28   18  19  29    0.000    0.000       0
+  0   3743 01:22:30.36   1.3300A   1.3543  -0.3567  -0.4749  0.051  0.00   0.000      0.  0.272E+00  0.650E-02  0.271E-03  0.184E-04   35  14   6   23  14   1   17  19  29    0.000    0.000       0
+  0   3748 01:22:37.01   1.3300A   1.3531   0.3688  -0.4656  0.050  0.00   0.000      0.  0.272E+00  0.647E-02  0.268E-03  0.182E-04   35  14  10   20   8  29   16  19  29    0.000    0.000       0
+  0   3752 01:22:42.33   1.3300A   1.3500  -0.3930  -0.4689  0.050  0.00   0.000      0.  0.272E+00  0.644E-02  0.267E-03  0.179E-04   35  14  13   22  12   4   18   5  29    0.000    0.000       0
+  0   3757 01:22:49.02   1.3300A   1.3524  -0.3659  -0.4864  0.050  0.00   0.000      0.  0.272E+00  0.642E-02  0.264E-03  0.184E-04   31   9  26   22  12   6   17   5  29    0.000    0.000       0
+  0   3761 01:22:54.35   1.3300A   1.3539  -0.3381  -0.4557  0.050  0.00   0.000      0.  0.272E+00  0.641E-02  0.266E-03  0.198E-04   31   9  29   24  11  12   17  34  29    0.000    0.000       0
+  0   3766 01:23:01.01   1.3300A   1.3503  -0.3308  -0.4457  0.049  0.00   0.000      0.  0.272E+00  0.641E-02  0.268E-03  0.205E-04   31   9  33   24  11  14   16  34  29    0.000    0.000       0
+  0   3770 01:23:06.35   1.3400A   1.3454   0.3431  -0.4256  0.049  0.00   0.000      0.  0.272E+00  0.641E-02  0.270E-03  0.197E-04   31   9  36   20  30  28   15  34  29    0.000    0.000       0
+  0   3775 01:23:13.07   1.3500A   1.3313   0.4215  -0.4285  0.049  0.00   0.000      0.  0.272E+00  0.641E-02  0.273E-03  0.196E-04   35  13  31   20  30  29   14  33  29    0.000    0.000       0
+  0   3779 01:23:18.47   1.3500A   1.3292  -0.3453  -0.4437  0.049  0.00   0.000      0.  0.272E+00  0.640E-02  0.271E-03  0.193E-04   35  13  34   20  21  29   18  28  29    0.000    0.000       0
+  0   3784 01:23:25.23   1.3500A   1.3314  -0.3256  -0.4516  0.049  0.00   0.000      0.  0.272E+00  0.639E-02  0.268E-03  0.195E-04   30  37  37   24   8  23   17  24  29    0.000    0.000       0
+  0   3788 01:23:30.64   1.3600A   1.3283  -0.3061  -0.4735  0.048  0.00   0.000      0.  0.272E+00  0.640E-02  0.271E-03  0.218E-04   35  13   2   20   2  28   17  24  29    0.000    0.000       0
+  0   3792 01:23:36.06   1.3500A   1.3296  -0.3120  -0.4846  0.048  0.00   0.000      0.  0.272E+00  0.642E-02  0.273E-03  0.249E-04   35  13   5   20   1  28   16  24  29    0.000    0.000       0
+  0   3797 01:23:42.73   1.3200A   1.3627  -0.2953  -0.4807  0.048  0.00   0.000      0.  0.272E+00  0.644E-02  0.270E-03  0.262E-04   24  33  21   20   0  28   15  24  29    0.000    0.000       0
+  0   3801 01:23:48.02   1.3200A   1.3686   0.3145  -0.4749  0.048  0.00   0.000      0.  0.272E+00  0.646E-02  0.268E-03  0.251E-04   24  33  23   21   2  28   14  24  29    0.000    0.000       0
+  0   3806 01:23:54.68   1.3300A   1.3539   0.3485  -0.5198  0.048  0.00   0.000      0.  0.273E+00  0.648E-02  0.265E-03  0.218E-04   30  36  15   21   2  28   17   6  29    0.000    0.000       0
+  0   3810 01:24:00.00   1.3300A   1.3537  -0.3292  -0.5488  0.049  0.00   0.000      0.  0.273E+00  0.648E-02  0.262E-03  0.195E-04   30  36  18   22  33  30   17   5  29    0.000    0.000       0
+  0   3815 01:24:06.67   1.3400A   1.3473  -0.3351  -0.5327  0.049  0.00   0.000      0.  0.273E+00  0.648E-02  0.263E-03  0.186E-04   30  36  22   22  32  31   16   5  29    0.000    0.000       0
+  0   3819 01:24:12.05   1.3500A   1.3342  -0.3497  -0.5092  0.050  0.00   0.000      0.  0.273E+00  0.646E-02  0.263E-03  0.185E-04   30  36  25   22  32  33   16   4  29    0.000    0.000       0
+  0   3824 01:24:18.82   1.3500A   1.3288  -0.3067  -0.4686  0.050  0.00   0.000      0.  0.273E+00  0.644E-02  0.260E-03  0.180E-04   38   1  26   23  32   0   14   4  29    0.000    0.000       0
+  0   3828 01:24:24.25   1.3600A   1.3280  -0.3329  -0.4505  0.050  0.00   0.000      0.  0.272E+00  0.642E-02  0.258E-03  0.169E-04   38   1  29   23  32   2   17  37  29    0.000    0.000       0
+  0   3833 01:24:31.04   1.3600A   1.3267  -0.3453  -0.4314  0.050  0.00   0.000      0.  0.272E+00  0.640E-02  0.255E-03  0.163E-04   38   1  33   23  32   4   17  36  29    0.000    0.000       0
+  0   3837 01:24:36.48   1.3600A   1.3260  -0.3233  -0.4210  0.050  0.00   0.000      0.  0.272E+00  0.639E-02  0.255E-03  0.169E-04   38   1  37   22  32   3   16  35  29    0.000    0.000       0
+  0   3842 01:24:43.28   1.3600A   1.3252  -0.3150  -0.4108  0.050  0.00   0.000      0.  0.272E+00  0.639E-02  0.254E-03  0.178E-04   38   1   1   23  31   8   15  35  29    0.000    0.000       0
+  0   3846 01:24:48.72   1.3600A   1.3249  -0.3054  -0.4013  0.050  0.00   0.000      0.  0.272E+00  0.639E-02  0.255E-03  0.181E-04   38   1   4   23  31  10   14  35  29    0.000    0.000       0
+  0   3850 01:24:54.16   1.3600A   1.3229  -0.3130  -0.4084  0.049  0.00   0.000      0.  0.272E+00  0.640E-02  0.256E-03  0.183E-04   38   1   7   23  31  12   17  19  29    0.000    0.000       0
+  0   3855 01:25:00.96   1.3600A   1.3243  -0.3305  -0.4119  0.049  0.00   0.000      0.  0.272E+00  0.642E-02  0.258E-03  0.195E-04   39   6   0   23  31  14   17  19  29    0.000    0.000       0
+  0   3859 01:25:06.38   1.3500A   1.3294   0.3201  -0.4078  0.049  0.00   0.000      0.  0.272E+00  0.643E-02  0.258E-03  0.199E-04   39   6   3   23  20  28   16  19  29    0.000    0.000       0
+  0   3864 01:25:13.13   1.3500A   1.3340   0.3239  -0.3981  0.049  0.00   0.000      0.  0.272E+00  0.645E-02  0.259E-03  0.191E-04   39   6   7   23  20  31   15  18  29    0.000    0.000       0
+  0   3868 01:25:18.53   1.3500A   1.3373   0.3332  -0.3892  0.049  0.00   0.000      0.  0.272E+00  0.646E-02  0.255E-03  0.180E-04   39   6  10   23  21  32   14  18  29    0.000    0.000       0
+  0   3873 01:25:25.26   1.3400A   1.3406   0.3243  -0.3788  0.049  0.00   0.000      0.  0.272E+00  0.648E-02  0.251E-03  0.173E-04   39   6  14   23  21  34   13  18  29    0.000    0.000       0
+  0   3877 01:25:30.62   1.3400A   1.3417   0.3274  -0.3688  0.048  0.00   0.000      0.  0.272E+00  0.649E-02  0.252E-03  0.177E-04   39   6  17   24  32  17   13  18  29    0.000    0.000       0
+  0   3882 01:25:37.32   1.3400A   1.3431   0.3437  -0.3612  0.048  0.00   0.000      0.  0.272E+00  0.651E-02  0.254E-03  0.180E-04   39   6  21   24  33  19   12  18  29    0.000    0.000       0
+  0   3886 01:25:42.68   1.3400A   1.3419   0.3421  -0.3843  0.048  0.00   0.000      0.  0.272E+00  0.652E-02  0.253E-03  0.172E-04   39   6  24   24  33  21   18  38  29    0.000    0.000       0
+  0   3890 01:25:48.04   1.3400A   1.3401   0.3435  -0.3957  0.049  0.00   0.000      0.  0.272E+00  0.653E-02  0.254E-03  0.170E-04   39   6  28   24  34  23   18  37  29    0.000    0.000       0
+  0   3895 01:25:54.74   1.3400A   1.3385   0.3150  -0.4264  0.049  0.00   0.000      0.  0.272E+00  0.654E-02  0.256E-03  0.167E-04   39   6  32   23  32  28   18  36  29    0.000    0.000       0
+  0   3899 01:26:00.10   1.3400A   1.3391  -0.3422  -0.4539  0.049  0.00   0.000      0.  0.272E+00  0.653E-02  0.256E-03  0.159E-04   39   6  35   24  16  27   18  36  29    0.000    0.000       0
+  0   3904 01:26:06.80   1.3400A   1.3402  -0.3510  -0.4537  0.050  0.00   0.000      0.  0.272E+00  0.650E-02  0.252E-03  0.154E-04   29  17  26   23  16  27   17  36  29    0.000    0.000       0
+  0   3908 01:26:12.18   1.3400A   1.3408   0.3559  -0.4460  0.050  0.00   0.000      0.  0.272E+00  0.648E-02  0.251E-03  0.158E-04   29  17  29   22  33  32   17   3  29    0.000    0.000       0
+  0   3913 01:26:18.93   1.3500A   1.3330  -0.3423  -0.4466  0.050  0.00   0.000      0.  0.272E+00  0.645E-02  0.254E-03  0.157E-04   39   6   6   23  15  30   16   3  29    0.000    0.000       0
+  0   3917 01:26:24.33   1.3500A   1.3356  -0.3385  -0.4408  0.050  0.00   0.000      0.  0.272E+00  0.644E-02  0.256E-03  0.161E-04   32  15  38   24  15  34   15   3  29    0.000    0.000       0
+  0   3922 01:26:31.03   1.3400A   1.3483  -0.3632  -0.4353  0.050  0.00   0.000      0.  0.272E+00  0.643E-02  0.256E-03  0.158E-04   30   8   2   24  15  35   14   3  29    0.000    0.000       0
+  0   3926 01:26:36.39   1.3400A   1.3463  -0.3509  -0.4343  0.050  0.00   0.000      0.  0.272E+00  0.642E-02  0.257E-03  0.163E-04   30   8   5   24  15  37   14   3  29    0.000    0.000       0
+  0   3931 01:26:43.10   1.3400A   1.3413  -0.3465  -0.4273  0.050  0.00   0.000      0.  0.272E+00  0.640E-02  0.262E-03  0.182E-04   30   8   8   24  14  38   13   3  29    0.000    0.000       0
+  0   3935 01:26:48.47   1.3400A   1.3481  -0.3493  -0.4205  0.051  0.00   0.000      0.  0.272E+00  0.638E-02  0.265E-03  0.188E-04   30   8  11   23  14  39   12   3  29    0.000    0.000       0
+  0   3940 01:26:55.15   1.3300A   1.3517  -0.3422  -0.4249  0.051  0.00   0.000      0.  0.272E+00  0.636E-02  0.264E-03  0.189E-04   31   7  13   23  14   1   17  27  29    0.000    0.000       0
+  0   3944 01:27:00.45   1.3200A   1.3632  -0.3240  -0.4161  0.051  0.00   0.000      0.  0.272E+00  0.633E-02  0.263E-03  0.189E-04   31   7  16   22  13   2   16  27  29    0.000    0.000       0
+  0   3949 01:27:07.01   1.3000A   1.3817   0.3270  -0.4048  0.051  0.00   0.000      0.  0.272E+00  0.629E-02  0.256E-03  0.177E-04   31   7  19   23  26  36   16  27  29    0.000    0.000       0
+  0   3953 01:27:12.22   1.3000A   1.3867   0.3322  -0.3997  0.050  0.00   0.000      0.  0.272E+00  0.626E-02  0.255E-03  0.173E-04   31   7  22   23  26  38   15  27  29    0.000    0.000       0
+  0   3958 01:27:18.74   1.3000A   1.3844   0.3227  -0.4061  0.050  0.00   0.000      0.  0.272E+00  0.622E-02  0.252E-03  0.163E-04   31   7  25   23  26   0   17   8  29    0.000    0.000       0
+  0   3963 01:27:25.27   1.3100A   1.3704   0.3023  -0.3954  0.050  0.00   0.000      0.  0.272E+00  0.617E-02  0.249E-03  0.147E-04   31   7  29   23  26   2   16   9  29    0.000    0.000       0
+  0   3967 01:27:30.55   1.3300A   1.3566   0.2956  -0.3833  0.049  0.00   0.000      0.  0.272E+00  0.613E-02  0.251E-03  0.144E-04   30   8  35   23  22  13   16   9  29    0.000    0.000       0
+  0   3972 01:27:37.14   1.3100A   1.3691   0.3080  -0.3771  0.049  0.00   0.000      0.  0.272E+00  0.609E-02  0.246E-03  0.141E-04   30   8  39   23  22  15   16  21  29    0.000    0.000       0
+  0   3976 01:27:42.40   1.3100A   1.3697  -0.3315  -0.3662  0.048  0.00   0.000      0.  0.272E+00  0.607E-02  0.245E-03  0.143E-04   30   8   2   22  11  15   15  21  29    0.000    0.000       0
+  0   3981 01:27:48.97   1.3100A   1.3703  -0.3071  -0.3525  0.048  0.00   0.000      0.  0.272E+00  0.605E-02  0.244E-03  0.144E-04   30   8   5   22  11  17   14  21  29    0.000    0.000       0
+  0   3985 01:27:54.23   1.3100A   1.3734   0.3139  -0.3436  0.047  0.00   0.000      0.  0.272E+00  0.604E-02  0.244E-03  0.147E-04   30   8   8   23  24  17   13  21  29    0.000    0.000       0
+  0   3990 01:28:00.81   1.3200A   1.3591   0.3407  -0.3371  0.047  0.00   0.000      0.  0.272E+00  0.604E-02  0.249E-03  0.158E-04   30   8  12   22  23  18   12  21  29    0.000    0.000       0
+  0   3994 01:28:06.08   1.3200A   1.3666   0.3377  -0.3335  0.046  0.00   0.000      0.  0.272E+00  0.605E-02  0.252E-03  0.169E-04   30   8  14   22  24  19   11  21  29    0.000    0.000       0
+  0   3999 01:28:12.74   1.3400A   1.3394   0.3377  -0.3222  0.046  0.00   0.000      0.  0.272E+00  0.607E-02  0.260E-03  0.193E-04   31  14  11   22  24  21   10  21  29    0.000    0.000       0
+  0   4003 01:28:18.10   1.3400A   1.3400   0.3482  -0.3235  0.046  0.00   0.000      0.  0.272E+00  0.609E-02  0.264E-03  0.200E-04   31  14  14   22  24  23   11   4  28    0.000    0.000       0
+  0   4008 01:28:24.79   1.3300A   1.3501   0.3529  -0.3522  0.046  0.00   0.000      0.  0.272E+00  0.612E-02  0.264E-03  0.198E-04   31  13  16   22  24  26   16   1  29    0.000    0.000       0
+  0   4012 01:28:30.10   1.3200A   1.3638   0.3884  -0.3803  0.046  0.00   0.000      0.  0.273E+00  0.614E-02  0.264E-03  0.197E-04   31  13  19   22  25  26   16   1  29    0.000    0.000       0
+  0   4017 01:28:36.67   1.3100A   1.3769   0.3882  -0.3986  0.047  0.00   0.000      0.  0.273E+00  0.617E-02  0.261E-03  0.182E-04   31  13  23   22  25  28   15   1  29    0.000    0.000       0
+  0   4022 01:28:43.20   1.3100A   1.3783   0.3766  -0.4102  0.047  0.00   0.000      0.  0.273E+00  0.619E-02  0.257E-03  0.153E-04   31  13  27   22  26  30   15   1  29    0.000    0.000       0
+  0   4026 01:28:48.41   1.3000A   1.3830   0.3773  -0.4068  0.048  0.00   0.000      0.  0.273E+00  0.621E-02  0.255E-03  0.150E-04   31  13  30   22  26  32   14   1  29    0.000    0.000       0
+  0   4031 01:28:54.88   1.2900A   1.3914   0.3842  -0.3966  0.048  0.00   0.000      0.  0.273E+00  0.622E-02  0.253E-03  0.162E-04   31  13  33   20  23  29   14   1  29    0.000    0.000       0
+  0   4035 01:29:00.05   1.2900A   1.3949   0.4540  -0.4666  0.048  0.00   0.000      0.  0.273E+00  0.622E-02  0.251E-03  0.161E-04   31  13  36   20  23  29   18  20  29    0.000    0.000       0
+  0   4040 01:29:06.51   1.2900A   1.3957   0.3720  -0.5237  0.049  0.00   0.000      0.  0.272E+00  0.622E-02  0.247E-03  0.153E-04   31  13   0   19  23  29   18  20  29    0.000    0.000       0
+  0   4045 01:29:12.99   1.3000A   1.3829   0.3188  -0.5304  0.049  0.00   0.000      0.  0.272E+00  0.623E-02  0.247E-03  0.163E-04   31  13   3   19  23  29   17  20  29    0.000    0.000       0
+  0   4049 01:29:18.21   1.3100A   1.3787   0.3058  -0.5224  0.049  0.00   0.000      0.  0.272E+00  0.624E-02  0.250E-03  0.175E-04   31  13   6   21  25  38   17  19  29    0.000    0.000       0
+  0   4054 01:29:24.68   1.2900A   1.3983   0.3013  -0.5017  0.049  0.00   0.000      0.  0.272E+00  0.625E-02  0.246E-03  0.174E-04   30  15  15   20  12  29   16  19  29    0.000    0.000       0
+  0   4059 01:29:31.14   1.2900A   1.3947   0.3245  -0.4747  0.049  0.00   0.000      0.  0.272E+00  0.627E-02  0.247E-03  0.179E-04   30  15  19   22  25   6   17   9  29    0.000    0.000       0
+  0   4063 01:29:36.31   1.2900A   1.3967   0.3456  -0.4838  0.049  0.00   0.000      0.  0.272E+00  0.628E-02  0.248E-03  0.179E-04   30  13  16   22  25   8   16   9  29    0.000    0.000       0
+  0   4068 01:29:42.74   1.2900A   1.3957   0.3341  -0.4785  0.049  0.00   0.000      0.  0.272E+00  0.630E-02  0.247E-03  0.174E-04   30  13  19   22  25  10   15   9  29    0.000    0.000       0
+  0   4073 01:29:49.15   1.2800A   1.4117   0.3070  -0.4656  0.049  0.00   0.000      0.  0.272E+00  0.631E-02  0.245E-03  0.170E-04   30  13  23   22  25  12   14   9  29    0.000    0.000       0
+  0   4077 01:29:54.29   1.2900A   1.3929   0.3024  -0.4472  0.049  0.00   0.000      0.  0.272E+00  0.632E-02  0.246E-03  0.163E-04   30  13  26   24  14   9   14   9  29    0.000    0.000       0
+  0   4082 01:30:00.80   1.3100A   1.3719   0.3036  -0.4349  0.049  0.00   0.000      0.  0.272E+00  0.634E-02  0.252E-03  0.159E-04   30  13  29   24  14  11   13   9  29    0.000    0.000       0
+  0   4086 01:30:06.06   1.3300A   1.3585   0.2991  -0.4289  0.048  0.00   0.000      0.  0.272E+00  0.635E-02  0.259E-03  0.165E-04   30  11  26   23  37  24   12   9  29    0.000    0.000       0
+  0   4091 01:30:12.65   1.3200A   1.3609   0.2887  -0.4127  0.048  0.00   0.000      0.  0.272E+00  0.636E-02  0.261E-03  0.164E-04   30  11  30   22   8   0   11   9  29    0.000    0.000       0
+  0   4096 01:30:19.18   1.2900A   1.3904   0.3319  -0.3933  0.048  0.00   0.000      0.  0.272E+00  0.638E-02  0.257E-03  0.153E-04   31  11  29   22  37  28   10   9  29    0.000    0.000       0
+  0   4100 01:30:24.35   1.2900A   1.4004  -0.3363  -0.3735  0.048  0.00   0.000      0.  0.272E+00  0.640E-02  0.259E-03  0.154E-04   31  11  32   20  31  29    9   9  29    0.000    0.000       0
+  0   4105 01:30:30.80   1.2900A   1.3965  -0.3248  -0.3722  0.048  0.00   0.000      0.  0.272E+00  0.642E-02  0.261E-03  0.164E-04   30  10  39   19  31  29   18  33  29    0.000    0.000       0
+  0   4110 01:30:37.29   1.3000A   1.3817   0.3245  -0.4181  0.048  0.00   0.000      0.  0.272E+00  0.646E-02  0.265E-03  0.171E-04   31  11  39   23  37  37   17  33  29    0.000    0.000       0
+  0   4114 01:30:42.56   1.3300A   1.3532   0.3344  -0.4216  0.048  0.00   0.000      0.  0.272E+00  0.648E-02  0.272E-03  0.181E-04   31  11   2   23  38  38   17  34  29    0.000    0.000       0
+  0   4119 01:30:49.22   1.3300A   1.3505   0.3599  -0.4157  0.048  0.00   0.000      0.  0.272E+00  0.652E-02  0.276E-03  0.189E-04   30  11   5   23  38   0   16  34  29    0.000    0.000       0
+  0   4123 01:30:54.55   1.3400A   1.3434   0.3333  -0.3991  0.048  0.00   0.000      0.  0.272E+00  0.656E-02  0.282E-03  0.196E-04   40   6   7   23  38   2   15  34  29    0.000    0.000       0
+  0   4128 01:31:01.21   1.3300A   1.3572   0.3694  -0.3875  0.048  0.00   0.000      0.  0.273E+00  0.660E-02  0.283E-03  0.196E-04   31  10  10   23  39   4   16  36  29    0.000    0.000       0
+  0   4132 01:31:06.50   1.3200A   1.3616   0.3553  -0.3812  0.048  0.00   0.000      0.  0.273E+00  0.662E-02  0.285E-03  0.211E-04   31  10  13   23  39   6   15  36  29    0.000    0.000       0
+  0   4137 01:31:13.12   1.3200A   1.3598  -0.4004  -0.3900  0.048  0.00   0.000      0.  0.273E+00  0.664E-02  0.288E-03  0.220E-04   31  10  17   21   6  28   18   2  29    0.000    0.000       0
+  0   4141 01:31:18.47   1.3400A   1.3482   0.4055  -0.4125  0.049  0.00   0.000      0.  0.273E+00  0.665E-02  0.290E-03  0.204E-04   40   1  22   20  11  28   17   2  29    0.000    0.000       0
+  0   4146 01:31:25.12   1.3300A   1.3486   0.4046  -0.4442  0.049  0.00   0.000      0.  0.273E+00  0.664E-02  0.288E-03  0.188E-04   41   1  26   20  25  29   17  21  29    0.000    0.000       0
+  0   4150 01:31:30.44   1.3300A   1.3491   0.4210  -0.5014  0.049  0.00   0.000      0.  0.273E+00  0.662E-02  0.288E-03  0.186E-04   41   1  30   19  25  29   19   7  29    0.000    0.000       0
+  0   4155 01:31:37.09   1.3300A   1.3514   0.4127  -0.5313  0.049  0.00   0.000      0.  0.273E+00  0.659E-02  0.292E-03  0.200E-04   33  31  17   19  25  29   18   7  29    0.000    0.000       0
+  0   4159 01:31:42.41   1.3300A   1.3517  -0.4931  -0.5173  0.049  0.00   0.000      0.  0.273E+00  0.657E-02  0.291E-03  0.198E-04   33  31  21   20  14  28   17   7  29    0.000    0.000       0
+  0   4164 01:31:49.02   1.3200A   1.3592  -0.4812  -0.4987  0.049  0.00   0.000      0.  0.273E+00  0.654E-02  0.286E-03  0.195E-04   35  38  38   20  13  28   16   7  29    0.000    0.000       0
+  0   4168 01:31:54.30   1.3200A   1.3681  -0.4071  -0.4917  0.049  0.00   0.000      0.  0.273E+00  0.653E-02  0.285E-03  0.192E-04   35  38   1   20  13  28   16   7  29    0.000    0.000       0
+  0   4173 01:32:00.87   1.3100A   1.3727  -0.3438  -0.4755  0.049  0.00   0.000      0.  0.273E+00  0.652E-02  0.280E-03  0.182E-04   35  38   5   20  12  28   15   7  29    0.000    0.000       0
+  0   4177 01:32:06.11   1.3100A   1.3759  -0.3239  -0.4606  0.050  0.00   0.000      0.  0.273E+00  0.652E-02  0.279E-03  0.178E-04   35  38   8   20  30  26   14   7  29    0.000    0.000       0
+  0   4182 01:32:12.66   1.3100A   1.3739  -0.3502  -0.4439  0.050  0.00   0.000      0.  0.273E+00  0.652E-02  0.280E-03  0.189E-04   35  38  11   20  30  28   13   7  29    0.000    0.000       0
+  0   4187 01:32:19.21   1.3100A   1.3723  -0.3458  -0.4274  0.050  0.00   0.000      0.  0.273E+00  0.653E-02  0.281E-03  0.201E-04   35  38  15   20  29  28   12   7  29    0.000    0.000       0
+  0   4191 01:32:24.45   1.3100A   1.3725  -0.3871  -0.4157  0.050  0.00   0.000      0.  0.273E+00  0.653E-02  0.281E-03  0.195E-04   35  38  19   20  29  29   12   8  29    0.000    0.000       0
+  0   4196 01:32:31.00   1.3100A   1.3701  -0.3672  -0.4238  0.051  0.00   0.000      0.  0.273E+00  0.652E-02  0.284E-03  0.193E-04   35  38  23   20  29  29   18  31  29    0.000    0.000       0
+  0   4200 01:32:36.27   1.3200A   1.3687  -0.3700  -0.4698  0.051  0.00   0.000      0.  0.273E+00  0.651E-02  0.287E-03  0.187E-04   37  39  24   19  29  29   18  31  29    0.000    0.000       0
+  0   4205 01:32:42.83   1.3100A   1.3744  -0.3327  -0.5141  0.051  0.00   0.000      0.  0.273E+00  0.648E-02  0.283E-03  0.175E-04   34  38  32   21  39  28   17  35  29    0.000    0.000       0
+  0   4209 01:32:48.05   1.3000A   1.3816   0.3543  -0.5245  0.051  0.00   0.000      0.  0.273E+00  0.646E-02  0.279E-03  0.172E-04   34  38  35   20   6  29   16  34  29    0.000    0.000       0
+  0   4214 01:32:54.55   1.3000A   1.3874   0.3370  -0.5273  0.051  0.00   0.000      0.  0.273E+00  0.642E-02  0.275E-03  0.178E-04   34  38  39   20   6  29   16  34  29    0.000    0.000       0
+  0   4219 01:33:01.02   1.2900A   1.3919   0.3299  -0.5180  0.050  0.00   0.000      0.  0.273E+00  0.639E-02  0.273E-03  0.192E-04   34  38   3   22  38  23   15  34  29    0.000    0.000       0
+  0   4223 01:33:06.18   1.2900A   1.3951   0.3244  -0.5067  0.050  0.00   0.000      0.  0.273E+00  0.637E-02  0.271E-03  0.190E-04   34  38   6   23  37  28   14  34  29    0.000    0.000       0
+  0   4228 01:33:12.63   1.2900A   1.3989   0.3175  -0.4882  0.049  0.00   0.000      0.  0.273E+00  0.636E-02  0.271E-03  0.188E-04   34  38  10   22  39  25   13  34  29    0.000    0.000       0
+  0   4233 01:33:19.06   1.2800A   1.4033  -0.3225  -0.4657  0.049  0.00   0.000      0.  0.273E+00  0.635E-02  0.269E-03  0.198E-04   34  38  14   28   9   1   12  34  29    0.000    0.000       0
+  0   4237 01:33:24.18   1.2800A   1.4050  -0.3142  -0.4569  0.048  0.00   0.000      0.  0.273E+00  0.634E-02  0.268E-03  0.196E-04   34  38  17   28   9   3   16  39  29    0.000    0.000       0
+  0   4242 01:33:30.58   1.2800A   1.4060  -0.3040  -0.4655  0.048  0.00   0.000      0.  0.273E+00  0.632E-02  0.266E-03  0.181E-04   34  39  20   28   9   6   15  39  29    0.000    0.000       0
+  0   4247 01:33:36.98   1.2800A   1.4099  -0.2985  -0.4589  0.048  0.00   0.000      0.  0.273E+00  0.630E-02  0.262E-03  0.165E-04   34  39  24   27   9   8   14  39  29    0.000    0.000       0
+  0   4251 01:33:42.07   1.2800A   1.4104  -0.2847  -0.4437  0.048  0.00   0.000      0.  0.273E+00  0.628E-02  0.260E-03  0.155E-04   34  39  28   28   9  12   13  39  29    0.000    0.000       0
+  0   4256 01:33:48.43   1.2700A   1.4130   0.3162  -0.4314  0.048  0.00   0.000      0.  0.272E+00  0.625E-02  0.257E-03  0.154E-04   34  39  32   20  15  28   13  38  28    0.000    0.000       0
+  0   4261 01:33:54.78   1.2700A   1.4143   0.2895  -0.4457  0.048  0.00   0.000      0.  0.272E+00  0.623E-02  0.258E-03  0.164E-04   34  39  36   20  15  28   12  38  28    0.000    0.000       0
+  0   4266 01:34:01.13   1.2700A   1.4128   0.3147  -0.4526  0.048  0.00   0.000      0.  0.272E+00  0.622E-02  0.260E-03  0.189E-04   34  39   0   22  12  24   11  38  28    0.000    0.000       0
+  0   4270 01:34:06.21   1.2700A   1.4128   0.3096  -0.4494  0.047  0.00   0.000      0.  0.272E+00  0.623E-02  0.263E-03  0.217E-04   34  39   3   22  11  26   10  38  28    0.000    0.000       0
+  0   4275 01:34:12.60   1.2800A   1.4083  -0.3235  -0.4284  0.047  0.00   0.000      0.  0.273E+00  0.625E-02  0.267E-03  0.246E-04   34  39   7   22  24  28    9  38  28    0.000    0.000       0
+  0   4280 01:34:19.01   1.2900A   1.4008  -0.3116  -0.4238  0.048  0.00   0.000      0.  0.273E+00  0.627E-02  0.270E-03  0.247E-04   34   0  11   21  24  28   15   6  29    0.000    0.000       0
+  0   4284 01:34:24.16   1.2900A   1.3973  -0.3510  -0.4543  0.048  0.00   0.000      0.  0.273E+00  0.628E-02  0.268E-03  0.226E-04   34   0  14   20  11  29   17  12  29    0.000    0.000       0
+  0   4289 01:34:30.62   1.3000A   1.3874  -0.3716  -0.5145  0.048  0.00   0.000      0.  0.274E+00  0.629E-02  0.271E-03  0.216E-04   34   0  18   19  11  29   17  12  29    0.000    0.000       0
+  0   4294 01:34:37.09   1.3000A   1.3859   0.3768  -0.5276  0.049  0.00   0.000      0.  0.274E+00  0.627E-02  0.268E-03  0.197E-04   40   5  28   20  32  29   16  13  29    0.000    0.000       0
+  0   4298 01:34:42.26   1.3000A   1.3884   0.3868  -0.5258  0.049  0.00   0.000      0.  0.274E+00  0.625E-02  0.268E-03  0.194E-04   41   5  32   20  11  28   17  28  29    0.000    0.000       0
+  0   4303 01:34:48.73   1.3000A   1.3865   0.3644  -0.5673  0.050  0.00   0.000      0.  0.274E+00  0.622E-02  0.265E-03  0.199E-04   36   7  21   20  11  28   17  28  29    0.000    0.000       0
+  0   4308 01:34:55.19   1.3000A   1.3895   0.3048  -0.5573  0.050  0.00   0.000      0.  0.273E+00  0.617E-02  0.260E-03  0.193E-04   36   7  24   20   8  29   16  28  29    0.000    0.000       0
+  0   4312 01:35:00.36   1.3000A   1.3872   0.3607  -0.5391  0.050  0.00   0.000      0.  0.273E+00  0.613E-02  0.255E-03  0.181E-04   36   7  28   20   8  29   15  28  29    0.000    0.000       0
+  0   4317 01:35:06.81   1.2900A   1.3944   0.3294  -0.5086  0.050  0.00   0.000      0.  0.273E+00  0.607E-02  0.246E-03  0.164E-04   28  38  18   19   8  29   14  28  29    0.000    0.000       0
+  0   4321 01:35:12.01   1.3100A   1.3772   0.3214  -0.4995  0.049  0.00   0.000      0.  0.273E+00  0.603E-02  0.246E-03  0.162E-04   36   7  35   19   8  29   17   2  29    0.000    0.000       0
+  0   4326 01:35:18.55   1.3100A   1.3690   0.2954  -0.5143  0.049  0.00   0.000      0.  0.272E+00  0.599E-02  0.247E-03  0.172E-04   36   7  39   20   2  29   17   2  29    0.000    0.000       0
+  0   4331 01:35:25.15   1.3200A   1.3643  -0.2794  -0.4998  0.049  0.00   0.000      0.  0.272E+00  0.596E-02  0.252E-03  0.191E-04   36   7   3   21   0  26   16   2  29    0.000    0.000       0
+  0   4335 01:35:30.43   1.3200A   1.3664  -0.2924  -0.5007  0.049  0.00   0.000      0.  0.272E+00  0.594E-02  0.251E-03  0.192E-04   36   1  39   21   0  26   17  39  29    0.000    0.000       0
+  0   4340 01:35:37.03   1.3200A   1.3663  -0.2922  -0.4720  0.048  0.00   0.000      0.  0.272E+00  0.592E-02  0.250E-03  0.186E-04   36   1   3   20   1  28   16  39  29    0.000    0.000       0
+  0   4344 01:35:42.31   1.3200A   1.3620  -0.3418  -0.4541  0.048  0.00   0.000      0.  0.273E+00  0.591E-02  0.249E-03  0.184E-04   36   1   6   20   1  28   16  38  29    0.000    0.000       0
+  0   4349 01:35:48.91   1.3200A   1.3603   0.3371  -0.4344  0.048  0.00   0.000      0.  0.273E+00  0.590E-02  0.245E-03  0.174E-04   36   7  18   20  28  29   13   2  29    0.000    0.000       0
+  0   4353 01:35:54.20   1.3200A   1.3593  -0.3197  -0.4223  0.048  0.00   0.000      0.  0.273E+00  0.590E-02  0.242E-03  0.167E-04   41   5  24   20  39  28   12   2  29    0.000    0.000       0
+  0   4358 01:36:00.80   1.3200A   1.3611   0.3150  -0.4058  0.048  0.00   0.000      0.  0.273E+00  0.590E-02  0.241E-03  0.169E-04   41   5  28   20  29  29   11   2  29    0.000    0.000       0
+  0   4362 01:36:06.08   1.3200A   1.3607   0.2830  -0.3958  0.048  0.00   0.000      0.  0.273E+00  0.591E-02  0.243E-03  0.177E-04   41   5  31   20  10  28   13  37  29    0.000    0.000       0
+  0   4367 01:36:12.68   1.3200A   1.3596  -0.2828  -0.3828  0.048  0.00   0.000      0.  0.273E+00  0.592E-02  0.244E-03  0.183E-04   41   5  35   22  21  23   12  37  29    0.000    0.000       0
+  0   4372 01:36:19.28   1.3200A   1.3662  -0.3390  -0.3750  0.048  0.00   0.000      0.  0.273E+00  0.594E-02  0.245E-03  0.187E-04   41   6  38   22  24  22   12  36  29    0.000    0.000       0
+  0   4376 01:36:24.55   1.3100A   1.3706  -0.3480  -0.3657  0.049  0.00   0.000      0.  0.273E+00  0.595E-02  0.244E-03  0.188E-04   41   6   1   22  23  24   11  36  29    0.000    0.000       0
+  0   4381 01:36:31.11   1.3100A   1.3737  -0.3946  -0.3802  0.049  0.00   0.000      0.  0.273E+00  0.597E-02  0.242E-03  0.179E-04   41   6   5   22  23  26   17   6  29    0.000    0.000       0
+  0   4385 01:36:36.35   1.3100A   1.3750  -0.3917  -0.3864  0.049  0.00   0.000      0.  0.273E+00  0.597E-02  0.240E-03  0.170E-04   41   6   8   22  23  28   17   6  29    0.000    0.000       0
+  0   4390 01:36:42.90   1.3100A   1.3727  -0.3731  -0.3665  0.049  0.00   0.000      0.  0.273E+00  0.599E-02  0.237E-03  0.162E-04   41   6  12   22  23  30   15  13  29    0.000    0.000       0
+  0   4394 01:36:48.14   1.3100A   1.3709  -0.3510  -0.3732  0.049  0.00   0.000      0.  0.273E+00  0.600E-02  0.236E-03  0.160E-04   41   6  15   22  22  31   17  12  29    0.000    0.000       0
+  0   4399 01:36:54.73   1.3200A   1.3639  -0.3534  -0.4018  0.050  0.00   0.000      0.  0.273E+00  0.601E-02  0.238E-03  0.163E-04   41   6  19   20  22  28   17  11  29    0.000    0.000       0
+  0   4403 01:37:00.01   1.3200A   1.3595  -0.3519  -0.4616  0.050  0.00   0.000      0.  0.273E+00  0.601E-02  0.237E-03  0.160E-04   41   6  22   20  24  29   18  25  29    0.000    0.000       0
+  0   4408 01:37:06.63   1.3200A   1.3616  -0.3522  -0.4989  0.050  0.00   0.000      0.  0.273E+00  0.602E-02  0.237E-03  0.156E-04   41   4  27   19  24  29   18  26  29    0.000    0.000       0
+  0   4413 01:37:13.23   1.3200A   1.3655  -0.3469  -0.5377  0.050  0.00   0.000      0.  0.273E+00  0.603E-02  0.240E-03  0.166E-04   41   4  31   19  23  29   17  26  29    0.000    0.000       0
+  0   4417 01:37:18.48   1.3100A   1.3730  -0.3295  -0.5246  0.050  0.00   0.000      0.  0.273E+00  0.604E-02  0.243E-03  0.185E-04   28   1  39   18  23  29   17  26  29    0.000    0.000       0
+  0   4422 01:37:25.03   1.3100A   1.3744  -0.3291  -0.5044  0.050  0.00   0.000      0.  0.273E+00  0.606E-02  0.247E-03  0.204E-04   41   6   3   20  37  29   16  26  29    0.000    0.000       0
+  0   4426 01:37:30.25   1.3000A   1.3799   0.3075  -0.4849  0.049  0.00   0.000      0.  0.273E+00  0.607E-02  0.249E-03  0.214E-04   41   6   6   20   4  29   15  27  29    0.000    0.000       0
+  0   4431 01:37:36.76   1.3000A   1.3835   0.3017  -0.4628  0.049  0.00   0.000      0.  0.273E+00  0.608E-02  0.253E-03  0.211E-04   41   6  10   22  35  16   14  27  29    0.000    0.000       0
+  0   4436 01:37:43.26   1.3000A   1.3866   0.3405  -0.4866  0.049  0.00   0.000      0.  0.273E+00  0.609E-02  0.254E-03  0.203E-04   41   6  14   22  36  19   17  39  29    0.000    0.000       0
+  0   4440 01:37:48.45   1.2900A   1.3900   0.3433  -0.4819  0.048  0.00   0.000      0.  0.273E+00  0.610E-02  0.251E-03  0.188E-04   41   6  17   22  36  20   16  39  29    0.000    0.000       0
+  0   4445 01:37:54.93   1.2900A   1.3920   0.3313  -0.4699  0.048  0.00   0.000      0.  0.273E+00  0.612E-02  0.251E-03  0.173E-04   41   6  21   22  36  22   15  39  29    0.000    0.000       0
+  0   4449 01:38:00.10   1.2900A   1.3932   0.3313  -0.4521  0.048  0.00   0.000      0.  0.273E+00  0.613E-02  0.251E-03  0.173E-04   40   6  24   22  37  24   15  39  29    0.000    0.000       0
+  0   4454 01:38:06.56   1.2900A   1.3940  -0.3909  -0.4392  0.048  0.00   0.000      0.  0.273E+00  0.615E-02  0.249E-03  0.168E-04   40   6  28   20  39  29   14  39  29    0.000    0.000       0
+  0   4459 01:38:13.01   1.2900A   1.3937  -0.3707  -0.4227  0.048  0.00   0.000      0.  0.273E+00  0.618E-02  0.248E-03  0.169E-04   40   6  32   20  38  29   13  39  29    0.000    0.000       0
+  0   4463 01:38:18.18   1.2900A   1.3925  -0.3074  -0.4114  0.048  0.00   0.000      0.  0.273E+00  0.620E-02  0.249E-03  0.174E-04   40   6  35   20  38  29   12  39  29    0.000    0.000       0
+  0   4468 01:38:24.66   1.2900A   1.3905   0.2757  -0.3932  0.048  0.00   0.000      0.  0.273E+00  0.622E-02  0.251E-03  0.176E-04   40   6  39   22  35  28   11  39  29    0.000    0.000       0
+  0   4473 01:38:31.16   1.3000A   1.3873  -0.2867  -0.3723  0.048  0.00   0.000      0.  0.273E+00  0.626E-02  0.254E-03  0.177E-04   40   6   3   28  36   2   18   8  29    0.000    0.000       0
+  0   4477 01:38:36.36   1.3000A   1.3844  -0.3112  -0.3680  0.048  0.00   0.000      0.  0.273E+00  0.629E-02  0.259E-03  0.192E-04   41   7   6   28  36   4   17   8  29    0.000    0.000       0
+  0   4482 01:38:42.85   1.3000A   1.3892   0.3299  -0.3802  0.049  0.00   0.000      0.  0.274E+00  0.633E-02  0.263E-03  0.202E-04   41   7  10   21  35  28   17   9  29    0.000    0.000       0
+  0   4486 01:38:48.01   1.2900A   1.3947   0.3944  -0.4654  0.049  0.00   0.000      0.  0.274E+00  0.636E-02  0.263E-03  0.197E-04   41   7  14   20  33  29   18  30  29    0.000    0.000       0
+  0   4491 01:38:54.46   1.2900A   1.3981   0.4700  -0.4995  0.049  0.00   0.000      0.  0.274E+00  0.640E-02  0.262E-03  0.179E-04   41   7  18   20  34  29   17  30  29    0.000    0.000       0
+  0   4496 01:39:00.91   1.2900A   1.3995   0.4632  -0.5404  0.049  0.00   0.000      0.  0.274E+00  0.642E-02  0.261E-03  0.170E-04   41   7  22   19  34  29   17  31  29    0.000    0.000       0
+  0   4500 01:39:06.07   1.2900A   1.3985   0.4212  -0.5356  0.049  0.00   0.000      0.  0.273E+00  0.643E-02  0.261E-03  0.168E-04   41   7  25   19  34  29   16  31  29    0.000    0.000       0
+  0   4505 01:39:12.52   1.2900A   1.3976   0.3616  -0.4983  0.049  0.00   0.000      0.  0.273E+00  0.644E-02  0.259E-03  0.165E-04   32  37  27   18  35  29   15  31  29    0.000    0.000       0
+  0   4510 01:39:18.95   1.2800A   1.4019   0.3527  -0.4764  0.049  0.00   0.000      0.  0.273E+00  0.645E-02  0.256E-03  0.151E-04   32  37  31   17  35  29   18  27  29    0.000    0.000       0
+  0   4514 01:39:24.09   1.2900A   1.3988   0.3399  -0.4977  0.048  0.00   0.000      0.  0.273E+00  0.647E-02  0.259E-03  0.152E-04   32  37  34   17  35  29   17  27  29    0.000    0.000       0
+  0   4519 01:39:30.55   1.3000A   1.3873  -0.3500  -0.5046  0.048  0.00   0.000      0.  0.272E+00  0.651E-02  0.264E-03  0.161E-04   32  37  37   21   4  20   17  27  29    0.000    0.000       0
+  0   4524 01:39:37.02   1.2900A   1.3920  -0.4343  -0.4909  0.048  0.00   0.000      0.  0.272E+00  0.656E-02  0.270E-03  0.199E-04   31  36  39   20  18  29   16  27  29    0.000    0.000       0
+  0   4528 01:39:42.19   1.2800A   1.4025  -0.4536  -0.5447  0.048  0.00   0.000      0.  0.273E+00  0.660E-02  0.277E-03  0.241E-04   31  36   2   20  17  29   18  19  29    0.000    0.000       0
+  0   4533 01:39:48.62   1.2900A   1.4006  -0.4151  -0.5412  0.047  0.00   0.000      0.  0.273E+00  0.666E-02  0.287E-03  0.277E-04   31  36   6   19  17  29   17  19  29    0.000    0.000       0
+  0   4538 01:39:55.02   1.2800A   1.4010  -0.3921  -0.5056  0.047  0.00   0.000      0.  0.273E+00  0.672E-02  0.287E-03  0.276E-04   31  36   9   19  17  29   17  20  29    0.000    0.000       0
+  0   4542 01:40:00.16   1.2900A   1.3940  -0.3457  -0.4830  0.047  0.00   0.000      0.  0.274E+00  0.676E-02  0.291E-03  0.272E-04   31  36  12   19  17  29   16  20  29    0.000    0.000       0
+  0   4547 01:40:06.66   1.3100A   1.3777  -0.3892  -0.4452  0.047  0.00   0.000      0.  0.274E+00  0.680E-02  0.293E-03  0.268E-04   41   8  22   24  12  22   16  21  29    0.000    0.000       0
+  0   4552 01:40:13.19   1.3000A   1.3821  -0.3694  -0.4213  0.047  0.00   0.000      0.  0.274E+00  0.682E-02  0.291E-03  0.247E-04   39  32  37   24  11  24   15  21  29    0.000    0.000       0
+  0   4556 01:40:18.39   1.3000A   1.3858  -0.3738  -0.4632  0.048  0.00   0.000      0.  0.274E+00  0.683E-02  0.287E-03  0.218E-04   39  32   0   20  32  29   17  34  29    0.000    0.000       0
+  0   4561 01:40:24.87   1.2900A   1.3906  -0.4154  -0.4978  0.048  0.00   0.000      0.  0.275E+00  0.683E-02  0.279E-03  0.182E-04   39  32   4   19  32  29   17   6  29    0.000    0.000       0
+  0   4565 01:40:30.03   1.2900A   1.3955  -0.4048  -0.5438  0.048  0.00   0.000      0.  0.274E+00  0.682E-02  0.276E-03  0.181E-04   39  32   8   18  32  29   17   6  29    0.000    0.000       0
+  0   4570 01:40:36.48   1.2900A   1.3988  -0.3697  -0.6134  0.048  0.00   0.000      0.  0.274E+00  0.681E-02  0.274E-03  0.196E-04   39  32  12   17  32  29   17   7  29    0.000    0.000       0
+  0   4575 01:40:42.91   1.2900A   1.3993   0.3416  -0.6420  0.049  0.00   0.000      0.  0.274E+00  0.680E-02  0.271E-03  0.198E-04   39  32  16   23  17   3   16   7  29    0.000    0.000       0
+  0   4579 01:40:48.06   1.2900A   1.3990   0.3501  -0.6331  0.049  0.00   0.000      0.  0.274E+00  0.679E-02  0.269E-03  0.188E-04   39  32  19   23  18   5   15   7  29    0.000    0.000       0
+  0   4584 01:40:54.51   1.2900A   1.3941   0.3637  -0.5966  0.049  0.00   0.000      0.  0.274E+00  0.679E-02  0.267E-03  0.171E-04   39  32  23   23  18   7   14   7  29    0.000    0.000       0
+  0   4589 01:41:01.00   1.3000A   1.3872  -0.3437  -0.5575  0.049  0.00   0.000      0.  0.273E+00  0.678E-02  0.268E-03  0.164E-04   39  32  27   23  29  17   13   7  29    0.000    0.000       0
+  0   4593 01:41:06.20   1.3000A   1.3857  -0.3540  -0.5314  0.049  0.00   0.000      0.  0.273E+00  0.678E-02  0.268E-03  0.166E-04   31  36  12   28   6  15   12   7  29    0.000    0.000       0
+  0   4598 01:41:12.70   1.3000A   1.3828  -0.3489  -0.4976  0.049  0.00   0.000      0.  0.273E+00  0.679E-02  0.270E-03  0.179E-04   38  32  33   28   6  17   11   7  29    0.000    0.000       0
+  0   4603 01:41:19.19   1.2900A   1.3901  -0.3469  -0.4688  0.049  0.00   0.000      0.  0.273E+00  0.680E-02  0.271E-03  0.192E-04   30  36  18   28   5  19   10   7  29    0.000    0.000       0
+  0   4607 01:41:24.39   1.3000A   1.3839  -0.3369  -0.4432  0.048  0.00   0.000      0.  0.273E+00  0.681E-02  0.275E-03  0.202E-04   39  32   3   28   5  21    9   7  29    0.000    0.000       0
+  0   4612 01:41:30.89   1.3000A   1.3816   0.3635  -0.4311  0.048  0.00   0.000      0.  0.273E+00  0.683E-02  0.279E-03  0.203E-04   39  32   7   20  39  28   16   2  29    0.000    0.000       0
+  0   4616 01:41:36.12   1.3100A   1.3760   0.3614  -0.4282  0.048  0.00   0.000      0.  0.273E+00  0.685E-02  0.281E-03  0.198E-04   39  32  10   20   0  28   16   2  29    0.000    0.000       0
+  0   4621 01:41:42.67   1.3100A   1.3694   0.3650  -0.4214  0.048  0.00   0.000      0.  0.273E+00  0.689E-02  0.281E-03  0.187E-04   41  36  14   20   1  28   15   2  29    0.000    0.000       0
+  0   4626 01:41:49.23   1.3100A   1.3721  -0.3270  -0.4091  0.048  0.00   0.000      0.  0.273E+00  0.692E-02  0.286E-03  0.198E-04   41  36  18   22  37  15   14   2  29    0.000    0.000       0
+  0   4630 01:41:54.48   1.3100A   1.3735   0.3417  -0.3985  0.048  0.00   0.000      0.  0.274E+00  0.696E-02  0.289E-03  0.203E-04   39   8   3   20  39  29   14   2  29    0.000    0.000       0
+  0   4635 01:42:01.03   1.3100A   1.3782   0.3316  -0.4317  0.049  0.00   0.000      0.  0.274E+00  0.700E-02  0.291E-03  0.203E-04   39   8   7   20   0  29   18  37  29    0.000    0.000       0
+  0   4639 01:42:06.26   1.3000A   1.3796  -0.3561  -0.4396  0.049  0.00   0.000      0.  0.274E+00  0.703E-02  0.293E-03  0.214E-04   39   8  10   23  36  25   18  36  29    0.000    0.000       0
+  0   4644 01:42:12.78   1.3000A   1.3809  -0.3579  -0.4348  0.049  0.00   0.000      0.  0.274E+00  0.706E-02  0.297E-03  0.230E-04   39   8  14   23  36  27   17  36  29    0.000    0.000       0
+  0   4648 01:42:18.00   1.3100A   1.3785  -0.3339  -0.4556  0.049  0.00   0.000      0.  0.274E+00  0.708E-02  0.300E-03  0.230E-04   39   8  17   22  35  28   18   7  29    0.000    0.000       0
+  0   4653 01:42:24.52   1.3100A   1.3762   0.3680  -0.4831  0.049  0.00   0.000      0.  0.275E+00  0.709E-02  0.298E-03  0.208E-04   39   8  21   20  19  28   17   7  29    0.000    0.000       0
+  0   4658 01:42:31.07   1.3100A   1.3740   0.3410  -0.4756  0.049  0.00   0.000      0.  0.274E+00  0.709E-02  0.298E-03  0.195E-04   39   8  26   25  11   3   16   7  29    0.000    0.000       0
+  0   4662 01:42:36.31   1.3100A   1.3787   0.4113  -0.4604  0.049  0.00   0.000      0.  0.274E+00  0.708E-02  0.298E-03  0.189E-04   34  38  15   20  19  29   16   7  29    0.000    0.000       0
+  0   4667 01:42:42.83   1.3100A   1.3714   0.3561  -0.4578  0.049  0.00   0.000      0.  0.274E+00  0.705E-02  0.294E-03  0.171E-04   37  37  27   25  12   8   18  14  29    0.000    0.000       0
+  0   4671 01:42:48.07   1.3100A   1.3723   0.3406  -0.5156  0.049  0.00   0.000      0.  0.274E+00  0.702E-02  0.292E-03  0.158E-04   34  38  21   24  12   9   18  14  29    0.000    0.000       0
+  0   4676 01:42:54.55   1.2700A   1.4141   0.3743  -0.5423  0.048  0.00   0.000      0.  0.273E+00  0.699E-02  0.283E-03  0.146E-04   29  35  35   24  12  12   17  14  29    0.000    0.000       0
+  0   4681 01:43:00.77   1.2300A   1.4671   0.3454  -0.5612  0.048  0.00   0.000      0.  0.273E+00  0.697E-02  0.274E-03  0.131E-04   29  35  39   22   4  29   17  12  29    0.000    0.000       0
+  0   4686 01:43:06.81   1.2000A   1.5018   0.3355  -0.5722  0.048  0.00   0.000      0.  0.273E+00  0.696E-02  0.267E-03  0.131E-04   29  35   2   22   5  30   17  11  29    0.000    0.000       0
+  0   4691 01:43:12.90   1.2300A   1.4600   0.3548  -0.5869  0.048  0.00   0.000      0.  0.273E+00  0.695E-02  0.275E-03  0.146E-04   29  35   5   22   5  32   16  11  29    0.000    0.000       0
+  0   4696 01:43:19.24   1.2900A   1.3954   0.3263  -0.5731  0.048  0.00   0.000      0.  0.273E+00  0.697E-02  0.294E-03  0.196E-04   34  38   1   22   5  33   15  11  29    0.000    0.000       0
+  0   4700 01:43:24.41   1.2900A   1.3906   0.3137  -0.5554  0.048  0.00   0.000      0.  0.274E+00  0.699E-02  0.298E-03  0.221E-04   29  36  11   22   5  35   14  11  29    0.000    0.000       0
+  0   4705 01:43:30.84   1.2900A   1.4004   0.3020  -0.5329  0.048  0.00   0.000      0.  0.274E+00  0.703E-02  0.299E-03  0.221E-04   29  36  14   27  39  14   13  11  29    0.000    0.000       0
+  0   4709 01:43:36.01   1.2900A   1.3910   0.3009  -0.5123  0.048  0.00   0.000      0.  0.274E+00  0.705E-02  0.298E-03  0.204E-04   33  13  35   24  15  32   12  11  29    0.000    0.000       0
+  0   4714 01:43:42.47   1.3100A   1.3783  -0.3136  -0.4821  0.048  0.00   0.000      0.  0.274E+00  0.706E-02  0.300E-03  0.192E-04   33  13  38   20  17  28   11  11  29    0.000    0.000       0
+  0   4719 01:43:48.99   1.3000A   1.3803  -0.3056  -0.4537  0.048  0.00   0.000      0.  0.274E+00  0.706E-02  0.300E-03  0.191E-04   41  30  13   20  17  29   10  11  29    0.000    0.000       0
+  0   4723 01:43:54.21   1.3000A   1.3823  -0.4077  -0.4308  0.048  0.00   0.000      0.  0.274E+00  0.705E-02  0.301E-03  0.188E-04   40  30  16   20  17  29    9  11  29    0.000    0.000       0
+  0   4728 01:44:00.71   1.3000A   1.3822  -0.3662  -0.4589  0.048  0.00   0.000      0.  0.273E+00  0.703E-02  0.299E-03  0.173E-04   32  34  27   20  16  29   17  20  29    0.000    0.000       0
+  0   4733 01:44:07.22   1.3000A   1.3810  -0.3552  -0.5014  0.048  0.00   0.000      0.  0.273E+00  0.699E-02  0.296E-03  0.161E-04   36  12   2   19  16  29   17  20  29    0.000    0.000       0
+  0   4737 01:44:12.42   1.3000A   1.3814  -0.3357  -0.5105  0.048  0.00   0.000      0.  0.273E+00  0.695E-02  0.294E-03  0.153E-04   36  12   5   19  16  29   16  20  29    0.000    0.000       0
+  0   4742 01:44:18.94   1.3100A   1.3783  -0.3660  -0.5241  0.048  0.00   0.000      0.  0.273E+00  0.691E-02  0.292E-03  0.148E-04   36  12   9   23   4  12   16  21  29    0.000    0.000       0
+  0   4746 01:44:24.14   1.3000A   1.3838  -0.3608  -0.5245  0.048  0.00   0.000      0.  0.273E+00  0.688E-02  0.289E-03  0.158E-04   36  12  13   23   4  14   15  21  29    0.000    0.000       0
+  0   4751 01:44:30.64   1.3000A   1.3872   0.3883  -0.5146  0.047  0.00   0.000      0.  0.273E+00  0.686E-02  0.289E-03  0.179E-04   37   2  15   22  14  22   14  21  29    0.000    0.000       0
+  0   4756 01:44:37.10   1.2900A   1.3954   0.3948  -0.5023  0.047  0.00   0.000      0.  0.273E+00  0.687E-02  0.288E-03  0.205E-04   37   2  18   22  14  24   13  21  29    0.000    0.000       0
+  0   4760 01:44:42.26   1.2900A   1.3995  -0.3782  -0.4955  0.047  0.00   0.000      0.  0.273E+00  0.689E-02  0.289E-03  0.230E-04   37   2  21   23   1  20   16  25  29    0.000    0.000       0
+  0   4765 01:44:48.71   1.2900A   1.3999   0.3982  -0.4850  0.047  0.00   0.000      0.  0.274E+00  0.693E-02  0.290E-03  0.255E-04   37   2  25   20  22  28   15  25  29    0.000    0.000       0
+  0   4770 01:44:55.16   1.2900A   1.3937   0.3791  -0.4930  0.047  0.00   0.000      0.  0.274E+00  0.696E-02  0.288E-03  0.238E-04   37   2  29   20  23  28   17  15  29    0.000    0.000       0
+  0   4774 01:45:00.32   1.2900A   1.3901   0.3741  -0.6105  0.048  0.00   0.000      0.  0.274E+00  0.697E-02  0.290E-03  0.221E-04   37   2  32   20  21  29   17  15  29    0.000    0.000       0
+  0   4779 01:45:06.80   1.2900A   1.3911   0.3633  -0.6516  0.048  0.00   0.000      0.  0.275E+00  0.697E-02  0.291E-03  0.216E-04   37   3  35   20  22  29   16  16  29    0.000    0.000       0
+  0   4784 01:45:13.26   1.2900A   1.3935   0.3481  -0.6493  0.049  0.00   0.000      0.  0.275E+00  0.694E-02  0.289E-03  0.206E-04   37   3  39   23  24   2   15  16  29    0.000    0.000       0
+  0   4788 01:45:18.42   1.2900A   1.3953   0.3360  -0.6190  0.049  0.00   0.000      0.  0.274E+00  0.691E-02  0.286E-03  0.190E-04   37   3   2   23  25   3   14  16  29    0.000    0.000       0
+  0   4793 01:45:24.86   1.2800A   1.4025   0.3647  -0.5824  0.050  0.00   0.000      0.  0.274E+00  0.685E-02  0.279E-03  0.178E-04   37   3   6   22  24   3   13  16  29    0.000    0.000       0
+  0   4798 01:45:31.26   1.2800A   1.4078   0.3541  -0.5459  0.050  0.00   0.000      0.  0.274E+00  0.678E-02  0.276E-03  0.180E-04   37   3  10   22  25   5   12  16  29    0.000    0.000       0
+  0   4802 01:45:36.38   1.2800A   1.4064   0.3536  -0.5655  0.050  0.00   0.000      0.  0.273E+00  0.671E-02  0.274E-03  0.186E-04   37   3  13   22  26   6   17   9  29    0.000    0.000       0
+  0   4807 01:45:42.80   1.2900A   1.4007   0.3456  -0.5413  0.050  0.00   0.000      0.  0.273E+00  0.662E-02  0.271E-03  0.176E-04   37   3  17   22  26   8   16   9  29    0.000    0.000       0
+  0   4812 01:45:49.25   1.2900A   1.3948   0.3240  -0.5092  0.050  0.00   0.000      0.  0.273E+00  0.654E-02  0.266E-03  0.169E-04   35   2  25   22  27  10   15   9  29    0.000    0.000       0
+  0   4816 01:45:54.42   1.2900A   1.3958  -0.3106  -0.4865  0.049  0.00   0.000      0.  0.273E+00  0.650E-02  0.265E-03  0.174E-04   35   2  28   21  27  36   14   9  29    0.000    0.000       0
+  0   4821 01:46:00.87   1.2900A   1.3933  -0.2929  -0.4781  0.049  0.00   0.000      0.  0.273E+00  0.646E-02  0.262E-03  0.184E-04   36  12  33   21  21  24   10  12  28    0.000    0.000       0
+  0   4825 01:46:06.03   1.2900A   1.3948  -0.3022  -0.4708  0.048  0.00   0.000      0.  0.273E+00  0.644E-02  0.262E-03  0.195E-04   36  12  36   23  38  16    9  12  28    0.000    0.000       0
+  0   4830 01:46:12.48   1.2900A   1.3992  -0.2967  -0.4592  0.047  0.00   0.000      0.  0.273E+00  0.644E-02  0.263E-03  0.207E-04   36  12   0   23  24   3    8  12  28    0.000    0.000       0
+  0   4835 01:46:18.93   1.2900A   1.3983  -0.2972  -0.4432  0.047  0.00   0.000      0.  0.273E+00  0.646E-02  0.266E-03  0.216E-04   36  12   4   23  24   5    7  12  28    0.000    0.000       0
+  0   4839 01:46:24.07   1.2900A   1.3977   0.3075  -0.4229  0.047  0.00   0.000      0.  0.273E+00  0.648E-02  0.268E-03  0.223E-04   31   5  12   27   0  19    7  13  28    0.000    0.000       0
+  0   4844 01:46:30.47   1.2800A   1.4057  -0.2967  -0.4056  0.047  0.00   0.000      0.  0.273E+00  0.651E-02  0.264E-03  0.212E-04   31   5  16   24  36  26    6  13  28    0.000    0.000       0
+  0   4849 01:46:36.82   1.2600A   1.4274  -0.3735  -0.4036  0.047  0.00   0.000      0.  0.274E+00  0.655E-02  0.257E-03  0.186E-04   33   4  19   22  39  28   13   2  29    0.000    0.000       0
+  0   4854 01:46:43.10   1.2500A   1.4431   0.3248  -0.3934  0.047  0.00   0.000      0.  0.274E+00  0.659E-02  0.255E-03  0.175E-04   33   4  23   21  24  28   13   3  29    0.000    0.000       0
+  0   4858 01:46:48.10   1.2500A   1.4424   0.3725  -0.3910  0.047  0.00   0.000      0.  0.274E+00  0.662E-02  0.255E-03  0.166E-04   33   4  26   20   7  29   11   2  28    0.000    0.000       0
+  0   4863 01:46:54.38   1.2600A   1.4332   0.4035  -0.3996  0.048  0.00   0.000      0.  0.274E+00  0.666E-02  0.258E-03  0.157E-04   33   4  29   20   7  29   17   3  29    0.000    0.000       0
+  0   4868 01:47:00.68   1.2600A   1.4244   0.3686  -0.4264  0.049  0.00   0.000      0.  0.274E+00  0.669E-02  0.261E-03  0.161E-04   33   4  33   19   7  29   17   3  29    0.000    0.000       0
+  0   4873 01:47:07.08   1.2900A   1.3984   0.3444  -0.4598  0.049  0.00   0.000      0.  0.274E+00  0.669E-02  0.264E-03  0.168E-04   33   4  36   19   7  29   18  32  29    0.000    0.000       0
+  0   4877 01:47:12.22   1.2800A   1.4089  -0.3492  -0.4966  0.049  0.00   0.000      0.  0.273E+00  0.669E-02  0.260E-03  0.167E-04   33   3   2   21   8  28   18  32  29    0.000    0.000       0
+  0   4882 01:47:18.59   1.2700A   1.4168  -0.3421  -0.5218  0.049  0.00   0.000      0.  0.273E+00  0.668E-02  0.256E-03  0.164E-04   33   3   6   20   6  28   17  31  29    0.000    0.000       0
+  0   4887 01:47:24.91   1.2600A   1.4262  -0.4813  -0.5079  0.050  0.00   0.000      0.  0.273E+00  0.667E-02  0.251E-03  0.157E-04   33   2   9   20   5  28   16  31  29    0.000    0.000       0
+  0   4892 01:47:31.18   1.2400A   1.4497  -0.4678  -0.4859  0.050  0.00   0.000      0.  0.273E+00  0.666E-02  0.248E-03  0.162E-04   33   2  13   20   3  28   15  31  29    0.000    0.000       0
+  0   4896 01:47:36.13   1.2300A   1.4629  -0.4287  -0.4775  0.050  0.00   0.000      0.  0.273E+00  0.666E-02  0.248E-03  0.172E-04   33   2  16   20   3  28   15  31  29    0.000    0.000       0
+  0   4901 01:47:42.29   1.2300A   1.4644  -0.3905  -0.4613  0.050  0.00   0.000      0.  0.273E+00  0.664E-02  0.249E-03  0.173E-04   33   2  20   20   2  28   14  31  29    0.000    0.000       0
+  0   4906 01:47:48.46   1.2400A   1.4562  -0.3538  -0.4454  0.050  0.00   0.000      0.  0.273E+00  0.663E-02  0.252E-03  0.165E-04   33   2  23   20   1  29   13  31  29    0.000    0.000       0
+  0   4911 01:47:54.69   1.2500A   1.4362  -0.3373  -0.4361  0.049  0.00   0.000      0.  0.273E+00  0.661E-02  0.254E-03  0.162E-04   33   2  27   23   8   6   18  11  29    0.000    0.000       0
+  0   4916 01:48:01.02   1.2700A   1.4184  -0.3509  -0.4672  0.049  0.00   0.000      0.  0.273E+00  0.659E-02  0.259E-03  0.163E-04   33   1  32   20   0  29   18  12  29    0.000    0.000       0
+  0   4920 01:48:06.10   1.2700A   1.4168  -0.3497  -0.4970  0.049  0.00   0.000      0.  0.273E+00  0.658E-02  0.258E-03  0.159E-04   33   1  35   23   7  10   17  12  29    0.000    0.000       0
+  0   4925 01:48:12.47   1.2800A   1.4078  -0.3588  -0.4832  0.048  0.00   0.000      0.  0.273E+00  0.658E-02  0.258E-03  0.152E-04   33   1  38   23   7  12   16  12  29    0.000    0.000       0
+  0   4930 01:48:18.91   1.2900A   1.3962  -0.3440  -0.4534  0.048  0.00   0.000      0.  0.273E+00  0.657E-02  0.259E-03  0.149E-04   33   0   2   23   6  14   15  12  29    0.000    0.000       0
+  0   4934 01:48:24.08   1.2900A   1.3921  -0.3369  -0.4246  0.048  0.00   0.000      0.  0.273E+00  0.658E-02  0.261E-03  0.156E-04   33   0   5   22   7  14   14  12  29    0.000    0.000       0
+  0   4939 01:48:30.56   1.3000A   1.3888  -0.3107  -0.4004  0.048  0.00   0.000      0.  0.273E+00  0.658E-02  0.263E-03  0.152E-04   40   4  34   23   6  18   18   4  29    0.000    0.000       0
+  0   4944 01:48:37.02   1.2900A   1.3921  -0.3110  -0.3951  0.047  0.00   0.000      0.  0.273E+00  0.659E-02  0.263E-03  0.149E-04   41   4  38   23   5  20   17   4  29    0.000    0.000       0
+  0   4948 01:48:42.19   1.2900A   1.3903  -0.3631  -0.3807  0.047  0.00   0.000      0.  0.273E+00  0.660E-02  0.267E-03  0.163E-04   41   4   1   20  20  29   17   3  29    0.000    0.000       0
+  0   4953 01:48:48.67   1.3000A   1.3900  -0.3915  -0.4036  0.047  0.00   0.000      0.  0.273E+00  0.661E-02  0.276E-03  0.199E-04   41   4   5   20  20  29   18  23  29    0.000    0.000       0
+  0   4958 01:48:55.17   1.3000A   1.3830  -0.3803  -0.4454  0.047  0.00   0.000      0.  0.273E+00  0.663E-02  0.279E-03  0.207E-04   41   4   9   20  19  29   17  23  29    0.000    0.000       0
+  0   4962 01:49:00.41   1.3100A   1.3737  -0.3582  -0.4922  0.047  0.00   0.000      0.  0.273E+00  0.664E-02  0.281E-03  0.201E-04   41   4  12   20  19  29   17  24  29    0.000    0.000       0
+  0   4967 01:49:07.00   1.3200A   1.3661   0.2997  -0.5018  0.048  0.00   0.000      0.  0.273E+00  0.664E-02  0.281E-03  0.180E-04   36   5  25   20  33  29   16  24  29    0.000    0.000       0
+  0   4971 01:49:12.29   1.3200A   1.3625   0.2900  -0.4867  0.048  0.00   0.000      0.  0.273E+00  0.664E-02  0.279E-03  0.167E-04   36   5  28   26  37  17   16  24  29    0.000    0.000       0
+  0   4976 01:49:18.93   1.3200A   1.3597  -0.3446  -0.4670  0.048  0.00   0.000      0.  0.273E+00  0.663E-02  0.280E-03  0.168E-04   33   4  31   20   8  29   15  25  29    0.000    0.000       0
+  0   4980 01:49:24.19   1.3100A   1.3708  -0.3151  -0.4452  0.049  0.00   0.000      0.  0.273E+00  0.662E-02  0.277E-03  0.171E-04   33   4  35   20   8  29   14  25  29    0.000    0.000       0
+  0   4985 01:49:30.71   1.3000A   1.3867  -0.2902  -0.4239  0.049  0.00   0.000      0.  0.273E+00  0.661E-02  0.273E-03  0.158E-04   33   4  39   22  19  20   14  26  29    0.000    0.000       0
+  0   4990 01:49:37.17   1.2900A   1.3949  -0.3201  -0.4010  0.049  0.00   0.000      0.  0.273E+00  0.660E-02  0.269E-03  0.147E-04   33   4   2   22  18  25   13  27  29    0.000    0.000       0
+  0   4994 01:49:42.30   1.2900A   1.3974  -0.3505  -0.3926  0.049  0.00   0.000      0.  0.273E+00  0.660E-02  0.269E-03  0.144E-04   33   4   5   22  18  26   13  27  29    0.000    0.000       0
+  0   4999 01:49:48.73   1.2900A   1.3959  -0.3501  -0.3790  0.049  0.00   0.000      0.  0.273E+00  0.661E-02  0.271E-03  0.160E-04   33   4   9   22  18  28   12  27  29    0.000    0.000       0
+  0   5004 01:49:55.22   1.3000A   1.3821  -0.3498  -0.3722  0.049  0.00   0.000      0.  0.273E+00  0.662E-02  0.277E-03  0.177E-04   33   5  12   22  19  28   12  28  29    0.000    0.000       0
+  0   5008 01:50:00.42   1.3000A   1.3860   0.3119  -0.3697  0.049  0.00   0.000      0.  0.273E+00  0.664E-02  0.277E-03  0.177E-04   33   5  15   22  33  16   13  29  28    0.000    0.000       0
+  0   5013 01:50:06.92   1.3000A   1.3879   0.3322  -0.3853  0.049  0.00   0.000      0.  0.273E+00  0.665E-02  0.280E-03  0.171E-04   33   5  19   22  35  19   12  29  28    0.000    0.000       0
+  0   5017 01:50:12.12   1.3000A   1.3823  -0.4653  -0.5362  0.049  0.00   0.000      0.  0.273E+00  0.665E-02  0.281E-03  0.164E-04   33   5  22   20  21  29   18  23  29    0.000    0.000       0
+  0   5022 01:50:18.66   1.3100A   1.3698  -0.4423  -0.6208  0.050  0.00   0.000      0.  0.273E+00  0.661E-02  0.283E-03  0.160E-04   33   5  26   19  21  29   17  23  29    0.000    0.000       0
+  0   5027 01:50:25.29   1.3300A   1.3519  -0.3992  -0.6260  0.050  0.00   0.000      0.  0.272E+00  0.657E-02  0.285E-03  0.160E-04   39  37  11   19  21  29   17  24  29    0.000    0.000       0
+  0   5031 01:50:30.61   1.3300A   1.3523  -0.3454  -0.5967  0.050  0.00   0.000      0.  0.272E+00  0.653E-02  0.285E-03  0.166E-04   39  38  14   18  21  29   16  24  29    0.000    0.000       0
+  0   5036 01:50:37.26   1.3300A   1.3559  -0.3267  -0.5502  0.049  0.00   0.000      0.  0.272E+00  0.650E-02  0.287E-03  0.194E-04   39  38  18   29  10   8   15  24  29    0.000    0.000       0
+  0   5040 01:50:42.58   1.3300A   1.3573  -0.3155  -0.5194  0.049  0.00   0.000      0.  0.272E+00  0.649E-02  0.289E-03  0.212E-04   39  38  21   29  10  10   14  24  29    0.000    0.000       0
+  0   5045 01:50:49.19   1.3200A   1.3595  -0.3081  -0.4864  0.049  0.00   0.000      0.  0.272E+00  0.648E-02  0.290E-03  0.215E-04   39  38  25   29  10  14   13  24  29    0.000    0.000       0
+  0   5049 01:50:54.47   1.3200A   1.3598  -0.3053  -0.4654  0.048  0.00   0.000      0.  0.272E+00  0.649E-02  0.294E-03  0.225E-04   39  38  29   28  14  14   12  24  29    0.000    0.000       0
+  0   5054 01:51:01.07   1.3200A   1.3620  -0.3182  -0.4419  0.048  0.00   0.000      0.  0.273E+00  0.650E-02  0.299E-03  0.228E-04   39  38  33   21  18  28   11  24  29    0.000    0.000       0
+  0   5058 01:51:06.35   1.3200A   1.3644   0.3471  -0.4202  0.048  0.00   0.000      0.  0.273E+00  0.651E-02  0.298E-03  0.210E-04   39  38  36   20  33  29   10  24  29    0.000    0.000       0
+  0   5063 01:51:12.95   1.3200A   1.3657   0.3742  -0.4598  0.048  0.00   0.000      0.  0.273E+00  0.652E-02  0.296E-03  0.182E-04   39  38   0   20  33  29   18  21  29    0.000    0.000       0
+  0   5067 01:51:18.23   1.3200A   1.3657  -0.3359  -0.4932  0.049  0.00   0.000      0.  0.273E+00  0.652E-02  0.296E-03  0.177E-04   39  38   3   21  30  28   17  21  29    0.000    0.000       0
+  0   5072 01:51:24.81   1.3100A   1.3693   0.3275  -0.4874  0.049  0.00   0.000      0.  0.273E+00  0.652E-02  0.294E-03  0.172E-04   41  36   6   22  11  24   16  21  29    0.000    0.000       0
+  0   5076 01:51:30.06   1.3100A   1.3729   0.3500  -0.5108  0.049  0.00   0.000      0.  0.273E+00  0.653E-02  0.293E-03  0.167E-04   41  36   9   20  18  28   17  20  29    0.000    0.000       0
+  0   5081 01:51:36.61   1.3100A   1.3759   0.3747  -0.5025  0.049  0.00   0.000      0.  0.273E+00  0.654E-02  0.293E-03  0.164E-04   41  36  13   20  20  28   16  20  29    0.000    0.000       0
+  0   5086 01:51:43.16   1.3100A   1.3785  -0.3216  -0.4665  0.049  0.00   0.000      0.  0.273E+00  0.655E-02  0.291E-03  0.166E-04   41  36  17   22  17   2   15  20  29    0.000    0.000       0
+  0   5090 01:51:48.38   1.3000A   1.3809   0.3679  -0.5077  0.049  0.00   0.000      0.  0.273E+00  0.655E-02  0.286E-03  0.170E-04   41  36  20   21   9  28   18  16  29    0.000    0.000       0
+  0   5095 01:51:54.88   1.3000A   1.3836  -0.3635  -0.5182  0.049  0.00   0.000      0.  0.273E+00  0.656E-02  0.286E-03  0.181E-04   41  36  24   20   3  28   17  16  29    0.000    0.000       0
+  0   5099 01:52:00.08   1.3000A   1.3852  -0.3724  -0.5139  0.049  0.00   0.000      0.  0.272E+00  0.656E-02  0.288E-03  0.193E-04   41  36  27   21   2  31   17  15  29    0.000    0.000       0
+  0   5104 01:52:06.58   1.3000A   1.3877  -0.5080  -0.5385  0.049  0.00   0.000      0.  0.272E+00  0.655E-02  0.290E-03  0.210E-04   41  36  31   20   2  29   17   5  29    0.000    0.000       0
+  0   5109 01:52:13.08   1.3000A   1.3888  -0.4234  -0.5703  0.049  0.00   0.000      0.  0.272E+00  0.655E-02  0.293E-03  0.234E-04   41  36  35   20   2  29   17   5  29    0.000    0.000       0
+  0   5113 01:52:18.28   1.3000A   1.3880  -0.3742  -0.5668  0.049  0.00   0.000      0.  0.273E+00  0.656E-02  0.296E-03  0.260E-04   41  36  38   19   2  29   16   5  29    0.000    0.000       0
+  0   5118 01:52:24.78   1.3000A   1.3854  -0.3184  -0.5323  0.049  0.00   0.000      0.  0.273E+00  0.657E-02  0.296E-03  0.267E-04   41  36   2   18   2  29   15   5  29    0.000    0.000       0
+  0   5123 01:52:31.28   1.3000A   1.3799   0.3734  -0.4933  0.049  0.00   0.000      0.  0.273E+00  0.658E-02  0.292E-03  0.251E-04   41  36   6   20  37  29   14   5  29    0.000    0.000       0
+  0   5127 01:52:36.52   1.3100A   1.3745   0.4131  -0.4683  0.049  0.00   0.000      0.  0.273E+00  0.659E-02  0.292E-03  0.239E-04   41  36   9   20  37  29   14   6  29    0.000    0.000       0
+  0   5132 01:52:43.10   1.3200A   1.3664   0.3741  -0.5087  0.049  0.00   0.000      0.  0.273E+00  0.660E-02  0.292E-03  0.222E-04   41  36  13   19  37  29   17  33  29    0.000    0.000       0
+  0   5136 01:52:48.38   1.3200A   1.3588  -0.3919  -0.5160  0.049  0.00   0.000      0.  0.273E+00  0.661E-02  0.289E-03  0.199E-04   41  36  16   20   5  28   17  34  29    0.000    0.000       0
+  0   5141 01:52:55.00   1.3200A   1.3586  -0.3323  -0.5060  0.050  0.00   0.000      0.  0.273E+00  0.662E-02  0.289E-03  0.179E-04   41  20  25   26  38  24   16  34  29    0.000    0.000       0
+  0   5145 01:53:00.29   1.3200A   1.3633  -0.3251  -0.4836  0.050  0.00   0.000      0.  0.273E+00  0.662E-02  0.289E-03  0.174E-04   41  20  28   26  38  26   15  34  29    0.000    0.000       0
+  0   5150 01:53:06.88   1.3100A   1.3691  -0.3123  -0.4587  0.050  0.00   0.000      0.  0.273E+00  0.663E-02  0.285E-03  0.157E-04   41  20  32   25  38  27   14  35  29    0.000    0.000       0
+  0   5154 01:53:12.14   1.3100A   1.3730  -0.3161  -0.4342  0.050  0.00   0.000      0.  0.273E+00  0.663E-02  0.284E-03  0.157E-04   41  20  35   22   0  14   13  35  29    0.000    0.000       0
+  0   5159 01:53:18.69   1.3100A   1.3747  -0.3064  -0.4109  0.050  0.00   0.000      0.  0.273E+00  0.665E-02  0.285E-03  0.171E-04   41  20  39   24  38  30   17  25  29    0.000    0.000       0
+  0   5164 01:53:25.23   1.3100A   1.3760   0.3215  -0.4111  0.049  0.00   0.000      0.  0.273E+00  0.668E-02  0.284E-03  0.170E-04   40  36   0   22   6  36   16  25  29    0.000    0.000       0
+  0   5168 01:53:30.44   1.3100A   1.3781   0.3173  -0.4121  0.049  0.00   0.000      0.  0.273E+00  0.672E-02  0.285E-03  0.177E-04   41  20   5   23   8   0   15  24  29    0.000    0.000       0
+  0   5173 01:53:36.94   1.3000A   1.3843   0.3713  -0.4101  0.050  0.00   0.000      0.  0.273E+00  0.677E-02  0.293E-03  0.211E-04   41  20   9   20  24  28   15  24  29    0.000    0.000       0
+  0   5177 01:53:42.14   1.3000A   1.3854  -0.4034  -0.4357  0.050  0.00   0.000      0.  0.273E+00  0.682E-02  0.300E-03  0.233E-04   41  20  12   20  17  29   18  20  29    0.000    0.000       0
+  0   5182 01:53:48.64   1.3000A   1.3876   0.4195  -0.5128  0.050  0.00   0.000      0.  0.274E+00  0.686E-02  0.308E-03  0.249E-04   41  20  16   20  24  29   18  20  29    0.000    0.000       0
+  0   5187 01:53:55.13   1.3000A   1.3896   0.4098  -0.5485  0.050  0.00   0.000      0.  0.274E+00  0.689E-02  0.309E-03  0.240E-04   41  18  20   20  25  29   17  20  29    0.000    0.000       0
+  0   5191 01:54:00.32   1.3000A   1.3897   0.3436  -0.5420  0.050  0.00   0.000      0.  0.274E+00  0.690E-02  0.306E-03  0.217E-04   41  18  23   19  25  29   17  21  29    0.000    0.000       0
+  0   5196 01:54:06.81   1.3000A   1.3884   0.3388  -0.5466  0.050  0.00   0.000      0.  0.274E+00  0.690E-02  0.303E-03  0.193E-04   41  18  27   20  19  28   17   8  29    0.000    0.000       0
+  0   5200 01:54:12.01   1.3000A   1.3858   0.3372  -0.5767  0.050  0.00   0.000      0.  0.274E+00  0.690E-02  0.303E-03  0.190E-04   41  18  30   20  19  28   17   8  29    0.000    0.000       0
+  0   5205 01:54:18.51   1.3000A   1.3837  -0.3237  -0.5819  0.050  0.00   0.000      0.  0.273E+00  0.690E-02  0.303E-03  0.193E-04   41  37  32   22  18  24   16   7  29    0.000    0.000       0
+  0   5210 01:54:25.01   1.3000A   1.3857  -0.3727  -0.5497  0.051  0.00   0.000      0.  0.273E+00  0.688E-02  0.303E-03  0.189E-04   40  37  35   22  17  25   15   7  29    0.000    0.000       0
+  0   5214 01:54:30.19   1.3000A   1.3887  -0.3910  -0.5174  0.051  0.00   0.000      0.  0.273E+00  0.686E-02  0.304E-03  0.199E-04   41  37  39   22  17  26   14   7  29    0.000    0.000       0
+  0   5219 01:54:36.66   1.3000A   1.3887  -0.3819  -0.5072  0.051  0.00   0.000      0.  0.273E+00  0.684E-02  0.306E-03  0.204E-04   41  37   3   22  17  28   17  36  29    0.000    0.000       0
+  0   5224 01:54:43.11   1.2900A   1.3913  -0.4225  -0.4839  0.051  0.00   0.000      0.  0.273E+00  0.682E-02  0.303E-03  0.201E-04   40  37   6   21  18  28   17  15  29    0.000    0.000       0
+  0   5228 01:54:48.28   1.3000A   1.3892  -0.4607  -0.4725  0.051  0.00   0.000      0.  0.273E+00  0.683E-02  0.306E-03  0.202E-04   41  37  10   20  18  28   17  14  29    0.000    0.000       0
+  0   5233 01:54:54.75   1.3000A   1.3897  -0.4107  -0.4587  0.051  0.00   0.000      0.  0.273E+00  0.684E-02  0.308E-03  0.214E-04   40  37  13   20  17  28   16  14  29    0.000    0.000       0
+  0   5238 01:55:01.21   1.3000A   1.3892  -0.4679  -0.4381  0.051  0.00   0.000      0.  0.274E+00  0.685E-02  0.311E-03  0.236E-04   33  25   8   20  18  29   15  14  29    0.000    0.000       0
+  0   5242 01:55:06.39   1.3000A   1.3861  -0.4336  -0.4260  0.051  0.00   0.000      0.  0.274E+00  0.686E-02  0.312E-03  0.239E-04   33  25  11   20  18  29   15  14  29    0.000    0.000       0
+  0   5247 01:55:12.91   1.3100A   1.3766  -0.4245  -0.4669  0.052  0.00   0.000      0.  0.274E+00  0.685E-02  0.313E-03  0.232E-04   39  38  24   22  17  24   18  22  29    0.000    0.000       0
+  0   5251 01:55:18.15   1.3100A   1.3755  -0.4026  -0.5021  0.052  0.00   0.000      0.  0.274E+00  0.683E-02  0.309E-03  0.212E-04   39  38  27   22  16  25   18   2  29    0.000    0.000       0
+  0   5256 01:55:24.70   1.3100A   1.3731  -0.3782  -0.5841  0.052  0.00   0.000      0.  0.274E+00  0.680E-02  0.305E-03  0.193E-04   39  38  31   22  16  10   17   2  29    0.000    0.000       0
+  0   5261 01:55:31.23   1.3000A   1.3836  -0.3596  -0.5776  0.051  0.00   0.000      0.  0.274E+00  0.677E-02  0.299E-03  0.178E-04   27   4  23   22  16  12   16   2  29    0.000    0.000       0
+  0   5265 01:55:36.47   1.3100A   1.3750  -0.3313  -0.5410  0.051  0.00   0.000      0.  0.273E+00  0.676E-02  0.298E-03  0.167E-04   27   4  26   22  16  15   15   2  29    0.000    0.000       0
+  0   5270 01:55:43.04   1.3100A   1.3720  -0.3416  -0.4968  0.051  0.00   0.000      0.  0.273E+00  0.675E-02  0.298E-03  0.167E-04   41  39   2   22  16  18   14   3  29    0.000    0.000       0
+  0   5274 01:55:48.28   1.3100A   1.3749   0.3321  -0.4719  0.050  0.00   0.000      0.  0.273E+00  0.675E-02  0.300E-03  0.181E-04   40  39   5   21  18  23   18  30  29    0.000    0.000       0
+  0   5279 01:55:54.83   1.3100A   1.3769   0.3842  -0.4991  0.050  0.00   0.000      0.  0.273E+00  0.676E-02  0.300E-03  0.197E-04   40  39   9   21  18  25   17  30  29    0.000    0.000       0
+  0   5283 01:56:00.07   1.3100A   1.3767   0.3413  -0.5061  0.050  0.00   0.000      0.  0.273E+00  0.678E-02  0.300E-03  0.198E-04   40  39  12   21  19  27   17  29  29    0.000    0.000       0
+  0   5288 01:56:06.62   1.3100A   1.3748  -0.3861  -0.5015  0.051  0.00   0.000      0.  0.274E+00  0.682E-02  0.304E-03  0.213E-04   40  39  16   22  17  28   16  29  29    0.000    0.000       0
+  0   5293 01:56:13.17   1.3100A   1.3702  -0.4441  -0.4878  0.051  0.00   0.000      0.  0.274E+00  0.685E-02  0.308E-03  0.238E-04   40  39  20   22  16  31   15  29  29    0.000    0.000       0
+  0   5297 01:56:18.44   1.3100A   1.3705  -0.4544  -0.4789  0.051  0.00   0.000      0.  0.274E+00  0.687E-02  0.311E-03  0.256E-04   40  16  12   22  16  33   15  28  29    0.000    0.000       0
+  0   5302 01:56:24.99   1.3100A   1.3739  -0.4217  -0.5038  0.051  0.00   0.000      0.  0.274E+00  0.688E-02  0.312E-03  0.250E-04   41  16  16   22  15  35   17  15  29    0.000    0.000       0
+  0   5306 01:56:30.23   1.3100A   1.3753  -0.3629  -0.5261  0.051  0.00   0.000      0.  0.274E+00  0.688E-02  0.309E-03  0.231E-04   41  16  19   22  14  37   17  14  29    0.000    0.000       0
+  0   5311 01:56:36.78   1.3100A   1.3741   0.4305  -0.5104  0.051  0.00   0.000      0.  0.274E+00  0.687E-02  0.304E-03  0.218E-04   41  16  23   20  14  28   16  14  29    0.000    0.000       0
+  0   5315 01:56:42.02   1.3100A   1.3766   0.3697  -0.4888  0.051  0.00   0.000      0.  0.274E+00  0.684E-02  0.302E-03  0.206E-04   41  17  26   20  12  29   18   9  29    0.000    0.000       0
+  0   5320 01:56:48.56   1.3100A   1.3792   0.3595  -0.5819  0.051  0.00   0.000      0.  0.274E+00  0.681E-02  0.297E-03  0.189E-04   41  17  30   19  12  29   17   9  29    0.000    0.000       0
+  0   5325 01:56:55.07   1.3000A   1.3806   0.3447  -0.6041  0.052  0.00   0.000      0.  0.273E+00  0.676E-02  0.288E-03  0.176E-04   41  17  34   18  12  29   16   9  29    0.000    0.000       0
+  0   5329 01:57:00.27   1.3000A   1.3831  -0.3119  -0.5919  0.052  0.00   0.000      0.  0.273E+00  0.671E-02  0.284E-03  0.176E-04   41  17  37   24  13  14   16  10  29    0.000    0.000       0
+  0   5334 01:57:06.77   1.3000A   1.3829  -0.3550  -0.5628  0.052  0.00   0.000      0.  0.273E+00  0.666E-02  0.284E-03  0.187E-04   41  17   1   23  13  15   15  10  29    0.000    0.000       0
+  0   5339 01:57:13.27   1.3000A   1.3819  -0.3751  -0.5344  0.052  0.00   0.000      0.  0.273E+00  0.663E-02  0.286E-03  0.210E-04   41  17   5   24  13  19   13  10  29    0.000    0.000       0
+  0   5343 01:57:18.47   1.3000A   1.3825  -0.3925  -0.5255  0.051  0.00   0.000      0.  0.274E+00  0.662E-02  0.288E-03  0.228E-04   41  17   8   23  12  19   13  10  29    0.000    0.000       0
+  0   5348 01:57:24.97   1.3000A   1.3811  -0.3959  -0.5079  0.051  0.00   0.000      0.  0.274E+00  0.661E-02  0.287E-03  0.234E-04   41  17  12   23  12  21   13  12  29    0.000    0.000       0
+  0   5352 01:57:30.18   1.3000A   1.3803  -0.3551  -0.4958  0.051  0.00   0.000      0.  0.274E+00  0.661E-02  0.284E-03  0.228E-04   41  17  15   23  12  23   12  12  29    0.000    0.000       0
+  0   5357 01:57:36.71   1.3000A   1.3796  -0.3066  -0.4847  0.051  0.00   0.000      0.  0.274E+00  0.662E-02  0.278E-03  0.203E-04   41  18  19   23  11  25   12  13  29    0.000    0.000       0
+  0   5362 01:57:43.23   1.3000A   1.3799  -0.3122  -0.4655  0.051  0.00   0.000      0.  0.274E+00  0.664E-02  0.271E-03  0.176E-04   41  18  23   23  11  28   11  13  29    0.000    0.000       0
+  0   5366 01:57:48.46   1.3100A   1.3777   0.2855  -0.4524  0.051  0.00   0.000      0.  0.274E+00  0.666E-02  0.268E-03  0.166E-04   41  18  26   21   9  26   10  12  28    0.000    0.000       0
+  0   5371 01:57:55.01   1.3100A   1.3779   0.3355  -0.4482  0.050  0.00   0.000      0.  0.274E+00  0.668E-02  0.267E-03  0.166E-04   40  19  34   21   9  28   10  12  28    0.000    0.000       0
+  0   5375 01:58:00.24   1.3000A   1.3794   0.3538  -0.4434  0.050  0.00   0.000      0.  0.273E+00  0.671E-02  0.265E-03  0.173E-04   40  19  37   21  10  28    9  12  28    0.000    0.000       0
+  0   5380 01:58:06.79   1.3100A   1.3776   0.3515  -0.4164  0.051  0.00   0.000      0.  0.273E+00  0.673E-02  0.266E-03  0.182E-04   40  19   1   20  10  28    8  12  28    0.000    0.000       0
+  0   5384 01:58:12.03   1.3100A   1.3754   0.3172  -0.4865  0.051  0.00   0.000      0.  0.273E+00  0.675E-02  0.266E-03  0.176E-04   39  19   3   21  10  31   18   6  29    0.000    0.000       0
+  0   5389 01:58:18.57   1.3100A   1.3769   0.3801  -0.5394  0.051  0.00   0.000      0.  0.273E+00  0.676E-02  0.266E-03  0.167E-04   39  19   7   20   9  29   18   7  29    0.000    0.000       0
+  0   5394 01:58:25.09   1.3000A   1.3801   0.4134  -0.5175  0.050  0.00   0.000      0.  0.273E+00  0.677E-02  0.263E-03  0.167E-04   40  35  18   19   9  29   17   7  29    0.000    0.000       0
+  0   5398 01:58:30.29   1.3000A   1.3834   0.3926  -0.4789  0.050  0.00   0.000      0.  0.273E+00  0.679E-02  0.265E-03  0.183E-04   40  35  21   19  10  29   16   8  29    0.000    0.000       0
+  0   5403 01:58:36.79   1.3000A   1.3874   0.3858  -0.4544  0.050  0.00   0.000      0.  0.273E+00  0.682E-02  0.268E-03  0.203E-04   40  35  25   18  10  29   15   4  29    0.000    0.000       0
+  0   5408 01:58:43.29   1.3000A   1.3859   0.3523  -0.4348  0.050  0.00   0.000      0.  0.273E+00  0.685E-02  0.272E-03  0.207E-04   40  35  29   17  10  29   14   4  29    0.000    0.000       0
+  0   5412 01:58:48.48   1.2900A   1.3911   0.3260  -0.4168  0.050  0.00   0.000      0.  0.273E+00  0.688E-02  0.273E-03  0.213E-04   31   0   5   21  19  24   14   3  29    0.000    0.000       0
+  0   5417 01:58:54.95   1.2900A   1.3910   0.3380  -0.4111  0.050  0.00   0.000      0.  0.274E+00  0.692E-02  0.275E-03  0.213E-04   31   0   9   21  19  26   13   3  29    0.000    0.000       0
+  0   5421 01:59:00.13   1.3000A   1.3877  -0.3665  -0.4146  0.050  0.00   0.000      0.  0.274E+00  0.694E-02  0.278E-03  0.210E-04   31   0  12   20   4  29   18  24  29    0.000    0.000       0
+  0   5426 01:59:06.58   1.2900A   1.3933  -0.4098  -0.5059  0.051  0.00   0.000      0.  0.274E+00  0.695E-02  0.278E-03  0.201E-04   31   0  15   20   3  29   18  24  29    0.000    0.000       0
+  0   5431 01:59:13.02   1.2900A   1.3974  -0.4065  -0.5401  0.051  0.00   0.000      0.  0.273E+00  0.695E-02  0.278E-03  0.197E-04   40  36   6   20   3  29   17  23  29    0.000    0.000       0
+  0   5435 01:59:18.15   1.2900A   1.3967  -0.3841  -0.5532  0.051  0.00   0.000      0.  0.273E+00  0.695E-02  0.278E-03  0.189E-04   41  36  10   20   5  29   17  23  29    0.000    0.000       0
+  0   5440 01:59:24.57   1.2900A   1.4007   0.3813  -0.5405  0.050  0.00   0.000      0.  0.273E+00  0.695E-02  0.281E-03  0.195E-04   40  36  13   20  37  29   16  23  29    0.000    0.000       0
+  0   5445 01:59:31.00   1.2900A   1.4004   0.4013  -0.5146  0.050  0.00   0.000      0.  0.273E+00  0.696E-02  0.285E-03  0.204E-04   40  36  17   20  37  29   15  23  29    0.000    0.000       0
+  0   5449 01:59:36.15   1.2900A   1.3946  -0.3293  -0.4937  0.050  0.00   0.000      0.  0.273E+00  0.697E-02  0.286E-03  0.204E-04   40  36  20   22  15  10   14  23  29    0.000    0.000       0
+  0   5454 01:59:42.59   1.2800A   1.4040  -0.3341  -0.4732  0.050  0.00   0.000      0.  0.273E+00  0.699E-02  0.285E-03  0.203E-04   32  26   2   20  36  28   13  23  29    0.000    0.000       0
+  0   5459 01:59:48.95   1.2700A   1.4225  -0.3678  -0.4566  0.050  0.00   0.000      0.  0.274E+00  0.700E-02  0.284E-03  0.200E-04   32  26   6   20  35  28   12  23  29    0.000    0.000       0
+  0   5464 01:59:55.22   1.2400A   1.4484   0.3793  -0.4420  0.050  0.00   0.000      0.  0.274E+00  0.700E-02  0.276E-03  0.188E-04   32  26   9   20  21  29   11  23  29    0.000    0.000       0
+  0   5468 02:00:00.18   1.2300A   1.4656  -0.4185  -0.4343  0.050  0.00   0.000      0.  0.274E+00  0.701E-02  0.272E-03  0.176E-04   32  26  12   20  13  28   13  20  29    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_p3d	(revision 393)
@@ -0,0 +1,56 @@
+ &inipar nx = 39, ny = 39, nz = 45,
+         dx = 2.0, dy = 2.0, dz = 2.0,
+
+         fft_method = 'temperton-algorithm',   ! fast, but restrictions apply
+
+         omega = 0.0,                          ! no Coriolis force
+         dp_external = .T.,                    ! external pressure gradient
+         dp_level_b = 80.0,                    ! ...acting above 80 m height
+         dp_smooth = .T.,                      ! ...vertically smoothed
+         dpdxy = -0.003, 0.0,                  ! ...in x-, y-direction
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 0.0, vg_surface = 0.0,
+         ug_vertical_gradient       = 2.5,     ! linear vertical ug gradient
+         ug_vertical_gradient_level = 0.0,     ! starting from the ground
+         roughness_length = 0.1,               ! applies to all surfaces locally
+
+         bc_pt_b = 'neumann',
+         bc_uv_t = 'neumann',                  ! open channel boundary condition
+
+         topography = 'single_building',
+         topography_grid_convention = 'cell_edge',  ! default
+         building_height   = 40.0,
+         building_length_x = 40.0,
+         building_length_y = 40.0,
+
+         surface_heatflux = 0.0,               ! strictly neutral simulation
+         wall_heatflux = 0.0, 0.0, 0.0, 0.0, 0.0,  /
+
+ &d3par  end_time                  =  14400.0,
+         termination_time_needed   =    900.0,
+
+         create_disturbances = .T.,
+
+         netcdf_64bit = .F., netcdf_64bit_3d = .F.,
+
+         dt_run_control            =      6.0,
+         dt_dots                   =      6.0,
+
+         skip_time_dopr            =      0.0,
+         dt_dopr                   =   7200.0,
+         averaging_interval_pr     =   7200.0,
+         dt_averaging_input_pr     =      6.0,
+
+         skip_time_data_output     =      0.0,
+         dt_data_output            =   7200.0,
+
+         averaging_interval        =   7200.0,
+         dt_averaging_input        =      6.0,
+
+         data_output_pr = '#u', 'w"u"', 'w*u*', 'wu', 'u*2', 
+                          '#v', 'w"v"', 'w*v*', 'wv', 'v*2',
+                          'w', 'w*2', 'e', 'e*', '#km', '#l',
+
+         data_output = 'u',       'v',       'w',
+                       'u_av',    'v_av',    'w_av',  /
Index: palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/constant_flux_layer/example_constant_flux_layer_rc	(revision 393)
@@ -0,0 +1,2608 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 250      *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              02-03-09         Run:       example_constant_flu
+ Time:              18:03:58         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            8         Processor grid (x,y): (  2,  4) calculated
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> External pressure gradient directly prescribed by the user:
+ -0.30000E-02  0.00000E+00Pa/m in x/y direction starting from dp_level_b =80.000m, vertically smoothed.
+
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:         14400.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =      2.000 m    dy =      2.000 m    dz =      2.000 m
+ Domain size:       x =     80.000 m     y =     80.000 m  z(u) =     91.000 m
+
+ Number of gridpoints (x,y,z):  (0:  39, 0:  39, 0:  46)
+ Subdomain size (x,y,z):        (    20,     10,     47)
+
+ Subdomains at the upper edges of the virtual processor grid have smaller sizes
+ Size of smallest subdomain:    (    20,     10,     47)
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: single_building                         
+ Building size (x/y/z) in m:  40.0 /  40.0 /  40.0
+ Horizontal index bounds (l/r/s/n):   10 /   30 /   10 /   30
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = uv(nzt)               | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.000000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =   1.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over        7200.00 s
+       Averaging input every        6.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over        7200.00 s
+       Averaging input every        6.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: u, w"u", w*u*, wu, u*2, v, w"v", w*v*, wv, v*2, w, w*2,      
+
+              : e, e*, km, l,                                                
+       Output every              7200.00 s
+       Time averaged over        7200.00 s
+       Averaging input every        6.00 s
+
+    3D-Arrays:
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              7200.00 s  
+       Upper output limit at       91.00 m  (GP   46)
+
+
+    3D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              7200.00 s  
+       Time averaged over        7200.00 s
+       Averaging input every        6.00 s
+       Upper output limit at       91.00 m  (GP   46)
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 6.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.000E+00 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000000 1/s
+                            f*    =  0.000000 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            0.00    0.00  m/s
+       Gradient:    ------    2.50  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0  m
+       Temperature:   300.00  300.00  K
+       Gradient:      ------    0.00  K/100m
+       Gridpoint:          0       0
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   ****** s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :     5.00 m (GP    3)
+    Upper disturbance level         :    29.00 m (GP   15)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ ##############################################################################
+
+ User-defined variables and actions:
+ -----------------------------------
+
+
+ Topography grid definition convention:
+
+ cell edge (staggered grid points
+ (u in x-direction, v in y-direction))
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   0.7910A   2.2750D  0.5062D  0.5612  0.000  0.00   0.000      0.  0.835E+00  0.975E-02  0.000E+00  0.000E+00   46  39  39   14  30   9   21  19   9    0.000    0.000       0
+  0      8 00:00:06.41   0.8000A   2.2487  -1.0837   0.9598  0.021  0.00   0.000      0.  0.834E+00  0.137E-01  0.287E-03  0.772E-04   45  19  22   17  10   9   20  19   9    0.000    0.000       0
+  0     16 00:00:12.79   0.7940A   2.2678  -0.9840   0.9732  0.024  0.00   0.000      0.  0.837E+00  0.147E-01  0.294E-03  0.670E-04   46  19  23   17  10   9   20  20   9    0.000    0.000       0
+  0     23 00:00:18.32   0.7880A   2.2842   0.9879   0.8893  0.027  0.00   0.000      0.  0.839E+00  0.156E-01  0.306E-03  0.624E-04   46  19  23   15  30   9   20  20   9    0.000    0.000       0
+  0     31 00:00:24.60   0.7820A   2.3025   0.9456   0.8425  0.030  0.00   0.000      0.  0.842E+00  0.166E-01  0.313E-03  0.601E-04   46  19  24   15  30   9   20  20   9    0.000    0.000       0
+  0     38 00:00:30.05   0.7760A   2.3183   0.9542   0.8220  0.032  0.00   0.000      0.  0.845E+00  0.175E-01  0.312E-03  0.582E-04   46  19  25   15  30   9   20  26   9    0.000    0.000       0
+  0     46 00:00:36.23   0.7700A   2.3362   0.9410   0.7895  0.034  0.00   0.000      0.  0.847E+00  0.184E-01  0.305E-03  0.555E-04   46  19  26   19  30   9   20  26   9    0.000    0.000       0
+  0     54 00:00:42.37   0.7650A   2.3539  -0.9278   0.7480  0.037  0.00   0.000      0.  0.850E+00  0.191E-01  0.300E-03  0.521E-04   46  19  27   19  10   9   20  28   9    0.000    0.000       0
+  0     62 00:00:48.46   0.7590A   2.3714  -0.9144   0.8005  0.039  0.00   0.000      0.  0.853E+00  0.197E-01  0.294E-03  0.504E-04   46  19  29   19  10   9   20  17   9    0.000    0.000       0
+  0     70 00:00:54.51   0.7540A   2.3888  -0.8878   0.8003  0.041  0.00   0.000      0.  0.855E+00  0.202E-01  0.292E-03  0.486E-04   46  19  30   17  10   9   20  17   9    0.000    0.000       0
+  0     78 00:01:00.51   0.7480A   2.4060  -0.8208  -0.8139  0.044  0.00   0.000      0.  0.858E+00  0.205E-01  0.276E-03  0.421E-04   46  19  31   17  10   9   15  15   9    0.000    0.000       0
+  0     86 00:01:06.47   0.7430A   2.4233  -0.6902  -0.9194  0.047  0.00   0.000      0.  0.861E+00  0.207E-01  0.260E-03  0.361E-04   46  19  31   17  10   9   13  15   9    0.000    0.000       0
+  0     94 00:01:12.39   0.7380A   2.4407   0.6403  -0.9522  0.049  0.00   0.000      0.  0.863E+00  0.207E-01  0.247E-03  0.326E-04   46  19  30    2  32   9   12  15   9    0.000    0.000       0
+  0    102 00:01:18.27   0.7320A   2.4581   0.6190  -0.9464  0.051  0.00   0.000      0.  0.866E+00  0.206E-01  0.235E-03  0.309E-04   46  19  30    2  32   9   11  17   8    0.000    0.000       0
+  0    110 00:01:24.10   0.7270A   2.4754  -0.6420  -0.9509  0.052  0.00   0.000      0.  0.868E+00  0.206E-01  0.229E-03  0.299E-04   46  20  30   20  22   9   11  11   9    0.000    0.000       0
+  0    119 00:01:30.62   0.7220A   2.4945  -0.6442  -0.9176  0.054  0.00   0.000      0.  0.871E+00  0.207E-01  0.225E-03  0.289E-04   46  20  31   20  22   9    9  11   9    0.000    0.000       0
+  0    127 00:01:36.37   0.7170A   2.5114  -0.6682  -0.9181  0.055  0.00   0.000      0.  0.874E+00  0.208E-01  0.223E-03  0.286E-04   46  20  33   20  22   9    8  19   7    0.000    0.000       0
+  0    135 00:01:42.08   0.7120A   2.5280  -0.6715  -0.8719  0.056  0.00   0.000      0.  0.877E+00  0.209E-01  0.219E-03  0.285E-04   46  24  35   20  22   9    7  19   6    0.000    0.000       0
+  0    144 00:01:48.46   0.7070A   2.5467  -0.6976  -0.8413  0.057  0.00   0.000      0.  0.880E+00  0.212E-01  0.215E-03  0.277E-04   45  23   1   20  22   9    7  19   8    0.000    0.000       0
+  0    152 00:01:54.10   0.7020A   2.5638  -0.6931  -0.7877  0.058  0.00   0.000      0.  0.882E+00  0.214E-01  0.211E-03  0.263E-04   45  19  11   20  22   9    4  20   3    0.000    0.000       0
+  0    161 00:02:00.39   0.6970A   2.5829  -0.6444  -0.7365  0.059  0.00   0.000      0.  0.886E+00  0.215E-01  0.207E-03  0.248E-04   45  19  13   19  22   9    6  20   6    0.000    0.000       0
+  0    170 00:02:06.64   0.6920A   2.6018  -0.6327  -0.7281  0.059  0.00   0.000      0.  0.889E+00  0.217E-01  0.205E-03  0.238E-04   45  19  15   19  22   9    5  18   4    0.000    0.000       0
+  0    178 00:02:12.15   0.6870A   2.6183  -0.5781   0.6890  0.059  0.00   0.000      0.  0.891E+00  0.218E-01  0.202E-03  0.227E-04   45  19  17   19  22   9   22  19   9    0.000    0.000       0
+  0    187 00:02:18.31   0.6830A   2.6366  -0.5302   0.6731  0.059  0.00   0.000      0.  0.894E+00  0.220E-01  0.198E-03  0.211E-04   45  19  18   20  22   9   22  19   9    0.000    0.000       0
+  0    196 00:02:24.44   0.6780A   2.6546  -0.5058   0.6516  0.059  0.00   0.000      0.  0.897E+00  0.221E-01  0.195E-03  0.200E-04   46  19  20   20  22   9   22  19   9    0.000    0.000       0
+  0    205 00:02:30.52   0.6740A   2.6723   0.4899   0.6656  0.058  0.00   0.000      0.  0.900E+00  0.222E-01  0.197E-03  0.203E-04   46  24  20    1  26  39   25  19   9    0.000    0.000       0
+  0    214 00:02:36.56   0.6690A   2.6899  -0.4889   0.6714  0.058  0.00   0.000      0.  0.903E+00  0.224E-01  0.201E-03  0.212E-04   46  25  20   12  23   3   21  21   9    0.000    0.000       0
+  0    223 00:02:42.56   0.6650A   2.7073  -0.4811   0.7103  0.058  0.00   0.000      0.  0.906E+00  0.225E-01  0.204E-03  0.213E-04   46  26  21   12  22   3   22  20   9    0.000    0.000       0
+  0    232 00:02:48.52   0.6610A   2.7245  -0.6068   0.7298  0.058  0.00   0.000      0.  0.910E+00  0.228E-01  0.208E-03  0.216E-04   46  27  22   20  10   9   21  19   9    0.000    0.000       0
+  0    241 00:02:54.45   0.6570A   2.7416  -0.7682   0.7412  0.059  0.00   0.000      0.  0.912E+00  0.230E-01  0.214E-03  0.219E-04   46  27  23   20  10   9   22  19   9    0.000    0.000       0
+  0    250 00:03:00.34   0.6530A   2.7585  -0.7590   0.7397  0.059  0.00   0.000      0.  0.915E+00  0.233E-01  0.218E-03  0.216E-04   46  26  24   19  10   9   22  19   9    0.000    0.000       0
+  0    259 00:03:06.19   0.6490A   2.7754  -0.6702   0.7173  0.060  0.00   0.000      0.  0.918E+00  0.236E-01  0.222E-03  0.208E-04   46  26  26   19  10   9   22  19   9    0.000    0.000       0
+  0    268 00:03:12.01   0.6450A   2.7923  -0.5494   0.6685  0.060  0.00   0.000      0.  0.921E+00  0.239E-01  0.225E-03  0.199E-04   46  25  28   19  10   9   22  19   9    0.000    0.000       0
+  0    278 00:03:18.43   0.6400A   2.8109  -0.5479  -0.6538  0.060  0.00   0.000      0.  0.924E+00  0.242E-01  0.228E-03  0.179E-04   45  25  30   20  21   9   18  23   9    0.000    0.000       0
+  0    287 00:03:24.17   0.6370A   2.8275  -0.6901  -0.7383  0.060  0.00   0.000      0.  0.927E+00  0.244E-01  0.230E-03  0.166E-04   46  24  33   20  25   8   17  23   9    0.000    0.000       0
+  0    297 00:03:30.52   0.6320A   2.8459   0.7232  -0.7327  0.060  0.00   0.000      0.  0.930E+00  0.247E-01  0.233E-03  0.156E-04   45  23  35   20  15   8   16  23   9    0.000    0.000       0
+  0    306 00:03:36.19   0.6290A   2.8622   0.5872  -0.6812  0.059  0.00   0.000      0.  0.933E+00  0.249E-01  0.236E-03  0.142E-04   45  23  38   20  16   8   15  23   9    0.000    0.000       0
+  0    316 00:03:42.46   0.6250A   2.8801   0.4635  -0.6534  0.059  0.00   0.000      0.  0.937E+00  0.251E-01  0.240E-03  0.132E-04   45  23   1   14  30   9   15  22   9    0.000    0.000       0
+  0    325 00:03:48.07   0.6220A   2.8960   0.4571  -0.6170  0.058  0.00   0.000      0.  0.939E+00  0.252E-01  0.243E-03  0.132E-04   46  24   4   28  24  20   16  18   9    0.000    0.000       0
+  0    335 00:03:54.26   0.6180A   2.9143   0.4859  -0.5800  0.057  0.00   0.000      0.  0.943E+00  0.253E-01  0.245E-03  0.132E-04   45  20  30   28  24  23   15  18   9    0.000    0.000       0
+  0    345 00:04:00.42   0.6140A   2.9325  -0.4670  -0.5389  0.056  0.00   0.000      0.  0.946E+00  0.254E-01  0.247E-03  0.124E-04   46  20  34   26  16  24   26  16  23    0.000    0.000       0
+  0    355 00:04:06.53   0.6100A   2.9505   0.5272  -0.5665  0.054  0.00   0.000      0.  0.949E+00  0.255E-01  0.252E-03  0.139E-04   45  20  37   27  24  30   26  16  26    0.000    0.000       0
+  0    364 00:04:12.01   0.6070A   2.9667   0.4919  -0.5856  0.053  0.00   0.000      0.  0.952E+00  0.256E-01  0.258E-03  0.165E-04   45  20   1   26  25  32   29  22  31    0.000    0.000       0
+  0    374 00:04:18.05   0.6030A   2.9848  -0.5116  -0.6015  0.052  0.00   0.000      0.  0.955E+00  0.258E-01  0.265E-03  0.189E-04   45  20   5    1   9   9   25  16  32    0.000    0.000       0
+  0    384 00:04:24.06   0.5990A   3.0031  -0.5270  -0.5732  0.051  0.00   0.000      0.  0.958E+00  0.260E-01  0.269E-03  0.201E-04   45  20   9    1   8   9   25  16  35    0.000    0.000       0
+  0    394 00:04:30.04   0.5960A   3.0215   0.5345   0.5755  0.051  0.00   0.000      0.  0.961E+00  0.261E-01  0.271E-03  0.194E-04   45  20  13   21  17   8   28  18   9    0.000    0.000       0
+  0    405 00:04:36.57   0.5920A   3.0417  -0.5896  -0.5828  0.052  0.00   0.000      0.  0.965E+00  0.263E-01  0.273E-03  0.184E-04   45  18  17   20  10   9   28  22   6    0.000    0.000       0
+  0    415 00:04:42.47   0.5880A   3.0599  -0.6191  -0.5655  0.053  0.00   0.000      0.  0.968E+00  0.265E-01  0.278E-03  0.179E-04   45  17  21   20  10   9   28  22   9    0.000    0.000       0
+  0    425 00:04:48.33   0.5850A   3.0784  -0.5863  -0.5957  0.053  0.00   0.000      0.  0.971E+00  0.266E-01  0.282E-03  0.179E-04   45  17  26   19  10   9   27  23  15    0.000    0.000       0
+  0    435 00:04:54.16   0.5810A   3.0968   0.6127  -0.7176  0.054  0.00   0.000      0.  0.974E+00  0.267E-01  0.285E-03  0.171E-04   45  17  30   20  16   9   18  13   9    0.000    0.000       0
+  0    446 00:05:00.53   0.5770A   3.1171  -0.5630  -0.7806  0.055  0.00   0.000      0.  0.977E+00  0.268E-01  0.287E-03  0.167E-04   45  16  35   17  10   9   17  13   9    0.000    0.000       0
+  0    456 00:05:06.28   0.5740A   3.1352  -0.5674  -0.7173  0.055  0.00   0.000      0.  0.980E+00  0.269E-01  0.289E-03  0.168E-04   46  16   0   22  22  38   16  13   9    0.000    0.000       0
+  0    466 00:05:12.01   0.5710A   3.1532  -0.6311  -0.7268  0.055  0.00   0.000      0.  0.983E+00  0.269E-01  0.290E-03  0.164E-04   45  16   4   22  21   0   17  24   9    0.000    0.000       0
+  0    477 00:05:18.26   0.5670A   3.1724   0.5779  -0.7171  0.055  0.00   0.000      0.  0.986E+00  0.270E-01  0.296E-03  0.166E-04   46  15  10   12  30   9   16  24   9    0.000    0.000       0
+  0    488 00:05:24.49   0.5640A   3.1918  -0.5134  -0.6909  0.054  0.00   0.000      0.  0.989E+00  0.271E-01  0.298E-03  0.165E-04   45  15  15   21  23   2   16  22   9    0.000    0.000       0
+  0    498 00:05:30.11   0.5610A   3.2084  -0.5644  -0.6344  0.053  0.00   0.000      0.  0.992E+00  0.272E-01  0.300E-03  0.175E-04   45  15  20   20  26   8   15  22   9    0.000    0.000       0
+  0    509 00:05:36.26   0.5580A   3.2258   0.5631  -0.7856  0.051  0.00   0.000      0.  0.995E+00  0.274E-01  0.303E-03  0.185E-04   46  15  26    9  30   9   17  19   9    0.000    0.000       0
+  0    520 00:05:42.38   0.5550A   3.2428  -0.5504  -0.8223  0.050  0.00   0.000      0.  0.998E+00  0.276E-01  0.303E-03  0.187E-04   46  14  32   22  19  12   17  19   9    0.000    0.000       0
+  0    531 00:05:48.47   0.5520A   3.2587   0.5857  -0.7596  0.049  0.00   0.000      0.  0.100E+01  0.279E-01  0.304E-03  0.190E-04   46  14  38   20  17   8   15  18   9    0.000    0.000       0
+  0    542 00:05:54.53   0.5500A   3.2736   0.6269  -0.6729  0.049  0.00   0.000      0.  0.100E+01  0.282E-01  0.309E-03  0.184E-04   46  23   4   20  19   8   14  18   9    0.000    0.000       0
+  0    552 00:06:00.02   0.5470A   3.2899   0.6780  -0.6053  0.048  0.00   0.000      0.  0.101E+01  0.285E-01  0.314E-03  0.184E-04   46  24   9   19  13   9   13  18   9    0.000    0.000       0
+  0    563 00:06:06.02   0.5440A   3.3090   0.6530  -0.5746  0.048  0.00   0.000      0.  0.101E+01  0.290E-01  0.320E-03  0.187E-04   46  24  16   19  14   9   27  24  21    0.000    0.000       0
+  0    575 00:06:12.53   0.5420A   3.3233   0.6736   0.5649  0.048  0.00   0.000      0.  0.101E+01  0.295E-01  0.321E-03  0.185E-04   46  25  23   18  14   9   20  15   9    0.000    0.000       0
+  0    586 00:06:18.47   0.5390A   3.3381   0.6871   0.5503  0.047  0.00   0.000      0.  0.101E+01  0.300E-01  0.322E-03  0.182E-04   46  25  30   16  15   9   20  21   9    0.000    0.000       0
+  0    597 00:06:24.39   0.5380A   3.3469   0.6618   0.5419  0.047  0.00   0.000      0.  0.101E+01  0.306E-01  0.325E-03  0.176E-04   46  25   0   14  15   9   20  21   9    0.000    0.000       0
+  0    608 00:06:30.29   0.5340A   3.3684   0.6536   0.5598  0.046  0.00   0.000      0.  0.102E+01  0.313E-01  0.327E-03  0.170E-04   45  25  13   14  16   9   20  12   9    0.000    0.000       0
+  0    619 00:06:36.14   0.5300A   3.3975   0.6375   0.5626  0.046  0.00   0.000      0.  0.102E+01  0.319E-01  0.330E-03  0.157E-04   45  13  24   16  16   9   20  21   9    0.000    0.000       0
+  0    631 00:06:42.47   0.5250A   3.4267   0.6181   0.6168  0.045  0.00   0.000      0.  0.102E+01  0.326E-01  0.333E-03  0.143E-04   45  12  30   19  17   9   20  13   9    0.000    0.000       0
+  0    642 00:06:48.23   0.5220A   3.4488   0.6395   0.5551  0.045  0.00   0.000      0.  0.102E+01  0.333E-01  0.334E-03  0.130E-04   45  12  39   19  18   9   20  12   9    0.000    0.000       0
+  0    654 00:06:54.47   0.5190A   3.4694   0.5860  -0.5104  0.045  0.00   0.000      0.  0.102E+01  0.340E-01  0.335E-03  0.112E-04   46  12   8   18  18   9   31  11  30    0.000    0.000       0
+  0    665 00:07:00.16   0.5160A   3.4851   0.5331  -0.5082  0.046  0.00   0.000      0.  0.102E+01  0.349E-01  0.338E-03  0.103E-04   45  12  20   12  14   8   31  11  34    0.000    0.000       0
+  0    677 00:07:06.34   0.5140A   3.5046   0.6797  -0.5598  0.047  0.00   0.000      0.  0.102E+01  0.359E-01  0.343E-03  0.963E-05   45  11  24   20  27   9   18  25   9    0.000    0.000       0
+  0    689 00:07:12.49   0.5110A   3.5213   0.6560  -0.8281  0.048  0.00   0.000      0.  0.103E+01  0.370E-01  0.347E-03  0.944E-05   46  11  36   19  28   9   18  23   9    0.000    0.000       0
+  0    700 00:07:18.10   0.5090A   3.5368  -0.7260  -1.0158  0.049  0.00   0.000      0.  0.103E+01  0.381E-01  0.350E-03  0.934E-05   46  11   6   19  22   9   17  23   9    0.000    0.000       0
+  0    712 00:07:24.20   0.5070A   3.5520  -0.8447  -0.9723  0.049  0.00   0.000      0.  0.103E+01  0.394E-01  0.356E-03  0.943E-05   45  11  26   19  21   9   16  23   9    0.000    0.000       0
+  0    724 00:07:30.26   0.5030A   3.5765  -0.8534  -0.8760  0.050  0.00   0.000      0.  0.103E+01  0.408E-01  0.365E-03  0.929E-05   45  10  33   18  20   9   15  20   9    0.000    0.000       0
+  0    736 00:07:36.26   0.4980A   3.6128  -0.7999  -0.8146  0.049  0.00   0.000      0.  0.103E+01  0.424E-01  0.376E-03  0.877E-05   45  10  39   17  19   9   14  22   9    0.000    0.000       0
+  0    748 00:07:42.22   0.4950A   3.6348  -0.6985  -0.7354  0.049  0.00   0.000      0.  0.103E+01  0.441E-01  0.389E-03  0.821E-05   46   9   7   16  18   9   13  22   9    0.000    0.000       0
+  0    760 00:07:48.15   0.4940A   3.6471  -0.6746  -0.6821  0.047  0.00   0.000      0.  0.103E+01  0.460E-01  0.400E-03  0.774E-05   46   9  15   16  18   9   40  16  33    0.000    0.000       0
+  0    772 00:07:54.06   0.4920A   3.6597   0.6172  -0.6400  0.046  0.00   0.000      0.  0.103E+01  0.480E-01  0.412E-03  0.727E-05   46   9  26   34  12  12   38  27   5    0.000    0.000       0
+  0    785 00:08:00.43   0.4880A   3.6863   0.6587   0.7165  0.046  0.00   0.000      0.  0.103E+01  0.502E-01  0.420E-03  0.684E-05   46   9  39   41  16   2   42  14  18    0.000    0.000       0
+  0    797 00:08:06.28   0.4880A   3.6920  -0.6399  -0.7213  0.045  0.00   0.000      0.  0.103E+01  0.522E-01  0.424E-03  0.714E-05   45  32   0   43  15  19   37  27  16    0.000    0.000       0
+  0    809 00:08:12.12   0.4860A   3.7031  -0.6263  -0.6997  0.045  0.00   0.000      0.  0.103E+01  0.542E-01  0.427E-03  0.761E-05   46   8  15   43  14  39   40  27  22    0.000    0.000       0
+  0    822 00:08:18.43   0.4830A   3.7274  -0.6840  -0.6800  0.044  0.00   0.000      0.  0.103E+01  0.562E-01  0.429E-03  0.865E-05   46   8   0   43  13   4   39  12  32    0.000    0.000       0
+  0    834 00:08:24.21   0.4820A   3.7375   0.7015  -0.7520  0.044  0.00   0.000      0.  0.102E+01  0.580E-01  0.436E-03  0.904E-05   46   8   8   36  15   8   42  11   4    0.000    0.000       0
+  0    847 00:08:30.44   0.4770A   3.7772   0.7114  -0.7533  0.044  0.00   0.000      0.  0.102E+01  0.598E-01  0.447E-03  0.907E-05   45   8  12   38  15  17   40  32  12    0.000    0.000       0
+  0    859 00:08:36.13   0.4720A   3.8142  -0.7322  -0.7898  0.045  0.00   0.000      0.  0.102E+01  0.613E-01  0.463E-03  0.941E-05   46  33  22   40  28  27   38  26   8    0.000    0.000       0
+  0    872 00:08:42.16   0.4560A   3.9446  -0.7207  -0.7836  0.045  0.00   0.000      0.  0.102E+01  0.627E-01  0.465E-03  0.974E-05   46  33  32   40  25  36   39  31  26    0.000    0.000       0
+  0    885 00:08:48.08   0.4530A   3.9760  -0.7576  -0.8978  0.046  0.00   0.000      0.  0.102E+01  0.638E-01  0.480E-03  0.101E-04   44  33   0   41  25   2   16  21   9    0.000    0.000       0
+  0    899 00:08:54.30   0.4450A   4.0419  -0.7842  -0.9033  0.047  0.00   0.000      0.  0.102E+01  0.647E-01  0.482E-03  0.994E-05   44  33  10   41  25   8   15  21   9    0.000    0.000       0
+  0    912 00:09:00.03   0.4410A   4.0779   0.7859  -0.8624  0.047  0.00   0.000      0.  0.102E+01  0.652E-01  0.484E-03  0.986E-05   44  33  19   32  14  38   14  21   9    0.000    0.000       0
+  0    926 00:09:06.30   0.4510A   3.9915   0.8946  -0.8166  0.048  0.00   0.000      0.  0.102E+01  0.655E-01  0.504E-03  0.987E-05   46  34  16   31  14   3   13  22   9    0.000    0.000       0
+  0    939 00:09:12.11   0.4450A   4.0490   0.8876  -0.7782  0.049  0.00   0.000      0.  0.102E+01  0.656E-01  0.507E-03  0.958E-05   46  35  24   31  15   8   11  22   9    0.000    0.000       0
+  0    953 00:09:18.26   0.4340A   4.1500   0.9469  -0.7841  0.049  0.00   0.000      0.  0.102E+01  0.656E-01  0.508E-03  0.948E-05   46  33   6   31  17  15   39  25   8    0.000    0.000       0
+  0    967 00:09:24.23   0.4140A   4.3450   0.9600  -0.7475  0.049  0.00   0.000      0.  0.102E+01  0.655E-01  0.496E-03  0.942E-05   45  33  16   30  17  19   15  18   9    0.000    0.000       0
+  0    981 00:09:30.18   0.4450A   4.0424   0.9390  -0.8251  0.049  0.00   0.000      0.  0.101E+01  0.654E-01  0.536E-03  0.108E-04   44  36  17   30  18  24   31  27  27    0.000    0.000       0
+  0    995 00:09:36.40   0.4460A   4.0317   0.9346  -0.8065  0.049  0.00   0.000      0.  0.101E+01  0.653E-01  0.548E-03  0.116E-04   44  36  27   30  19  29   33  27  34    0.000    0.000       0
+  0   1008 00:09:42.19   0.4440A   4.0531   0.8957  -0.7653  0.049  0.00   0.000      0.  0.101E+01  0.653E-01  0.551E-03  0.115E-04   44  37  36   30  21  33   37  12   2    0.000    0.000       0
+  0   1022 00:09:48.35   0.4310A   4.1748  -0.9126  -0.7556  0.050  0.00   0.000      0.  0.101E+01  0.652E-01  0.543E-03  0.991E-05   46  37  11   20  22   8   32  27   6    0.000    0.000       0
+  0   1036 00:09:54.30   0.4220A   4.2614   0.9354  -0.7337  0.050  0.00   0.000      0.  0.101E+01  0.650E-01  0.541E-03  0.853E-05   46  37  20   29  16   5   35  34  23    0.000    0.000       0
+  0   1050 00:10:00.29   0.4300A   4.1862   0.8466  -0.7284  0.050  0.00   0.000      0.  0.101E+01  0.648E-01  0.559E-03  0.872E-05   44  37  30   29  20   9   38  11  17    0.000    0.000       0
+  0   1064 00:10:06.32   0.4320A   4.1641   0.8931  -0.7818  0.050  0.00   0.000      0.  0.101E+01  0.647E-01  0.574E-03  0.952E-05   43  36  39   29  22  13   17  26   9    0.000    0.000       0
+  0   1078 00:10:12.37   0.4400A   4.0947   0.8249  -0.7593  0.049  0.00   0.000      0.  0.101E+01  0.647E-01  0.595E-03  0.112E-04   44  36   3   28  16  16   37  11  29    0.000    0.000       0
+  0   1091 00:10:18.10   0.4390A   4.0997   0.8381  -0.7804  0.049  0.00   0.000      0.  0.101E+01  0.648E-01  0.600E-03  0.131E-04   46  37  19   28  16  20   35  10  36    0.000    0.000       0
+  0   1105 00:10:24.20   0.4330A   4.1541  -0.9270  -0.7975  0.049  0.00   0.000      0.  0.100E+01  0.649E-01  0.604E-03  0.134E-04   45  37  28   43  34   6   40  33  23    0.000    0.000       0
+  0   1119 00:10:30.26   0.4400A   4.0877  -0.8184  -0.8339  0.049  0.00   0.000      0.  0.100E+01  0.650E-01  0.619E-03  0.122E-04   46  37  38   35  29  28   40  32  30    0.000    0.000       0
+  0   1132 00:10:36.18   0.4760A   3.7785   0.7847  -0.8724  0.050  0.00   0.000      0.  0.100E+01  0.652E-01  0.673E-03  0.124E-04   46  37   7   38  37   0   40  35  39    0.000    0.000       0
+  0   1144 00:10:42.03   0.4910A   3.6627   0.8078  -0.8261  0.050  0.00   0.000      0.  0.100E+01  0.653E-01  0.699E-03  0.114E-04   45  30  39   37  37   5   40   4  17    0.000    0.000       0
+  0   1157 00:10:48.48   0.5010A   3.5911  -1.0001  -0.9247  0.050  0.00   0.000      0.  0.100E+01  0.653E-01  0.729E-03  0.114E-04   46  30  10   45  36   4   39  39  15    0.000    0.000       0
+  0   1169 00:10:54.45   0.4950A   3.6327  -0.9674  -0.7779  0.050  0.00   0.000      0.  0.999E+00  0.655E-01  0.733E-03  0.113E-04   46  32  13   46  34  11   38  39  22    0.000    0.000       0
+  0   1181 00:11:00.39   0.4940A   3.6441   1.0465   0.7909  0.049  0.00   0.000      0.  0.998E+00  0.656E-01  0.740E-03  0.132E-04   46  37   8   38   3  32   40   3  30    0.000    0.000       0
+  0   1193 00:11:06.35   0.4960A   3.6257  -0.9679  -0.8189  0.049  0.00   0.000      0.  0.997E+00  0.660E-01  0.744E-03  0.134E-04   46  37  17   42  38  34   37  11  18    0.000    0.000       0
+  0   1205 00:11:12.26   0.4890A   3.6807   0.9576  -0.8599  0.050  0.00   0.000      0.  0.995E+00  0.664E-01  0.737E-03  0.123E-04   44  33  33   38   4   5   38   7  14    0.000    0.000       0
+  0   1217 00:11:18.23   0.4980A   3.6110   1.0754  -0.8287  0.052  0.00   0.000      0.  0.994E+00  0.667E-01  0.758E-03  0.114E-04   42  36  32   39   5  11   36   7  20    0.000    0.000       0
+  0   1229 00:11:24.20   0.5040A   3.5738   1.1351  -0.7737  0.053  0.00   0.000      0.  0.992E+00  0.669E-01  0.771E-03  0.122E-04   42  36   0   39   6  16   36   8  26    0.000    0.000       0
+  0   1241 00:11:30.27   0.5090A   3.5385  -1.0134  -0.7784  0.054  0.00   0.000      0.  0.991E+00  0.669E-01  0.783E-03  0.112E-04   45  35   9   39  26  14   18  10   9    0.000    0.000       0
+  0   1253 00:11:36.48   0.5210A   3.4571  -0.9613  -0.9135  0.053  0.00   0.000      0.  0.989E+00  0.668E-01  0.803E-03  0.102E-04   46  38  20   39  24  20   36   0  24    0.000    0.000       0
+  0   1264 00:11:42.20   0.5200A   3.4589  -0.8144  -0.7892  0.052  0.00   0.000      0.  0.987E+00  0.666E-01  0.806E-03  0.115E-04   46  35  28   38  24  26   34   0  30    0.000    0.000       0
+  0   1276 00:11:48.44   0.5210A   3.4557   0.7740  -0.8765  0.051  0.00   0.000      0.  0.986E+00  0.665E-01  0.806E-03  0.127E-04   46  35  36   27   6  19   34   3  32    0.000    0.000       0
+  0   1287 00:11:54.22   0.5280A   3.4085  -0.7650  -0.8305  0.051  0.00   0.000      0.  0.984E+00  0.664E-01  0.819E-03  0.129E-04   46  36   2   32  33  20   33   3  37    0.000    0.000       0
+  0   1298 00:12:00.06   0.5330A   3.3784   0.8577  -0.7853  0.051  0.00   0.000      0.  0.983E+00  0.662E-01  0.829E-03  0.141E-04   46  22   6   27   7  28   32   3   1    0.000    0.000       0
+  0   1310 00:12:06.45   0.5300A   3.3983   0.8641  -0.8815  0.050  0.00   0.000      0.  0.981E+00  0.660E-01  0.823E-03  0.132E-04   46  22  15   27   7  33   29   6   0    0.000    0.000       0
+  0   1321 00:12:12.29   0.5300A   3.3985   0.8148  -0.9019  0.050  0.00   0.000      0.  0.979E+00  0.656E-01  0.827E-03  0.149E-04   46  22  23   28   7  37   28   5   5    0.000    0.000       0
+  0   1332 00:12:18.21   0.5430A   3.3140   0.8649  -0.8604  0.050  0.00   0.000      0.  0.977E+00  0.653E-01  0.833E-03  0.169E-04   46  22  31   28   7   2   37  38  37    0.000    0.000       0
+  0   1343 00:12:24.21   0.5470A   3.2910   0.8501  -0.9330  0.050  0.00   0.000      0.  0.976E+00  0.649E-01  0.834E-03  0.193E-04   46  31   2   20  17   9   26   4  14    0.000    0.000       0
+  0   1354 00:12:30.18   0.5420A   3.3203   0.8365  -0.8427  0.050  0.00   0.000      0.  0.974E+00  0.646E-01  0.825E-03  0.198E-04   46  31  10   27   0   0   25  17  37    0.000    0.000       0
+  0   1365 00:12:36.14   0.5450A   3.2999  -0.8523  -0.8548  0.050  0.00   0.000      0.  0.972E+00  0.641E-01  0.829E-03  0.200E-04   45  31  17   31   4  27   14  11   9    0.000    0.000       0
+  0   1376 00:12:42.15   0.5480A   3.2857   0.8774  -0.8129  0.051  0.00   0.000      0.  0.970E+00  0.636E-01  0.829E-03  0.196E-04   46  37  22   26   1   8   13  11   9    0.000    0.000       0
+  0   1387 00:12:48.15   0.5460A   3.2995   0.9920  -0.7713  0.051  0.00   0.000      0.  0.969E+00  0.629E-01  0.817E-03  0.164E-04   46  28  13   26   2  11   25  10  21    0.000    0.000       0
+  0   1398 00:12:54.13   0.5460A   3.2941   0.9427  -0.8102  0.051  0.00   0.000      0.  0.967E+00  0.620E-01  0.815E-03  0.152E-04   44  37  37   26   2  15   17  35  12    0.000    0.000       0
+  0   1409 00:13:00.11   0.5390A   3.3410  -0.8890  -0.8347  0.051  0.00   0.000      0.  0.965E+00  0.611E-01  0.801E-03  0.141E-04   44  38   5   19  28   9   16  35  15    0.000    0.000       0
+  0   1420 00:13:06.09   0.5500A   3.2716  -0.9093  -0.8498  0.051  0.00   0.000      0.  0.964E+00  0.601E-01  0.821E-03  0.143E-04   44  38  13   19  10   9   18  14   9    0.000    0.000       0
+  0   1431 00:13:12.23   0.5580A   3.2276  -0.8611  -0.9394  0.051  0.00   0.000      0.  0.962E+00  0.590E-01  0.839E-03  0.163E-04   46  31  30   19  25   9   17  15   9    0.000    0.000       0
+  0   1442 00:13:18.37   0.5570A   3.2344  -0.8411  -0.9139  0.050  0.00   0.000      0.  0.961E+00  0.579E-01  0.826E-03  0.160E-04   42  31  37   42  24  19   16  15   9    0.000    0.000       0
+  0   1453 00:13:24.47   0.5580A   3.2269  -0.9322  -0.8737  0.049  0.00   0.000      0.  0.960E+00  0.569E-01  0.805E-03  0.174E-04   42  31   5   42  23  24   31  28  26    0.000    0.000       0
+  0   1463 00:13:30.10   0.5660A   3.1798   1.0073  -0.8446  0.049  0.00   0.000      0.  0.959E+00  0.560E-01  0.800E-03  0.187E-04   46  27   3   21  16   8   30  28  30    0.000    0.000       0
+  0   1474 00:13:36.33   0.5650A   3.1852   1.1981  -0.8227  0.051  0.00   0.000      0.  0.958E+00  0.550E-01  0.787E-03  0.194E-04   46  36  10   20  15   9   20  12   8    0.000    0.000       0
+  0   1484 00:13:42.00   0.5660A   3.1805   1.0753  -1.2397  0.052  0.00   0.000      0.  0.957E+00  0.540E-01  0.777E-03  0.187E-04   45  33  19   19  15   9   18  11   9    0.000    0.000       0
+  0   1495 00:13:48.16   0.5570A   3.2320   0.9838  -1.0143  0.052  0.00   0.000      0.  0.955E+00  0.529E-01  0.752E-03  0.178E-04   45  33  28   18  16   9   16  12   9    0.000    0.000       0
+  0   1506 00:13:54.27   0.5540A   3.2515   0.9011  -0.7556  0.053  0.00   0.000      0.  0.954E+00  0.518E-01  0.735E-03  0.176E-04   46  33  36   18  17   9   15  13   9    0.000    0.000       0
+  0   1517 00:14:00.39   0.5600A   3.2163  -0.8704  -0.7259  0.052  0.00   0.000      0.  0.953E+00  0.509E-01  0.724E-03  0.177E-04   46  33   4   20  26   9   17  27   9    0.000    0.000       0
+  0   1528 00:14:06.56   0.5660A   3.1799  -0.7805  -0.7023  0.051  0.00   0.000      0.  0.953E+00  0.501E-01  0.725E-03  0.192E-04   46  33  13   19  25   9   16  26   9    0.000    0.000       0
+  0   1538 00:14:12.23   0.5650A   3.1835  -0.7480  -0.6430  0.050  0.00   0.000      0.  0.952E+00  0.495E-01  0.714E-03  0.176E-04   46  34  21   40  30  23   15  31  10    0.000    0.000       0
+  0   1549 00:14:18.43   0.5620A   3.2054  -0.8316  -0.6760  0.049  0.00   0.000      0.  0.951E+00  0.489E-01  0.693E-03  0.160E-04   46  34  29   20  10   9   26  26  39    0.000    0.000       0
+  0   1559 00:14:24.08   0.5650A   3.1836  -0.7184  -0.7149  0.049  0.00   0.000      0.  0.951E+00  0.484E-01  0.682E-03  0.150E-04   45  32  34   33  29   2   18  17   9    0.000    0.000       0
+  0   1570 00:14:30.33   0.5670A   3.1730  -0.6710  -0.8383  0.048  0.00   0.000      0.  0.950E+00  0.480E-01  0.666E-03  0.135E-04   44  36  39   34  28   8   17  18   9    0.000    0.000       0
+  0   1580 00:14:36.02   0.5700A   3.1603  -0.7024  -0.8048  0.048  0.00   0.000      0.  0.950E+00  0.477E-01  0.664E-03  0.142E-04   45  34   4   22  22   6   16  18   9    0.000    0.000       0
+  0   1591 00:14:42.25   0.5610A   3.2079  -0.7261  -0.7691  0.048  0.00   0.000      0.  0.949E+00  0.476E-01  0.660E-03  0.182E-04   45  34  13   22  21   8   15  19   9    0.000    0.000       0
+  0   1602 00:14:48.39   0.5570A   3.2316  -0.7266   0.7810  0.050  0.00   0.000      0.  0.949E+00  0.475E-01  0.653E-03  0.192E-04   46  34  21   20  27   4   20  13   9    0.000    0.000       0
+  0   1612 00:14:54.01   0.5650A   3.1862  -0.7166  -0.7835  0.051  0.00   0.000      0.  0.948E+00  0.475E-01  0.659E-03  0.205E-04   45  35  33   20  27   6   18  23   9    0.000    0.000       0
+  0   1623 00:15:00.18   0.5600A   3.2138  -0.9215  -1.1074  0.052  0.00   0.000      0.  0.948E+00  0.474E-01  0.652E-03  0.209E-04   45  35   0   20  26   8   17  22   9    0.000    0.000       0
+  0   1634 00:15:06.34   0.5630A   3.1979   0.8010  -1.1003  0.053  0.00   0.000      0.  0.947E+00  0.471E-01  0.650E-03  0.198E-04   45  35   8   20  20   8   16  21   9    0.000    0.000       0
+  0   1644 00:15:12.02   0.5710A   3.1546   0.6825  -0.9788  0.053  0.00   0.000      0.  0.947E+00  0.469E-01  0.650E-03  0.187E-04   45  35  16   20  21   8   14  21   9    0.000    0.000       0
+  0   1655 00:15:18.33   0.5770A   3.1213   0.6382  -0.8987  0.053  0.00   0.000      0.  0.946E+00  0.467E-01  0.649E-03  0.172E-04   46  36  27   19  22   8   13  19   9    0.000    0.000       0
+  0   1665 00:15:24.09   0.5730A   3.1419  -0.6436  -0.8310  0.052  0.00   0.000      0.  0.946E+00  0.465E-01  0.638E-03  0.172E-04   44  37  36   31  21   5   15  14   9    0.000    0.000       0
+  0   1676 00:15:30.39   0.5720A   3.1445  -0.6976  -0.7923  0.051  0.00   0.000      0.  0.945E+00  0.464E-01  0.628E-03  0.188E-04   44  37   4   35  31  22   14  14   9    0.000    0.000       0
+  0   1686 00:15:36.15   0.5780A   3.1166  -0.7346  -0.7854  0.049  0.00   0.000      0.  0.945E+00  0.465E-01  0.638E-03  0.229E-04   44  37  12   24  21   6   11  25   8    0.000    0.000       0
+  0   1697 00:15:42.49   0.5720A   3.1452  -0.7532  -0.8322  0.048  0.00   0.000      0.  0.945E+00  0.467E-01  0.632E-03  0.233E-04   44  37  21   19  24   9   10  25   8    0.000    0.000       0
+  0   1707 00:15:48.19   0.5690A   3.1662  -0.9619  -0.7641  0.048  0.00   0.000      0.  0.945E+00  0.468E-01  0.627E-03  0.228E-04   44  37  28   20  21   8    9  25   8    0.000    0.000       0
+  0   1718 00:15:54.41   0.5640A   3.1908  -1.0957  -0.7163  0.048  0.00   0.000      0.  0.945E+00  0.471E-01  0.619E-03  0.239E-04   44  37  36   20  19   8   12  21   9    0.000    0.000       0
+  0   1728 00:16:00.08   0.5690A   3.1636  -0.8073  -0.7694  0.049  0.00   0.000      0.  0.945E+00  0.473E-01  0.624E-03  0.228E-04   44  37   3   20  20   9    9  18   8    0.000    0.000       0
+  0   1739 00:16:06.41   0.5740A   3.1337  -0.7694  -0.7683  0.051  0.00   0.000      0.  0.945E+00  0.475E-01  0.628E-03  0.220E-04   44   5   6   26  20  25    7  18   8    0.000    0.000       0
+  0   1749 00:16:12.14   0.5730A   3.1419  -0.8277  -0.9142  0.051  0.00   0.000      0.  0.946E+00  0.478E-01  0.622E-03  0.201E-04   44   5  14   27  19  29   11  29   8    0.000    0.000       0
+  0   1760 00:16:18.45   0.5770A   3.1213  -0.7817  -0.8787  0.052  0.00   0.000      0.  0.946E+00  0.480E-01  0.623E-03  0.193E-04   44   5  22   27  18  33   10  29   8    0.000    0.000       0
+  0   1770 00:16:24.25   0.5800A   3.1051   0.7774  -0.7471  0.053  0.00   0.000      0.  0.946E+00  0.482E-01  0.631E-03  0.187E-04   45  32  34   23  33   6    9  28   8    0.000    0.000       0
+  0   1780 00:16:30.03   0.5770A   3.1186  -0.7647  -0.6904  0.054  0.00   0.000      0.  0.946E+00  0.483E-01  0.630E-03  0.173E-04   46  31   2   19  10   9    6  18   8    0.000    0.000       0
+  0   1791 00:16:36.32   0.5680A   3.1695  -0.7969  -0.7383  0.054  0.00   0.000      0.  0.946E+00  0.484E-01  0.615E-03  0.156E-04   46  31  11   25  30  26   18  11   9    0.000    0.000       0
+  0   1802 00:16:42.53   0.5620A   3.2023  -0.7874  -0.7741  0.054  0.00   0.000      0.  0.946E+00  0.485E-01  0.607E-03  0.145E-04   46  31  20   25  29  31   17  13   9    0.000    0.000       0
+  0   1812 00:16:48.11   0.5560A   3.2352  -0.7940  -0.7025  0.054  0.00   0.000      0.  0.946E+00  0.485E-01  0.599E-03  0.133E-04   46  30  25   25  28  34   16  14   9    0.000    0.000       0
+  0   1823 00:16:54.23   0.5600A   3.2148  -0.7526   0.6787  0.053  0.00   0.000      0.  0.947E+00  0.486E-01  0.602E-03  0.130E-04   46  30  34   25  27  38   20  29   9    0.000    0.000       0
+  0   1834 00:17:00.44   0.5700A   3.1605   0.7175   0.7575  0.053  0.00   0.000      0.  0.947E+00  0.488E-01  0.612E-03  0.133E-04   46  30   3   24  38  26   20  29   9    0.000    0.000       0
+  0   1844 00:17:06.19   0.5800A   3.1023   0.7628   0.8400  0.054  0.00   0.000      0.  0.947E+00  0.490E-01  0.630E-03  0.163E-04   45  35  37   23  39  31   20  28   9    0.000    0.000       0
+  0   1855 00:17:12.56   0.5790A   3.1088  -0.7733  -0.7670  0.055  0.00   0.000      0.  0.947E+00  0.492E-01  0.640E-03  0.205E-04   46  35   6   20  19   9   18  21   9    0.000    0.000       0
+  0   1865 00:17:18.36   0.5820A   3.0928  -0.8299  -0.9441  0.055  0.00   0.000      0.  0.947E+00  0.494E-01  0.646E-03  0.215E-04   45  35  13   19  18   9   17  21   9    0.000    0.000       0
+  0   1875 00:17:24.18   0.5800A   3.1023  -0.8480  -0.9363  0.055  0.00   0.000      0.  0.947E+00  0.495E-01  0.644E-03  0.216E-04   45  33  10   19  18   9   16  21   9    0.000    0.000       0
+  0   1886 00:17:30.52   0.5740A   3.1332  -0.7617  -0.8781  0.055  0.00   0.000      0.  0.947E+00  0.496E-01  0.642E-03  0.230E-04   45  33  18   19  17   9   14  21   9    0.000    0.000       0
+  0   1896 00:17:36.28   0.5780A   3.1127   0.7613  -0.8539  0.055  0.00   0.000      0.  0.947E+00  0.498E-01  0.658E-03  0.240E-04   46  36  32   21   3  17   13  21   9    0.000    0.000       0
+  0   1906 00:17:42.12   0.5870A   3.0680   0.9057  -1.0204  0.056  0.00   0.000      0.  0.947E+00  0.500E-01  0.676E-03  0.214E-04   46  26  14   19  27   9   17  24   9    0.000    0.000       0
+  0   1916 00:17:48.01   0.5880A   3.0600   0.7886  -1.2110  0.057  0.00   0.000      0.  0.947E+00  0.500E-01  0.689E-03  0.188E-04   45  34   2   18  28   9   15  24   9    0.000    0.000       0
+  0   1927 00:17:54.48   0.5880A   3.0586   0.8750  -1.2179  0.058  0.00   0.000      0.  0.947E+00  0.498E-01  0.704E-03  0.188E-04   45  33   1   20  30   9   14  25   9    0.000    0.000       0
+  0   1937 00:18:00.36   0.5870A   3.0649   0.9734  -1.1635  0.059  0.00   0.000      0.  0.946E+00  0.494E-01  0.705E-03  0.172E-04   45  35  25   19  30   9   15  28   9    0.000    0.000       0
+  0   1947 00:18:06.22   0.5840A   3.0812   0.9773  -1.0665  0.060  0.00   0.000      0.  0.945E+00  0.489E-01  0.693E-03  0.163E-04   45  34  32   18  30   9   14  28   9    0.000    0.000       0
+  0   1957 00:18:12.01   0.5760A   3.1272  -0.8259   1.2136  0.059  0.00   0.000      0.  0.944E+00  0.485E-01  0.685E-03  0.166E-04   46  34   0   44   2  35   15  29   8    0.000    0.000       0
+  0   1968 00:18:18.33   0.5720A   3.1473  -0.9972   1.0660  0.059  0.00   0.000      0.  0.943E+00  0.481E-01  0.678E-03  0.151E-04   45  37   5   20  29   8   19  29   8    0.000    0.000       0
+  0   1979 00:18:24.53   0.5610A   3.2069  -0.8948   0.9876  0.057  0.00   0.000      0.  0.943E+00  0.477E-01  0.674E-03  0.153E-04   45  37  14   45   2  14   20  28   8    0.000    0.000       0
+  0   1989 00:18:30.11   0.5540A   3.2465  -0.9274   0.9817  0.056  0.00   0.000      0.  0.942E+00  0.473E-01  0.671E-03  0.167E-04   45  36  21   46   0  19   21  28   9    0.000    0.000       0
+  0   2000 00:18:36.18   0.5510A   3.2694  -0.9031  -0.7389  0.056  0.00   0.000      0.  0.941E+00  0.469E-01  0.667E-03  0.186E-04   46  36  30   46  39  26   15  18   9    0.000    0.000       0
+  0   2011 00:18:42.32   0.5690A   3.1657  -0.8838  -0.7481  0.055  0.00   0.000      0.  0.941E+00  0.466E-01  0.690E-03  0.227E-04   46  36  39   46  38  34   15  17   9    0.000    0.000       0
+  0   2021 00:18:48.03   0.5720A   3.1490  -0.8620  -0.7801  0.054  0.00   0.000      0.  0.940E+00  0.463E-01  0.693E-03  0.226E-04   44  35   3   20  18   9   16  18   9    0.000    0.000       0
+  0   2032 00:18:54.36   0.5680A   3.1682   0.7776  -0.8316  0.055  0.00   0.000      0.  0.940E+00  0.460E-01  0.686E-03  0.198E-04   45  37   7   20   6   8   16  19   9    0.000    0.000       0
+  0   2042 00:19:00.10   0.5870A   3.0651   0.7863  -0.8438  0.055  0.00   0.000      0.  0.940E+00  0.456E-01  0.694E-03  0.169E-04   46  39   7   16  10   6   16  21   9    0.000    0.000       0
+  0   2053 00:19:06.58   0.5850A   3.0773  -0.7529  -0.8579  0.055  0.00   0.000      0.  0.940E+00  0.451E-01  0.676E-03  0.141E-04   44  36  21   24  27  30   16  23   9    0.000    0.000       0
+  0   2063 00:19:12.38   0.5810A   3.0961  -0.7386  -0.8174  0.055  0.00   0.000      0.  0.940E+00  0.448E-01  0.663E-03  0.127E-04   44  36  29   25  26  34   15  23   9    0.000    0.000       0
+  0   2073 00:19:18.18   0.5830A   3.0893  -0.7783  -0.8315  0.055  0.00   0.000      0.  0.940E+00  0.445E-01  0.652E-03  0.118E-04   43  36  36   25  25  37   35  32  32    0.000    0.000       0
+  0   2084 00:19:24.57   0.5780A   3.1144  -0.7439  -0.7455  0.055  0.00   0.000      0.  0.940E+00  0.443E-01  0.633E-03  0.104E-04   46  34  24   25  24   0   34  35  34    0.000    0.000       0
+  0   2094 00:19:30.33   0.5740A   3.1370   0.6970  -0.7022  0.054  0.00   0.000      0.  0.940E+00  0.442E-01  0.620E-03  0.994E-05   46  34   2   24  11  11   12  22   9    0.000    0.000       0
+  0   2104 00:19:36.05   0.5680A   3.1703   0.7088  -0.6792  0.053  0.00   0.000      0.  0.941E+00  0.442E-01  0.613E-03  0.108E-04   46  34   9   24  12  14   33  31  10    0.000    0.000       0
+  0   2115 00:19:42.31   0.5700A   3.1584  -0.6856  -0.6932  0.052  0.00   0.000      0.  0.941E+00  0.443E-01  0.618E-03  0.124E-04   46  29  10   28  24  28   33  36  11    0.000    0.000       0
+  0   2126 00:19:48.53   0.5650A   3.1865  -0.6771  -0.7577  0.052  0.00   0.000      0.  0.942E+00  0.445E-01  0.613E-03  0.127E-04   46  29  18   26  23  31   33  36  17    0.000    0.000       0
+  0   2136 00:19:54.19   0.5670A   3.1751  -0.6983  -0.7562  0.051  0.00   0.000      0.  0.942E+00  0.447E-01  0.618E-03  0.132E-04   46  29  25   26  22  35   32  36  22    0.000    0.000       0
+  0   2147 00:20:00.43   0.5660A   3.1828  -0.6959  -0.7299  0.051  0.00   0.000      0.  0.943E+00  0.451E-01  0.619E-03  0.143E-04   46  31  31   25  22  39   31  36  28    0.000    0.000       0
+  0   2157 00:20:06.02   0.5540A   3.2485  -0.7512  -0.7575  0.051  0.00   0.000      0.  0.943E+00  0.454E-01  0.610E-03  0.165E-04   46  31  38   24  21   1   30  36  33    0.000    0.000       0
+  0   2168 00:20:12.09   0.5550A   3.2462  -0.8067  -0.6957  0.051  0.00   0.000      0.  0.943E+00  0.456E-01  0.614E-03  0.185E-04   46  31   5   19   9   9   18  16   9    0.000    0.000       0
+  0   2179 00:20:18.16   0.5540A   3.2512  -0.7689  -0.8869  0.051  0.00   0.000      0.  0.944E+00  0.458E-01  0.617E-03  0.175E-04   46  31  13   19  13   9   17  16   9    0.000    0.000       0
+  0   2190 00:20:24.37   0.5740A   3.1379  -0.8403  -1.0582  0.051  0.00   0.000      0.  0.944E+00  0.457E-01  0.636E-03  0.165E-04   46  31  21   18  13   9   16  17   9    0.000    0.000       0
+  0   2200 00:20:30.19   0.5830A   3.0858  -0.8047  -0.9929  0.050  0.00   0.000      0.  0.945E+00  0.455E-01  0.644E-03  0.185E-04   45  34  35   17  12   9   15  16   9    0.000    0.000       0
+  0   2210 00:20:36.06   0.5930A   3.0353  -0.8231  -0.9226  0.051  0.00   0.000      0.  0.945E+00  0.453E-01  0.650E-03  0.193E-04   45  34   3   17   9   9   14  16   9    0.000    0.000       0
+  0   2220 00:20:42.02   0.5970A   3.0152  -0.7363  -0.8400  0.051  0.00   0.000      0.  0.946E+00  0.452E-01  0.649E-03  0.198E-04   44  26  39   16   9   9   13  20   9    0.000    0.000       0
+  0   2231 00:20:48.55   0.5960A   3.0177  -0.8010  -0.7788  0.051  0.00   0.000      0.  0.946E+00  0.452E-01  0.642E-03  0.199E-04   44  26   7   26  28  31   12  21   9    0.000    0.000       0
+  0   2241 00:20:54.47   0.5850A   3.0751   0.7334  -0.7336  0.051  0.00   0.000      0.  0.947E+00  0.454E-01  0.630E-03  0.208E-04   45  37  22   27   2  19   10  21   9    0.000    0.000       0
+  0   2251 00:21:00.32   0.5860A   3.0737   0.6661  -0.7056  0.051  0.00   0.000      0.  0.947E+00  0.457E-01  0.625E-03  0.202E-04   45  37  29   27   5  24    8  21   9    0.000    0.000       0
+  0   2261 00:21:06.19   0.5910A   3.0439  -0.6618   0.7339  0.052  0.00   0.000      0.  0.948E+00  0.461E-01  0.628E-03  0.190E-04   46  37  37   26  25   3   21  27   9    0.000    0.000       0
+  0   2271 00:21:12.12   0.5930A   3.0368  -0.6723  -0.6975  0.052  0.00   0.000      0.  0.948E+00  0.466E-01  0.631E-03  0.177E-04   44  30   1   26  24   7   26   2  32    0.000    0.000       0
+  0   2281 00:21:18.06   0.5960A   3.0211   0.6867  -0.6569  0.052  0.00   0.000      0.  0.949E+00  0.471E-01  0.634E-03  0.178E-04   44  30   8   24  36  31   26   1   2    0.000    0.000       0
+  0   2292 00:21:24.59   0.5940A   3.0302   0.6987  -0.7603  0.051  0.00   0.000      0.  0.950E+00  0.476E-01  0.635E-03  0.185E-04   44  30  16   24  37  34   25   1   7    0.000    0.000       0
+  0   2302 00:21:30.55   0.5990A   3.0070   0.6796  -0.7500  0.050  0.00   0.000      0.  0.950E+00  0.481E-01  0.640E-03  0.191E-04   44  37  23   26  35   2   25   3  10    0.000    0.000       0
+  0   2312 00:21:36.48   0.5910A   3.0467  -0.7299  -0.7866  0.049  0.00   0.000      0.  0.951E+00  0.485E-01  0.639E-03  0.188E-04   44  37  30   24  29  30   24   4  13    0.000    0.000       0
+  0   2322 00:21:42.41   0.5950A   3.0260  -0.7700  -0.7006  0.049  0.00   0.000      0.  0.952E+00  0.491E-01  0.650E-03  0.185E-04   44  37  37   24  28  32   23   4  17    0.000    0.000       0
+  0   2332 00:21:48.44   0.6050A   2.9744  -0.7415   0.6820  0.049  0.00   0.000      0.  0.953E+00  0.498E-01  0.666E-03  0.174E-04   46   4   4   24  27  36   30   6  36    0.000    0.000       0
+  0   2342 00:21:54.44   0.5950A   3.0261   0.8090  -0.6861  0.050  0.00   0.000      0.  0.953E+00  0.507E-01  0.664E-03  0.175E-04   46   4  11   20  22   8   21   0  29    0.000    0.000       0
+  0   2352 00:22:00.39   0.5920A   3.0416  -0.7636  -0.7975  0.051  0.00   0.000      0.  0.954E+00  0.517E-01  0.664E-03  0.178E-04   46   4  18   25  23   3   20   1  33    0.000    0.000       0
+  0   2362 00:22:06.31   0.5880A   3.0589  -0.7368  -0.7733  0.053  0.00   0.000      0.  0.955E+00  0.527E-01  0.664E-03  0.164E-04   44   6  17   25  22   6   19   1  36    0.000    0.000       0
+  0   2372 00:22:12.19   0.5900A   3.0502   0.7120  -0.7628  0.054  0.00   0.000      0.  0.955E+00  0.539E-01  0.670E-03  0.155E-04   44   6  25   23  32  33   18  16   9    0.000    0.000       0
+  0   2382 00:22:18.12   0.5910A   3.0450   0.7460  -0.7751  0.054  0.00   0.000      0.  0.956E+00  0.552E-01  0.681E-03  0.170E-04   45   7  29   22  31  24   19   2   3    0.000    0.000       0
+  0   2392 00:22:24.03   0.5940A   3.0316   0.8084   0.7448  0.054  0.00   0.000      0.  0.956E+00  0.564E-01  0.695E-03  0.196E-04   44   7  37   24  35   1   32   7  26    0.000    0.000       0
+  0   2403 00:22:30.52   0.5810A   3.0994   0.7639   0.7144  0.052  0.00   0.000      0.  0.957E+00  0.576E-01  0.695E-03  0.212E-04   44   7  11   22  32  30   33   7  31    0.000    0.000       0
+  0   2413 00:22:36.27   0.5730A   3.1394   0.8013   0.7182  0.051  0.00   0.000      0.  0.957E+00  0.585E-01  0.698E-03  0.209E-04   44   7  18   22  31  33   25   8  19    0.000    0.000       0
+  0   2423 00:22:42.06   0.5820A   3.0940   0.7870   0.7894  0.050  0.00   0.000      0.  0.957E+00  0.592E-01  0.717E-03  0.191E-04   45   5  21   24  27   6   26   8  22    0.000    0.000       0
+  0   2434 00:22:48.46   0.5850A   3.0782   0.7830   0.8251  0.049  0.00   0.000      0.  0.957E+00  0.599E-01  0.735E-03  0.185E-04   46   5  29   23  33  39   27   8  25    0.000    0.000       0
+  0   2444 00:22:54.35   0.5880A   3.0620   0.7740   0.8147  0.048  0.00   0.000      0.  0.956E+00  0.605E-01  0.752E-03  0.198E-04   42  15  25   23  34   1   28   7  30    0.000    0.000       0
+  0   2454 00:23:00.21   0.5880A   3.0605  -0.8062   0.7814  0.047  0.00   0.000      0.  0.956E+00  0.610E-01  0.768E-03  0.233E-04   42  15  32   24  25  25   29   7  33    0.000    0.000       0
+  0   2464 00:23:06.11   0.5930A   3.0363   0.8311   0.7747  0.046  0.00   0.000      0.  0.955E+00  0.616E-01  0.787E-03  0.256E-04   42  15  39   23  36  11   20  14   9    0.000    0.000       0
+  0   2475 00:23:12.57   0.5850A   3.0772   0.9042  -0.7814  0.046  0.00   0.000      0.  0.955E+00  0.622E-01  0.790E-03  0.258E-04   42  15   7   21  28   8   24  24  30    0.000    0.000       0
+  0   2485 00:23:18.43   0.5840A   3.0819   0.8697  -0.7244  0.046  0.00   0.000      0.  0.954E+00  0.627E-01  0.796E-03  0.252E-04   46  31  18   24  37  17   22  32  39    0.000    0.000       0
+  0   2495 00:23:24.26   0.5820A   3.0913  -0.8741  -0.7970  0.046  0.00   0.000      0.  0.953E+00  0.634E-01  0.797E-03  0.214E-04   46  30  23   29   8  37   21  32   2    0.000    0.000       0
+  0   2505 00:23:30.06   0.5770A   3.1169   0.8160  -0.7667  0.047  0.00   0.000      0.  0.953E+00  0.640E-01  0.789E-03  0.175E-04   46  30  31   21   2   7   16   3  39    0.000    0.000       0
+  0   2516 00:23:36.39   0.5740A   3.1352   0.7895   0.7681  0.049  0.00   0.000      0.  0.952E+00  0.646E-01  0.786E-03  0.165E-04   46  30   0   21   3  10   21   3  22    0.000    0.000       0
+  0   2526 00:23:42.09   0.5680A   3.1695   0.7331   0.7974  0.049  0.00   0.000      0.  0.952E+00  0.650E-01  0.781E-03  0.174E-04   45   2  18   19  26   8   20  13   9    0.000    0.000       0
+  0   2537 00:23:48.37   0.5790A   3.1083  -0.7501   0.9291  0.049  0.00   0.000      0.  0.951E+00  0.654E-01  0.792E-03  0.168E-04   46  25  16   26   5   4   21  13   9    0.000    0.000       0
+  0   2547 00:23:54.12   0.5720A   3.1484   0.7554   0.7773  0.049  0.00   0.000      0.  0.950E+00  0.656E-01  0.783E-03  0.169E-04   44  36  15   23  32  11   23   4  33    0.000    0.000       0
+  0   2558 00:24:00.45   0.5770A   3.1216   0.8123   0.8089  0.049  0.00   0.000      0.  0.949E+00  0.657E-01  0.791E-03  0.172E-04   44   0  33   21   9   4   24   4  37    0.000    0.000       0
+  0   2568 00:24:06.16   0.5680A   3.1662   0.9065  -0.7279  0.048  0.00   0.000      0.  0.949E+00  0.659E-01  0.788E-03  0.211E-04   44   0   0   20   9   6   16   5   7    0.000    0.000       0
+  0   2579 00:24:12.47   0.5750A   3.1316   0.9369  -0.7580  0.048  0.00   0.000      0.  0.948E+00  0.663E-01  0.801E-03  0.233E-04   46  32   7   20  10   8   16   4  10    0.000    0.000       0
+  0   2589 00:24:18.20   0.5720A   3.1495   0.9137  -0.8413  0.048  0.00   0.000      0.  0.947E+00  0.666E-01  0.791E-03  0.195E-04   46  32  15   21  24   8   15   4  12    0.000    0.000       0
+  0   2600 00:24:24.48   0.5680A   3.1683   0.8608  -0.7852  0.048  0.00   0.000      0.  0.947E+00  0.669E-01  0.783E-03  0.188E-04   45  32  24    8  13   8   14   4  14    0.000    0.000       0
+  0   2610 00:24:30.14   0.5640A   3.1916   1.0299  -0.7286  0.048  0.00   0.000      0.  0.946E+00  0.672E-01  0.774E-03  0.206E-04   45  32  33    7  13   8   15   2  20    0.000    0.000       0
+  0   2621 00:24:36.29   0.5580A   3.2269  -1.0551  -0.7833  0.048  0.00   0.000      0.  0.946E+00  0.676E-01  0.762E-03  0.236E-04   45  32   1   18  10   9   17  11   9    0.000    0.000       0
+  0   2632 00:24:42.40   0.5540A   3.2471   1.0018  -0.8184  0.049  0.00   0.000      0.  0.945E+00  0.680E-01  0.761E-03  0.265E-04   45  32  10    6  16   8   16  11   9    0.000    0.000       0
+  0   2643 00:24:48.49   0.5530A   3.2568  -0.9586  -0.8799  0.051  0.00   0.000      0.  0.944E+00  0.685E-01  0.767E-03  0.245E-04   46  32  19   19  14   9   17  16   9    0.000    0.000       0
+  0   2653 00:24:54.03   0.5540A   3.2482  -0.8955  -0.9467  0.053  0.00   0.000      0.  0.944E+00  0.689E-01  0.765E-03  0.211E-04   46  30  24   18  13   9   16  15   9    0.000    0.000       0
+  0   2664 00:25:00.12   0.5550A   3.2410  -0.8640  -0.9469  0.056  0.00   0.000      0.  0.943E+00  0.693E-01  0.769E-03  0.198E-04   46  30  32   38  14  36   18  26   9    0.000    0.000       0
+  0   2675 00:25:06.27   0.5580A   3.2277  -0.8144  -0.9513  0.057  0.00   0.000      0.  0.942E+00  0.698E-01  0.771E-03  0.200E-04   45  28  24   38  13   1   17  25   9    0.000    0.000       0
+  0   2686 00:25:12.36   0.5510A   3.2674  -0.7951  -0.8710  0.058  0.00   0.000      0.  0.941E+00  0.702E-01  0.752E-03  0.193E-04   46  28  33   38  12   6   16  23   9    0.000    0.000       0
+  0   2697 00:25:18.42   0.5520A   3.2625  -0.7995  -0.7832  0.058  0.00   0.000      0.  0.940E+00  0.708E-01  0.748E-03  0.182E-04   46  28   2   26  32  20   15  23   9    0.000    0.000       0
+  0   2708 00:25:24.51   0.5550A   3.2453  -0.8466  -0.8054  0.058  0.00   0.000      0.  0.938E+00  0.713E-01  0.743E-03  0.185E-04   46  28  12   26  30  24   26  32  30    0.000    0.000       0
+  0   2718 00:25:30.03   0.5500A   3.2701  -0.8119   0.8814  0.057  0.00   0.000      0.  0.937E+00  0.718E-01  0.734E-03  0.203E-04   45  29  18   26  30  28   20  28   9    0.000    0.000       0
+  0   2729 00:25:36.08   0.5500A   3.2723  -0.7288   0.9756  0.055  0.00   0.000      0.  0.936E+00  0.724E-01  0.734E-03  0.216E-04   46  29  26   15  29   6   21  25   9    0.000    0.000       0
+  0   2740 00:25:42.11   0.5470A   3.2889  -0.7410   0.8619  0.054  0.00   0.000      0.  0.935E+00  0.728E-01  0.727E-03  0.201E-04   45  32  16   15  26   8   21  24   9    0.000    0.000       0
+  0   2751 00:25:48.11   0.5450A   3.3031   0.7540   0.7774  0.053  0.00   0.000      0.  0.934E+00  0.732E-01  0.722E-03  0.170E-04   45  32  24   21  35  12   21  23   9    0.000    0.000       0
+  0   2762 00:25:54.06   0.5370A   3.3548   0.7876   0.7721  0.053  0.00   0.000      0.  0.933E+00  0.735E-01  0.711E-03  0.161E-04   46  33  34   24  19  36   21  23   9    0.000    0.000       0
+  0   2774 00:26:00.47   0.5330A   3.3740   0.7927   0.7870  0.053  0.00   0.000      0.  0.932E+00  0.737E-01  0.710E-03  0.180E-04   46  33   3   24  20   0   21  23   9    0.000    0.000       0
+  0   2785 00:26:06.34   0.5310A   3.3880   0.9292  -0.7060  0.053  0.00   0.000      0.  0.931E+00  0.740E-01  0.719E-03  0.215E-04   44  27   3   20  30   9   13  37  19    0.000    0.000       0
+  0   2796 00:26:12.21   0.5360A   3.3588   1.1229   0.7176  0.054  0.00   0.000      0.  0.930E+00  0.745E-01  0.734E-03  0.243E-04   43  34  19   19  31   9   26  31   5    0.000    0.000       0
+  0   2807 00:26:18.10   0.5350A   3.3626   1.1254  -0.8611  0.055  0.00   0.000      0.  0.929E+00  0.750E-01  0.741E-03  0.230E-04   46  27  19   18  31   9   20  28   8    0.000    0.000       0
+  0   2819 00:26:24.49   0.5330A   3.3759   0.9333   1.0020  0.056  0.00   0.000      0.  0.928E+00  0.755E-01  0.743E-03  0.213E-04   46  27  27   19  30   9   19  31   8    0.000    0.000       0
+  0   2830 00:26:30.34   0.5320A   3.3852   0.7879  -0.9809  0.057  0.00   0.000      0.  0.926E+00  0.758E-01  0.746E-03  0.193E-04   46  28  36   19  30   9   16  21   9    0.000    0.000       0
+  0   2841 00:26:36.21   0.5360A   3.3568  -0.8317  -0.9950  0.058  0.00   0.000      0.  0.925E+00  0.758E-01  0.756E-03  0.186E-04   46  28   4   20  23   4   15  20   9    0.000    0.000       0
+  0   2852 00:26:42.13   0.5410A   3.3248   0.6932  -0.9300  0.058  0.00   0.000      0.  0.924E+00  0.756E-01  0.763E-03  0.194E-04   46  28  13   25  29  27   14  19   9    0.000    0.000       0
+  0   2863 00:26:48.07   0.5360A   3.3603   0.6951   0.8965  0.056  0.00   0.000      0.  0.923E+00  0.751E-01  0.756E-03  0.207E-04   45  33   6   14   5  35   20  11   9    0.000    0.000       0
+  0   2875 00:26:54.48   0.5350A   3.3651   0.6982   0.8638  0.056  0.00   0.000      0.  0.922E+00  0.746E-01  0.751E-03  0.212E-04   46  32  15   15   5  38   20  10   9    0.000    0.000       0
+  0   2886 00:27:00.30   0.5260A   3.4216   0.7445   1.0565  0.055  0.00   0.000      0.  0.921E+00  0.742E-01  0.742E-03  0.220E-04   46  32  23   19  10   8   20  11   9    0.000    0.000       0
+  0   2897 00:27:06.11   0.5320A   3.3844   0.8954   0.8698  0.055  0.00   0.000      0.  0.920E+00  0.739E-01  0.749E-03  0.237E-04   46  32  32   19  13   9   20  13   9    0.000    0.000       0
+  0   2909 00:27:12.46   0.5250A   3.4262  -0.8471  -0.7901  0.055  0.00   0.000      0.  0.919E+00  0.737E-01  0.742E-03  0.256E-04   44  34  37   21  11   8   20  10   8    0.000    0.000       0
+  0   2920 00:27:18.20   0.5230A   3.4416  -1.0869  -0.7858  0.055  0.00   0.000      0.  0.918E+00  0.734E-01  0.737E-03  0.226E-04   44  34   5   20  11   8   17  20   9    0.000    0.000       0
+  0   2932 00:27:24.51   0.5230A   3.4410  -1.0070  -0.9809  0.056  0.00   0.000      0.  0.916E+00  0.730E-01  0.729E-03  0.193E-04   44  33  15   20   9   9   16  19   9    0.000    0.000       0
+  0   2943 00:27:30.30   0.5320A   3.3858   0.9687  -0.9187  0.056  0.00   0.000      0.  0.915E+00  0.725E-01  0.737E-03  0.189E-04   43  33  21   14  16   9   15  19   9    0.000    0.000       0
+  0   2954 00:27:36.16   0.5350A   3.3640   0.8957  -0.8585  0.056  0.00   0.000      0.  0.914E+00  0.720E-01  0.740E-03  0.184E-04   43  33  29   13  17   9   12  19   9    0.000    0.000       0
+  0   2965 00:27:42.08   0.5360A   3.3606   0.8705  -0.7853  0.056  0.00   0.000      0.  0.913E+00  0.716E-01  0.740E-03  0.172E-04   46  31  18   12  18   9   11  20   9    0.000    0.000       0
+  0   2977 00:27:48.53   0.5420A   3.3229   0.7647  -0.8841  0.057  0.00   0.000      0.  0.912E+00  0.713E-01  0.742E-03  0.169E-04   46  31  26    9  18   9   37  39  30    0.000    0.000       0
+  0   2988 00:27:54.51   0.5430A   3.3138   0.8265  -0.8250  0.057  0.00   0.000      0.  0.911E+00  0.712E-01  0.729E-03  0.170E-04   46  32  38    9  19   9   28  22  38    0.000    0.000       0
+  0   2999 00:28:00.49   0.5410A   3.3284  -0.8609  -0.7613  0.057  0.00   0.000      0.  0.911E+00  0.712E-01  0.717E-03  0.172E-04   46  31   4   28  12  35   35  38   2    0.000    0.000       0
+  0   3010 00:28:06.45   0.5440A   3.3105  -0.8096  -0.7903  0.057  0.00   0.000      0.  0.910E+00  0.714E-01  0.717E-03  0.175E-04   46  31  12   28  10  38   36  37  13    0.000    0.000       0
+  0   3021 00:28:12.42   0.5450A   3.3002  -0.7803  -0.7664  0.058  0.00   0.000      0.  0.909E+00  0.716E-01  0.720E-03  0.179E-04   45  31  19   20  13   9   33  36  20    0.000    0.000       0
+  0   3032 00:28:18.48   0.5530A   3.2533  -0.8059  -0.7632  0.058  0.00   0.000      0.  0.908E+00  0.717E-01  0.734E-03  0.191E-04   43  32  11   46  25   0   35  38  19    0.000    0.000       0
+  0   3042 00:28:24.04   0.5590A   3.2217  -0.8060  -1.0292  0.059  0.00   0.000      0.  0.907E+00  0.717E-01  0.747E-03  0.207E-04   43  32  19   46  22   5   17  25   9    0.000    0.000       0
+  0   3053 00:28:30.25   0.5690A   3.1657   0.9993  -1.2113  0.060  0.00   0.000      0.  0.907E+00  0.716E-01  0.773E-03  0.228E-04   43  32  27   18  30   9   15  24   9    0.000    0.000       0
+  0   3064 00:28:36.53   0.5720A   3.1455   0.9557  -1.2160  0.060  0.00   0.000      0.  0.906E+00  0.712E-01  0.783E-03  0.229E-04   44  32  11   17  31   9   14  26   9    0.000    0.000       0
+  0   3074 00:28:42.25   0.5740A   3.1350  -0.8245  -1.1453  0.060  0.00   0.000      0.  0.906E+00  0.706E-01  0.777E-03  0.227E-04   44  32  18   20  28   8   13  26   9    0.000    0.000       0
+  0   3084 00:28:48.00   0.5790A   3.1067   0.8490  -1.0822  0.061  0.00   0.000      0.  0.905E+00  0.702E-01  0.774E-03  0.215E-04   42  30   1   28  33  36   14  22   9    0.000    0.000       0
+  0   3095 00:28:54.44   0.5840A   3.0824   0.8454  -0.9665  0.060  0.00   0.000      0.  0.904E+00  0.699E-01  0.783E-03  0.233E-04   43  33  34   28  34  39   12  25   9    0.000    0.000       0
+  0   3105 00:29:00.24   0.5790A   3.1067   0.8315  -0.9074  0.059  0.00   0.000      0.  0.904E+00  0.700E-01  0.790E-03  0.281E-04   43  33   6   27  35   1   11  25   9    0.000    0.000       0
+  0   3115 00:29:06.05   0.5850A   3.0782   0.8174   1.0032  0.058  0.00   0.000      0.  0.903E+00  0.703E-01  0.810E-03  0.317E-04   43  33  13   24  34   0   20  27   9    0.000    0.000       0
+  0   3126 00:29:12.40   0.5720A   3.1478  -0.8274   0.9018  0.057  0.00   0.000      0.  0.903E+00  0.709E-01  0.789E-03  0.294E-04   42  33  20   27  23  39   20  26   9    0.000    0.000       0
+  0   3136 00:29:18.06   0.5650A   3.1845  -0.9179   0.9104  0.058  0.00   0.000      0.  0.902E+00  0.714E-01  0.776E-03  0.249E-04   42  33  26   20  17   8   20  10   9    0.000    0.000       0
+  0   3147 00:29:24.29   0.5680A   3.1672  -0.8800  -1.2204  0.059  0.00   0.000      0.  0.901E+00  0.716E-01  0.780E-03  0.233E-04   42  33  34   12  34  38   17  18   9    0.000    0.000       0
+  0   3157 00:29:30.03   0.5740A   3.1359  -0.8908  -1.2710  0.061  0.00   0.000      0.  0.900E+00  0.715E-01  0.785E-03  0.227E-04   41  33   0   12  33  39   16  17   9    0.000    0.000       0
+  0   3168 00:29:36.30   0.5680A   3.1709  -0.8130  -1.0594  0.062  0.00   0.000      0.  0.900E+00  0.713E-01  0.777E-03  0.214E-04   41  33   8   12  32   1   14  17   9    0.000    0.000       0
+  0   3179 00:29:42.53   0.5650A   3.1836  -0.7512  -0.9122  0.062  0.00   0.000      0.  0.899E+00  0.710E-01  0.767E-03  0.196E-04   41  33  16   11  32   1   12  20   9    0.000    0.000       0
+  0   3189 00:29:48.26   0.5770A   3.1176  -0.7117  -0.8492  0.062  0.00   0.000      0.  0.898E+00  0.708E-01  0.773E-03  0.179E-04   41  33  23   27  25  18   11  20   9    0.000    0.000       0
+  0   3199 00:29:54.08   0.5890A   3.0551   0.6713  -0.7973  0.062  0.00   0.000      0.  0.897E+00  0.708E-01  0.786E-03  0.190E-04   41  32  31   27   2  36    9  20   9    0.000    0.000       0
+  0   3209 00:30:00.01   0.5990A   3.0030   0.7236  -0.8149  0.061  0.00   0.000      0.  0.897E+00  0.709E-01  0.799E-03  0.200E-04   41  32  38   27   3  39   16  36  23    0.000    0.000       0
+  0   3219 00:30:06.08   0.6100A   2.9503   0.7168   0.8580  0.060  0.00   0.000      0.  0.896E+00  0.711E-01  0.809E-03  0.213E-04   46  38  13   21  21   6   20  28   9    0.000    0.000       0
+  0   3229 00:30:12.11   0.6020A   2.9900   0.7535   0.8466  0.058  0.00   0.000      0.  0.895E+00  0.714E-01  0.799E-03  0.227E-04   46  38  20   21  21   8   21  28   9    0.000    0.000       0
+  0   3239 00:30:18.13   0.5940A   3.0290   0.7607   0.7377  0.058  0.00   0.000      0.  0.894E+00  0.716E-01  0.784E-03  0.208E-04   46  37  27   36  17   6   21  13   9    0.000    0.000       0
+  0   3249 00:30:24.05   0.5890A   3.0560   0.7488   0.7537  0.057  0.00   0.000      0.  0.894E+00  0.717E-01  0.773E-03  0.201E-04   46  37  34   36  19  11   20  11   9    0.000    0.000       0
+  0   3260 00:30:30.56   0.5870A   3.0687  -0.8102  -0.7178  0.056  0.00   0.000      0.  0.893E+00  0.716E-01  0.772E-03  0.204E-04   44  31  13   20  10   9   33  12  29    0.000    0.000       0
+  0   3270 00:30:36.41   0.5810A   3.0966  -1.0004  -0.6856  0.056  0.00   0.000      0.  0.893E+00  0.714E-01  0.768E-03  0.185E-04   44  31  20   19   9   9   33  12  20    0.000    0.000       0
+  0   3280 00:30:42.27   0.5860A   3.0715  -0.8571   0.7324  0.056  0.00   0.000      0.  0.893E+00  0.710E-01  0.772E-03  0.174E-04   46  32  24   18   9   9   20  11   5    0.000    0.000       0
+  0   3290 00:30:48.09   0.5810A   3.1001   0.7226  -0.7604  0.056  0.00   0.000      0.  0.893E+00  0.705E-01  0.765E-03  0.179E-04   45  31  30   35  20  33   31  12  28    0.000    0.000       0
+  0   3301 00:30:54.45   0.5790A   3.1063   0.7655  -0.7111  0.058  0.00   0.000      0.  0.892E+00  0.702E-01  0.766E-03  0.205E-04   46  31  38   20  26   8   29  12  32    0.000    0.000       0
+  0   3311 00:31:00.20   0.5780A   3.1128   0.7567   0.7250  0.059  0.00   0.000      0.  0.892E+00  0.700E-01  0.768E-03  0.219E-04   46  31   4   20  27   8   39  14  17    0.000    0.000       0
+  0   3322 00:31:06.54   0.5770A   3.1181   0.7021  -0.8470  0.060  0.00   0.000      0.  0.892E+00  0.698E-01  0.769E-03  0.220E-04   46  31  12   36   1  29   18  21   9    0.000    0.000       0
+  0   3332 00:31:12.35   0.5850A   3.0785   0.7807  -1.0301  0.061  0.00   0.000      0.  0.891E+00  0.696E-01  0.787E-03  0.218E-04   46  31  19   20  30   9   17  21   9    0.000    0.000       0
+  0   3342 00:31:18.24   0.5920A   3.0421   0.8015  -1.1002  0.061  0.00   0.000      0.  0.890E+00  0.694E-01  0.798E-03  0.208E-04   46  31  27   18  25   9   15  21   9    0.000    0.000       0
+  0   3352 00:31:24.15   0.5900A   3.0530   0.7924  -1.0827  0.060  0.00   0.000      0.  0.890E+00  0.691E-01  0.796E-03  0.203E-04   44  39  12   30   2   0   15  20   9    0.000    0.000       0
+  0   3362 00:31:30.03   0.5890A   3.0542  -0.8004  -1.0962  0.059  0.00   0.000      0.  0.889E+00  0.686E-01  0.790E-03  0.210E-04   46  39  17   31   7  31   16  18   9    0.000    0.000       0
+  0   3373 00:31:36.44   0.5800A   3.1052   0.7969  -1.1245  0.058  0.00   0.000      0.  0.888E+00  0.683E-01  0.779E-03  0.231E-04   43  37  25   28   2   9   16  17   9    0.000    0.000       0
+  0   3383 00:31:42.31   0.5940A   3.0327   0.7865  -1.0626  0.057  0.00   0.000      0.  0.887E+00  0.681E-01  0.802E-03  0.243E-04   43  37   7   30   1  14   15  17   9    0.000    0.000       0
+  0   3393 00:31:48.15   0.5760A   3.1251   0.8679  -0.9179  0.056  0.00   0.000      0.  0.887E+00  0.681E-01  0.786E-03  0.232E-04   43  37   1   29   1  19   14  17   9    0.000    0.000       0
+  0   3404 00:31:54.55   0.5910A   3.0465   0.9470  -0.7879  0.056  0.00   0.000      0.  0.886E+00  0.681E-01  0.803E-03  0.218E-04   43  37   8   29   3  24   11  20   9    0.000    0.000       0
+  0   3414 00:32:00.44   0.5830A   3.0853  -0.9864   0.7213  0.057  0.00   0.000      0.  0.885E+00  0.682E-01  0.789E-03  0.206E-04   44  34  39   20  14   9   34  30  14    0.000    0.000       0
+  0   3424 00:32:06.26   0.5840A   3.0842  -0.8336  -0.8514  0.057  0.00   0.000      0.  0.884E+00  0.681E-01  0.789E-03  0.189E-04   44  34   7   20  13   9   17  15   9    0.000    0.000       0
+  0   3434 00:32:12.14   0.5890A   3.0581  -0.7888  -0.9252  0.058  0.00   0.000      0.  0.884E+00  0.679E-01  0.792E-03  0.177E-04   44  33  13   18  13   9   16  15   9    0.000    0.000       0
+  0   3444 00:32:18.04   0.5960A   3.0199   0.8332  -0.8541  0.058  0.00   0.000      0.  0.883E+00  0.675E-01  0.795E-03  0.179E-04   44  33  21   26   2  22   17  14   9    0.000    0.000       0
+  0   3455 00:32:24.43   0.5700A   3.1606   0.8599  -0.7993  0.057  0.00   0.000      0.  0.883E+00  0.669E-01  0.757E-03  0.162E-04   43  33  30   26   4  25   15  14   9    0.000    0.000       0
+  0   3465 00:32:30.17   0.5820A   3.0947   0.8439  -0.7429  0.057  0.00   0.000      0.  0.883E+00  0.665E-01  0.771E-03  0.162E-04   43  33  37   28   9   9   14  14   9    0.000    0.000       0
+  0   3475 00:32:36.06   0.6020A   2.9877   0.7692  -0.6977  0.057  0.00   0.000      0.  0.882E+00  0.660E-01  0.795E-03  0.155E-04   46   2  18   26   6  31   17  30   8    0.000    0.000       0
+  0   3485 00:32:42.07   0.5990A   3.0034   0.7691  -0.7218  0.057  0.00   0.000      0.  0.882E+00  0.654E-01  0.792E-03  0.160E-04   43  34  11   26   8  34   16  29   8    0.000    0.000       0
+  0   3496 00:32:48.56   0.5840A   3.0814   0.7159  -0.6861  0.057  0.00   0.000      0.  0.882E+00  0.649E-01  0.767E-03  0.147E-04   43  34  19   22  30  15   27  34  23    0.000    0.000       0
+  0   3506 00:32:54.39   0.5880A   3.0597   0.7921  -0.7317  0.058  0.00   0.000      0.  0.882E+00  0.644E-01  0.775E-03  0.151E-04   43  34  25   22  31  18   28   2   9    0.000    0.000       0
+  0   3516 00:33:00.29   0.6020A   2.9924   0.8239  -0.7297  0.059  0.00   0.000      0.  0.881E+00  0.639E-01  0.797E-03  0.168E-04   43  34  32   27  37   1   27   2  12    0.000    0.000       0
+  0   3526 00:33:06.34   0.6010A   2.9960   0.8218  -1.0080  0.059  0.00   0.000      0.  0.881E+00  0.633E-01  0.796E-03  0.186E-04   43  24  23   27  38   4   17  14   9    0.000    0.000       0
+  0   3536 00:33:12.24   0.5910A   3.0478   0.8026  -1.1445  0.059  0.00   0.000      0.  0.880E+00  0.627E-01  0.779E-03  0.185E-04   43  24  29   27  37   9   16  13   9    0.000    0.000       0
+  0   3546 00:33:18.15   0.5890A   3.0585   0.7732  -1.1010  0.059  0.00   0.000      0.  0.880E+00  0.621E-01  0.774E-03  0.191E-04   43  23  36   26  37  13   15  10   9    0.000    0.000       0
+  0   3556 00:33:24.11   0.5970A   3.0176   0.8625  -1.0153  0.059  0.00   0.000      0.  0.880E+00  0.616E-01  0.781E-03  0.206E-04   44  24   7   26  39  21   14  12   9    0.000    0.000       0
+  0   3566 00:33:30.08   0.5960A   3.0223   0.8295  -0.9405  0.058  0.00   0.000      0.  0.879E+00  0.613E-01  0.775E-03  0.232E-04   44  25  13   25  38  25   12  12   9    0.000    0.000       0
+  0   3577 00:33:36.53   0.5840A   3.0827   0.9236   0.9186  0.058  0.00   0.000      0.  0.879E+00  0.611E-01  0.753E-03  0.240E-04   44  25  21   25  39  29   20  12   9    0.000    0.000       0
+  0   3587 00:33:42.30   0.5760A   3.1227   0.8539   0.9096  0.058  0.00   0.000      0.  0.879E+00  0.609E-01  0.736E-03  0.234E-04   44  25  29   25   1  32   20  12   9    0.000    0.000       0
+  0   3597 00:33:48.12   0.5840A   3.0842   0.7158   0.8440  0.058  0.00   0.000      0.  0.878E+00  0.609E-01  0.742E-03  0.242E-04   44  25  37   24   0  35   20  12   9    0.000    0.000       0
+  0   3608 00:33:54.55   0.5860A   3.0702  -0.6649  -0.8148  0.057  0.00   0.000      0.  0.878E+00  0.608E-01  0.745E-03  0.240E-04   44  25   5   29  11   7   25  30  34    0.000    0.000       0
+  0   3618 00:34:00.49   0.5990A   3.0041  -0.7317   0.8385  0.057  0.00   0.000      0.  0.878E+00  0.608E-01  0.757E-03  0.227E-04   44  23   8   26  27  25   20  26   9    0.000    0.000       0
+  0   3628 00:34:06.55   0.6090A   2.9579  -0.7366  -0.7990  0.058  0.00   0.000      0.  0.877E+00  0.608E-01  0.762E-03  0.216E-04   44  29   2   26  26  28   17  20   9    0.000    0.000       0
+  0   3637 00:34:12.04   0.6090A   2.9574  -0.6845  -0.8545  0.058  0.00   0.000      0.  0.877E+00  0.607E-01  0.751E-03  0.202E-04   46  34  35   26  25  30   16  20   9    0.000    0.000       0
+  0   3647 00:34:18.15   0.6120A   2.9405  -0.6715  -0.8701  0.059  0.00   0.000      0.  0.876E+00  0.605E-01  0.738E-03  0.172E-04   44  27  25   23  37   6   15  21   9    0.000    0.000       0
+  0   3657 00:34:24.26   0.6100A   2.9513   0.7721  -0.8314  0.060  0.00   0.000      0.  0.876E+00  0.602E-01  0.719E-03  0.160E-04   44  27  33   21  31  12   13  21   9    0.000    0.000       0
+  0   3667 00:34:30.35   0.6060A   2.9725   0.7076  -0.7697  0.061  0.00   0.000      0.  0.876E+00  0.599E-01  0.702E-03  0.137E-04   45  25  12   21  32  15   18  29   9    0.000    0.000       0
+  0   3677 00:34:36.35   0.5970A   3.0129  -0.6973  -0.8837  0.062  0.00   0.000      0.  0.875E+00  0.596E-01  0.681E-03  0.139E-04   45  25  19   21  32  13   17  24   9    0.000    0.000       0
+  0   3687 00:34:42.30   0.5930A   3.0335   0.6793  -0.9460  0.062  0.00   0.000      0.  0.875E+00  0.594E-01  0.674E-03  0.154E-04   45  25  27   20   6  39   17  25   9    0.000    0.000       0
+  0   3697 00:34:48.24   0.5940A   3.0318   0.7155  -0.8177  0.062  0.00   0.000      0.  0.874E+00  0.593E-01  0.674E-03  0.185E-04   46  25  35   20   7   2   16  25   9    0.000    0.000       0
+  0   3707 00:34:54.14   0.5870A   3.0640   0.6850  -0.7450  0.062  0.00   0.000      0.  0.874E+00  0.593E-01  0.666E-03  0.208E-04   46  36  38   20  13   9   15  26   9    0.000    0.000       0
+  0   3717 00:35:00.02   0.5890A   3.0541   0.7129  -0.7075  0.061  0.00   0.000      0.  0.874E+00  0.593E-01  0.664E-03  0.222E-04   46  36   6   20  14   9   19  38  11    0.000    0.000       0
+  0   3728 00:35:06.52   0.5950A   3.0252   0.6355   0.7233  0.060  0.00   0.000      0.  0.874E+00  0.593E-01  0.668E-03  0.229E-04   45  36  14   19  13   9   20  10   9    0.000    0.000       0
+  0   3738 00:35:12.50   0.5960A   3.0185  -0.7388   0.7684  0.060  0.00   0.000      0.  0.873E+00  0.592E-01  0.662E-03  0.206E-04   46  25   0   21  12   6   21  25   9    0.000    0.000       0
+  0   3748 00:35:18.47   0.5980A   3.0081  -1.0816  -0.6377  0.060  0.00   0.000      0.  0.873E+00  0.590E-01  0.655E-03  0.176E-04   45  27  26   21  11   8   30  23  35    0.000    0.000       0
+  0   3758 00:35:24.41   0.5900A   3.0518  -0.9733  -0.6299  0.060  0.00   0.000      0.  0.873E+00  0.588E-01  0.641E-03  0.171E-04   45  24  13   20  11   8   30  23   1    0.000    0.000       0
+  0   3768 00:35:30.25   0.5810A   3.0958  -0.9011  -0.6614  0.061  0.00   0.000      0.  0.873E+00  0.586E-01  0.631E-03  0.172E-04   46  24  21   20  10   8   25   0   9    0.000    0.000       0
+  0   3778 00:35:36.02   0.5760A   3.1273  -0.7311  -0.6227  0.061  0.00   0.000      0.  0.873E+00  0.585E-01  0.629E-03  0.185E-04   46  24  28   20   9   9   14  23   8    0.000    0.000       0
+  0   3789 00:35:42.37   0.5820A   3.0916  -0.7129  -0.6555  0.060  0.00   0.000      0.  0.873E+00  0.584E-01  0.637E-03  0.197E-04   46  24  36   20  14   9   21   0  17    0.000    0.000       0
+  0   3799 00:35:48.25   0.5940A   3.0312  -0.7285  -0.6590  0.060  0.00   0.000      0.  0.873E+00  0.584E-01  0.646E-03  0.188E-04   46  23   2   19  14   9   17  22   9    0.000    0.000       0
+  0   3809 00:35:54.13   0.5870A   3.0671  -0.6290  -0.7274  0.060  0.00   0.000      0.  0.873E+00  0.583E-01  0.635E-03  0.186E-04   46  23  10   20  26   7   17  22   9    0.000    0.000       0
+  0   3819 00:36:00.00   0.5900A   3.0511   0.6112  -0.7383  0.060  0.00   0.000      0.  0.873E+00  0.584E-01  0.634E-03  0.184E-04   46  23  17   26  24  36   16  22   9    0.000    0.000       0
+  0   3830 00:36:06.51   0.5900A   3.0497   0.7257  -0.6763  0.060  0.00   0.000      0.  0.873E+00  0.587E-01  0.627E-03  0.164E-04   44  23  27   26  24   0   15  22   9    0.000    0.000       0
+  0   3840 00:36:12.38   0.5860A   3.0737   0.6887   0.6900  0.060  0.00   0.000      0.  0.873E+00  0.589E-01  0.620E-03  0.162E-04   44  23  34   26  25   3   20  11   9    0.000    0.000       0
+  0   3850 00:36:18.24   0.5840A   3.0820   0.6807   0.7168  0.060  0.00   0.000      0.  0.873E+00  0.592E-01  0.620E-03  0.177E-04   44  23   2   23  25   5   20  12   9    0.000    0.000       0
+  0   3860 00:36:24.07   0.5800A   3.1056   0.6744   0.7549  0.059  0.00   0.000      0.  0.873E+00  0.595E-01  0.627E-03  0.196E-04   44  22   9   23  26   7   21  12   9    0.000    0.000       0
+  0   3871 00:36:30.48   0.5880A   3.0624  -0.6129   0.9883  0.059  0.00   0.000      0.  0.873E+00  0.599E-01  0.649E-03  0.214E-04   44  22  17   20   6   0   20  10   9    0.000    0.000       0
+  0   3881 00:36:36.39   0.5910A   3.0467  -0.6274   0.8755  0.058  0.00   0.000      0.  0.873E+00  0.601E-01  0.662E-03  0.222E-04   46  39  35   15  27   8   20  10   9    0.000    0.000       0
+  0   3891 00:36:42.34   0.5980A   3.0091  -0.7363   0.9417  0.058  0.00   0.000      0.  0.873E+00  0.603E-01  0.675E-03  0.255E-04   46  38   4   22  11   8   20  11   9    0.000    0.000       0
+  0   3901 00:36:48.28   0.5930A   3.0361   0.8582   0.8763  0.058  0.00   0.000      0.  0.873E+00  0.606E-01  0.679E-03  0.260E-04   46  33  36   20  25   9   20  11   9    0.000    0.000       0
+  0   3911 00:36:54.18   0.5910A   3.0439  -0.9681   0.8407  0.058  0.00   0.000      0.  0.873E+00  0.608E-01  0.681E-03  0.254E-04   46  33   3   21  11   8   20  11   9    0.000    0.000       0
+  0   3921 00:37:00.12   0.5940A   3.0280  -0.9291   0.7311  0.058  0.00   0.000      0.  0.873E+00  0.609E-01  0.681E-03  0.238E-04   46  36   5   20  10   8   20  26   9    0.000    0.000       0
+  0   3931 00:37:06.07   0.5940A   3.0306  -0.9497  -0.7726  0.059  0.00   0.000      0.  0.873E+00  0.609E-01  0.686E-03  0.252E-04   46  36  12   19   9   9   18   5  17    0.000    0.000       0
+  0   3942 00:37:12.58   0.5870A   3.0662   0.9444  -0.8616  0.059  0.00   0.000      0.  0.873E+00  0.608E-01  0.681E-03  0.275E-04   43  22  32   12  15   9   16  10   8    0.000    0.000       0
+  0   3952 00:37:18.38   0.5800A   3.1016   0.9507  -0.8440  0.059  0.00   0.000      0.  0.873E+00  0.608E-01  0.672E-03  0.265E-04   43  22   0   12  16   9   13  10   8    0.000    0.000       0
+  0   3962 00:37:24.19   0.5840A   3.0841   0.9520  -0.8137  0.058  0.00   0.000      0.  0.873E+00  0.609E-01  0.675E-03  0.268E-04   43  22   7   11  17   9   15  12   8    0.000    0.000       0
+  0   3972 00:37:30.10   0.5960A   3.0197   0.9112   0.8071  0.057  0.00   0.000      0.  0.873E+00  0.610E-01  0.693E-03  0.269E-04   46  37  24   11  18   9   21  26   9    0.000    0.000       0
+  0   3982 00:37:36.06   0.5960A   3.0185   0.8305   0.8779  0.055  0.00   0.000      0.  0.873E+00  0.610E-01  0.692E-03  0.244E-04   45  37  31   11  19   9   21  25   9    0.000    0.000       0
+  0   3992 00:37:42.09   0.6070A   2.9666  -0.8847   0.9597  0.054  0.00   0.000      0.  0.873E+00  0.610E-01  0.703E-03  0.242E-04   46  21  36   20  21   8   20  11   9    0.000    0.000       0
+  0   4002 00:37:48.13   0.6010A   2.9929   0.8764   0.9232  0.054  0.00   0.000      0.  0.873E+00  0.610E-01  0.698E-03  0.245E-04   46  21   4   20  30   9   20  11   9    0.000    0.000       0
+  0   4012 00:37:54.13   0.5990A   3.0051   0.8542   0.8833  0.054  0.00   0.000      0.  0.873E+00  0.611E-01  0.696E-03  0.236E-04   46  21  12   19  31   9   20  11   9    0.000    0.000       0
+  0   4022 00:38:00.10   0.5940A   3.0313   0.7825   0.7866  0.054  0.00   0.000      0.  0.873E+00  0.611E-01  0.690E-03  0.206E-04   46  21  20    8  21   8   21  12   9    0.000    0.000       0
+  0   4033 00:38:06.49   0.5730A   3.1395   0.8162  -0.7410  0.055  0.00   0.000      0.  0.872E+00  0.611E-01  0.666E-03  0.185E-04   45  21  28    7  22   8   17  29   9    0.000    0.000       0
+  0   4043 00:38:12.16   0.5650A   3.1839   0.8338  -0.6770  0.056  0.00   0.000      0.  0.872E+00  0.611E-01  0.655E-03  0.188E-04   45  21  35    6  23   8    3  23   7    0.000    0.000       0
+  0   4054 00:38:18.38   0.5670A   3.1737   0.7420  -0.7679  0.056  0.00   0.000      0.  0.872E+00  0.611E-01  0.663E-03  0.204E-04   45  21   3   12  17   9   18  18   9    0.000    0.000       0
+  0   4064 00:38:24.08   0.5700A   3.1590   0.7162  -0.9425  0.057  0.00   0.000      0.  0.872E+00  0.612E-01  0.667E-03  0.203E-04   46  22  11   11  17   9   17  18   9    0.000    0.000       0
+  0   4075 00:38:30.35   0.5690A   3.1655  -0.7190  -0.9668  0.057  0.00   0.000      0.  0.872E+00  0.612E-01  0.665E-03  0.207E-04   46  21  20   26  24   6   16  18   9    0.000    0.000       0
+  0   4085 00:38:36.02   0.5680A   3.1713  -0.6859  -0.8750  0.057  0.00   0.000      0.  0.872E+00  0.613E-01  0.662E-03  0.203E-04   46  21  27   27  28  26   15  19   9    0.000    0.000       0
+  0   4096 00:38:42.29   0.5720A   3.1448  -0.7105  -0.8057  0.058  0.00   0.000      0.  0.872E+00  0.614E-01  0.667E-03  0.184E-04   44  21  36   27  27  29   14  19   8    0.000    0.000       0
+  0   4107 00:38:48.51   0.5630A   3.1962  -0.8334   0.9302  0.058  0.00   0.000      0.  0.872E+00  0.615E-01  0.663E-03  0.191E-04   44  21   3   19  26   9   20  27   9    0.000    0.000       0
+  0   4117 00:38:54.11   0.5610A   3.2070  -0.8987   0.9321  0.057  0.00   0.000      0.  0.872E+00  0.617E-01  0.671E-03  0.219E-04   44  21  11   19  25   9   20  27   9    0.000    0.000       0
+  0   4128 00:39:00.25   0.5610A   3.2079  -0.7668   0.8726  0.056  0.00   0.000      0.  0.872E+00  0.621E-01  0.679E-03  0.255E-04   44  21  18   19  24   9   21  24   9    0.000    0.000       0
+  0   4139 00:39:06.45   0.5690A   3.1623  -0.7489   0.8356  0.055  0.00   0.000      0.  0.872E+00  0.626E-01  0.696E-03  0.250E-04   44  21  26   20  10   7   20  25   9    0.000    0.000       0
+  0   4149 00:39:12.20   0.5810A   3.0969  -0.7100   0.7762  0.055  0.00   0.000      0.  0.871E+00  0.630E-01  0.714E-03  0.245E-04   44  21  34   26  25  30   20  25   9    0.000    0.000       0
+  0   4159 00:39:18.01   0.5740A   3.1380  -0.8136   0.7015  0.054  0.00   0.000      0.  0.871E+00  0.634E-01  0.714E-03  0.249E-04   41  22   2   26  23  32   20  23   9    0.000    0.000       0
+  0   4170 00:39:24.37   0.5750A   3.1306  -0.7985   0.7033  0.054  0.00   0.000      0.  0.871E+00  0.638E-01  0.719E-03  0.252E-04   46  25  23   19  10   9   20  23   9    0.000    0.000       0
+  0   4180 00:39:30.13   0.5770A   3.1200   0.8251  -0.6597  0.055  0.00   0.000      0.  0.871E+00  0.641E-01  0.717E-03  0.225E-04   46  25  30   20  23   4   17  19   9    0.000    0.000       0
+  0   4191 00:39:36.42   0.5710A   3.1541   0.8184  -0.7975  0.056  0.00   0.000      0.  0.871E+00  0.642E-01  0.708E-03  0.189E-04   46  24  39   20  30   9   17  20   9    0.000    0.000       0
+  0   4201 00:39:42.11   0.5670A   3.1743   0.8334  -0.8117  0.057  0.00   0.000      0.  0.870E+00  0.643E-01  0.700E-03  0.162E-04   46  24   6   20  30   9   16  20   9    0.000    0.000       0
+  0   4212 00:39:48.37   0.5710A   3.1523  -0.6827  -0.7922  0.058  0.00   0.000      0.  0.870E+00  0.642E-01  0.706E-03  0.161E-04   46  24  14   24  20  32   17  19   9    0.000    0.000       0
+  0   4222 00:39:54.09   0.5750A   3.1327  -0.6770  -0.7894  0.058  0.00   0.000      0.  0.870E+00  0.641E-01  0.705E-03  0.151E-04   46  24  22   29  25  18   16  19   9    0.000    0.000       0
+  0   4233 00:40:00.43   0.5720A   3.1444  -0.6926  -0.8125  0.058  0.00   0.000      0.  0.869E+00  0.638E-01  0.704E-03  0.163E-04   45  23  11   30  24  22   17  17   9    0.000    0.000       0
+  0   4243 00:40:06.12   0.5660A   3.1784  -0.6982  -0.8362  0.057  0.00   0.000      0.  0.869E+00  0.635E-01  0.701E-03  0.185E-04   46  23  18   20  26   8   16  17   9    0.000    0.000       0
+  0   4254 00:40:12.35   0.5670A   3.1736   0.6650  -0.8060  0.057  0.00   0.000      0.  0.868E+00  0.632E-01  0.712E-03  0.211E-04   46  23  26   42   6  24   15  18   9    0.000    0.000       0
+  0   4264 00:40:18.06   0.5760A   3.1271   0.7055  -0.8370  0.058  0.00   0.000      0.  0.867E+00  0.628E-01  0.731E-03  0.220E-04   45  23  33   43   8  33   17  17   9    0.000    0.000       0
+  0   4275 00:40:24.41   0.5770A   3.1223   0.7119  -0.8754  0.058  0.00   0.000      0.  0.867E+00  0.624E-01  0.734E-03  0.218E-04   45  24   1   42   8  35   16  17   9    0.000    0.000       0
+  0   4285 00:40:30.17   0.5780A   3.1153  -0.8402  -0.8434  0.059  0.00   0.000      0.  0.866E+00  0.620E-01  0.732E-03  0.196E-04   45  24   9   27  20  38   15  17   9    0.000    0.000       0
+  0   4296 00:40:36.55   0.5800A   3.1030  -0.8805  -0.7826  0.059  0.00   0.000      0.  0.865E+00  0.615E-01  0.731E-03  0.172E-04   44  24  26   27  20   3   13  18   9    0.000    0.000       0
+  0   4306 00:40:42.31   0.5740A   3.1362  -0.8461  -0.7272  0.059  0.00   0.000      0.  0.865E+00  0.611E-01  0.718E-03  0.162E-04   44  24  33   27  20   7   12  18   9    0.000    0.000       0
+  0   4316 00:40:48.06   0.5750A   3.1305  -0.8179  -0.7800  0.059  0.00   0.000      0.  0.864E+00  0.607E-01  0.715E-03  0.149E-04   44  24   0   26  20  10   31  21   8    0.000    0.000       0
+  0   4327 00:40:54.42   0.5790A   3.1092  -0.8575  -0.7564  0.060  0.00   0.000      0.  0.863E+00  0.602E-01  0.723E-03  0.150E-04   45  24  15   25  20  13   30  21  13    0.000    0.000       0
+  0   4337 00:41:00.14   0.5680A   3.1707  -0.8119  -0.7904  0.060  0.00   0.000      0.  0.863E+00  0.599E-01  0.708E-03  0.168E-04   45  24  22   25  19  17   24  16  36    0.000    0.000       0
+  0   4348 00:41:06.38   0.5690A   3.1658  -0.7293  -0.7588  0.059  0.00   0.000      0.  0.862E+00  0.596E-01  0.703E-03  0.182E-04   46  24  30   38  38  32   27  21  23    0.000    0.000       0
+  0   4358 00:41:12.09   0.5690A   3.1648  -0.6938  -0.7651  0.058  0.00   0.000      0.  0.862E+00  0.594E-01  0.700E-03  0.190E-04   46  24  39   38  37  36   28  20  29    0.000    0.000       0
+  0   4369 00:41:18.30   0.5600A   3.2123  -0.6899  -0.8118  0.058  0.00   0.000      0.  0.861E+00  0.592E-01  0.688E-03  0.207E-04   45  24   8   25  19  33   27  20  33    0.000    0.000       0
+  0   4380 00:41:24.42   0.5550A   3.2441  -0.7470  -0.7799  0.059  0.00   0.000      0.  0.861E+00  0.589E-01  0.686E-03  0.206E-04   45  24  16   33  17  19   18  17   9    0.000    0.000       0
+  0   4391 00:41:30.50   0.5540A   3.2470   0.9905  -0.9048  0.061  0.00   0.000      0.  0.860E+00  0.586E-01  0.687E-03  0.190E-04   46  24  25   20  30   9   18  17   9    0.000    0.000       0
+  0   4401 00:41:36.07   0.5600A   3.2165   0.8493  -0.8662  0.062  0.00   0.000      0.  0.859E+00  0.582E-01  0.680E-03  0.163E-04   46  24  33   19  30   9   17  17   9    0.000    0.000       0
+  0   4412 00:41:42.25   0.5640A   3.1891  -0.7371  -0.7955  0.062  0.00   0.000      0.  0.859E+00  0.577E-01  0.673E-03  0.159E-04   46  24   1   32  17  25   14  15   9    0.000    0.000       0
+  0   4423 00:41:48.55   0.5780A   3.1157  -0.8275  -0.7787  0.062  0.00   0.000      0.  0.858E+00  0.574E-01  0.683E-03  0.181E-04   46  27   2   32  17  29   13  15   9    0.000    0.000       0
+  0   4433 00:41:54.36   0.5830A   3.0850  -0.8038   0.7673  0.061  0.00   0.000      0.  0.857E+00  0.574E-01  0.682E-03  0.200E-04   46  24  18   31  16  34   20  26   9    0.000    0.000       0
+  0   4443 00:42:00.20   0.5850A   3.0777  -0.8310   0.7395  0.060  0.00   0.000      0.  0.857E+00  0.575E-01  0.672E-03  0.201E-04   45  26  16   31  15  38   20  25   9    0.000    0.000       0
+  0   4453 00:42:06.03   0.5840A   3.0837  -0.7698   0.7771  0.059  0.00   0.000      0.  0.856E+00  0.576E-01  0.665E-03  0.198E-04   45  26  23   31  14   2   20  28   9    0.000    0.000       0
+  0   4464 00:42:12.45   0.5850A   3.0746  -0.7461   0.7904  0.057  0.00   0.000      0.  0.855E+00  0.577E-01  0.664E-03  0.209E-04   46  25  30   31  13   7   20  28   9    0.000    0.000       0
+  0   4474 00:42:18.28   0.5830A   3.0870  -0.7444   0.8321  0.057  0.00   0.000      0.  0.855E+00  0.579E-01  0.654E-03  0.196E-04   46  25  38   31  12  11   21  28   9    0.000    0.000       0
+  0   4484 00:42:24.10   0.5830A   3.0892  -0.6598  -0.7651  0.057  0.00   0.000      0.  0.854E+00  0.580E-01  0.648E-03  0.181E-04   45  25   5   31  11  15   14  21   9    0.000    0.000       0
+  0   4495 00:42:30.57   0.5880A   3.0632  -0.6530   0.7789  0.057  0.00   0.000      0.  0.854E+00  0.583E-01  0.657E-03  0.203E-04   44  26  25   21  15   0   20  27   9    0.000    0.000       0
+  0   4505 00:42:36.43   0.5870A   3.0687  -0.6449  -0.6926  0.057  0.00   0.000      0.  0.853E+00  0.586E-01  0.656E-03  0.203E-04   44  26  32   21  15   3   11  23   9    0.000    0.000       0
+  0   4515 00:42:42.27   0.5850A   3.0786   0.6534  -0.6815  0.058  0.00   0.000      0.  0.853E+00  0.589E-01  0.652E-03  0.190E-04   44  26   0   17   0   8    9  23   8    0.000    0.000       0
+  0   4525 00:42:48.16   0.5930A   3.0356  -0.7297  -0.6860  0.057  0.00   0.000      0.  0.852E+00  0.592E-01  0.663E-03  0.196E-04   43  26   7   13  27   9   11  28   9    0.000    0.000       0
+  0   4535 00:42:54.09   0.5950A   3.0264  -0.7804   0.7320  0.058  0.00   0.000      0.  0.851E+00  0.595E-01  0.663E-03  0.179E-04   43  26  15   13  26   9   20  25   9    0.000    0.000       0
+  0   4545 00:43:00.03   0.5970A   3.0129  -0.7085  -0.6963  0.058  0.00   0.000      0.  0.851E+00  0.597E-01  0.667E-03  0.172E-04   43  26  24   13  26   9   17  18   9    0.000    0.000       0
+  0   4555 00:43:06.00   0.5950A   3.0246  -0.6612  -0.6953  0.058  0.00   0.000      0.  0.851E+00  0.600E-01  0.664E-03  0.153E-04   43  25  33   13  25   9   16  18   9    0.000    0.000       0
+  0   4566 00:43:12.52   0.5960A   3.0206  -0.6755  -0.6848  0.057  0.00   0.000      0.  0.850E+00  0.601E-01  0.658E-03  0.144E-04   43  25   0   35  19  38   16  17   9    0.000    0.000       0
+  0   4576 00:43:18.48   0.5930A   3.0331  -0.6597  -0.7034  0.056  0.00   0.000      0.  0.850E+00  0.603E-01  0.651E-03  0.161E-04   45  25  39   34  19   3   16  20   9    0.000    0.000       0
+  0   4586 00:43:24.33   0.5820A   3.0908  -0.6848  -0.7367  0.055  0.00   0.000      0.  0.851E+00  0.604E-01  0.644E-03  0.187E-04   45  24  11   17  32   5   17  20   9    0.000    0.000       0
+  0   4596 00:43:30.11   0.5750A   3.1299  -0.7312  -0.8345  0.054  0.00   0.000      0.  0.851E+00  0.606E-01  0.648E-03  0.209E-04   46  24  19   17  30   8   17  19   9    0.000    0.000       0
+  0   4607 00:43:36.47   0.5810A   3.0956  -0.6688  -0.9005  0.054  0.00   0.000      0.  0.851E+00  0.607E-01  0.664E-03  0.230E-04   46  24  27   17  30   8   16  19   9    0.000    0.000       0
+  0   4617 00:43:42.36   0.5900A   3.0515  -0.6535  -0.8596  0.054  0.00   0.000      0.  0.850E+00  0.609E-01  0.676E-03  0.242E-04   46  25  31   40  23  34   15  19   9    0.000    0.000       0
+  0   4627 00:43:48.21   0.5830A   3.0899  -0.6608  -0.8468  0.056  0.00   0.000      0.  0.850E+00  0.612E-01  0.666E-03  0.207E-04   46  25  38   32  14  32   15  21   9    0.000    0.000       0
+  0   4637 00:43:54.04   0.5890A   3.0556   0.6634  -0.8458  0.057  0.00   0.000      0.  0.850E+00  0.614E-01  0.669E-03  0.187E-04   46  25   6   18   2  15   14  21   9    0.000    0.000       0
+  0   4648 00:44:00.57   0.5930A   3.0335   0.6840  -0.8535  0.058  0.00   0.000      0.  0.850E+00  0.617E-01  0.675E-03  0.184E-04   46  30   9   18   2  17   15  20   9    0.000    0.000       0
+  0   4658 00:44:06.50   0.5880A   3.0613   0.7039  -0.8867  0.059  0.00   0.000      0.  0.849E+00  0.618E-01  0.672E-03  0.181E-04   43  31   5   17   4  18   15  20   9    0.000    0.000       0
+  0   4668 00:44:12.36   0.5860A   3.0732   0.7056  -0.8770  0.060  0.00   0.000      0.  0.849E+00  0.618E-01  0.669E-03  0.170E-04   43  31  12   17   5  20   15  20   9    0.000    0.000       0
+  0   4678 00:44:18.27   0.5920A   3.0387   0.7897  -0.8258  0.060  0.00   0.000      0.  0.848E+00  0.618E-01  0.678E-03  0.164E-04   44  30  29   20  27   8   12  20   9    0.000    0.000       0
+  0   4688 00:44:24.21   0.5930A   3.0356   0.7665  -0.9462  0.060  0.00   0.000      0.  0.847E+00  0.616E-01  0.682E-03  0.154E-04   44  26  37   20  27   9   18  22   9    0.000    0.000       0
+  0   4698 00:44:30.15   0.5940A   3.0306  -0.7406  -1.0752  0.060  0.00   0.000      0.  0.847E+00  0.614E-01  0.685E-03  0.163E-04   44  26   4   21  27   8   17  22   9    0.000    0.000       0
+  0   4708 00:44:36.01   0.5810A   3.0956   0.6963  -0.8996  0.059  0.00   0.000      0.  0.846E+00  0.614E-01  0.671E-03  0.164E-04   43  25   9   19   4  36   15  21   9    0.000    0.000       0
+  0   4719 00:44:42.44   0.5890A   3.0547   0.7353  -0.8381  0.057  0.00   0.000      0.  0.846E+00  0.615E-01  0.680E-03  0.172E-04   42  25  15   19   5  39   12  21   9    0.000    0.000       0
+  0   4729 00:44:48.32   0.5860A   3.0714  -0.7470  -0.7673  0.055  0.00   0.000      0.  0.845E+00  0.616E-01  0.677E-03  0.198E-04   44  29  30   33  11  34   11  21   9    0.000    0.000       0
+  0   4739 00:44:54.23   0.5960A   3.0196   0.7952   0.8695  0.054  0.00   0.000      0.  0.844E+00  0.618E-01  0.686E-03  0.238E-04   44  28  37   19   4   2   20  27   9    0.000    0.000       0
+  0   4749 00:45:00.16   0.5880A   3.0607   0.7784   0.7649  0.054  0.00   0.000      0.  0.844E+00  0.620E-01  0.680E-03  0.244E-04   44  27   4   19   4   5   20  26   9    0.000    0.000       0
+  0   4759 00:45:06.03   0.5850A   3.0793   0.7094   0.7409  0.055  0.00   0.000      0.  0.843E+00  0.623E-01  0.676E-03  0.221E-04   46  24  38   19   5   7   21  26   9    0.000    0.000       0
+  0   4770 00:45:12.44   0.5790A   3.1076  -0.8233  -0.8645  0.057  0.00   0.000      0.  0.843E+00  0.625E-01  0.673E-03  0.216E-04   44  26  21   20  11   8   18  16   9    0.000    0.000       0
+  0   4780 00:45:18.21   0.5740A   3.1352  -0.8288  -1.1614  0.059  0.00   0.000      0.  0.842E+00  0.625E-01  0.676E-03  0.218E-04   44  26  28   20  10   9   17  15   9    0.000    0.000       0
+  0   4791 00:45:24.57   0.5810A   3.0965  -0.8833  -1.2186  0.060  0.00   0.000      0.  0.842E+00  0.622E-01  0.685E-03  0.221E-04   44  26  36   18  10   9   15  15   9    0.000    0.000       0
+  0   4801 00:45:30.42   0.5850A   3.0781  -0.6820  -1.1363  0.060  0.00   0.000      0.  0.841E+00  0.616E-01  0.691E-03  0.213E-04   44  28  12   15  10   9   16  19   9    0.000    0.000       0
+  0   4811 00:45:36.29   0.5850A   3.0745   0.6776  -1.1023  0.059  0.00   0.000      0.  0.841E+00  0.609E-01  0.685E-03  0.204E-04   44  27   0   19  14   8   14  17   9    0.000    0.000       0
+  0   4821 00:45:42.08   0.5730A   3.1408   0.7407  -1.1021  0.058  0.00   0.000      0.  0.840E+00  0.602E-01  0.664E-03  0.206E-04   46  24   5   20  14   8   11  17   8    0.000    0.000       0
+  0   4832 00:45:48.31   0.5600A   3.2170  -0.6904  -1.0482  0.057  0.00   0.000      0.  0.840E+00  0.595E-01  0.642E-03  0.199E-04   46  24  13   19  21   9    9  17   8    0.000    0.000       0
+  0   4843 00:45:54.35   0.5430A   3.3138   0.6218  -0.9948  0.056  0.00   0.000      0.  0.840E+00  0.590E-01  0.615E-03  0.187E-04   46  24  21   26   1  35    7  17   8    0.000    0.000       0
+  0   4854 00:46:00.37   0.5470A   3.2911  -0.7278  -0.9268  0.055  0.00   0.000      0.  0.840E+00  0.585E-01  0.616E-03  0.188E-04   45  25  26   22  13   4    5  17   8    0.000    0.000       0
+  0   4865 00:46:06.41   0.5540A   3.2517   0.8442  -0.8631  0.055  0.00   0.000      0.  0.840E+00  0.581E-01  0.621E-03  0.202E-04   45  25  33   21  20   8   16  24   9    0.000    0.000       0
+  0   4876 00:46:12.53   0.5560A   3.2360   0.7427  -0.7933  0.056  0.00   0.000      0.  0.839E+00  0.577E-01  0.626E-03  0.217E-04   46  25   2   20  20   8   15  24   9    0.000    0.000       0
+  0   4886 00:46:18.15   0.5680A   3.1667   0.7622  -0.8667  0.056  0.00   0.000      0.  0.839E+00  0.574E-01  0.636E-03  0.206E-04   46  25   9   20  30   9   16  16   9    0.000    0.000       0
+  0   4897 00:46:24.49   0.5770A   3.1198  -0.7563  -0.9499  0.056  0.00   0.000      0.  0.839E+00  0.569E-01  0.643E-03  0.205E-04   43  20  29   20  19   6   15  17   9    0.000    0.000       0
+  0   4907 00:46:30.25   0.5790A   3.1107  -0.7994  -0.9755  0.056  0.00   0.000      0.  0.839E+00  0.564E-01  0.640E-03  0.204E-04   44  19  39   24  13  21   14  18   9    0.000    0.000       0
+  0   4917 00:46:36.07   0.5830A   3.0868  -0.7989  -0.8526  0.056  0.00   0.000      0.  0.839E+00  0.560E-01  0.639E-03  0.206E-04   44  19   6   24  12  25   12  18   9    0.000    0.000       0
+  0   4928 00:46:42.53   0.5880A   3.0630  -0.8557  -0.7840  0.055  0.00   0.000      0.  0.839E+00  0.557E-01  0.633E-03  0.209E-04   44  19  14   23  11  27   13  17   9    0.000    0.000       0
+  0   4938 00:46:48.35   0.5800A   3.1046  -0.8575  -0.7444  0.054  0.00   0.000      0.  0.839E+00  0.555E-01  0.622E-03  0.229E-04   43  18  22   23  10  30   12  17   9    0.000    0.000       0
+  0   4948 00:46:54.10   0.5760A   3.1248  -0.8348   0.7713  0.053  0.00   0.000      0.  0.839E+00  0.555E-01  0.612E-03  0.221E-04   43  18  30   23  10  33   20  25   9    0.000    0.000       0
+  0   4959 00:47:00.40   0.5690A   3.1653   0.8006   0.7037  0.053  0.00   0.000      0.  0.839E+00  0.556E-01  0.604E-03  0.214E-04   43  18  38   20  33   6   20  24   9    0.000    0.000       0
+  0   4969 00:47:06.17   0.5820A   3.0914  -0.7346   0.7241  0.053  0.00   0.000      0.  0.839E+00  0.558E-01  0.618E-03  0.228E-04   43  18   5   23  11   0   20  11   9    0.000    0.000       0
+  0   4979 00:47:12.01   0.5820A   3.0913   0.7580  -0.7273  0.053  0.00   0.000      0.  0.840E+00  0.559E-01  0.617E-03  0.204E-04   43  18  13   21  34  14   18  29   9    0.000    0.000       0
+  0   4990 00:47:18.47   0.5930A   3.0346   0.9054  -0.7523  0.054  0.00   0.000      0.  0.840E+00  0.559E-01  0.629E-03  0.175E-04   43  18  21   20  30   9   16  28   9    0.000    0.000       0
+  0   5000 00:47:24.50   0.6080A   2.9623   0.8602  -0.7285  0.054  0.00   0.000      0.  0.840E+00  0.557E-01  0.645E-03  0.165E-04   46  22   1   19  30   9   16  28   9    0.000    0.000       0
+  0   5009 00:47:30.01   0.6100A   2.9512   0.7145  -0.7123  0.056  0.00   0.000      0.  0.840E+00  0.555E-01  0.647E-03  0.153E-04   43  18  36   20  36  22   17  29   8    0.000    0.000       0
+  0   5019 00:47:36.14   0.6200A   2.9044   0.7709  -0.8648  0.057  0.00   0.000      0.  0.840E+00  0.550E-01  0.656E-03  0.166E-04   43  18   3   19  36  24   17  22   9    0.000    0.000       0
+  0   5029 00:47:42.30   0.6140A   2.9304   0.6991  -0.8339  0.058  0.00   0.000      0.  0.840E+00  0.542E-01  0.646E-03  0.149E-04   45  27  37   20  38  31   16  22   9    0.000    0.000       0
+  0   5039 00:47:48.41   0.6100A   2.9487   0.7073  -0.7664  0.058  0.00   0.000      0.  0.841E+00  0.533E-01  0.641E-03  0.136E-04   44  24  38   20  39  34   17  18   9    0.000    0.000       0
+  0   5049 00:47:54.51   0.6050A   2.9728   0.6913  -0.7079  0.057  0.00   0.000      0.  0.841E+00  0.525E-01  0.637E-03  0.144E-04   41  18  25   20  14   8   15  18   9    0.000    0.000       0
+  0   5058 00:48:00.04   0.6190A   2.9101   0.6851  -0.6703  0.057  0.00   0.000      0.  0.841E+00  0.518E-01  0.654E-03  0.159E-04   46  27  19   26  36   6   14  18   9    0.000    0.000       0
+  0   5068 00:48:06.20   0.6140A   2.9313   0.6670  -0.6320  0.057  0.00   0.000      0.  0.841E+00  0.511E-01  0.650E-03  0.175E-04   45  22  16   42  13   8   13  18   9    0.000    0.000       0
+  0   5078 00:48:12.33   0.6130A   2.9352   0.6613   0.6829  0.056  0.00   0.000      0.  0.841E+00  0.504E-01  0.655E-03  0.206E-04   42  24  26   39   9   9   20  29   9    0.000    0.000       0
+  0   5088 00:48:18.47   0.6110A   2.9468  -0.6583   0.7277  0.056  0.00   0.000      0.  0.841E+00  0.499E-01  0.654E-03  0.219E-04   45  28   6   26   4   6   20  28   9    0.000    0.000       0
+  0   5098 00:48:24.55   0.6050A   2.9745  -0.6248   0.7045  0.056  0.00   0.000      0.  0.842E+00  0.494E-01  0.643E-03  0.224E-04   45  21   0   21  14   8   20  28   9    0.000    0.000       0
+  0   5107 00:48:30.01   0.6080A   2.9617  -0.8418   0.6351  0.057  0.00   0.000      0.  0.842E+00  0.489E-01  0.637E-03  0.223E-04   45  21   7   20  19   8   20  28   9    0.000    0.000       0
+  0   5117 00:48:36.08   0.5930A   3.0329   0.6716  -0.6331  0.057  0.00   0.000      0.  0.842E+00  0.484E-01  0.615E-03  0.230E-04   43  13  28   21  18   8   16  18   9    0.000    0.000       0
+  0   5128 00:48:42.46   0.5790A   3.1086   0.6798  -0.6395  0.058  0.00   0.000      0.  0.842E+00  0.479E-01  0.592E-03  0.199E-04   43  13  36   20  18   8   11  27   9    0.000    0.000       0
+  0   5138 00:48:48.33   0.5910A   3.0456   0.8463  -0.6301  0.058  0.00   0.000      0.  0.843E+00  0.474E-01  0.597E-03  0.187E-04   46  20  32   20  19   8   10  27   9    0.000    0.000       0
+  0   5148 00:48:54.23   0.5930A   3.0371  -0.6569  -0.6200  0.058  0.00   0.000      0.  0.843E+00  0.470E-01  0.594E-03  0.184E-04   43  20  38   44  15   6    8  17   7    0.000    0.000       0
+  0   5158 00:49:00.15   0.5920A   3.0384  -0.5926  -0.6425  0.056  0.00   0.000      0.  0.843E+00  0.467E-01  0.591E-03  0.196E-04   43  20   5   22  10  24    7  17   7    0.000    0.000       0
+  0   5168 00:49:06.14   0.6010A   2.9936  -0.6073   0.6429  0.054  0.00   0.000      0.  0.844E+00  0.466E-01  0.604E-03  0.230E-04   44  20  16   43  10  22   20  13   9    0.000    0.000       0
+  0   5178 00:49:12.14   0.6030A   2.9868   0.6249   0.7221  0.053  0.00   0.000      0.  0.844E+00  0.467E-01  0.612E-03  0.262E-04   44  20  24   30   0   0   20  12   9    0.000    0.000       0
+  0   5188 00:49:18.14   0.5950A   3.0243  -0.6502   0.7574  0.052  0.00   0.000      0.  0.844E+00  0.471E-01  0.601E-03  0.239E-04   46  23  37   25  18   8   20  28   9    0.000    0.000       0
+  0   5198 00:49:24.07   0.5890A   3.0569  -0.7046   0.7690  0.053  0.00   0.000      0.  0.845E+00  0.475E-01  0.596E-03  0.213E-04   46  23   4   24  18  11   20  13   9    0.000    0.000       0
+  0   5209 00:49:30.58   0.5950A   3.0238  -0.7126  -0.8635  0.053  0.00   0.000      0.  0.845E+00  0.480E-01  0.604E-03  0.210E-04   46  23  12   24  17  16   18  19   9    0.000    0.000       0
+  0   5219 00:49:36.58   0.6050A   2.9756   0.8653  -0.9579  0.054  0.00   0.000      0.  0.845E+00  0.484E-01  0.614E-03  0.213E-04   46  23  20   22  28   8   17  20   9    0.000    0.000       0
+  0   5228 00:49:42.06   0.6130A   2.9385   0.9106  -0.9750  0.056  0.00   0.000      0.  0.845E+00  0.487E-01  0.618E-03  0.192E-04   44  24   4   22  28   8   15  20   9    0.000    0.000       0
+  0   5238 00:49:48.16   0.6080A   2.9596   0.7777  -0.9244  0.058  0.00   0.000      0.  0.844E+00  0.488E-01  0.611E-03  0.165E-04   44  24  11   22  29   8   14  20   9    0.000    0.000       0
+  0   5248 00:49:54.25   0.6080A   2.9590   0.7089  -0.9065  0.061  0.00   0.000      0.  0.844E+00  0.487E-01  0.613E-03  0.160E-04   44  24  18   21  30   8   18  15   9    0.000    0.000       0
+  0   5258 00:50:00.33   0.6070A   2.9676  -0.6810  -1.0423  0.063  0.00   0.000      0.  0.844E+00  0.484E-01  0.613E-03  0.160E-04   45  24  21   42  36  36   17  15   9    0.000    0.000       0
+  0   5268 00:50:06.39   0.6080A   2.9607  -0.6225  -1.0186  0.063  0.00   0.000      0.  0.844E+00  0.479E-01  0.615E-03  0.139E-04   45  24  29   25   8  25   16  15   9    0.000    0.000       0
+  0   5278 00:50:12.44   0.6040A   2.9794  -0.6182  -0.8615  0.063  0.00   0.000      0.  0.844E+00  0.473E-01  0.608E-03  0.112E-04   44  23   2   24  23   9   15  15   9    0.000    0.000       0
+  0   5288 00:50:18.44   0.6060A   2.9681  -0.6365  -0.7232  0.061  0.00   0.000      0.  0.844E+00  0.467E-01  0.612E-03  0.127E-04   44  23   9   27   4  32   13  15   9    0.000    0.000       0
+  0   5298 00:50:24.49   0.6040A   2.9802  -0.7217   0.7041  0.059  0.00   0.000      0.  0.844E+00  0.463E-01  0.619E-03  0.197E-04   44  23  17   27   8  37   30  27   4    0.000    0.000       0
+  0   5308 00:50:30.51   0.6010A   2.9962  -0.7566   0.8284  0.057  0.00   0.000      0.  0.844E+00  0.461E-01  0.625E-03  0.233E-04   44  23  24   27   7   0   20  11   9    0.000    0.000       0
+  0   5318 00:50:36.55   0.6060A   2.9727   0.8341   0.8740  0.056  0.00   0.000      0.  0.845E+00  0.460E-01  0.637E-03  0.245E-04   44  23  31   21  28   6   20  12   9    0.000    0.000       0
+  0   5327 00:50:42.01   0.6050A   2.9755   0.9058   0.7586  0.056  0.00   0.000      0.  0.845E+00  0.460E-01  0.642E-03  0.249E-04   44  23  38   21  28   8   20  12   9    0.000    0.000       0
+  0   5337 00:50:48.06   0.6040A   2.9814   0.9087  -0.8053  0.058  0.00   0.000      0.  0.845E+00  0.459E-01  0.645E-03  0.224E-04   44  23   5   20  28   8   18  21   9    0.000    0.000       0
+  0   5347 00:50:54.10   0.6060A   2.9721   0.8313  -1.0753  0.058  0.00   0.000      0.  0.845E+00  0.458E-01  0.653E-03  0.216E-04   44  23  13   20  29   9   17  22   9    0.000    0.000       0
+  0   5357 00:51:00.17   0.6100A   2.9530  -0.7712  -1.1302  0.060  0.00   0.000      0.  0.846E+00  0.456E-01  0.656E-03  0.199E-04   46  20  15   20  10   9   16  23   9    0.000    0.000       0
+  0   5367 00:51:06.23   0.6020A   2.9883  -0.9101  -0.9977  0.061  0.00   0.000      0.  0.846E+00  0.454E-01  0.643E-03  0.193E-04   44  18  25   20  10   9   14  23   9    0.000    0.000       0
+  0   5377 00:51:12.27   0.6020A   2.9908  -0.8087  -0.9002  0.062  0.00   0.000      0.  0.846E+00  0.451E-01  0.642E-03  0.197E-04   46  20  31   19  10   9   12  26   9    0.000    0.000       0
+  0   5387 00:51:18.29   0.6050A   2.9764  -0.7402  -1.1376  0.061  0.00   0.000      0.  0.846E+00  0.449E-01  0.643E-03  0.174E-04   46  20  38   24  11   8   17  14   9    0.000    0.000       0
+  0   5397 00:51:24.38   0.6120A   2.9430  -0.6659  -1.1669  0.061  0.00   0.000      0.  0.846E+00  0.446E-01  0.649E-03  0.155E-04   46  18   4   23  13  11   15  15   9    0.000    0.000       0
+  0   5407 00:51:30.51   0.6150A   2.9284  -0.6929  -1.0301  0.062  0.00   0.000      0.  0.846E+00  0.442E-01  0.648E-03  0.150E-04   46  18  12   22  13  14   14  15   9    0.000    0.000       0
+  0   5416 00:51:36.06   0.6170A   2.9166  -0.6289  -0.9330  0.061  0.00   0.000      0.  0.847E+00  0.438E-01  0.650E-03  0.159E-04   43  14   9   26  30   6   15  15   8    0.000    0.000       0
+  0   5426 00:51:42.19   0.6140A   2.9293  -0.6433  -0.9026  0.060  0.00   0.000      0.  0.847E+00  0.435E-01  0.645E-03  0.183E-04   43  14  17   22  12  22   13  15   8    0.000    0.000       0
+  0   5436 00:51:48.43   0.6290A   2.8637  -0.6386  -0.9434  0.059  0.00   0.000      0.  0.847E+00  0.433E-01  0.659E-03  0.217E-04   46  11  29   41  28  21   11  16   8    0.000    0.000       0
+  0   5445 00:51:54.04   0.6260A   2.8747  -0.6747  -0.9414  0.059  0.00   0.000      0.  0.848E+00  0.431E-01  0.652E-03  0.233E-04   43  13  33   42  10  29    9  16   8    0.000    0.000       0
+  0   5455 00:52:00.28   0.6210A   2.8971  -0.6389  -0.9180  0.060  0.00   0.000      0.  0.848E+00  0.430E-01  0.640E-03  0.233E-04   43  12   0   42   9  35    7  18   8    0.000    0.000       0
+  0   5465 00:52:06.43   0.6220A   2.8919  -0.6364  -0.8629  0.061  0.00   0.000      0.  0.848E+00  0.429E-01  0.637E-03  0.234E-04   43  12   7   22  10  37    5  18   8    0.000    0.000       0
+  0   5474 00:52:12.10   0.6290A   2.8600  -0.7390  -0.8614  0.062  0.00   0.000      0.  0.849E+00  0.429E-01  0.640E-03  0.227E-04   44  35  37   20  11   8   18  20   9    0.000    0.000       0
+  0   5484 00:52:18.40   0.6290A   2.8634  -0.7111  -0.9662  0.062  0.00   0.000      0.  0.849E+00  0.429E-01  0.635E-03  0.202E-04   45  26  20   20  11   8   17  19   9    0.000    0.000       0
+  0   5493 00:52:24.08   0.6330A   2.8435  -0.6246  -0.8684  0.062  0.00   0.000      0.  0.849E+00  0.429E-01  0.639E-03  0.194E-04   46  34  24   43  14  19   16  18   9    0.000    0.000       0
+  0   5503 00:52:30.40   0.6270A   2.8694   0.6585  -0.7782  0.061  0.00   0.000      0.  0.850E+00  0.430E-01  0.630E-03  0.197E-04   46  29  32   40   0  23   14  18   9    0.000    0.000       0
+  0   5513 00:52:36.61   0.6140A   2.9296   0.6660  -0.7380  0.060  0.00   0.000      0.  0.850E+00  0.432E-01  0.621E-03  0.213E-04   46  29  39   39  39  27   14  17   9    0.000    0.000       0
+  0   5522 00:52:42.14   0.6150A   2.9248   0.7040  -0.6799  0.059  0.00   0.000      0.  0.850E+00  0.433E-01  0.627E-03  0.214E-04   46  29   5   38   0  31   13  17   9    0.000    0.000       0
+  0   5532 00:52:48.21   0.6010A   2.9933  -0.8207   0.6333  0.058  0.00   0.000      0.  0.850E+00  0.434E-01  0.617E-03  0.206E-04   46  28  12   19  10   9   20  28   9    0.000    0.000       0
+  0   5542 00:52:54.12   0.5830A   3.0870  -0.9292  -0.6264  0.058  0.00   0.000      0.  0.850E+00  0.435E-01  0.601E-03  0.188E-04   46  27  18   20  14   8   18  12   9    0.000    0.000       0
+  0   5553 00:53:00.49   0.5790A   3.1077   0.9876  -0.8533  0.059  0.00   0.000      0.  0.850E+00  0.435E-01  0.600E-03  0.171E-04   46  27  25   20  30   9   18  23   9    0.000    0.000       0
+  0   5563 00:53:06.44   0.6070A   2.9661   0.8514  -0.8249  0.060  0.00   0.000      0.  0.850E+00  0.434E-01  0.625E-03  0.175E-04   46  27  32   19  31   9   17  23   9    0.000    0.000       0
+  0   5573 00:53:12.60   0.6220A   2.8920   0.7277  -0.9146  0.060  0.00   0.000      0.  0.850E+00  0.432E-01  0.638E-03  0.171E-04   44  14  38   18  31   9   18  25   9    0.000    0.000       0
+  0   5582 00:53:18.15   0.6120A   2.9426  -0.7210  -0.9328  0.060  0.00   0.000      0.  0.850E+00  0.429E-01  0.622E-03  0.157E-04   44  14   5   43  32   2   17  25   9    0.000    0.000       0
+  0   5592 00:53:24.33   0.6210A   2.8982   0.6797  -0.7594  0.060  0.00   0.000      0.  0.850E+00  0.426E-01  0.625E-03  0.146E-04   45  27   0   44  28  30   16  25   9    0.000    0.000       0
+  0   5602 00:53:30.54   0.6200A   2.9016   0.6578  -0.6766  0.059  0.00   0.000      0.  0.850E+00  0.421E-01  0.622E-03  0.140E-04   46  32  19   46  27  38   16  27   9    0.000    0.000       0
+  0   5611 00:53:36.04   0.6040A   2.9817  -0.6702  -0.6809  0.058  0.00   0.000      0.  0.850E+00  0.417E-01  0.604E-03  0.140E-04   46  32  25   44   5   9   17  19   9    0.000    0.000       0
+  0   5621 00:53:42.18   0.6220A   2.8960   0.7236  -0.7999  0.057  0.00   0.000      0.  0.850E+00  0.412E-01  0.612E-03  0.151E-04   46  12   8   46  28   9   17  18   9    0.000    0.000       0
+  0   5631 00:53:48.35   0.6160A   2.9243   0.7039  -0.8397  0.056  0.00   0.000      0.  0.850E+00  0.406E-01  0.600E-03  0.147E-04   46  33  35   46  29  15   16  18   9    0.000    0.000       0
+  0   5641 00:53:54.41   0.6070A   2.9678  -0.7125  -0.7713  0.055  0.00   0.000      0.  0.850E+00  0.400E-01  0.585E-03  0.129E-04   46  33   2   41  20   2   15  18   9    0.000    0.000       0
+  0   5651 00:54:00.58   0.6230A   2.8888  -0.7165  -0.6616  0.054  0.00   0.000      0.  0.850E+00  0.394E-01  0.593E-03  0.143E-04   44  16  39   41  19   8   14  18   9    0.000    0.000       0
+  0   5660 00:54:06.15   0.6160A   2.9211  -0.7239   0.6614  0.053  0.00   0.000      0.  0.851E+00  0.391E-01  0.582E-03  0.164E-04   46  32  15   41  19  14   20  29   8    0.000    0.000       0
+  0   5670 00:54:12.29   0.6140A   2.9305  -0.6748   0.7508  0.052  0.00   0.000      0.  0.851E+00  0.389E-01  0.584E-03  0.216E-04   46  32  22   41  18  19   20  27   9    0.000    0.000       0
+  0   5680 00:54:18.48   0.6160A   2.9201  -0.6791   0.7794  0.052  0.00   0.000      0.  0.852E+00  0.389E-01  0.583E-03  0.233E-04   44  15  19   42  19  24   20  26   9    0.000    0.000       0
+  0   5689 00:54:24.03   0.6120A   2.9427  -0.6524   0.7742  0.052  0.00   0.000      0.  0.852E+00  0.390E-01  0.570E-03  0.211E-04   46  12  34   42  16  30   20  27   9    0.000    0.000       0
+  0   5699 00:54:30.14   0.6090A   2.9542  -0.6455   0.6436  0.053  0.00   0.000      0.  0.853E+00  0.390E-01  0.555E-03  0.160E-04   46  12   1   42  15  36   20  27   9    0.000    0.000       0
+  0   5709 00:54:36.22   0.6010A   2.9941  -0.6647  -0.7668  0.053  0.00   0.000      0.  0.853E+00  0.390E-01  0.540E-03  0.134E-04   45  11  20   42  14   2   17  20   9    0.000    0.000       0
+  0   5719 00:54:42.21   0.5980A   3.0084  -0.6761  -0.8092  0.054  0.00   0.000      0.  0.854E+00  0.391E-01  0.532E-03  0.129E-04   45  11  27   42  13   8   15  19   9    0.000    0.000       0
+  0   5729 00:54:48.27   0.6100A   2.9510  -0.6459  -0.9159  0.055  0.00   0.000      0.  0.854E+00  0.391E-01  0.536E-03  0.128E-04   46  11  23   42  12  14   17  16   9    0.000    0.000       0
+  0   5739 00:54:54.37   0.6100A   2.9508  -0.6000  -0.9414  0.055  0.00   0.000      0.  0.855E+00  0.391E-01  0.532E-03  0.133E-04   46  11  31   45  31  25   16  15   9    0.000    0.000       0
+  0   5749 00:55:00.47   0.6100A   2.9529  -0.6787  -0.9001  0.056  0.00   0.000      0.  0.855E+00  0.391E-01  0.533E-03  0.130E-04   45  11  38   46  30  31   15  16   9    0.000    0.000       0
+  0   5759 00:55:06.54   0.6030A   2.9829  -0.7061  -0.8165  0.056  0.00   0.000      0.  0.856E+00  0.390E-01  0.532E-03  0.146E-04   46   8  13   45  30  37   13  16   9    0.000    0.000       0
+  0   5769 00:55:12.54   0.5980A   3.0111  -0.7215  -0.9080  0.056  0.00   0.000      0.  0.856E+00  0.389E-01  0.526E-03  0.142E-04   46   8  21   45  29   3   18  26   9    0.000    0.000       0
+  0   5779 00:55:18.49   0.5940A   3.0303  -0.7624  -0.9495  0.057  0.00   0.000      0.  0.857E+00  0.386E-01  0.515E-03  0.127E-04   46   8  28   45  28   9   17  26   9    0.000    0.000       0
+  0   5789 00:55:24.46   0.5990A   3.0049  -0.7436  -0.8820  0.056  0.00   0.000      0.  0.857E+00  0.383E-01  0.519E-03  0.140E-04   46   8  36   45  27  15   16  25   9    0.000    0.000       0
+  0   5799 00:55:30.47   0.6010A   2.9961  -0.6691  -0.8023  0.056  0.00   0.000      0.  0.857E+00  0.380E-01  0.522E-03  0.159E-04   46   7   2   45  26  21   15  25   9    0.000    0.000       0
+  0   5809 00:55:36.43   0.5930A   3.0333  -0.6181  -0.7952  0.056  0.00   0.000      0.  0.858E+00  0.379E-01  0.511E-03  0.179E-04   46   9   7   45  25  27   16  19   9    0.000    0.000       0
+  0   5819 00:55:42.34   0.5910A   3.0447  -0.5997  -0.7948  0.055  0.00   0.000      0.  0.858E+00  0.379E-01  0.505E-03  0.193E-04   46   9  15   19  14   9   15  17   9    0.000    0.000       0
+  0   5829 00:55:48.26   0.5940A   3.0304  -0.5663  -0.7690  0.054  0.00   0.000      0.  0.859E+00  0.379E-01  0.503E-03  0.172E-04   44  10  11   22  14  26   14  17   9    0.000    0.000       0
+  0   5839 00:55:54.17   0.5910A   3.0432  -0.5613  -0.7634  0.054  0.00   0.000      0.  0.860E+00  0.379E-01  0.498E-03  0.164E-04   44  10  19   22  13  29   13  20   9    0.000    0.000       0
+  0   5849 00:56:00.12   0.5970A   3.0147   0.6395  -0.7387  0.054  0.00   0.000      0.  0.860E+00  0.380E-01  0.506E-03  0.173E-04   44  10  27   20  22   9   11  20   9    0.000    0.000       0
+  0   5859 00:56:06.11   0.6000A   2.9997  -0.6933  -0.7405  0.053  0.00   0.000      0.  0.861E+00  0.381E-01  0.507E-03  0.167E-04   46   6   8   22  13   0    7  21   8    0.000    0.000       0
+  0   5869 00:56:12.12   0.5990A   3.0033  -0.7923  -0.7419  0.053  0.00   0.000      0.  0.862E+00  0.381E-01  0.503E-03  0.156E-04   45   6  18   20  21   8    6  21   8    0.000    0.000       0
+  0   5879 00:56:18.09   0.5980A   3.0102  -0.8324  -0.7020  0.054  0.00   0.000      0.  0.862E+00  0.381E-01  0.495E-03  0.134E-04   45   6  26   20  19   8    4  21   8    0.000    0.000       0
+  0   5889 00:56:24.09   0.5980A   3.0094  -0.7101  -0.6427  0.054  0.00   0.000      0.  0.863E+00  0.380E-01  0.491E-03  0.134E-04   45   5  34   22  13   9    3  21   8    0.000    0.000       0
+  0   5899 00:56:30.04   0.5930A   3.0364  -0.6899  -0.6970  0.054  0.00   0.000      0.  0.864E+00  0.379E-01  0.487E-03  0.121E-04   46   5   2   22   7  13   18  22   9    0.000    0.000       0
+  0   5910 00:56:36.59   0.6000A   2.9990  -0.6422  -0.7423  0.055  0.00   0.000      0.  0.865E+00  0.376E-01  0.490E-03  0.118E-04   45   5  10   22  13  15   17  22   9    0.000    0.000       0
+  0   5919 00:56:42.02   0.6040A   2.9797  -0.6751  -0.6872  0.054  0.00   0.000      0.  0.866E+00  0.375E-01  0.494E-03  0.129E-04   44   6  13   45  18  23   17  23   9    0.000    0.000       0
+  0   5929 00:56:48.05   0.6020A   2.9921  -0.6833  -0.6502  0.053  0.00   0.000      0.  0.867E+00  0.373E-01  0.497E-03  0.141E-04   46   8  25   45  17  30   16  23   9    0.000    0.000       0
+  0   5939 00:56:54.06   0.6010A   2.9959  -0.6835   0.6761  0.052  0.00   0.000      0.  0.869E+00  0.373E-01  0.498E-03  0.161E-04   46   8  33   22   7  26   20  13   9    0.000    0.000       0
+  0   5949 00:57:00.03   0.5930A   3.0338  -0.6544   0.6859  0.051  0.00   0.000      0.  0.870E+00  0.374E-01  0.490E-03  0.171E-04   45  11  39   22   7  29   20  12   9    0.000    0.000       0
+  0   5960 00:57:06.53   0.5890A   3.0542   0.7796   0.6852  0.051  0.00   0.000      0.  0.871E+00  0.375E-01  0.486E-03  0.162E-04   46  11   7   21  18   8   20  15   9    0.000    0.000       0
+  0   5970 00:57:12.41   0.5860A   3.0723   0.8731  -0.6227  0.052  0.00   0.000      0.  0.872E+00  0.377E-01  0.483E-03  0.165E-04   45   5  13   20  20   8    7  16   6    0.000    0.000       0
+  0   5980 00:57:18.22   0.5760A   3.1235  -0.7020  -0.7958  0.053  0.00   0.000      0.  0.873E+00  0.379E-01  0.479E-03  0.149E-04   45   5  21   20  10   9   18  15   9    0.000    0.000       0
+  0   5991 00:57:24.53   0.5660A   3.1803  -0.6754  -1.0199  0.053  0.00   0.000      0.  0.874E+00  0.379E-01  0.479E-03  0.156E-04   46  12  29   43  15  30   18  18   9    0.000    0.000       0
+  0   6001 00:57:30.12   0.5520A   3.2609  -0.6916  -1.1001  0.053  0.00   0.000      0.  0.875E+00  0.380E-01  0.472E-03  0.170E-04   46  12  36   43  14  35   17  17   9    0.000    0.000       0
+  0   6012 00:57:36.21   0.5550A   3.2425  -0.6973  -0.9900  0.052  0.00   0.000      0.  0.876E+00  0.381E-01  0.479E-03  0.191E-04   46  12   4   38  35  12   15  17   9    0.000    0.000       0
+  0   6023 00:57:42.43   0.5770A   3.1220  -0.7147  -0.8622  0.052  0.00   0.000      0.  0.877E+00  0.384E-01  0.497E-03  0.206E-04   46  12  12   39  32  16   14  18   9    0.000    0.000       0
+  0   6033 00:57:48.28   0.5850A   3.0747  -0.7025  -0.7630  0.051  0.00   0.000      0.  0.878E+00  0.387E-01  0.500E-03  0.189E-04   45   4  25   38  33  22   13  18   9    0.000    0.000       0
+  0   6043 00:57:54.09   0.5780A   3.1136  -0.6857  -0.7281  0.050  0.00   0.000      0.  0.879E+00  0.390E-01  0.490E-03  0.166E-04   45   4  32   38  33  27   11  14   9    0.000    0.000       0
+  0   6054 00:58:00.42   0.5740A   3.1382  -0.6357  -0.7102  0.049  0.00   0.000      0.  0.880E+00  0.395E-01  0.486E-03  0.165E-04   45   4   1   38  33  33   10  14   9    0.000    0.000       0
+  0   6064 00:58:06.13   0.5690A   3.1621  -0.6323   0.6998  0.049  0.00   0.000      0.  0.881E+00  0.399E-01  0.481E-03  0.155E-04   46   5  13   38  33  39   20  11   9    0.000    0.000       0
+  0   6075 00:58:12.38   0.5680A   3.1717  -0.6968  -0.6628  0.049  0.00   0.000      0.  0.882E+00  0.404E-01  0.483E-03  0.159E-04   46   5  21   38  32   5    9  14   9    0.000    0.000       0
+  0   6085 00:58:18.05   0.5650A   3.1848  -0.6550   0.6498  0.049  0.00   0.000      0.  0.883E+00  0.409E-01  0.484E-03  0.161E-04   46   4  29   38  32  10   20  27   9    0.000    0.000       0
+  0   6096 00:58:24.26   0.5640A   3.1921  -0.6198   0.6136  0.049  0.00   0.000      0.  0.884E+00  0.415E-01  0.489E-03  0.159E-04   46   4  37   37  32  15   40  31   5    0.000    0.000       0
+  0   6107 00:58:30.47   0.5660A   3.1820  -0.6357   0.6131  0.048  0.00   0.000      0.  0.884E+00  0.421E-01  0.496E-03  0.150E-04   45   4   6   37  32  21   20  26   9    0.000    0.000       0
+  0   6117 00:58:36.11   0.5580A   3.2275   0.6688   0.6080  0.047  0.00   0.000      0.  0.885E+00  0.426E-01  0.496E-03  0.151E-04   46   3  14   32  12  22   20  26   9    0.000    0.000       0
+  0   6128 00:58:42.18   0.5470A   3.2878   0.6465   0.5886  0.046  0.00   0.000      0.  0.886E+00  0.433E-01  0.496E-03  0.149E-04   46   3  22   32  13  26   20  26   9    0.000    0.000       0
+  0   6139 00:58:48.20   0.5500A   3.2730   0.6512   0.5733  0.046  0.00   0.000      0.  0.887E+00  0.439E-01  0.504E-03  0.141E-04   46   3  30   35   7  31   20  15   9    0.000    0.000       0
+  0   6150 00:58:54.28   0.5570A   3.2292   0.6029   0.5398  0.046  0.00   0.000      0.  0.887E+00  0.445E-01  0.515E-03  0.121E-04   46   3  39   35   7  36   20  15   9    0.000    0.000       0
+  0   6161 00:59:00.49   0.5680A   3.1696   0.7585  -0.6137  0.046  0.00   0.000      0.  0.888E+00  0.452E-01  0.537E-03  0.141E-04   46   2  28   21  24   6   22   8  33    0.000    0.000       0
+  0   6171 00:59:06.18   0.5680A   3.1686  -0.7065  -0.8817  0.047  0.00   0.000      0.  0.888E+00  0.458E-01  0.541E-03  0.136E-04   44   2  14   20  20   9   18  23   9    0.000    0.000       0
+  0   6182 00:59:12.30   0.5520A   3.2590  -0.6209  -1.1077  0.048  0.00   0.000      0.  0.889E+00  0.464E-01  0.533E-03  0.132E-04   44   2  22   19  20   9   17  24   9    0.000    0.000       0
+  0   6193 00:59:18.38   0.5550A   3.2458  -0.6824  -1.1169  0.049  0.00   0.000      0.  0.889E+00  0.468E-01  0.543E-03  0.137E-04   44   2  30   21  28   8   16  25   9    0.000    0.000       0
+  0   6204 00:59:24.50   0.5550A   3.2433   0.6210  -1.0372  0.049  0.00   0.000      0.  0.889E+00  0.472E-01  0.548E-03  0.140E-04   44   5  37   46  36  25   15  25   9    0.000    0.000       0
+  0   6214 00:59:30.00   0.5480A   3.2875   0.6564  -0.9467  0.049  0.00   0.000      0.  0.890E+00  0.475E-01  0.545E-03  0.138E-04   44   5   5   45  36  31   15  28   9    0.000    0.000       0
+  0   6225 00:59:36.06   0.5530A   3.2563  -0.6980  -0.8279  0.048  0.00   0.000      0.  0.890E+00  0.479E-01  0.556E-03  0.142E-04   44   5  13   31  32  33   14  28   9    0.000    0.000       0
+  0   6236 00:59:42.19   0.5550A   3.2459   0.6826  -0.7806  0.048  0.00   0.000      0.  0.890E+00  0.483E-01  0.566E-03  0.155E-04   44   4  20   45  37   4   14  29   9    0.000    0.000       0
+  0   6247 00:59:48.29   0.5590A   3.2177   0.7345  -0.7052  0.047  0.00   0.000      0.  0.891E+00  0.489E-01  0.573E-03  0.150E-04   44   4  29   19  12   9   13  29   9    0.000    0.000       0
+  0   6258 00:59:54.50   0.5640A   3.1891   0.8446  -0.6387  0.047  0.00   0.000      0.  0.891E+00  0.495E-01  0.579E-03  0.145E-04   44   3  37   20  30   9   19  11   5    0.000    0.000       0
+  0   6268 01:00:00.11   0.5570A   3.2304   0.8055  -0.5915  0.047  0.00   0.000      0.  0.891E+00  0.502E-01  0.578E-03  0.159E-04   44   3   5   20  31   9   19   4  37    0.000    0.000       0
+  0   6279 01:00:06.25   0.5620A   3.2045  -0.6677  -0.6982  0.047  0.00   0.000      0.  0.892E+00  0.512E-01  0.588E-03  0.178E-04   44   3  13   34  38  30   15  10   8    0.000    0.000       0
+  0   6290 01:00:12.51   0.5730A   3.1420   0.7452   0.6454  0.047  0.00   0.000      0.  0.892E+00  0.523E-01  0.598E-03  0.172E-04   45   1  26   20  10   6   22  28   7    0.000    0.000       0
+  0   6300 01:00:18.23   0.5690A   3.1636   0.7166   0.7145  0.047  0.00   0.000      0.  0.892E+00  0.535E-01  0.597E-03  0.166E-04   44  39  28   24  29  32   20  28   9    0.000    0.000       0
+  0   6311 01:00:24.47   0.5620A   3.2009   0.6708   0.7929  0.047  0.00   0.000      0.  0.893E+00  0.547E-01  0.600E-03  0.177E-04   44   1   0   24  29  35   20  26   9    0.000    0.000       0
+  0   6321 01:00:30.08   0.5600A   3.2138  -0.8221   0.8070  0.047  0.00   0.000      0.  0.893E+00  0.557E-01  0.605E-03  0.195E-04   44   0   7   36  37  17   21  25   9    0.000    0.000       0
+  0   6332 01:00:36.24   0.5600A   3.2164  -0.8102   0.6739  0.047  0.00   0.000      0.  0.894E+00  0.567E-01  0.606E-03  0.187E-04   44   0  15   36  36  24   21  24   9    0.000    0.000       0
+  0   6343 01:00:42.30   0.5410A   3.3272  -0.7269  -0.7796  0.048  0.00   0.000      0.  0.894E+00  0.575E-01  0.596E-03  0.171E-04   43   0  23   35  36  32   35  37  29    0.000    0.000       0
+  0   6354 01:00:48.20   0.5350A   3.3659  -0.9508  -0.7614  0.049  0.00   0.000      0.  0.895E+00  0.583E-01  0.603E-03  0.173E-04   43   0  31   34  35  37   35  36  35    0.000    0.000       0
+  0   6365 01:00:54.09   0.5320A   3.3865  -1.0834  -0.7943  0.050  0.00   0.000      0.  0.895E+00  0.591E-01  0.612E-03  0.158E-04   43  39  39   34  34   2   34  36   1    0.000    0.000       0
+  0   6377 01:01:00.46   0.5280A   3.4063  -0.9288  -0.8474  0.051  0.00   0.000      0.  0.895E+00  0.597E-01  0.620E-03  0.151E-04   42  39   7   34  32   8   17  20   9    0.000    0.000       0
+  0   6388 01:01:06.26   0.5280A   3.4095   0.8301  -0.8628  0.051  0.00   0.000      0.  0.895E+00  0.600E-01  0.633E-03  0.163E-04   42  39  15   25   0  24   17  22   9    0.000    0.000       0
+  0   6399 01:01:12.21   0.5450A   3.3013   0.9103  -0.8004  0.051  0.00   0.000      0.  0.896E+00  0.603E-01  0.667E-03  0.182E-04   41  39  23   23   2  26   15  22   9    0.000    0.000       0
+  0   6410 01:01:18.18   0.5420A   3.3202   0.8551  -0.8214  0.051  0.00   0.000      0.  0.896E+00  0.605E-01  0.679E-03  0.199E-04   41  39  31   22   2  29   17  26   9    0.000    0.000       0
+  0   6421 01:01:24.20   0.5540A   3.2520   0.9265  -0.7691  0.051  0.00   0.000      0.  0.896E+00  0.608E-01  0.704E-03  0.213E-04   46   0  36   22   3  34   16  24   9    0.000    0.000       0
+  0   6432 01:01:30.32   0.5580A   3.2247   0.8539   0.8854  0.051  0.00   0.000      0.  0.896E+00  0.612E-01  0.710E-03  0.238E-04   46   0   4   22   3  38   20  29   8    0.000    0.000       0
+  0   6443 01:01:36.52   0.5690A   3.1609   0.8647   0.9666  0.050  0.00   0.000      0.  0.896E+00  0.618E-01  0.738E-03  0.294E-04   42  36   5   21   5   1   21  29   8    0.000    0.000       0
+  0   6453 01:01:42.29   0.5820A   3.0912   0.8304   0.9752  0.050  0.00   0.000      0.  0.896E+00  0.625E-01  0.767E-03  0.318E-04   42  36  12   21   8   3   20  28   9    0.000    0.000       0
+  0   6463 01:01:48.17   0.5930A   3.0348  -0.7957   0.9548  0.049  0.00   0.000      0.  0.896E+00  0.634E-01  0.795E-03  0.312E-04   46  31   9   28   0  39   21  26   9    0.000    0.000       0
+  0   6473 01:01:54.14   0.5960A   3.0206  -0.8809   0.8556  0.050  0.00   0.000      0.  0.895E+00  0.641E-01  0.808E-03  0.266E-04   45   4   6   22  13   8   21  14   9    0.000    0.000       0
+  0   6483 01:02:00.06   0.5910A   3.0447  -1.0776  -0.8089  0.051  0.00   0.000      0.  0.895E+00  0.646E-01  0.805E-03  0.247E-04   45   4  14   21  13   8   36  35  27    0.000    0.000       0
+  0   6494 01:02:06.56   0.5960A   3.0210  -1.1048  -0.7435  0.052  0.00   0.000      0.  0.895E+00  0.651E-01  0.819E-03  0.222E-04   38   2  13   20  12   8   36  34  31    0.000    0.000       0
+  0   6504 01:02:12.57   0.6000A   3.0012  -0.8874   0.7668  0.053  0.00   0.000      0.  0.894E+00  0.653E-01  0.840E-03  0.217E-04   46   4  32   20  10   9   39   9  19    0.000    0.000       0
+  0   6514 01:02:18.48   0.5840A   3.0797  -0.8951   0.7253  0.054  0.00   0.000      0.  0.893E+00  0.655E-01  0.829E-03  0.213E-04   45  39  23   19   9   9   39   9  25    0.000    0.000       0
+  0   6524 01:02:24.32   0.5860A   3.0731   0.8838  -0.7298  0.054  0.00   0.000      0.  0.893E+00  0.656E-01  0.834E-03  0.193E-04   46  39  31   26  11   6   18  14   9    0.000    0.000       0
+  0   6534 01:02:30.18   0.5870A   3.0678   0.8956  -0.7596  0.054  0.00   0.000      0.  0.892E+00  0.656E-01  0.846E-03  0.180E-04   46  39  38   26  12  11   29  10   7    0.000    0.000       0
+  0   6544 01:02:36.04   0.5850A   3.0751   0.8544  -0.8558  0.053  0.00   0.000      0.  0.891E+00  0.654E-01  0.852E-03  0.166E-04   46   1   7   26  13  15   26   4  13    0.000    0.000       0
+  0   6555 01:02:42.38   0.5650A   3.1849   0.8565  -0.8280  0.053  0.00   0.000      0.  0.890E+00  0.652E-01  0.830E-03  0.140E-04   46  38  11   26  14  20   25   4  18    0.000    0.000       0
+  0   6566 01:02:48.53   0.5530A   3.2558   0.8340  -0.7904  0.052  0.00   0.000      0.  0.889E+00  0.649E-01  0.823E-03  0.157E-04   46  38  19    9  19   8   24   4  22    0.000    0.000       0
+  0   6576 01:02:54.07   0.5530A   3.2550   0.8497  -0.8480  0.052  0.00   0.000      0.  0.888E+00  0.647E-01  0.827E-03  0.184E-04   46  38  26   26  15  28   32   8  15    0.000    0.000       0
+  0   6587 01:03:00.22   0.5650A   3.1837   0.8703  -1.0264  0.051  0.00   0.000      0.  0.887E+00  0.646E-01  0.840E-03  0.207E-04   46  38  34   26  15  32   17  11   9    0.000    0.000       0
+  0   6598 01:03:06.53   0.5840A   3.0848   0.8316  -1.0437  0.051  0.00   0.000      0.  0.886E+00  0.646E-01  0.850E-03  0.232E-04   46  38   2   25  17  35   16  12   9    0.000    0.000       0
+  0   6608 01:03:12.46   0.5940A   3.0318   0.8722  -1.0003  0.051  0.00   0.000      0.  0.885E+00  0.646E-01  0.847E-03  0.235E-04   45   1   8   18  16   9   15  13   9    0.000    0.000       0
+  0   6618 01:03:18.37   0.5920A   3.0415   0.8301  -0.9376  0.050  0.00   0.000      0.  0.884E+00  0.648E-01  0.830E-03  0.240E-04   45   1  16   17  17   9   14  14   9    0.000    0.000       0
+  0   6628 01:03:24.28   0.5860A   3.0702   0.7814  -0.9382  0.051  0.00   0.000      0.  0.883E+00  0.650E-01  0.807E-03  0.218E-04   43   3   1   42  29   3   15  15   8    0.000    0.000       0
+  0   6638 01:03:30.15   0.5900A   3.0498   0.8219  -0.8894  0.052  0.00   0.000      0.  0.882E+00  0.652E-01  0.807E-03  0.202E-04   43   3   8   42  30   7   17  17   9    0.000    0.000       0
+  0   6648 01:03:36.11   0.5920A   3.0414  -0.9492  -0.8754  0.052  0.00   0.000      0.  0.881E+00  0.654E-01  0.807E-03  0.184E-04   42   3  16   20  11   8   15  18   9    0.000    0.000       0
+  0   6659 01:03:42.54   0.5810A   3.0963  -0.8969  -0.8594  0.053  0.00   0.000      0.  0.879E+00  0.656E-01  0.789E-03  0.175E-04   42   3  24   25   7  19   11  19   9    0.000    0.000       0
+  0   6669 01:03:48.34   0.5770A   3.1185  -0.8847  -0.7973  0.054  0.00   0.000      0.  0.878E+00  0.659E-01  0.781E-03  0.183E-04   42   3  32   25   7  23   10  20   9    0.000    0.000       0
+  0   6679 01:03:54.20   0.5920A   3.0403   0.8206  -0.7800  0.055  0.00   0.000      0.  0.877E+00  0.662E-01  0.800E-03  0.197E-04   43   2  34   27  14   3   22   6  36    0.000    0.000       0
+  0   6689 01:04:00.11   0.5840A   3.0798  -0.8368   0.8048  0.055  0.00   0.000      0.  0.876E+00  0.666E-01  0.788E-03  0.194E-04   40   2  19   24   5  30   20  27   9    0.000    0.000       0
+  0   6700 01:04:06.59   0.5890A   3.0541  -0.7750   0.9143  0.054  0.00   0.000      0.  0.875E+00  0.671E-01  0.803E-03  0.210E-04   44   1   2   24   6  39   20  28   9    0.000    0.000       0
+  0   6710 01:04:12.51   0.5930A   3.0377  -0.8564  -0.8222  0.053  0.00   0.000      0.  0.874E+00  0.676E-01  0.815E-03  0.233E-04   44   1   9   25  11   1   36   5  19    0.000    0.000       0
+  0   6720 01:04:18.50   0.6040A   2.9825  -0.8725  -0.8205  0.052  0.00   0.000      0.  0.873E+00  0.679E-01  0.836E-03  0.254E-04   44   1  16   25  10   5   36   5  25    0.000    0.000       0
+  0   6730 01:04:24.54   0.6050A   2.9756   0.8771   0.9062  0.051  0.00   0.000      0.  0.871E+00  0.680E-01  0.849E-03  0.262E-04   44   2  24   25  17  25   21  12   9    0.000    0.000       0
+  0   6740 01:04:30.58   0.6040A   2.9812   0.8504   0.9886  0.051  0.00   0.000      0.  0.870E+00  0.681E-01  0.858E-03  0.261E-04   44   2  14   25  18  30   20  11   9    0.000    0.000       0
+  0   6749 01:04:36.01   0.6030A   2.9869   0.9246   1.0141  0.050  0.00   0.000      0.  0.869E+00  0.680E-01  0.867E-03  0.236E-04   44   2  20   25  19  35   20  11   9    0.000    0.000       0
+  0   6759 01:04:42.01   0.5990A   3.0034   0.8610   0.9475  0.050  0.00   0.000      0.  0.867E+00  0.679E-01  0.868E-03  0.232E-04   44   2  28   25  21  39   20  11   9    0.000    0.000       0
+  0   6769 01:04:48.00   0.5990A   3.0064   0.9193  -0.7924  0.049  0.00   0.000      0.  0.866E+00  0.677E-01  0.873E-03  0.248E-04   42  10  28   25  22   2   24   9  26    0.000    0.000       0
+  0   6779 01:04:54.00   0.5920A   3.0392  -0.8998  -0.8016  0.048  0.00   0.000      0.  0.864E+00  0.674E-01  0.858E-03  0.263E-04   39  39  36   19   8   9   22   8  29    0.000    0.000       0
+  0   6790 01:05:00.53   0.5920A   3.0406  -0.9404  -0.7701  0.048  0.00   0.000      0.  0.862E+00  0.671E-01  0.852E-03  0.241E-04   43   1   8   20  10   9   21   7  32    0.000    0.000       0
+  0   6800 01:05:06.43   0.5840A   3.0816  -0.9491  -0.8145  0.048  0.00   0.000      0.  0.861E+00  0.669E-01  0.833E-03  0.214E-04   44   8   3   20   9   9   39  37   1    0.000    0.000       0
+  0   6810 01:05:12.26   0.5770A   3.1223   0.7933  -0.8633  0.048  0.00   0.000      0.  0.859E+00  0.666E-01  0.813E-03  0.190E-04   46   6  11   24  13   3   38  37   7    0.000    0.000       0
+  0   6821 01:05:18.53   0.5690A   3.1660   0.7935  -0.7526  0.049  0.00   0.000      0.  0.858E+00  0.665E-01  0.790E-03  0.165E-04   46   6  19   29  18  28   37  37  14    0.000    0.000       0
+  0   6831 01:05:24.26   0.5720A   3.1485   0.8171  -0.7081  0.050  0.00   0.000      0.  0.857E+00  0.664E-01  0.784E-03  0.149E-04   44   4  22   29  18  32   34   5   0    0.000    0.000       0
+  0   6841 01:05:30.04   0.5790A   3.1076   0.8075   0.7335  0.050  0.00   0.000      0.  0.856E+00  0.664E-01  0.786E-03  0.159E-04   43   3  28   29  19  36   28  25  25    0.000    0.000       0
+  0   6852 01:05:36.45   0.5870A   3.0650   0.7860   0.7269  0.050  0.00   0.000      0.  0.855E+00  0.664E-01  0.787E-03  0.160E-04   43   3  36   30  22   1   20  13   9    0.000    0.000       0
+  0   6862 01:05:42.30   0.5780A   3.1127   0.7680  -0.7699  0.050  0.00   0.000      0.  0.854E+00  0.664E-01  0.773E-03  0.158E-04   43   5   3   27  20   4   31   4  16    0.000    0.000       0
+  0   6872 01:05:48.08   0.5750A   3.1298   0.8264   0.8233  0.049  0.00   0.000      0.  0.853E+00  0.665E-01  0.767E-03  0.167E-04   43   5  10   26  21   8   21  14   9    0.000    0.000       0
+  0   6883 01:05:54.44   0.5770A   3.1197   0.8613   0.7376  0.047  0.00   0.000      0.  0.852E+00  0.666E-01  0.767E-03  0.194E-04   46   2  17   26  24  13   34  25   0    0.000    0.000       0
+  0   6893 01:06:00.10   0.5630A   3.1999   0.8940   0.7356  0.046  0.00   0.000      0.  0.851E+00  0.668E-01  0.754E-03  0.205E-04   46   2  24   26  25  17   20  15   9    0.000    0.000       0
+  0   6904 01:06:06.21   0.5510A   3.2655   0.8258   0.7761  0.045  0.00   0.000      0.  0.850E+00  0.671E-01  0.735E-03  0.189E-04   46   2  31   26  26  21   21  15   9    0.000    0.000       0
+  0   6915 01:06:12.31   0.5590A   3.2182   0.7824   0.7780  0.045  0.00   0.000      0.  0.849E+00  0.673E-01  0.737E-03  0.197E-04   45   2  38   30  37  27   33  20  16    0.000    0.000       0
+  0   6926 01:06:18.45   0.5590A   3.2198  -0.9075  -0.9378  0.045  0.00   0.000      0.  0.848E+00  0.674E-01  0.741E-03  0.212E-04   46   2   6   20  26   9   18  29   9    0.000    0.000       0
+  0   6936 01:06:24.09   0.5650A   3.1831   0.8211  -1.0227  0.046  0.00   0.000      0.  0.848E+00  0.675E-01  0.758E-03  0.248E-04   46   2  13   17  30   9   18  28   9    0.000    0.000       0
+  0   6947 01:06:30.40   0.5790A   3.1092  -0.8013  -0.9514  0.047  0.00   0.000      0.  0.847E+00  0.676E-01  0.787E-03  0.291E-04   46   2  21   25  36  22   17  28   9    0.000    0.000       0
+  0   6957 01:06:36.29   0.5940A   3.0308   0.8192  -0.8225  0.048  0.00   0.000      0.  0.846E+00  0.679E-01  0.809E-03  0.308E-04   45   2  28   27   2   3   16  28   9    0.000    0.000       0
+  0   6967 01:06:42.24   0.5970A   3.0165   0.8021  -0.8238  0.050  0.00   0.000      0.  0.845E+00  0.683E-01  0.808E-03  0.284E-04   46   3  36   27   6   6   16  34  33    0.000    0.000       0
+  0   6977 01:06:48.23   0.6000A   2.9982  -0.8675  -0.8730  0.051  0.00   0.000      0.  0.844E+00  0.689E-01  0.815E-03  0.277E-04   44   4   3   29  25   2   17  11   9    0.000    0.000       0
+  0   6987 01:06:54.24   0.6030A   2.9872  -1.0187  -1.0417  0.052  0.00   0.000      0.  0.843E+00  0.695E-01  0.822E-03  0.243E-04   43   2   8   29  25   5   16  11   9    0.000    0.000       0
+  0   6997 01:07:00.30   0.6110A   2.9470  -0.9535  -1.0244  0.052  0.00   0.000      0.  0.842E+00  0.700E-01  0.826E-03  0.208E-04   43   2  15   28  23   7   15  11   9    0.000    0.000       0
+  0   7007 01:07:06.42   0.6180A   2.9124  -1.0855  -0.9890  0.052  0.00   0.000      0.  0.841E+00  0.702E-01  0.818E-03  0.192E-04   43   2  23   29  23  12   14  12   9    0.000    0.000       0
+  0   7017 01:07:12.51   0.6020A   2.9899  -1.0369  -0.8771  0.051  0.00   0.000      0.  0.840E+00  0.702E-01  0.791E-03  0.204E-04   42   2  32   29  21  15   13  12   9    0.000    0.000       0
+  0   7027 01:07:18.48   0.5920A   3.0407  -0.9517  -0.8088  0.050  0.00   0.000      0.  0.839E+00  0.702E-01  0.784E-03  0.228E-04   42   2  39   31  22  21   19  39  11    0.000    0.000       0
+  0   7037 01:07:24.40   0.5890A   3.0540  -0.8638  -0.7437  0.049  0.00   0.000      0.  0.838E+00  0.700E-01  0.780E-03  0.220E-04   42   2   6   31  21  25   15  19   9    0.000    0.000       0
+  0   7047 01:07:30.33   0.5970A   3.0164  -0.8607   0.7881  0.048  0.00   0.000      0.  0.837E+00  0.698E-01  0.789E-03  0.216E-04   42   2  13   31  20  29   31  22  33    0.000    0.000       0
+  0   7057 01:07:36.33   0.5940A   3.0296   0.8994   0.7719  0.049  0.00   0.000      0.  0.836E+00  0.696E-01  0.785E-03  0.211E-04   46   3  31   21  18   8   33  22  35    0.000    0.000       0
+  0   7067 01:07:42.24   0.5900A   3.0496   0.9954  -0.8750  0.049  0.00   0.000      0.  0.836E+00  0.696E-01  0.783E-03  0.243E-04   46   3  38   21  19   8   17  25   9    0.000    0.000       0
+  0   7077 01:07:48.18   0.5950A   3.0238  -1.1226  -0.9565  0.051  0.00   0.000      0.  0.835E+00  0.697E-01  0.801E-03  0.292E-04   45   3   6   20  10   9   16  24   9    0.000    0.000       0
+  0   7087 01:07:54.14   0.5970A   3.0143  -1.0985  -0.9110  0.052  0.00   0.000      0.  0.834E+00  0.699E-01  0.803E-03  0.268E-04   45   3  14   19  10   9   17  14   9    0.000    0.000       0
+  0   7097 01:08:00.15   0.6060A   2.9706   1.0503  -1.1837  0.053  0.00   0.000      0.  0.833E+00  0.701E-01  0.809E-03  0.239E-04   45   3  22   19  19   9   16  17   9    0.000    0.000       0
+  0   7107 01:08:06.20   0.6020A   2.9881   0.8876  -1.2009  0.053  0.00   0.000      0.  0.832E+00  0.702E-01  0.794E-03  0.228E-04   45   3  31   18  20   9   15  14   9    0.000    0.000       0
+  0   7117 01:08:12.23   0.6020A   2.9920   0.8283  -1.0956  0.052  0.00   0.000      0.  0.831E+00  0.704E-01  0.780E-03  0.206E-04   46   2  39   28  16  27   13  17   9    0.000    0.000       0
+  0   7127 01:08:18.23   0.5990A   3.0027   0.7945  -1.0877  0.052  0.00   0.000      0.  0.831E+00  0.705E-01  0.765E-03  0.186E-04   46   2   7   28  18  30   13  18   9    0.000    0.000       0
+  0   7137 01:08:24.22   0.6010A   2.9967   0.8615  -0.9757  0.051  0.00   0.000      0.  0.830E+00  0.706E-01  0.766E-03  0.186E-04   46   2  15   28  19  34   11  18   9    0.000    0.000       0
+  0   7147 01:08:30.32   0.6170A   2.9183   0.8073   0.9640  0.050  0.00   0.000      0.  0.829E+00  0.708E-01  0.788E-03  0.206E-04   46   1  22   28  20  37   20  29   9    0.000    0.000       0
+  0   7157 01:08:36.42   0.6020A   2.9888  -0.9353   1.1652  0.049  0.00   0.000      0.  0.829E+00  0.710E-01  0.776E-03  0.222E-04   46   1  32   20  25   9   20  28   9    0.000    0.000       0
+  0   7167 01:08:42.44   0.6050A   2.9757  -0.9650   0.9755  0.048  0.00   0.000      0.  0.828E+00  0.712E-01  0.789E-03  0.244E-04   46   1   0   20  24   9   20  27   9    0.000    0.000       0
+  0   7177 01:08:48.52   0.6120A   2.9435  -1.0598  -1.0002  0.047  0.00   0.000      0.  0.827E+00  0.716E-01  0.807E-03  0.273E-04   46   0   6   17  26   9   13  28   9    0.000    0.000       0
+  0   7186 01:08:54.01   0.6100A   2.9504  -1.1110  -0.8860  0.046  0.00   0.000      0.  0.827E+00  0.719E-01  0.801E-03  0.271E-04   46   0  14   15  25   9   12  28   9    0.000    0.000       0
+  0   7196 01:09:00.12   0.6120A   2.9393  -1.1202   0.8126  0.046  0.00   0.000      0.  0.826E+00  0.723E-01  0.799E-03  0.250E-04   46   0  22   15  23   9   21  20   9    0.000    0.000       0
+  0   7206 01:09:06.23   0.6110A   2.9441  -0.9979  -0.8818  0.046  0.00   0.000      0.  0.825E+00  0.728E-01  0.792E-03  0.231E-04   46   0  30   15  22   9   20  39  37    0.000    0.000       0
+  0   7216 01:09:12.36   0.6120A   2.9390  -0.9458  -0.7982  0.046  0.00   0.000      0.  0.824E+00  0.734E-01  0.779E-03  0.228E-04   46  36  33   15  24   9   19  39   1    0.000    0.000       0
+  0   7226 01:09:18.49   0.6140A   2.9292  -0.8873   0.9902  0.046  0.00   0.000      0.  0.823E+00  0.742E-01  0.765E-03  0.224E-04   46  36   1   15  30   8   20  29   9    0.000    0.000       0
+  0   7236 01:09:24.58   0.6050A   2.9764  -0.8319  -0.8274  0.046  0.00   0.000      0.  0.823E+00  0.749E-01  0.746E-03  0.245E-04   45  36   8   19  22   9   16  38   9    0.000    0.000       0
+  0   7245 01:09:30.04   0.6040A   2.9788  -0.7855  -0.8924  0.046  0.00   0.000      0.  0.822E+00  0.754E-01  0.743E-03  0.258E-04   44  36  14   15  25   9   15  38  12    0.000    0.000       0
+  0   7255 01:09:36.10   0.6030A   2.9863  -0.8100  -0.8320  0.046  0.00   0.000      0.  0.821E+00  0.758E-01  0.746E-03  0.268E-04   46  38  27   11  22   8   14  38  15    0.000    0.000       0
+  0   7265 01:09:42.07   0.5900A   3.0530  -0.8016  -0.7516  0.046  0.00   0.000      0.  0.820E+00  0.761E-01  0.730E-03  0.251E-04   46  38  34   11  20   8   21   4   4    0.000    0.000       0
+  0   7276 01:09:48.57   0.5960A   3.0200  -0.8067  -0.8182  0.046  0.00   0.000      0.  0.820E+00  0.760E-01  0.735E-03  0.242E-04   46  38   2   23  28  26   23   4   9    0.000    0.000       0
+  0   7286 01:09:54.53   0.6020A   2.9905  -0.7709  -0.8368  0.046  0.00   0.000      0.  0.819E+00  0.758E-01  0.746E-03  0.233E-04   46  39   8   21  30  28   22   4  13    0.000    0.000       0
+  0   7296 01:10:00.53   0.6010A   2.9969  -0.8421  -0.8708  0.046  0.00   0.000      0.  0.819E+00  0.755E-01  0.754E-03  0.210E-04   46  39  15   12  34  27   18   4  17    0.000    0.000       0
+  0   7306 01:10:06.54   0.6030A   2.9848  -0.8077  -0.9072  0.045  0.00   0.000      0.  0.818E+00  0.752E-01  0.763E-03  0.227E-04   46  39  23   11  33  29   17   4  21    0.000    0.000       0
+  0   7315 01:10:12.00   0.6070A   2.9656  -0.8137  -0.9594  0.045  0.00   0.000      0.  0.818E+00  0.750E-01  0.767E-03  0.239E-04   46  39  30   11  32  32   15   4  24    0.000    0.000       0
+  0   7325 01:10:18.07   0.6070A   2.9666  -0.8244  -0.8751  0.045  0.00   0.000      0.  0.818E+00  0.751E-01  0.767E-03  0.221E-04   46  39  38   10  31  33   14   4  27    0.000    0.000       0
+  0   7335 01:10:24.16   0.6110A   2.9461  -0.8864  -0.7749  0.045  0.00   0.000      0.  0.818E+00  0.753E-01  0.779E-03  0.218E-04   43  37   2   11  31  37   14   3  30    0.000    0.000       0
+  0   7345 01:10:30.15   0.5940A   3.0286  -0.8267  -0.7868  0.045  0.00   0.000      0.  0.817E+00  0.757E-01  0.768E-03  0.216E-04   43  37   9   26  26  18   14   5  31    0.000    0.000       0
+  0   7355 01:10:36.08   0.5990A   3.0046  -0.8571   0.8062  0.045  0.00   0.000      0.  0.817E+00  0.761E-01  0.785E-03  0.236E-04   43  37  16   26  26  24   20  29   9    0.000    0.000       0
+  0   7365 01:10:42.14   0.6100A   2.9495  -0.7710   0.8602  0.045  0.00   0.000      0.  0.817E+00  0.765E-01  0.809E-03  0.264E-04   43  37  24   26  25  27   20  28   9    0.000    0.000       0
+  0   7375 01:10:48.25   0.6130A   2.9350  -0.7637   0.7913  0.046  0.00   0.000      0.  0.816E+00  0.768E-01  0.821E-03  0.254E-04   44   3   5   23   9  32   20  27   9    0.000    0.000       0
+  0   7385 01:10:54.33   0.6060A   2.9686  -0.7838   0.8118  0.046  0.00   0.000      0.  0.816E+00  0.769E-01  0.814E-03  0.245E-04   44   3  14   24  10  37   20  25   9    0.000    0.000       0
+  0   7395 01:11:00.41   0.6090A   2.9542   0.8030   0.7595  0.046  0.00   0.000      0.  0.815E+00  0.768E-01  0.817E-03  0.218E-04   43  36   5   24   7  34   20  25   9    0.000    0.000       0
+  0   7404 01:11:06.04   0.6360A   2.8316   0.7930   0.7360  0.046  0.00   0.000      0.  0.815E+00  0.765E-01  0.851E-03  0.195E-04   43  39  14   24   8  37   23   9  25    0.000    0.000       0
+  0   7414 01:11:12.37   0.6240A   2.8827   0.7828   0.7279  0.046  0.00   0.000      0.  0.815E+00  0.761E-01  0.834E-03  0.185E-04   46  38  10   25   9   1   28   9   2    0.000    0.000       0
+  0   7424 01:11:18.56   0.6120A   2.9399  -0.9018  -0.7542  0.046  0.00   0.000      0.  0.815E+00  0.757E-01  0.818E-03  0.202E-04   46  38  17   11  27   9   22   9  14    0.000    0.000       0
+  0   7433 01:11:24.08   0.6130A   2.9372  -0.8800   0.7370  0.047  0.00   0.000      0.  0.814E+00  0.755E-01  0.813E-03  0.205E-04   45  38  23   12  26   9   26  10  37    0.000    0.000       0
+  0   7443 01:11:30.31   0.6280A   2.8677  -0.8514   0.7562  0.047  0.00   0.000      0.  0.814E+00  0.753E-01  0.823E-03  0.214E-04   45  38  30   12  24   9   20  10   9    0.000    0.000       0
+  0   7452 01:11:36.01   0.6340A   2.8407  -0.7824   0.7880  0.047  0.00   0.000      0.  0.814E+00  0.752E-01  0.818E-03  0.217E-04   46  38  37   12  23   9   20  10   9    0.000    0.000       0
+  0   7462 01:11:42.39   0.6400A   2.8117   0.8347   0.7417  0.047  0.00   0.000      0.  0.813E+00  0.754E-01  0.815E-03  0.231E-04   44   2  19   24  10  28   28  10   8    0.000    0.000       0
+  0   7471 01:11:48.17   0.6440A   2.7938   0.7799   0.7578  0.047  0.00   0.000      0.  0.813E+00  0.757E-01  0.817E-03  0.246E-04   44   2  27   22  10  28   29  10  10    0.000    0.000       0
+  0   7481 01:11:54.62   0.6490A   2.7742  -0.7657  -0.8186  0.048  0.00   0.000      0.  0.813E+00  0.762E-01  0.819E-03  0.243E-04   44   2  34   11  31   2   21  27   0    0.000    0.000       0
+  0   7490 01:12:00.42   0.6410A   2.8070  -0.7187  -0.8000  0.048  0.00   0.000      0.  0.812E+00  0.766E-01  0.810E-03  0.236E-04   42  37  24   11  30   4   20  27   2    0.000    0.000       0
+  0   7499 01:12:06.23   0.6420A   2.8038   0.7965  -0.7309  0.048  0.00   0.000      0.  0.812E+00  0.770E-01  0.812E-03  0.220E-04   45   3   6   18  30   9   18  28   9    0.000    0.000       0
+  0   7509 01:12:12.58   0.6310A   2.8524  -0.7843  -0.9237  0.049  0.00   0.000      0.  0.811E+00  0.774E-01  0.795E-03  0.179E-04   45   3  14   20  26   9   17  27   9    0.000    0.000       0
+  0   7518 01:12:18.26   0.6290A   2.8619  -0.7544  -0.8840  0.050  0.00   0.000      0.  0.810E+00  0.777E-01  0.793E-03  0.179E-04   45   3  21   20  25   9   16  27   9    0.000    0.000       0
+  0   7528 01:12:24.54   0.6270A   2.8689   0.7508  -0.8052  0.050  0.00   0.000      0.  0.810E+00  0.781E-01  0.786E-03  0.180E-04   46   3  29   25  13   9   18  33  22    0.000    0.000       0
+  0   7537 01:12:30.19   0.6290A   2.8613   0.7277   0.8004  0.051  0.00   0.000      0.  0.809E+00  0.785E-01  0.788E-03  0.194E-04   46   3  36   16  13   9   19  29   8    0.000    0.000       0
+  0   7547 01:12:36.47   0.6240A   2.8857   0.7764  -0.8488  0.051  0.00   0.000      0.  0.809E+00  0.791E-01  0.780E-03  0.187E-04   43   7  32   15  13   9   18  32  31    0.000    0.000       0
+  0   7556 01:12:42.14   0.6370A   2.8272   0.7710   0.8339  0.051  0.00   0.000      0.  0.808E+00  0.797E-01  0.791E-03  0.196E-04   46   6  10   14  13   9   21  12   9    0.000    0.000       0
+  0   7566 01:12:48.43   0.6260A   2.8760   0.7970  -0.7817  0.050  0.00   0.000      0.  0.808E+00  0.802E-01  0.773E-03  0.213E-04   44   2  25   14  14   9   19  32  39    0.000    0.000       0
+  0   7575 01:12:54.07   0.6250A   2.8805   0.7734  -0.7685  0.050  0.00   0.000      0.  0.807E+00  0.806E-01  0.768E-03  0.225E-04   44   2  32   12  13   9    5   7   5    0.000    0.000       0
+  0   7585 01:13:00.36   0.6350A   2.8361   0.7371   0.7103  0.049  0.00   0.000      0.  0.807E+00  0.811E-01  0.781E-03  0.221E-04   44   2   0   13  14   9   20  12   9    0.000    0.000       0
+  0   7594 01:13:06.10   0.6350A   2.8349  -0.9107  -0.7000  0.049  0.00   0.000      0.  0.806E+00  0.814E-01  0.785E-03  0.215E-04   46   5  39   20  27   8   16  27   9    0.000    0.000       0
+  0   7604 01:13:12.42   0.6280A   2.8670  -1.0016  -0.9554  0.049  0.00   0.000      0.  0.805E+00  0.817E-01  0.788E-03  0.230E-04   45   5   6   19  27   9   17  28   9    0.000    0.000       0
+  0   7613 01:13:18.07   0.6210A   2.8999   0.9012  -0.9283  0.050  0.00   0.000      0.  0.805E+00  0.819E-01  0.785E-03  0.207E-04   44   3   9   20  30   9   17  27   9    0.000    0.000       0
+  0   7623 01:13:24.27   0.6120A   2.9417   0.7486  -0.7985  0.051  0.00   0.000      0.  0.804E+00  0.823E-01  0.776E-03  0.177E-04   44   1  31   19  30   9   15   2   0    0.000    0.000       0
+  0   7633 01:13:30.27   0.5930A   3.0343   0.7184  -0.7304  0.051  0.00   0.000      0.  0.803E+00  0.829E-01  0.750E-03  0.155E-04   44   1  38   29  11   6   14   2   3    0.000    0.000       0
+  0   7643 01:13:36.23   0.6060A   2.9708  -0.6914  -0.6905  0.052  0.00   0.000      0.  0.802E+00  0.834E-01  0.760E-03  0.157E-04   44   1   6   38  19  12   16  24   9    0.000    0.000       0
+  0   7653 01:13:42.33   0.6110A   2.9471   0.6831  -0.6783  0.053  0.00   0.000      0.  0.801E+00  0.838E-01  0.766E-03  0.167E-04   44   0  12   27   9  14   18  36   2    0.000    0.000       0
+  0   7663 01:13:48.50   0.6240A   2.8868   0.7640  -0.7561  0.053  0.00   0.000      0.  0.800E+00  0.841E-01  0.792E-03  0.191E-04   44   0  20   27  10  17   17  37   6    0.000    0.000       0
+  0   7672 01:13:54.16   0.6370A   2.8267   0.7580  -0.7949  0.053  0.00   0.000      0.  0.800E+00  0.842E-01  0.824E-03  0.216E-04   45  36  24   15  14   9   16  37   9    0.000    0.000       0
+  0   7682 01:14:00.52   0.6280A   2.8672   0.7257  -0.7256  0.052  0.00   0.000      0.  0.799E+00  0.844E-01  0.823E-03  0.234E-04   46   3  24   16   0   5   36  19  31    0.000    0.000       0
+  0   7691 01:14:06.08   0.6190A   2.9099   0.7219  -0.7300  0.052  0.00   0.000      0.  0.798E+00  0.845E-01  0.813E-03  0.221E-04   46   3  30   16   1   7   35  19  37    0.000    0.000       0
+  0   7701 01:14:12.32   0.6350A   2.8360  -0.6781  -0.7537  0.052  0.00   0.000      0.  0.798E+00  0.848E-01  0.829E-03  0.195E-04   46   2  38   25   8   9   35  18   0    0.000    0.000       0
+  0   7710 01:14:18.00   0.6310A   2.8514   0.6953  -0.7506  0.052  0.00   0.000      0.  0.797E+00  0.850E-01  0.819E-03  0.159E-04   46   2   4   15   0  17   14  39  23    0.000    0.000       0
+  0   7720 01:14:24.30   0.6340A   2.8375  -0.6962   0.7450  0.052  0.00   0.000      0.  0.796E+00  0.852E-01  0.819E-03  0.158E-04   46   2  12   19  32   2   28   4   8    0.000    0.000       0
+  0   7729 01:14:30.02   0.6370A   2.8259  -0.7459  -0.7555  0.053  0.00   0.000      0.  0.795E+00  0.853E-01  0.826E-03  0.179E-04   45  35  27   19  31   4   13  39  33    0.000    0.000       0
+  0   7739 01:14:36.36   0.6260A   2.8762  -0.8260  -0.7323  0.053  0.00   0.000      0.  0.795E+00  0.853E-01  0.813E-03  0.214E-04   44  32  36   24  30  14   12  39  37    0.000    0.000       0
+  0   7749 01:14:42.57   0.6230A   2.8898  -0.7583   0.7387  0.052  0.00   0.000      0.  0.794E+00  0.852E-01  0.808E-03  0.244E-04   44  32   3   24  29  17   21  27   9    0.000    0.000       0
+  0   7758 01:14:48.26   0.6310A   2.8507  -0.7557   0.7205  0.052  0.00   0.000      0.  0.793E+00  0.850E-01  0.814E-03  0.251E-04   46  34  12   20  28   9   21  30  13    0.000    0.000       0
+  0   7768 01:14:54.54   0.6240A   2.8838   0.7510   0.8372  0.053  0.00   0.000      0.  0.793E+00  0.846E-01  0.803E-03  0.244E-04   46  34  20    9  15   9   21  11   9    0.000    0.000       0
+  0   7777 01:15:00.14   0.6210A   2.8983  -0.7671   0.8604  0.053  0.00   0.000      0.  0.792E+00  0.842E-01  0.800E-03  0.221E-04   46  34  27   25  24  31   17  10   8    0.000    0.000       0
+  0   7787 01:15:06.36   0.6200A   2.9010   0.9140   0.7998  0.053  0.00   0.000      0.  0.791E+00  0.837E-01  0.791E-03  0.194E-04   46  34  35   21  29   8   21  12   9    0.000    0.000       0
+  0   7797 01:15:12.58   0.6240A   2.8826  -0.8019   0.8377  0.054  0.00   0.000      0.  0.791E+00  0.832E-01  0.794E-03  0.187E-04   46  34   3   40  24  12   20  10   9    0.000    0.000       0
+  0   7806 01:15:18.21   0.6240A   2.8842   0.8336   0.7585  0.054  0.00   0.000      0.  0.790E+00  0.827E-01  0.796E-03  0.184E-04   46  33   9   12  13   9   20  10   9    0.000    0.000       0
+  0   7816 01:15:24.43   0.6220A   2.8954   0.8271  -0.7547  0.054  0.00   0.000      0.  0.789E+00  0.822E-01  0.787E-03  0.180E-04   46  33  17   12  14   9   18  24   9    0.000    0.000       0
+  0   7825 01:15:30.03   0.6260A   2.8759  -0.8155  -0.7180  0.054  0.00   0.000      0.  0.789E+00  0.818E-01  0.780E-03  0.179E-04   46  33  23    9  34  24   17  24   9    0.000    0.000       0
+  0   7835 01:15:36.36   0.6380A   2.8229  -0.8086   0.6258  0.054  0.00   0.000      0.  0.788E+00  0.813E-01  0.779E-03  0.195E-04   45  35  28    9  33  26   20  29   9    0.000    0.000       0
+  0   7844 01:15:42.04   0.6260A   2.8771  -0.7753   0.7012  0.053  0.00   0.000      0.  0.787E+00  0.811E-01  0.750E-03  0.198E-04   46  33   1    9  33  29   20  29   9    0.000    0.000       0
+  0   7854 01:15:48.25   0.6180A   2.9114  -0.7934   0.7891  0.053  0.00   0.000      0.  0.787E+00  0.809E-01  0.727E-03  0.182E-04   46  33   9   29  26  21   20  28   9    0.000    0.000       0
+  0   7864 01:15:54.41   0.6180A   2.9108  -0.8042   0.7895  0.053  0.00   0.000      0.  0.786E+00  0.809E-01  0.719E-03  0.175E-04   45  33  16   28  26  25   20  27   9    0.000    0.000       0
+  0   7873 01:16:00.04   0.6300A   2.8559  -0.7929   0.9421  0.052  0.00   0.000      0.  0.786E+00  0.809E-01  0.729E-03  0.188E-04   45  33  23   28  25  28   20  29   9    0.000    0.000       0
+  0   7883 01:16:06.33   0.6250A   2.8783  -0.8168   0.8935  0.052  0.00   0.000      0.  0.785E+00  0.811E-01  0.722E-03  0.195E-04   46  33  33   28  25  33   20  27   9    0.000    0.000       0
+  0   7893 01:16:12.57   0.6240A   2.8847  -0.8409   0.8503  0.052  0.00   0.000      0.  0.785E+00  0.814E-01  0.725E-03  0.218E-04   46  33   1   15  26   9   20  10   9    0.000    0.000       0
+  0   7902 01:16:18.22   0.6330A   2.8445  -0.9546   0.8373  0.051  0.00   0.000      0.  0.784E+00  0.818E-01  0.736E-03  0.236E-04   46  33   8   11  27   9   20  10   9    0.000    0.000       0
+  0   7912 01:16:24.50   0.6240A   2.8867  -1.0637   0.6730  0.051  0.00   0.000      0.  0.783E+00  0.821E-01  0.716E-03  0.216E-04   42  34  24   13  26   9   15  28   9    0.000    0.000       0
+  0   7921 01:16:30.11   0.6230A   2.8913  -1.0620  -0.6915  0.051  0.00   0.000      0.  0.783E+00  0.823E-01  0.708E-03  0.213E-04   46  34  18   14  25   9   18  28   6    0.000    0.000       0
+  0   7931 01:16:36.33   0.6210A   2.8994  -0.9654   0.7192  0.052  0.00   0.000      0.  0.782E+00  0.825E-01  0.699E-03  0.213E-04   44  33  28   15  24   9   21  31  39    0.000    0.000       0
+  0   7941 01:16:42.52   0.6170A   2.9152  -0.8990   0.6779  0.052  0.00   0.000      0.  0.781E+00  0.827E-01  0.691E-03  0.203E-04   45  33   2   11  22   9   22  30   1    0.000    0.000       0
+  0   7950 01:16:48.03   0.6060A   2.9689  -0.8173  -0.6240  0.053  0.00   0.000      0.  0.781E+00  0.828E-01  0.679E-03  0.210E-04   45  33   9   12  22   9   18  27   8    0.000    0.000       0
+  0   7960 01:16:54.06   0.6020A   2.9898   0.7565  -0.7676  0.054  0.00   0.000      0.  0.780E+00  0.829E-01  0.675E-03  0.225E-04   46  33  17   19  30   9   18  25   9    0.000    0.000       0
+  0   7970 01:17:00.06   0.5990A   3.0073   0.9428  -0.7917  0.055  0.00   0.000      0.  0.780E+00  0.832E-01  0.674E-03  0.236E-04   45  33  24   19  30   9   17  26   9    0.000    0.000       0
+  0   7980 01:17:06.05   0.5980A   3.0089   0.9816  -0.7511  0.056  0.00   0.000      0.  0.779E+00  0.836E-01  0.670E-03  0.215E-04   46  33  32   19  30   9    2  10   8    0.000    0.000       0
+  0   7990 01:17:12.04   0.6000A   2.9988   0.9334   0.7682  0.057  0.00   0.000      0.  0.779E+00  0.840E-01  0.669E-03  0.190E-04   46  33   0   19  30   9   20  30   4    0.000    0.000       0
+  0   8000 01:17:18.08   0.6080A   2.9595   0.8368   0.6920  0.058  0.00   0.000      0.  0.778E+00  0.844E-01  0.674E-03  0.188E-04   46  33   8   10  14   9   21  29   6    0.000    0.000       0
+  0   8010 01:17:24.19   0.6140A   2.9298   0.8013   0.7325  0.058  0.00   0.000      0.  0.777E+00  0.848E-01  0.676E-03  0.201E-04   46  33  16   10  15   9   21  29   9    0.000    0.000       0
+  0   8020 01:17:30.36   0.6170A   2.9175   0.7709  -0.6611  0.058  0.00   0.000      0.  0.777E+00  0.852E-01  0.673E-03  0.190E-04   46  32  20   10  13   9   17  19   9    0.000    0.000       0
+  0   8030 01:17:36.48   0.6080A   2.9609   0.7396  -0.7348  0.059  0.00   0.000      0.  0.776E+00  0.854E-01  0.655E-03  0.174E-04   44  35  37   11  14   9   16  19   9    0.000    0.000       0
+  0   8040 01:17:42.53   0.6050A   2.9755   0.7425  -0.7298  0.059  0.00   0.000      0.  0.776E+00  0.855E-01  0.645E-03  0.160E-04   44  35   5   18   0  29   15  19   9    0.000    0.000       0
+  0   8050 01:17:48.60   0.6050A   2.9734   0.7283  -0.7271  0.059  0.00   0.000      0.  0.775E+00  0.856E-01  0.640E-03  0.158E-04   44  35  12   19   0  32   15  18   9    0.000    0.000       0
+  0   8059 01:17:54.07   0.6110A   2.9482   0.7420  -0.7199  0.060  0.00   0.000      0.  0.775E+00  0.856E-01  0.644E-03  0.167E-04   44  35  19   19   2  34   15  18   9    0.000    0.000       0
+  0   8069 01:18:00.18   0.6080A   2.9599   0.7749  -0.6919  0.060  0.00   0.000      0.  0.775E+00  0.857E-01  0.636E-03  0.164E-04   43  33  22   19   3  37   16  18   9    0.000    0.000       0
+  0   8079 01:18:06.24   0.6060A   2.9718   0.7004  -0.6744  0.061  0.00   0.000      0.  0.775E+00  0.858E-01  0.631E-03  0.144E-04   43  33  29   30  15  29   15  18   9    0.000    0.000       0
+  0   8089 01:18:12.34   0.6070A   2.9637  -0.6883  -0.6343  0.062  0.00   0.000      0.  0.774E+00  0.860E-01  0.633E-03  0.139E-04   44  32  33   20  21   8   13  18   8    0.000    0.000       0
+  0   8099 01:18:18.46   0.6130A   2.9372   0.6830   0.6221  0.062  0.00   0.000      0.  0.774E+00  0.863E-01  0.640E-03  0.133E-04   43  34   4   19   1  10   19  29   6    0.000    0.000       0
+  0   8109 01:18:24.59   0.6130A   2.9377   0.6737   0.8001  0.062  0.00   0.000      0.  0.774E+00  0.867E-01  0.640E-03  0.124E-04   43  34  11   19   2  13   19  29   8    0.000    0.000       0
+  0   8118 01:18:30.14   0.6160A   2.9213   0.6101   0.8619  0.061  0.00   0.000      0.  0.774E+00  0.871E-01  0.647E-03  0.147E-04   45  33   5   19   3  16   21  29   9    0.000    0.000       0
+  0   8128 01:18:36.28   0.6110A   2.9453  -0.6829   0.8975  0.061  0.00   0.000      0.  0.774E+00  0.876E-01  0.643E-03  0.156E-04   44  32  12   15  28   9   21  28   9    0.000    0.000       0
+  0   8138 01:18:42.40   0.6100A   2.9499  -0.7806   0.8013  0.061  0.00   0.000      0.  0.774E+00  0.880E-01  0.640E-03  0.141E-04   46  33  21   15  27   9   21  27   9    0.000    0.000       0
+  0   8148 01:18:48.50   0.6090A   2.9564  -0.7690  -0.7653  0.061  0.00   0.000      0.  0.775E+00  0.883E-01  0.640E-03  0.146E-04   46  34  30   15  26   9   18   2  24    0.000    0.000       0
+  0   8157 01:18:54.01   0.6140A   2.9303  -0.7918  -0.8504  0.061  0.00   0.000      0.  0.775E+00  0.885E-01  0.646E-03  0.168E-04   46  34  36   11  27   9   17   2  28    0.000    0.000       0
+  0   8167 01:19:00.06   0.6000A   3.0001  -0.8090  -0.7690  0.061  0.00   0.000      0.  0.775E+00  0.888E-01  0.640E-03  0.183E-04   46  37  38   11  26   9   18   3  30    0.000    0.000       0
+  0   8177 01:19:06.05   0.5980A   3.0125   0.9795  -0.7668  0.062  0.00   0.000      0.  0.775E+00  0.889E-01  0.645E-03  0.180E-04   46  37   5   20  30   9   17   3  34    0.000    0.000       0
+  0   8187 01:19:12.08   0.6060A   2.9693   0.8876  -0.8459  0.062  0.00   0.000      0.  0.775E+00  0.888E-01  0.663E-03  0.175E-04   46  37  12   18  31   9   17  27   9    0.000    0.000       0
+  0   8197 01:19:18.21   0.6160A   2.9206  -0.7451  -0.9129  0.063  0.00   0.000      0.  0.775E+00  0.885E-01  0.675E-03  0.172E-04   46  37  19   23  27  15   16  25   9    0.000    0.000       0
+  0   8207 01:19:24.45   0.6280A   2.8641   0.7448  -0.9223  0.063  0.00   0.000      0.  0.775E+00  0.881E-01  0.689E-03  0.183E-04   44  37  26    8  13   9   15  23   9    0.000    0.000       0
+  0   8216 01:19:30.11   0.6320A   2.8479   0.7723  -0.8764  0.064  0.00   0.000      0.  0.775E+00  0.878E-01  0.701E-03  0.191E-04   45  34  32    7  13   9   14  22   9    0.000    0.000       0
+  0   8226 01:19:36.43   0.6330A   2.8451   0.7820  -0.8495  0.064  0.00   0.000      0.  0.775E+00  0.875E-01  0.717E-03  0.204E-04   42  38  38    7  14   9   13  20   9    0.000    0.000       0
+  0   8235 01:19:42.10   0.6310A   2.8516   0.7477  -0.8057  0.064  0.00   0.000      0.  0.775E+00  0.873E-01  0.717E-03  0.186E-04   42  37   6    5  14   9   12  20   9    0.000    0.000       0
+  0   8245 01:19:48.41   0.6320A   2.8466   0.7342  -0.7354  0.064  0.00   0.000      0.  0.775E+00  0.874E-01  0.723E-03  0.196E-04   45  35  12   20  38  11   11  19   9    0.000    0.000       0
+  0   8254 01:19:54.10   0.6320A   2.8483   0.7134  -0.7103  0.064  0.00   0.000      0.  0.775E+00  0.876E-01  0.731E-03  0.202E-04   46  35  19    3  13   9   23   1  38    0.000    0.000       0
+  0   8264 01:20:00.41   0.6300A   2.8569   0.7239  -0.7404  0.064  0.00   0.000      0.  0.776E+00  0.880E-01  0.738E-03  0.202E-04   45  34  34    3  14   9   23   2   3    0.000    0.000       0
+  0   8273 01:20:06.07   0.6270A   2.8714  -0.7788   0.8436  0.064  0.00   0.000      0.  0.776E+00  0.883E-01  0.743E-03  0.222E-04   46  34   1   16  25   9   20  28   9    0.000    0.000       0
+  0   8283 01:20:12.33   0.6250A   2.8801  -0.7827   0.9059  0.063  0.00   0.000      0.  0.776E+00  0.885E-01  0.746E-03  0.236E-04   46  33   8   15  24   9   20  28   9    0.000    0.000       0
+  0   8293 01:20:18.57   0.6220A   2.8962  -0.8720   0.8217  0.063  0.00   0.000      0.  0.776E+00  0.886E-01  0.752E-03  0.262E-04   43  35  24   19  23   9   20  28   9    0.000    0.000       0
+  0   8302 01:20:24.17   0.6220A   2.8933  -0.9294   0.8753  0.063  0.00   0.000      0.  0.776E+00  0.887E-01  0.750E-03  0.246E-04   42  34  26   19  26   9   20  28   9    0.000    0.000       0
+  0   8312 01:20:30.36   0.6170A   2.9188  -0.8507   0.7739  0.063  0.00   0.000      0.  0.775E+00  0.887E-01  0.738E-03  0.217E-04   42  34  34   19  24   9   28  10  27    0.000    0.000       0
+  0   8322 01:20:36.47   0.6100A   2.9509  -0.7811   0.7740  0.063  0.00   0.000      0.  0.775E+00  0.888E-01  0.732E-03  0.216E-04   42  34   2   16  21   9   28  11  30    0.000    0.000       0
+  0   8332 01:20:42.59   0.6180A   2.9112   0.7652   0.7469  0.063  0.00   0.000      0.  0.775E+00  0.891E-01  0.747E-03  0.215E-04   44  34   6   20  29   8   29  11  33    0.000    0.000       0
+  0   8341 01:20:48.11   0.6100A   2.9491   1.0617   0.7092  0.064  0.00   0.000      0.  0.774E+00  0.894E-01  0.741E-03  0.190E-04   44  36  17   20  30   9   30  11  35    0.000    0.000       0
+  0   8351 01:20:54.21   0.6070A   2.9640   0.8462  -0.7114  0.066  0.00   0.000      0.  0.773E+00  0.897E-01  0.740E-03  0.182E-04   45  34  28   20  30   9   17  19   9    0.000    0.000       0
+  0   8361 01:21:00.24   0.6010A   2.9973  -0.8076  -0.7888  0.068  0.00   0.000      0.  0.773E+00  0.898E-01  0.737E-03  0.190E-04   45  34  36    6  26   9   17  18   9    0.000    0.000       0
+  0   8371 01:21:06.25   0.6010A   2.9967  -0.7729  -0.8162  0.069  0.00   0.000      0.  0.772E+00  0.899E-01  0.745E-03  0.205E-04   46  34   4   20  29   8   15  18   9    0.000    0.000       0
+  0   8381 01:21:12.23   0.5910A   3.0455  -0.9257  -0.8465  0.070  0.00   0.000      0.  0.771E+00  0.899E-01  0.741E-03  0.199E-04   46  33  11   20  27   8   12  29   8    0.000    0.000       0
+  0   8391 01:21:18.06   0.5820A   3.0920  -0.8737  -1.0905  0.070  0.00   0.000      0.  0.770E+00  0.896E-01  0.734E-03  0.189E-04   46  33  18   20  28   9   13  28   9    0.000    0.000       0
+  0   8402 01:21:24.54   0.5960A   3.0201  -1.1170  -0.9117  0.070  0.00   0.000      0.  0.769E+00  0.892E-01  0.749E-03  0.190E-04   46  33  26   14  27   9   13  24   9    0.000    0.000       0
+  0   8412 01:21:30.51   0.5940A   3.0284  -1.0115  -0.8509  0.071  0.00   0.000      0.  0.768E+00  0.887E-01  0.739E-03  0.183E-04   43  32  30   14  25   9   12  23   9    0.000    0.000       0
+  0   8422 01:21:36.30   0.5700A   3.1593  -0.9310  -0.8194  0.071  0.00   0.000      0.  0.767E+00  0.883E-01  0.702E-03  0.172E-04   43  32  36   12  24   9   11  22   8    0.000    0.000       0
+  0   8433 01:21:42.56   0.5760A   3.1248   0.9408  -0.6997  0.071  0.00   0.000      0.  0.766E+00  0.880E-01  0.705E-03  0.184E-04   43  32   4   19  14   9   34  17  16    0.000    0.000       0
+  0   8443 01:21:48.46   0.6120A   2.9422   0.9554   0.8680  0.072  0.00   0.000      0.  0.765E+00  0.878E-01  0.746E-03  0.211E-04   43  32  11   19  15   9   20  11   9    0.000    0.000       0
+  0   8452 01:21:54.03   0.6170A   2.9182   0.9480   0.7633  0.072  0.00   0.000      0.  0.764E+00  0.878E-01  0.753E-03  0.216E-04   46  29  30   18  15   9   20  11   9    0.000    0.000       0
+  0   8462 01:22:00.11   0.6060A   2.9713   0.8216  -0.6913  0.071  0.00   0.000      0.  0.763E+00  0.878E-01  0.736E-03  0.221E-04   46  29  37   18  16   9   28  34  36    0.000    0.000       0
+  0   8472 01:22:06.15   0.6070A   2.9675   0.8025  -0.6955  0.071  0.00   0.000      0.  0.762E+00  0.877E-01  0.722E-03  0.210E-04   46  29   4   15  14   9   28  34   1    0.000    0.000       0
+  0   8482 01:22:12.26   0.6150A   2.9284   0.7624  -0.7041  0.070  0.00   0.000      0.  0.761E+00  0.876E-01  0.725E-03  0.212E-04   46  28  12   15  15   9   24  31   9    0.000    0.000       0
+  0   8492 01:22:18.34   0.6100A   2.9531  -0.7121  -0.7291  0.069  0.00   0.000      0.  0.760E+00  0.873E-01  0.715E-03  0.211E-04   46  28  18   41  12   4   23  31  13    0.000    0.000       0
+  0   8502 01:22:24.49   0.6200A   2.9018  -0.6988  -0.7419  0.068  0.00   0.000      0.  0.759E+00  0.869E-01  0.717E-03  0.195E-04   46  28  26    4  26   9   22  31  17    0.000    0.000       0
+  0   8511 01:22:30.04   0.6140A   2.9317   0.7273  -0.7869  0.068  0.00   0.000      0.  0.758E+00  0.865E-01  0.700E-03  0.167E-04   46  27  33   20  29   8   21  31  21    0.000    0.000       0
+  0   8521 01:22:36.14   0.6100A   2.9521   0.7589  -0.6936  0.068  0.00   0.000      0.  0.757E+00  0.862E-01  0.687E-03  0.156E-04   46  29  37   20  28   9   20  31  25    0.000    0.000       0
+  0   8531 01:22:42.16   0.6010A   2.9956   0.7761  -0.8028  0.069  0.00   0.000      0.  0.756E+00  0.860E-01  0.673E-03  0.160E-04   46  29   4   20  31   9   20  31  30    0.000    0.000       0
+  0   8541 01:22:48.19   0.6040A   2.9789  -0.7803  -0.7700  0.069  0.00   0.000      0.  0.755E+00  0.860E-01  0.675E-03  0.171E-04   46  28  11    2  26   9   19  31  33    0.000    0.000       0
+  0   8551 01:22:54.24   0.6070A   2.9640  -0.7672  -0.7980  0.070  0.00   0.000      0.  0.754E+00  0.861E-01  0.683E-03  0.211E-04   46  28  18    2  24   9   17  22   9    0.000    0.000       0
+  0   8561 01:23:00.34   0.6060A   2.9694  -0.7684  -0.7528  0.070  0.00   0.000      0.  0.753E+00  0.865E-01  0.688E-03  0.242E-04   43  23  29    6  26   9   33  27  37    0.000    0.000       0
+  0   8571 01:23:06.31   0.6000A   2.9976  -0.8178   0.8832  0.070  0.00   0.000      0.  0.752E+00  0.869E-01  0.679E-03  0.230E-04   43  23  35    7  26   9   20  28   9    0.000    0.000       0
+  0   8581 01:23:12.33   0.6050A   2.9740  -0.9946   1.0725  0.069  0.00   0.000      0.  0.751E+00  0.871E-01  0.688E-03  0.253E-04   43  22   2   20  28   9   20  27   9    0.000    0.000       0
+  0   8591 01:23:18.27   0.5890A   3.0546  -1.0311   1.0032  0.068  0.00   0.000      0.  0.750E+00  0.873E-01  0.673E-03  0.253E-04   43  22   9   19  27   9   20  27   9    0.000    0.000       0
+  0   8601 01:23:24.36   0.6190A   2.9089  -1.1143   0.8960  0.067  0.00   0.000      0.  0.749E+00  0.874E-01  0.702E-03  0.236E-04   45  26  15   18  26   9   20  26   9    0.000    0.000       0
+  0   8611 01:23:30.52   0.6140A   2.9297  -1.0909   0.7745  0.066  0.00   0.000      0.  0.749E+00  0.875E-01  0.700E-03  0.223E-04   46  26  22   19  24   9   20  25   9    0.000    0.000       0
+  0   8620 01:23:36.06   0.6170A   2.9192  -1.0557   0.7244  0.065  0.00   0.000      0.  0.748E+00  0.875E-01  0.705E-03  0.225E-04   46  26  29   19  23   9   20  10   9    0.000    0.000       0
+  0   8630 01:23:42.26   0.6210A   2.9006  -0.9759   0.7112  0.065  0.00   0.000      0.  0.747E+00  0.876E-01  0.708E-03  0.216E-04   44  31  21   16  24   8   21  16   9    0.000    0.000       0
+  0   8640 01:23:48.52   0.6290A   2.8634  -0.9650   0.7502  0.064  0.00   0.000      0.  0.746E+00  0.878E-01  0.718E-03  0.210E-04   44  31  28   16  22   8   21  16   9    0.000    0.000       0
+  0   8649 01:23:54.19   0.6290A   2.8632  -0.9889   0.7243  0.064  0.00   0.000      0.  0.746E+00  0.879E-01  0.728E-03  0.221E-04   46  25  12   16  21   8   21  16   9    0.000    0.000       0
+  0   8659 01:24:00.45   0.6140A   2.9299  -0.8893   0.6715  0.064  0.00   0.000      0.  0.745E+00  0.880E-01  0.720E-03  0.217E-04   44  23  19   16  20   8   21  16   9    0.000    0.000       0
+  0   8669 01:24:06.54   0.6090A   2.9552  -0.7426   0.6467  0.064  0.00   0.000      0.  0.745E+00  0.879E-01  0.712E-03  0.202E-04   44  23  25    7  25   9   11   5   4    0.000    0.000       0
+  0   8678 01:24:12.04   0.6130A   2.9349  -0.7584  -0.6546  0.064  0.00   0.000      0.  0.744E+00  0.876E-01  0.720E-03  0.201E-04   43  23  30    5  26   9   37  16   1    0.000    0.000       0
+  0   8688 01:24:18.17   0.6130A   2.9357   0.7650  -0.6624  0.064  0.00   0.000      0.  0.744E+00  0.874E-01  0.730E-03  0.231E-04   43  23  37   42  16  15   40  34   3    0.000    0.000       0
+  0   8698 01:24:24.41   0.6340A   2.8385  -0.8743  -0.7769  0.064  0.00   0.000      0.  0.743E+00  0.872E-01  0.764E-03  0.271E-04   43  23   4   21  12   8   18  20   9    0.000    0.000       0
+  0   8707 01:24:30.28   0.6620A   2.7206  -0.8057  -0.9599  0.065  0.00   0.000      0.  0.742E+00  0.871E-01  0.795E-03  0.295E-04   43  24  11   21  11   8   17  19   9    0.000    0.000       0
+  0   8716 01:24:36.23   0.6600A   2.7272   0.7451  -0.9719  0.066  0.00   0.000      0.  0.742E+00  0.869E-01  0.782E-03  0.286E-04   42  31   2   41  18  29   16  19   9    0.000    0.000       0
+  0   8725 01:24:42.24   0.6690A   2.6921   0.8343  -0.9038  0.067  0.00   0.000      0.  0.741E+00  0.868E-01  0.780E-03  0.269E-04   45  31  39   40  19  34   15  19   9    0.000    0.000       0
+  0   8734 01:24:48.17   0.6480A   2.7781  -0.7721  -0.8206  0.068  0.00   0.000      0.  0.741E+00  0.867E-01  0.741E-03  0.218E-04   43  20  33   26  10  28   14  20   9    0.000    0.000       0
+  0   8743 01:24:54.01   0.6540A   2.7523  -0.7574  -0.7792  0.068  0.00   0.000      0.  0.740E+00  0.865E-01  0.736E-03  0.208E-04   43  20  39   27  10  30   15  22   9    0.000    0.000       0
+  0   8753 01:25:00.58   0.6510A   2.7635   0.7879  -0.8917  0.068  0.00   0.000      0.  0.739E+00  0.860E-01  0.726E-03  0.200E-04   45  18  38   19  13   9   17  25   9    0.000    0.000       0
+  0   8762 01:25:06.39   0.6430A   2.7976   0.7905   0.8407  0.067  0.00   0.000      0.  0.739E+00  0.853E-01  0.722E-03  0.200E-04   46  18   5   19  13   9   20  11   9    0.000    0.000       0
+  0   8771 01:25:12.13   0.6290A   2.8604   0.9036   0.9012  0.066  0.00   0.000      0.  0.738E+00  0.844E-01  0.721E-03  0.203E-04   46  18  12   19  14   9   20  11   9    0.000    0.000       0
+  0   8781 01:25:18.48   0.6440A   2.7963   0.9647   0.7959  0.064  0.00   0.000      0.  0.738E+00  0.832E-01  0.746E-03  0.211E-04   46  18  19   19  13   9   21  13   9    0.000    0.000       0
+  0   8790 01:25:24.34   0.6550A   2.7462   0.9899   0.6987  0.062  0.00   0.000      0.  0.737E+00  0.820E-01  0.761E-03  0.227E-04   46  18  30   18  14   9   20  10   9    0.000    0.000       0
+  0   8799 01:25:30.15   0.6370A   2.8236   0.9428  -0.6945  0.061  0.00   0.000      0.  0.737E+00  0.808E-01  0.741E-03  0.250E-04   41  27  30   19  15   9   40  16  36    0.000    0.000       0
+  0   8809 01:25:36.59   0.6520A   2.7628   0.8376  -0.6488  0.060  0.00   0.000      0.  0.736E+00  0.797E-01  0.759E-03  0.297E-04   43  18   0   19  16   9   40  16   2    0.000    0.000       0
+  0   8818 01:25:42.49   0.6590A   2.7304   0.8486  -0.6881  0.059  0.00   0.000      0.  0.736E+00  0.789E-01  0.764E-03  0.306E-04   46  15   4   19  30   9   38  20  10    0.000    0.000       0
+  0   8827 01:25:48.42   0.6550A   2.7466   0.8264  -0.7195  0.058  0.00   0.000      0.  0.735E+00  0.782E-01  0.751E-03  0.307E-04   46  15  10   19  30   9   39  16  13    0.000    0.000       0
+  0   8836 01:25:54.31   0.6520A   2.7615   0.7448  -0.7493  0.058  0.00   0.000      0.  0.735E+00  0.777E-01  0.742E-03  0.290E-04   45  31   3   18  30   9   17  28   9    0.000    0.000       0
+  0   8845 01:26:00.16   0.6480A   2.7790   0.6964   0.7031  0.058  0.00   0.000      0.  0.735E+00  0.773E-01  0.734E-03  0.276E-04   46  20  24   34  39  31   21  12   9    0.000    0.000       0
+  0   8855 01:26:06.65   0.6480A   2.7780   0.7504   0.7142  0.059  0.00   0.000      0.  0.734E+00  0.769E-01  0.735E-03  0.276E-04   46  20  31   34   0  36   21  11   5    0.000    0.000       0
+  0   8864 01:26:12.51   0.6550A   2.7494  -0.7122   0.7360  0.059  0.00   0.000      0.  0.734E+00  0.767E-01  0.741E-03  0.253E-04   44  33  21   23  10  22   20  10   9    0.000    0.000       0
+  0   8873 01:26:18.35   0.6410A   2.8083   0.7215   0.8134  0.060  0.00   0.000      0.  0.734E+00  0.765E-01  0.726E-03  0.233E-04   44  33  27   12  10   0   21  12   9    0.000    0.000       0
+  0   8882 01:26:24.19   0.6540A   2.7530  -0.7983   0.9212  0.061  0.00   0.000      0.  0.733E+00  0.764E-01  0.743E-03  0.250E-04   44  33  33   20  24   8   20  11   9    0.000    0.000       0
+  0   8891 01:26:30.08   0.6560A   2.7443   0.7604   0.9529  0.061  0.00   0.000      0.  0.733E+00  0.763E-01  0.748E-03  0.260E-04   44  33   0   19  14   9   21  13   9    0.000    0.000       0
+  0   8901 01:26:36.65   0.6650A   2.7058   0.8960   0.9550  0.061  0.00   0.000      0.  0.733E+00  0.759E-01  0.754E-03  0.236E-04   43  34   8   12  15   9   22  14   9    0.000    0.000       0
+  0   8909 01:26:42.04   0.6830A   2.6364   0.9385   0.9225  0.061  0.00   0.000      0.  0.733E+00  0.755E-01  0.771E-03  0.253E-04   41  30  15   11  16   9   20  11   9    0.000    0.000       0
+  0   8918 01:26:48.16   0.6800A   2.6462   0.9491   0.9497  0.060  0.00   0.000      0.  0.732E+00  0.749E-01  0.763E-03  0.268E-04   42  33  17    9  15   8   21  15   9    0.000    0.000       0
+  0   8927 01:26:54.27   0.6880A   2.6145   1.0667   0.9251  0.061  0.00   0.000      0.  0.732E+00  0.740E-01  0.768E-03  0.259E-04   42  33  23    7  16   8   22  15   9    0.000    0.000       0
+  0   8936 01:27:00.49   0.6870A   2.6194   0.9772  -0.7768  0.062  0.00   0.000      0.  0.732E+00  0.730E-01  0.762E-03  0.244E-04   46  16   7    7  19   8    3  12   9    0.000    0.000       0
+  0   8945 01:27:06.65   0.6830A   2.6349   0.9879  -0.7999  0.063  0.00   0.000      0.  0.732E+00  0.718E-01  0.749E-03  0.245E-04   45  16  13    6  16   8   17  21   9    0.000    0.000       0
+  0   8953 01:27:12.09   0.6790A   2.6499   1.0305  -0.8889  0.065  0.00   0.000      0.  0.732E+00  0.707E-01  0.739E-03  0.242E-04   45  16  19    6  17   8   17  20   9    0.000    0.000       0
+  0   8962 01:27:18.20   0.6780A   2.6560   1.0106  -0.8548  0.067  0.00   0.000      0.  0.731E+00  0.694E-01  0.737E-03  0.246E-04   46  16  26    5  19   8   16  20   9    0.000    0.000       0
+  0   8971 01:27:24.33   0.6840A   2.6301   0.9389  -0.8034  0.069  0.00   0.000      0.  0.731E+00  0.682E-01  0.748E-03  0.272E-04   46  17   4    4  21   8   15  19   9    0.000    0.000       0
+  0   8980 01:27:30.50   0.6890A   2.6110   0.8427   0.7953  0.071  0.00   0.000      0.  0.731E+00  0.672E-01  0.758E-03  0.316E-04   46  17  10    4  22   8   20  28   9    0.000    0.000       0
+  0   8988 01:27:36.01   0.6910A   2.6032   0.7346   0.8636  0.072  0.00   0.000      0.  0.731E+00  0.664E-01  0.764E-03  0.334E-04   46  17  16    3  20   8   21  27   9    0.000    0.000       0
+  0   8997 01:27:42.20   0.6850A   2.6278  -0.7151  -0.7307  0.073  0.00   0.000      0.  0.731E+00  0.657E-01  0.756E-03  0.322E-04   46  17  24   17  10   9   15  19   9    0.000    0.000       0
+  0   9006 01:27:48.30   0.6760A   2.6633  -0.9763   0.6836  0.072  0.00   0.000      0.  0.731E+00  0.651E-01  0.743E-03  0.296E-04   46  17  30   20  20   8   20  10   9    0.000    0.000       0
+  0   9015 01:27:54.35   0.6700A   2.6879  -0.9467   0.8418  0.072  0.00   0.000      0.  0.731E+00  0.645E-01  0.729E-03  0.270E-04   45  16  35   20  19   8   20  10   9    0.000    0.000       0
+  0   9024 01:28:00.35   0.6640A   2.7100   0.8017   0.9214  0.072  0.00   0.000      0.  0.731E+00  0.640E-01  0.717E-03  0.259E-04   45  16   2   21  29   4   20  10   9    0.000    0.000       0
+  0   9033 01:28:06.31   0.6610A   2.7243  -0.7269   0.9319  0.071  0.00   0.000      0.  0.731E+00  0.636E-01  0.712E-03  0.267E-04   46  16   9   19  19   7   20  10   9    0.000    0.000       0
+  0   9042 01:28:12.30   0.6690A   2.6916   0.7813   0.8486  0.070  0.00   0.000      0.  0.731E+00  0.634E-01  0.722E-03  0.288E-04   46  15  14   20  30   6   20  12   9    0.000    0.000       0
+  0   9051 01:28:18.34   0.6750A   2.6673   0.8532   0.8250  0.070  0.00   0.000      0.  0.731E+00  0.631E-01  0.728E-03  0.289E-04   46  15  21   20  30   8   21  13   9    0.000    0.000       0
+  0   9060 01:28:24.41   0.6750A   2.6652  -0.9558  -0.8101  0.069  0.00   0.000      0.  0.731E+00  0.628E-01  0.726E-03  0.270E-04   45  12  21   18  18   9   18  19   9    0.000    0.000       0
+  0   9069 01:28:30.45   0.6660A   2.7018   0.8917  -0.9356  0.069  0.00   0.000      0.  0.730E+00  0.623E-01  0.709E-03  0.238E-04   46  12  32   19  31   9   17  19   9    0.000    0.000       0
+  0   9078 01:28:36.44   0.6660A   2.7027   0.7942  -0.9665  0.069  0.00   0.000      0.  0.730E+00  0.616E-01  0.704E-03  0.218E-04   46  12  39   18  31   9   17  24   9    0.000    0.000       0
+  0   9087 01:28:42.40   0.6590A   2.7305  -0.7158  -0.8007  0.069  0.00   0.000      0.  0.730E+00  0.610E-01  0.697E-03  0.209E-04   46  11   5    5  29   8   16  24   9    0.000    0.000       0
+  0   9096 01:28:48.40   0.6690A   2.6907   0.6696  -0.7219  0.068  0.00   0.000      0.  0.730E+00  0.603E-01  0.705E-03  0.208E-04   45  10  11    2  28   5    2  30  10    0.000    0.000       0
+  0   9105 01:28:54.35   0.6560A   2.7445   0.6559  -0.6418  0.067  0.00   0.000      0.  0.730E+00  0.598E-01  0.684E-03  0.209E-04   45  26   4    1  27   4    4  28   8    0.000    0.000       0
+  0   9114 01:29:00.20   0.6480A   2.7786  -0.6904   0.6702  0.065  0.00   0.000      0.  0.731E+00  0.593E-01  0.671E-03  0.218E-04   46  26  11   26  19   9   20  10   9    0.000    0.000       0
+  0   9124 01:29:06.63   0.6350A   2.8346  -0.7178  -0.6248  0.064  0.00   0.000      0.  0.731E+00  0.589E-01  0.655E-03  0.238E-04   43  10  32   26  18  11   21  35  19    0.000    0.000       0
+  0   9133 01:29:12.29   0.6250A   2.8795  -0.6365   0.6189  0.062  0.00   0.000      0.  0.731E+00  0.587E-01  0.646E-03  0.258E-04   43  10  38   26  17  13   20  27   9    0.000    0.000       0
+  0   9143 01:29:18.53   0.6250A   2.8791   0.6960   0.6321  0.061  0.00   0.000      0.  0.731E+00  0.586E-01  0.647E-03  0.283E-04   43  10   6   21  29   8   21  30   1    0.000    0.000       0
+  0   9152 01:29:24.18   0.6350A   2.8368   0.7525   0.6813  0.061  0.00   0.000      0.  0.731E+00  0.585E-01  0.657E-03  0.283E-04   43  10  12   20  29   8   21  29   3    0.000    0.000       0
+  0   9162 01:29:30.62   0.6500A   2.7699  -0.7632  -0.7542  0.061  0.00   0.000      0.  0.731E+00  0.584E-01  0.676E-03  0.279E-04   45  25   8   20  11   8   17  22   9    0.000    0.000       0
+  0   9171 01:29:36.50   0.6530A   2.7569   0.7324   0.7948  0.061  0.00   0.000      0.  0.732E+00  0.583E-01  0.679E-03  0.274E-04   45  22   9    9  16   9   20  29   9    0.000    0.000       0
+  0   9180 01:29:42.36   0.6500A   2.7713   0.7375   0.8885  0.061  0.00   0.000      0.  0.732E+00  0.582E-01  0.674E-03  0.265E-04   46  24  22    9  17   9   21  28   9    0.000    0.000       0
+  0   9189 01:29:48.20   0.6490A   2.7748  -0.8208   0.7618  0.061  0.00   0.000      0.  0.732E+00  0.580E-01  0.664E-03  0.239E-04   46  24  29   20  26   8   20  26   9    0.000    0.000       0
+  0   9198 01:29:54.07   0.6540A   2.7514   0.7519   0.8304  0.061  0.00   0.000      0.  0.732E+00  0.579E-01  0.664E-03  0.234E-04   44  22  29    9  15   9   21  24   9    0.000    0.000       0
+  0   9208 01:30:00.59   0.6520A   2.7613   0.8119   0.8124  0.060  0.00   0.000      0.  0.732E+00  0.578E-01  0.661E-03  0.255E-04   44  22  36    9  16   9   20  28   9    0.000    0.000       0
+  0   9217 01:30:06.44   0.6520A   2.7625   0.8091   0.7058  0.060  0.00   0.000      0.  0.732E+00  0.577E-01  0.651E-03  0.254E-04   46  22  24    9  17   9   20  23   9    0.000    0.000       0
+  0   9226 01:30:12.31   0.6530A   2.7569   0.7758  -0.6651  0.060  0.00   0.000      0.  0.732E+00  0.574E-01  0.638E-03  0.219E-04   46  22  31    7  18   9   38  15  28    0.000    0.000       0
+  0   9235 01:30:18.21   0.6600A   2.7258  -0.7353  -0.6132  0.060  0.00   0.000      0.  0.732E+00  0.571E-01  0.632E-03  0.205E-04   46  22  38   20  19   9   13  10   8    0.000    0.000       0
+  0   9244 01:30:24.14   0.6550A   2.7501   0.6965  -0.6198  0.060  0.00   0.000      0.  0.733E+00  0.566E-01  0.617E-03  0.206E-04   45  21  16    5  17   8   14   8   7    0.000    0.000       0
+  0   9254 01:30:30.64   0.6460A   2.7864   0.6725  -0.6422  0.060  0.00   0.000      0.  0.733E+00  0.560E-01  0.599E-03  0.203E-04   46  21  24    5  18   8   15   9   8    0.000    0.000       0
+  0   9263 01:30:36.43   0.6420A   2.8019  -0.7238  -0.6635  0.059  0.00   0.000      0.  0.733E+00  0.555E-01  0.591E-03  0.204E-04   46  22  30   13  27   9   14   9   9    0.000    0.000       0
+  0   9272 01:30:42.17   0.6350A   2.8348  -0.7583  -0.6478  0.059  0.00   0.000      0.  0.734E+00  0.551E-01  0.584E-03  0.194E-04   46  22  37   13  26   9   18  10   9    0.000    0.000       0
+  0   9282 01:30:48.51   0.6310A   2.8508   0.7937  -0.7290  0.060  0.00   0.000      0.  0.734E+00  0.547E-01  0.585E-03  0.214E-04   46  22   5   20  29   9   17  10   9    0.000    0.000       0
+  0   9291 01:30:54.20   0.6320A   2.8464   1.0411  -0.7778  0.060  0.00   0.000      0.  0.735E+00  0.544E-01  0.589E-03  0.235E-04   46  22  12   19  30   9   17  11   9    0.000    0.000       0
+  0   9301 01:31:00.54   0.6330A   2.8420   1.0573  -0.9669  0.059  0.00   0.000      0.  0.735E+00  0.541E-01  0.595E-03  0.232E-04   45  15   4   18  31   9   16  11   9    0.000    0.000       0
+  0   9310 01:31:06.22   0.6300A   2.8588   0.8008  -1.0156  0.059  0.00   0.000      0.  0.736E+00  0.539E-01  0.592E-03  0.212E-04   46  15  11   17  31   9   16  26   9    0.000    0.000       0
+  0   9320 01:31:12.54   0.6330A   2.8438   0.7331  -0.9797  0.059  0.00   0.000      0.  0.736E+00  0.536E-01  0.592E-03  0.197E-04   46  15  18   21  32  19   15  24   9    0.000    0.000       0
+  0   9329 01:31:18.21   0.6280A   2.8675  -0.6958  -0.9462  0.059  0.00   0.000      0.  0.737E+00  0.534E-01  0.583E-03  0.194E-04   46  15  25   42   3  13   14  24   9    0.000    0.000       0
+  0   9339 01:31:24.46   0.6250A   2.8822  -0.7404   0.9080  0.058  0.00   0.000      0.  0.737E+00  0.533E-01  0.573E-03  0.195E-04   46  17  37   42   3  19   20  28   9    0.000    0.000       0
+  0   9348 01:31:30.09   0.6250A   2.8809  -0.7448   0.8549  0.058  0.00   0.000      0.  0.738E+00  0.533E-01  0.568E-03  0.198E-04   46  17   3   42   2  25   20  27   9    0.000    0.000       0
+  0   9358 01:31:36.36   0.6280A   2.8649  -0.7056   0.7874  0.057  0.00   0.000      0.  0.738E+00  0.534E-01  0.568E-03  0.207E-04   46  17  11   42   1  30   21  26   9    0.000    0.000       0
+  0   9368 01:31:42.60   0.6180A   2.9124  -0.6644  -0.6973  0.056  0.00   0.000      0.  0.739E+00  0.534E-01  0.555E-03  0.186E-04   45  20  11   41   0  36    9  24   8    0.000    0.000       0
+  0   9377 01:31:48.13   0.6110A   2.9467  -0.7349  -0.6376  0.056  0.00   0.000      0.  0.740E+00  0.533E-01  0.545E-03  0.157E-04   45  20  18   41  39   1    9  22   8    0.000    0.000       0
+  0   9387 01:31:54.23   0.6090A   2.9544  -0.7690  -0.6500  0.055  0.00   0.000      0.  0.740E+00  0.532E-01  0.537E-03  0.133E-04   45  20  25   41  38   6    8  22   8    0.000    0.000       0
+  0   9397 01:32:00.29   0.6050A   2.9736  -0.7196  -0.6417  0.054  0.00   0.000      0.  0.741E+00  0.531E-01  0.536E-03  0.139E-04   45  20  33   41  37  11    7  22   8    0.000    0.000       0
+  0   9407 01:32:06.39   0.6160A   2.9240  -0.6447   0.6131  0.053  0.00   0.000      0.  0.742E+00  0.529E-01  0.549E-03  0.154E-04   45  20   0   41  36  16   18  11   9    0.000    0.000       0
+  0   9417 01:32:12.52   0.6070A   2.9658   0.6034   0.7106  0.051  0.00   0.000      0.  0.743E+00  0.529E-01  0.542E-03  0.157E-04   46  20  12   37  27  39   21  11   9    0.000    0.000       0
+  0   9427 01:32:18.51   0.5950A   3.0247  -0.5810   0.7258  0.049  0.00   0.000      0.  0.744E+00  0.528E-01  0.533E-03  0.168E-04   46  20  19    9  26   9   22  11   9    0.000    0.000       0
+  0   9437 01:32:24.46   0.5940A   3.0308  -0.6488   0.7381  0.048  0.00   0.000      0.  0.745E+00  0.528E-01  0.537E-03  0.193E-04   46  20  26    9  25   9   22  12   9    0.000    0.000       0
+  0   9447 01:32:30.45   0.6030A   2.9870  -0.6924   0.7465  0.048  0.00   0.000      0.  0.746E+00  0.529E-01  0.552E-03  0.218E-04   46  20  33    9  25   9   21  13   9    0.000    0.000       0
+  0   9457 01:32:36.55   0.6110A   2.9449   0.7750   0.7667  0.048  0.00   0.000      0.  0.746E+00  0.531E-01  0.562E-03  0.216E-04   43  26  28   20  30   9   22  13   9    0.000    0.000       0
+  0   9466 01:32:42.03   0.6110A   2.9454   0.7491  -0.6258  0.048  0.00   0.000      0.  0.747E+00  0.533E-01  0.564E-03  0.189E-04   43  26  35   19  31   9   21  30   9    0.000    0.000       0
+  0   9476 01:32:48.18   0.6120A   2.9388   0.6880  -0.5887  0.049  0.00   0.000      0.  0.748E+00  0.534E-01  0.572E-03  0.195E-04   46  19  20   17  14   9   22  28  12    0.000    0.000       0
+  0   9486 01:32:54.27   0.6070A   2.9668   0.8178  -0.5576  0.049  0.00   0.000      0.  0.748E+00  0.535E-01  0.569E-03  0.206E-04   45  19  27   19  30   9   13  12   9    0.000    0.000       0
+  0   9496 01:33:00.30   0.6000A   3.0009   0.8102  -0.6368  0.050  0.00   0.000      0.  0.749E+00  0.536E-01  0.566E-03  0.209E-04   46  19  35   19  30   9   39  20   5    0.000    0.000       0
+  0   9506 01:33:06.30   0.6010A   2.9953   0.7260  -0.6865  0.051  0.00   0.000      0.  0.749E+00  0.537E-01  0.567E-03  0.200E-04   46  19   2   21  34  23   38  20  11    0.000    0.000       0
+  0   9516 01:33:12.37   0.6130A   2.9385   0.6986  -0.7617  0.052  0.00   0.000      0.  0.750E+00  0.538E-01  0.576E-03  0.194E-04   46  19  10   20  35  24   14  12   8    0.000    0.000       0
+  0   9526 01:33:18.55   0.6210A   2.9001   0.6516  -0.7777  0.052  0.00   0.000      0.  0.750E+00  0.539E-01  0.578E-03  0.176E-04   46  19  18   21  35  28   13  12   8    0.000    0.000       0
+  0   9535 01:33:24.12   0.6140A   2.9338  -0.6873  -0.7220  0.053  0.00   0.000      0.  0.751E+00  0.539E-01  0.568E-03  0.159E-04   45  20  29   21  25   6   14  17   9    0.000    0.000       0
+  0   9545 01:33:30.17   0.6010A   2.9972  -0.7098  -0.6944  0.053  0.00   0.000      0.  0.751E+00  0.539E-01  0.558E-03  0.160E-04   46  20  37   21  24   6   13  17   9    0.000    0.000       0
+  0   9555 01:33:36.14   0.5980A   3.0100  -0.7195  -0.6744  0.053  0.00   0.000      0.  0.752E+00  0.539E-01  0.551E-03  0.152E-04   46  20   4   21  24   8   12  14   7    0.000    0.000       0
+  0   9565 01:33:42.17   0.6070A   2.9645  -0.7434  -0.6355  0.053  0.00   0.000      0.  0.752E+00  0.539E-01  0.555E-03  0.144E-04   46  20  11   20  25   8   11  14   7    0.000    0.000       0
+  0   9575 01:33:48.22   0.6020A   2.9906  -0.6362  -0.6109  0.053  0.00   0.000      0.  0.752E+00  0.539E-01  0.546E-03  0.140E-04   46  20  21   23  23  20   11  15   7    0.000    0.000       0
+  0   9585 01:33:54.24   0.6020A   2.9913  -0.6666  -0.6177  0.053  0.00   0.000      0.  0.753E+00  0.539E-01  0.544E-03  0.138E-04   46  20  28   20  26   9   11  13   9    0.000    0.000       0
+  0   9595 01:34:00.29   0.6060A   2.9690  -0.6638   0.7461  0.053  0.00   0.000      0.  0.753E+00  0.540E-01  0.546E-03  0.144E-04   46  21  36   19  27   8   20  10   9    0.000    0.000       0
+  0   9605 01:34:06.33   0.6020A   2.9894   0.5966   0.7001  0.053  0.00   0.000      0.  0.753E+00  0.541E-01  0.543E-03  0.140E-04   46  27   7   19  13   9   20  10   9    0.000    0.000       0
+  0   9615 01:34:12.35   0.6030A   2.9843   0.6291   0.7693  0.053  0.00   0.000      0.  0.753E+00  0.543E-01  0.545E-03  0.150E-04   44  20  10   20  23   9   20  11   9    0.000    0.000       0
+  0   9625 01:34:18.44   0.6130A   2.9373  -0.7111   0.8701  0.053  0.00   0.000      0.  0.753E+00  0.546E-01  0.552E-03  0.168E-04   46  21  18   21  11   8   20  11   9    0.000    0.000       0
+  0   9635 01:34:24.58   0.6150A   2.9256   0.5884   0.8316  0.053  0.00   0.000      0.  0.754E+00  0.549E-01  0.550E-03  0.175E-04   45  28  29   17  12   9   20  11   9    0.000    0.000       0
+  0   9644 01:34:30.10   0.6130A   2.9371   0.7704  -0.7288  0.054  0.00   0.000      0.  0.754E+00  0.553E-01  0.545E-03  0.163E-04   44  21  32   16  13   9   17  23   9    0.000    0.000       0
+  0   9654 01:34:36.19   0.6080A   2.9627   0.7958  -0.8757  0.055  0.00   0.000      0.  0.754E+00  0.555E-01  0.535E-03  0.150E-04   44  21  39   15  13   9   17  24   9    0.000    0.000       0
+  0   9664 01:34:42.26   0.6080A   2.9585   0.8028  -0.8685  0.056  0.00   0.000      0.  0.754E+00  0.557E-01  0.530E-03  0.150E-04   46  29  12   15  14   9   16  25   9    0.000    0.000       0
+  0   9674 01:34:48.37   0.6150A   2.9287   0.7993  -0.8001  0.056  0.00   0.000      0.  0.754E+00  0.557E-01  0.530E-03  0.160E-04   44  21  14   14  15   9   15  25   9    0.000    0.000       0
+  0   9684 01:34:54.56   0.6160A   2.9222   0.7878  -0.6973  0.056  0.00   0.000      0.  0.755E+00  0.558E-01  0.520E-03  0.152E-04   46  14  14   14  16   9   16  27   8    0.000    0.000       0
+  0   9693 01:35:00.07   0.6080A   2.9615   0.7672  -0.7123  0.056  0.00   0.000      0.  0.755E+00  0.558E-01  0.508E-03  0.144E-04   46  15  24   13  17   9   15  27   8    0.000    0.000       0
+  0   9703 01:35:06.10   0.5980A   3.0116   0.7171  -0.6231  0.056  0.00   0.000      0.  0.756E+00  0.560E-01  0.497E-03  0.131E-04   46  15  31   11  18   9   14  27   8    0.000    0.000       0
+  0   9713 01:35:12.06   0.5950A   3.0263   0.6810  -0.5771  0.056  0.00   0.000      0.  0.756E+00  0.562E-01  0.493E-03  0.130E-04   46  15  38   11  19   9    6  14   9    0.000    0.000       0
+  0   9724 01:35:18.58   0.5920A   3.0423   0.6867  -0.5359  0.055  0.00   0.000      0.  0.757E+00  0.564E-01  0.489E-03  0.121E-04   46  15   6   14  17   9    5  14   9    0.000    0.000       0
+  0   9734 01:35:24.49   0.5890A   3.0559   0.6740  -0.5412  0.054  0.00   0.000      0.  0.757E+00  0.565E-01  0.487E-03  0.115E-04   45  14  11   14  18   9   25  24   8    0.000    0.000       0
+  0   9744 01:35:30.36   0.5880A   3.0637   0.6591  -0.5750  0.053  0.00   0.000      0.  0.758E+00  0.565E-01  0.488E-03  0.119E-04   45  14  18   14  18   9   24  24  11    0.000    0.000       0
+  0   9754 01:35:36.19   0.5840A   3.0841   0.6608  -0.5746  0.052  0.00   0.000      0.  0.758E+00  0.566E-01  0.485E-03  0.131E-04   46  14  26   14  18   9   29  15   0    0.000    0.000       0
+  0   9764 01:35:42.07   0.5920A   3.0399   0.6475  -0.6297  0.051  0.00   0.000      0.  0.759E+00  0.568E-01  0.493E-03  0.143E-04   46  14  33   14  18   9   28  15   4    0.000    0.000       0
+  0   9774 01:35:48.03   0.5960A   3.0207  -0.6288  -0.6433  0.050  0.00   0.000      0.  0.760E+00  0.570E-01  0.497E-03  0.148E-04   46  12  38   39   7   1   28  15   8    0.000    0.000       0
+  0   9784 01:35:54.04   0.6070A   2.9635  -0.5999  -0.6106  0.049  0.00   0.000      0.  0.760E+00  0.573E-01  0.505E-03  0.148E-04   46  12   6   39   6   6   28  14  12    0.000    0.000       0
+  0   9794 01:36:00.18   0.6220A   2.8953  -0.5890  -0.6335  0.049  0.00   0.000      0.  0.761E+00  0.577E-01  0.517E-03  0.143E-04   46  17  39   21  18   6   35  18  20    0.000    0.000       0
+  0   9804 01:36:06.38   0.6190A   2.9077  -0.5710  -0.6176  0.049  0.00   0.000      0.  0.762E+00  0.581E-01  0.519E-03  0.143E-04   45  17   6   21  18   8   34  18  25    0.000    0.000       0
+  0   9814 01:36:12.53   0.6210A   2.8995  -0.6298  -0.6180  0.050  0.00   0.000      0.  0.762E+00  0.586E-01  0.525E-03  0.143E-04   46  17  14   19  10   9   17  17   9    0.000    0.000       0
+  0   9823 01:36:18.10   0.6200A   2.9029  -0.6615  -0.6313  0.050  0.00   0.000      0.  0.763E+00  0.591E-01  0.526E-03  0.146E-04   45  12  37   19   9   9   33  15  31    0.000    0.000       0
+  0   9833 01:36:24.34   0.6280A   2.8656  -0.6358  -0.6432  0.051  0.00   0.000      0.  0.763E+00  0.598E-01  0.539E-03  0.168E-04   44  24  12   19   9   9   33  15  36    0.000    0.000       0
+  0   9843 01:36:30.59   0.6210A   2.8971  -0.6341   0.7274  0.051  0.00   0.000      0.  0.764E+00  0.606E-01  0.538E-03  0.166E-04   46  12  15   43  12  36   20  27   9    0.000    0.000       0
+  0   9852 01:36:36.12   0.6100A   2.9487  -0.6924   0.6828  0.051  0.00   0.000      0.  0.764E+00  0.612E-01  0.530E-03  0.150E-04   46  12  21   19  20   9   20  27   9    0.000    0.000       0
+  0   9862 01:36:42.24   0.6080A   2.9611   0.6403   0.7672  0.052  0.00   0.000      0.  0.765E+00  0.618E-01  0.538E-03  0.151E-04   43  24  34   24  29  28   20  10   9    0.000    0.000       0
+  0   9872 01:36:48.30   0.6050A   2.9738   0.6474   0.7293  0.052  0.00   0.000      0.  0.765E+00  0.622E-01  0.541E-03  0.153E-04   43  24   1   24  30  32   20  11   9    0.000    0.000       0
+  0   9882 01:36:54.32   0.6020A   2.9881  -0.7298   0.6719  0.051  0.00   0.000      0.  0.766E+00  0.626E-01  0.544E-03  0.147E-04   43  24   9   22  10   8   21  11   9    0.000    0.000       0
+  0   9892 01:37:00.30   0.5940A   3.0290  -0.9350  -0.6093  0.051  0.00   0.000      0.  0.766E+00  0.629E-01  0.540E-03  0.137E-04   43  24  17   21  10   8   14  22   9    0.000    0.000       0
+  0   9902 01:37:06.26   0.5980A   3.0084   0.8127  -0.5761  0.051  0.00   0.000      0.  0.767E+00  0.631E-01  0.546E-03  0.144E-04   43  24  24   20  17   9   14  22   9    0.000    0.000       0
+  0   9912 01:37:12.26   0.6010A   2.9966  -0.8235  -0.7902  0.051  0.00   0.000      0.  0.767E+00  0.634E-01  0.555E-03  0.156E-04   46  22   1   20   9   9   18  14   9    0.000    0.000       0
+  0   9922 01:37:18.29   0.6030A   2.9842  -0.6702  -0.7468  0.051  0.00   0.000      0.  0.768E+00  0.636E-01  0.560E-03  0.160E-04   46  23   8   22   8  16   18  13   9    0.000    0.000       0
+  0   9932 01:37:24.33   0.6030A   2.9848  -0.6860  -0.7028  0.050  0.00   0.000      0.  0.768E+00  0.639E-01  0.565E-03  0.165E-04   42  25   4   40  17   9   18  12   9    0.000    0.000       0
+  0   9942 01:37:30.31   0.5940A   3.0300   0.6675  -0.6030  0.049  0.00   0.000      0.  0.768E+00  0.642E-01  0.565E-03  0.163E-04   42  25  11   21  29   8   17  13   9    0.000    0.000       0
+  0   9952 01:37:36.26   0.6040A   2.9813  -0.6369  -0.6518  0.049  0.00   0.000      0.  0.768E+00  0.644E-01  0.577E-03  0.160E-04   42  25  19   24  17  21   18  19   9    0.000    0.000       0
+  0   9962 01:37:42.27   0.6000A   2.9985  -0.7069  -0.7173  0.050  0.00   0.000      0.  0.769E+00  0.646E-01  0.579E-03  0.171E-04   42  22  16   11  27   9   17  20   9    0.000    0.000       0
+  0   9972 01:37:48.25   0.6010A   2.9959  -0.7724  -0.7222  0.050  0.00   0.000      0.  0.769E+00  0.648E-01  0.587E-03  0.182E-04   42  22  23   11  26   9   17  20   9    0.000    0.000       0
+  0   9982 01:37:54.27   0.5960A   3.0222  -0.7189  -0.6849  0.050  0.00   0.000      0.  0.769E+00  0.650E-01  0.589E-03  0.183E-04   44  13  31   38  14  39   16  21   9    0.000    0.000       0
+  0   9992 01:38:00.15   0.5830A   3.0861  -0.7119  -0.6451  0.050  0.00   0.000      0.  0.769E+00  0.652E-01  0.579E-03  0.180E-04   44  13  38   37  14   3   15  21   9    0.000    0.000       0
+  0  10003 01:38:06.56   0.5840A   3.0829  -0.6375  -0.6246  0.050  0.00   0.000      0.  0.769E+00  0.654E-01  0.581E-03  0.172E-04   44  13   6   38  12  10   15  21   9    0.000    0.000       0
+  0  10013 01:38:12.36   0.5780A   3.1147  -0.7118   0.6419  0.051  0.00   0.000      0.  0.769E+00  0.655E-01  0.578E-03  0.166E-04   44  13  12   20  11   8   20  27   9    0.000    0.000       0
+  0  10023 01:38:18.07   0.5690A   3.1640   0.6508  -0.6490  0.050  0.00   0.000      0.  0.769E+00  0.655E-01  0.578E-03  0.175E-04   44  13  19   20  27   9   40  15  22    0.000    0.000       0
+  0  10034 01:38:24.30   0.5640A   3.1907   0.7042  -0.7136  0.050  0.00   0.000      0.  0.769E+00  0.656E-01  0.575E-03  0.174E-04   44  13  26   20  28   9   17  22   9    0.000    0.000       0
+  0  10045 01:38:30.50   0.5590A   3.2174   0.7770  -0.7831  0.050  0.00   0.000      0.  0.769E+00  0.657E-01  0.570E-03  0.172E-04   44  13  33   19  30   9   16  22   9    0.000    0.000       0
+  0  10055 01:38:36.11   0.5570A   3.2288   0.8781  -0.8153  0.051  0.00   0.000      0.  0.769E+00  0.658E-01  0.576E-03  0.197E-04   44  13   0   19  31   9   18  25   9    0.000    0.000       0
+  0  10066 01:38:42.20   0.5500A   3.2744   0.9129  -0.8438  0.052  0.00   0.000      0.  0.769E+00  0.659E-01  0.579E-03  0.205E-04   44  13   7   18  31   9   17  25   9    0.000    0.000       0
+  0  10077 01:38:48.41   0.5730A   3.1428   0.8535  -0.7015  0.054  0.00   0.000      0.  0.769E+00  0.660E-01  0.609E-03  0.212E-04   44  13  15   17  31   9   16  25   9    0.000    0.000       0
+  0  10087 01:38:54.19   0.5900A   3.0497   0.8949  -0.8617  0.055  0.00   0.000      0.  0.768E+00  0.661E-01  0.637E-03  0.226E-04   44  13  22   20  25   9   20  18   8    0.000    0.000       0
+  0  10097 01:39:00.15   0.5970A   3.0134   0.9898  -1.0372  0.055  0.00   0.000      0.  0.768E+00  0.659E-01  0.652E-03  0.228E-04   45  27  12   19  25   9   16  20   9    0.000    0.000       0
+  0  10108 01:39:06.56   0.5730A   3.1406   0.9061  -1.0574  0.054  0.00   0.000      0.  0.767E+00  0.655E-01  0.632E-03  0.237E-04   46  27  20   19  26   9   15  21   9    0.000    0.000       0
+  0  10118 01:39:12.25   0.5650A   3.1846   0.8242  -0.9462  0.053  0.00   0.000      0.  0.767E+00  0.652E-01  0.626E-03  0.252E-04   46  27  27   17  26   9   14  21   9    0.000    0.000       0
+  0  10129 01:39:18.51   0.5710A   3.1549   0.7538  -0.8313  0.053  0.00   0.000      0.  0.766E+00  0.650E-01  0.633E-03  0.259E-04   46  27  35   21  17   8   13  22   9    0.000    0.000       0
+  0  10139 01:39:24.26   0.5790A   3.1074   0.7538  -0.7711  0.052  0.00   0.000      0.  0.766E+00  0.649E-01  0.638E-03  0.247E-04   46  27   3   21  18   8   12  22   9    0.000    0.000       0
+  0  10149 01:39:30.04   0.5790A   3.1069   0.7501  -0.7271  0.052  0.00   0.000      0.  0.765E+00  0.648E-01  0.639E-03  0.239E-04   46  27  10   18  30   9   12  22   9    0.000    0.000       0
+  0  10160 01:39:36.48   0.5870A   3.0651  -0.8021  -0.9204  0.052  0.00   0.000      0.  0.765E+00  0.646E-01  0.648E-03  0.228E-04   46  27  18   19  21   9   16  26   9    0.000    0.000       0
+  0  10170 01:39:42.46   0.6040A   2.9823  -0.8363  -1.0708  0.054  0.00   0.000      0.  0.764E+00  0.643E-01  0.672E-03  0.241E-04   46  27  25   19  20   9   16  25   9    0.000    0.000       0
+  0  10180 01:39:48.53   0.6040A   2.9795   0.8515  -1.0782  0.054  0.00   0.000      0.  0.764E+00  0.639E-01  0.678E-03  0.252E-04   44  19  10   22  23   6   15  25   9    0.000    0.000       0
+  0  10190 01:39:54.54   0.5980A   3.0080   0.8956  -0.9344  0.055  0.00   0.000      0.  0.763E+00  0.634E-01  0.667E-03  0.230E-04   44  19  17   20  26   9   15  26   9    0.000    0.000       0
+  0  10200 01:40:00.52   0.5960A   3.0216   0.8848  -0.9048  0.054  0.00   0.000      0.  0.762E+00  0.628E-01  0.658E-03  0.215E-04   46  19  22   19  27   9   16  24   9    0.000    0.000       0
+  0  10210 01:40:06.45   0.5910A   3.0470   0.8685  -0.8623  0.053  0.00   0.000      0.  0.762E+00  0.621E-01  0.647E-03  0.202E-04   46  19  29   19  27   9   15  25   9    0.000    0.000       0
+  0  10220 01:40:12.37   0.5920A   3.0398   0.7716  -0.8212  0.052  0.00   0.000      0.  0.761E+00  0.615E-01  0.647E-03  0.189E-04   46  19  36   18  28   9   13  27   9    0.000    0.000       0
+  0  10230 01:40:18.34   0.6000A   2.9976  -0.6747  -0.8060  0.050  0.00   0.000      0.  0.761E+00  0.610E-01  0.652E-03  0.193E-04   46  19   3   24   7  14   14  26   9    0.000    0.000       0
+  0  10240 01:40:24.39   0.6090A   2.9542  -0.7362  -0.7376  0.049  0.00   0.000      0.  0.760E+00  0.606E-01  0.661E-03  0.212E-04   45  19  10   21  19   2   11  27   9    0.000    0.000       0
+  0  10250 01:40:30.53   0.6160A   2.9235  -0.8707  -0.7379  0.048  0.00   0.000      0.  0.760E+00  0.603E-01  0.666E-03  0.209E-04   45  19  17   25  16  27   10  27   9    0.000    0.000       0
+  0  10259 01:40:36.05   0.6090A   2.9570  -0.8006  -0.7347  0.048  0.00   0.000      0.  0.760E+00  0.602E-01  0.660E-03  0.206E-04   45  19  24   25  15  31   34  14  37    0.000    0.000       0
+  0  10269 01:40:42.09   0.6020A   2.9883  -0.8332  -0.7146  0.048  0.00   0.000      0.  0.759E+00  0.601E-01  0.652E-03  0.198E-04   45  19  32   25  14  34   35  13   4    0.000    0.000       0
+  0  10279 01:40:48.08   0.5980A   3.0076   0.8260  -0.7124  0.049  0.00   0.000      0.  0.759E+00  0.602E-01  0.650E-03  0.192E-04   45  19  39   20  16   4   37  14  14    0.000    0.000       0
+  0  10289 01:40:54.07   0.5970A   3.0137   0.9266  -0.7073  0.051  0.00   0.000      0.  0.759E+00  0.603E-01  0.650E-03  0.191E-04   46  19   7   20  16   6   36  14  19    0.000    0.000       0
+  0  10299 01:41:00.05   0.6000A   3.0009   0.8646  -0.7228  0.052  0.00   0.000      0.  0.758E+00  0.605E-01  0.655E-03  0.207E-04   46  19  15   20  19   8   17  20   9    0.000    0.000       0
+  0  10309 01:41:06.05   0.6010A   2.9959  -0.7070  -0.8244  0.053  0.00   0.000      0.  0.758E+00  0.608E-01  0.665E-03  0.242E-04   46  19  22   26  10  12   17  21   9    0.000    0.000       0
+  0  10319 01:41:12.13   0.6160A   2.9243   0.6832  -0.9438  0.054  0.00   0.000      0.  0.757E+00  0.610E-01  0.682E-03  0.239E-04   45  19  29   23  32  23   17  20   9    0.000    0.000       0
+  0  10329 01:41:18.36   0.6300A   2.8575   0.6995  -1.0149  0.056  0.00   0.000      0.  0.756E+00  0.612E-01  0.689E-03  0.202E-04   43  17  38   22  30  25   15  20   9    0.000    0.000       0
+  0  10338 01:41:24.00   0.6240A   2.8831   0.7097  -0.9404  0.057  0.00   0.000      0.  0.756E+00  0.612E-01  0.678E-03  0.183E-04   43  16   3   22  33  30   14  19   9    0.000    0.000       0
+  0  10348 01:41:30.17   0.6090A   2.9568   0.8252  -0.8730  0.057  0.00   0.000      0.  0.755E+00  0.611E-01  0.658E-03  0.161E-04   43  19  36   21  18   8   16  20   9    0.000    0.000       0
+  0  10358 01:41:36.22   0.6000A   2.9993  -0.8668  -0.8360  0.057  0.00   0.000      0.  0.754E+00  0.609E-01  0.653E-03  0.157E-04   46  21  10   19  10   9   14  20   9    0.000    0.000       0
+  0  10368 01:41:42.24   0.6090A   2.9547   0.7576  -0.9572  0.057  0.00   0.000      0.  0.754E+00  0.608E-01  0.666E-03  0.186E-04   45  21  16   22  31   3   17  12   9    0.000    0.000       0
+  0  10378 01:41:48.37   0.6200A   2.9033   0.7117  -0.9825  0.057  0.00   0.000      0.  0.753E+00  0.608E-01  0.680E-03  0.224E-04   44  22  18   24  32   7   17  14   9    0.000    0.000       0
+  0  10388 01:41:54.57   0.6140A   2.9307  -0.8323  -0.9891  0.056  0.00   0.000      0.  0.753E+00  0.608E-01  0.671E-03  0.202E-04   43  18  29   21  24   8   16  15   9    0.000    0.000       0
+  0  10397 01:42:00.06   0.6140A   2.9293   1.0977  -0.9342  0.057  0.00   0.000      0.  0.752E+00  0.608E-01  0.671E-03  0.168E-04   43  18  35   19  31   9   15  15   9    0.000    0.000       0
+  0  10407 01:42:06.26   0.6260A   2.8755   0.9527  -1.0563  0.057  0.00   0.000      0.  0.752E+00  0.604E-01  0.687E-03  0.164E-04   43  17   2   19  30   9   18  28   9    0.000    0.000       0
+  0  10417 01:42:12.56   0.6300A   2.8577   0.9983  -1.2337  0.058  0.00   0.000      0.  0.751E+00  0.600E-01  0.697E-03  0.199E-04   43  17  10   20  30   9   17  28   9    0.000    0.000       0
+  0  10426 01:42:18.24   0.6320A   2.8479   1.0867  -1.1819  0.059  0.00   0.000      0.  0.750E+00  0.597E-01  0.697E-03  0.223E-04   44  18  15   20  30   9   16  28   9    0.000    0.000       0
+  0  10436 01:42:24.64   0.6460A   2.7881  -0.8561  -0.9573  0.059  0.00   0.000      0.  0.750E+00  0.593E-01  0.700E-03  0.206E-04   45  18  20   20  14   9   15  28   9    0.000    0.000       0
+  0  10445 01:42:30.42   0.6460A   2.7861   0.9055  -1.0986  0.060  0.00   0.000      0.  0.749E+00  0.588E-01  0.695E-03  0.198E-04   43  14  28   19  30   9   17  18   9    0.000    0.000       0
+  0  10454 01:42:36.20   0.6480A   2.7778   0.8232  -1.1391  0.060  0.00   0.000      0.  0.749E+00  0.583E-01  0.698E-03  0.212E-04   43  14  33   22  35  26   16  19   9    0.000    0.000       0
+  0  10464 01:42:42.64   0.6450A   2.7927   0.8310  -1.1769  0.059  0.00   0.000      0.  0.748E+00  0.578E-01  0.682E-03  0.229E-04   44  20  26   26  37  32   15  21   9    0.000    0.000       0
+  0  10473 01:42:48.44   0.6480A   2.7793   0.8245  -1.1283  0.059  0.00   0.000      0.  0.748E+00  0.575E-01  0.677E-03  0.247E-04   46  17  38   27  38  36   14  21   9    0.000    0.000       0
+  0  10482 01:42:54.29   0.6510A   2.7631  -0.8554  -1.0539  0.059  0.00   0.000      0.  0.747E+00  0.572E-01  0.674E-03  0.241E-04   45  21  37   19  10   9   12  21   9    0.000    0.000       0
+  0  10491 01:43:00.15   0.6480A   2.7785   0.7874  -0.9649  0.059  0.00   0.000      0.  0.747E+00  0.570E-01  0.667E-03  0.241E-04   44  15  19   22  32  35   11  22   9    0.000    0.000       0
+  0  10501 01:43:06.64   0.6470A   2.7825  -0.7005  -0.8734  0.058  0.00   0.000      0.  0.746E+00  0.568E-01  0.667E-03  0.243E-04   45  21  14   21   9  16    8  22   9    0.000    0.000       0
+  0  10510 01:43:12.38   0.6310A   2.8510  -0.7998   0.8815  0.059  0.00   0.000      0.  0.746E+00  0.567E-01  0.646E-03  0.198E-04   46  20  21   20  12   9   19  10   8    0.000    0.000       0
+  0  10519 01:43:18.04   0.6260A   2.8771  -0.8033   1.1723  0.060  0.00   0.000      0.  0.746E+00  0.565E-01  0.640E-03  0.183E-04   46  20  27   19  12   9   19  10   8    0.000    0.000       0
+  0  10529 01:43:24.35   0.6310A   2.8539   0.8321   0.7826  0.061  0.00   0.000      0.  0.745E+00  0.563E-01  0.647E-03  0.207E-04   46  21  36   21  13   8   20  11   8    0.000    0.000       0
+  0  10539 01:43:30.59   0.6240A   2.8858   0.7918   0.7476  0.061  0.00   0.000      0.  0.745E+00  0.561E-01  0.637E-03  0.202E-04   46  21   4   21  14   8   19  13   8    0.000    0.000       0
+  0  10548 01:43:36.17   0.6200A   2.9041   0.8063  -0.7106  0.061  0.00   0.000      0.  0.744E+00  0.559E-01  0.633E-03  0.189E-04   46  21  10   20  13   8    6  17   8    0.000    0.000       0
+  0  10558 01:43:42.38   0.6220A   2.8948   0.7309  -0.6801  0.060  0.00   0.000      0.  0.744E+00  0.557E-01  0.632E-03  0.185E-04   46  21  18   20  18   9    4  17   8    0.000    0.000       0
+  0  10568 01:43:48.60   0.6210A   2.8991   0.6975  -0.6260  0.059  0.00   0.000      0.  0.744E+00  0.556E-01  0.636E-03  0.205E-04   46  21  25   20  19   9    3  17   8    0.000    0.000       0
+  0  10577 01:43:54.10   0.6110A   2.9479   0.6997  -0.6901  0.059  0.00   0.000      0.  0.743E+00  0.555E-01  0.624E-03  0.212E-04   46  25  30   19  19   9    3  18   7    0.000    0.000       0
+  0  10587 01:44:00.17   0.6000A   3.0018  -0.7079  -0.7096  0.060  0.00   0.000      0.  0.743E+00  0.555E-01  0.608E-03  0.198E-04   46  24  37   20  10   9   24  10  18    0.000    0.000       0
+  0  10597 01:44:06.18   0.6040A   2.9815  -0.8830  -0.7105  0.061  0.00   0.000      0.  0.743E+00  0.554E-01  0.609E-03  0.193E-04   46  24   4   20  17   8   18  12   9    0.000    0.000       0
+  0  10607 01:44:12.31   0.6270A   2.8709  -1.0689  -0.8761  0.061  0.00   0.000      0.  0.742E+00  0.552E-01  0.636E-03  0.201E-04   45  24  10   20  10   9   18  11   9    0.000    0.000       0
+  0  10616 01:44:18.03   0.6410A   2.8060  -0.9779  -0.9736  0.061  0.00   0.000      0.  0.742E+00  0.550E-01  0.647E-03  0.192E-04   44  22  17   20  10   9   15  11   9    0.000    0.000       0
+  0  10626 01:44:24.41   0.6420A   2.8055  -0.8001  -0.9629  0.062  0.00   0.000      0.  0.742E+00  0.547E-01  0.643E-03  0.200E-04   44  22  24   20  10   9   14  11   9    0.000    0.000       0
+  0  10635 01:44:30.25   0.6550A   2.7467  -0.6895  -0.9208  0.063  0.00   0.000      0.  0.741E+00  0.545E-01  0.655E-03  0.220E-04   45  17  39   20  10   9   16  19   9    0.000    0.000       0
+  0  10644 01:44:36.08   0.6450A   2.7903   0.6877  -0.8756  0.063  0.00   0.000      0.  0.741E+00  0.542E-01  0.640E-03  0.215E-04   44  24  39   17  30   9   15  18   9    0.000    0.000       0
+  0  10654 01:44:42.56   0.6530A   2.7566  -0.7295  -0.8959  0.063  0.00   0.000      0.  0.741E+00  0.538E-01  0.633E-03  0.197E-04   46  18  15   45  24  35   17  25   9    0.000    0.000       0
+  0  10663 01:44:48.41   0.6470A   2.7838  -0.6989  -0.7960  0.062  0.00   0.000      0.  0.741E+00  0.534E-01  0.609E-03  0.182E-04   46  17  21   46  22   1   17  17   9    0.000    0.000       0
+  0  10672 01:44:54.19   0.6370A   2.8241  -0.6861   0.7821  0.062  0.00   0.000      0.  0.740E+00  0.531E-01  0.593E-03  0.197E-04   44  22  19   46  21   7   19  27   8    0.000    0.000       0
+  0  10682 01:45:00.63   0.6540A   2.7503  -0.7156  -0.7498  0.061  0.00   0.000      0.  0.740E+00  0.530E-01  0.606E-03  0.223E-04   44  22  26   20  10   9   15  18   9    0.000    0.000       0
+  0  10691 01:45:06.53   0.6530A   2.7551  -0.7779   0.7891  0.061  0.00   0.000      0.  0.740E+00  0.531E-01  0.603E-03  0.224E-04   44  17   2   19  10   9   20  26   9    0.000    0.000       0
+  0  10700 01:45:12.30   0.6330A   2.8427  -0.6681  -0.7186  0.061  0.00   0.000      0.  0.740E+00  0.533E-01  0.592E-03  0.223E-04   44  17  10   19  10   9   13  18   9    0.000    0.000       0
+  0  10710 01:45:18.59   0.6270A   2.8727  -0.6797  -0.6777  0.062  0.00   0.000      0.  0.740E+00  0.535E-01  0.583E-03  0.202E-04   44  17  17   20  20   8   12  18   9    0.000    0.000       0
+  0  10719 01:45:24.33   0.6510A   2.7647  -0.7356  -0.6218  0.062  0.00   0.000      0.  0.740E+00  0.537E-01  0.595E-03  0.178E-04   44  17  23   20  21   9   11  18   9    0.000    0.000       0
+  0  10728 01:45:30.25   0.6560A   2.7420  -0.6367  -0.6078  0.062  0.00   0.000      0.  0.740E+00  0.536E-01  0.591E-03  0.161E-04   43  17  29   46  17   6   14  11   9    0.000    0.000       0
+  0  10737 01:45:36.22   0.6710A   2.6827  -0.6556  -0.5745  0.062  0.00   0.000      0.  0.741E+00  0.535E-01  0.599E-03  0.160E-04   44  17   2   46  16  12   32  33  21    0.000    0.000       0
+  0  10746 01:45:42.20   0.6600A   2.7266  -0.6456  -0.6554  0.061  0.00   0.000      0.  0.741E+00  0.533E-01  0.588E-03  0.160E-04   44  17   8   46  16  19   29  20  23    0.000    0.000       0
+  0  10755 01:45:48.18   0.6720A   2.6798  -0.6073  -0.5815  0.059  0.00   0.000      0.  0.741E+00  0.530E-01  0.592E-03  0.160E-04   44  17  14   46  15  25   31  34  29    0.000    0.000       0
+  0  10764 01:45:54.23   0.6690A   2.6911  -0.5629  -0.6160  0.058  0.00   0.000      0.  0.741E+00  0.527E-01  0.586E-03  0.150E-04   42  16  18   41  38  25   30  34  33    0.000    0.000       0
+  0  10773 01:46:00.31   0.6850A   2.6269  -0.5532  -0.6010  0.056  0.00   0.000      0.  0.742E+00  0.524E-01  0.597E-03  0.172E-04   44  16  28   41  38  29   30  34  37    0.000    0.000       0
+  0  10782 01:46:06.51   0.6840A   2.6330   0.6416  -0.6097  0.054  0.00   0.000      0.  0.742E+00  0.523E-01  0.599E-03  0.188E-04   46  18  29   22  27   4   29  34   0    0.000    0.000       0
+  0  10791 01:46:12.63   0.6770A   2.6572   0.6269  -0.5800  0.053  0.00   0.000      0.  0.743E+00  0.522E-01  0.607E-03  0.221E-04   46  18  35   22  28   7   28  34   4    0.000    0.000       0
+  0  10799 01:46:18.04   0.6730A   2.6757   0.6791   0.5915  0.052  0.00   0.000      0.  0.744E+00  0.522E-01  0.611E-03  0.226E-04   46  21  39   22  14   2   20  17   9    0.000    0.000       0
+  0  10808 01:46:24.01   0.6610A   2.7230   0.7552  -0.5974  0.052  0.00   0.000      0.  0.744E+00  0.523E-01  0.607E-03  0.196E-04   46  21   6   20  25   8   26  22  15    0.000    0.000       0
+  0  10818 01:46:30.52   0.6540A   2.7530   0.7023  -0.6348  0.052  0.00   0.000      0.  0.745E+00  0.523E-01  0.611E-03  0.198E-04   46  21  12   21  14   6   13   4  35    0.000    0.000       0
+  0  10827 01:46:36.38   0.6500A   2.7691   0.8602  -0.6361  0.052  0.00   0.000      0.  0.745E+00  0.522E-01  0.611E-03  0.187E-04   46  21  19   21  15   8   13   4  38    0.000    0.000       0
+  0  10836 01:46:42.24   0.6500A   2.7675   0.7479  -0.6776  0.053  0.00   0.000      0.  0.746E+00  0.522E-01  0.615E-03  0.192E-04   46  21  26   21  17   8   18  21   9    0.000    0.000       0
+  0  10845 01:46:48.11   0.6550A   2.7461   0.6109  -0.8048  0.054  0.00   0.000      0.  0.746E+00  0.522E-01  0.623E-03  0.186E-04   46  21  32   20  16   8   18  20   9    0.000    0.000       0
+  0  10854 01:46:54.05   0.6630A   2.7136  -0.6599  -0.8655  0.055  0.00   0.000      0.  0.747E+00  0.522E-01  0.626E-03  0.159E-04   46  21  39   20  20   9   17  20   9    0.000    0.000       0
+  0  10863 01:47:00.06   0.6690A   2.6894  -0.5746  -0.7993  0.055  0.00   0.000      0.  0.747E+00  0.520E-01  0.631E-03  0.165E-04   46  21   7   42  35  37   16  20   9    0.000    0.000       0
+  0  10872 01:47:06.06   0.6680A   2.6938  -0.5842  -0.7356  0.055  0.00   0.000      0.  0.748E+00  0.517E-01  0.628E-03  0.164E-04   46  21  14   42  34   1   15  19   9    0.000    0.000       0
+  0  10881 01:47:12.09   0.6730A   2.6761  -0.5960  -0.6454  0.055  0.00   0.000      0.  0.748E+00  0.514E-01  0.631E-03  0.172E-04   46  21  21   42  34   6   15  19   9    0.000    0.000       0
+  0  10890 01:47:18.12   0.6660A   2.7016   0.6376  -0.6192  0.055  0.00   0.000      0.  0.748E+00  0.510E-01  0.622E-03  0.169E-04   46  21  28   21  19   8   16  26   9    0.000    0.000       0
+  0  10899 01:47:24.08   0.6560A   2.7450   0.7127  -0.6533  0.055  0.00   0.000      0.  0.749E+00  0.505E-01  0.610E-03  0.151E-04   45  21  35   21  20   8   15  26   9    0.000    0.000       0
+  0  10909 01:47:30.60   0.6550A   2.7494  -0.6092  -0.6636  0.055  0.00   0.000      0.  0.749E+00  0.500E-01  0.607E-03  0.144E-04   45  21   2   41  31  19   17  25   9    0.000    0.000       0
+  0  10918 01:47:36.51   0.6620A   2.7170  -0.6239  -0.6292  0.054  0.00   0.000      0.  0.749E+00  0.497E-01  0.612E-03  0.160E-04   46  21   9   41  30  23   16  24   9    0.000    0.000       0
+  0  10927 01:47:42.55   0.6730A   2.6737  -0.5958  -0.6103  0.054  0.00   0.000      0.  0.749E+00  0.496E-01  0.624E-03  0.197E-04   46  21  17   41  28  27   14  27   9    0.000    0.000       0
+  0  10936 01:47:48.61   0.6730A   2.6732  -0.6321   0.8096  0.053  0.00   0.000      0.  0.750E+00  0.496E-01  0.633E-03  0.244E-04   46  21  24   41  30  34   20  28   9    0.000    0.000       0
+  0  10944 01:47:54.03   0.6830A   2.6369  -0.5995   0.7237  0.051  0.00   0.000      0.  0.750E+00  0.498E-01  0.647E-03  0.270E-04   46  21  29   41  29  38   20  28   9    0.000    0.000       0
+  0  10953 01:48:00.18   0.6820A   2.6406   0.6814   0.6986  0.051  0.00   0.000      0.  0.750E+00  0.500E-01  0.651E-03  0.280E-04   46   5   1   20  28   8   21  17   9    0.000    0.000       0
+  0  10962 01:48:06.22   0.6680A   2.6942  -0.8308  -0.7747  0.051  0.00   0.000      0.  0.750E+00  0.501E-01  0.650E-03  0.281E-04   46   5   7   20  19   9   17  23   9    0.000    0.000       0
+  0  10971 01:48:12.24   0.6700A   2.6883  -0.8858  -1.0922  0.052  0.00   0.000      0.  0.750E+00  0.501E-01  0.658E-03  0.275E-04   45  21  14   19  19   9   16  22   9    0.000    0.000       0
+  0  10980 01:48:18.26   0.6680A   2.6953   0.8475  -1.1753  0.054  0.00   0.000      0.  0.750E+00  0.498E-01  0.643E-03  0.236E-04   45  21  21   20  19   8   15  22   9    0.000    0.000       0
+  0  10989 01:48:24.27   0.6690A   2.6916   0.7102  -1.0867  0.055  0.00   0.000      0.  0.750E+00  0.496E-01  0.633E-03  0.210E-04   45  21  28   18  30   9   13  22   9    0.000    0.000       0
+  0  10998 01:48:30.25   0.6650A   2.7060  -0.6239  -0.9899  0.056  0.00   0.000      0.  0.751E+00  0.493E-01  0.628E-03  0.197E-04   44  24   8   20  26   8   12  23   9    0.000    0.000       0
+  0  11007 01:48:36.23   0.6650A   2.7054  -0.6157  -0.9023  0.056  0.00   0.000      0.  0.751E+00  0.491E-01  0.625E-03  0.188E-04   46  24  39   20  25   8   10  23   9    0.000    0.000       0
+  0  11016 01:48:42.21   0.6630A   2.7163   0.5498  -0.8149  0.056  0.00   0.000      0.  0.751E+00  0.489E-01  0.614E-03  0.166E-04   43  23   7   18  30   9    8  23   9    0.000    0.000       0
+  0  11025 01:48:48.18   0.6630A   2.7135  -0.5671  -0.7404  0.056  0.00   0.000      0.  0.751E+00  0.487E-01  0.608E-03  0.147E-04   43  23  14   22  22  35    7  23   9    0.000    0.000       0
+  0  11034 01:48:54.13   0.6590A   2.7312  -0.5489  -0.6810  0.056  0.00   0.000      0.  0.752E+00  0.484E-01  0.599E-03  0.130E-04   46  25  19   39  20  24    5  23   9    0.000    0.000       0
+  0  11043 01:49:00.07   0.6620A   2.7179   0.5617  -0.6548  0.055  0.00   0.000      0.  0.752E+00  0.480E-01  0.596E-03  0.136E-04   46  25  26    9  19   6    5  28   9    0.000    0.000       0
+  0  11052 01:49:06.01   0.6580A   2.7373  -0.6008  -0.6624  0.054  0.00   0.000      0.  0.752E+00  0.477E-01  0.590E-03  0.160E-04   43  18  19   15  26   9   18  16   9    0.000    0.000       0
+  0  11062 01:49:12.61   0.6560A   2.7440  -0.5882  -0.6366  0.053  0.00   0.000      0.  0.753E+00  0.473E-01  0.583E-03  0.163E-04   46  26   1   15  25   9   17  16   9    0.000    0.000       0
+  0  11071 01:49:18.41   0.6340A   2.8376   0.6080  -0.6173  0.053  0.00   0.000      0.  0.753E+00  0.470E-01  0.559E-03  0.140E-04   46  26   7   23  13   7   20   9   4    0.000    0.000       0
+  0  11080 01:49:24.15   0.6400A   2.8125   0.6034  -0.5084  0.052  0.00   0.000      0.  0.754E+00  0.467E-01  0.561E-03  0.134E-04   46  26  13   22  13   9   19   9   6    0.000    0.000       0
+  0  11089 01:49:30.01   0.6520A   2.7610   0.6866   0.5036  0.052  0.00   0.000      0.  0.754E+00  0.464E-01  0.567E-03  0.140E-04   46  24  20   22  13  11   20  25   9    0.000    0.000       0
+  0  11099 01:49:36.54   0.6530A   2.7563   0.6214   0.5902  0.051  0.00   0.000      0.  0.755E+00  0.461E-01  0.567E-03  0.177E-04   46  24  27   23  14  16   20  25   9    0.000    0.000       0
+  0  11108 01:49:42.45   0.6590A   2.7333  -0.6392   0.6035  0.051  0.00   0.000      0.  0.756E+00  0.459E-01  0.571E-03  0.187E-04   46  24  33   22  11   9   20  12   9    0.000    0.000       0
+  0  11117 01:49:48.39   0.6600A   2.7293  -0.6391   0.5631  0.051  0.00   0.000      0.  0.757E+00  0.457E-01  0.565E-03  0.181E-04   46  23   5   22  10  12   20  27   9    0.000    0.000       0
+  0  11126 01:49:54.29   0.6500A   2.7712  -0.5914  -0.5551  0.052  0.00   0.000      0.  0.757E+00  0.456E-01  0.555E-03  0.179E-04   46  22  12   22  10  14   40  24   9    0.000    0.000       0
+  0  11135 01:50:00.08   0.6400A   2.8139  -0.6461  -0.6423  0.052  0.00   0.000      0.  0.758E+00  0.456E-01  0.551E-03  0.176E-04   46  24  16   21  13   8   39  24  14    0.000    0.000       0
+  0  11145 01:50:06.42   0.6310A   2.8512   0.5677  -0.6774  0.053  0.00   0.000      0.  0.759E+00  0.455E-01  0.539E-03  0.161E-04   45  22  20   20  27   9   17  22   9    0.000    0.000       0
+  0  11154 01:50:12.09   0.6230A   2.8889   0.6376  -0.7566  0.054  0.00   0.000      0.  0.759E+00  0.455E-01  0.523E-03  0.140E-04   43  16  18   19  30   9   17  21   9    0.000    0.000       0
+  0  11164 01:50:18.32   0.6190A   2.9064  -0.6142  -0.7803  0.054  0.00   0.000      0.  0.760E+00  0.454E-01  0.514E-03  0.145E-04   44  23  35   22   6  36   16  24   9    0.000    0.000       0
+  0  11174 01:50:24.49   0.6180A   2.9144  -0.6653  -0.8128  0.054  0.00   0.000      0.  0.761E+00  0.454E-01  0.512E-03  0.157E-04   45  23   1   20  15   9   16  26   9    0.000    0.000       0
+  0  11183 01:50:30.05   0.6220A   2.8955  -0.6332  -0.7794  0.055  0.00   0.000      0.  0.761E+00  0.453E-01  0.515E-03  0.158E-04   45  23   8   20  15   9   16  27   9    0.000    0.000       0
+  0  11193 01:50:36.25   0.6110A   2.9436  -0.5732  -0.7247  0.054  0.00   0.000      0.  0.762E+00  0.452E-01  0.502E-03  0.141E-04   42  24  14   40  23   2   17  28   9    0.000    0.000       0
+  0  11203 01:50:42.43   0.6230A   2.8908   0.6451  -0.7030  0.053  0.00   0.000      0.  0.763E+00  0.451E-01  0.508E-03  0.140E-04   42  24  21   22  15   8   17  26   9    0.000    0.000       0
+  0  11212 01:50:48.06   0.6260A   2.8771   0.7165  -0.6262  0.052  0.00   0.000      0.  0.764E+00  0.450E-01  0.511E-03  0.143E-04   45  22  24   22  16   8   16  25   9    0.000    0.000       0
+  0  11222 01:50:54.25   0.6200A   2.9056   0.7283  -0.5780  0.051  0.00   0.000      0.  0.764E+00  0.450E-01  0.510E-03  0.156E-04   46  22  32   21  16   8   11  19   8    0.000    0.000       0
+  0  11232 01:51:00.38   0.6110A   2.9436   0.7329  -0.5963  0.051  0.00   0.000      0.  0.765E+00  0.452E-01  0.508E-03  0.158E-04   46  21   0   20  16   8   10  23   8    0.000    0.000       0
+  0  11242 01:51:06.48   0.6090A   2.9549   0.6367  -0.6521  0.051  0.00   0.000      0.  0.766E+00  0.455E-01  0.509E-03  0.157E-04   46  21   7   19  16   9   18  14   9    0.000    0.000       0
+  0  11251 01:51:11***   0.6160A   2.9242   0.7048  -0.6873  0.051  0.00   0.000      0.  0.767E+00  0.458E-01  0.516E-03  0.154E-04   46  21  14   20  16   9   18  12   9    0.000    0.000       0
+  0  11261 01:51:18.21   0.6270A   2.8695   0.6194  -0.8926  0.051  0.00   0.000      0.  0.767E+00  0.460E-01  0.531E-03  0.157E-04   45  21  21   21  29   6   18  11   9    0.000    0.000       0
+  0  11271 01:51:24.52   0.6320A   2.8486   0.7259  -0.7069  0.051  0.00   0.000      0.  0.768E+00  0.462E-01  0.542E-03  0.161E-04   44  18  19   21  29   8   17  21   9    0.000    0.000       0
+  0  11280 01:51:30.17   0.6240A   2.8839  -0.7078  -0.7718  0.052  0.00   0.000      0.  0.769E+00  0.464E-01  0.539E-03  0.151E-04   44  18  26   20  18   9   16  21   9    0.000    0.000       0
+  0  11290 01:51:36.41   0.6220A   2.8929  -0.8227  -0.7821  0.052  0.00   0.000      0.  0.769E+00  0.465E-01  0.540E-03  0.144E-04   44  19  35   20  17   9   17  18   9    0.000    0.000       0
+  0  11300 01:51:42.59   0.6160A   2.9225  -0.7666  -0.8039  0.052  0.00   0.000      0.  0.770E+00  0.465E-01  0.536E-03  0.131E-04   44  19   2   19  17   9   16  18   9    0.000    0.000       0
+  0  11309 01:51:48.15   0.6190A   2.9102  -0.7330  -0.8577  0.053  0.00   0.000      0.  0.771E+00  0.465E-01  0.542E-03  0.131E-04   44  19   8   19  16   9   18  23   9    0.000    0.000       0
+  0  11319 01:51:54.38   0.6290A   2.8637  -0.7425  -0.8710  0.052  0.00   0.000      0.  0.771E+00  0.465E-01  0.551E-03  0.137E-04   44  19  16   18  16   9   16  23   9    0.000    0.000       0
+  0  11328 01:52:00.06   0.6320A   2.8473  -0.6567  -0.8185  0.052  0.00   0.000      0.  0.772E+00  0.465E-01  0.555E-03  0.155E-04   46  16  18   20  24   6   15  20   9    0.000    0.000       0
+  0  11338 01:52:06.38   0.6330A   2.8442  -0.7626  -0.8070  0.051  0.00   0.000      0.  0.772E+00  0.467E-01  0.556E-03  0.164E-04   46  16  25   20  24   8   14  20   9    0.000    0.000       0
+  0  11347 01:52:12.08   0.6320A   2.8481   0.7578  -0.7685  0.051  0.00   0.000      0.  0.773E+00  0.468E-01  0.552E-03  0.158E-04   45  21   4   22  32   1   13  19   9    0.000    0.000       0
+  0  11357 01:52:18.35   0.6240A   2.8868   0.7344  -0.7486  0.051  0.00   0.000      0.  0.774E+00  0.470E-01  0.546E-03  0.161E-04   46  21  11   22  32   5   12  19   9    0.000    0.000       0
+  0  11366 01:52:24.00   0.6300A   2.8578   0.7146  -0.7107  0.050  0.00   0.000      0.  0.774E+00  0.472E-01  0.558E-03  0.173E-04   46  21  17   22  33   7   12  18   9    0.000    0.000       0
+  0  11376 01:52:30.27   0.6260A   2.8775   0.7306  -0.7042  0.050  0.00   0.000      0.  0.775E+00  0.473E-01  0.561E-03  0.167E-04   46  20  25   22  32  12   10  18   9    0.000    0.000       0
+  0  11386 01:52:36.47   0.6160A   2.9199   0.7263  -0.6946  0.050  0.00   0.000      0.  0.776E+00  0.474E-01  0.560E-03  0.172E-04   46  18  33   20  27   6    9  18   9    0.000    0.000       0
+  0  11396 01:52:42.60   0.6080A   2.9621   0.9313  -0.6492  0.051  0.00   0.000      0.  0.776E+00  0.475E-01  0.551E-03  0.154E-04   46  18   0   20  27   8    8  18   9    0.000    0.000       0
+  0  11405 01:52:48.04   0.5940A   3.0286   0.8049  -0.7025  0.052  0.00   0.000      0.  0.777E+00  0.475E-01  0.536E-03  0.141E-04   44  20  32   20  30   9   17  20   9    0.000    0.000       0
+  0  11416 01:52:54.56   0.5890A   3.0583   0.6520  -0.7854  0.054  0.00   0.000      0.  0.777E+00  0.475E-01  0.529E-03  0.133E-04   44  20  39   20  30   9   16  20   9    0.000    0.000       0
+  0  11426 01:53:00.55   0.6070A   2.9674   0.6419  -0.8942  0.055  0.00   0.000      0.  0.777E+00  0.475E-01  0.544E-03  0.147E-04   44  20   6   22  38  26   17  23   9    0.000    0.000       0
+  0  11435 01:53:06.07   0.6130A   2.9370  -0.6314  -0.9528  0.056  0.00   0.000      0.  0.778E+00  0.474E-01  0.546E-03  0.147E-04   46  14  25   22  10   9   16  22   9    0.000    0.000       0
+  0  11445 01:53:12.21   0.6140A   2.9300  -0.6336  -0.9190  0.057  0.00   0.000      0.  0.778E+00  0.473E-01  0.538E-03  0.138E-04   46  13  32   22  10  12   14  22   9    0.000    0.000       0
+  0  11455 01:53:18.38   0.6220A   2.8947  -0.6483  -0.8509  0.057  0.00   0.000      0.  0.778E+00  0.473E-01  0.543E-03  0.146E-04   46  14   0   22  10  15   13  22   9    0.000    0.000       0
+  0  11465 01:53:24.60   0.6220A   2.8922  -0.6336  -0.7605  0.057  0.00   0.000      0.  0.779E+00  0.475E-01  0.544E-03  0.149E-04   46  12   6   22  10  18   12  21   9    0.000    0.000       0
+  0  11474 01:53:30.23   0.6270A   2.8691  -0.6372   0.7663  0.056  0.00   0.000      0.  0.779E+00  0.477E-01  0.561E-03  0.179E-04   46  12  13   22  13  30   20  10   9    0.000    0.000       0
+  0  11484 01:53:36.51   0.6230A   2.8884  -0.6508   0.7496  0.055  0.00   0.000      0.  0.779E+00  0.481E-01  0.579E-03  0.229E-04   45  13  25   22  13  33   20  11   9    0.000    0.000       0
+  0  11493 01:53:42.08   0.6140A   2.9305  -0.6964   0.8658  0.055  0.00   0.000      0.  0.780E+00  0.485E-01  0.584E-03  0.241E-04   45  12  32   22  13  36   21  12   9    0.000    0.000       0
+  0  11503 01:53:48.15   0.6030A   2.9840  -0.7114   0.8571  0.054  0.00   0.000      0.  0.780E+00  0.489E-01  0.580E-03  0.230E-04   46  12   0   20  26   9   21  13   9    0.000    0.000       0
+  0  11513 01:53:54.15   0.5980A   3.0101  -0.7733   0.7945  0.054  0.00   0.000      0.  0.780E+00  0.493E-01  0.584E-03  0.217E-04   46  12   7   21  12   0   20  24   9    0.000    0.000       0
+  0  11523 01:54:00.13   0.5990A   3.0041  -0.8199  -0.6891  0.054  0.00   0.000      0.  0.781E+00  0.495E-01  0.587E-03  0.194E-04   46  12  15   21  11   4    8  18   7    0.000    0.000       0
+  0  11533 01:54:06.16   0.6050A   2.9769  -0.8449  -0.6917  0.054  0.00   0.000      0.  0.781E+00  0.496E-01  0.595E-03  0.170E-04   46  12  22   20  11   6    7  18   7    0.000    0.000       0
+  0  11543 01:54:12.25   0.6100A   2.9508  -0.9717  -0.6463  0.055  0.00   0.000      0.  0.782E+00  0.496E-01  0.612E-03  0.175E-04   44  12  31   20   9   7    6  18   7    0.000    0.000       0
+  0  11553 01:54:18.35   0.6100A   2.9527  -0.8729  -0.7330  0.056  0.00   0.000      0.  0.782E+00  0.496E-01  0.623E-03  0.172E-04   44  12  38   20  11   8   17  19   9    0.000    0.000       0
+  0  11563 01:54:24.39   0.6010A   2.9930  -0.8547  -0.8887  0.058  0.00   0.000      0.  0.783E+00  0.495E-01  0.622E-03  0.164E-04   44  11   5   19  10   9   17  20   9    0.000    0.000       0
+  0  11573 01:54:30.35   0.5960A   3.0196  -0.7540  -0.9526  0.060  0.00   0.000      0.  0.783E+00  0.492E-01  0.618E-03  0.163E-04   46  15   6   19  14   9   16  16   9    0.000    0.000       0
+  0  11583 01:54:36.28   0.5950A   3.0246  -0.6967  -0.9769  0.060  0.00   0.000      0.  0.783E+00  0.487E-01  0.612E-03  0.160E-04   46  15  13   38  38  28   16  17   9    0.000    0.000       0
+  0  11593 01:54:42.24   0.5940A   3.0304  -0.6996  -0.9351  0.060  0.00   0.000      0.  0.783E+00  0.481E-01  0.606E-03  0.159E-04   46  15  20   38  37  33   16  20   9    0.000    0.000       0
+  0  11603 01:54:48.18   0.5890A   3.0585   0.7044  -0.8995  0.060  0.00   0.000      0.  0.784E+00  0.476E-01  0.600E-03  0.167E-04   46  15  27   38  20  37   15  20   9    0.000    0.000       0
+  0  11613 01:54:54.08   0.5890A   3.0564   0.7540  -0.8601  0.059  0.00   0.000      0.  0.784E+00  0.472E-01  0.600E-03  0.188E-04   46  15  34   38  21   1   13  20   9    0.000    0.000       0
+  0  11623 01:55:00.05   0.6000A   2.9994   0.7669   0.8232  0.057  0.00   0.000      0.  0.784E+00  0.470E-01  0.611E-03  0.200E-04   46  15   1   38  22   5   20  16   9    0.000    0.000       0
+  0  11633 01:55:06.13   0.6060A   2.9695   0.7560   0.7646  0.056  0.00   0.000      0.  0.784E+00  0.467E-01  0.615E-03  0.191E-04   41  12  23   31  20   8   20  16   9    0.000    0.000       0
+  0  11643 01:55:12.15   0.5960A   3.0221   0.7146  -0.7341  0.056  0.00   0.000      0.  0.785E+00  0.464E-01  0.601E-03  0.164E-04   41  12  30   27  19   9   24   7  32    0.000    0.000       0
+  0  11653 01:55:18.19   0.6070A   2.9649   0.7209  -0.8308  0.055  0.00   0.000      0.  0.785E+00  0.460E-01  0.606E-03  0.151E-04   41  12  37   27  20  14   16  20   9    0.000    0.000       0
+  0  11663 01:55:24.32   0.6180A   2.9119   0.6892  -0.8439  0.055  0.00   0.000      0.  0.785E+00  0.455E-01  0.611E-03  0.151E-04   45  12   1   27  20  18   15  20   9    0.000    0.000       0
+  0  11673 01:55:30.55   0.6240A   2.8854   0.6715  -0.7931  0.055  0.00   0.000      0.  0.786E+00  0.450E-01  0.618E-03  0.156E-04   45  17  17   31  21  28   14  20   9    0.000    0.000       0
+  0  11682 01:55:36.15   0.6190A   2.9095  -0.6609  -0.8029  0.055  0.00   0.000      0.  0.786E+00  0.446E-01  0.615E-03  0.161E-04   40  12  17   39  14  25   16  16   9    0.000    0.000       0
+  0  11692 01:55:42.42   0.6330A   2.8421   0.6765  -0.7820  0.054  0.00   0.000      0.  0.786E+00  0.441E-01  0.626E-03  0.171E-04   43  18  38   30  21  36   15  19   9    0.000    0.000       0
+  0  11702 01:55:48.58   0.6020A   2.9894   0.7101  -0.7437  0.053  0.00   0.000      0.  0.787E+00  0.437E-01  0.592E-03  0.165E-04   40  13  30   30  23   1   14  20   9    0.000    0.000       0
+  0  11711 01:55:54.19   0.6360A   2.8300   0.7075  -0.7268  0.053  0.00   0.000      0.  0.787E+00  0.434E-01  0.618E-03  0.172E-04   44  14  34   30  24   5   13  20   9    0.000    0.000       0
+  0  11721 01:56:00.50   0.6310A   2.8520   0.6880  -0.6825  0.053  0.00   0.000      0.  0.787E+00  0.430E-01  0.612E-03  0.175E-04   39  13   4   29  24   9   13  21   9    0.000    0.000       0
+  0  11730 01:56:06.06   0.6090A   2.9536   0.6950  -0.7008  0.053  0.00   0.000      0.  0.788E+00  0.427E-01  0.591E-03  0.174E-04   43  14   7   29  24  12   18  22   9    0.000    0.000       0
+  0  11740 01:56:12.14   0.6110A   2.9440  -0.6506  -0.9526  0.054  0.00   0.000      0.  0.788E+00  0.423E-01  0.588E-03  0.167E-04   43  14  14   43   9  35   17  21   9    0.000    0.000       0
+  0  11750 01:56:18.23   0.6100A   2.9485  -0.6464  -1.0561  0.055  0.00   0.000      0.  0.789E+00  0.418E-01  0.582E-03  0.170E-04   43  18  36   37  12  22   16  20   9    0.000    0.000       0
+  0  11760 01:56:24.34   0.6130A   2.9355  -0.6968  -0.9956  0.056  0.00   0.000      0.  0.789E+00  0.413E-01  0.577E-03  0.176E-04   43  18   3   37  11  28   14  21   9    0.000    0.000       0
+  0  11770 01:56:30.55   0.6280A   2.8655  -0.6020  -0.8946  0.056  0.00   0.000      0.  0.790E+00  0.407E-01  0.576E-03  0.167E-04   44  16  34   36  11  33   13  21   9    0.000    0.000       0
+  0  11779 01:56:36.16   0.6220A   2.8919   0.6083  -0.8008  0.056  0.00   0.000      0.  0.791E+00  0.402E-01  0.560E-03  0.158E-04   43  16   1   26  17   4   16  19   9    0.000    0.000       0
+  0  11789 01:56:42.47   0.6360A   2.8294  -0.5825  -0.7945  0.056  0.00   0.000      0.  0.791E+00  0.396E-01  0.563E-03  0.149E-04   46  14   4   42  35  34   16  20   9    0.000    0.000       0
+  0  11798 01:56:48.17   0.6320A   2.8475  -0.5884  -0.7481  0.055  0.00   0.000      0.  0.792E+00  0.391E-01  0.551E-03  0.144E-04   45  14  10   42  35  39   15  20   9    0.000    0.000       0
+  0  11808 01:56:54.30   0.6020A   2.9892  -0.5995  -0.7092  0.055  0.00   0.000      0.  0.793E+00  0.386E-01  0.518E-03  0.128E-04   41  17  23   22  10  33   12  17   9    0.000    0.000       0
+  0  11818 01:57:00.34   0.6120A   2.9396  -0.6047  -0.6695  0.054  0.00   0.000      0.  0.794E+00  0.383E-01  0.524E-03  0.123E-04   41  17  31   30  11   2   11  17   9    0.000    0.000       0
+  0  11828 01:57:06.56   0.6290A   2.8596  -0.6074  -0.6312  0.053  0.00   0.000      0.  0.795E+00  0.381E-01  0.533E-03  0.120E-04   46  14  34   28  10   2    9  17   9    0.000    0.000       0
+  0  11837 01:57:12.23   0.6260A   2.8736  -0.6632  -0.5985  0.053  0.00   0.000      0.  0.796E+00  0.380E-01  0.525E-03  0.131E-04   46  11   1   28  10   6    9  17   9    0.000    0.000       0
+  0  11847 01:57:18.43   0.6160A   2.9235   0.6736  -0.5632  0.052  0.00   0.000      0.  0.797E+00  0.379E-01  0.517E-03  0.150E-04   46  11   9   25  12  24    9  15   9    0.000    0.000       0
+  0  11857 01:57:24.56   0.6100A   2.9531   0.6490  -0.5789  0.052  0.00   0.000      0.  0.798E+00  0.378E-01  0.511E-03  0.151E-04   46  11  16   25  12  28   10  12   9    0.000    0.000       0
+  0  11866 01:57:30.04   0.6080A   2.9611   0.6096  -0.5898  0.051  0.00   0.000      0.  0.799E+00  0.378E-01  0.508E-03  0.138E-04   46  11  23   25  13  31    9  12   9    0.000    0.000       0
+  0  11876 01:57:36.17   0.6180A   2.9134   0.5850  -0.5912  0.051  0.00   0.000      0.  0.800E+00  0.377E-01  0.517E-03  0.139E-04   45  11  30   26  13  34   18  17   9    0.000    0.000       0
+  0  11886 01:57:42.37   0.6200A   2.9022  -0.5942  -0.6877  0.051  0.00   0.000      0.  0.801E+00  0.377E-01  0.522E-03  0.150E-04   46  10  37   28   8  26   18  14   9    0.000    0.000       0
+  0  11896 01:57:48.58   0.6200A   2.9030  -0.6551  -0.7443  0.050  0.00   0.000      0.  0.802E+00  0.377E-01  0.527E-03  0.150E-04   44  12   0   18  10   9   17  14   9    0.000    0.000       0
+  0  11905 01:57:54.17   0.6230A   2.8890  -0.6981  -0.7661  0.050  0.00   0.000      0.  0.803E+00  0.377E-01  0.530E-03  0.151E-04   44  12   6   18   9   9   17  16   9    0.000    0.000       0
+  0  11915 01:58:00.41   0.6230A   2.8894  -0.6403  -0.6895  0.050  0.00   0.000      0.  0.804E+00  0.378E-01  0.528E-03  0.141E-04   46  11  23   17  10   9   16  17   9    0.000    0.000       0
+  0  11924 01:58:06.01   0.6210A   2.8967  -0.6082  -0.6294  0.050  0.00   0.000      0.  0.805E+00  0.379E-01  0.525E-03  0.157E-04   45   9  27   17   9   9   17  12   9    0.000    0.000       0
+  0  11934 01:58:12.25   0.6250A   2.8819   0.8326  -0.6298  0.050  0.00   0.000      0.  0.806E+00  0.382E-01  0.529E-03  0.170E-04   46   9  35   20  29   8   17  12   9    0.000    0.000       0
+  0  11944 01:58:18.52   0.6290A   2.8610   0.9902  -0.8775  0.050  0.00   0.000      0.  0.808E+00  0.384E-01  0.535E-03  0.168E-04   44  10  36   19  30   9   18  27   9    0.000    0.000       0
+  0  11953 01:58:24.15   0.6220A   2.8936   0.9087  -0.9753  0.051  0.00   0.000      0.  0.809E+00  0.384E-01  0.531E-03  0.154E-04   46  39   6   18  31   9   17  28   9    0.000    0.000       0
+  0  11963 01:58:30.41   0.6320A   2.8470   0.9754  -1.0279  0.051  0.00   0.000      0.  0.810E+00  0.383E-01  0.534E-03  0.137E-04   46  10  10   20  30   9   17  23   9    0.000    0.000       0
+  0  11972 01:58:36.03   0.6180A   2.9137   0.7425  -1.0026  0.050  0.00   0.000      0.  0.811E+00  0.381E-01  0.519E-03  0.129E-04   42  33  23   21  31  14   16  23   9    0.000    0.000       0
+  0  11982 01:58:42.20   0.6200A   2.9049  -0.8229  -0.9705  0.050  0.00   0.000      0.  0.812E+00  0.378E-01  0.513E-03  0.123E-04   45  31  26   20  30   8   15  22   9    0.000    0.000       0
+  0  11992 01:58:48.37   0.6170A   2.9194  -0.8346  -0.8599  0.049  0.00   0.000      0.  0.814E+00  0.375E-01  0.507E-03  0.120E-04   46  31  34   20  27   8   16  20   9    0.000    0.000       0
+  0  12002 01:58:54.54   0.6170A   2.9167  -0.7581  -0.8041  0.048  0.00   0.000      0.  0.815E+00  0.373E-01  0.506E-03  0.124E-04   46  31   1   20  25   8   15  23   9    0.000    0.000       0
+  0  12011 01:59:00.11   0.6240A   2.8857  -0.7038  -0.7893  0.048  0.00   0.000      0.  0.817E+00  0.372E-01  0.511E-03  0.136E-04   46  31   9   43  25  18   15  21   9    0.000    0.000       0
+  0  12021 01:59:06.31   0.6140A   2.9325  -0.6137  -0.7684  0.047  0.00   0.000      0.  0.818E+00  0.371E-01  0.507E-03  0.143E-04   45  31  17   43  24  24   14  21   9    0.000    0.000       0
+  0  12031 01:59:12.42   0.6090A   2.9552  -0.6443  -0.7627  0.047  0.00   0.000      0.  0.819E+00  0.371E-01  0.506E-03  0.147E-04   45  31  25   45  25  34   13  20   9    0.000    0.000       0
+  0  12041 01:59:18.46   0.6020A   2.9876  -0.6690  -0.7419  0.047  0.00   0.000      0.  0.821E+00  0.371E-01  0.503E-03  0.157E-04   46  31  33   45  24   0   12  20   9    0.000    0.000       0
+  0  12051 01:59:24.55   0.6140A   2.9297  -0.6505  -0.6860  0.047  0.00   0.000      0.  0.822E+00  0.372E-01  0.513E-03  0.154E-04   46  30   0   46  23   6   11  20   9    0.000    0.000       0
+  0  12060 01:59:30.01   0.6010A   2.9926  -0.6374  -0.6587  0.048  0.00   0.000      0.  0.823E+00  0.373E-01  0.500E-03  0.133E-04   46  30   7   46  23  12    8  19   8    0.000    0.000       0
+  0  12070 01:59:36.04   0.6080A   2.9627  -0.6731  -0.8007  0.048  0.00   0.000      0.  0.825E+00  0.372E-01  0.506E-03  0.122E-04   46  30  15   20  10   9   17  13   9    0.000    0.000       0
+  0  12080 01:59:42.17   0.6190A   2.9079  -0.6086  -0.8455  0.048  0.00   0.000      0.  0.826E+00  0.371E-01  0.519E-03  0.119E-04   45  32   2   46  22  25   16  13   9    0.000    0.000       0
+  0  12090 01:59:48.35   0.6160A   2.9233  -0.6516  -0.7381  0.048  0.00   0.000      0.  0.827E+00  0.370E-01  0.515E-03  0.116E-04   45   8   1   44  21  29   15  14   9    0.000    0.000       0
+  0  12100 01:59:54.45   0.6080A   2.9622  -0.6684  -0.6950  0.047  0.00   0.000      0.  0.828E+00  0.368E-01  0.506E-03  0.111E-04   45  29  37   43  21  34   14  14   9    0.000    0.000       0
+  0  12110 02:00:00.53   0.6100A   2.9532  -0.7189  -0.6481  0.047  0.00   0.000      0.  0.830E+00  0.367E-01  0.502E-03  0.103E-04   46  37  30   43  20   0   13  14   9    0.000    0.000       0
+  0  12119 02:00:06.05   0.6150A   2.9253  -0.7163  -0.6350  0.046  0.00   0.000      0.  0.831E+00  0.366E-01  0.507E-03  0.104E-04   44  29   8   43  19   6   15  17   9    0.000    0.000       0
+  0  12129 02:00:12.15   0.5980A   3.0077  -0.6714  -0.6325  0.046  0.00   0.000      0.  0.832E+00  0.367E-01  0.497E-03  0.115E-04   46  37   5   43  18  12   14  17   9    0.000    0.000       0
+  0  12139 02:00:18.16   0.6050A   2.9773  -0.6589   0.6307  0.046  0.00   0.000      0.  0.833E+00  0.368E-01  0.505E-03  0.133E-04   46  37  12   42  17  18   21  11   9    0.000    0.000       0
+  0  12149 02:00:24.04   0.5790A   3.1102  -0.6298  -0.5982  0.046  0.00   0.000      0.  0.834E+00  0.369E-01  0.486E-03  0.132E-04   44  29  30   42  16  24   12  17   9    0.000    0.000       0
+  0  12160 02:00:30.40   0.5780A   3.1123  -0.6402  -0.7478  0.047  0.00   0.000      0.  0.835E+00  0.369E-01  0.481E-03  0.127E-04   44  29  37   41  16  30   18  26   9    0.000    0.000       0
+  0  12170 02:00:36.29   0.6040A   2.9823  -0.6448  -0.8695  0.047  0.00   0.000      0.  0.836E+00  0.369E-01  0.498E-03  0.135E-04   44  29   4   41  15  35   17  25   9    0.000    0.000       0
+  0  12180 02:00:42.26   0.5930A   3.0372  -0.6111  -0.9354  0.047  0.00   0.000      0.  0.836E+00  0.369E-01  0.489E-03  0.137E-04   44  27   4   44  17   6   16  25   9    0.000    0.000       0
+  0  12190 02:00:48.18   0.5940A   3.0279  -0.6285  -0.8973  0.047  0.00   0.000      0.  0.837E+00  0.369E-01  0.494E-03  0.143E-04   44  27  11   42  16   8   15  25   9    0.000    0.000       0
+  0  12200 02:00:54.16   0.5940A   3.0279  -0.5977  -0.8612  0.047  0.00   0.000      0.  0.838E+00  0.369E-01  0.495E-03  0.128E-04   42  28  22   31  39  19   14  23   9    0.000    0.000       0
+  0  12210 02:01:00.07   0.6020A   2.9917  -0.6447  -0.8309  0.048  0.00   0.000      0.  0.839E+00  0.369E-01  0.503E-03  0.122E-04   45   9  11   31  38  23   13  24   9    0.000    0.000       0
+  0  12220 02:01:06.09   0.6020A   2.9915  -0.6527  -0.7979  0.049  0.00   0.000      0.  0.840E+00  0.369E-01  0.504E-03  0.114E-04   46   9  19   31  36  26   12  24   9    0.000    0.000       0
+  0  12230 02:01:12.09   0.5990A   3.0060  -0.6754  -0.7458  0.049  0.00   0.000      0.  0.841E+00  0.369E-01  0.501E-03  0.109E-04   45   8  21   31  35  30   11  24   9    0.000    0.000       0
+  0  12240 02:01:18.06   0.5990A   3.0065  -0.6618  -0.6913  0.049  0.00   0.000      0.  0.842E+00  0.369E-01  0.505E-03  0.112E-04   45  28  13   31  34  34   10  24   9    0.000    0.000       0
+  0  12250 02:01:24.02   0.5930A   3.0354  -0.6152  -0.6531  0.050  0.00   0.000      0.  0.843E+00  0.369E-01  0.500E-03  0.123E-04   45   7  38   31  33  38   13  18   9    0.000    0.000       0
+  0  12261 02:01:30.52   0.5910A   3.0461  -0.5990   0.6329  0.050  0.00   0.000      0.  0.844E+00  0.370E-01  0.496E-03  0.128E-04   46   7   7   31  36   4   20  11   9    0.000    0.000       0
+  0  12271 02:01:36.43   0.5880A   3.0590   0.6030  -0.6101  0.049  0.00   0.000      0.  0.844E+00  0.370E-01  0.492E-03  0.129E-04   44  26  33   28  16  37    8  23   8    0.000    0.000       0
+  0  12281 02:01:42.35   0.5970A   3.0157  -0.5969  -0.5823  0.049  0.00   0.000      0.  0.845E+00  0.371E-01  0.499E-03  0.138E-04   44  26   0   40  12  16    6  23   8    0.000    0.000       0
+  0  12291 02:01:48.30   0.5900A   3.0492  -0.6467  -0.5802  0.049  0.00   0.000      0.  0.846E+00  0.373E-01  0.493E-03  0.141E-04   44   6  16   40  11  21    6  17   8    0.000    0.000       0
+  0  12301 02:01:54.20   0.5910A   3.0448  -0.7742  -0.5844  0.049  0.00   0.000      0.  0.847E+00  0.374E-01  0.493E-03  0.126E-04   44   6  24   20  20   8    6  17   8    0.000    0.000       0
+  0  12311 02:02:00.10   0.5880A   3.0590  -0.6696   0.6421  0.049  0.00   0.000      0.  0.848E+00  0.376E-01  0.490E-03  0.111E-04   45   0  17   40   9  32   15  29   8    0.000    0.000       0
+  0  12322 02:02:06.53   0.5840A   3.0799  -0.6439   0.6918  0.049  0.00   0.000      0.  0.849E+00  0.378E-01  0.488E-03  0.118E-04   46   0  26   40   9  39   16  29   8    0.000    0.000       0
+  0  12332 02:02:12.38   0.5870A   3.0654  -0.6453  -0.5686  0.048  0.00   0.000      0.  0.849E+00  0.380E-01  0.491E-03  0.121E-04   46   0  33   40   8   4   17  22   9    0.000    0.000       0
+  0  12342 02:02:18.26   0.5870A   3.0672  -0.6646  -0.6167  0.048  0.00   0.000      0.  0.850E+00  0.382E-01  0.489E-03  0.118E-04   46  38  37   40   7  10   17  22   9    0.000    0.000       0
+  0  12352 02:02:24.06   0.5750A   3.1278  -0.6216  -0.6604  0.048  0.00   0.000      0.  0.851E+00  0.384E-01  0.476E-03  0.115E-04   44   9  11   40   6  16   16  21   9    0.000    0.000       0
+  0  12363 02:02:30.34   0.5700A   3.1589  -0.6399  -0.6707  0.048  0.00   0.000      0.  0.852E+00  0.386E-01  0.470E-03  0.116E-04   44   9  20   39   6  22   15  21   9    0.000    0.000       0
+  0  12373 02:02:36.10   0.5780A   3.1150  -0.5782  -0.6578  0.049  0.00   0.000      0.  0.853E+00  0.388E-01  0.475E-03  0.117E-04   46   1  18   39   5  28   15  20   9    0.000    0.000       0
+  0  12384 02:02:42.43   0.5750A   3.1298  -0.5556  -0.6387  0.050  0.00   0.000      0.  0.854E+00  0.390E-01  0.470E-03  0.108E-04   46   1  26   38  38  25   15  19   9    0.000    0.000       0
+  0  12394 02:02:48.20   0.5750A   3.1295  -0.5760  -0.6769  0.050  0.00   0.000      0.  0.854E+00  0.393E-01  0.467E-03  0.931E-05   46   3  27   38  37  30   17  19   9    0.000    0.000       0
+  0  12405 02:02:54.53   0.5780A   3.1122   0.5551  -0.6732  0.050  0.00   0.000      0.  0.855E+00  0.395E-01  0.467E-03  0.836E-05   46   3  35   23  30  31   17  20   9    0.000    0.000       0
+  0  12415 02:03:00.37   0.5850A   3.0760  -0.6163  -0.6438  0.050  0.00   0.000      0.  0.856E+00  0.397E-01  0.471E-03  0.805E-05   46   1  11   41  38  18   16  20   9    0.000    0.000       0
+  0  12425 02:03:06.17   0.5760A   3.1229   0.6308  -0.6096  0.050  0.00   0.000      0.  0.857E+00  0.401E-01  0.465E-03  0.839E-05   42   3   6   23  32  37   16  17   9    0.000    0.000       0
+  0  12436 02:03:12.57   0.5860A   3.0726   0.6046  -0.5630  0.049  0.00   0.000      0.  0.858E+00  0.405E-01  0.477E-03  0.108E-04   44   9  29   23  32   0   15  17   9    0.000    0.000       0
+  0  12446 02:03:18.40   0.5820A   3.0938   0.5947   0.6462  0.049  0.00   0.000      0.  0.859E+00  0.410E-01  0.482E-03  0.138E-04   44   9  36   23  33   2   20  28   9    0.000    0.000       0
+  0  12456 02:03:24.15   0.5720A   3.1456   0.5814   0.7249  0.048  0.00   0.000      0.  0.860E+00  0.415E-01  0.478E-03  0.150E-04   44   3  34   31  15  39   20  28   9    0.000    0.000       0
+  0  12467 02:03:30.47   0.5720A   3.1476   0.5858   0.7560  0.047  0.00   0.000      0.  0.860E+00  0.421E-01  0.482E-03  0.151E-04   45  39  19   24  35  12   20  27   9    0.000    0.000       0
+  0  12477 02:03:36.16   0.5720A   3.1476  -0.5846   0.7060  0.047  0.00   0.000      0.  0.861E+00  0.426E-01  0.482E-03  0.148E-04   45  39  25   32  36  33   20  27   9    0.000    0.000       0
+  0  12488 02:03:42.47   0.5800A   3.1041  -0.7034   0.6823  0.047  0.00   0.000      0.  0.862E+00  0.432E-01  0.487E-03  0.127E-04   43   2  21   20  16   9   21  12   9    0.000    0.000       0
+  0  12498 02:03:48.21   0.5690A   3.1645  -0.6911  -0.7512  0.048  0.00   0.000      0.  0.862E+00  0.437E-01  0.475E-03  0.106E-04   43   2  28   19  15   9   17  17   9    0.000    0.000       0
+  0  12509 02:03:54.48   0.5700A   3.1563  -0.6354  -0.7077  0.048  0.00   0.000      0.  0.863E+00  0.441E-01  0.475E-03  0.101E-04   43   2  36   20  14   9   16  18   9    0.000    0.000       0
+  0  12519 02:04:00.18   0.5680A   3.1672   0.6764  -0.6695  0.049  0.00   0.000      0.  0.864E+00  0.445E-01  0.473E-03  0.998E-05   43   2   3   35  18  13   16  19   9    0.000    0.000       0
+  0  12530 02:04:06.46   0.5710A   3.1530   0.6461  -0.6387  0.049  0.00   0.000      0.  0.864E+00  0.448E-01  0.472E-03  0.981E-05   43   2  11   35  19  18   17  29   8    0.000    0.000       0
+  0  12540 02:04:12.19   0.5730A   3.1421   0.5760  -0.6672  0.048  0.00   0.000      0.  0.865E+00  0.450E-01  0.474E-03  0.956E-05   45   0  30   29  11  33   25  10  17    0.000    0.000       0
+  0  12551 02:04:18.49   0.5690A   3.1620  -0.6607   0.6229  0.048  0.00   0.000      0.  0.865E+00  0.452E-01  0.474E-03  0.103E-04   45   0   5   20  27   9   37  33  38    0.000    0.000       0
+  0  12561 02:04:24.15   0.5680A   3.1667  -0.6277   0.7085  0.047  0.00   0.000      0.  0.866E+00  0.455E-01  0.476E-03  0.105E-04   45   0  12   42  18  25   37  33   4    0.000    0.000       0
+  0  12572 02:04:30.43   0.5730A   3.1393   0.6438   0.7597  0.047  0.00   0.000      0.  0.866E+00  0.457E-01  0.484E-03  0.108E-04   46   0  14   29  19  31   38  33   9    0.000    0.000       0
+  0  12582 02:04:36.21   0.5780A   3.1122  -0.6290   0.7541  0.046  0.00   0.000      0.  0.866E+00  0.460E-01  0.493E-03  0.114E-04   45   8  37   32  39   7   38  33  14    0.000    0.000       0
+  0  12593 02:04:42.53   0.5720A   3.1469   0.6730   0.6943  0.046  0.00   0.000      0.  0.867E+00  0.463E-01  0.493E-03  0.120E-04   46   8   5   31  19  39   39  32  18    0.000    0.000       0
+  0  12603 02:04:48.27   0.5760A   3.1255  -0.6855   0.6866  0.045  0.00   0.000      0.  0.867E+00  0.466E-01  0.500E-03  0.131E-04   46   8  12   32  38  17   40  32  22    0.000    0.000       0
+  0  12613 02:04:54.02   0.5760A   3.1252  -0.6047   0.7037  0.045  0.00   0.000      0.  0.868E+00  0.469E-01  0.501E-03  0.131E-04   44   7  25   32  37  21   40  31  25    0.000    0.000       0
+  0  12624 02:05:00.31   0.5680A   3.1667  -0.6214   0.6361  0.045  0.00   0.000      0.  0.868E+00  0.473E-01  0.492E-03  0.115E-04   44   8  32   32  17   7   41  31  30    0.000    0.000       0
+  0  12635 02:05:06.56   0.5680A   3.1706   0.6633  -0.6347  0.045  0.00   0.000      0.  0.869E+00  0.476E-01  0.494E-03  0.115E-04   44   8   0   37  20  32   39  38  15    0.000    0.000       0
+  0  12645 02:05:12.21   0.5640A   3.1931  -0.6699   0.6366  0.045  0.00   0.000      0.  0.869E+00  0.480E-01  0.495E-03  0.123E-04   44   8   8   30   7  19   42  34   6    0.000    0.000       0
+  0  12656 02:05:18.37   0.5600A   3.2134   0.7050  -0.7190  0.045  0.00   0.000      0.  0.870E+00  0.485E-01  0.490E-03  0.123E-04   44   2  27   45  36  11   28   4   0    0.000    0.000       0
+  0  12667 02:05:24.49   0.5570A   3.2317   0.7581  -0.7699  0.045  0.00   0.000      0.  0.870E+00  0.489E-01  0.490E-03  0.122E-04   44   2  35   45  37  16   28   5   3    0.000    0.000       0
+  0  12677 02:05:30.08   0.5610A   3.2071   0.8095  -0.8196  0.045  0.00   0.000      0.  0.871E+00  0.493E-01  0.496E-03  0.123E-04   44   2   2   46  38  21   27   5   7    0.000    0.000       0
+  0  12688 02:05:36.34   0.5720A   3.1442   0.8213  -0.9360  0.044  0.00   0.000      0.  0.871E+00  0.496E-01  0.507E-03  0.124E-04   43   8  37   46  39  27   26   5  12    0.000    0.000       0
+  0  12698 02:05:42.07   0.5750A   3.1324   0.7742  -0.8939  0.045  0.00   0.000      0.  0.872E+00  0.499E-01  0.516E-03  0.122E-04   46  12   0   45   0  32   25   5  16    0.000    0.000       0
+  0  12709 02:05:48.35   0.5680A   3.1702   0.7385  -0.8095  0.045  0.00   0.000      0.  0.872E+00  0.502E-01  0.517E-03  0.122E-04   46  12   9   45   1  38   24   5  22    0.000    0.000       0
+  0  12719 02:05:54.03   0.5680A   3.1713   0.7325  -0.7654  0.045  0.00   0.000      0.  0.873E+00  0.505E-01  0.520E-03  0.120E-04   46  37  39   45   2   4   23   5  25    0.000    0.000       0
+  0  12730 02:06:00.27   0.5700A   3.1588   0.6863  -0.7076  0.046  0.00   0.000      0.  0.874E+00  0.509E-01  0.526E-03  0.123E-04   44   9  31   35  10   9   23   6  28    0.000    0.000       0
+  0  12741 02:06:06.54   0.5700A   3.1581   0.7160  -0.7335  0.047  0.00   0.000      0.  0.875E+00  0.514E-01  0.528E-03  0.114E-04   44   9   0   33  10  12   25   4  36    0.000    0.000       0
+  0  12751 02:06:12.20   0.5630A   3.1969   0.7714  -0.7112  0.047  0.00   0.000      0.  0.875E+00  0.518E-01  0.525E-03  0.955E-05   44   8  10   33  10  16   24   4   0    0.000    0.000       0
+  0  12762 02:06:18.37   0.5590A   3.2189   0.7286  -0.7137  0.047  0.00   0.000      0.  0.876E+00  0.522E-01  0.528E-03  0.105E-04   44   8  18   33  10  20   28   5   6    0.000    0.000       0
+  0  12773 02:06:24.52   0.5590A   3.2221  -0.6635  -0.7733  0.046  0.00   0.000      0.  0.877E+00  0.526E-01  0.531E-03  0.111E-04   44   8  27   38  39  22   27   4  10    0.000    0.000       0
+  0  12783 02:06:30.10   0.5600A   3.2171   0.6861  -0.7273  0.046  0.00   0.000      0.  0.877E+00  0.529E-01  0.539E-03  0.121E-04   44   8  34   36  14  37   35  12   1    0.000    0.000       0
+  0  12794 02:06:36.23   0.5540A   3.2492   0.7073  -0.6859  0.044  0.00   0.000      0.  0.878E+00  0.533E-01  0.543E-03  0.123E-04   45   9  37   36  14   3   35  13   5    0.000    0.000       0
+  0  12805 02:06:42.28   0.5470A   3.2895   0.6976   0.6822  0.043  0.00   0.000      0.  0.879E+00  0.538E-01  0.542E-03  0.124E-04   46   9   6   36  15   8   21  13   9    0.000    0.000       0
+  0  12816 02:06:48.26   0.5420A   3.3209  -0.7496  -0.7026  0.043  0.00   0.000      0.  0.880E+00  0.544E-01  0.537E-03  0.119E-04   46   9  14   22  35  30   25  35  32    0.000    0.000       0
+  0  12827 02:06:54.26   0.5490A   3.2781  -0.7344  -0.6560  0.042  0.00   0.000      0.  0.881E+00  0.551E-01  0.543E-03  0.121E-04   43   8  26   22  34  33   33  14  21    0.000    0.000       0
+  0  12838 02:07:00.31   0.5520A   3.2587  -0.6923  -0.6537  0.041  0.00   0.000      0.  0.881E+00  0.559E-01  0.547E-03  0.120E-04   43   8  35   34   3  10   23  35   1    0.000    0.000       0
+  0  12849 02:07:06.39   0.5460A   3.2961   0.7931  -0.6378  0.040  0.00   0.000      0.  0.882E+00  0.566E-01  0.546E-03  0.124E-04   45   9   2   33  20  12   25  35   7    0.000    0.000       0
+  0  12860 02:07:12.29   0.5290A   3.4018   0.7981  -0.7133  0.039  0.00   0.000      0.  0.882E+00  0.573E-01  0.537E-03  0.140E-04   45   9  11   33  21  16   33  16  15    0.000    0.000       0
+  0  12871 02:07:18.06   0.5210A   3.4577  -0.7505  -0.6855  0.038  0.00   0.000      0.  0.883E+00  0.580E-01  0.537E-03  0.154E-04   45   9  19   34   1  28   23  35  15    0.000    0.000       0
+  0  12883 02:07:24.29   0.5170A   3.4821  -0.7398  -0.7578  0.038  0.00   0.000      0.  0.883E+00  0.586E-01  0.539E-03  0.149E-04   46   9  28   34   0  34   21  35  19    0.000    0.000       0
+  0  12894 02:07:30.04   0.5300A   3.3961  -0.7696  -0.6834  0.037  0.00   0.000      0.  0.883E+00  0.592E-01  0.551E-03  0.146E-04   46   9  36   33   3  37   20  35  22    0.000    0.000       0
+  0  12905 02:07:36.05   0.5560A   3.2389  -0.7813   0.6878  0.038  0.00   0.000      0.  0.884E+00  0.597E-01  0.572E-03  0.146E-04   44   9   3   33   2   2   21  30  24    0.000    0.000       0
+  0  12916 02:07:42.23   0.5620A   3.2032  -0.7261  -0.7922  0.038  0.00   0.000      0.  0.884E+00  0.601E-01  0.575E-03  0.138E-04   42   8   9   20  18   8   18  29   9    0.000    0.000       0
+  0  12927 02:07:48.44   0.5670A   3.1762  -0.6750  -0.7251  0.039  0.00   0.000      0.  0.884E+00  0.605E-01  0.580E-03  0.134E-04   44   8   9   20  17   8   18  28   9    0.000    0.000       0
+  0  12937 02:07:54.12   0.5700A   3.1597   0.6551   0.6526  0.039  0.00   0.000      0.  0.885E+00  0.607E-01  0.582E-03  0.124E-04   44   8  16   17   2  34   23  30  32    0.000    0.000       0
+  0  12948 02:08:00.41   0.5680A   3.1668  -0.6606   0.6441  0.040  0.00   0.000      0.  0.885E+00  0.608E-01  0.578E-03  0.107E-04   46  10  24   36   0  27   23  30  36    0.000    0.000       0
+  0  12958 02:08:06.04   0.5630A   3.1997  -0.7050  -0.6225  0.040  0.00   0.000      0.  0.886E+00  0.609E-01  0.572E-03  0.103E-04   46  10  32   19  37   7   20  35  13    0.000    0.000       0
+  0  12969 02:08:12.21   0.5590A   3.2211  -0.6979   0.6238  0.040  0.00   0.000      0.  0.886E+00  0.610E-01  0.566E-03  0.112E-04   38   9   8   43  17  24   20  29   9    0.000    0.000       0
+  0  12980 02:08:18.31   0.5520A   3.2634  -0.6950  -0.7209  0.039  0.00   0.000      0.  0.887E+00  0.611E-01  0.564E-03  0.137E-04   38  10  14   16  33  37   22  36  22    0.000    0.000       0
+  0  12991 02:08:24.43   0.5620A   3.2047  -0.6497  -0.7296  0.039  0.00   0.000      0.  0.887E+00  0.615E-01  0.586E-03  0.185E-04   38  10  21   16  33  39   21  36  25    0.000    0.000       0
+  0  13001 02:08:30.17   0.5840A   3.0829  -0.6566   0.8425  0.038  0.00   0.000      0.  0.888E+00  0.620E-01  0.624E-03  0.229E-04   38   8  29   15  33   0   20  11   9    0.000    0.000       0
+  0  13012 02:08:36.53   0.5770A   3.1201  -0.7106   0.8523  0.037  0.00   0.000      0.  0.888E+00  0.627E-01  0.631E-03  0.255E-04   46  14  12   26  11  31   20  11   9    0.000    0.000       0
+  0  13022 02:08:42.28   0.5740A   3.1337  -0.7940   1.0321  0.037  0.00   0.000      0.  0.889E+00  0.634E-01  0.635E-03  0.257E-04   46  14  19   19  24   9   20  29   9    0.000    0.000       0
+  0  13032 02:08:48.04   0.5770A   3.1180  -0.7444   1.1294  0.038  0.00   0.000      0.  0.889E+00  0.642E-01  0.641E-03  0.237E-04   45  14  26   19  23   9   20  28   9    0.000    0.000       0
+  0  13043 02:08:54.35   0.5710A   3.1548   0.7178   1.1135  0.038  0.00   0.000      0.  0.889E+00  0.650E-01  0.642E-03  0.227E-04   43  11  11   15  14   9   20  27   9    0.000    0.000       0
+  0  13053 02:09:00.06   0.5670A   3.1734  -0.8422   1.0269  0.038  0.00   0.000      0.  0.889E+00  0.656E-01  0.643E-03  0.231E-04   44  15   3   20  30   8   20  27   9    0.000    0.000       0
+  0  13064 02:09:06.30   0.5680A   3.1675  -0.8904  -1.1294  0.039  0.00   0.000      0.  0.889E+00  0.661E-01  0.658E-03  0.238E-04   44  15  11   16  30   6   15  29   8    0.000    0.000       0
+  0  13074 02:09:12.08   0.5840A   3.0814   0.9528   0.9471  0.040  0.00   0.000      0.  0.889E+00  0.665E-01  0.693E-03  0.249E-04   46  38  22   21  28   8   20  26   9    0.000    0.000       0
+  0  13085 02:09:18.56   0.5950A   3.0238   1.0226   0.9161  0.040  0.00   0.000      0.  0.889E+00  0.666E-01  0.721E-03  0.245E-04   46  39  29   21  29   8   20  24   9    0.000    0.000       0
+  0  13095 02:09:24.56   0.6000A   2.9995  -0.9725   0.7935  0.039  0.00   0.000      0.  0.889E+00  0.665E-01  0.728E-03  0.225E-04   46  38   0   12  28   8   20  25   9    0.000    0.000       0
+  0  13105 02:09:30.52   0.5910A   3.0462  -0.9828  -0.7648  0.039  0.00   0.000      0.  0.888E+00  0.662E-01  0.718E-03  0.211E-04   44   6   9   12  26   9   17  32   7    0.000    0.000       0
+  0  13115 02:09:36.41   0.5870A   3.0655  -0.8657  -0.8217  0.039  0.00   0.000      0.  0.888E+00  0.659E-01  0.716E-03  0.202E-04   44   6  17   11  24   9   15  32   8    0.000    0.000       0
+  0  13125 02:09:42.30   0.5930A   3.0363   0.7780  -0.8038  0.040  0.00   0.000      0.  0.887E+00  0.657E-01  0.727E-03  0.189E-04   46   2  15   20  26   8   14  32  10    0.000    0.000       0
+  0  13135 02:09:48.23   0.5930A   3.0353  -0.7222  -0.7194  0.040  0.00   0.000      0.  0.887E+00  0.654E-01  0.731E-03  0.188E-04   46   2  22   42  12  24   12  32  11    0.000    0.000       0
+  0  13145 02:09:54.16   0.5930A   3.0365  -0.7651  -0.8409  0.041  0.00   0.000      0.  0.887E+00  0.652E-01  0.741E-03  0.203E-04   46   3  29   16  38  13   17  19   9    0.000    0.000       0
+  0  13155 02:10:00.09   0.5930A   3.0341   0.7997  -0.8391  0.042  0.00   0.000      0.  0.886E+00  0.650E-01  0.743E-03  0.218E-04   45   3  36   20  26   9   16  18   9    0.000    0.000       0
+  0  13166 02:10:06.58   0.5910A   3.0477  -0.7772  -0.8008  0.042  0.00   0.000      0.  0.886E+00  0.647E-01  0.741E-03  0.218E-04   46  13  11   16  36  18   17  23   9    0.000    0.000       0
+  0  13176 02:10:12.47   0.5890A   3.0573   0.8175  -0.9037  0.042  0.00   0.000      0.  0.885E+00  0.644E-01  0.742E-03  0.225E-04   44   4  14   19  31   9   16  21   9    0.000    0.000       0
+  0  13186 02:10:18.33   0.5840A   3.0831  -0.7980  -0.8581  0.042  0.00   0.000      0.  0.885E+00  0.642E-01  0.737E-03  0.230E-04   44   4  21   38  39  16   15  22   9    0.000    0.000       0
+  0  13196 02:10:24.11   0.5770A   3.1177  -0.8038  -0.7678  0.043  0.00   0.000      0.  0.885E+00  0.639E-01  0.727E-03  0.220E-04   44   4  29   32   2  16   14  21   9    0.000    0.000       0
+  0  13207 02:10:30.48   0.5780A   3.1121   0.8016   0.9083  0.044  0.00   0.000      0.  0.884E+00  0.637E-01  0.732E-03  0.239E-04   46   2  39   18  30   9   19  28   8    0.000    0.000       0
+  0  13217 02:10:36.21   0.5680A   3.1701  -0.7682   0.9845  0.044  0.00   0.000      0.  0.884E+00  0.637E-01  0.723E-03  0.260E-04   45   2   6   16  30   4   20  27   8    0.000    0.000       0
+  0  13228 02:10:42.40   0.5630A   3.1993  -0.8057   1.0735  0.044  0.00   0.000      0.  0.884E+00  0.638E-01  0.718E-03  0.258E-04   46   2  14   16  30   6   21  26   9    0.000    0.000       0
+  0  13238 02:10:48.02   0.5640A   3.1935  -0.9731   0.9806  0.044  0.00   0.000      0.  0.883E+00  0.638E-01  0.716E-03  0.231E-04   46   2  22   21  25   8   20  26   9    0.000    0.000       0
+  0  13249 02:10:54.27   0.5720A   3.1452  -0.9052   0.9401  0.043  0.00   0.000      0.  0.883E+00  0.639E-01  0.712E-03  0.185E-04   46   2  30   22  23   8   21  24   9    0.000    0.000       0
+  0  13259 02:11:00.02   0.5720A   3.1468  -0.8898   1.0238  0.043  0.00   0.000      0.  0.883E+00  0.639E-01  0.700E-03  0.169E-04   44   1   1   15  24   9   21  23   9    0.000    0.000       0
+  0  13270 02:11:06.29   0.5640A   3.1900  -0.8472   0.8669  0.043  0.00   0.000      0.  0.882E+00  0.637E-01  0.687E-03  0.173E-04   44   0   8   15  23   9   22  23   9    0.000    0.000       0
+  0  13281 02:11:12.42   0.5490A   3.2765  -0.8724   0.7330  0.043  0.00   0.000      0.  0.882E+00  0.637E-01  0.671E-03  0.176E-04   44   0  16   12  26   9   21  22   9    0.000    0.000       0
+  0  13292 02:11:18.47   0.5550A   3.2422  -0.9049   0.7239  0.043  0.00   0.000      0.  0.881E+00  0.637E-01  0.677E-03  0.193E-04   44   0  23   11  25   9   20  25   9    0.000    0.000       0
+  0  13302 02:11:24.12   0.5720A   3.1491  -0.8995   0.7277  0.043  0.00   0.000      0.  0.881E+00  0.639E-01  0.691E-03  0.215E-04   44   2  31   10  24   9   20  25   9    0.000    0.000       0
+  0  13313 02:11:30.45   0.5820A   3.0930  -0.8764   0.7092  0.043  0.00   0.000      0.  0.881E+00  0.642E-01  0.692E-03  0.215E-04   44   2  39   10  23   9   20  11   9    0.000    0.000       0
+  0  13323 02:11:36.32   0.5860A   3.0708  -0.8114  -0.7475  0.042  0.00   0.000      0.  0.881E+00  0.647E-01  0.692E-03  0.219E-04   46  13   0   10  26   9    5  28   9    0.000    0.000       0
+  0  13333 02:11:42.14   0.5810A   3.0955  -0.8836  -0.7978  0.042  0.00   0.000      0.  0.880E+00  0.651E-01  0.685E-03  0.222E-04   44   2  15    9  25   9    5  28   9    0.000    0.000       0
+  0  13344 02:11:48.52   0.5770A   3.1201  -0.8598  -0.7521  0.042  0.00   0.000      0.  0.880E+00  0.657E-01  0.677E-03  0.225E-04   42  13   7    9  23   9    4  27   9    0.000    0.000       0
+  0  13354 02:11:54.33   0.5790A   3.1075  -0.7788   0.7613  0.041  0.00   0.000      0.  0.880E+00  0.661E-01  0.673E-03  0.229E-04   46   8  27    9  22   9   20  27   9    0.000    0.000       0
+  0  13364 02:12:00.14   0.5840A   3.0834  -0.7059   0.8492  0.041  0.00   0.000      0.  0.880E+00  0.667E-01  0.674E-03  0.237E-04   46   8  35   24  37  28   20  29   9    0.000    0.000       0
+  0  13375 02:12:06.59   0.5890A   3.0558  -0.7180   1.0316  0.041  0.00   0.000      0.  0.879E+00  0.674E-01  0.673E-03  0.228E-04   46   8   3   23   1  32   20  28   9    0.000    0.000       0
+  0  13385 02:12:12.47   0.5900A   3.0527  -0.7336   0.9474  0.042  0.00   0.000      0.  0.879E+00  0.680E-01  0.670E-03  0.210E-04   45   8  11   16  27   9   20  28   9    0.000    0.000       0
+  0  13395 02:12:18.37   0.5910A   3.0445  -0.7914   0.7888  0.042  0.00   0.000      0.  0.879E+00  0.687E-01  0.665E-03  0.187E-04   45   8  19   17  26   9   20  26   9    0.000    0.000       0
+  0  13405 02:12:24.26   0.5900A   3.0528  -0.7914  -0.6879  0.042  0.00   0.000      0.  0.879E+00  0.693E-01  0.656E-03  0.162E-04   45   7  30   15  25   9   29   0   0    0.000    0.000       0
+  0  13415 02:12:30.13   0.5840A   3.0798  -0.7817  -0.6812  0.042  0.00   0.000      0.  0.879E+00  0.698E-01  0.647E-03  0.151E-04   45   7  38   15  24   9   28   0   4    0.000    0.000       0
+  0  13426 02:12:36.53   0.5790A   3.1102  -0.7374  -0.6881  0.042  0.00   0.000      0.  0.879E+00  0.702E-01  0.646E-03  0.152E-04   46   7   9   15  23   9   28   1  11    0.000    0.000       0
+  0  13436 02:12:42.29   0.5760A   3.1253   0.7432  -0.6916  0.042  0.00   0.000      0.  0.879E+00  0.707E-01  0.647E-03  0.152E-04   46   7  17   24   9  18   26   0  13    0.000    0.000       0
+  0  13446 02:12:48.04   0.5740A   3.1345   0.7537  -0.7129  0.042  0.00   0.000      0.  0.878E+00  0.713E-01  0.647E-03  0.150E-04   45   8  22   24   8  23   26   0  18    0.000    0.000       0
+  0  13457 02:12:54.39   0.5800A   3.1061   0.7439  -0.7082  0.041  0.00   0.000      0.  0.879E+00  0.722E-01  0.654E-03  0.145E-04   46   7  35   23   8  26   25   0  22    0.000    0.000       0
+  0  13467 02:13:00.18   0.5780A   3.1142  -0.7701  -0.7753  0.041  0.00   0.000      0.  0.879E+00  0.731E-01  0.658E-03  0.156E-04   44   6  36   14  25   9   24   0  26    0.000    0.000       0
+  0  13478 02:13:06.47   0.5690A   3.1660  -0.8637   0.8016  0.041  0.00   0.000      0.  0.879E+00  0.741E-01  0.661E-03  0.155E-04   44   6   5   15  26   9   20  28   9    0.000    0.000       0
+  0  13488 02:13:12.14   0.5660A   3.1815  -0.8732   0.7063  0.040  0.00   0.000      0.  0.878E+00  0.749E-01  0.666E-03  0.157E-04   44   6  12   15  25   9   20  26   9    0.000    0.000       0
+  0  13499 02:13:18.38   0.5700A   3.1585  -0.8411   0.7007  0.040  0.00   0.000      0.  0.878E+00  0.754E-01  0.674E-03  0.159E-04   44   6  20   18  26   9   20  12   9    0.000    0.000       0
+  0  13509 02:13:24.08   0.5710A   3.1531  -0.7932   0.7357  0.040  0.00   0.000      0.  0.878E+00  0.758E-01  0.676E-03  0.163E-04   46   8  36   19  26   9   21  14   9    0.000    0.000       0
+  0  13520 02:13:30.34   0.5660A   3.1789  -0.7339   0.8043  0.040  0.00   0.000      0.  0.878E+00  0.760E-01  0.676E-03  0.168E-04   46  12  29   24  11  39   22  15   9    0.000    0.000       0
+  0  13531 02:13:36.51   0.5550A   3.2410  -0.7151   0.7279  0.041  0.00   0.000      0.  0.878E+00  0.763E-01  0.674E-03  0.181E-04   46  12  37   26  27  27   21  15   9    0.000    0.000       0
+  0  13541 02:13:42.06   0.5590A   3.2209  -0.7712   0.6933  0.041  0.00   0.000      0.  0.877E+00  0.767E-01  0.689E-03  0.205E-04   45  12   4   26  26  29   21  15   9    0.000    0.000       0
+  0  13552 02:13:48.22   0.5610A   3.2108  -0.7366  -0.7305  0.042  0.00   0.000      0.  0.877E+00  0.771E-01  0.697E-03  0.212E-04   45   8  13   21   2  32   25  10  24    0.000    0.000       0
+  0  13563 02:13:54.35   0.5550A   3.2413  -0.7641   0.7366  0.042  0.00   0.000      0.  0.876E+00  0.776E-01  0.698E-03  0.196E-04   45   8  21   19   1  35   22  16   9    0.000    0.000       0
+  0  13574 02:14:00.47   0.5590A   3.2216  -0.7368   0.7642  0.042  0.00   0.000      0.  0.875E+00  0.780E-01  0.716E-03  0.184E-04   44   9  30   18   1  33   20  12   9    0.000    0.000       0
+  0  13584 02:14:06.06   0.5610A   3.2112   0.7819   0.7541  0.042  0.00   0.000      0.  0.875E+00  0.783E-01  0.727E-03  0.163E-04   44   9  37   38  30   4   21  16   9    0.000    0.000       0
+  0  13595 02:14:12.25   0.5610A   3.2071   0.7585   0.7580  0.041  0.00   0.000      0.  0.874E+00  0.787E-01  0.735E-03  0.156E-04   44  10   6   38  31   9   22  16   9    0.000    0.000       0
+  0  13606 02:14:18.43   0.5610A   3.2095   0.7602  -0.6902  0.041  0.00   0.000      0.  0.873E+00  0.789E-01  0.744E-03  0.161E-04   44  11  13   38  31  15   24   9  39    0.000    0.000       0
+  0  13617 02:14:24.51   0.5520A   3.2604   0.7553  -0.7503  0.040  0.00   0.000      0.  0.872E+00  0.792E-01  0.735E-03  0.175E-04   44  11  21   38  33  19   24   8   0    0.000    0.000       0
+  0  13627 02:14:30.04   0.5590A   3.2201  -0.8285  -0.8191  0.040  0.00   0.000      0.  0.871E+00  0.793E-01  0.747E-03  0.176E-04   44  11  29   41  21  25   24   9   8    0.000    0.000       0
+  0  13638 02:14:36.21   0.5560A   3.2349   0.8641  -0.8081  0.040  0.00   0.000      0.  0.870E+00  0.795E-01  0.743E-03  0.156E-04   43  11  34   39  32  33   23   9  11    0.000    0.000       0
+  0  13649 02:14:42.36   0.5610A   3.2075  -0.8882   0.6985  0.040  0.00   0.000      0.  0.869E+00  0.795E-01  0.746E-03  0.153E-04   43  11   2   41  19  36   20  10   9    0.000    0.000       0
+  0  13660 02:14:48.50   0.5530A   3.2527  -0.8528   0.7414  0.040  0.00   0.000      0.  0.868E+00  0.795E-01  0.740E-03  0.152E-04   43  10  17   41  18   1   20  29   9    0.000    0.000       0
+  0  13670 02:14:54.12   0.5720A   3.1477   0.7914   0.7645  0.041  0.00   0.000      0.  0.867E+00  0.794E-01  0.764E-03  0.154E-04   43  10  24   39  36  10   20  28   9    0.000    0.000       0
+  0  13681 02:15:00.42   0.5730A   3.1438   0.7908  -0.7680  0.041  0.00   0.000      0.  0.865E+00  0.793E-01  0.767E-03  0.149E-04   42  10  34   31  15  16   20   7  21    0.000    0.000       0
+  0  13691 02:15:06.16   0.5770A   3.1188   0.8052  -0.7483  0.041  0.00   0.000      0.  0.864E+00  0.792E-01  0.772E-03  0.150E-04   43  10  39   31  15  20   19   7  24    0.000    0.000       0
+  0  13702 02:15:12.59   0.5940A   3.0309   0.7452   0.6973  0.040  0.00   0.000      0.  0.863E+00  0.793E-01  0.783E-03  0.147E-04   43  10   6   22   8  13   23   8   7    0.000    0.000       0
+  0  13712 02:15:18.54   0.5930A   3.0334   0.7478   0.7385  0.039  0.00   0.000      0.  0.862E+00  0.796E-01  0.786E-03  0.195E-04   41   9  16   41  32  37   23  29   6    0.000    0.000       0
+  0  13722 02:15:24.51   0.5980A   3.0087  -0.7309   0.7350  0.037  0.00   0.000      0.  0.861E+00  0.803E-01  0.801E-03  0.258E-04   44   1  36   15  29   0   22  10   9    0.000    0.000       0
+  0  13732 02:15:30.49   0.5970A   3.0175   0.7545   0.8685  0.036  0.00   0.000      0.  0.860E+00  0.813E-01  0.812E-03  0.283E-04   44   2   0   37  36   2   21  28   9    0.000    0.000       0
+  0  13742 02:15:36.51   0.6040A   2.9797   0.7063   0.8347  0.036  0.00   0.000      0.  0.859E+00  0.824E-01  0.825E-03  0.269E-04   44   2   7   39  35  11   21  13   9    0.000    0.000       0
+  0  13752 02:15:42.59   0.6090A   2.9567   0.7417   0.9419  0.036  0.00   0.000      0.  0.858E+00  0.834E-01  0.833E-03  0.265E-04   46  10   1   39  35  18   22  26   7    0.000    0.000       0
+  0  13761 02:15:48.09   0.6130A   2.9355  -0.8149   1.0594  0.036  0.00   0.000      0.  0.857E+00  0.842E-01  0.841E-03  0.264E-04   45   3  20   15  28   4   20  28   9    0.000    0.000       0
+  0  13771 02:15:54.18   0.6060A   2.9687  -0.7854   1.0960  0.036  0.00   0.000      0.  0.856E+00  0.848E-01  0.828E-03  0.253E-04   45   3  27   17  25   9   21  26   9    0.000    0.000       0
+  0  13781 02:16:00.27   0.6080A   2.9605  -0.9071   1.0575  0.037  0.00   0.000      0.  0.855E+00  0.853E-01  0.831E-03  0.237E-04   46   3  37   17  23   9   21  23   9    0.000    0.000       0
+  0  13791 02:16:06.33   0.6040A   2.9822  -0.9629   0.9662  0.037  0.00   0.000      0.  0.854E+00  0.858E-01  0.828E-03  0.230E-04   46   0   2   17  21   9   21  23   9    0.000    0.000       0
+  0  13801 02:16:12.25   0.5850A   3.0750  -0.8523   0.8597  0.038  0.00   0.000      0.  0.853E+00  0.861E-01  0.808E-03  0.215E-04   46   0   9   17  20   9   21  23   9    0.000    0.000       0
+  0  13811 02:16:18.10   0.5930A   3.0377  -0.7587   0.7744  0.039  0.00   0.000      0.  0.853E+00  0.862E-01  0.823E-03  0.199E-04   46   0  17   17  18   9   29  31   0    0.000    0.000       0
+  0  13821 02:16:24.02   0.5890A   3.0556   0.8092   0.7293  0.040  0.00   0.000      0.  0.852E+00  0.862E-01  0.817E-03  0.182E-04   44  39  23   21  27   8   30  31   2    0.000    0.000       0
+  0  13832 02:16:30.45   0.5830A   3.0878   0.8604  -0.7722  0.041  0.00   0.000      0.  0.851E+00  0.860E-01  0.796E-03  0.173E-04   44  39  31   21  28   8   21   9  10    0.000    0.000       0
+  0  13842 02:16:36.32   0.5920A   3.0401   0.7097   0.7396  0.042  0.00   0.000      0.  0.851E+00  0.857E-01  0.799E-03  0.198E-04   44  39  38   23  11  19   20  10   9    0.000    0.000       0
+  0  13852 02:16:42.30   0.6060A   2.9709   0.7558   0.7628  0.043  0.00   0.000      0.  0.850E+00  0.851E-01  0.811E-03  0.199E-04   44  39   6   32  14  29   30  13  26    0.000    0.000       0
+  0  13862 02:16:48.41   0.6130A   2.9364  -0.6896   0.7615  0.045  0.00   0.000      0.  0.849E+00  0.842E-01  0.821E-03  0.190E-04   44  11  37   23   6  35   31  13  31    0.000    0.000       0
+  0  13871 02:16:54.03   0.6340A   2.8383   0.7312  -0.6913  0.046  0.00   0.000      0.  0.849E+00  0.833E-01  0.852E-03  0.189E-04   44   2  14   27  13  36   38  34  14    0.000    0.000       0
+  0  13881 02:17:00.37   0.6360A   2.8313   0.8258  -0.7452  0.047  0.00   0.000      0.  0.848E+00  0.821E-01  0.862E-03  0.188E-04   44   2  21   28  14   2   37  34  20    0.000    0.000       0
+  0  13890 02:17:06.11   0.6330A   2.8440   0.8226   0.7744  0.046  0.00   0.000      0.  0.847E+00  0.811E-01  0.864E-03  0.198E-04   43  37  33   28  15   5   34  32   1    0.000    0.000       0
+  0  13900 02:17:12.42   0.6270A   2.8726  -0.8558   0.7724  0.046  0.00   0.000      0.  0.847E+00  0.802E-01  0.866E-03  0.234E-04   45  14  14   19   9   9   35  32   5    0.000    0.000       0
+  0  13909 02:17:18.06   0.6230A   2.8912  -0.7399   0.7401  0.045  0.00   0.000      0.  0.846E+00  0.797E-01  0.863E-03  0.250E-04   45  14  20   19   9   9   35  32   8    0.000    0.000       0
+  0  13919 02:17:24.32   0.6300A   2.8593   0.7684  -0.7330  0.044  0.00   0.000      0.  0.846E+00  0.792E-01  0.867E-03  0.268E-04   46  14  27   22  16   4   24   9  30    0.000    0.000       0
+  0  13928 02:17:30.04   0.6410A   2.8102  -0.7754  -0.8829  0.043  0.00   0.000      0.  0.845E+00  0.789E-01  0.885E-03  0.288E-04   46  13  33   37  29   6   24   9  33    0.000    0.000       0
+  0  13938 02:17:36.54   0.6550A   2.7492   0.7578  -0.8777  0.044  0.00   0.000      0.  0.844E+00  0.788E-01  0.917E-03  0.296E-04   45  33   8   35  30  33   23   8  37    0.000    0.000       0
+  0  13947 02:17:42.44   0.6630A   2.7167   0.7231  -0.8129  0.044  0.00   0.000      0.  0.843E+00  0.789E-01  0.936E-03  0.296E-04   46  33  15   35  30  37   22   8   1    0.000    0.000       0
+  0  13956 02:17:48.37   0.6530A   2.7567  -0.7878   0.8502  0.044  0.00   0.000      0.  0.842E+00  0.790E-01  0.924E-03  0.291E-04   44  33  21   22   9   1   20  28   9    0.000    0.000       0
+  0  13965 02:17:54.28   0.6530A   2.7573  -0.7871   0.9787  0.045  0.00   0.000      0.  0.841E+00  0.790E-01  0.922E-03  0.273E-04   46   3  21   22   9   4   20  28   9    0.000    0.000       0
+  0  13974 02:18:00.12   0.6460A   2.7846  -0.7534   0.9349  0.047  0.00   0.000      0.  0.840E+00  0.789E-01  0.922E-03  0.250E-04   46   3  28   22   8   8   21  27   9    0.000    0.000       0
+  0  13984 02:18:06.54   0.6400A   2.8121  -0.8273   0.8795  0.048  0.00   0.000      0.  0.839E+00  0.787E-01  0.912E-03  0.231E-04   46   3  35   23  10  16   21  25   9    0.000    0.000       0
+  0  13993 02:18:12.30   0.6410A   2.8069  -0.8006   0.8001  0.049  0.00   0.000      0.  0.838E+00  0.785E-01  0.911E-03  0.234E-04   46   3   2   20   3  11   20  26   9    0.000    0.000       0
+  0  14002 02:18:18.08   0.6410A   2.8092   0.7968  -0.8060  0.050  0.00   0.000      0.  0.837E+00  0.783E-01  0.910E-03  0.236E-04   46   4   9   21  20   8   21   8  23    0.000    0.000       0
+  0  14012 02:18:24.46   0.6380A   2.8214   0.8824  -0.8112  0.051  0.00   0.000      0.  0.836E+00  0.779E-01  0.906E-03  0.214E-04   46   4  17   24  16  24   18   7  30    0.000    0.000       0
+  0  14021 02:18:30.21   0.6410A   2.8101   0.9371  -0.8668  0.053  0.00   0.000      0.  0.835E+00  0.773E-01  0.904E-03  0.222E-04   46   4  23   23  17  26   18   7  33    0.000    0.000       0
+  0  14030 02:18:36.02   0.6510A   2.7668  -1.0846  -0.8069  0.054  0.00   0.000      0.  0.834E+00  0.767E-01  0.907E-03  0.251E-04   46   4  30   19  10   9   17   5  22    0.000    0.000       0
+  0  14040 02:18:42.52   0.6490A   2.7720  -1.0245  -0.8421  0.055  0.00   0.000      0.  0.832E+00  0.761E-01  0.889E-03  0.240E-04   42   4  18   19  10   9   16   7   0    0.000    0.000       0
+  0  14049 02:18:48.36   0.6500A   2.7709   0.8131  -0.8389  0.056  0.00   0.000      0.  0.832E+00  0.758E-01  0.866E-03  0.183E-04   42   4  25   22  19  34   16   3  31    0.000    0.000       0
+  0  14058 02:18:54.21   0.6480A   2.7761   0.7930  -0.8370  0.057  0.00   0.000      0.  0.831E+00  0.756E-01  0.849E-03  0.186E-04   44   5  10    7  16   9   16   3  35    0.000    0.000       0
+  0  14067 02:19:00.05   0.6500A   2.7710   0.7870  -0.7860  0.057  0.00   0.000      0.  0.830E+00  0.755E-01  0.841E-03  0.193E-04   44   5  16   39   1  18   12   5  36    0.000    0.000       0
+  0  14077 02:19:06.47   0.6340A   2.8374   0.8143   0.8563  0.057  0.00   0.000      0.  0.830E+00  0.754E-01  0.810E-03  0.193E-04   46   2  28   39   2  23   20  11   9    0.000    0.000       0
+  0  14086 02:19:12.20   0.6360A   2.8291   0.7585   0.7587  0.057  0.00   0.000      0.  0.829E+00  0.752E-01  0.802E-03  0.191E-04   46   6  36   39   4  27   20  11   9    0.000    0.000       0
+  0  14096 02:19:18.57   0.6370A   2.8272  -0.9177   0.7385  0.056  0.00   0.000      0.  0.829E+00  0.750E-01  0.797E-03  0.184E-04   46   6   3   19  28   9   21  27   9    0.000    0.000       0
+  0  14105 02:19:24.32   0.6380A   2.8199  -0.9528   0.7343  0.056  0.00   0.000      0.  0.828E+00  0.748E-01  0.794E-03  0.177E-04   46   6  10   19  27   9   20  10   9    0.000    0.000       0
+  0  14114 02:19:30.02   0.6270A   2.8700  -0.9647  -0.6954  0.055  0.00   0.000      0.  0.828E+00  0.746E-01  0.779E-03  0.165E-04   46   6  17   18  27   9   11   6  25    0.000    0.000       0
+  0  14124 02:19:36.18   0.6070A   2.9661  -0.8922  -0.7022  0.055  0.00   0.000      0.  0.827E+00  0.744E-01  0.751E-03  0.165E-04   45   6  24   18  26   9   17  17   9    0.000    0.000       0
+  0  14134 02:19:42.19   0.5980A   3.0117  -0.8209  -0.6703  0.056  0.00   0.000      0.  0.827E+00  0.743E-01  0.731E-03  0.158E-04   45   6  32   18  25   9   25  14  16    0.000    0.000       0
+  0  14144 02:19:48.19   0.6040A   2.9825   0.9024  -0.6113  0.055  0.00   0.000      0.  0.826E+00  0.743E-01  0.731E-03  0.166E-04   45   6  39   13  13   9   23  14  19    0.000    0.000       0
+  0  14154 02:19:54.34   0.6210A   2.8995   0.9572   0.6634  0.055  0.00   0.000      0.  0.826E+00  0.744E-01  0.747E-03  0.200E-04   46   5   6   14  14   9   16  10   9    0.000    0.000       0
+  0  14164 02:20:00.61   0.6300A   2.8550   0.9513   0.7403  0.054  0.00   0.000      0.  0.825E+00  0.748E-01  0.754E-03  0.206E-04   46   5  13   14  15   9   17  12   9    0.000    0.000       0
+  0  14173 02:20:06.29   0.6290A   2.8614   0.8850   0.8880  0.053  0.00   0.000      0.  0.824E+00  0.753E-01  0.759E-03  0.225E-04   46   4  19   14  16   9   20  28   9    0.000    0.000       0
+  0  14183 02:20:12.57   0.6240A   2.8860  -0.9479   0.8116  0.051  0.00   0.000      0.  0.824E+00  0.758E-01  0.749E-03  0.231E-04   46  38  17   21  12   8   20  26   9    0.000    0.000       0
+  0  14192 02:20:18.25   0.6390A   2.8184  -0.8225   0.7608  0.050  0.00   0.000      0.  0.823E+00  0.761E-01  0.760E-03  0.228E-04   46   4  34   20  12   8   20  26   9    0.000    0.000       0
+  0  14202 02:20:24.64   0.6400A   2.8111  -0.7681   0.7882  0.050  0.00   0.000      0.  0.823E+00  0.765E-01  0.769E-03  0.246E-04   43   0  35   20  12   8   20  26   9    0.000    0.000       0
+  0  14211 02:20:30.30   0.6240A   2.8857  -0.7754   0.7730  0.050  0.00   0.000      0.  0.823E+00  0.767E-01  0.756E-03  0.239E-04   43   0   2   13  27   9   20  26   9    0.000    0.000       0
+  0  14221 02:20:36.52   0.6160A   2.9231  -0.7682  -0.7216  0.050  0.00   0.000      0.  0.822E+00  0.768E-01  0.746E-03  0.219E-04   44  38  12   14  26   9   15  15   8    0.000    0.000       0
+  0  14230 02:20:42.05   0.6140A   2.9331   0.8299   0.7430  0.051  0.00   0.000      0.  0.822E+00  0.767E-01  0.744E-03  0.206E-04   44  38  19   21  29   8   20  27   9    0.000    0.000       0
+  0  14240 02:20:48.11   0.6100A   2.9523   0.9122  -0.7329  0.053  0.00   0.000      0.  0.821E+00  0.765E-01  0.739E-03  0.202E-04   44  38  25   20  29   8   16  17   9    0.000    0.000       0
+  0  14250 02:20:54.20   0.6150A   2.9283   0.7366  -0.8449  0.054  0.00   0.000      0.  0.821E+00  0.762E-01  0.744E-03  0.198E-04   44  38  32   20  30   8   16  19   9    0.000    0.000       0
+  0  14260 02:21:00.42   0.6220A   2.8951  -0.7479  -0.9130  0.055  0.00   0.000      0.  0.820E+00  0.760E-01  0.747E-03  0.194E-04   46  35  34   19  13   9   14  20   9    0.000    0.000       0
+  0  14270 02:21:06.59   0.6140A   2.9334   0.7451  -0.9292  0.057  0.00   0.000      0.  0.820E+00  0.759E-01  0.738E-03  0.196E-04   46  34   0   19  21   9   16  17   9    0.000    0.000       0
+  0  14279 02:21:12.15   0.6200A   2.9033  -0.7389  -0.8732  0.057  0.00   0.000      0.  0.819E+00  0.760E-01  0.743E-03  0.194E-04   46  34   6   16  26   9   16  19   9    0.000    0.000       0
+  0  14289 02:21:18.39   0.6260A   2.8774  -0.7322   0.8793  0.058  0.00   0.000      0.  0.819E+00  0.761E-01  0.745E-03  0.199E-04   44  23   7   16  24   9   20  28   9    0.000    0.000       0
+  0  14298 02:21:24.07   0.6270A   2.8722  -0.7850   0.8643  0.057  0.00   0.000      0.  0.818E+00  0.763E-01  0.744E-03  0.226E-04   44   9   5   19  26   9   21  27   9    0.000    0.000       0
+  0  14308 02:21:30.30   0.6220A   2.8943  -0.8530   0.7878  0.056  0.00   0.000      0.  0.818E+00  0.766E-01  0.742E-03  0.256E-04   44   9  13   19  25   9   20  29   9    0.000    0.000       0
+  0  14318 02:21:36.47   0.6130A   2.9365  -0.8215   0.8631  0.055  0.00   0.000      0.  0.817E+00  0.769E-01  0.737E-03  0.269E-04   44   9  20   19  24   9   20  28   9    0.000    0.000       0
+  0  14328 02:21:42.58   0.6080A   2.9614  -0.8575   0.7816  0.055  0.00   0.000      0.  0.817E+00  0.770E-01  0.729E-03  0.246E-04   44   9  28   19  23   9   20  28   9    0.000    0.000       0
+  0  14337 02:21:48.02   0.6050A   2.9765   0.8543   0.6918  0.055  0.00   0.000      0.  0.816E+00  0.770E-01  0.723E-03  0.235E-04   44   9  34   10  15   9   39  35  23    0.000    0.000       0
+  0  14347 02:21:54.01   0.5980A   3.0095   0.8998   0.6643  0.055  0.00   0.000      0.  0.816E+00  0.769E-01  0.706E-03  0.210E-04   44   9   2   10  15   8   40  35  27    0.000    0.000       0
+  0  14357 02:22:00.02   0.6020A   2.9896   0.9121   0.6284  0.056  0.00   0.000      0.  0.816E+00  0.766E-01  0.704E-03  0.198E-04   44   9   9    9  16   8   40  36  32    0.000    0.000       0
+  0  14367 02:22:06.10   0.6110A   2.9484   0.7668   0.6777  0.056  0.00   0.000      0.  0.816E+00  0.762E-01  0.714E-03  0.203E-04   44   0  30    8  16   8   21  18   9    0.000    0.000       0
+  0  14377 02:22:12.20   0.6100A   2.9492   0.7751   0.6945  0.057  0.00   0.000      0.  0.815E+00  0.759E-01  0.716E-03  0.211E-04   44   0  37   20  16   9   21  17   9    0.000    0.000       0
+  0  14387 02:22:18.33   0.6170A   2.9155  -0.7862   0.7246  0.057  0.00   0.000      0.  0.815E+00  0.755E-01  0.728E-03  0.227E-04   44  10  32   20  10   9   20  16   9    0.000    0.000       0
+  0  14397 02:22:24.49   0.6190A   2.9087  -0.7863   0.7039  0.058  0.00   0.000      0.  0.815E+00  0.752E-01  0.733E-03  0.238E-04   44  10  39   26  16  21   20  10   3    0.000    0.000       0
+  0  14406 02:22:30.03   0.6140A   2.9306  -0.7764   0.7183  0.058  0.00   0.000      0.  0.815E+00  0.750E-01  0.730E-03  0.237E-04   44  10   6   26  16  24   20  11   5    0.000    0.000       0
+  0  14416 02:22:36.18   0.6150A   2.9259   0.8582   0.8338  0.059  0.00   0.000      0.  0.814E+00  0.749E-01  0.741E-03  0.264E-04   44  10  14   20  23   8   20  10   9    0.000    0.000       0
+  0  14426 02:22:42.30   0.6080A   2.9617   0.7893   0.9989  0.059  0.00   0.000      0.  0.814E+00  0.748E-01  0.734E-03  0.250E-04   46   3  32   18  10   8   21  12   9    0.000    0.000       0
+  0  14436 02:22:48.32   0.6000A   2.9982   0.9058  -0.9435  0.059  0.00   0.000      0.  0.814E+00  0.747E-01  0.721E-03  0.225E-04   45   4   9   17  14   9   14  11   9    0.000    0.000       0
+  0  14446 02:22:54.30   0.5890A   3.0583   1.0724  -0.8882  0.059  0.00   0.000      0.  0.813E+00  0.745E-01  0.703E-03  0.211E-04   46   5  16   19  14   9   14  12   9    0.000    0.000       0
+  0  14456 02:23:00.09   0.5730A   3.1419   1.0740  -0.7903  0.059  0.00   0.000      0.  0.813E+00  0.743E-01  0.673E-03  0.197E-04   45   5  23   19  15   9   13  13   9    0.000    0.000       0
+  0  14467 02:23:06.39   0.5820A   3.0947   0.9128   0.7560  0.059  0.00   0.000      0.  0.813E+00  0.741E-01  0.682E-03  0.213E-04   46   5  31   18  16   9   20  11   9    0.000    0.000       0
+  0  14477 02:23:12.31   0.5920A   3.0404   0.8302   0.7378  0.059  0.00   0.000      0.  0.812E+00  0.740E-01  0.694E-03  0.227E-04   45   6  38   20  21   8   20  11   9    0.000    0.000       0
+  0  14487 02:23:18.19   0.5900A   3.0483  -0.7154   0.6934  0.059  0.00   0.000      0.  0.812E+00  0.740E-01  0.693E-03  0.230E-04   45   2   1   21  21   8   20  12   9    0.000    0.000       0
+  0  14497 02:23:24.14   0.6020A   2.9908  -0.8877  -0.6664  0.060  0.00   0.000      0.  0.812E+00  0.738E-01  0.706E-03  0.233E-04   44   1   4   20  10   9   21  12   4    0.000    0.000       0
+  0  14507 02:23:30.10   0.5980A   3.0116  -1.0946   0.8164  0.061  0.00   0.000      0.  0.811E+00  0.736E-01  0.708E-03  0.255E-04   44   1  11   19  10   9   20  12   9    0.000    0.000       0
+  0  14517 02:23:36.16   0.6050A   2.9762  -1.0161  -0.9100  0.060  0.00   0.000      0.  0.811E+00  0.733E-01  0.711E-03  0.242E-04   44  11  39   18  10   9   17  13   9    0.000    0.000       0
+  0  14527 02:23:42.15   0.5970A   3.0145   0.8812   0.9798  0.060  0.00   0.000      0.  0.810E+00  0.729E-01  0.684E-03  0.194E-04   44  11   7   14  16   8   18  10   8    0.000    0.000       0
+  0  14537 02:23:48.19   0.6050A   2.9752   0.8636   0.9533  0.059  0.00   0.000      0.  0.810E+00  0.724E-01  0.675E-03  0.179E-04   43  11  12   14  18   8   19  10   8    0.000    0.000       0
+  0  14547 02:23:54.25   0.6000A   3.0011   0.7771  -0.7446  0.058  0.00   0.000      0.  0.809E+00  0.719E-01  0.665E-03  0.192E-04   44   3  35   12  18   8   14  15   9    0.000    0.000       0
+  0  14557 02:24:00.27   0.6040A   2.9822   0.7728  -0.7009  0.058  0.00   0.000      0.  0.809E+00  0.717E-01  0.665E-03  0.202E-04   44  12  30   12  17   8   14  16   9    0.000    0.000       0
+  0  14567 02:24:06.37   0.6110A   2.9456   0.7547   0.6843  0.057  0.00   0.000      0.  0.809E+00  0.715E-01  0.669E-03  0.216E-04   43  12  36   11  18   8   20  27   9    0.000    0.000       0
+  0  14577 02:24:12.50   0.6180A   2.9132   0.7104   0.8241  0.057  0.00   0.000      0.  0.809E+00  0.713E-01  0.676E-03  0.238E-04   43  13   2   10  21   7   20  28   9    0.000    0.000       0
+  0  14586 02:24:18.10   0.6260A   2.8765   0.7410   0.7713  0.058  0.00   0.000      0.  0.809E+00  0.712E-01  0.688E-03  0.250E-04   46  15   1   46  10   7   20  27   9    0.000    0.000       0
+  0  14596 02:24:24.28   0.6130A   2.9351  -0.7770   0.7296  0.059  0.00   0.000      0.  0.809E+00  0.710E-01  0.677E-03  0.231E-04   43   4  33   14  27   9   20  27   9    0.000    0.000       0
+  0  14606 02:24:30.47   0.6260A   2.8755  -0.7942   0.7922  0.059  0.00   0.000      0.  0.809E+00  0.708E-01  0.696E-03  0.215E-04   46  12  17   13  26   9   20  28   9    0.000    0.000       0
+  0  14615 02:24:36.08   0.6230A   2.8877   0.8795   0.8081  0.060  0.00   0.000      0.  0.808E+00  0.706E-01  0.697E-03  0.198E-04   44  18  20   21  29   8   20  28   9    0.000    0.000       0
+  0  14625 02:24:42.32   0.6240A   2.8826   0.8417  -0.7725  0.061  0.00   0.000      0.  0.808E+00  0.703E-01  0.699E-03  0.176E-04   44  18  28   21  30   8    5  21   7    0.000    0.000       0
+  0  14635 02:24:48.53   0.6140A   2.9335  -0.7483  -0.7698  0.061  0.00   0.000      0.  0.808E+00  0.698E-01  0.688E-03  0.181E-04   43  17  34   12  27   9    4  21   7    0.000    0.000       0
+  0  14644 02:24:54.02   0.6110A   2.9463  -0.7876  -0.7312  0.060  0.00   0.000      0.  0.808E+00  0.694E-01  0.687E-03  0.212E-04   43  17   0   13  26   9    3  21   7    0.000    0.000       0
+  0  14654 02:25:00.10   0.6140A   2.9315  -0.7716  -0.7781  0.060  0.00   0.000      0.  0.807E+00  0.691E-01  0.690E-03  0.212E-04   46   7  34   13  25   9   37   0  16    0.000    0.000       0
+  0  14664 02:25:06.29   0.6230A   2.8893   0.7170   0.8056  0.061  0.00   0.000      0.  0.807E+00  0.686E-01  0.695E-03  0.210E-04   46  18  30   14  14   9   20  12   9    0.000    0.000       0
+  0  14674 02:25:12.56   0.6300A   2.8593   0.7092  -0.8509  0.061  0.00   0.000      0.  0.807E+00  0.681E-01  0.693E-03  0.206E-04   44  15  27   15  14   9   34   7   1    0.000    0.000       0
+  0  14683 02:25:18.27   0.6360A   2.8283   0.6600   0.7603  0.061  0.00   0.000      0.  0.806E+00  0.677E-01  0.692E-03  0.207E-04   44  16   9   14  15   9   20  12   9    0.000    0.000       0
+  0  14693 02:25:24.61   0.6330A   2.8438  -0.6554   0.7194  0.061  0.00   0.000      0.  0.806E+00  0.673E-01  0.682E-03  0.205E-04   44  14  38   12  25   9   20  13   9    0.000    0.000       0
+  0  14702 02:25:30.31   0.6320A   2.8467  -0.6711  -0.7395  0.061  0.00   0.000      0.  0.806E+00  0.670E-01  0.677E-03  0.206E-04   44  14   5   12  25   9   37   7  25    0.000    0.000       0
+  0  14711 02:25:36.01   0.6320A   2.8488  -0.6565  -0.7594  0.060  0.00   0.000      0.  0.805E+00  0.667E-01  0.674E-03  0.211E-04   44  15  12   20  28   9   37   7  30    0.000    0.000       0
+  0  14721 02:25:42.34   0.6350A   2.8341   0.7626  -0.7940  0.059  0.00   0.000      0.  0.805E+00  0.664E-01  0.671E-03  0.216E-04   44  15  19   17  13   9   36   7  36    0.000    0.000       0
+  0  14730 02:25:48.03   0.6260A   2.8739   0.7828  -0.7067  0.059  0.00   0.000      0.  0.805E+00  0.662E-01  0.654E-03  0.203E-04   43  20  19   17  13   9   36   6   1    0.000    0.000       0
+  0  14740 02:25:54.30   0.6270A   2.8702   0.8271  -0.6445  0.058  0.00   0.000      0.  0.805E+00  0.660E-01  0.652E-03  0.199E-04   43  20  25   20  29   8   35   6   7    0.000    0.000       0
+  0  14750 02:26:00.58   0.6320A   2.8493   0.7458  -0.6031  0.058  0.00   0.000      0.  0.804E+00  0.658E-01  0.655E-03  0.204E-04   46  16   9   20  30   8    5  18   9    0.000    0.000       0
+  0  14759 02:26:06.25   0.6240A   2.8852   0.7987   0.5651  0.058  0.00   0.000      0.  0.804E+00  0.656E-01  0.641E-03  0.203E-04   44  18  23   20  31   9   27  28   2    0.000    0.000       0
+  0  14769 02:26:12.38   0.6010A   2.9935  -0.6904   0.5902  0.058  0.00   0.000      0.  0.804E+00  0.655E-01  0.615E-03  0.195E-04   44  18  30   27   1  18   28  28   4    0.000    0.000       0
+  0  14779 02:26:18.33   0.5930A   3.0345   0.8266   0.6176  0.058  0.00   0.000      0.  0.804E+00  0.654E-01  0.607E-03  0.190E-04   44  18  38   20  23   8   27  35  15    0.000    0.000       0
+  0  14789 02:26:24.17   0.5800A   3.1042   0.7621  -0.7333  0.058  0.00   0.000      0.  0.804E+00  0.653E-01  0.596E-03  0.184E-04   44  18   5   20  24   9   17  18   9    0.000    0.000       0
+  0  14799 02:26:30.08   0.5990A   3.0039  -0.7175  -0.8910  0.058  0.00   0.000      0.  0.805E+00  0.652E-01  0.621E-03  0.197E-04   46  16   5   15  26   9   17  19   9    0.000    0.000       0
+  0  14809 02:26:36.06   0.6000A   2.9997  -0.7821  -0.8570  0.059  0.00   0.000      0.  0.805E+00  0.650E-01  0.629E-03  0.214E-04   46  16  12   15  24   9   16  17   9    0.000    0.000       0
+  0  14819 02:26:42.08   0.6010A   2.9926  -0.7805   0.9092  0.058  0.00   0.000      0.  0.805E+00  0.649E-01  0.637E-03  0.244E-04   46  16  19   14  26   9   20  11   9    0.000    0.000       0
+  0  14829 02:26:48.10   0.6030A   2.9829  -0.8274   0.7993  0.058  0.00   0.000      0.  0.806E+00  0.647E-01  0.642E-03  0.247E-04   46  16  27   13  25   9   20  12   9    0.000    0.000       0
+  0  14839 02:26:54.14   0.6040A   2.9809  -0.8092   0.6862  0.057  0.00   0.000      0.  0.806E+00  0.643E-01  0.641E-03  0.220E-04   46  16  35   12  25   9   20  29   9    0.000    0.000       0
+  0  14849 02:27:00.18   0.6030A   2.9859   0.8005  -0.7210  0.056  0.00   0.000      0.  0.806E+00  0.637E-01  0.638E-03  0.196E-04   45  20  30   19  14   9    6  28   9    0.000    0.000       0
+  0  14859 02:27:06.13   0.5910A   3.0468  -0.7905  -0.7504  0.056  0.00   0.000      0.  0.806E+00  0.630E-01  0.627E-03  0.202E-04   45  20  37    9  24   9    5  27   9    0.000    0.000       0
+  0  14870 02:27:12.57   0.5900A   3.0483   0.7718  -0.7104  0.055  0.00   0.000      0.  0.807E+00  0.624E-01  0.628E-03  0.213E-04   45  20   5   21  28   8    4  27   9    0.000    0.000       0
+  0  14880 02:27:18.56   0.6070A   2.9673  -0.7506  -0.6438  0.054  0.00   0.000      0.  0.807E+00  0.619E-01  0.647E-03  0.216E-04   46  20  14   26   5  37    6  28   9    0.000    0.000       0
+  0  14890 02:27:24.60   0.6010A   2.9955  -0.7066  -0.6400  0.054  0.00   0.000      0.  0.807E+00  0.615E-01  0.640E-03  0.217E-04   46  26  32   26   5   1    3  27   9    0.000    0.000       0
+  0  14899 02:27:30.06   0.6070A   2.9632  -0.7333   0.7749  0.054  0.00   0.000      0.  0.808E+00  0.611E-01  0.642E-03  0.219E-04   46  16   6    8  24   8   22  29   7    0.000    0.000       0
+  0  14909 02:27:36.17   0.6090A   2.9550  -0.7535   0.7652  0.054  0.00   0.000      0.  0.808E+00  0.608E-01  0.643E-03  0.226E-04   46  28   4   27   4  11   20  28   9    0.000    0.000       0
+  0  14919 02:27:42.28   0.6160A   2.9236   0.7434   0.8208  0.054  0.00   0.000      0.  0.808E+00  0.604E-01  0.647E-03  0.238E-04   46  16  22   22  17   7   20  28   9    0.000    0.000       0
+  0  14929 02:27:48.47   0.6200A   2.9054  -0.7928   0.8956  0.055  0.00   0.000      0.  0.808E+00  0.600E-01  0.650E-03  0.230E-04   44  29  18   19  27   9   21  26   9    0.000    0.000       0
+  0  14939 02:27:54.57   0.6040A   2.9814   0.7806   0.9101  0.056  0.00   0.000      0.  0.808E+00  0.596E-01  0.634E-03  0.231E-04   44  29  25   21  17  11   21  25   9    0.000    0.000       0
+  0  14948 02:28:00.08   0.6220A   2.8949   0.8658  -0.9423  0.058  0.00   0.000      0.  0.808E+00  0.592E-01  0.659E-03  0.251E-04   44  29  31   20  16   9   18  14   9    0.000    0.000       0
+  0  14958 02:28:06.34   0.6280A   2.8658  -0.8403  -1.0648  0.059  0.00   0.000      0.  0.807E+00  0.586E-01  0.663E-03  0.242E-04   46  17  17   13  26   9   17  14   9    0.000    0.000       0
+  0  14967 02:28:12.02   0.6330A   2.8435  -0.7821  -1.0508  0.059  0.00   0.000      0.  0.807E+00  0.579E-01  0.666E-03  0.232E-04   45  28   1   13  24   9   16  14   9    0.000    0.000       0
+  0  14977 02:28:18.34   0.6330A   2.8434  -0.7820  -0.9666  0.059  0.00   0.000      0.  0.807E+00  0.572E-01  0.665E-03  0.217E-04   45  28   8   13  26   9   16  11   9    0.000    0.000       0
+  0  14986 02:28:24.04   0.6330A   2.8420  -0.7835  -0.9426  0.059  0.00   0.000      0.  0.807E+00  0.566E-01  0.663E-03  0.206E-04   45  17   2   12  25   9   15  11   9    0.000    0.000       0
+  0  14996 02:28:30.32   0.6220A   2.8917  -0.7627  -0.8615  0.059  0.00   0.000      0.  0.808E+00  0.561E-01  0.649E-03  0.202E-04   45  22  12   12  24   9   14  11   9    0.000    0.000       0
+  0  15006 02:28:36.51   0.6160A   2.9214   0.7511  -0.7729  0.058  0.00   0.000      0.  0.808E+00  0.557E-01  0.639E-03  0.180E-04   46  22  19   40  37   3   14  12   9    0.000    0.000       0
+  0  15015 02:28:42.08   0.6190A   2.9093   0.7085  -0.7117  0.058  0.00   0.000      0.  0.808E+00  0.555E-01  0.640E-03  0.186E-04   46  28  38   40  38   7   14  12   9    0.000    0.000       0
+  0  15025 02:28:48.32   0.6270A   2.8719   0.7306  -0.6102  0.057  0.00   0.000      0.  0.808E+00  0.553E-01  0.643E-03  0.206E-04   46  28   5   19  14   9   12  14   9    0.000    0.000       0
+  0  15035 02:28:54.59   0.6290A   2.8605  -0.7071   0.7155  0.057  0.00   0.000      0.  0.808E+00  0.552E-01  0.644E-03  0.234E-04   46  28  16   41  22  33   20  27   9    0.000    0.000       0
+  0  15044 02:29:00.31   0.6390A   2.8178  -0.7485   0.7550  0.057  0.00   0.000      0.  0.808E+00  0.550E-01  0.656E-03  0.255E-04   44  29  23   17  27   9   20  26   9    0.000    0.000       0
+  0  15053 02:29:06.05   0.6380A   2.8203  -0.8837   0.7522  0.057  0.00   0.000      0.  0.809E+00  0.549E-01  0.660E-03  0.266E-04   46  16  19   20  13   9   22  26   9    0.000    0.000       0
+  0  15063 02:29:12.42   0.6370A   2.8245  -0.7552  -0.7686  0.059  0.00   0.000      0.  0.809E+00  0.547E-01  0.660E-03  0.256E-04   45  17  23   16  25   9   17  14   9    0.000    0.000       0
+  0  15072 02:29:18.14   0.6340A   2.8378   0.8160  -0.7477  0.059  0.00   0.000      0.  0.809E+00  0.546E-01  0.658E-03  0.252E-04   46  16  33   40  39   5   16  14   9    0.000    0.000       0
+  0  15082 02:29:24.48   0.6350A   2.8356   0.8160  -0.8213  0.060  0.00   0.000      0.  0.809E+00  0.545E-01  0.656E-03  0.232E-04   46  20  39   40   0  11   17  19   9    0.000    0.000       0
+  0  15091 02:29:30.17   0.6310A   2.8526   0.8068  -0.8697  0.060  0.00   0.000      0.  0.809E+00  0.544E-01  0.651E-03  0.234E-04   46  20   6   40   1  16   16  19   9    0.000    0.000       0
+  0  15101 02:29:36.48   0.6300A   2.8577   0.6746   0.8175  0.060  0.00   0.000      0.  0.808E+00  0.544E-01  0.650E-03  0.241E-04   46  20  14   20  12   9   20  12   9    0.000    0.000       0
+  0  15110 02:29:42.17   0.6330A   2.8441   0.7161  -0.7392  0.059  0.00   0.000      0.  0.808E+00  0.543E-01  0.651E-03  0.227E-04   45   8   1   18  13   9   14  19   9    0.000    0.000       0
+  0  15120 02:29:48.50   0.6310A   2.8540   0.8478  -0.6489  0.059  0.00   0.000      0.  0.808E+00  0.541E-01  0.651E-03  0.230E-04   46  20  28   19  14   9   14  20   9    0.000    0.000       0
+  0  15129 02:29:54.15   0.6330A   2.8442   0.8734  -0.7013  0.059  0.00   0.000      0.  0.807E+00  0.539E-01  0.657E-03  0.247E-04   46  20  35   19  15   9   18  12   9    0.000    0.000       0
+  0  15139 02:30:00.45   0.6270A   2.8686   0.8129  -0.9139  0.059  0.00   0.000      0.  0.807E+00  0.536E-01  0.649E-03  0.225E-04   44  18  27   17  16   9   18  11   9    0.000    0.000       0
+  0  15148 02:30:06.03   0.6180A   2.9141   0.8241  -0.8495  0.059  0.00   0.000      0.  0.807E+00  0.533E-01  0.637E-03  0.217E-04   44  18  34   13  16   9   17  12   9    0.000    0.000       0
+  0  15158 02:30:12.21   0.6230A   2.8903   0.8063   0.7811  0.058  0.00   0.000      0.  0.807E+00  0.530E-01  0.640E-03  0.231E-04   44  18   1   13  17   9   20  28   9    0.000    0.000       0
+  0  15168 02:30:18.41   0.6200A   2.9024   0.8253   0.7712  0.056  0.00   0.000      0.  0.807E+00  0.527E-01  0.635E-03  0.258E-04   45  19  17   12  18   9   21  27   9    0.000    0.000       0
+  0  15177 02:30:24.03   0.6310A   2.8538  -0.8136   0.6753  0.055  0.00   0.000      0.  0.807E+00  0.526E-01  0.642E-03  0.263E-04   43   5   8   46  31  16   20  10   9    0.000    0.000       0
+  0  15187 02:30:30.29   0.6200A   2.9034  -0.7992   0.7382  0.054  0.00   0.000      0.  0.807E+00  0.525E-01  0.628E-03  0.263E-04   46  34  15   46  30  21   20  28   9    0.000    0.000       0
+  0  15197 02:30:36.48   0.6200A   2.9016  -0.7703   0.7248  0.054  0.00   0.000      0.  0.807E+00  0.524E-01  0.620E-03  0.245E-04   43   5  22   46  29  27   20  28   9    0.000    0.000       0
+  0  15206 02:30:42.13   0.6280A   2.8683   0.7380   0.7267  0.054  0.00   0.000      0.  0.807E+00  0.522E-01  0.620E-03  0.243E-04   43  18  36   20  27   8   20  28   9    0.000    0.000       0
+  0  15216 02:30:48.42   0.6300A   2.8562   0.8220   0.6544  0.054  0.00   0.000      0.  0.808E+00  0.520E-01  0.617E-03  0.243E-04   43  18   3   20  29   8   20  28   9    0.000    0.000       0
+  0  15225 02:30:54.11   0.6290A   2.8621   0.7231  -0.6642  0.055  0.00   0.000      0.  0.808E+00  0.516E-01  0.615E-03  0.231E-04   43  18  10   20  27   8   13  10   8    0.000    0.000       0
+  0  15235 02:31:00.37   0.6210A   2.9008   0.6470  -0.6903  0.056  0.00   0.000      0.  0.808E+00  0.512E-01  0.605E-03  0.222E-04   46  33   9   25  22  22   11  10   8    0.000    0.000       0
+  0  15244 02:31:06.02   0.6330A   2.8454   0.7033  -0.7137  0.056  0.00   0.000      0.  0.808E+00  0.508E-01  0.606E-03  0.208E-04   45  33  15   24  23  24   18  21   9    0.000    0.000       0
+  0  15254 02:31:12.28   0.6220A   2.8948   0.6681  -0.7207  0.056  0.00   0.000      0.  0.808E+00  0.503E-01  0.585E-03  0.177E-04   46  15  28   24  24  27   17  20   9    0.000    0.000       0
+  0  15264 02:31:18.49   0.6190A   2.9077   0.6599  -0.7292  0.056  0.00   0.000      0.  0.808E+00  0.499E-01  0.577E-03  0.180E-04   46  15  35   24  28  33   16  20   9    0.000    0.000       0
+  0  15273 02:31:24.09   0.6270A   2.8723   0.7070  -0.7094  0.056  0.00   0.000      0.  0.809E+00  0.497E-01  0.583E-03  0.196E-04   46  15   2   24  28  36   15  20   9    0.000    0.000       0
+  0  15283 02:31:30.38   0.6320A   2.8486   0.7260  -0.6413  0.057  0.00   0.000      0.  0.809E+00  0.496E-01  0.584E-03  0.191E-04   43  14   3   24  29  39    4  28   9    0.000    0.000       0
+  0  15292 02:31:36.07   0.6330A   2.8427  -0.6596  -0.6048  0.057  0.00   0.000      0.  0.809E+00  0.494E-01  0.584E-03  0.191E-04   43  14   9   20  10   9    4  27   9    0.000    0.000       0
+  0  15302 02:31:42.39   0.6260A   2.8748  -0.7011  -0.5910  0.056  0.00   0.000      0.  0.810E+00  0.493E-01  0.580E-03  0.203E-04   46  22   1   38  22   9   27  21  20    0.000    0.000       0
+  0  15312 02:31:48.60   0.6180A   2.9147  -0.7736  -0.6580  0.056  0.00   0.000      0.  0.810E+00  0.492E-01  0.577E-03  0.218E-04   46  22   8   38  21  14   17  23   9    0.000    0.000       0
+  0  15321 02:31:54.20   0.6290A   2.8616  -0.7791  -0.7114  0.056  0.00   0.000      0.  0.811E+00  0.493E-01  0.591E-03  0.237E-04   46  22  15   37  21  17   16  23   9    0.000    0.000       0
+  0  15331 02:32:00.49   0.6280A   2.8683  -0.7425  -0.6909  0.056  0.00   0.000      0.  0.811E+00  0.493E-01  0.589E-03  0.222E-04   44  12  39   37  20  22   15  23   9    0.000    0.000       0
+  0  15340 02:32:06.11   0.6270A   2.8726  -0.6735  -0.7407  0.057  0.00   0.000      0.  0.812E+00  0.494E-01  0.585E-03  0.220E-04   44  12   5   36  20  25   15  23   9    0.000    0.000       0
+  0  15350 02:32:12.35   0.6250A   2.8807  -0.6554  -0.7107  0.058  0.00   0.000      0.  0.812E+00  0.496E-01  0.582E-03  0.214E-04   46  21  39   36  19  30   14  23   9    0.000    0.000       0
+  0  15360 02:32:18.60   0.6210A   2.8969  -0.6572  -0.6673  0.059  0.00   0.000      0.  0.812E+00  0.497E-01  0.577E-03  0.202E-04   44  20   3   20  10   9   15  24   8    0.000    0.000       0
+  0  15369 02:32:24.16   0.6090A   2.9549  -0.7010  -0.6331  0.059  0.00   0.000      0.  0.813E+00  0.499E-01  0.564E-03  0.199E-04   43  11   1   20  10   9   24  20   1    0.000    0.000       0
+  0  15379 02:32:30.17   0.5950A   3.0254  -0.7371  -0.6614  0.060  0.00   0.000      0.  0.813E+00  0.501E-01  0.546E-03  0.176E-04   43  11   8   20  10   9   18  16   9    0.000    0.000       0
+  0  15389 02:32:36.09   0.6000A   2.9996   0.6816  -0.7420  0.061  0.00   0.000      0.  0.813E+00  0.503E-01  0.552E-03  0.178E-04   43  11  16   23  23  11   17  23   9    0.000    0.000       0
+  0  15399 02:32:42.25   0.6310A   2.8522   0.7268  -0.8538  0.061  0.00   0.000      0.  0.814E+00  0.503E-01  0.577E-03  0.179E-04   45  12  19   23  24  15   16  23   9    0.000    0.000       0
+  0  15409 02:32:48.50   0.6230A   2.8909   0.7680  -0.8814  0.061  0.00   0.000      0.  0.814E+00  0.504E-01  0.566E-03  0.187E-04   45  12  26   23  24  19   18  20   9    0.000    0.000       0
+  0  15418 02:32:54.07   0.6180A   2.9127   0.7449  -0.9724  0.061  0.00   0.000      0.  0.814E+00  0.505E-01  0.564E-03  0.200E-04   45  12  33   23  25  22   17  20   9    0.000    0.000       0
+  0  15428 02:33:00.24   0.6150A   2.9253   0.7709  -0.8385  0.059  0.00   0.000      0.  0.814E+00  0.507E-01  0.566E-03  0.210E-04   45  13   0   21  15   8   16  19   9    0.000    0.000       0
+  0  15438 02:33:06.37   0.6120A   2.9413   0.7198  -0.7045  0.057  0.00   0.000      0.  0.814E+00  0.510E-01  0.562E-03  0.207E-04   45  13   7   21  16   8   15  20   9    0.000    0.000       0
+  0  15448 02:33:12.50   0.6170A   2.9159   0.6658  -0.6495  0.055  0.00   0.000      0.  0.814E+00  0.513E-01  0.564E-03  0.201E-04   46  13  15   20  21   6   10  20   9    0.000    0.000       0
+  0  15457 02:33:18.05   0.6160A   2.9241  -0.8027  -0.6611  0.054  0.00   0.000      0.  0.814E+00  0.516E-01  0.570E-03  0.212E-04   44   9  21   19  10   9    7  19   8    0.000    0.000       0
+  0  15467 02:33:24.14   0.6070A   2.9655  -0.8137  -0.6828  0.054  0.00   0.000      0.  0.814E+00  0.521E-01  0.565E-03  0.213E-04   44   9  27   19  10   9    5  19   8    0.000    0.000       0
+  0  15477 02:33:30.15   0.6010A   2.9932  -0.7878  -0.6512  0.054  0.00   0.000      0.  0.814E+00  0.528E-01  0.567E-03  0.211E-04   45  10  32   20  10   9    4  19   8    0.000    0.000       0
+  0  15487 02:33:36.13   0.5970A   3.0132  -0.8711  -0.7576  0.054  0.00   0.000      0.  0.814E+00  0.535E-01  0.576E-03  0.236E-04   46  10  39   20  11   8   17  17   9    0.000    0.000       0
+  0  15497 02:33:42.11   0.5970A   3.0156  -0.9145  -1.1067  0.055  0.00   0.000      0.  0.814E+00  0.541E-01  0.575E-03  0.198E-04   43  11   9   20  12   9   16  17   9    0.000    0.000       0
+  0  15507 02:33:48.17   0.6130A   2.9380  -0.7568  -1.1645  0.057  0.00   0.000      0.  0.814E+00  0.544E-01  0.593E-03  0.206E-04   46  10   6   19  12   9   15  18   9    0.000    0.000       0
+  0  15517 02:33:54.25   0.6030A   2.9843  -0.6901  -1.0669  0.059  0.00   0.000      0.  0.814E+00  0.545E-01  0.585E-03  0.201E-04   45  11  18   45  18  16   17  20   9    0.000    0.000       0
+  0  15527 02:34:00.29   0.6060A   2.9683  -0.7230  -1.0556  0.059  0.00   0.000      0.  0.814E+00  0.545E-01  0.587E-03  0.202E-04   45  11  25   45  18  23   16  20   9    0.000    0.000       0
+  0  15537 02:34:06.38   0.6100A   2.9489  -0.7537  -1.0878  0.060  0.00   0.000      0.  0.814E+00  0.544E-01  0.585E-03  0.200E-04   46  11  33   44  14  26   16  21   9    0.000    0.000       0
+  0  15547 02:34:12.48   0.6080A   2.9610  -0.7545  -1.0150  0.060  0.00   0.000      0.  0.814E+00  0.543E-01  0.581E-03  0.205E-04   43  11   4   44  13  32   13  22   9    0.000    0.000       0
+  0  15557 02:34:18.44   0.5830A   3.0868  -0.7402  -0.9142  0.060  0.00   0.000      0.  0.814E+00  0.543E-01  0.560E-03  0.199E-04   43  11  10   43  14  37   11  22   9    0.000    0.000       0
+  0  15567 02:34:24.35   0.6040A   2.9794  -0.7492  -0.8676  0.061  0.00   0.000      0.  0.815E+00  0.544E-01  0.577E-03  0.214E-04   43  11  16   43  13   3    7  17   8    0.000    0.000       0
+  0  15577 02:34:30.47   0.6130A   2.9341   0.6716  -0.8022  0.061  0.00   0.000      0.  0.815E+00  0.545E-01  0.584E-03  0.236E-04   46   6  19    9  15   9    5  17   8    0.000    0.000       0
+  0  15587 02:34:36.58   0.6080A   2.9604  -0.6624  -0.7413  0.061  0.00   0.000      0.  0.816E+00  0.547E-01  0.582E-03  0.248E-04   46   6  27   40  16   2    5  13   9    0.000    0.000       0
+  0  15596 02:34:42.04   0.6050A   2.9758  -0.6658  -0.7645  0.061  0.00   0.000      0.  0.816E+00  0.549E-01  0.581E-03  0.244E-04   46   6  34   40  13   5   17  11   9    0.000    0.000       0
+  0  15606 02:34:48.10   0.6080A   2.9584  -0.6710  -0.8035  0.061  0.00   0.000      0.  0.817E+00  0.551E-01  0.584E-03  0.220E-04   46   6   2   39  13  11   16  11   9    0.000    0.000       0
+  0  15616 02:34:54.12   0.5990A   3.0028  -0.6617   0.8044  0.060  0.00   0.000      0.  0.817E+00  0.554E-01  0.588E-03  0.249E-04   44  12  16   39  12  16   20  27   9    0.000    0.000       0
+  0  15626 02:35:00.10   0.6040A   2.9820   0.6981   0.8292  0.061  0.00   0.000      0.  0.818E+00  0.557E-01  0.602E-03  0.240E-04   44  12  24   21  28   8   20  27   9    0.000    0.000       0
+  0  15636 02:35:06.18   0.6100A   2.9496  -0.6855  -0.9598  0.062  0.00   0.000      0.  0.818E+00  0.560E-01  0.627E-03  0.250E-04   44  12  31   20  16   9   17  20   9    0.000    0.000       0
+  0  15646 02:35:12.35   0.6230A   2.8880  -0.8289  -1.1201  0.063  0.00   0.000      0.  0.818E+00  0.562E-01  0.659E-03  0.266E-04   44  12  39   20  14   9   16  21   9    0.000    0.000       0
+  0  15656 02:35:18.62   0.6270A   2.8728   0.7005  -1.1778  0.063  0.00   0.000      0.  0.819E+00  0.562E-01  0.673E-03  0.258E-04   45  13   7   25  13   9   15  21   9    0.000    0.000       0
+  0  15665 02:35:24.25   0.6240A   2.8860  -0.7121  -1.1317  0.063  0.00   0.000      0.  0.819E+00  0.562E-01  0.678E-03  0.255E-04   45   8   7   12  38  39   14  22   9    0.000    0.000       0
+  0  15675 02:35:30.47   0.6190A   2.9072   0.8459  -1.0253  0.063  0.00   0.000      0.  0.819E+00  0.563E-01  0.687E-03  0.272E-04   44  13  25   25  13  13   13  22   9    0.000    0.000       0
+  0  15684 02:35:36.01   0.6150A   2.9285   0.9033  -0.9285  0.062  0.00   0.000      0.  0.820E+00  0.565E-01  0.694E-03  0.289E-04   46   9  21   24  13  15   13  23   9    0.000    0.000       0
+  0  15694 02:35:42.13   0.6080A   2.9586   0.9154  -0.9238  0.062  0.00   0.000      0.  0.820E+00  0.567E-01  0.696E-03  0.286E-04   45   9  30   21  18   8   14  23   9    0.000    0.000       0
+  0  15704 02:35:48.18   0.6040A   2.9798   1.0075  -0.8689  0.061  0.00   0.000      0.  0.820E+00  0.571E-01  0.695E-03  0.254E-04   46   9  38   21  19   8   13  23   9    0.000    0.000       0
+  0  15714 02:35:54.19   0.6010A   2.9971   0.8625  -0.8247  0.060  0.00   0.000      0.  0.820E+00  0.574E-01  0.693E-03  0.222E-04   43  14  10   20  23   8   12  22   9    0.000    0.000       0
+  0  15724 02:36:00.21   0.6030A   2.9865   0.9598  -0.7706  0.060  0.00   0.000      0.  0.820E+00  0.578E-01  0.698E-03  0.199E-04   46  10  14   24  14  33   11  22   9    0.000    0.000       0
+  0  15734 02:36:06.24   0.6060A   2.9726   0.9140   0.7280  0.060  0.00   0.000      0.  0.820E+00  0.584E-01  0.701E-03  0.186E-04   46  10  21   24  15  37   20  28   8    0.000    0.000       0
+  0  15744 02:36:12.28   0.6050A   2.9731   0.9422   0.7517  0.061  0.00   0.000      0.  0.820E+00  0.591E-01  0.705E-03  0.193E-04   46  12  30   25  15   3   21  28   8    0.000    0.000       0
+  0  15754 02:36:18.37   0.6140A   2.9327   0.9218  -1.0009  0.061  0.00   0.000      0.  0.820E+00  0.599E-01  0.728E-03  0.199E-04   46   9  32   25  15   8   17  21   9    0.000    0.000       0
+  0  15764 02:36:24.57   0.6240A   2.8859   0.8773  -1.2402  0.062  0.00   0.000      0.  0.819E+00  0.606E-01  0.754E-03  0.214E-04   46  12   5   25  16  13   16  20   9    0.000    0.000       0
+  0  15773 02:36:30.21   0.6230A   2.8876   0.9749  -1.3041  0.062  0.00   0.000      0.  0.819E+00  0.612E-01  0.761E-03  0.234E-04   45  11   4   24  17  16   15  20   9    0.000    0.000       0
+  0  15783 02:36:36.43   0.6190A   2.9076   0.9586  -1.2098  0.062  0.00   0.000      0.  0.819E+00  0.617E-01  0.754E-03  0.241E-04   46  10  15   24  18  21   13  20   9    0.000    0.000       0
+  0  15792 02:36:42.01   0.6210A   2.8979   0.9174  -1.0693  0.062  0.00   0.000      0.  0.818E+00  0.621E-01  0.756E-03  0.229E-04   46  10  21   24  20  24   12  19   9    0.000    0.000       0
+  0  15802 02:36:48.23   0.6210A   2.8980   0.8689  -1.0053  0.062  0.00   0.000      0.  0.818E+00  0.624E-01  0.755E-03  0.213E-04   45  11  26   25  18  31   15  16   9    0.000    0.000       0
+  0  15812 02:36:54.44   0.6160A   2.9226  -0.8507  -0.8832  0.062  0.00   0.000      0.  0.818E+00  0.627E-01  0.750E-03  0.191E-04   46  12  35   18  13   9   14  15   9    0.000    0.000       0
+  0  15822 02:37:00.60   0.6160A   2.9210   0.8597  -0.7698  0.061  0.00   0.000      0.  0.817E+00  0.630E-01  0.748E-03  0.177E-04   46  12   2   26  17   0   14  19   9    0.000    0.000       0
+  0  15831 02:37:06.10   0.6100A   2.9505   0.8353  -0.7520  0.060  0.00   0.000      0.  0.817E+00  0.632E-01  0.745E-03  0.189E-04   46  11   9   26  18   4   14  20   9    0.000    0.000       0
+  0  15841 02:37:12.23   0.6220A   2.8922  -0.7965   0.8408  0.060  0.00   0.000      0.  0.816E+00  0.633E-01  0.769E-03  0.199E-04   46  11  16   11  14   8   19  10   8    0.000    0.000       0
+  0  15851 02:37:18.44   0.6200A   2.9019  -0.7478   0.8443  0.060  0.00   0.000      0.  0.816E+00  0.634E-01  0.785E-03  0.212E-04   46  34  21   10  13   8   20  10   9    0.000    0.000       0
+  0  15860 02:37:24.02   0.6130A   2.9342   0.7397  -0.7996  0.060  0.00   0.000      0.  0.815E+00  0.635E-01  0.792E-03  0.228E-04   43   0   8   21  18   6   16  24   9    0.000    0.000       0
+  0  15870 02:37:30.12   0.6070A   2.9666   0.8340  -0.8016  0.059  0.00   0.000      0.  0.815E+00  0.637E-01  0.791E-03  0.213E-04   45  21  25   21  15   4   16  24   9    0.000    0.000       0
+  0  15880 02:37:36.04   0.5780A   3.1133   0.8993  -0.7750  0.058  0.00   0.000      0.  0.814E+00  0.638E-01  0.754E-03  0.187E-04   46  20  33   20  22   8   16  25   9    0.000    0.000       0
+  0  15891 02:37:42.35   0.5780A   3.1167   0.8494  -0.8650  0.058  0.00   0.000      0.  0.814E+00  0.640E-01  0.763E-03  0.179E-04   46  20   1   21  17   6   15  36  39    0.000    0.000       0
+  0  15901 02:37:48.22   0.6090A   2.9579  -0.8011  -0.9121  0.057  0.00   0.000      0.  0.813E+00  0.643E-01  0.821E-03  0.240E-04   45  19   7   21  13   1   16  36   2    0.000    0.000       0
+  0  15911 02:37:54.32   0.6150A   2.9267   0.8050  -0.8296  0.055  0.00   0.000      0.  0.812E+00  0.648E-01  0.842E-03  0.285E-04   46  19  15   20  17   8   15  36   4    0.000    0.000       0
+  0  15921 02:38:00.54   0.6250A   2.8812  -0.7638  -0.7731  0.054  0.00   0.000      0.  0.812E+00  0.654E-01  0.860E-03  0.268E-04   46  38  32   20  11   4   15  36   7    0.000    0.000       0
+  0  15930 02:38:06.11   0.6120A   2.9405   0.7760  -0.7547  0.055  0.00   0.000      0.  0.811E+00  0.659E-01  0.851E-03  0.234E-04   44  39  35   20  23   9   16  10   9    0.000    0.000       0
+  0  15940 02:38:12.20   0.6100A   2.9518  -0.9831  -0.7520  0.056  0.00   0.000      0.  0.810E+00  0.663E-01  0.852E-03  0.229E-04   44  39   2   20  10   9   18  20   9    0.000    0.000       0
+  0  15950 02:38:18.28   0.6090A   2.9543  -0.8678  -0.9707  0.057  0.00   0.000      0.  0.809E+00  0.665E-01  0.845E-03  0.232E-04   44  39  10   20  15   8   17  19   9    0.000    0.000       0
+  0  15960 02:38:24.45   0.6240A   2.8865  -1.0857  -1.1512  0.058  0.00   0.000      0.  0.808E+00  0.665E-01  0.861E-03  0.250E-04   44  39  17   19  19   8   16  18   9    0.000    0.000       0
+  0  15969 02:38:30.08   0.6250A   2.8803  -0.9325  -1.0222  0.058  0.00   0.000      0.  0.807E+00  0.664E-01  0.855E-03  0.222E-04   43   0  38   18  15   9   15  18   9    0.000    0.000       0
+  0  15979 02:38:36.34   0.6250A   2.8790   0.9739  -0.9641  0.059  0.00   0.000      0.  0.806E+00  0.659E-01  0.847E-03  0.206E-04   45  39  36   21  30  11   16  23   9    0.000    0.000       0
+  0  15989 02:38:42.55   0.6170A   2.9172   1.0050  -0.9651  0.059  0.00   0.000      0.  0.804E+00  0.652E-01  0.824E-03  0.213E-04   46   6  18   21  31  13   16  25   9    0.000    0.000       0
+  0  15998 02:38:48.09   0.6140A   2.9301   0.9272  -0.9197  0.058  0.00   0.000      0.  0.803E+00  0.646E-01  0.824E-03  0.238E-04   45   0  11   21  32  16   17  23   9    0.000    0.000       0
+  0  16008 02:38:54.18   0.6050A   2.9754   0.8441  -0.8986  0.056  0.00   0.000      0.  0.802E+00  0.641E-01  0.813E-03  0.266E-04   44  36  39   21  33  19   16  23   9    0.000    0.000       0
+  0  16018 02:39:00.20   0.5980A   3.0123   0.8217   0.9030  0.055  0.00   0.000      0.  0.800E+00  0.638E-01  0.805E-03  0.276E-04   46  39  37   16  12   9   20  25   9    0.000    0.000       0
+  0  16028 02:39:06.20   0.6020A   2.9896   0.9129   1.1134  0.053  0.00   0.000      0.  0.799E+00  0.636E-01  0.808E-03  0.290E-04   46  39   4   15  13   9   20  27   9    0.000    0.000       0
+  0  16038 02:39:12.24   0.6000A   3.0019  -1.0550   1.0784  0.053  0.00   0.000      0.  0.798E+00  0.633E-01  0.802E-03  0.294E-04   46   0   9   20  10   9   20  25   9    0.000    0.000       0
+  0  16048 02:39:18.22   0.6010A   2.9958  -1.1066   0.9551  0.054  0.00   0.000      0.  0.797E+00  0.629E-01  0.801E-03  0.291E-04   46   0  16   18  10   9   20  26   9    0.000    0.000       0
+  0  16058 02:39:24.35   0.6170A   2.9190   0.9837  -1.3577  0.054  0.00   0.000      0.  0.796E+00  0.624E-01  0.813E-03  0.280E-04   42   0  21   17  18   9   16  16   9    0.000    0.000       0
+  0  16068 02:39:30.52   0.6190A   2.9061  -0.8406  -1.2729  0.054  0.00   0.000      0.  0.795E+00  0.617E-01  0.805E-03  0.274E-04   42   0  29   15  10   9   14  17   9    0.000    0.000       0
+  0  16077 02:39:36.13   0.6200A   2.9016  -0.7466  -1.3359  0.054  0.00   0.000      0.  0.794E+00  0.610E-01  0.795E-03  0.254E-04   45  38   5   14  10   9   13  17   8    0.000    0.000       0
+  0  16087 02:39:42.30   0.6160A   2.9235  -0.7464  -1.1080  0.054  0.00   0.000      0.  0.793E+00  0.603E-01  0.773E-03  0.239E-04   46  38  13   46  14  35   12  18   8    0.000    0.000       0
+  0  16097 02:39:48.44   0.6140A   2.9310   0.8157  -1.0101  0.054  0.00   0.000      0.  0.793E+00  0.598E-01  0.763E-03  0.238E-04   46  38  20   15  16   7    9  18   8    0.000    0.000       0
+  0  16107 02:39:54.56   0.6090A   2.9550   0.7528  -0.9680  0.053  0.00   0.000      0.  0.792E+00  0.595E-01  0.748E-03  0.234E-04   45  37  26   12  16   8    7  18   8    0.000    0.000       0
+  0  16116 02:40:00.03   0.6080A   2.9628   0.7544  -0.8941  0.053  0.00   0.000      0.  0.792E+00  0.594E-01  0.744E-03  0.226E-04   46  37  33   11  14   8    9  15   9    0.000    0.000       0
+  0  16126 02:40:06.09   0.6050A   2.9750  -0.7236  -0.8935  0.052  0.00   0.000      0.  0.792E+00  0.593E-01  0.741E-03  0.243E-04   46  37   0   20  21   8    8  19   8    0.000    0.000       0
+  0  16136 02:40:12.13   0.6040A   2.9814  -0.7683  -0.8332  0.052  0.00   0.000      0.  0.792E+00  0.594E-01  0.736E-03  0.240E-04   46  37   7   20  20   8    6  19   8    0.000    0.000       0
+  0  16146 02:40:18.18   0.6080A   2.9629   0.7185  -0.7834  0.053  0.00   0.000      0.  0.792E+00  0.594E-01  0.747E-03  0.249E-04   46  37  14    7  17   9    3  21   7    0.000    0.000       0
+  0  16156 02:40:24.26   0.6070A   2.9672   0.8029  -0.7620  0.054  0.00   0.000      0.  0.792E+00  0.594E-01  0.750E-03  0.237E-04   46  36  19   19  20   9    5  20   8    0.000    0.000       0
+  0  16166 02:40:30.35   0.6070A   2.9654   0.8695  -0.7914  0.055  0.00   0.000      0.  0.792E+00  0.593E-01  0.750E-03  0.217E-04   46  35  28   19  20   9   20  18   8    0.000    0.000       0
+  0  16176 02:40:36.44   0.6110A   2.9468  -0.8336  -0.6724  0.057  0.00   0.000      0.  0.791E+00  0.589E-01  0.757E-03  0.206E-04   46  35  35   19   8   9    3  11   9    0.000    0.000       0
+  0  16186 02:40:42.59   0.6140A   2.9294   0.7528  -0.7913  0.058  0.00   0.000      0.  0.791E+00  0.583E-01  0.766E-03  0.216E-04   45  35   5   19  19   9   16  16   9    0.000    0.000       0
+  0  16195 02:40:48.04   0.6030A   2.9839   0.8384  -1.0090  0.059  0.00   0.000      0.  0.791E+00  0.577E-01  0.752E-03  0.208E-04   44  32   2   19  19   9   16  15   9    0.000    0.000       0
+  0  16205 02:40:54.06   0.6000A   3.0008   0.8014  -1.1216  0.060  0.00   0.000      0.  0.791E+00  0.568E-01  0.742E-03  0.199E-04   43  30  11   19  20   9   15  15   9    0.000    0.000       0
+  0  16215 02:41:00.07   0.6000A   2.9991   0.7912  -1.0647  0.061  0.00   0.000      0.  0.790E+00  0.557E-01  0.733E-03  0.197E-04   44  31  16   46   7  16   14  15   9    0.000    0.000       0
+  0  16225 02:41:06.11   0.6090A   2.9562   0.7445  -0.9556  0.062  0.00   0.000      0.  0.790E+00  0.547E-01  0.727E-03  0.182E-04   45  32  22   20  30   9   12  15   9    0.000    0.000       0
+  0  16235 02:41:12.10   0.5970A   3.0151   0.7174  -0.9644  0.062  0.00   0.000      0.  0.790E+00  0.537E-01  0.707E-03  0.174E-04   46  32  28   38  10   6   17  19   9    0.000    0.000       0
+  0  16245 02:41:18.09   0.5910A   3.0476   0.7367  -0.9211  0.063  0.00   0.000      0.  0.789E+00  0.527E-01  0.695E-03  0.166E-04   43  29  34   38  10  11   16  18   9    0.000    0.000       0
+  0  16255 02:41:24.06   0.6060A   2.9685   0.7119  -0.8376  0.063  0.00   0.000      0.  0.789E+00  0.517E-01  0.707E-03  0.175E-04   43  29   1   38  12  15   13  19   9    0.000    0.000       0
+  0  16265 02:41:30.09   0.6010A   2.9947  -0.7478  -0.7388  0.062  0.00   0.000      0.  0.789E+00  0.509E-01  0.706E-03  0.210E-04   43  29   8   39   9  12   13  22   9    0.000    0.000       0
+  0  16275 02:41:36.08   0.5950A   3.0229  -0.7660   0.8835  0.060  0.00   0.000      0.  0.789E+00  0.502E-01  0.708E-03  0.248E-04   41  30  13   39   8  18   20  27   9    0.000    0.000       0
+  0  16285 02:41:42.05   0.5970A   3.0133  -0.7813   0.8654  0.058  0.00   0.000      0.  0.789E+00  0.497E-01  0.719E-03  0.284E-04   46  39  23   39   7  24   20  25   9    0.000    0.000       0
+  0  16295 02:41:48.02   0.6010A   2.9943  -0.8521   0.8896  0.056  0.00   0.000      0.  0.790E+00  0.493E-01  0.723E-03  0.287E-04   46  39  30   38   7  28   20  25   9    0.000    0.000       0
+  0  16305 02:41:54.06   0.6040A   2.9817  -0.8324   0.8410  0.055  0.00   0.000      0.  0.790E+00  0.490E-01  0.724E-03  0.291E-04   46  38  37   38   6  33   21  24   9    0.000    0.000       0
+  0  16315 02:42:00.15   0.6130A   2.9383  -0.7691   0.7580  0.054  0.00   0.000      0.  0.790E+00  0.488E-01  0.727E-03  0.283E-04   46  38   4   37   6  37   21  24   9    0.000    0.000       0
+  0  16325 02:42:06.26   0.6150A   2.9255   0.8518   0.8035  0.053  0.00   0.000      0.  0.791E+00  0.486E-01  0.723E-03  0.259E-04   46   1  10   22  27   4   21  23   9    0.000    0.000       0
+  0  16335 02:42:12.44   0.6190A   2.9086   0.8030  -0.7513  0.053  0.00   0.000      0.  0.791E+00  0.483E-01  0.713E-03  0.203E-04   46   6  38   21  26   6   36  35  11    0.000    0.000       0
+  0  16345 02:42:18.60   0.6130A   2.9348   0.7080  -0.7313  0.054  0.00   0.000      0.  0.791E+00  0.479E-01  0.696E-03  0.158E-04   45   6   6   21  30   8   36  35  17    0.000    0.000       0
+  0  16354 02:42:24.13   0.6150A   2.9286   0.7701  -0.7174  0.054  0.00   0.000      0.  0.792E+00  0.474E-01  0.686E-03  0.162E-04   44  35  19   20  31   9   31  36   9    0.000    0.000       0
+  0  16364 02:42:30.25   0.6090A   2.9562   0.7545  -0.7040  0.055  0.00   0.000      0.  0.792E+00  0.468E-01  0.671E-03  0.169E-04   44  35  26   21  31  14   30  36  13    0.000    0.000       0
+  0  16374 02:42:36.33   0.6100A   2.9519   0.7501  -0.6508  0.054  0.00   0.000      0.  0.792E+00  0.463E-01  0.662E-03  0.178E-04   44  35  33   21  31  18   29  36  18    0.000    0.000       0
+  0  16384 02:42:42.42   0.6100A   2.9492   0.7216  -0.6667  0.054  0.00   0.000      0.  0.793E+00  0.458E-01  0.654E-03  0.189E-04   44  35   1   20  30   9   29  36  24    0.000    0.000       0
+  0  16394 02:42:48.56   0.6180A   2.9128   0.7446  -0.6264  0.055  0.00   0.000      0.  0.793E+00  0.454E-01  0.655E-03  0.196E-04   44  35   9   21  31  14   28  36  28    0.000    0.000       0
+  0  16403 02:42:54.10   0.6160A   2.9204   0.7179  -0.6063  0.054  0.00   0.000      0.  0.794E+00  0.451E-01  0.646E-03  0.199E-04   44  35  15   21  32  16   28  37  33    0.000    0.000       0
+  0  16413 02:43:00.25   0.6160A   2.9205   0.6764   0.6370  0.054  0.00   0.000      0.  0.795E+00  0.449E-01  0.640E-03  0.190E-04   44  35  23   21  33  20   19  30   8    0.000    0.000       0
+  0  16423 02:43:06.41   0.6100A   2.9521   0.7162   0.7508  0.053  0.00   0.000      0.  0.795E+00  0.447E-01  0.631E-03  0.178E-04   45  32  28   21  34  24   19  29   8    0.000    0.000       0
+  0  16433 02:43:12.46   0.6060A   2.9703   0.7066   0.6382  0.052  0.00   0.000      0.  0.796E+00  0.446E-01  0.627E-03  0.169E-04   46  32  35   28   5  15   19  29   8    0.000    0.000       0
+  0  16443 02:43:18.59   0.6120A   2.9390   0.6849   0.7979  0.052  0.00   0.000      0.  0.796E+00  0.447E-01  0.637E-03  0.176E-04   46   4  37   28   6  18   20  29   9    0.000    0.000       0
+  0  16452 02:43:24.10   0.6100A   2.9503  -0.6727   0.7976  0.051  0.00   0.000      0.  0.797E+00  0.448E-01  0.642E-03  0.196E-04   46   4   4   21  18   2   20  27   9    0.000    0.000       0
+  0  16462 02:43:30.20   0.6110A   2.9476  -0.8306   0.9149  0.050  0.00   0.000      0.  0.797E+00  0.450E-01  0.648E-03  0.215E-04   46   4  11   21  16   4   20  11   9    0.000    0.000       0
+  0  16472 02:43:36.29   0.6080A   2.9598   0.7220   0.8524  0.050  0.00   0.000      0.  0.798E+00  0.452E-01  0.652E-03  0.213E-04   41   3  17   23  28   8   20  11   9    0.000    0.000       0
+  0  16482 02:43:42.33   0.6020A   2.9888  -0.7403   0.7911  0.050  0.00   0.000      0.  0.798E+00  0.455E-01  0.656E-03  0.226E-04   45  24  24   20  18   6   20  11   9    0.000    0.000       0
+  0  16492 02:43:48.42   0.6130A   2.9359  -0.8648   0.8269  0.050  0.00   0.000      0.  0.798E+00  0.458E-01  0.672E-03  0.249E-04   43   3  23   20  18   8   20  11   9    0.000    0.000       0
+  0  16502 02:43:54.57   0.6120A   2.9397  -0.9127   0.8101  0.051  0.00   0.000      0.  0.799E+00  0.461E-01  0.678E-03  0.263E-04   43   4  29   21  11   8   20  13   9    0.000    0.000       0
+  0  16512 02:44:00.52   0.5920A   3.0412  -0.8890  -0.7547  0.052  0.00   0.000      0.  0.799E+00  0.464E-01  0.651E-03  0.209E-04   43   4  37   19  15   9   17  19   9    0.000    0.000       0
+  0  16522 02:44:06.37   0.5870A   3.0677  -0.7551  -0.8086  0.054  0.00   0.000      0.  0.799E+00  0.466E-01  0.638E-03  0.177E-04   43   4   4   19  15   9   16  18   9    0.000    0.000       0
+  0  16532 02:44:12.26   0.5990A   3.0038  -0.6709  -0.8550  0.055  0.00   0.000      0.  0.799E+00  0.467E-01  0.638E-03  0.155E-04   43   4  11   38  13   1   17  25   9    0.000    0.000       0
+  0  16542 02:44:18.28   0.6050A   2.9744  -0.6990  -0.8126  0.056  0.00   0.000      0.  0.799E+00  0.467E-01  0.634E-03  0.151E-04   42   3  17   21  26   5   17  26   9    0.000    0.000       0
+  0  16552 02:44:24.37   0.6210A   2.8964   0.6941  -0.8084  0.055  0.00   0.000      0.  0.799E+00  0.468E-01  0.649E-03  0.167E-04   42   3  24   21  11   6   17  22   9    0.000    0.000       0
+  0  16562 02:44:30.54   0.6130A   2.9359   0.6982  -0.7750  0.054  0.00   0.000      0.  0.799E+00  0.469E-01  0.640E-03  0.177E-04   43   0   3   17  14   9   16  23   9    0.000    0.000       0
+  0  16571 02:44:36.03   0.6040A   2.9796  -0.7659   0.7887  0.053  0.00   0.000      0.  0.799E+00  0.471E-01  0.634E-03  0.190E-04   44   3   3   20  27   8   20  13   9    0.000    0.000       0
+  0  16581 02:44:42.02   0.5970A   3.0170   0.6735   0.8391  0.052  0.00   0.000      0.  0.799E+00  0.473E-01  0.631E-03  0.201E-04   44   3  10   26  11  21   20  14   9    0.000    0.000       0
+  0  16592 02:44:48.54   0.5950A   3.0236  -0.7248   0.7839  0.051  0.00   0.000      0.  0.799E+00  0.476E-01  0.627E-03  0.200E-04   44   3  18   17  25   8   21  14   9    0.000    0.000       0
+  0  16602 02:44:54.48   0.5920A   3.0392   0.8290   0.7389  0.050  0.00   0.000      0.  0.799E+00  0.477E-01  0.623E-03  0.192E-04   44   3  27   20  22   6   20  16   9    0.000    0.000       0
+  0  16612 02:45:00.35   0.5850A   3.0784   0.7058   0.6816  0.050  0.00   0.000      0.  0.799E+00  0.479E-01  0.617E-03  0.173E-04   44   3  34   19  22   6   20  11   9    0.000    0.000       0
+  0  16622 02:45:06.25   0.5950A   3.0269  -0.9067  -0.6909  0.050  0.00   0.000      0.  0.799E+00  0.480E-01  0.629E-03  0.178E-04   44   3   2   21  11   8   19  17   6    0.000    0.000       0
+  0  16632 02:45:12.13   0.5780A   3.1144  -0.7848  -0.7164  0.050  0.00   0.000      0.  0.800E+00  0.482E-01  0.614E-03  0.165E-04   44   3   9   20  11   8   17  17   7    0.000    0.000       0
+  0  16643 02:45:18.47   0.5800A   3.1045  -0.7819  -0.8464  0.051  0.00   0.000      0.  0.800E+00  0.483E-01  0.614E-03  0.151E-04   44   3  16   19  12   9   17  18   8    0.000    0.000       0
+  0  16653 02:45:24.35   0.5970A   3.0156   0.7164  -1.0129  0.051  0.00   0.000      0.  0.800E+00  0.483E-01  0.627E-03  0.150E-04   44   3  23   28  14  37   16  18   8    0.000    0.000       0
+  0  16663 02:45:30.31   0.5950A   3.0267   0.6892  -0.9648  0.052  0.00   0.000      0.  0.800E+00  0.482E-01  0.623E-03  0.153E-04   44   0  26   29  15   3   15  18   8    0.000    0.000       0
+  0  16673 02:45:36.21   0.5880A   3.0589   0.7091  -0.8546  0.053  0.00   0.000      0.  0.801E+00  0.479E-01  0.615E-03  0.158E-04   44   0  33   19  30   9   15  19   8    0.000    0.000       0
+  0  16683 02:45:42.06   0.5840A   3.0817   0.7544  -0.8039  0.054  0.00   0.000      0.  0.801E+00  0.476E-01  0.608E-03  0.147E-04   44   0   1   18  32   9   14  19   8    0.000    0.000       0
+  0  16694 02:45:48.45   0.5830A   3.0876   0.7199  -0.8328  0.054  0.00   0.000      0.  0.801E+00  0.473E-01  0.605E-03  0.137E-04   44   0  10   19  13   8   16  23   9    0.000    0.000       0
+  0  16704 02:45:54.32   0.5860A   3.0697   0.7160  -0.8412  0.054  0.00   0.000      0.  0.802E+00  0.469E-01  0.605E-03  0.125E-04   44  39  16   19  15   8   17  24   9    0.000    0.000       0
+  0  16714 02:46:00.16   0.5860A   3.0743   0.6378  -0.8436  0.053  0.00   0.000      0.  0.802E+00  0.466E-01  0.603E-03  0.125E-04   44   0  26   32  16  21   16  24   9    0.000    0.000       0
+  0  16725 02:46:06.58   0.5840A   3.0800  -0.6371  -0.7811  0.052  0.00   0.000      0.  0.803E+00  0.464E-01  0.603E-03  0.125E-04   46  39  33   41  35  37   15  24   9    0.000    0.000       0
+  0  16735 02:46:12.36   0.5810A   3.0960   0.6509  -0.7099  0.051  0.00   0.000      0.  0.803E+00  0.463E-01  0.599E-03  0.113E-04   44  39   0   29  20  24   12  23   8    0.000    0.000       0
+  0  16745 02:46:18.25   0.5910A   3.0458  -0.6582  -0.6999  0.050  0.00   0.000      0.  0.803E+00  0.462E-01  0.610E-03  0.122E-04   46  36  29   41  31   9   31   5  27    0.000    0.000       0
+  0  16755 02:46:24.20   0.5990A   3.0075  -0.7065  -0.7300  0.050  0.00   0.000      0.  0.804E+00  0.462E-01  0.621E-03  0.158E-04   46  36  36   41  31  14    8  22   7    0.000    0.000       0
+  0  16765 02:46:30.20   0.6010A   2.9934  -0.6653  -0.7055  0.049  0.00   0.000      0.  0.804E+00  0.463E-01  0.627E-03  0.190E-04   46  33   8   41  30  19    7  22   7    0.000    0.000       0
+  0  16775 02:46:36.23   0.6040A   2.9798   0.6939  -0.6312  0.048  0.00   0.000      0.  0.805E+00  0.465E-01  0.630E-03  0.186E-04   46  32  16   36  17   8    6  21   7    0.000    0.000       0
+  0  16785 02:46:42.32   0.6130A   2.9344  -0.6712  -0.6712  0.046  0.00   0.000      0.  0.805E+00  0.467E-01  0.638E-03  0.179E-04   46  32  25   15  30   6    5  21   6    0.000    0.000       0
+  0  16795 02:46:48.39   0.6060A   2.9719  -0.6725  -0.6755  0.046  0.00   0.000      0.  0.805E+00  0.469E-01  0.629E-03  0.158E-04   46  32  33   34   0  13   11  27   9    0.000    0.000       0
+  0  16805 02:46:54.53   0.6170A   2.9189  -0.7955  -0.6687  0.047  0.00   0.000      0.  0.806E+00  0.471E-01  0.642E-03  0.156E-04   46  35  36   34  39  18   11  27   9    0.000    0.000       0
+  0  16814 02:47:00.04   0.6100A   2.9520  -0.8660  -0.6472  0.047  0.00   0.000      0.  0.806E+00  0.473E-01  0.640E-03  0.156E-04   46  35   2   33  39  21    9  26   9    0.000    0.000       0
+  0  16824 02:47:06.15   0.6120A   2.9402  -0.9120   0.6699  0.048  0.00   0.000      0.  0.807E+00  0.475E-01  0.647E-03  0.166E-04   46  35   9   32  38  24   20  11   9    0.000    0.000       0
+  0  16834 02:47:12.28   0.6100A   2.9487  -0.9220   0.7768  0.048  0.00   0.000      0.  0.807E+00  0.476E-01  0.652E-03  0.174E-04   45  38  27   32  37  29   20  12   9    0.000    0.000       0
+  0  16844 02:47:18.37   0.6110A   2.9451  -0.9261   0.8712  0.048  0.00   0.000      0.  0.808E+00  0.477E-01  0.662E-03  0.183E-04   45  38  35   32  36  33   21  13   9    0.000    0.000       0
+  0  16854 02:47:24.51   0.6150A   2.9275  -0.8487   0.8652  0.048  0.00   0.000      0.  0.808E+00  0.477E-01  0.672E-03  0.197E-04   45  39   2   32  35  37   21  14   9    0.000    0.000       0
+  0  16863 02:47:30.06   0.6170A   2.9155   0.8986   0.8859  0.048  0.00   0.000      0.  0.809E+00  0.477E-01  0.679E-03  0.218E-04   45  39   9   18  15   9   22  16   9    0.000    0.000       0
+  0  16873 02:47:36.28   0.6240A   2.8843   0.8819   0.8239  0.048  0.00   0.000      0.  0.809E+00  0.477E-01  0.688E-03  0.247E-04   45  15  27   18  16   9   21  13   9    0.000    0.000       0
+  0  16883 02:47:42.48   0.6200A   2.9026  -0.8591   0.8372  0.048  0.00   0.000      0.  0.809E+00  0.477E-01  0.689E-03  0.255E-04   46  15  35   32  36  10   20  12   9    0.000    0.000       0
+  0  16892 02:47:48.06   0.6150A   2.9259  -0.9850   0.7698  0.048  0.00   0.000      0.  0.810E+00  0.478E-01  0.689E-03  0.260E-04   40  14  22   21  11   8   20  12   9    0.000    0.000       0
+  0  16902 02:47:54.19   0.6190A   2.9097  -0.9395   0.7873  0.049  0.00   0.000      0.  0.810E+00  0.477E-01  0.693E-03  0.236E-04   40  14  29   20  10   8   21  28   9    0.000    0.000       0
+  0  16912 02:48:00.46   0.6190A   2.9091  -0.9686   0.8016  0.049  0.00   0.000      0.  0.810E+00  0.475E-01  0.684E-03  0.217E-04   43   9  18   19  10   9   21  28   9    0.000    0.000       0
+  0  16921 02:48:06.01   0.6160A   2.9229  -0.9906   0.7028  0.049  0.00   0.000      0.  0.810E+00  0.473E-01  0.676E-03  0.204E-04   44  14  33   19   9   9   20  29   9    0.000    0.000       0
+  0  16931 02:48:12.14   0.6110A   2.9451  -0.7615   0.7330  0.049  0.00   0.000      0.  0.810E+00  0.471E-01  0.670E-03  0.183E-04   44  14   1   18  10   9   20  27   9    0.000    0.000       0
+  0  16941 02:48:18.23   0.6090A   2.9563  -0.6614   0.7476  0.049  0.00   0.000      0.  0.810E+00  0.468E-01  0.667E-03  0.168E-04   45   2   8   36  38   8   20  27   9    0.000    0.000       0
+  0  16951 02:48:24.32   0.6120A   2.9401  -0.7488  -0.6030  0.049  0.00   0.000      0.  0.810E+00  0.466E-01  0.666E-03  0.170E-04   46  18  16   21  25   8    9  21   9    0.000    0.000       0
+  0  16961 02:48:30.37   0.6000A   2.9992  -0.7536  -0.5800  0.049  0.00   0.000      0.  0.810E+00  0.463E-01  0.650E-03  0.160E-04   46  18  23   21  23   8    7  23   8    0.000    0.000       0
+  0  16971 02:48:36.39   0.6040A   2.9812  -0.7642  -0.6463  0.048  0.00   0.000      0.  0.810E+00  0.461E-01  0.647E-03  0.144E-04   46  18  31   19  25   9   18  27   9    0.000    0.000       0
+  0  16981 02:48:42.41   0.6010A   2.9957  -0.7527  -0.6705  0.048  0.00   0.000      0.  0.811E+00  0.458E-01  0.634E-03  0.149E-04   44  14   2   20  25   9   19  28   9    0.000    0.000       0
+  0  16991 02:48:48.47   0.6050A   2.9768   0.6500  -0.6758  0.047  0.00   0.000      0.  0.811E+00  0.454E-01  0.625E-03  0.155E-04   45  17   6   22  30   4   18  28   9    0.000    0.000       0
+  0  17001 02:48:54.50   0.6030A   2.9849   0.6840   0.6219  0.046  0.00   0.000      0.  0.811E+00  0.451E-01  0.620E-03  0.164E-04   46  17  14   21  29   4   21  23   9    0.000    0.000       0
+  0  17011 02:49:00.54   0.6020A   2.9896   0.7017   0.6752  0.045  0.00   0.000      0.  0.812E+00  0.448E-01  0.623E-03  0.181E-04   45  15  16   20  29   4   20  29   9    0.000    0.000       0
+  0  17021 02:49:06.53   0.5990A   3.0074   0.7451   0.7020  0.044  0.00   0.000      0.  0.812E+00  0.446E-01  0.620E-03  0.187E-04   45  15  24   22  29   6   20  28   9    0.000    0.000       0
+  0  17031 02:49:12.54   0.6010A   2.9971   0.7494   0.7203  0.042  0.00   0.000      0.  0.813E+00  0.443E-01  0.627E-03  0.215E-04   44  14  32   21  29   8   21  24   9    0.000    0.000       0
+  0  17041 02:49:18.52   0.5910A   3.0478   0.7524   0.7995  0.042  0.00   0.000      0.  0.814E+00  0.441E-01  0.623E-03  0.241E-04   44  37  34   20  30   9   21  30   5    0.000    0.000       0
+  0  17051 02:49:24.39   0.5800A   3.1038   0.9285   0.7819  0.041  0.00   0.000      0.  0.814E+00  0.440E-01  0.616E-03  0.249E-04   44  37   1   20  30   9   22  29   5    0.000    0.000       0
+  0  17061 02:49:30.16   0.5690A   3.1627  -0.7843   0.7845  0.042  0.00   0.000      0.  0.815E+00  0.439E-01  0.600E-03  0.224E-04   44  37   8   21  10   8   22  29   7    0.000    0.000       0
+  0  17072 02:49:36.38   0.5670A   3.1732  -0.6801  -0.6472  0.043  0.00   0.000      0.  0.815E+00  0.438E-01  0.592E-03  0.202E-04   44  37  16   20  10   8   33   6   3    0.000    0.000       0
+  0  17083 02:49:42.53   0.5590A   3.2185  -0.6899  -0.6296  0.045  0.00   0.000      0.  0.816E+00  0.439E-01  0.577E-03  0.182E-04   44  37  23   21  26   6   19  22   6    0.000    0.000       0
+  0  17093 02:49:48.22   0.5760A   3.1238  -0.6893  -0.6793  0.046  0.00   0.000      0.  0.816E+00  0.440E-01  0.583E-03  0.172E-04   44  37  30   20  19   9   16  21   9    0.000    0.000       0
+  0  17103 02:49:54.14   0.6060A   2.9706   0.7319  -0.7329  0.048  0.00   0.000      0.  0.817E+00  0.440E-01  0.607E-03  0.181E-04   44  37  38   20  20   4   15  21   9    0.000    0.000       0
+  0  17113 02:50:00.25   0.6110A   2.9442  -0.7303  -0.7855  0.049  0.00   0.000      0.  0.817E+00  0.441E-01  0.605E-03  0.176E-04   42  15  12   19  16   9   14  20   9    0.000    0.000       0
+  0  17123 02:50:06.38   0.6160A   2.9208   0.8428  -0.7817  0.049  0.00   0.000      0.  0.818E+00  0.440E-01  0.603E-03  0.153E-04   44  13  24   20  22   6   13  19   9    0.000    0.000       0
+  0  17133 02:50:12.48   0.6060A   2.9709   0.8462  -0.7367  0.050  0.00   0.000      0.  0.818E+00  0.439E-01  0.592E-03  0.144E-04   45  25  19   20  22   8   13  17   9    0.000    0.000       0
+  0  17143 02:50:18.51   0.5990A   3.0026   0.7101  -0.6498  0.049  0.00   0.000      0.  0.819E+00  0.437E-01  0.581E-03  0.131E-04   45  25  26   20  23   8   11  17   9    0.000    0.000       0
+  0  17153 02:50:24.49   0.5960A   3.0197  -0.6870  -0.5906  0.049  0.00   0.000      0.  0.819E+00  0.437E-01  0.580E-03  0.131E-04   45  25  33   19  29   8   17  29   9    0.000    0.000       0
+  0  17163 02:50:30.45   0.5940A   3.0299   0.6945   0.6010  0.048  0.00   0.000      0.  0.820E+00  0.437E-01  0.585E-03  0.151E-04   45  25   0   38  22  14   21  11   9    0.000    0.000       0
+  0  17173 02:50:36.40   0.5950A   3.0251   0.6591  -0.6082  0.046  0.00   0.000      0.  0.820E+00  0.439E-01  0.595E-03  0.175E-04   45  25   7   22  33   3   30   3  21    0.000    0.000       0
+  0  17183 02:50:42.37   0.5970A   3.0148   0.6379   0.5621  0.046  0.00   0.000      0.  0.821E+00  0.442E-01  0.607E-03  0.178E-04   45  25  14   18  13   9   20  14   9    0.000    0.000       0
+  0  17193 02:50:48.37   0.6020A   2.9915   0.6925  -0.6440  0.046  0.00   0.000      0.  0.822E+00  0.445E-01  0.621E-03  0.166E-04   45  25  21   16  13   9   35  16  32    0.000    0.000       0
+  0  17203 02:50:54.42   0.6070A   2.9645   0.6892  -0.6011  0.046  0.00   0.000      0.  0.822E+00  0.448E-01  0.632E-03  0.155E-04   45  25  28   15  13   9   35  16  38    0.000    0.000       0
+  0  17213 02:51:00.50   0.6080A   2.9598  -0.6968  -0.5885  0.047  0.00   0.000      0.  0.823E+00  0.449E-01  0.635E-03  0.142E-04   46   8  37   29  13  18   35  17   2    0.000    0.000       0
+  0  17223 02:51:06.53   0.6040A   2.9820  -0.7548  -0.5637  0.048  0.00   0.000      0.  0.823E+00  0.450E-01  0.636E-03  0.147E-04   43  19   9   20  11   8    4  27   9    0.000    0.000       0
+  0  17233 02:51:12.57   0.5980A   3.0084  -0.6833  -0.6330  0.050  0.00   0.000      0.  0.824E+00  0.450E-01  0.633E-03  0.156E-04   46  10  11   22  11  11   17  18   9    0.000    0.000       0
+  0  17243 02:51:18.51   0.5900A   3.0495   0.7929  -0.7920  0.051  0.00   0.000      0.  0.825E+00  0.449E-01  0.626E-03  0.160E-04   46  10  18   20  31   9   17  18   9    0.000    0.000       0
+  0  17253 02:51:24.42   0.5900A   3.0505   0.7060  -0.8685  0.053  0.00   0.000      0.  0.825E+00  0.448E-01  0.625E-03  0.151E-04   46  10  25   19  31   9   17  21   9    0.000    0.000       0
+  0  17263 02:51:30.36   0.5930A   3.0353   0.7287  -0.8924  0.054  0.00   0.000      0.  0.826E+00  0.447E-01  0.624E-03  0.140E-04   46  21   5   19  30   9   16  20   9    0.000    0.000       0
+  0  17273 02:51:36.26   0.5880A   3.0595  -0.6812  -0.8454  0.055  0.00   0.000      0.  0.826E+00  0.445E-01  0.615E-03  0.130E-04   44  10   1   20  30   8   16  23   9    0.000    0.000       0
+  0  17283 02:51:42.11   0.5850A   3.0768  -0.7241  -0.8250  0.056  0.00   0.000      0.  0.826E+00  0.444E-01  0.615E-03  0.126E-04   44  10   8   20  28   8   17  27   9    0.000    0.000       0
+  0  17294 02:51:48.57   0.5960A   3.0196   0.6395  -0.8685  0.055  0.00   0.000      0.  0.826E+00  0.442E-01  0.625E-03  0.120E-04   44  10  16   36  16  37   17  23   9    0.000    0.000       0
+  0  17304 02:51:54.56   0.5870A   3.0649   0.6772  -0.8400  0.054  0.00   0.000      0.  0.827E+00  0.440E-01  0.615E-03  0.116E-04   43  29   6   36  16   2   16  23   9    0.000    0.000       0
+  0  17314 02:52:00.49   0.5970A   3.0158  -0.5992  -0.7445  0.053  0.00   0.000      0.  0.827E+00  0.439E-01  0.626E-03  0.120E-04   43  29  12   41   9  35   15  22   9    0.000    0.000       0
+  0  17324 02:52:06.49   0.5960A   3.0221   0.6180  -0.6750  0.051  0.00   0.000      0.  0.827E+00  0.439E-01  0.628E-03  0.141E-04   43  18  37   35  18  39   14  21   9    0.000    0.000       0
+  0  17334 02:52:12.45   0.5970A   3.0162   0.6215  -0.6156  0.050  0.00   0.000      0.  0.828E+00  0.439E-01  0.629E-03  0.163E-04   43  18   4   37  14  23   13  21   9    0.000    0.000       0
+  0  17344 02:52:18.48   0.5980A   3.0090   0.6661  -0.6760  0.049  0.00   0.000      0.  0.828E+00  0.440E-01  0.633E-03  0.169E-04   45  24  22   35  21   9   22   8  21    0.000    0.000       0
+  0  17354 02:52:24.39   0.5820A   3.0935   0.6807  -0.6212  0.048  0.00   0.000      0.  0.828E+00  0.441E-01  0.621E-03  0.175E-04   46  24  29   35  21  14   38  12  16    0.000    0.000       0
+  0  17364 02:52:30.24   0.5900A   3.0517   0.6924  -0.5910  0.048  0.00   0.000      0.  0.828E+00  0.443E-01  0.626E-03  0.178E-04   46  24  36   38  14  10   17  18   9    0.000    0.000       0
+  0  17374 02:52:36.21   0.5940A   3.0283   0.7309  -0.6230  0.048  0.00   0.000      0.  0.828E+00  0.444E-01  0.622E-03  0.171E-04   46  10  25   43  11  23   17  17   9    0.000    0.000       0
+  0  17384 02:52:42.08   0.5870A   3.0639   0.8403  -0.7288  0.048  0.00   0.000      0.  0.828E+00  0.444E-01  0.614E-03  0.165E-04   46  10  32   44  10  31   17  15   9    0.000    0.000       0
+  0  17395 02:52:48.49   0.5770A   3.1193   0.8471  -0.7316  0.049  0.00   0.000      0.  0.829E+00  0.444E-01  0.600E-03  0.149E-04   46  11  38   44  11  37   16  15   9    0.000    0.000       0
+  0  17405 02:52:54.13   0.5540A   3.2475   0.9649  -0.7193  0.049  0.00   0.000      0.  0.829E+00  0.444E-01  0.574E-03  0.141E-04   46  11   4   44  12   4   37  15   3    0.000    0.000       0
+  0  17416 02:53:00.33   0.5720A   3.1480   0.9672  -0.7526  0.050  0.00   0.000      0.  0.829E+00  0.443E-01  0.586E-03  0.139E-04   46  11  10   45  12  12   36  14  10    0.000    0.000       0
+  0  17426 02:53:06.07   0.5730A   3.1430   0.8328  -0.7781  0.050  0.00   0.000      0.  0.829E+00  0.443E-01  0.580E-03  0.134E-04   46  11  16   45  12  18   35  14  16    0.000    0.000       0
+  0  17437 02:53:12.32   0.5690A   3.1643   0.7469  -0.7696  0.049  0.00   0.000      0.  0.829E+00  0.444E-01  0.570E-03  0.140E-04   46  12  23   45  13  25   34  14  23    0.000    0.000       0
+  0  17448 02:53:18.49   0.5640A   3.1921   0.6866  -0.7960  0.048  0.00   0.000      0.  0.829E+00  0.446E-01  0.567E-03  0.146E-04   46  12  31   44  14  32   34  13  28    0.000    0.000       0
+  0  17458 02:53:24.06   0.5550A   3.2452   0.7458  -0.8071  0.047  0.00   0.000      0.  0.829E+00  0.449E-01  0.565E-03  0.156E-04   46  12  37   41  23  10   33  13  33    0.000    0.000       0
+  0  17469 02:53:30.19   0.5580A   3.2251   0.7721  -0.8127  0.047  0.00   0.000      0.  0.829E+00  0.454E-01  0.572E-03  0.170E-04   46  12   5   41  24  16   38  13  39    0.000    0.000       0
+  0  17480 02:53:36.35   0.5590A   3.2192  -0.7506  -0.9347  0.046  0.00   0.000      0.  0.829E+00  0.459E-01  0.575E-03  0.177E-04   45  13  12   31  14   3   39  12   6    0.000    0.000       0
+  0  17491 02:53:42.55   0.5720A   3.1455  -0.7967  -0.9492  0.046  0.00   0.000      0.  0.829E+00  0.464E-01  0.589E-03  0.164E-04   46  13  20   30  13   7   38  12  11    0.000    0.000       0
+  0  17501 02:53:48.39   0.5870A   3.0647   0.7387  -0.8939  0.046  0.00   0.000      0.  0.829E+00  0.468E-01  0.604E-03  0.143E-04   46   1   5   42  25  34   36  12  16    0.000    0.000       0
+  0  17511 02:53:54.19   0.5740A   3.1342   0.7803  -0.8160  0.047  0.00   0.000      0.  0.829E+00  0.471E-01  0.590E-03  0.118E-04   46   1  12   42  25   2   35  12  23    0.000    0.000       0
+  0  17522 02:54:00.51   0.5760A   3.1262   0.8451  -0.7747  0.047  0.00   0.000      0.  0.829E+00  0.474E-01  0.588E-03  0.109E-04   46   1  20   42  28   7   34  12  31    0.000    0.000       0
+  0  17532 02:54:06.25   0.5710A   3.1513   0.8651  -0.7786  0.046  0.00   0.000      0.  0.829E+00  0.476E-01  0.584E-03  0.118E-04   46   1  27   42  29  13   33  12  36    0.000    0.000       0
+  0  17543 02:54:12.52   0.5680A   3.1701   0.8229   0.7681  0.045  0.00   0.000      0.  0.829E+00  0.478E-01  0.582E-03  0.136E-04   46   1  35   42  30  18   20  11   9    0.000    0.000       0
+  0  17553 02:54:18.23   0.5750A   3.1292   0.7171   0.7701  0.044  0.00   0.000      0.  0.829E+00  0.480E-01  0.587E-03  0.145E-04   46   1   2   42  32  24   20  14   9    0.000    0.000       0
+  0  17563 02:54:24.09   0.5890A   3.0581  -0.6860   0.7019  0.043  0.00   0.000      0.  0.829E+00  0.482E-01  0.597E-03  0.145E-04   46   2  10   46   1  22   20  14   9    0.000    0.000       0
+  0  17574 02:54:30.45   0.5760A   3.1226   0.6833  -0.6523  0.042  0.00   0.000      0.  0.829E+00  0.484E-01  0.581E-03  0.133E-04   45   2  17   42  37  37   33  11   7    0.000    0.000       0
+  0  17584 02:54:36.20   0.5780A   3.1145   0.6948  -0.6027  0.042  0.00   0.000      0.  0.829E+00  0.485E-01  0.581E-03  0.129E-04   46   2  24   42  37   3   33  11  11    0.000    0.000       0
+  0  17594 02:54:42.09   0.6000A   3.0000  -0.7175  -0.5904  0.042  0.00   0.000      0.  0.830E+00  0.486E-01  0.602E-03  0.127E-04   46   2  31   27   7  16   25  11  14    0.000    0.000       0
+  0  17604 02:54:48.07   0.5950A   3.0270  -0.6953   0.6390  0.041  0.00   0.000      0.  0.830E+00  0.487E-01  0.602E-03  0.119E-04   44   9  37   29  12  11   21  15   9    0.000    0.000       0
+  0  17614 02:54:54.05   0.5980A   3.0116  -0.6735   0.6342  0.041  0.00   0.000      0.  0.831E+00  0.488E-01  0.614E-03  0.121E-04   46   0   5   27  13  16   21  14   9    0.000    0.000       0
+  0  17624 02:55:00.04   0.5960A   3.0208  -0.6986  -0.6657  0.041  0.00   0.000      0.  0.831E+00  0.489E-01  0.620E-03  0.121E-04   43   2  12   26   6  25   17  19   9    0.000    0.000       0
+  0  17635 02:55:06.55   0.5930A   3.0354  -0.6797  -0.7076  0.041  0.00   0.000      0.  0.832E+00  0.489E-01  0.622E-03  0.117E-04   44   0  21   26   4  28   40   2  21    0.000    0.000       0
+  0  17645 02:55:12.54   0.5910A   3.0459  -0.6513  -0.7081  0.041  0.00   0.000      0.  0.832E+00  0.489E-01  0.619E-03  0.108E-04   46   0  32   31   4   8   16  19   9    0.000    0.000       0
+  0  17655 02:55:18.36   0.5810A   3.0988  -0.6636  -0.6989  0.042  0.00   0.000      0.  0.833E+00  0.490E-01  0.608E-03  0.101E-04   45   0  39   30   3  11   17  16   9    0.000    0.000       0
+  0  17665 02:55:24.22   0.6000A   3.0015  -0.6546  -0.6990  0.042  0.00   0.000      0.  0.834E+00  0.491E-01  0.624E-03  0.103E-04   45   0   6   30   2  15   16  16   9    0.000    0.000       0
+  0  17675 02:55:30.30   0.6100A   2.9512   0.6737  -0.6752  0.043  0.00   0.000      0.  0.834E+00  0.493E-01  0.633E-03  0.113E-04   46  39  13   41  19   3   39   4   7    0.000    0.000       0
+  0  17685 02:55:36.36   0.6030A   2.9850   0.6918  -0.6727  0.043  0.00   0.000      0.  0.835E+00  0.496E-01  0.631E-03  0.128E-04   45  39  20   41  20   9   30  15  19    0.000    0.000       0
+  0  17695 02:55:42.40   0.6050A   2.9775  -0.7159  -0.6333  0.043  0.00   0.000      0.  0.835E+00  0.500E-01  0.638E-03  0.129E-04   44  10  17   30   1  31   38   4  19    0.000    0.000       0
+  0  17705 02:55:48.42   0.5990A   3.0038  -0.7270  -0.6081  0.044  0.00   0.000      0.  0.836E+00  0.504E-01  0.634E-03  0.119E-04   46   1  24   30   0  36   39   1  29    0.000    0.000       0
+  0  17715 02:55:54.42   0.6020A   2.9912  -0.7452  -0.6212  0.044  0.00   0.000      0.  0.836E+00  0.508E-01  0.639E-03  0.124E-04   45   1  30   30  39   4   40   4  34    0.000    0.000       0
+  0  17725 02:56:00.45   0.6040A   2.9821  -0.7715  -0.6281  0.044  0.00   0.000      0.  0.837E+00  0.515E-01  0.641E-03  0.135E-04   45  39  30   30  38   8   29  38  12    0.000    0.000       0
+  0  17735 02:56:06.50   0.6020A   2.9906  -0.7457  -0.6703  0.043  0.00   0.000      0.  0.838E+00  0.522E-01  0.641E-03  0.145E-04   46  10   3   30  38  14   37   1  10    0.000    0.000       0
+  0  17745 02:56:12.45   0.5920A   3.0386  -0.7752  -0.7391  0.043  0.00   0.000      0.  0.838E+00  0.530E-01  0.630E-03  0.135E-04   46  10   9   29  36  18   36   4  14    0.000    0.000       0
+  0  17755 02:56:18.34   0.5870A   3.0645  -0.8175  -0.7363  0.042  0.00   0.000      0.  0.839E+00  0.537E-01  0.624E-03  0.134E-04   46  10  16   29  35  22   36   4  20    0.000    0.000       0
+  0  17765 02:56:24.24   0.5870A   3.0663  -0.7916  -0.7814  0.042  0.00   0.000      0.  0.839E+00  0.544E-01  0.628E-03  0.147E-04   46  15  26   28  36  28   35   4  26    0.000    0.000       0
+  0  17775 02:56:30.13   0.5880A   3.0600  -0.7481  -0.7677  0.041  0.00   0.000      0.  0.839E+00  0.551E-01  0.635E-03  0.161E-04   46  15  33   28  36  33   36   5  31    0.000    0.000       0
+  0  17786 02:56:36.52   0.5750A   3.1324  -0.7492  -0.7124  0.041  0.00   0.000      0.  0.840E+00  0.560E-01  0.625E-03  0.162E-04   45  15  35   28  33  36   28   1  36    0.000    0.000       0
+  0  17796 02:56:42.28   0.5780A   3.1150  -0.6953  -0.8445  0.042  0.00   0.000      0.  0.840E+00  0.568E-01  0.628E-03  0.155E-04   46  15   2   20  28   9   17  29   9    0.000    0.000       0
+  0  17806 02:56:48.19   0.6010A   2.9949  -0.6999  -0.9701  0.043  0.00   0.000      0.  0.840E+00  0.575E-01  0.647E-03  0.152E-04   46  15   9   27  39   5   16  28   9    0.000    0.000       0
+  0  17816 02:56:54.26   0.6060A   2.9713  -0.7374  -0.9302  0.043  0.00   0.000      0.  0.840E+00  0.581E-01  0.651E-03  0.158E-04   46  12  18   25  32  10   16  27   9    0.000    0.000       0
+  0  17826 02:57:00.32   0.6060A   2.9716  -0.6800  -0.8665  0.044  0.00   0.000      0.  0.840E+00  0.586E-01  0.653E-03  0.165E-04   46  13  23   18  24   9   15  26   9    0.000    0.000       0
+  0  17836 02:57:06.40   0.6140A   2.9298  -0.6545  -0.7955  0.045  0.00   0.000      0.  0.841E+00  0.590E-01  0.657E-03  0.164E-04   46  14  32   17  26   8   16  33  20    0.000    0.000       0
+  0  17846 02:57:12.49   0.6070A   2.9651  -0.6239  -0.7279  0.045  0.00   0.000      0.  0.841E+00  0.594E-01  0.644E-03  0.154E-04   46  14  38   23  30  15   15  33  22    0.000    0.000       0
+  0  17856 02:57:18.61   0.6160A   2.9204  -0.5979  -0.7033  0.044  0.00   0.000      0.  0.841E+00  0.597E-01  0.652E-03  0.142E-04   46  14   5   23  29  18   13  33  26    0.000    0.000       0
+  0  17865 02:57:24.18   0.6170A   2.9159  -0.6911  -0.7171  0.044  0.00   0.000      0.  0.842E+00  0.599E-01  0.655E-03  0.131E-04   46  20   9   22  30  22   16  33  28    0.000    0.000       0
+  0  17875 02:57:30.40   0.6260A   2.8773  -0.7094  -0.7561  0.043  0.00   0.000      0.  0.842E+00  0.600E-01  0.665E-03  0.130E-04   44  37  12   22  29  25   15  33  30    0.000    0.000       0
+  0  17884 02:57:36.04   0.6280A   2.8647  -0.6451  -0.7972  0.041  0.00   0.000      0.  0.842E+00  0.601E-01  0.671E-03  0.140E-04   44   4  27   22  28  27   15  34  34    0.000    0.000       0
+  0  17894 02:57:42.29   0.6240A   2.8836   0.6335  -0.7823  0.040  0.00   0.000      0.  0.842E+00  0.602E-01  0.669E-03  0.156E-04   43   1  22   36  21  26   14  34  36    0.000    0.000       0
+  0  17904 02:57:48.50   0.6210A   2.8978  -0.6545  -0.7643  0.039  0.00   0.000      0.  0.843E+00  0.604E-01  0.671E-03  0.177E-04   43   1  29   22  28  37   12  34  38    0.000    0.000       0
+  0  17913 02:57:54.10   0.6250A   2.8801   0.6291   0.7487  0.038  0.00   0.000      0.  0.843E+00  0.606E-01  0.681E-03  0.193E-04   43   1  36   29   1  38   20  24   9    0.000    0.000       0
+  0  17923 02:58:00.37   0.6250A   2.8791   0.6209   0.7177  0.038  0.00   0.000      0.  0.843E+00  0.610E-01  0.686E-03  0.199E-04   45  22  11   18  30   9   20  23   9    0.000    0.000       0
+  0  17933 02:58:06.61   0.6230A   2.8906   0.7681   0.6476  0.038  0.00   0.000      0.  0.844E+00  0.615E-01  0.692E-03  0.182E-04   44   2  24   19  30   9   20  22   9    0.000    0.000       0
+  0  17942 02:58:12.22   0.6260A   2.8762  -0.7328  -0.7102  0.039  0.00   0.000      0.  0.844E+00  0.619E-01  0.707E-03  0.169E-04   44   2  30   20  23   9   20  38  20    0.000    0.000       0
+  0  17952 02:58:18.45   0.6190A   2.9063  -0.8450  -0.7711  0.039  0.00   0.000      0.  0.844E+00  0.623E-01  0.718E-03  0.160E-04   44   7  24   20  22   9   19  37  24    0.000    0.000       0
+  0  17962 02:58:24.61   0.6150A   2.9267  -0.9626  -0.7758  0.039  0.00   0.000      0.  0.845E+00  0.625E-01  0.727E-03  0.154E-04   44   7  32   19  21   9   18  37  28    0.000    0.000       0
+  0  17971 02:58:30.15   0.6150A   2.9258  -0.9439  -0.7227  0.040  0.00   0.000      0.  0.845E+00  0.627E-01  0.737E-03  0.164E-04   44   8  39   19  20   9   18  36  32    0.000    0.000       0
+  0  17981 02:58:36.27   0.6140A   2.9325  -0.8558  -0.7218  0.040  0.00   0.000      0.  0.845E+00  0.628E-01  0.737E-03  0.158E-04   44   9   6   18  19   9   13  29   8    0.000    0.000       0
+  0  17991 02:58:42.37   0.6110A   2.9468  -0.7832  -0.6475  0.040  0.00   0.000      0.  0.846E+00  0.630E-01  0.730E-03  0.146E-04   44   9  14   17  18   9   13  36   1    0.000    0.000       0
+  0  18001 02:58:48.37   0.5890A   3.0579  -0.7478  -0.6898  0.041  0.00   0.000      0.  0.846E+00  0.633E-01  0.708E-03  0.141E-04   44   9  23   22  37  37   12  36   4    0.000    0.000       0
+  0  18011 02:58:54.23   0.5840A   3.0825  -0.7637  -0.6883  0.042  0.00   0.000      0.  0.846E+00  0.636E-01  0.704E-03  0.138E-04   44   9  30   21  37   0   14  22   9    0.000    0.000       0
+  0  18021 02:59:00.15   0.5950A   3.0256  -0.7492  -0.8093  0.043  0.00   0.000      0.  0.847E+00  0.640E-01  0.718E-03  0.132E-04   46  29  29   21  36   3   18   1   0    0.000    0.000       0
+  0  18031 02:59:06.08   0.5910A   3.0480  -0.6667  -0.8492  0.045  0.00   0.000      0.  0.847E+00  0.644E-01  0.726E-03  0.153E-04   46  29  36   21  35   7   17   0   3    0.000    0.000       0
+  0  18041 02:59:12.04   0.5960A   3.0181  -0.7133  -0.9783  0.046  0.00   0.000      0.  0.847E+00  0.645E-01  0.745E-03  0.167E-04   46  29   3   24  34  10   17  17   9    0.000    0.000       0
+  0  18052 02:59:18.59   0.5940A   3.0300  -0.7356  -1.0767  0.047  0.00   0.000      0.  0.847E+00  0.644E-01  0.758E-03  0.185E-04   44  10  22   24  34  14   16  18   9    0.000    0.000       0
+  0  18062 02:59:24.57   0.6020A   2.9912  -0.7099  -1.0264  0.048  0.00   0.000      0.  0.847E+00  0.642E-01  0.778E-03  0.226E-04   41  39  33   23  34  17   14  18   9    0.000    0.000       0
+  0  18072 02:59:30.59   0.6020A   2.9916  -0.7137  -0.9246  0.048  0.00   0.000      0.  0.847E+00  0.639E-01  0.786E-03  0.250E-04   44  11  36    9  30   8   13  19   9    0.000    0.000       0
+  0  18082 02:59:36.59   0.6000A   3.0014  -0.7784  -0.8359  0.048  0.00   0.000      0.  0.847E+00  0.635E-01  0.788E-03  0.242E-04   44  11   4    9  27   9   12  19   9    0.000    0.000       0
+  0  18091 02:59:42.02   0.6050A   2.9732  -0.8463  -0.8726  0.048  0.00   0.000      0.  0.847E+00  0.632E-01  0.796E-03  0.231E-04   44  11  11    9  26   9   11  37  25    0.000    0.000       0
+  0  18101 02:59:48.08   0.6060A   2.9686  -0.8414  -0.8116  0.048  0.00   0.000      0.  0.847E+00  0.628E-01  0.794E-03  0.220E-04   45  28  34    9  25   9   10  37  27    0.000    0.000       0
+  0  18111 02:59:54.11   0.5990A   3.0050  -0.8139  -0.7735  0.048  0.00   0.000      0.  0.847E+00  0.626E-01  0.783E-03  0.198E-04   44  19  23   10  24   8    8  37  25    0.000    0.000       0
+  0  18121 03:00:00.10   0.5970A   3.0157  -0.8201  -0.7748  0.049  0.00   0.000      0.  0.847E+00  0.625E-01  0.781E-03  0.172E-04   44  19  30    9  23   8   19  39  31    0.000    0.000       0
+  0  18131 03:00:06.10   0.5970A   3.0167  -0.7848  -0.7543  0.050  0.00   0.000      0.  0.847E+00  0.625E-01  0.789E-03  0.173E-04   46   2  28    9  21   8   18  39  33    0.000    0.000       0
+  0  18141 03:00:12.04   0.5910A   3.0450   0.8675  -0.7069  0.051  0.00   0.000      0.  0.847E+00  0.626E-01  0.791E-03  0.189E-04   46   3  35   20  30   9   15  38  37    0.000    0.000       0
+  0  18152 03:00:18.51   0.5860A   3.0698   0.8322  -0.7200  0.052  0.00   0.000      0.  0.846E+00  0.628E-01  0.792E-03  0.196E-04   46   3   4   20  21   4   21  14  38    0.000    0.000       0
+  0  18162 03:00:24.34   0.5780A   3.1147   0.8790  -0.8043  0.054  0.00   0.000      0.  0.846E+00  0.629E-01  0.787E-03  0.201E-04   46   3  12   20  21   6   20  14   2    0.000    0.000       0
+  0  18172 03:00:30.08   0.5700A   3.1583   0.7934  -0.8492  0.055  0.00   0.000      0.  0.846E+00  0.631E-01  0.776E-03  0.188E-04   46   2  18   20  21   8   19  14   3    0.000    0.000       0
+  0  18183 03:00:36.35   0.5670A   3.1769   0.8804  -0.8836  0.055  0.00   0.000      0.  0.846E+00  0.631E-01  0.767E-03  0.172E-04   46   1  24   20  23   8   18  13   3    0.000    0.000       0
+  0  18193 03:00:42.03   0.5690A   3.1655  -0.7673  -0.7820  0.056  0.00   0.000      0.  0.845E+00  0.630E-01  0.769E-03  0.168E-04   46   1  31   21  24   6   17  13   4    0.000    0.000       0
+  0  18204 03:00:48.39   0.5870A   3.0668  -0.8348  -0.8145  0.056  0.00   0.000      0.  0.845E+00  0.627E-01  0.793E-03  0.156E-04   46   1  39   19   9   9   17  12   6    0.000    0.000       0
+  0  18214 03:00:54.34   0.6000A   2.9997  -0.8407  -0.7829  0.057  0.00   0.000      0.  0.845E+00  0.623E-01  0.814E-03  0.158E-04   46   1   7   18   9   9   36  13  31    0.000    0.000       0
+  0  18224 03:01:00.30   0.5910A   3.0462  -0.7568  -0.7863  0.057  0.00   0.000      0.  0.845E+00  0.618E-01  0.797E-03  0.150E-04   45   4  21   17   9   9   17  10   8    0.000    0.000       0
+  0  18234 03:01:06.19   0.5880A   3.0614   0.6807  -0.7170  0.057  0.00   0.000      0.  0.844E+00  0.614E-01  0.785E-03  0.145E-04   45   1  25   28  16  14   28  21  32    0.000    0.000       0
+  0  18244 03:01:12.05   0.5820A   3.0929   0.7036  -0.7096  0.056  0.00   0.000      0.  0.844E+00  0.611E-01  0.772E-03  0.151E-04   45   1  35   28  17  16   13  17   8    0.000    0.000       0
+  0  18255 03:01:18.43   0.5820A   3.0910  -0.7117  -0.7445  0.056  0.00   0.000      0.  0.844E+00  0.608E-01  0.764E-03  0.156E-04   44  24  25   28  37  32   13  14   8    0.000    0.000       0
+  0  18265 03:01:24.29   0.5860A   3.0730   0.7635  -0.7723  0.056  0.00   0.000      0.  0.843E+00  0.606E-01  0.762E-03  0.160E-04   46   1  11   25  27   9   14  20   9    0.000    0.000       0
+  0  18275 03:01:30.10   0.5820A   3.0954   0.7718  -0.7577  0.056  0.00   0.000      0.  0.843E+00  0.604E-01  0.751E-03  0.158E-04   44   9  13   25  29  10   13  20   9    0.000    0.000       0
+  0  18286 03:01:36.47   0.5720A   3.1494   0.7574  -0.7313  0.056  0.00   0.000      0.  0.842E+00  0.601E-01  0.738E-03  0.156E-04   44  10  23   25  30  12   13  20   8    0.000    0.000       0
+  0  18296 03:01:42.10   0.5610A   3.2102  -0.7862  -0.7781  0.056  0.00   0.000      0.  0.842E+00  0.598E-01  0.726E-03  0.160E-04   44  10  24   23  18   7   14  22   9    0.000    0.000       0
+  0  18307 03:01:48.27   0.5530A   3.2540  -0.7989  -0.8499  0.056  0.00   0.000      0.  0.841E+00  0.595E-01  0.711E-03  0.174E-04   43  11  32   23  17  10   13  21   9    0.000    0.000       0
+  0  18318 03:01:54.40   0.5740A   3.1368  -0.8354  -0.8293  0.057  0.00   0.000      0.  0.840E+00  0.592E-01  0.735E-03  0.199E-04   44  11  35   23  14  14   12  22   9    0.000    0.000       0
+  0  18328 03:02:00.30   0.5960A   3.0186  -0.8676  -0.7630  0.058  0.00   0.000      0.  0.840E+00  0.590E-01  0.767E-03  0.226E-04   46  20  11   23  12  16   11  20   9    0.000    0.000       0
+  0  18338 03:02:06.23   0.5900A   3.0528  -0.8678  -0.8210  0.059  0.00   0.000      0.  0.839E+00  0.587E-01  0.760E-03  0.214E-04   45  20  18   23  11  18   17  23   9    0.000    0.000       0
+  0  18348 03:02:12.05   0.5800A   3.1014  -0.7882  -0.7437  0.060  0.00   0.000      0.  0.838E+00  0.584E-01  0.737E-03  0.186E-04   45  25   0   23  10  21   17  29   9    0.000    0.000       0
+  0  18359 03:02:18.47   0.5870A   3.0654  -0.7974  -0.8034  0.060  0.00   0.000      0.  0.838E+00  0.581E-01  0.734E-03  0.175E-04   46  20  35   23  10  24   16  28   9    0.000    0.000       0
+  0  18369 03:02:24.33   0.5820A   3.0928  -0.7649  -0.7892  0.061  0.00   0.000      0.  0.837E+00  0.577E-01  0.721E-03  0.172E-04   45  25  17    5  28   4   16  27   9    0.000    0.000       0
+  0  18379 03:02:30.13   0.5800A   3.1039   0.7435  -0.7532  0.061  0.00   0.000      0.  0.837E+00  0.575E-01  0.719E-03  0.178E-04   45  20  11   32  13  38   15  27   9    0.000    0.000       0
+  0  18390 03:02:36.51   0.5810A   3.1006   0.7567  -0.6513  0.061  0.00   0.000      0.  0.836E+00  0.573E-01  0.714E-03  0.169E-04   46  20  19   32  14   2   14  24   9    0.000    0.000       0
+  0  18400 03:02:42.32   0.5790A   3.1074  -0.7140  -0.6815  0.062  0.00   0.000      0.  0.836E+00  0.571E-01  0.706E-03  0.157E-04   46  25   3    5  24   6   16  22   9    0.000    0.000       0
+  0  18410 03:02:48.06   0.5730A   3.1430  -0.7317  -0.7030  0.062  0.00   0.000      0.  0.835E+00  0.570E-01  0.693E-03  0.159E-04   45  25  10   26  24  39   15  22   9    0.000    0.000       0
+  0  18421 03:02:54.40   0.5780A   3.1152   0.7424  -0.7310  0.063  0.00   0.000      0.  0.835E+00  0.568E-01  0.693E-03  0.164E-04   46  25  19   23  28  18   15  22   9    0.000    0.000       0
+  0  18431 03:03:00.17   0.5760A   3.1269   0.7727  -0.7747  0.063  0.00   0.000      0.  0.834E+00  0.566E-01  0.683E-03  0.153E-04   45  25  27   27  34  32   15  22   9    0.000    0.000       0
+  0  18442 03:03:06.52   0.5800A   3.1021   0.7202  -0.8277  0.064  0.00   0.000      0.  0.834E+00  0.564E-01  0.673E-03  0.136E-04   45  21  26   27  35  35   16  19   9    0.000    0.000       0
+  0  18452 03:03:12.28   0.5730A   3.1398  -0.6798  -0.8651  0.065  0.00   0.000      0.  0.833E+00  0.561E-01  0.656E-03  0.140E-04   45  21  33   31  20  19   17  18   9    0.000    0.000       0
+  0  18463 03:03:18.56   0.5710A   3.1525  -0.6684  -0.8915  0.066  0.00   0.000      0.  0.833E+00  0.559E-01  0.638E-03  0.133E-04   46  21   2   31  19  23   17  16   9    0.000    0.000       0
+  0  18473 03:03:24.26   0.5700A   3.1590   0.7877  -0.9428  0.067  0.00   0.000      0.  0.833E+00  0.556E-01  0.621E-03  0.125E-04   46  21  10   45  12  30   16  16   9    0.000    0.000       0
+  0  18484 03:03:30.50   0.5650A   3.1856   0.8605  -0.9255  0.067  0.00   0.000      0.  0.833E+00  0.552E-01  0.607E-03  0.123E-04   45  21  18   45  13  35   16  15   9    0.000    0.000       0
+  0  18494 03:03:36.20   0.5760A   3.1263   0.7466  -0.8623  0.067  0.00   0.000      0.  0.833E+00  0.550E-01  0.613E-03  0.132E-04   45  21  25   46  14   1   15  15   9    0.000    0.000       0
+  0  18505 03:03:42.49   0.5690A   3.1617   0.6753  -0.7801  0.067  0.00   0.000      0.  0.833E+00  0.548E-01  0.599E-03  0.127E-04   46  21  36   45  14   7   14  16   9    0.000    0.000       0
+  0  18515 03:03:48.21   0.5700A   3.1570   0.6027  -0.7141  0.066  0.00   0.000      0.  0.833E+00  0.546E-01  0.592E-03  0.118E-04   46  25  15   44  16  11   13  14   9    0.000    0.000       0
+  0  18526 03:03:54.47   0.5700A   3.1603   0.6036  -0.6781  0.065  0.00   0.000      0.  0.834E+00  0.545E-01  0.583E-03  0.104E-04   46  25  23   30  16  24   12  14   9    0.000    0.000       0
+  0  18536 03:04:00.21   0.5760A   3.1261   0.5427  -0.6423  0.063  0.00   0.000      0.  0.834E+00  0.545E-01  0.584E-03  0.112E-04   46  25  31   44  18  24   11  14   9    0.000    0.000       0
+  0  18546 03:04:06.01   0.5840A   3.0816   0.5661  -0.6058  0.061  0.00   0.000      0.  0.835E+00  0.545E-01  0.589E-03  0.130E-04   46  25  39   27  28   6   10  14   9    0.000    0.000       0
+  0  18557 03:04:12.47   0.5900A   3.0500   0.6512  -0.6724  0.060  0.00   0.000      0.  0.835E+00  0.547E-01  0.600E-03  0.145E-04   46  25   7   27  29  10   27  29  32    0.000    0.000       0
+  0  18567 03:04:18.38   0.5870A   3.0655   0.6339  -0.6074  0.059  0.00   0.000      0.  0.836E+00  0.551E-01  0.599E-03  0.149E-04   45  26  21   27  30  14   27  30  34    0.000    0.000       0
+  0  18577 03:04:24.20   0.5790A   3.1066   0.5964  -0.6473  0.058  0.00   0.000      0.  0.837E+00  0.555E-01  0.596E-03  0.138E-04   45  26  29   20  22   8   36  17  28    0.000    0.000       0
+  0  18588 03:04:30.54   0.5750A   3.1305   0.5842  -0.6421  0.058  0.00   0.000      0.  0.837E+00  0.560E-01  0.589E-03  0.120E-04   46  26  38   26  33   7   35  17  34    0.000    0.000       0
+  0  18598 03:04:36.34   0.5820A   3.0938   0.6586  -0.5891  0.059  0.00   0.000      0.  0.838E+00  0.564E-01  0.594E-03  0.123E-04   43  26  37   20  30   9   34  17  39    0.000    0.000       0
+  0  18608 03:04:42.12   0.5770A   3.1193  -0.6576  -0.6710  0.060  0.00   0.000      0.  0.838E+00  0.569E-01  0.587E-03  0.129E-04   43  26   5   20  20   8   18  19   9    0.000    0.000       0
+  0  18619 03:04:48.46   0.5770A   3.1173   0.6366  -0.7152  0.060  0.00   0.000      0.  0.839E+00  0.573E-01  0.584E-03  0.124E-04   43  26  13   39  39  39   17  18   9    0.000    0.000       0
+  0  18629 03:04:54.26   0.5810A   3.0961  -0.6561  -0.7038  0.061  0.00   0.000      0.  0.839E+00  0.577E-01  0.588E-03  0.124E-04   44  25  22   32  18   5   17  21   9    0.000    0.000       0
+  0  18639 03:05:00.03   0.5750A   3.1324  -0.6492  -0.7597  0.061  0.00   0.000      0.  0.839E+00  0.580E-01  0.576E-03  0.122E-04   44  25  30   32  18  10   17  22   9    0.000    0.000       0
+  0  18650 03:05:06.34   0.5710A   3.1520  -0.6162  -0.7464  0.062  0.00   0.000      0.  0.840E+00  0.584E-01  0.568E-03  0.123E-04   44  25  38   35  20  29   17  24   9    0.000    0.000       0
+  0  18660 03:05:12.06   0.5720A   3.1460   0.6075  -0.7192  0.062  0.00   0.000      0.  0.840E+00  0.589E-01  0.568E-03  0.125E-04   44  25   5   23  32  27   16  24   9    0.000    0.000       0
+  0  18671 03:05:18.38   0.5770A   3.1183   0.6368  -0.7126  0.062  0.00   0.000      0.  0.840E+00  0.594E-01  0.569E-03  0.124E-04   44  25  13   22  32  29   17  19   9    0.000    0.000       0
+  0  18681 03:05:24.19   0.5830A   3.0859   0.6480  -0.8194  0.061  0.00   0.000      0.  0.840E+00  0.600E-01  0.569E-03  0.121E-04   46  24  20   40  34   2   32  18  26    0.000    0.000       0
+  0  18691 03:05:30.04   0.5870A   3.0640  -0.6481  -0.8297  0.060  0.00   0.000      0.  0.840E+00  0.607E-01  0.574E-03  0.122E-04   46  24  27   20  22   8   31  18  31    0.000    0.000       0
+  0  18702 03:05:36.48   0.5800A   3.1017  -0.6611  -0.6718  0.058  0.00   0.000      0.  0.840E+00  0.614E-01  0.571E-03  0.127E-04   43  29  30   20  19   8   31  18  37    0.000    0.000       0
+  0  18712 03:05:42.27   0.5770A   3.1181  -0.7549   0.5781  0.057  0.00   0.000      0.  0.841E+00  0.621E-01  0.567E-03  0.127E-04   41  27   0   20  19   8   38  19  26    0.000    0.000       0
+  0  18722 03:05:48.05   0.5760A   3.1270  -0.6879  -0.6148  0.056  0.00   0.000      0.  0.841E+00  0.627E-01  0.566E-03  0.129E-04   44  27  19   20  18   8   25  20  25    0.000    0.000       0
+  0  18733 03:05:54.40   0.5770A   3.1183   0.6783  -0.6268  0.055  0.00   0.000      0.  0.841E+00  0.634E-01  0.575E-03  0.132E-04   44  27  27   22  30   7   26  19  30    0.000    0.000       0
+  0  18743 03:06:00.13   0.5710A   3.1543   0.6755  -0.6053  0.055  0.00   0.000      0.  0.841E+00  0.642E-01  0.576E-03  0.137E-04   46  30  11   21  29   8   26  18  34    0.000    0.000       0
+  0  18754 03:06:06.42   0.5760A   3.1252   1.1333  -0.9843  0.057  0.00   0.000      0.  0.842E+00  0.649E-01  0.598E-03  0.152E-04   39  27  31   20  29   9   18  26   9    0.000    0.000       0
+  0  18764 03:06:12.24   0.5780A   3.1136   0.9787  -1.0590  0.057  0.00   0.000      0.  0.842E+00  0.654E-01  0.614E-03  0.158E-04   42  26  36   18  30   9   17  26   9    0.000    0.000       0
+  0  18775 03:06:18.55   0.5690A   3.1645   0.8133  -1.0310  0.058  0.00   0.000      0.  0.841E+00  0.657E-01  0.613E-03  0.144E-04   42  26   4   16  31   9   16  25   9    0.000    0.000       0
+  0  18785 03:06:24.29   0.5750A   3.1309   0.7951  -0.9976  0.058  0.00   0.000      0.  0.841E+00  0.658E-01  0.620E-03  0.135E-04   42  26  11   21  33  21   15  25   9    0.000    0.000       0
+  0  18795 03:06:30.09   0.5770A   3.1188   0.7615  -0.9353  0.058  0.00   0.000      0.  0.841E+00  0.658E-01  0.629E-03  0.127E-04   46  30  35   21  34  24   13  25   9    0.000    0.000       0
+  0  18806 03:06:36.42   0.5740A   3.1381   0.7293  -0.9112  0.058  0.00   0.000      0.  0.841E+00  0.659E-01  0.633E-03  0.126E-04   45  29   0   21  35  28   16  24   9    0.000    0.000       0
+  0  18816 03:06:42.16   0.5770A   3.1213   0.7228  -0.8616  0.057  0.00   0.000      0.  0.840E+00  0.660E-01  0.644E-03  0.134E-04   45  29   7   24  34   3   15  24   9    0.000    0.000       0
+  0  18827 03:06:48.52   0.5770A   3.1196  -0.7753  -0.7644  0.057  0.00   0.000      0.  0.840E+00  0.661E-01  0.641E-03  0.118E-04   43  31  16   20  24   8   14  24   9    0.000    0.000       0
+  0  18837 03:06:54.33   0.5870A   3.0668  -1.0450  -0.7207  0.057  0.00   0.000      0.  0.840E+00  0.662E-01  0.649E-03  0.122E-04   46  30  22   20  23   8   17  18   9    0.000    0.000       0
+  0  18847 03:07:00.24   0.5880A   3.0601  -0.9572  -0.8419  0.057  0.00   0.000      0.  0.839E+00  0.663E-01  0.652E-03  0.126E-04   42  24  18   20  21   8   17  19   9    0.000    0.000       0
+  0  18857 03:07:06.15   0.5940A   3.0306   0.8939  -0.8633  0.056  0.00   0.000      0.  0.838E+00  0.663E-01  0.663E-03  0.139E-04   44  30   8   20  30   9   16  19   9    0.000    0.000       0
+  0  18867 03:07:12.03   0.5830A   3.0854   1.0320  -0.8158  0.056  0.00   0.000      0.  0.838E+00  0.664E-01  0.655E-03  0.151E-04   44  30  15   20  30   9   14  19   9    0.000    0.000       0
+  0  18878 03:07:18.38   0.5750A   3.1309   1.0367  -0.7412  0.056  0.00   0.000      0.  0.837E+00  0.665E-01  0.647E-03  0.143E-04   44  30  23   20  30   9   13  19   9    0.000    0.000       0
+  0  18888 03:07:24.09   0.5730A   3.1402   0.8715  -0.6690  0.057  0.00   0.000      0.  0.837E+00  0.666E-01  0.639E-03  0.139E-04   44  30  30   20  30   9   12  18   9    0.000    0.000       0
+  0  18899 03:07:30.41   0.5720A   3.1442   0.7425  -0.6713  0.058  0.00   0.000      0.  0.836E+00  0.667E-01  0.637E-03  0.152E-04   43  30   0   40  36  16   16  14   9    0.000    0.000       0
+  0  18909 03:07:36.06   0.5630A   3.1966   0.7131  -0.7092  0.058  0.00   0.000      0.  0.836E+00  0.669E-01  0.628E-03  0.153E-04   42  30   6   28  37  38   17  24   9    0.000    0.000       0
+  0  18920 03:07:42.25   0.5690A   3.1632   0.7547  -0.8574  0.059  0.00   0.000      0.  0.835E+00  0.672E-01  0.635E-03  0.134E-04   42  30  14   19  28   9   16  23   9    0.000    0.000       0
+  0  18930 03:07:48.01   0.5860A   3.0692  -0.7506  -0.9560  0.060  0.00   0.000      0.  0.835E+00  0.674E-01  0.650E-03  0.126E-04   44   2  20   35  37  38   16  22   9    0.000    0.000       0
+  0  18941 03:07:54.47   0.5890A   3.0538  -0.8160  -0.9212  0.060  0.00   0.000      0.  0.834E+00  0.675E-01  0.650E-03  0.117E-04   41  30  31   32  34  36   15  20   9    0.000    0.000       0
+  0  18951 03:08:00.38   0.5900A   3.0528  -0.8053  -0.8824  0.060  0.00   0.000      0.  0.834E+00  0.676E-01  0.649E-03  0.115E-04   41  31  38   20  25   8   14  19   9    0.000    0.000       0
+  0  18961 03:08:06.23   0.5830A   3.0865   0.7820  -0.8218  0.061  0.00   0.000      0.  0.833E+00  0.677E-01  0.635E-03  0.110E-04   46  35   2   40   4  29   14  18   8    0.000    0.000       0
+  0  18971 03:08:12.07   0.5870A   3.0648   0.7831  -0.8226  0.061  0.00   0.000      0.  0.833E+00  0.678E-01  0.641E-03  0.129E-04   46  35   9   40   4  35   12  18   8    0.000    0.000       0
+  0  18982 03:08:18.54   0.5830A   3.0876  -0.8816  -0.7636  0.059  0.00   0.000      0.  0.832E+00  0.680E-01  0.646E-03  0.157E-04   45  35  20   19  27   9   12  17   8    0.000    0.000       0
+  0  18992 03:08:24.33   0.5800A   3.1055  -0.9494  -0.7196  0.058  0.00   0.000      0.  0.832E+00  0.681E-01  0.650E-03  0.174E-04   45  35  28   19  26   9   10  17   8    0.000    0.000       0
+  0  19002 03:08:30.16   0.5850A   3.0771  -0.8652   0.7392  0.058  0.00   0.000      0.  0.832E+00  0.683E-01  0.654E-03  0.186E-04   45  35  35   17  25   9   34   7  35    0.000    0.000       0
+  0  19012 03:08:36.03   0.5880A   3.0595   0.8239   0.7510  0.057  0.00   0.000      0.  0.831E+00  0.684E-01  0.655E-03  0.179E-04   46  35   4   36  10  15   38   3  19    0.000    0.000       0
+  0  19023 03:08:42.53   0.5950A   3.0229   0.8394  -0.7039  0.056  0.00   0.000      0.  0.831E+00  0.686E-01  0.661E-03  0.187E-04   46  35  12   36  11  19   32   4  11    0.000    0.000       0
+  0  19033 03:08:48.49   0.5970A   3.0176   0.8522  -0.7242  0.055  0.00   0.000      0.  0.831E+00  0.688E-01  0.668E-03  0.203E-04   46  35  20   37  10  23   16  33  22    0.000    0.000       0
+  0  19043 03:08:54.47   0.6010A   2.9928   0.8183   0.7034  0.055  0.00   0.000      0.  0.830E+00  0.691E-01  0.678E-03  0.211E-04   43  36  25   19  30   9   37   6   7    0.000    0.000       0
+  0  19053 03:09:00.50   0.6020A   2.9896   0.8040  -0.7755  0.056  0.00   0.000      0.  0.830E+00  0.695E-01  0.683E-03  0.190E-04   44  34   6   38   2  30   31  34  29    0.000    0.000       0
+  0  19063 03:09:06.34   0.5750A   3.1313   0.7813  -0.7732  0.057  0.00   0.000      0.  0.829E+00  0.700E-01  0.659E-03  0.169E-04   45  39   3   39  11  38   28  28  37    0.000    0.000       0
+  0  19073 03:09:12.03   0.5680A   3.1702  -0.7531  -0.8114  0.059  0.00   0.000      0.  0.829E+00  0.704E-01  0.652E-03  0.149E-04   43  34  22   20  30   8   28  32   0    0.000    0.000       0
+  0  19084 03:09:18.31   0.5650A   3.1845  -0.8721  -0.7918  0.061  0.00   0.000      0.  0.828E+00  0.708E-01  0.658E-03  0.147E-04   46  36  21   20  12   9   27  32   5    0.000    0.000       0
+  0  19095 03:09:24.52   0.5650A   3.1863   0.7238  -0.8229  0.064  0.00   0.000      0.  0.827E+00  0.711E-01  0.664E-03  0.142E-04   45  36  28   36   2   7   19  14   9    0.000    0.000       0
+  0  19105 03:09:30.17   0.5680A   3.1718  -0.7894  -0.8465  0.065  0.00   0.000      0.  0.826E+00  0.711E-01  0.666E-03  0.140E-04   45  36  35   41   0  32   18  15   9    0.000    0.000       0
+  0  19116 03:09:36.54   0.5870A   3.0671  -0.7791  -0.7614  0.067  0.00   0.000      0.  0.826E+00  0.709E-01  0.685E-03  0.144E-04   46  36   3   41  39  37   17  16   9    0.000    0.000       0
+  0  19126 03:09:42.47   0.5920A   3.0383  -0.7649  -0.7506  0.066  0.00   0.000      0.  0.825E+00  0.707E-01  0.692E-03  0.137E-04   46  37   9   41  37   2   29  37  17    0.000    0.000       0
+  0  19136 03:09:48.45   0.6000A   2.9990  -0.8101  -0.7580  0.065  0.00   0.000      0.  0.824E+00  0.706E-01  0.706E-03  0.152E-04   46  36  19   28  22  32   24  37  21    0.000    0.000       0
+  0  19146 03:09:54.49   0.6050A   2.9739  -0.8367  -0.8314  0.064  0.00   0.000      0.  0.824E+00  0.707E-01  0.718E-03  0.164E-04   45  30   1   29  21  38   21  37  26    0.000    0.000       0
+  0  19156 03:10:00.55   0.6060A   2.9699   0.7858  -0.8815  0.062  0.00   0.000      0.  0.823E+00  0.709E-01  0.726E-03  0.169E-04   45  30   9   22  29   8   20  37  30    0.000    0.000       0
+  0  19166 03:10:06.57   0.5960A   3.0200   0.8752  -0.9546  0.061  0.00   0.000      0.  0.822E+00  0.712E-01  0.719E-03  0.153E-04   45  30  17   20  29   8   22  37  34    0.000    0.000       0
+  0  19176 03:10:12.50   0.5960A   3.0188   0.7994  -0.9023  0.060  0.00   0.000      0.  0.822E+00  0.714E-01  0.731E-03  0.183E-04   45  30  24   20  30   9   21  37  38    0.000    0.000       0
+  0  19186 03:10:18.48   0.6030A   2.9864   0.8284  -0.8868  0.060  0.00   0.000      0.  0.821E+00  0.718E-01  0.755E-03  0.248E-04   46  30  32   19  30   9   21  38   1    0.000    0.000       0
+  0  19196 03:10:24.59   0.6130A   2.9358  -0.9549  -1.1191  0.059  0.00   0.000      0.  0.820E+00  0.723E-01  0.772E-03  0.263E-04   46  30   0   19  22   9   17  24   9    0.000    0.000       0
+  0  19205 03:10:30.09   0.6070A   2.9675   0.7946  -1.2832  0.060  0.00   0.000      0.  0.819E+00  0.726E-01  0.757E-03  0.222E-04   45  30   7   17  28   9   16  25   9    0.000    0.000       0
+  0  19215 03:10:36.16   0.6100A   2.9485   0.7786  -1.2256  0.061  0.00   0.000      0.  0.818E+00  0.727E-01  0.754E-03  0.195E-04   46  30  15   45   6   2   15  26   9    0.000    0.000       0
+  0  19225 03:10:42.28   0.6150A   2.9281   0.7951  -1.0812  0.061  0.00   0.000      0.  0.817E+00  0.729E-01  0.764E-03  0.197E-04   46  30  22   46   7   9   13  26   9    0.000    0.000       0
+  0  19235 03:10:48.46   0.6200A   2.9038  -0.7708  -1.0291  0.061  0.00   0.000      0.  0.816E+00  0.731E-01  0.768E-03  0.188E-04   45  30  30   19  12   9   17  16   9    0.000    0.000       0
+  0  19244 03:10:54.02   0.6190A   2.9091  -0.7530  -1.1457  0.061  0.00   0.000      0.  0.815E+00  0.733E-01  0.763E-03  0.175E-04   45  30  37   40   6  16   16  18   9    0.000    0.000       0
+  0  19254 03:11:00.25   0.6230A   2.8903  -0.7369  -1.1339  0.061  0.00   0.000      0.  0.815E+00  0.735E-01  0.760E-03  0.171E-04   46  39  13   40   5  20   15  19   9    0.000    0.000       0
+  0  19264 03:11:06.42   0.6140A   2.9335  -0.7523  -1.0542  0.060  0.00   0.000      0.  0.814E+00  0.736E-01  0.740E-03  0.160E-04   46  39  20   35  37  19   13  19   9    0.000    0.000       0
+  0  19273 03:11:12.04   0.6300A   2.8560  -0.7969  -0.9263  0.060  0.00   0.000      0.  0.814E+00  0.739E-01  0.749E-03  0.162E-04   46  39  26   35  36  23   12  16   9    0.000    0.000       0
+  0  19283 03:11:18.31   0.6300A   2.8571  -0.7415  -0.8352  0.058  0.00   0.000      0.  0.813E+00  0.742E-01  0.744E-03  0.155E-04   46  32  25   31   3  18   11  16   9    0.000    0.000       0
+  0  19292 03:11:24.01   0.6390A   2.8172  -0.7352  -0.7654  0.057  0.00   0.000      0.  0.813E+00  0.745E-01  0.757E-03  0.149E-04   46  32  32   31   2  21   13  20   9    0.000    0.000       0
+  0  19302 03:11:30.20   0.6020A   2.9898  -0.7653  -0.7049  0.056  0.00   0.000      0.  0.813E+00  0.748E-01  0.718E-03  0.150E-04   43  36  22   25   5  31   10  20   8    0.000    0.000       0
+  0  19312 03:11:36.21   0.5950A   3.0262  -0.7315   0.8163  0.055  0.00   0.000      0.  0.812E+00  0.753E-01  0.714E-03  0.175E-04   43  36  28   11  25   9   19  10   8    0.000    0.000       0
+  0  19322 03:11:42.23   0.5990A   3.0039  -0.8264  -0.6751  0.054  0.00   0.000      0.  0.812E+00  0.758E-01  0.726E-03  0.222E-04   43  36  34   20  25   9    8  20   8    0.000    0.000       0
+  0  19332 03:11:48.29   0.6020A   2.9896  -1.0515   0.9057  0.054  0.00   0.000      0.  0.811E+00  0.763E-01  0.739E-03  0.250E-04   43  36   0   20  24   9   20  22   9    0.000    0.000       0
+  0  19342 03:11:54.39   0.6100A   2.9514  -1.0288   0.9913  0.055  0.00   0.000      0.  0.811E+00  0.769E-01  0.762E-03  0.288E-04   43  36   6   20  24   9   21  22   9    0.000    0.000       0
+  0  19352 03:12:00.62   0.6280A   2.8664  -0.9720  -1.0609  0.055  0.00   0.000      0.  0.810E+00  0.774E-01  0.788E-03  0.297E-04   43  39  16   20  24   9   18  27   9    0.000    0.000       0
+  0  19361 03:12:06.26   0.6290A   2.8597  -1.0102  -1.1452  0.055  0.00   0.000      0.  0.809E+00  0.778E-01  0.799E-03  0.297E-04   43   0  23   19  24   9   17  28   9    0.000    0.000       0
+  0  19371 03:12:12.57   0.6300A   2.8576   1.0862  -1.1911  0.057  0.00   0.000      0.  0.808E+00  0.780E-01  0.806E-03  0.279E-04   46  32  36   19  30   9   16  28   9    0.000    0.000       0
+  0  19380 03:12:18.18   0.6230A   2.8882   0.9562  -1.1300  0.058  0.00   0.000      0.  0.807E+00  0.781E-01  0.795E-03  0.274E-04   43  35  28   18  30   9   15  28   9    0.000    0.000       0
+  0  19390 03:12:24.25   0.6010A   2.9951  -0.8668   1.0770  0.059  0.00   0.000      0.  0.807E+00  0.781E-01  0.759E-03  0.242E-04   43  35  35   18   9   9   19  29   8    0.000    0.000       0
+  0  19400 03:12:30.37   0.6200A   2.9052   0.7361  -1.0480  0.059  0.00   0.000      0.  0.806E+00  0.779E-01  0.767E-03  0.217E-04   43  35   1   19   4  37   17  24   9    0.000    0.000       0
+  0  19409 03:12:36.11   0.6410A   2.8097  -0.7322  -0.9212  0.059  0.00   0.000      0.  0.805E+00  0.776E-01  0.778E-03  0.189E-04   46  33  27   18  29   8   16  24   9    0.000    0.000       0
+  0  19419 03:12:42.51   0.6410A   2.8094   0.7737  -0.8769  0.058  0.00   0.000      0.  0.805E+00  0.771E-01  0.773E-03  0.162E-04   46  33  34   21  32  35   15  23   9    0.000    0.000       0
+  0  19428 03:12:48.33   0.6490A   2.7718   0.7973  -0.8011  0.056  0.00   0.000      0.  0.804E+00  0.767E-01  0.785E-03  0.171E-04   44  33   5   21  33  39   13  10   9    0.000    0.000       0
+  0  19437 03:12:54.17   0.6470A   2.7834   0.8930   0.8523  0.055  0.00   0.000      0.  0.804E+00  0.765E-01  0.781E-03  0.177E-04   45  34  29   15  14   9   20  12   9    0.000    0.000       0
+  0  19447 03:13:00.62   0.6420A   2.8028   0.9801  -0.8940  0.053  0.00   0.000      0.  0.804E+00  0.763E-01  0.779E-03  0.188E-04   45  34  36   14  15   9   12  12   9    0.000    0.000       0
+  0  19456 03:13:06.40   0.6420A   2.8033   0.8756  -0.8439  0.052  0.00   0.000      0.  0.803E+00  0.762E-01  0.788E-03  0.213E-04   45  33  10   19  17   9   11  13   9    0.000    0.000       0
+  0  19465 03:13:12.06   0.6220A   2.8961   0.7948  -0.7964  0.051  0.00   0.000      0.  0.803E+00  0.763E-01  0.773E-03  0.233E-04   44  33  35   19  18   9   11  15   8    0.000    0.000       0
+  0  19475 03:13:18.10   0.6020A   2.9917   0.9153   0.7691  0.050  0.00   0.000      0.  0.802E+00  0.764E-01  0.759E-03  0.248E-04   44  33   2   20  30   9   20  19   9    0.000    0.000       0
+  0  19485 03:13:24.02   0.5960A   3.0210   1.2255  -0.8801  0.049  0.00   0.000      0.  0.801E+00  0.767E-01  0.756E-03  0.262E-04   44  33   8   18  30   9   20  28   8    0.000    0.000       0
+  0  19496 03:13:30.51   0.5890A   3.0548   1.0652  -1.0222  0.050  0.00   0.000      0.  0.801E+00  0.768E-01  0.740E-03  0.215E-04   44  33  16   17  31   9   17  25   9    0.000    0.000       0
+  0  19506 03:13:36.41   0.5920A   3.0389   0.7772  -1.1421  0.050  0.00   0.000      0.  0.800E+00  0.767E-01  0.747E-03  0.222E-04   44  33  23   17  30   9   16  23   9    0.000    0.000       0
+  0  19516 03:13:42.39   0.6030A   2.9853  -0.7451  -1.0350  0.051  0.00   0.000      0.  0.799E+00  0.767E-01  0.760E-03  0.241E-04   44  33  30   18  24   8   14  23   9    0.000    0.000       0
+  0  19526 03:13:48.48   0.6180A   2.9118  -0.7802  -0.9499  0.052  0.00   0.000      0.  0.799E+00  0.767E-01  0.774E-03  0.237E-04   43  32  24   17  28   9   12  24   9    0.000    0.000       0
+  0  19535 03:13:54.04   0.6230A   2.8912   0.9255  -0.9106  0.053  0.00   0.000      0.  0.798E+00  0.766E-01  0.776E-03  0.222E-04   43  32  31   20  30   9   12  25   8    0.000    0.000       0
+  0  19545 03:14:00.34   0.6350A   2.8357   0.9118  -0.9045  0.053  0.00   0.000      0.  0.797E+00  0.767E-01  0.785E-03  0.225E-04   41  34  11   19  30   9   10  25   8    0.000    0.000       0
+  0  19554 03:14:06.07   0.6390A   2.8172   0.9769  -0.8881  0.054  0.00   0.000      0.  0.797E+00  0.767E-01  0.782E-03  0.215E-04   41  34  18   19  30   9   10  23   8    0.000    0.000       0
+  0  19564 03:14:12.50   0.6450A   2.7896   0.8159  -0.9838  0.054  0.00   0.000      0.  0.796E+00  0.767E-01  0.781E-03  0.185E-04   43  32  13   18  30   9   17  26   9    0.000    0.000       0
+  0  19573 03:14:18.30   0.6410A   2.8094  -0.7142  -0.9232  0.054  0.00   0.000      0.  0.795E+00  0.767E-01  0.769E-03  0.178E-04   46  23  33   34  14  21   16  26   9    0.000    0.000       0
+  0  19582 03:14:24.10   0.6490A   2.7749  -0.7029  -0.7892  0.054  0.00   0.000      0.  0.795E+00  0.768E-01  0.769E-03  0.177E-04   46  23  39   34  13  24   15  26   9    0.000    0.000       0
+  0  19592 03:14:30.64   0.6520A   2.7591  -0.7410  -0.7558  0.054  0.00   0.000      0.  0.794E+00  0.770E-01  0.766E-03  0.180E-04   44  31   1   28  15   3   11  38   1    0.000    0.000       0
+  0  19601 03:14:36.49   0.6510A   2.7641  -0.8697  -0.7115  0.053  0.00   0.000      0.  0.794E+00  0.773E-01  0.766E-03  0.183E-04   44  31   8   28  15   6   10  38   3    0.000    0.000       0
+  0  19610 03:14:42.33   0.6520A   2.7628  -0.8119  -0.6528  0.052  0.00   0.000      0.  0.793E+00  0.775E-01  0.771E-03  0.190E-04   44  31  14   28  14   9   12   0   8    0.000    0.000       0
+  0  19619 03:14:48.20   0.6560A   2.7440  -0.7889   0.7614  0.051  0.00   0.000      0.  0.793E+00  0.778E-01  0.781E-03  0.218E-04   46  32  24   28  13  11   20  28   9    0.000    0.000       0
+  0  19628 03:14:54.11   0.6560A   2.7437  -0.7526   0.8344  0.051  0.00   0.000      0.  0.792E+00  0.782E-01  0.784E-03  0.227E-04   46  32  31    6  31   5   20  28   9    0.000    0.000       0
+  0  19637 03:15:00.04   0.6600A   2.7288   0.7184   0.7224  0.051  0.00   0.000      0.  0.792E+00  0.786E-01  0.794E-03  0.218E-04   46  32  38   17   4  20   20  27   9    0.000    0.000       0
+  0  19647 03:15:06.63   0.6540A   2.7544   0.7973  -0.6958  0.052  0.00   0.000      0.  0.791E+00  0.791E-01  0.793E-03  0.215E-04   43  30   3   20  30   9   10   2  21    0.000    0.000       0
+  0  19656 03:15:12.44   0.6400A   2.8145   0.7864  -0.6633  0.054  0.00   0.000      0.  0.791E+00  0.793E-01  0.781E-03  0.213E-04   43  30  10   23  29   7    9   2  24    0.000    0.000       0
+  0  19665 03:15:18.16   0.6340A   2.8409  -0.7524   0.6432  0.054  0.00   0.000      0.  0.791E+00  0.796E-01  0.777E-03  0.210E-04   43  30  17    7  28   9   10   0  27    0.000    0.000       0
+  0  19675 03:15:24.44   0.6240A   2.8831   0.7710   0.6671  0.055  0.00   0.000      0.  0.790E+00  0.798E-01  0.764E-03  0.215E-04   43  30  24   21  34  17   11   0  28    0.000    0.000       0
+  0  19684 03:15:30.02   0.6150A   2.9258   0.7647   0.6560  0.056  0.00   0.000      0.  0.790E+00  0.800E-01  0.752E-03  0.239E-04   43  30  31   15  14   9   11   0  30    0.000    0.000       0
+  0  19694 03:15:36.20   0.6210A   2.9008   0.7721  -0.7031  0.057  0.00   0.000      0.  0.789E+00  0.802E-01  0.761E-03  0.231E-04   43  30  38   13  15   9   29  35   6    0.000    0.000       0
+  0  19704 03:15:42.41   0.6210A   2.8998   0.7309  -0.8123  0.057  0.00   0.000      0.  0.789E+00  0.801E-01  0.765E-03  0.234E-04   42  35  30   13  15   9   15  22   9    0.000    0.000       0
+  0  19714 03:15:48.54   0.6070A   2.9662  -0.7745  -0.8921  0.058  0.00   0.000      0.  0.788E+00  0.801E-01  0.753E-03  0.243E-04   42  35  37   20  16   9   15  21   9    0.000    0.000       0
+  0  19724 03:15:54.60   0.6090A   2.9569  -0.8405  -0.8883  0.058  0.00   0.000      0.  0.787E+00  0.802E-01  0.759E-03  0.248E-04   42  35   4    2   1   3   15  20   9    0.000    0.000       0
+  0  19733 03:16:00.19   0.6270A   2.8696  -0.7794  -0.9177  0.060  0.00   0.000      0.  0.786E+00  0.803E-01  0.788E-03  0.255E-04   43  30  28    1   1   3   14  20   9    0.000    0.000       0
+  0  19743 03:16:06.49   0.6300A   2.8578   0.7564  -0.9096  0.061  0.00   0.000      0.  0.785E+00  0.805E-01  0.800E-03  0.264E-04   43  33  15   20  10   6   14  21   9    0.000    0.000       0
+  0  19752 03:16:12.15   0.6270A   2.8694   0.7452   0.9246  0.062  0.00   0.000      0.  0.784E+00  0.807E-01  0.803E-03  0.285E-04   46  28  37   21  15   8   20  10   9    0.000    0.000       0
+  0  19762 03:16:18.42   0.6250A   2.8787   0.7737   0.9606  0.063  0.00   0.000      0.  0.783E+00  0.810E-01  0.804E-03  0.291E-04   46  34  26   20  14   9   20  11   9    0.000    0.000       0
+  0  19771 03:16:24.06   0.6280A   2.8642   0.7341   1.0471  0.064  0.00   0.000      0.  0.782E+00  0.812E-01  0.801E-03  0.282E-04   46  34  33   19  14   9   20  11   9    0.000    0.000       0
+  0  19781 03:16:30.38   0.6360A   2.8318   0.7713   1.0254  0.065  0.00   0.000      0.  0.780E+00  0.813E-01  0.798E-03  0.247E-04   45  28  19   18  14   9   20  12   9    0.000    0.000       0
+  0  19790 03:16:36.10   0.6350A   2.8367  -0.8221   0.8978  0.065  0.00   0.000      0.  0.779E+00  0.814E-01  0.783E-03  0.212E-04   45  28  26   21  14   6   20  12   9    0.000    0.000       0
+  0  19800 03:16:42.44   0.6320A   2.8474  -0.7920   0.8201  0.066  0.00   0.000      0.  0.778E+00  0.813E-01  0.765E-03  0.181E-04   45  28  34   21  14   8   20  12   9    0.000    0.000       0
+  0  19809 03:16:48.14   0.6350A   2.8359  -0.7188  -0.8092  0.066  0.00   0.000      0.  0.777E+00  0.810E-01  0.761E-03  0.165E-04   46  28   2    5   4  24   17  18   9    0.000    0.000       0
+  0  19819 03:16:54.46   0.6300A   2.8562  -0.7740  -0.8123  0.065  0.00   0.000      0.  0.776E+00  0.807E-01  0.755E-03  0.174E-04   46  28  10    5   4  26   15  18   8    0.000    0.000       0
+  0  19828 03:17:00.12   0.6260A   2.8759  -0.7750  -0.7767  0.065  0.00   0.000      0.  0.775E+00  0.803E-01  0.745E-03  0.166E-04   43  33   2    4   4  29   17  15   9    0.000    0.000       0
+  0  19838 03:17:06.42   0.6310A   2.8533  -0.7492  -0.7842  0.064  0.00   0.000      0.  0.775E+00  0.798E-01  0.745E-03  0.153E-04   46  27  24    5   2  30   16  16   9    0.000    0.000       0
+  0  19847 03:17:12.11   0.6300A   2.8554  -0.7021  -0.7187  0.064  0.00   0.000      0.  0.774E+00  0.793E-01  0.739E-03  0.152E-04   44  32  21    4   3  32   15  16   9    0.000    0.000       0
+  0  19857 03:17:18.38   0.6240A   2.8860   0.7379  -0.8182  0.064  0.00   0.000      0.  0.773E+00  0.788E-01  0.723E-03  0.150E-04   44  32  28   19  34   9   16  33   7    0.000    0.000       0
+  0  19867 03:17:24.60   0.6130A   2.9371   0.7075  -0.9074  0.063  0.00   0.000      0.  0.773E+00  0.784E-01  0.707E-03  0.149E-04   43  32  31   20  35  14   15  33   9    0.000    0.000       0
+  0  19876 03:17:30.11   0.6080A   2.9607   0.6434  -0.8012  0.063  0.00   0.000      0.  0.773E+00  0.781E-01  0.705E-03  0.192E-04   43  31  39   20  36  18   15  33  11    0.000    0.000       0
+  0  19886 03:17:36.11   0.6010A   2.9940   0.6560   0.7435  0.062  0.00   0.000      0.  0.772E+00  0.781E-01  0.708E-03  0.257E-04   43  31   5   19  36  20   20  29   9    0.000    0.000       0
+  0  19896 03:17:42.13   0.6110A   2.9465   0.7121   0.7794  0.061  0.00   0.000      0.  0.772E+00  0.784E-01  0.722E-03  0.277E-04   43  31  12   20  37  25   20  27   9    0.000    0.000       0
+  0  19906 03:17:48.27   0.6160A   2.9242   0.7425   0.7158  0.061  0.00   0.000      0.  0.771E+00  0.788E-01  0.730E-03  0.255E-04   41  27  33   18  37  28   20  11   9    0.000    0.000       0
+  0  19916 03:17:54.50   0.6210A   2.9007   0.7650   0.7890  0.061  0.00   0.000      0.  0.771E+00  0.791E-01  0.723E-03  0.219E-04   44  30  24   18  38  31   20  12   9    0.000    0.000       0
+  0  19925 03:18:00.06   0.6180A   2.9122   0.7957   0.8700  0.062  0.00   0.000      0.  0.771E+00  0.792E-01  0.711E-03  0.205E-04   44  30  31   18   0  34   20  11   9    0.000    0.000       0
+  0  19935 03:18:06.22   0.6150A   2.9264   0.7431   0.7826  0.061  0.00   0.000      0.  0.771E+00  0.792E-01  0.706E-03  0.203E-04   44  29   7   19  30   9   20  11   9    0.000    0.000       0
+  0  19945 03:18:12.34   0.6120A   2.9390   0.7360  -0.7373  0.061  0.00   0.000      0.  0.770E+00  0.790E-01  0.701E-03  0.198E-04   44  29  14   17   1   0   36  29  19    0.000    0.000       0
+  0  19955 03:18:18.49   0.6180A   2.9138  -0.7159  -0.8176  0.060  0.00   0.000      0.  0.770E+00  0.787E-01  0.702E-03  0.183E-04   44  29  21   21  11   8   17  28   9    0.000    0.000       0
+  0  19964 03:18:24.08   0.6240A   2.8831  -0.7088  -0.7782  0.059  0.00   0.000      0.  0.770E+00  0.783E-01  0.699E-03  0.172E-04   44  29  27   21  11   8   16  28   9    0.000    0.000       0
+  0  19974 03:18:30.34   0.6300A   2.8593   0.6972  -0.7343  0.058  0.00   0.000      0.  0.770E+00  0.779E-01  0.703E-03  0.194E-04   46  32   4   14  13   9   14  23   9    0.000    0.000       0
+  0  19983 03:18:36.02   0.6280A   2.8666   0.7680  -0.7244  0.058  0.00   0.000      0.  0.770E+00  0.775E-01  0.697E-03  0.196E-04   46  32  13   20  18   8   13  23   9    0.000    0.000       0
+  0  19993 03:18:42.32   0.6370A   2.8261   0.7783  -0.6843  0.058  0.00   0.000      0.  0.770E+00  0.769E-01  0.699E-03  0.183E-04   45  32  19   13  14   9   13  23   8    0.000    0.000       0
+  0  20002 03:18:48.01   0.6320A   2.8477   0.7821  -0.6939  0.058  0.00   0.000      0.  0.769E+00  0.764E-01  0.692E-03  0.169E-04   46  33  26   12  15   9   13  24   8    0.000    0.000       0
+  0  20012 03:18:54.32   0.6320A   2.8498   0.7358  -0.7245  0.059  0.00   0.000      0.  0.769E+00  0.760E-01  0.692E-03  0.166E-04   46  33  34   11  16   9   11  24   8    0.000    0.000       0
+  0  20021 03:19:00.06   0.6440A   2.7930   0.7000  -0.7167  0.059  0.00   0.000      0.  0.769E+00  0.757E-01  0.706E-03  0.163E-04   45  33   1   11  17   9   10  24   8    0.000    0.000       0
+  0  20031 03:19:06.44   0.6340A   2.8372   0.6877  -0.6897  0.059  0.00   0.000      0.  0.769E+00  0.754E-01  0.698E-03  0.163E-04   44  29  39   39  16  35    9  24   8    0.000    0.000       0
+  0  20040 03:19:12.13   0.6330A   2.8451   0.6633  -0.6823  0.059  0.00   0.000      0.  0.769E+00  0.752E-01  0.695E-03  0.166E-04   44  29   6   39  17  38    8  24   7    0.000    0.000       0
+  0  20050 03:19:18.47   0.6330A   2.8422  -0.6587  -0.6959  0.059  0.00   0.000      0.  0.768E+00  0.750E-01  0.692E-03  0.161E-04   44  30  11   20  20   8   17  19   9    0.000    0.000       0
+  0  20059 03:19:24.24   0.6460A   2.7866  -0.6764  -0.6567  0.058  0.00   0.000      0.  0.768E+00  0.748E-01  0.707E-03  0.171E-04   45  30  24   20  23   8   16  19   9    0.000    0.000       0
+  0  20068 03:19:30.02   0.6420A   2.8047  -0.6926  -0.6264  0.058  0.00   0.000      0.  0.768E+00  0.748E-01  0.705E-03  0.188E-04   45  30  30   20  22   8   16  21   9    0.000    0.000       0
+  0  20078 03:19:36.45   0.6420A   2.8040   0.6968  -0.5970  0.057  0.00   0.000      0.  0.767E+00  0.750E-01  0.708E-03  0.231E-04   45  26  16   22  36  18   27  31  12    0.000    0.000       0
+  0  20087 03:19:42.19   0.6380A   2.8213   0.7232  -0.6525  0.057  0.00   0.000      0.  0.767E+00  0.753E-01  0.706E-03  0.244E-04   46  28   8   22  37  21   27  32  16    0.000    0.000       0
+  0  20097 03:19:48.57   0.6400A   2.8107   0.7139  -0.6147  0.057  0.00   0.000      0.  0.766E+00  0.758E-01  0.713E-03  0.236E-04   46  25  32   21  39  27    7  24   7    0.000    0.000       0
+  0  20106 03:19:54.29   0.6310A   2.8537   0.7354   0.7040  0.057  0.00   0.000      0.  0.766E+00  0.764E-01  0.710E-03  0.233E-04   46  24  37   21   1  31   20  10   9    0.000    0.000       0
+  0  20116 03:20:00.46   0.6130A   2.9366   0.7284   0.7653  0.058  0.00   0.000      0.  0.765E+00  0.770E-01  0.695E-03  0.223E-04   46  24   5   21   3  34   20  10   9    0.000    0.000       0
+  0  20125 03:20:06.05   0.6310A   2.8512   0.7584   0.7235  0.058  0.00   0.000      0.  0.764E+00  0.777E-01  0.725E-03  0.224E-04   46  28  38   20   3  38   20  10   9    0.000    0.000       0
+  0  20135 03:20:12.31   0.6190A   2.9084   0.7539   0.7568  0.058  0.00   0.000      0.  0.764E+00  0.785E-01  0.717E-03  0.198E-04   46  29   7   20  30   9   20  11   9    0.000    0.000       0
+  0  20145 03:20:18.48   0.6170A   2.9174  -0.7595   0.7684  0.059  0.00   0.000      0.  0.763E+00  0.792E-01  0.717E-03  0.168E-04   46  29  14   22  24   2   20  11   9    0.000    0.000       0
+  0  20154 03:20:24.08   0.6210A   2.8984   0.8080  -0.7337  0.060  0.00   0.000      0.  0.762E+00  0.796E-01  0.723E-03  0.159E-04   44  32  17   21  32   4   41   6  27    0.000    0.000       0
+  0  20164 03:20:30.26   0.6280A   2.8665  -0.7747  -0.8050  0.060  0.00   0.000      0.  0.762E+00  0.800E-01  0.727E-03  0.176E-04   44  32  24   21  24   6   41   5  32    0.000    0.000       0
+  0  20174 03:20:36.59   0.6390A   2.8178   0.7501  -0.8305  0.061  0.00   0.000      0.  0.761E+00  0.802E-01  0.735E-03  0.175E-04   44  29  35   19  30   9   17  18   9    0.000    0.000       0
+  0  20183 03:20:42.36   0.6400A   2.8142   0.7806  -0.7726  0.061  0.00   0.000      0.  0.760E+00  0.804E-01  0.729E-03  0.168E-04   46  27  11   41   8  36   16  18   9    0.000    0.000       0
+  0  20192 03:20:48.15   0.6480A   2.7793   0.7964  -0.7482  0.062  0.00   0.000      0.  0.760E+00  0.805E-01  0.727E-03  0.156E-04   43  33  36   41   7   1   18  29   8    0.000    0.000       0
+  0  20202 03:20:54.62   0.6450A   2.7927   0.8192  -0.6563  0.062  0.00   0.000      0.  0.759E+00  0.805E-01  0.720E-03  0.167E-04   42  33   1   41   8   5   40   5   9    0.000    0.000       0
+  0  20211 03:21:00.40   0.6460A   2.7877   0.8402  -0.6862  0.061  0.00   0.000      0.  0.758E+00  0.806E-01  0.718E-03  0.191E-04   42  33   6   40   6  10   18  28   9    0.000    0.000       0
+  0  20220 03:21:06.21   0.6500A   2.7673   0.8552  -0.6677  0.061  0.00   0.000      0.  0.758E+00  0.807E-01  0.713E-03  0.189E-04   42  33  12   40   6  14   14  22   8    0.000    0.000       0
+  0  20229 03:21:12.07   0.6490A   2.7723   0.7691  -0.6371  0.061  0.00   0.000      0.  0.757E+00  0.808E-01  0.704E-03  0.195E-04   41  32  22   40   7  18   29  22  35    0.000    0.000       0
+  0  20239 03:21:18.55   0.6460A   2.7865  -0.7353  -0.6299  0.061  0.00   0.000      0.  0.757E+00  0.809E-01  0.695E-03  0.180E-04   45  34  37   45   6   7   13  22   7    0.000    0.000       0
+  0  20248 03:21:24.38   0.6480A   2.7779  -0.7597  -0.6734  0.061  0.00   0.000      0.  0.756E+00  0.809E-01  0.695E-03  0.158E-04   45  34   3   45   5  11   35  23   7    0.000    0.000       0
+  0  20257 03:21:30.12   0.6340A   2.8411  -0.7090  -0.7143  0.062  0.00   0.000      0.  0.756E+00  0.807E-01  0.679E-03  0.140E-04   46  34  10   46   4  15   36  23   9    0.000    0.000       0
+  0  20267 03:21:36.47   0.6410A   2.8098  -0.6920  -0.8424  0.063  0.00   0.000      0.  0.756E+00  0.804E-01  0.692E-03  0.184E-04   46  35  15   46   1  22   17  20   9    0.000    0.000       0
+  0  20276 03:21:42.16   0.6320A   2.8496  -0.6711  -0.9591  0.064  0.00   0.000      0.  0.755E+00  0.801E-01  0.684E-03  0.205E-04   46  35  21   20  18   9   17  20   9    0.000    0.000       0
+  0  20286 03:21:48.44   0.6270A   2.8692   0.7711  -0.9479  0.065  0.00   0.000      0.  0.754E+00  0.798E-01  0.682E-03  0.220E-04   46  35  28   19  12   9   16  21   9    0.000    0.000       0
+  0  20295 03:21:54.10   0.6320A   2.8497   0.9679  -0.8651  0.064  0.00   0.000      0.  0.754E+00  0.796E-01  0.691E-03  0.226E-04   46  35  35   18  13   9   15  19   9    0.000    0.000       0
+  0  20305 03:22:00.46   0.6420A   2.8024   1.0085  -0.7863  0.064  0.00   0.000      0.  0.753E+00  0.793E-01  0.699E-03  0.237E-04   46  35   2   17  14   9   13  18   9    0.000    0.000       0
+  0  20314 03:22:06.29   0.6450A   2.7923  -0.9633  -0.7521  0.064  0.00   0.000      0.  0.752E+00  0.792E-01  0.698E-03  0.243E-04   43  29  34   20  11   8   12  18   9    0.000    0.000       0
+  0  20323 03:22:12.08   0.6490A   2.7756   0.8299  -0.7775  0.065  0.00   0.000      0.  0.751E+00  0.792E-01  0.697E-03  0.249E-04   43  29   1   15  15   9   12  17   9    0.000    0.000       0
+  0  20333 03:22:18.56   0.6390A   2.8172  -0.7965  -0.7554  0.065  0.00   0.000      0.  0.751E+00  0.792E-01  0.676E-03  0.214E-04   46  27  37   20  22   8   11  18   9    0.000    0.000       0
+  0  20342 03:22:24.32   0.6400A   2.8129   0.7777  -0.7604  0.064  0.00   0.000      0.  0.750E+00  0.791E-01  0.674E-03  0.206E-04   46  27   3   12  17   9   17  28   9    0.000    0.000       0
+  0  20351 03:22:30.16   0.6510A   2.7667   0.7688  -0.7624  0.064  0.00   0.000      0.  0.749E+00  0.790E-01  0.677E-03  0.191E-04   46  27   9   11  18   9   16  26   9    0.000    0.000       0
+  0  20360 03:22:36.08   0.6600A   2.7285   0.7405  -0.7005  0.064  0.00   0.000      0.  0.749E+00  0.787E-01  0.675E-03  0.180E-04   46  27  15   13  14   9   16  25   9    0.000    0.000       0
+  0  20369 03:22:42.06   0.6690A   2.6916   0.6957  -0.6537  0.064  0.00   0.000      0.  0.749E+00  0.784E-01  0.676E-03  0.166E-04   43  33  32   13  15   9   15  25   9    0.000    0.000       0
+  0  20378 03:22:48.06   0.6620A   2.7196   0.6572  -0.6685  0.063  0.00   0.000      0.  0.748E+00  0.781E-01  0.666E-03  0.182E-04   46  30  15   12  16   9   28  31   6    0.000    0.000       0
+  0  20388 03:22:54.56   0.6410A   2.8062   0.6520  -0.7263  0.062  0.00   0.000      0.  0.748E+00  0.781E-01  0.655E-03  0.234E-04   46  29  22   10  15   9   27  31  10    0.000    0.000       0
+  0  20397 03:23:00.28   0.6350A   2.8354   0.6991  -0.6907  0.062  0.00   0.000      0.  0.747E+00  0.782E-01  0.652E-03  0.245E-04   46  29  29   11  15   9   26  31  15    0.000    0.000       0
+  0  20406 03:23:06.01   0.6400A   2.8126   0.7197  -0.7862  0.061  0.00   0.000      0.  0.747E+00  0.783E-01  0.658E-03  0.236E-04   46  29  35   11  15   9   17  20   9    0.000    0.000       0
+  0  20416 03:23:12.55   0.6670A   2.6973  -0.8826  -0.8448  0.061  0.00   0.000      0.  0.746E+00  0.784E-01  0.690E-03  0.250E-04   46  29   2   20  15   9   16  20   9    0.000    0.000       0
+  0  20425 03:23:18.59   0.6680A   2.6948  -0.9414  -0.9646  0.060  0.00   0.000      0.  0.746E+00  0.782E-01  0.698E-03  0.232E-04   46  27  11   19  15   9   17  17   9    0.000    0.000       0
+  0  20434 03:23:24.55   0.6600A   2.7259  -0.7870  -1.0260  0.060  0.00   0.000      0.  0.746E+00  0.779E-01  0.702E-03  0.233E-04   46  27  17   19  14   9   16  17   9    0.000    0.000       0
+  0  20443 03:23:30.57   0.6790A   2.6509  -0.7573  -0.9344  0.060  0.00   0.000      0.  0.745E+00  0.776E-01  0.729E-03  0.254E-04   46  29  35   20  19   4   15  17   9    0.000    0.000       0
+  0  20452 03:23:36.63   0.6680A   2.6933  -0.8002  -0.8218  0.060  0.00   0.000      0.  0.745E+00  0.772E-01  0.719E-03  0.237E-04   45  27  11   20  18   8   14  17   9    0.000    0.000       0
+  0  20461 03:23:42.57   0.6580A   2.7355  -0.9229  -0.7647  0.060  0.00   0.000      0.  0.745E+00  0.769E-01  0.716E-03  0.262E-04   45  27  17   20  16   8   13  19   9    0.000    0.000       0
+  0  20470 03:23:48.41   0.6460A   2.7868  -0.8410   0.8280  0.060  0.00   0.000      0.  0.744E+00  0.768E-01  0.712E-03  0.330E-04   46  27  24   20  18   8   20  26   9    0.000    0.000       0
+  0  20479 03:23:54.25   0.6490A   2.7727   1.1100  -0.9147  0.062  0.00   0.000      0.  0.744E+00  0.768E-01  0.703E-03  0.288E-04   46  27  30   19  30   9   20  28   8    0.000    0.000       0
+  0  20488 03:24:00.16   0.6660A   2.7044   1.1525  -1.1275  0.063  0.00   0.000      0.  0.744E+00  0.766E-01  0.712E-03  0.265E-04   46  27  37   18  31   9   17  21   9    0.000    0.000       0
+  0  20497 03:24:06.22   0.6770A   2.6605   0.8035  -1.2026  0.064  0.00   0.000      0.  0.743E+00  0.762E-01  0.720E-03  0.264E-04   45  27  32   18  30   9   16  21   9    0.000    0.000       0
+  0  20506 03:24:12.25   0.6650A   2.7048  -0.7857  -1.0754  0.066  0.00   0.000      0.  0.743E+00  0.757E-01  0.702E-03  0.234E-04   46  27   0   19  30   8   14  22   9    0.000    0.000       0
+  0  20515 03:24:18.24   0.6660A   2.7009  -1.0835  -0.9461  0.066  0.00   0.000      0.  0.743E+00  0.750E-01  0.697E-03  0.216E-04   46  27   7   20  30   8   14  27   9    0.000    0.000       0
+  0  20524 03:24:24.20   0.6620A   2.7197  -0.7841  -0.8369  0.066  0.00   0.000      0.  0.743E+00  0.744E-01  0.691E-03  0.209E-04   46  28  12   20  28   8   14  21   9    0.000    0.000       0
+  0  20533 03:24:30.12   0.6590A   2.7314  -0.7877  -0.9090  0.064  0.00   0.000      0.  0.743E+00  0.738E-01  0.693E-03  0.226E-04   46  23  13   24  21   2   17  15   9    0.000    0.000       0
+  0  20542 03:24:36.03   0.6590A   2.7312  -0.8421  -0.8924  0.063  0.00   0.000      0.  0.743E+00  0.734E-01  0.699E-03  0.248E-04   46  23  20   24  20   5   16  16   9    0.000    0.000       0
+  0  20552 03:24:42.58   0.6510A   2.7664  -0.8738  -0.8017  0.062  0.00   0.000      0.  0.742E+00  0.729E-01  0.699E-03  0.258E-04   44  24  26   24  19   8   15  18   9    0.000    0.000       0
+  0  20561 03:24:48.47   0.6570A   2.7409   0.8852   0.8080  0.062  0.00   0.000      0.  0.742E+00  0.725E-01  0.710E-03  0.273E-04   44  24  33   15  13   9   20  11   9    0.000    0.000       0
+  0  20570 03:24:54.36   0.6500A   2.7694   0.9892   0.9321  0.062  0.00   0.000      0.  0.742E+00  0.722E-01  0.711E-03  0.281E-04   44  24   0   15  14   9   20  12   9    0.000    0.000       0
+  0  20579 03:25:00.19   0.6460A   2.7866   0.9392  -0.7590  0.061  0.00   0.000      0.  0.742E+00  0.718E-01  0.714E-03  0.279E-04   44  24   7   16  15   9   15  28   9    0.000    0.000       0
+  0  20588 03:25:06.01   0.6510A   2.7656   0.9455   0.9402  0.061  0.00   0.000      0.  0.742E+00  0.713E-01  0.725E-03  0.290E-04   44  24  13   17  35  14   20  14   9    0.000    0.000       0
+  0  20598 03:25:12.50   0.6450A   2.7908  -1.1138  -0.7949  0.061  0.00   0.000      0.  0.741E+00  0.707E-01  0.717E-03  0.262E-04   45  23  17   20  16   8   13  28   9    0.000    0.000       0
+  0  20607 03:25:18.31   0.6460A   2.7877   1.0433  -0.9519  0.061  0.00   0.000      0.  0.741E+00  0.701E-01  0.709E-03  0.235E-04   45  23  23   20  27   8   17  17   9    0.000    0.000       0
+  0  20616 03:25:24.13   0.6500A   2.7691   0.8627  -1.1464  0.063  0.00   0.000      0.  0.741E+00  0.695E-01  0.711E-03  0.240E-04   46  23  30   16  37  22   16  20   9    0.000    0.000       0
+  0  20626 03:25:30.65   0.6550A   2.7462   0.7156  -1.1802  0.064  0.00   0.000      0.  0.740E+00  0.687E-01  0.712E-03  0.228E-04   44  22  39   16  38  25   15  21   9    0.000    0.000       0
+  0  20635 03:25:36.60   0.6630A   2.7154   0.7389  -1.0564  0.064  0.00   0.000      0.  0.740E+00  0.679E-01  0.709E-03  0.220E-04   46  22   4   15  38  27   14  23   9    0.000    0.000       0
+  0  20644 03:25:42.57   0.6650A   2.7063   0.7480  -0.8966  0.064  0.00   0.000      0.  0.740E+00  0.672E-01  0.703E-03  0.217E-04   46  22  11   15  24   8   13  21   9    0.000    0.000       0
+  0  20653 03:25:48.52   0.6610A   2.7238   0.7045  -0.8680  0.062  0.00   0.000      0.  0.739E+00  0.665E-01  0.693E-03  0.229E-04   46  24  15   14  25   8   13  23   9    0.000    0.000       0
+  0  20662 03:25:54.46   0.6610A   2.7223   0.6885  -0.8435  0.061  0.00   0.000      0.  0.739E+00  0.660E-01  0.687E-03  0.229E-04   46  23  21   12  25   8   12  23   9    0.000    0.000       0
+  0  20671 03:26:00.47   0.6760A   2.6629   0.6610  -0.8278  0.060  0.00   0.000      0.  0.739E+00  0.655E-01  0.692E-03  0.206E-04   46  23  27   21  29   8   10  24   9    0.000    0.000       0
+  0  20680 03:26:06.54   0.6720A   2.6778  -0.6744  -0.7462  0.060  0.00   0.000      0.  0.738E+00  0.651E-01  0.682E-03  0.188E-04   44  17  38   21  15  36   10  25   7    0.000    0.000       0
+  0  20689 03:26:12.46   0.6510A   2.7634  -0.6660  -0.7435  0.061  0.00   0.000      0.  0.738E+00  0.646E-01  0.662E-03  0.187E-04   43  22   3   21  26   4    9  25   7    0.000    0.000       0
+  0  20698 03:26:18.20   0.6260A   2.8771  -0.7026  -0.7177  0.061  0.00   0.000      0.  0.738E+00  0.642E-01  0.637E-03  0.175E-04   43  22   9   19   9   9    7  25   7    0.000    0.000       0
+  0  20708 03:26:24.46   0.6260A   2.8737  -0.6909  -0.7217  0.061  0.00   0.000      0.  0.738E+00  0.638E-01  0.627E-03  0.167E-04   43  22  16   21  25   6   16  22   9    0.000    0.000       0
+  0  20717 03:26:30.09   0.6230A   2.8893   0.5985  -0.6868  0.061  0.00   0.000      0.  0.738E+00  0.635E-01  0.617E-03  0.189E-04   43  22  22   10  27   5   15  22   9    0.000    0.000       0
+  0  20727 03:26:36.36   0.6260A   2.8758   0.6010   0.7355  0.062  0.00   0.000      0.  0.738E+00  0.632E-01  0.615E-03  0.204E-04   43  21  29   10  28   5   20  10   9    0.000    0.000       0
+  0  20736 03:26:42.06   0.6380A   2.8234   0.6370   0.7109  0.062  0.00   0.000      0.  0.738E+00  0.630E-01  0.623E-03  0.201E-04   43  21  35   20  30   9   20  10   9    0.000    0.000       0
+  0  20746 03:26:48.44   0.6340A   2.8393   0.6272   0.7765  0.062  0.00   0.000      0.  0.738E+00  0.628E-01  0.620E-03  0.205E-04   44  15   8   10  30   5   20  10   9    0.000    0.000       0
+  0  20755 03:26:54.18   0.6450A   2.7928   0.6215  -0.7784  0.063  0.00   0.000      0.  0.738E+00  0.625E-01  0.628E-03  0.195E-04   44  15  15   10  13   9   15  18   9    0.000    0.000       0
+  0  20765 03:27:00.61   0.6430A   2.7986   0.7227  -0.7577  0.064  0.00   0.000      0.  0.737E+00  0.622E-01  0.620E-03  0.189E-04   45  20  11   11  13   9   13  18   9    0.000    0.000       0
+  0  20774 03:27:06.41   0.6390A   2.8147   0.7347  -0.7257  0.064  0.00   0.000      0.  0.737E+00  0.618E-01  0.613E-03  0.179E-04   44  20  17   11  15   9   12  18   8    0.000    0.000       0
+  0  20783 03:27:12.12   0.6280A   2.8680   0.7234  -0.7559  0.063  0.00   0.000      0.  0.737E+00  0.614E-01  0.595E-03  0.174E-04   44  20  24   10  16   9   17  13   9    0.000    0.000       0
+  0  20793 03:27:18.40   0.6320A   2.8462  -0.7233   0.7680  0.062  0.00   0.000      0.  0.737E+00  0.610E-01  0.595E-03  0.189E-04   44  20  31   45   3   5   21  25   9    0.000    0.000       0
+  0  20802 03:27:24.21   0.6460A   2.7843  -0.7262   0.6988  0.060  0.00   0.000      0.  0.737E+00  0.608E-01  0.607E-03  0.212E-04   43  20  38   46   2   9   21  25   9    0.000    0.000       0
+  0  20812 03:27:30.58   0.6380A   2.8227  -0.7261  -0.6427  0.059  0.00   0.000      0.  0.737E+00  0.606E-01  0.597E-03  0.210E-04   43  20   5   45   2  15    9  23   9    0.000    0.000       0
+  0  20821 03:27:36.45   0.6550A   2.7490  -0.7481  -0.6626  0.058  0.00   0.000      0.  0.737E+00  0.604E-01  0.609E-03  0.203E-04   44  17   8   46   1  20    7  21   8    0.000    0.000       0
+  0  20830 03:27:42.35   0.6510A   2.7645   0.9135  -0.6475  0.058  0.00   0.000      0.  0.737E+00  0.603E-01  0.601E-03  0.190E-04   45  19  11   20  30   9    8  23   8    0.000    0.000       0
+  0  20839 03:27:48.19   0.6460A   2.7879   0.9584  -0.7201  0.059  0.00   0.000      0.  0.737E+00  0.601E-01  0.600E-03  0.185E-04   45  19  17   19  31   9   18  28   9    0.000    0.000       0
+  0  20848 03:27:54.02   0.6470A   2.7813   0.8617  -0.6778  0.059  0.00   0.000      0.  0.737E+00  0.600E-01  0.605E-03  0.195E-04   45  19  23   19  30   9   18  28   9    0.000    0.000       0
+  0  20858 03:28:00.52   0.6530A   2.7565   0.9503  -0.9260  0.059  0.00   0.000      0.  0.737E+00  0.600E-01  0.615E-03  0.205E-04   46  19  30   19  30   9   18  26   9    0.000    0.000       0
+  0  20867 03:28:06.41   0.6560A   2.7447   0.8917   1.1855  0.060  0.00   0.000      0.  0.737E+00  0.600E-01  0.616E-03  0.200E-04   46  19  36   19  30   9   19  30   8    0.000    0.000       0
+  0  20876 03:28:12.30   0.6520A   2.7595  -0.7926   1.0290  0.061  0.00   0.000      0.  0.737E+00  0.600E-01  0.611E-03  0.198E-04   44  12  16   18  30   8   19  29   8    0.000    0.000       0
+  0  20885 03:28:18.21   0.6520A   2.7614  -0.6791   0.7915  0.061  0.00   0.000      0.  0.737E+00  0.600E-01  0.612E-03  0.197E-04   44  15  25   18  29   8   21  29   9    0.000    0.000       0
+  0  20895 03:28:24.44   0.6090A   2.9546  -0.7602  -0.7022  0.061  0.00   0.000      0.  0.737E+00  0.600E-01  0.576E-03  0.179E-04   44  15  32   18  27   8   13  22   9    0.000    0.000       0
+  0  20905 03:28:30.51   0.6020A   2.9887  -0.7558   0.6941  0.061  0.00   0.000      0.  0.737E+00  0.599E-01  0.567E-03  0.166E-04   44  15  38   21  25   8   20  27   9    0.000    0.000       0
+  0  20914 03:28:36.04   0.6220A   2.8955  -0.7939   0.6554  0.061  0.00   0.000      0.  0.737E+00  0.598E-01  0.583E-03  0.172E-04   44  15   4   21  24   8   20  26   9    0.000    0.000       0
+  0  20924 03:28:42.50   0.6560A   2.7421  -0.7772   0.6140  0.060  0.00   0.000      0.  0.737E+00  0.597E-01  0.607E-03  0.189E-04   46  24  12   21  23   8   20  25   9    0.000    0.000       0
+  0  20933 03:28:48.32   0.6440A   2.7931  -0.7713  -0.5564  0.059  0.00   0.000      0.  0.736E+00  0.595E-01  0.590E-03  0.183E-04   46  24  19   18  22   8   10  21   9    0.000    0.000       0
+  0  20942 03:28:54.08   0.6400A   2.8133  -0.7374  -0.5631  0.058  0.00   0.000      0.  0.736E+00  0.592E-01  0.581E-03  0.201E-04   46  24  25   21  22   6    8  20   9    0.000    0.000       0
+  0  20952 03:29:00.51   0.6470A   2.7834  -0.7529  -0.5935  0.057  0.00   0.000      0.  0.736E+00  0.589E-01  0.580E-03  0.203E-04   46  24  33   20  19   8    8  20   8    0.000    0.000       0
+  0  20961 03:29:06.39   0.6530A   2.7577  -0.7307  -0.6845  0.057  0.00   0.000      0.  0.736E+00  0.586E-01  0.580E-03  0.200E-04   44  16  32   20  18   8   18  28   9    0.000    0.000       0
+  0  20970 03:29:12.29   0.6530A   2.7546  -0.7120  -0.7327  0.056  0.00   0.000      0.  0.736E+00  0.583E-01  0.576E-03  0.190E-04   44  16  38   45   8   8   18  26   9    0.000    0.000       0
+  0  20979 03:29:18.22   0.6600A   2.7259  -0.7021  -0.6983  0.057  0.00   0.000      0.  0.736E+00  0.581E-01  0.581E-03  0.186E-04   44  16   4   45   8  14   16  28   9    0.000    0.000       0
+  0  20988 03:29:24.19   0.6590A   2.7308  -0.7416   0.9010  0.057  0.00   0.000      0.  0.736E+00  0.578E-01  0.587E-03  0.183E-04   46  32  28   19  18   9   18  29   8    0.000    0.000       0
+  0  20997 03:29:30.08   0.6570A   2.7384   0.7012  -1.0318  0.058  0.00   0.000      0.  0.736E+00  0.576E-01  0.595E-03  0.189E-04   46  32  34   20  26   9   17  20   9    0.000    0.000       0
+  0  21006 03:29:36.01   0.6620A   2.7180   0.7239  -1.0684  0.058  0.00   0.000      0.  0.737E+00  0.572E-01  0.603E-03  0.200E-04   46  25  29   20  26   9   16  20   9    0.000    0.000       0
+  0  21015 03:29:42.02   0.6700A   2.6880  -0.7296  -0.9741  0.058  0.00   0.000      0.  0.737E+00  0.568E-01  0.611E-03  0.219E-04   41  27  16   23  22   2   15  20   9    0.000    0.000       0
+  0  21024 03:29:48.07   0.6720A   2.6777  -0.7278  -0.9203  0.057  0.00   0.000      0.  0.737E+00  0.563E-01  0.620E-03  0.250E-04   43  27  22   23  21   4   16  18   9    0.000    0.000       0
+  0  21033 03:29:54.03   0.6560A   2.7432  -0.8279  -0.8923  0.056  0.00   0.000      0.  0.737E+00  0.558E-01  0.613E-03  0.283E-04   46  31  18   22  23   6   13  18   9    0.000    0.000       0
+  0  21043 03:30:00.53   0.6480A   2.7776  -0.7515  -0.8569  0.055  0.00   0.000      0.  0.738E+00  0.554E-01  0.602E-03  0.296E-04   46  27  28   22  24   6   13  17   9    0.000    0.000       0
+  0  21052 03:30:06.36   0.6480A   2.7787  -0.8650  -0.8014  0.055  0.00   0.000      0.  0.738E+00  0.552E-01  0.595E-03  0.281E-04   46  31  31   20  25   8   11  17   9    0.000    0.000       0
+  0  21061 03:30:12.26   0.6610A   2.7237  -0.8021  -0.7411  0.055  0.00   0.000      0.  0.739E+00  0.550E-01  0.604E-03  0.283E-04   45  31  37   21  23   8   11  17   9    0.000    0.000       0
+  0  21070 03:30:18.27   0.6690A   2.6924  -0.7415  -0.6855  0.054  0.00   0.000      0.  0.739E+00  0.549E-01  0.612E-03  0.285E-04   46  28   9   20  19   8   10  17   9    0.000    0.000       0
+  0  21079 03:30:24.26   0.6660A   2.7013  -0.6843   0.7300  0.054  0.00   0.000      0.  0.740E+00  0.550E-01  0.605E-03  0.279E-04   46  28  16   21  20   8   20  12   9    0.000    0.000       0
+  0  21088 03:30:30.28   0.6720A   2.6795   0.6749   0.7937  0.053  0.00   0.000      0.  0.740E+00  0.552E-01  0.610E-03  0.288E-04   46  28  23   13  14   9   21  13   9    0.000    0.000       0
+  0  21097 03:30:36.33   0.6700A   2.6846   0.6904   0.7200  0.053  0.00   0.000      0.  0.740E+00  0.554E-01  0.607E-03  0.259E-04   46  33  23   12  15   9   20  11   9    0.000    0.000       0
+  0  21106 03:30:42.36   0.6680A   2.6938   0.7354   0.7346  0.054  0.00   0.000      0.  0.741E+00  0.556E-01  0.601E-03  0.216E-04   46  33  30    9  13   9   20  11   9    0.000    0.000       0
+  0  21115 03:30:48.35   0.6590A   2.7315   0.8250   0.6504  0.054  0.00   0.000      0.  0.741E+00  0.558E-01  0.585E-03  0.179E-04   44  22  32    9  15   9   20  13   9    0.000    0.000       0
+  0  21124 03:30:54.27   0.6590A   2.7318   0.8124   0.5802  0.054  0.00   0.000      0.  0.742E+00  0.558E-01  0.579E-03  0.154E-04   44  22  38    9  16   9   21  14   9    0.000    0.000       0
+  0  21133 03:31:00.31   0.6810A   2.6415   0.7981  -0.5905  0.055  0.00   0.000      0.  0.742E+00  0.558E-01  0.596E-03  0.162E-04   45  25  25    9  16   8   18  21   9    0.000    0.000       0
+  0  21142 03:31:06.42   0.6750A   2.6652   0.8233  -0.7004  0.056  0.00   0.000      0.  0.742E+00  0.558E-01  0.590E-03  0.158E-04   44  24   5   10  18   8   18  20   9    0.000    0.000       0
+  0  21151 03:31:12.56   0.6840A   2.6313   0.8434  -0.8004  0.057  0.00   0.000      0.  0.743E+00  0.558E-01  0.594E-03  0.165E-04   42  23  17   10  19   8   17  20   9    0.000    0.000       0
+  0  21160 03:31:18.62   0.6680A   2.6959   0.7973  -0.8024  0.058  0.00   0.000      0.  0.743E+00  0.557E-01  0.578E-03  0.159E-04   42  23  24   20  24   9   16  20   9    0.000    0.000       0
+  0  21169 03:31:24.57   0.6560A   2.7432   0.7535  -0.7768  0.058  0.00   0.000      0.  0.744E+00  0.555E-01  0.566E-03  0.156E-04   43  24  28    8  20   8   16  18   9    0.000    0.000       0
+  0  21178 03:31:30.50   0.6560A   2.7435   0.7626  -0.7555  0.058  0.00   0.000      0.  0.744E+00  0.552E-01  0.568E-03  0.180E-04   43  24  34    7  21   8   15  17   9    0.000    0.000       0
+  0  21187 03:31:36.50   0.6690A   2.6925   0.7203  -0.7905  0.057  0.00   0.000      0.  0.745E+00  0.550E-01  0.576E-03  0.189E-04   43  24   0    7  22   8   17  15   9    0.000    0.000       0
+  0  21196 03:31:42.58   0.6710A   2.6825  -0.8141  -0.8266  0.057  0.00   0.000      0.  0.746E+00  0.550E-01  0.577E-03  0.196E-04   44  24   1   20  20   8   16  15   9    0.000    0.000       0
+  0  21205 03:31:48.62   0.6800A   2.6485  -0.8074  -0.7821  0.057  0.00   0.000      0.  0.746E+00  0.549E-01  0.581E-03  0.196E-04   44  24   8   20  19   8   15  15   9    0.000    0.000       0
+  0  21213 03:31:54.08   0.6780A   2.6553  -0.6961  -0.7333  0.057  0.00   0.000      0.  0.747E+00  0.549E-01  0.578E-03  0.197E-04   44  25  15   20  21   9   14  15   9    0.000    0.000       0
+  0  21222 03:32:00.16   0.6730A   2.6731  -0.7019  -0.6685  0.057  0.00   0.000      0.  0.747E+00  0.549E-01  0.572E-03  0.194E-04   46  25  17   19  20   9   13  15   9    0.000    0.000       0
+  0  21231 03:32:06.16   0.6650A   2.7055  -0.6862  -0.6890  0.057  0.00   0.000      0.  0.748E+00  0.550E-01  0.559E-03  0.159E-04   45  25  23   25  25  27   17  22   9    0.000    0.000       0
+  0  21240 03:32:12.18   0.6730A   2.6751  -0.6397  -0.7778  0.058  0.00   0.000      0.  0.748E+00  0.551E-01  0.566E-03  0.148E-04   46  25  30   25  24  31   16  22   9    0.000    0.000       0
+  0  21249 03:32:18.22   0.6680A   2.6965  -0.6207  -0.7977  0.059  0.00   0.000      0.  0.749E+00  0.551E-01  0.570E-03  0.145E-04   44  26  25   25  23  35   15  22   9    0.000    0.000       0
+  0  21258 03:32:24.16   0.6550A   2.7460  -0.6115  -0.9007  0.060  0.00   0.000      0.  0.749E+00  0.550E-01  0.563E-03  0.134E-04   44  26  32   22  18  32   17  18   9    0.000    0.000       0
+  0  21267 03:32:30.07   0.6570A   2.7413   0.6411  -0.9296  0.061  0.00   0.000      0.  0.749E+00  0.548E-01  0.572E-03  0.150E-04   44  26  39   27  36   0   17  17   9    0.000    0.000       0
+  0  21276 03:32:36.01   0.6600A   2.7285   0.6557  -0.9385  0.062  0.00   0.000      0.  0.750E+00  0.546E-01  0.579E-03  0.168E-04   44  26   6   11  12   9   15  17   9    0.000    0.000       0
+  0  21286 03:32:42.61   0.6630A   2.7136   0.7227  -0.8404  0.061  0.00   0.000      0.  0.750E+00  0.543E-01  0.587E-03  0.186E-04   42  36  24   11  13   9   14  17   9    0.000    0.000       0
+  0  21295 03:32:48.55   0.6560A   2.7445   0.7075  -0.7518  0.061  0.00   0.000      0.  0.750E+00  0.541E-01  0.587E-03  0.202E-04   46  27  22   10  14   9   16  18   9    0.000    0.000       0
+  0  21304 03:32:54.42   0.6540A   2.7522  -0.7484  -0.7308  0.060  0.00   0.000      0.  0.750E+00  0.539E-01  0.589E-03  0.208E-04   45  27  28   21  17   4   16  20   9    0.000    0.000       0
+  0  21313 03:33:00.33   0.6610A   2.7212  -0.7768  -0.7001  0.058  0.00   0.000      0.  0.750E+00  0.537E-01  0.597E-03  0.204E-04   46  27  36   19  26   9   15  20   9    0.000    0.000       0
+  0  21322 03:33:06.31   0.6670A   2.6990  -0.7590  -0.6730  0.057  0.00   0.000      0.  0.750E+00  0.535E-01  0.605E-03  0.198E-04   45  36   0   19  25   9   14  20   9    0.000    0.000       0
+  0  21331 03:33:12.27   0.6590A   2.7328  -0.7893  -0.6632  0.056  0.00   0.000      0.  0.751E+00  0.533E-01  0.602E-03  0.192E-04   46  36   7   20  16   9   17  19   9    0.000    0.000       0
+  0  21340 03:33:18.14   0.6510A   2.7660  -0.6542  -0.7953  0.056  0.00   0.000      0.  0.751E+00  0.532E-01  0.596E-03  0.173E-04   45  36  13   20  15   9   18  20   9    0.000    0.000       0
+  0  21349 03:33:24.02   0.6540A   2.7529   0.6523  -0.8907  0.057  0.00   0.000      0.  0.751E+00  0.530E-01  0.595E-03  0.169E-04   46  36  20   20  16   8   17  21   9    0.000    0.000       0
+  0  21359 03:33:30.54   0.6480A   2.7789  -0.6606  -0.8661  0.058  0.00   0.000      0.  0.751E+00  0.529E-01  0.588E-03  0.177E-04   45  37  26   22  10  12   15  21   9    0.000    0.000       0
+  0  21368 03:33:36.32   0.6350A   2.8327  -0.7464  -0.8006  0.060  0.00   0.000      0.  0.751E+00  0.528E-01  0.577E-03  0.191E-04   45  37  33   20  10   9   13  21   9    0.000    0.000       0
+  0  21377 03:33:42.00   0.6310A   2.8536   0.7006  -0.7483  0.061  0.00   0.000      0.  0.751E+00  0.527E-01  0.567E-03  0.182E-04   46  37   0   20  10   8   16  22   9    0.000    0.000       0
+  0  21387 03:33:48.37   0.6480A   2.7774  -0.6534  -0.7834  0.061  0.00   0.000      0.  0.751E+00  0.525E-01  0.580E-03  0.195E-04   46  37   6   23  23   1   17  15   9    0.000    0.000       0
+  0  21396 03:33:54.23   0.6490A   2.7728  -0.6531  -0.7958  0.061  0.00   0.000      0.  0.751E+00  0.523E-01  0.584E-03  0.199E-04   46  35   8   23  22   3   14  22   9    0.000    0.000       0
+  0  21405 03:34:00.07   0.6520A   2.7615   0.6481  -0.8284  0.060  0.00   0.000      0.  0.751E+00  0.520E-01  0.594E-03  0.206E-04   46  35  15   46  11   8   16  22   9    0.000    0.000       0
+  0  21415 03:34:06.58   0.6540A   2.7532   0.6594  -0.8292  0.059  0.00   0.000      0.  0.752E+00  0.518E-01  0.605E-03  0.209E-04   46  34  21   46  12  15   15  22   9    0.000    0.000       0
+  0  21424 03:34:12.43   0.6480A   2.7778  -0.6374  -0.7679  0.059  0.00   0.000      0.  0.752E+00  0.516E-01  0.595E-03  0.188E-04   41  28   2   21  25   6   16  19   9    0.000    0.000       0
+  0  21433 03:34:18.20   0.6390A   2.8156  -0.7246  -0.7274  0.058  0.00   0.000      0.  0.752E+00  0.514E-01  0.585E-03  0.204E-04   41  28   8   21  25   8   15  19   9    0.000    0.000       0
+  0  21443 03:34:24.61   0.6440A   2.7931  -0.6043  -0.7020  0.058  0.00   0.000      0.  0.752E+00  0.514E-01  0.589E-03  0.233E-04   41  28  16   41  33  29   14  19   9    0.000    0.000       0
+  0  21452 03:34:30.44   0.6540A   2.7510   0.7219  -0.6857  0.059  0.00   0.000      0.  0.752E+00  0.514E-01  0.599E-03  0.243E-04   41  28  22   20  20   9   11  17   9    0.000    0.000       0
+  0  21461 03:34:36.33   0.6550A   2.7480  -0.8884  -0.8178  0.060  0.00   0.000      0.  0.752E+00  0.514E-01  0.600E-03  0.240E-04   40  28  28   20  12   9   17  18   9    0.000    0.000       0
+  0  21470 03:34:42.16   0.6420A   2.8038  -0.8883  -1.0195  0.062  0.00   0.000      0.  0.752E+00  0.512E-01  0.585E-03  0.221E-04   40  28  34   20  10   9   17  17   9    0.000    0.000       0
+  0  21480 03:34:48.59   0.6480A   2.7766  -0.9108  -1.0367  0.064  0.00   0.000      0.  0.752E+00  0.509E-01  0.589E-03  0.211E-04   40  28   1   18  10   9   16  20   9    0.000    0.000       0
+  0  21489 03:34:54.44   0.6540A   2.7523  -0.7689  -1.0286  0.065  0.00   0.000      0.  0.752E+00  0.504E-01  0.590E-03  0.193E-04   46  35  24   17  10   9   16  22   9    0.000    0.000       0
+  0  21498 03:35:00.35   0.6610A   2.7236   0.7268  -1.0229  0.066  0.00   0.000      0.  0.752E+00  0.497E-01  0.584E-03  0.181E-04   44  30  20   20  10   8   16  17   9    0.000    0.000       0
+  0  21507 03:35:06.28   0.6600A   2.7290   0.8559  -1.0021  0.066  0.00   0.000      0.  0.752E+00  0.491E-01  0.576E-03  0.190E-04   44  30  26   20  11   8   15  16   9    0.000    0.000       0
+  0  21516 03:35:12.15   0.6510A   2.7668   0.6404  -0.9150  0.065  0.00   0.000      0.  0.752E+00  0.486E-01  0.562E-03  0.195E-04   42  30  24   20  13   8   13  16   9    0.000    0.000       0
+  0  21525 03:35:18.02   0.6530A   2.7568   0.5978  -0.8624  0.064  0.00   0.000      0.  0.752E+00  0.482E-01  0.561E-03  0.220E-04   42  30  31   20  11   9   12  16   9    0.000    0.000       0
+  0  21535 03:35:24.61   0.6570A   2.7393  -0.6375  -0.7712  0.062  0.00   0.000      0.  0.752E+00  0.479E-01  0.558E-03  0.213E-04   44  29  37   21  11   8   11  16   9    0.000    0.000       0
+  0  21544 03:35:30.49   0.6510A   2.7667  -0.7158  -0.7204  0.061  0.00   0.000      0.  0.752E+00  0.477E-01  0.550E-03  0.221E-04   44  29   4   20  11   8   10  18   9    0.000    0.000       0
+  0  21553 03:35:36.37   0.6570A   2.7395   0.6735  -0.6971  0.060  0.00   0.000      0.  0.753E+00  0.476E-01  0.550E-03  0.222E-04   44  29  10   14  13   9    9  17   8    0.000    0.000       0
+  0  21562 03:35:42.29   0.6560A   2.7433   0.6747  -0.6784  0.059  0.00   0.000      0.  0.753E+00  0.475E-01  0.544E-03  0.219E-04   46  21  12   11  14   9    8  17   8    0.000    0.000       0
+  0  21571 03:35:48.13   0.6450A   2.7897   0.6402  -0.6353  0.058  0.00   0.000      0.  0.753E+00  0.474E-01  0.529E-03  0.199E-04   46  21  18   13  14   9    8  16   8    0.000    0.000       0
+  0  21581 03:35:54.58   0.6430A   2.7984   0.6523  -0.6358  0.058  0.00   0.000      0.  0.754E+00  0.473E-01  0.520E-03  0.184E-04   44  29  18    8  15   9    6  20   3    0.000    0.000       0
+  0  21590 03:36:00.35   0.6430A   2.8015   0.6235  -0.6245  0.057  0.00   0.000      0.  0.754E+00  0.472E-01  0.515E-03  0.167E-04   44  29  25    8  16   9    5  20   2    0.000    0.000       0
+  0  21599 03:36:06.13   0.6430A   2.7991   0.5372  -0.5730  0.057  0.00   0.000      0.  0.755E+00  0.470E-01  0.509E-03  0.147E-04   46  21  39    8  16   8    6  19   3    0.000    0.000       0
+  0  21609 03:36:12.56   0.6430A   2.8012  -0.5467  -0.6501  0.057  0.00   0.000      0.  0.756E+00  0.469E-01  0.508E-03  0.156E-04   46  21   6   20  10   9   17  18   9    0.000    0.000       0
+  0  21618 03:36:18.33   0.6380A   2.8231  -0.5794  -0.7051  0.058  0.00   0.000      0.  0.756E+00  0.467E-01  0.502E-03  0.156E-04   44  30  10   20  10   9   17  18   9    0.000    0.000       0
+  0  21627 03:36:24.05   0.6330A   2.8434   0.5605  -0.6941  0.058  0.00   0.000      0.  0.757E+00  0.466E-01  0.496E-03  0.142E-04   44  30  17    7  14   9   16  18   9    0.000    0.000       0
+  0  21637 03:36:30.37   0.6310A   2.8510   0.6062  -0.7018  0.057  0.00   0.000      0.  0.758E+00  0.464E-01  0.492E-03  0.134E-04   44  30  25    7  15   9   17  15   9    0.000    0.000       0
+  0  21646 03:36:36.08   0.6370A   2.8252   0.6081  -0.6642  0.057  0.00   0.000      0.  0.759E+00  0.462E-01  0.496E-03  0.142E-04   44  30  32    7  15   9   16  15   9    0.000    0.000       0
+  0  21656 03:36:42.51   0.6450A   2.7924   0.6218  -0.6249  0.056  0.00   0.000      0.  0.760E+00  0.461E-01  0.501E-03  0.150E-04   44  29  35    7  16   9   16  14   9    0.000    0.000       0
+  0  21665 03:36:48.28   0.6390A   2.8191   0.5871  -0.5526  0.056  0.00   0.000      0.  0.761E+00  0.459E-01  0.498E-03  0.156E-04   46  21   9    7  17   9   15  14   9    0.000    0.000       0
+  0  21674 03:36:54.03   0.6390A   2.8188  -0.6729  -0.5220  0.056  0.00   0.000      0.  0.761E+00  0.458E-01  0.496E-03  0.161E-04   46  28  25   20  24   9   20  26   8    0.000    0.000       0
+  0  21684 03:37:00.38   0.6300A   2.8585  -0.6809  -0.4950  0.055  0.00   0.000      0.  0.762E+00  0.456E-01  0.491E-03  0.148E-04   46  21  25   20  24   9   19  26   9    0.000    0.000       0
+  0  21693 03:37:06.01   0.6230A   2.8912   0.5860  -0.5871  0.054  0.00   0.000      0.  0.763E+00  0.453E-01  0.484E-03  0.138E-04   46  21  32   21  24   8   18  27   9    0.000    0.000       0
+  0  21703 03:37:12.23   0.6240A   2.8834   0.5546  -0.7162  0.053  0.00   0.000      0.  0.764E+00  0.450E-01  0.483E-03  0.133E-04   46  21   0   36  37   5   18  28   9    0.000    0.000       0
+  0  21713 03:37:18.55   0.6360A   2.8286   0.5668  -0.6771  0.053  0.00   0.000      0.  0.765E+00  0.447E-01  0.492E-03  0.130E-04   45  24   3    7  15   9   17  28   9    0.000    0.000       0
+  0  21722 03:37:24.27   0.6360A   2.8281  -0.6470  -0.5791  0.053  0.00   0.000      0.  0.766E+00  0.444E-01  0.493E-03  0.131E-04   46  24  10   20  12   9   17  28   9    0.000    0.000       0
+  0  21732 03:37:30.58   0.6270A   2.8696  -0.6355  -0.6271  0.053  0.00   0.000      0.  0.767E+00  0.443E-01  0.487E-03  0.129E-04   44  26  10   19  12   9   17  13   9    0.000    0.000       0
+  0  21741 03:37:36.21   0.6240A   2.8854   0.5706  -0.7170  0.053  0.00   0.000      0.  0.768E+00  0.441E-01  0.484E-03  0.121E-04   43  29   5   32   4  21   17  14   9    0.000    0.000       0
+  0  21751 03:37:42.39   0.6170A   2.9194   0.5763  -0.7527  0.052  0.00   0.000      0.  0.769E+00  0.440E-01  0.479E-03  0.122E-04   46  30   5   32   5  25   16  14   9    0.000    0.000       0
+  0  21761 03:37:48.56   0.6220A   2.8943   0.5611   0.7435  0.052  0.00   0.000      0.  0.770E+00  0.440E-01  0.483E-03  0.141E-04   44  26  33   37   0  32   20  28   9    0.000    0.000       0
+  0  21770 03:37:54.13   0.6180A   2.9113   0.5901  -0.6578  0.051  0.00   0.000      0.  0.771E+00  0.440E-01  0.483E-03  0.153E-04   44  29  21   32   3  35   15  15   9    0.000    0.000       0
+  0  21780 03:38:00.26   0.6090A   2.9533   0.7950  -0.6162  0.051  0.00   0.000      0.  0.772E+00  0.441E-01  0.481E-03  0.166E-04   44  29  28   20  30   9   14  15   9    0.000    0.000       0
+  0  21790 03:38:06.35   0.6070A   2.9677   0.8645   0.6227  0.051  0.00   0.000      0.  0.773E+00  0.442E-01  0.482E-03  0.168E-04   46  26  24   19  31   9   20  10   9    0.000    0.000       0
+  0  21800 03:38:12.39   0.6020A   2.9884   0.7412   0.6589  0.051  0.00   0.000      0.  0.774E+00  0.443E-01  0.485E-03  0.165E-04   45  26  31   18  31   9   20  10   9    0.000    0.000       0
+  0  21810 03:38:18.40   0.6010A   2.9948  -0.6670  -0.7958  0.051  0.00   0.000      0.  0.775E+00  0.442E-01  0.490E-03  0.164E-04   45  26  38   18  22   9   18  24   9    0.000    0.000       0
+  0  21820 03:38:24.42   0.6040A   2.9800  -0.6308  -0.7462  0.051  0.00   0.000      0.  0.776E+00  0.442E-01  0.496E-03  0.164E-04   44  26   6   16  21   9   17  24   9    0.000    0.000       0
+  0  21830 03:38:30.45   0.6060A   2.9702  -0.5640  -0.6897  0.050  0.00   0.000      0.  0.777E+00  0.441E-01  0.500E-03  0.158E-04   43  29  25   15  22   8   17  24   9    0.000    0.000       0
+  0  21840 03:38:36.54   0.6080A   2.9620  -0.5929   0.6306  0.050  0.00   0.000      0.  0.778E+00  0.440E-01  0.502E-03  0.155E-04   46  27  21   11  29   8   20  28   9    0.000    0.000       0
+  0  21849 03:38:42.03   0.6120A   2.9423  -0.5899   0.6981  0.049  0.00   0.000      0.  0.779E+00  0.439E-01  0.505E-03  0.155E-04   46  27  27   11  28   8   20  28   9    0.000    0.000       0
+  0  21859 03:38:48.18   0.6200A   2.9021  -0.6266   0.7476  0.049  0.00   0.000      0.  0.780E+00  0.438E-01  0.512E-03  0.154E-04   46  33  38   11  26   9   20  27   9    0.000    0.000       0
+  0  21869 03:38:54.36   0.6150A   2.9249  -0.6400   0.7883  0.048  0.00   0.000      0.  0.781E+00  0.436E-01  0.508E-03  0.153E-04   46  33  10   16  26   9   21  26   9    0.000    0.000       0
+  0  21879 03:39:00.53   0.6170A   2.9158  -0.6470   0.8234  0.048  0.00   0.000      0.  0.782E+00  0.434E-01  0.508E-03  0.161E-04   46  31  20   16  25   9   20  28   9    0.000    0.000       0
+  0  21888 03:39:06.08   0.6140A   2.9328   0.8204   0.7650  0.047  0.00   0.000      0.  0.783E+00  0.432E-01  0.503E-03  0.159E-04   42  28  31   21  29   8   20  27   9    0.000    0.000       0
+  0  21898 03:39:12.22   0.6150A   2.9245   0.7669   0.7009  0.047  0.00   0.000      0.  0.784E+00  0.431E-01  0.499E-03  0.152E-04   44  29  33   21  29   8   20  28   9    0.000    0.000       0
+  0  21908 03:39:18.36   0.6140A   2.9312   0.6826  -0.5590  0.047  0.00   0.000      0.  0.785E+00  0.431E-01  0.495E-03  0.138E-04   46  34   3   20  30   8   27  34  39    0.000    0.000       0
+  0  21918 03:39:24.44   0.6030A   2.9863  -0.6921  -0.6552  0.048  0.00   0.000      0.  0.787E+00  0.431E-01  0.484E-03  0.130E-04   46  34  11   20  18   8   18  13   9    0.000    0.000       0
+  0  21928 03:39:30.43   0.5960A   3.0178  -0.6485  -0.6889  0.049  0.00   0.000      0.  0.788E+00  0.430E-01  0.475E-03  0.125E-04   46  34  18   19  10   9   17  13   9    0.000    0.000       0
+  0  21938 03:39:36.40   0.5990A   3.0058  -0.6204  -0.7020  0.049  0.00   0.000      0.  0.789E+00  0.429E-01  0.476E-03  0.125E-04   46  34  26   18  10   9   17  13   9    0.000    0.000       0
+  0  21948 03:39:42.41   0.6010A   2.9931  -0.5835  -0.6901  0.048  0.00   0.000      0.  0.790E+00  0.427E-01  0.477E-03  0.126E-04   45  34  34   20  16   9   16  13   9    0.000    0.000       0
+  0  21958 03:39:48.38   0.5950A   3.0252   0.5538  -0.6397  0.047  0.00   0.000      0.  0.792E+00  0.425E-01  0.472E-03  0.127E-04   43  35  31   20  12   8   15  13   9    0.000    0.000       0
+  0  21968 03:39:54.33   0.5940A   3.0281  -0.5694  -0.6603  0.046  0.00   0.000      0.  0.793E+00  0.423E-01  0.471E-03  0.129E-04   43  37  34   28  26  31   17  17   9    0.000    0.000       0
+  0  21978 03:40:00.26   0.5960A   3.0178   0.5152  -0.7435  0.045  0.00   0.000      0.  0.794E+00  0.422E-01  0.472E-03  0.133E-04   46  35  13   27  24  14   17  19   9    0.000    0.000       0
+  0  21988 03:40:06.26   0.6020A   2.9911  -0.5385  -0.7522  0.045  0.00   0.000      0.  0.796E+00  0.422E-01  0.475E-03  0.130E-04   46  35  20   12  26   9   16  19   9    0.000    0.000       0
+  0  21998 03:40:12.27   0.6020A   2.9925  -0.5377  -0.7232  0.045  0.00   0.000      0.  0.797E+00  0.422E-01  0.473E-03  0.127E-04   46  35  28   10  26   9   15  19   9    0.000    0.000       0
+  0  22008 03:40:18.31   0.6020A   2.9918  -0.4980  -0.6905  0.045  0.00   0.000      0.  0.799E+00  0.423E-01  0.472E-03  0.136E-04   43  38  23    9  25   9   14  19   9    0.000    0.000       0
+  0  22018 03:40:24.31   0.6000A   2.9975   0.5590  -0.6360  0.045  0.00   0.000      0.  0.800E+00  0.424E-01  0.475E-03  0.149E-04   43  38  30   37  33  12   13  19   9    0.000    0.000       0
+  0  22028 03:40:30.37   0.6050A   2.9755  -0.5789  -0.5917  0.046  0.00   0.000      0.  0.802E+00  0.425E-01  0.483E-03  0.152E-04   46  34  17   40  39  12   12  17   9    0.000    0.000       0
+  0  22038 03:40:36.36   0.5950A   3.0267  -0.5687  -0.5673  0.046  0.00   0.000      0.  0.803E+00  0.427E-01  0.481E-03  0.158E-04   44  37   5   40  39  18   11  17   9    0.000    0.000       0
+  0  22048 03:40:42.29   0.5960A   3.0202   0.5895  -0.5528  0.047  0.00   0.000      0.  0.804E+00  0.428E-01  0.484E-03  0.159E-04   44  37  13   41  39  21   27  25  27    0.000    0.000       0
+  0  22058 03:40:48.27   0.6010A   2.9969   0.6818  -0.5919  0.048  0.00   0.000      0.  0.806E+00  0.429E-01  0.487E-03  0.146E-04   44  37  20   41  39  27   16  16   9    0.000    0.000       0
+  0  22068 03:40:54.24   0.5920A   3.0382   0.6309  -0.6972  0.049  0.00   0.000      0.  0.807E+00  0.430E-01  0.480E-03  0.124E-04   44  37  29   41  39  33   17  14   9    0.000    0.000       0
+  0  22078 03:41:00.13   0.5880A   3.0600  -0.7484  -0.6699  0.050  0.00   0.000      0.  0.808E+00  0.430E-01  0.475E-03  0.116E-04   44  37  37   23  25   1   16  14   9    0.000    0.000       0
+  0  22088 03:41:05***   0.5880A   3.0614  -0.8362  -0.6419  0.050  0.00   0.000      0.  0.809E+00  0.430E-01  0.469E-03  0.105E-04   44  37   4   23  24   4   16  14   9    0.000    0.000       0
+  0  22099 03:41:12.50   0.5920A   3.0415  -0.5445  -0.5952  0.050  0.00   0.000      0.  0.810E+00  0.430E-01  0.471E-03  0.102E-04   46  27  13   23  23   7   16  16   9    0.000    0.000       0
+  0  22109 03:41:18.44   0.5950A   3.0277  -0.5881  -0.5702  0.050  0.00   0.000      0.  0.811E+00  0.431E-01  0.476E-03  0.114E-04   46  37  19   18  10   9   10  16   7    0.000    0.000       0
+  0  22119 03:41:24.35   0.5860A   3.0717  -0.5645  -0.6224  0.050  0.00   0.000      0.  0.812E+00  0.432E-01  0.475E-03  0.127E-04   43  37  27   18  10   9   22  27   8    0.000    0.000       0
+  0  22129 03:41:30.24   0.5910A   3.0480  -0.5198  -0.5960  0.050  0.00   0.000      0.  0.813E+00  0.434E-01  0.479E-03  0.133E-04   46  31  22   39  34  13   14  15   9    0.000    0.000       0
+  0  22139 03:41:36.13   0.5870A   3.0650  -0.5447  -0.6069  0.051  0.00   0.000      0.  0.813E+00  0.437E-01  0.478E-03  0.128E-04   46  31  29   39  33  17   13  15   9    0.000    0.000       0
+  0  22150 03:41:42.49   0.5690A   3.1608   0.5736  -0.6096  0.051  0.00   0.000      0.  0.814E+00  0.440E-01  0.465E-03  0.123E-04   43  26   2   15  16   8   13  15   9    0.000    0.000       0
+  0  22160 03:41:48.19   0.5710A   3.1533   0.5998  -0.6370  0.051  0.00   0.000      0.  0.815E+00  0.443E-01  0.470E-03  0.123E-04   43  26   9   21  30  37   12  15   9    0.000    0.000       0
+  0  22171 03:41:54.54   0.5790A   3.1090   0.6120   0.6523  0.051  0.00   0.000      0.  0.816E+00  0.446E-01  0.483E-03  0.131E-04   44  29  11   21  29   0   21  28   9    0.000    0.000       0
+  0  22181 03:42:00.34   0.5810A   3.0990  -0.6456   0.7000  0.050  0.00   0.000      0.  0.817E+00  0.449E-01  0.493E-03  0.149E-04   44  29  18   33  30  30   21  27   9    0.000    0.000       0
+  0  22191 03:42:06.15   0.5820A   3.0912   0.7195   0.7057  0.050  0.00   0.000      0.  0.818E+00  0.452E-01  0.504E-03  0.164E-04   46  29  28   19  31   3   21  26   9    0.000    0.000       0
+  0  22202 03:42:12.56   0.5780A   3.1158   0.7053   0.7615  0.050  0.00   0.000      0.  0.819E+00  0.455E-01  0.503E-03  0.159E-04   45  29  38   19  31   5   20  28   9    0.000    0.000       0
+  0  22212 03:42:18.24   0.5640A   3.1897   0.8294   0.7448  0.051  0.00   0.000      0.  0.819E+00  0.457E-01  0.501E-03  0.176E-04   46  29   6   20  30   9   20  28   9    0.000    0.000       0
+  0  22223 03:42:24.38   0.5500A   3.2727   1.1700  -0.9914  0.052  0.00   0.000      0.  0.820E+00  0.458E-01  0.500E-03  0.180E-04   44  29  13   19  30   9   17  27   9    0.000    0.000       0
+  0  22234 03:42:30.50   0.5630A   3.1959   0.8972  -1.2210  0.052  0.00   0.000      0.  0.821E+00  0.458E-01  0.518E-03  0.189E-04   46  29  22   17  31   9   16  26   9    0.000    0.000       0
+  0  22244 03:42:36.18   0.5670A   3.1722  -0.9497  -1.1479  0.053  0.00   0.000      0.  0.821E+00  0.457E-01  0.521E-03  0.186E-04   44  29  29   20  11   8   14  26   9    0.000    0.000       0
+  0  22255 03:42:42.42   0.5660A   3.1798  -0.9734   1.0445  0.053  0.00   0.000      0.  0.822E+00  0.456E-01  0.519E-03  0.177E-04   44  28  39   20  10   9   16  29   8    0.000    0.000       0
+  0  22265 03:42:48.11   0.5720A   3.1462  -0.8821  -0.9006  0.053  0.00   0.000      0.  0.822E+00  0.456E-01  0.519E-03  0.168E-04   46  30   6   20  10   9   11  26   9    0.000    0.000       0
+  0  22276 03:42:54.40   0.5720A   3.1488  -0.7569  -0.8512  0.054  0.00   0.000      0.  0.823E+00  0.456E-01  0.514E-03  0.140E-04   46  29  15   19  10   9   10  26   9    0.000    0.000       0
+  0  22286 03:43:00.09   0.5660A   3.1787  -0.7118  -0.8345  0.054  0.00   0.000      0.  0.823E+00  0.456E-01  0.504E-03  0.124E-04   46  29  23   42  38  26    8  26   9    0.000    0.000       0
+  0  22297 03:43:06.27   0.5560A   3.2402  -0.6839  -0.7703  0.055  0.00   0.000      0.  0.824E+00  0.457E-01  0.496E-03  0.122E-04   46  29  32   42  37  32    6  25   9    0.000    0.000       0
+  0  22308 03:43:12.37   0.5540A   3.2480  -0.6363  -0.8091  0.055  0.00   0.000      0.  0.825E+00  0.457E-01  0.498E-03  0.138E-04   46  29   0   20  28   9   17  19   9    0.000    0.000       0
+  0  22319 03:43:18.46   0.5530A   3.2565  -0.6486  -0.7874  0.054  0.00   0.000      0.  0.825E+00  0.458E-01  0.503E-03  0.147E-04   46  29   9   19  28   9   15  18   9    0.000    0.000       0
+  0  22330 03:43:24.55   0.5520A   3.2598  -0.6333  -0.7531  0.053  0.00   0.000      0.  0.826E+00  0.459E-01  0.506E-03  0.159E-04   46  29  18   36  32  21   14  17   9    0.000    0.000       0
+  0  22340 03:43:30.05   0.5480A   3.2834  -0.6146   0.7641  0.052  0.00   0.000      0.  0.826E+00  0.460E-01  0.506E-03  0.161E-04   46  29  25   35  31  23   20  27   9    0.000    0.000       0
+  0  22351 03:43:36.09   0.5550A   3.2418  -0.6885   0.7108  0.052  0.00   0.000      0.  0.827E+00  0.462E-01  0.513E-03  0.150E-04   46  29  33   41   2  26   20  27   9    0.000    0.000       0
+  0  22362 03:43:42.27   0.5690A   3.1641  -0.6967  -0.6347  0.053  0.00   0.000      0.  0.828E+00  0.464E-01  0.529E-03  0.138E-04   46  29   2   35  30  35   11  17   9    0.000    0.000       0
+  0  22372 03:43:48.03   0.5780A   3.1162   0.6938  -0.6351  0.053  0.00   0.000      0.  0.829E+00  0.466E-01  0.538E-03  0.125E-04   45  28   8   20  31   9   39  33  31    0.000    0.000       0
+  0  22383 03:43:54.32   0.5670A   3.1721  -0.6908  -0.6662  0.055  0.00   0.000      0.  0.830E+00  0.468E-01  0.528E-03  0.111E-04   44  27  15    8  23   7   39  32  38    0.000    0.000       0
+  0  22394 03:44:00.54   0.5680A   3.1692  -0.6988  -0.6796  0.056  0.00   0.000      0.  0.830E+00  0.469E-01  0.533E-03  0.108E-04   45  26  19   42  28  17   37  34   2    0.000    0.000       0
+  0  22404 03:44:06.15   0.5600A   3.2125  -0.7226  -0.7709  0.056  0.00   0.000      0.  0.831E+00  0.469E-01  0.526E-03  0.103E-04   45  26  27   42  28  23   36  34   7    0.000    0.000       0
+  0  22415 03:44:12.36   0.5650A   3.1875  -0.6551  -0.7390  0.056  0.00   0.000      0.  0.832E+00  0.469E-01  0.531E-03  0.103E-04   46  26  37   35  26  22   35  34  14    0.000    0.000       0
+  0  22426 03:44:18.55   0.5630A   3.1979  -0.6437  -0.8192  0.055  0.00   0.000      0.  0.833E+00  0.468E-01  0.533E-03  0.112E-04   45  25   4   35  25  27   34  34  19    0.000    0.000       0
+  0  22436 03:44:24.09   0.5520A   3.2612  -0.6159  -0.7488  0.055  0.00   0.000      0.  0.834E+00  0.467E-01  0.527E-03  0.123E-04   45  25  12   34  25  30   33  34  23    0.000    0.000       0
+  0  22447 03:44:30.17   0.5570A   3.2336  -0.6185  -0.6894  0.055  0.00   0.000      0.  0.834E+00  0.467E-01  0.535E-03  0.124E-04   45  25  20   38  29  38   33  35  27    0.000    0.000       0
+  0  22458 03:44:36.33   0.5600A   3.2124  -0.6157  -0.7016  0.056  0.00   0.000      0.  0.835E+00  0.467E-01  0.537E-03  0.110E-04   45  24  27   34  29   0   17  20   9    0.000    0.000       0
+  0  22469 03:44:42.56   0.5700A   3.1585  -0.6764  -0.6791  0.057  0.00   0.000      0.  0.836E+00  0.467E-01  0.544E-03  0.105E-04   44  24  35   34  28   5   16  20   9    0.000    0.000       0
+  0  22479 03:44:48.26   0.5710A   3.1512  -0.6786  -0.6703  0.058  0.00   0.000      0.  0.837E+00  0.465E-01  0.546E-03  0.101E-04   46  23   2   34  27  10   17  18   9    0.000    0.000       0
+  0  22490 03:44:54.55   0.5720A   3.1468  -0.6520  -0.6797  0.058  0.00   0.000      0.  0.838E+00  0.464E-01  0.547E-03  0.110E-04   46  23  11    2  26   9   16  17   9    0.000    0.000       0
+  0  22500 03:45:00.25   0.5710A   3.1548  -0.6378  -0.6864  0.059  0.00   0.000      0.  0.838E+00  0.463E-01  0.547E-03  0.132E-04   46  23  19    2  25   9   15  17   9    0.000    0.000       0
+  0  22511 03:45:06.58   0.5790A   3.1077  -0.6553  -0.6777  0.059  0.00   0.000      0.  0.839E+00  0.463E-01  0.560E-03  0.161E-04   45  22  26   20  16   9   13  17   9    0.000    0.000       0
+  0  22521 03:45:12.36   0.5770A   3.1179   0.7214  -0.7537  0.059  0.00   0.000      0.  0.840E+00  0.464E-01  0.558E-03  0.163E-04   46  23  38   20  24   9   16  19   9    0.000    0.000       0
+  0  22531 03:45:18.09   0.5670A   3.1731   0.6628  -0.9136  0.060  0.00   0.000      0.  0.840E+00  0.463E-01  0.539E-03  0.140E-04   46  22   5   19  24   9   17  17   9    0.000    0.000       0
+  0  22542 03:45:24.28   0.5590A   3.2193   0.6495  -0.9482  0.060  0.00   0.000      0.  0.841E+00  0.461E-01  0.519E-03  0.129E-04   46  22  13   38  28   2   15  17   9    0.000    0.000       0
+  0  22553 03:45:30.41   0.5580A   3.2277  -0.6378  -0.8752  0.060  0.00   0.000      0.  0.841E+00  0.459E-01  0.511E-03  0.128E-04   45  22  21   19  27   9   14  17   9    0.000    0.000       0
+  0  22563 03:45:36.02   0.5650A   3.1867   0.6711  -0.7915  0.060  0.00   0.000      0.  0.842E+00  0.458E-01  0.514E-03  0.134E-04   46  22  29   19  30   9   12  18   9    0.000    0.000       0
+  0  22574 03:45:42.32   0.5820A   3.0922  -0.6910  -0.7156  0.059  0.00   0.000      0.  0.843E+00  0.457E-01  0.526E-03  0.129E-04   46  22  37   19  26   9   11  18   9    0.000    0.000       0
+  0  22584 03:45:48.09   0.5740A   3.1334  -0.6441  -0.6525  0.058  0.00   0.000      0.  0.843E+00  0.457E-01  0.515E-03  0.113E-04   45  22   9   32  24  24    9  18   9    0.000    0.000       0
+  0  22595 03:45:54.41   0.5730A   3.1389   0.6557  -0.5983  0.057  0.00   0.000      0.  0.844E+00  0.457E-01  0.512E-03  0.105E-04   45  22  19   21  21   2    8  18   9    0.000    0.000       0
+  0  22605 03:46:00.11   0.5670A   3.1760   0.6441  -0.5821  0.056  0.00   0.000      0.  0.845E+00  0.458E-01  0.508E-03  0.111E-04   45  22  27   21  21   4   35  23  27    0.000    0.000       0
+  0  22616 03:46:06.38   0.5760A   3.1277  -0.6038  -0.5575  0.055  0.00   0.000      0.  0.845E+00  0.461E-01  0.521E-03  0.141E-04   45  21  34   21  18   3   35  22  11    0.000    0.000       0
+  0  22626 03:46:12.10   0.5710A   3.1499  -0.6206  -0.5886  0.054  0.00   0.000      0.  0.846E+00  0.464E-01  0.522E-03  0.147E-04   45  21   2   21  18   6   32  23  17    0.000    0.000       0
+  0  22637 03:46:18.44   0.5790A   3.1087  -0.5920   0.6267  0.054  0.00   0.000      0.  0.846E+00  0.466E-01  0.537E-03  0.159E-04   45  21  11   20  14   8   20  12   9    0.000    0.000       0
+  0  22647 03:46:24.28   0.5870A   3.0646  -0.7460  -0.9540  0.054  0.00   0.000      0.  0.847E+00  0.468E-01  0.547E-03  0.159E-04   44  25  35   20  14   9   17  16   9    0.000    0.000       0
+  0  22657 03:46:30.15   0.5850A   3.0743  -0.6752  -0.9931  0.055  0.00   0.000      0.  0.847E+00  0.469E-01  0.544E-03  0.141E-04   43  22  31   19  13   9   16  18   9    0.000    0.000       0
+  0  22668 03:46:36.57   0.5840A   3.0796  -0.6375  -0.9215  0.056  0.00   0.000      0.  0.848E+00  0.468E-01  0.539E-03  0.137E-04   43  22  39   23  14  20   15  18   9    0.000    0.000       0
+  0  22678 03:46:42.40   0.5810A   3.0978   0.6504  -0.8354  0.056  0.00   0.000      0.  0.848E+00  0.468E-01  0.536E-03  0.140E-04   43  20  32   34  27  10   13  18   9    0.000    0.000       0
+  0  22688 03:46:48.18   0.5780A   3.1122  -0.6276  -0.8067  0.057  0.00   0.000      0.  0.848E+00  0.469E-01  0.539E-03  0.151E-04   45  18   8   24  12  25   16  21   9    0.000    0.000       0
+  0  22699 03:46:54.44   0.5600A   3.2135   0.6462  -0.7734  0.057  0.00   0.000      0.  0.849E+00  0.470E-01  0.528E-03  0.153E-04   45  18  17   35  30  28   16  21   9    0.000    0.000       0
+  0  22710 03:47:00.55   0.5560A   3.2388   0.6347  -0.7661  0.058  0.00   0.000      0.  0.849E+00  0.471E-01  0.527E-03  0.151E-04   46  18  25   34  33  33   17  22   9    0.000    0.000       0
+  0  22720 03:47:06.16   0.5610A   3.2106   0.6442  -0.7916  0.058  0.00   0.000      0.  0.850E+00  0.472E-01  0.531E-03  0.146E-04   42  19  32   35  31  39   16  22   9    0.000    0.000       0
+  0  22731 03:47:12.26   0.5520A   3.2621   0.6144  -0.7508  0.059  0.00   0.000      0.  0.850E+00  0.473E-01  0.522E-03  0.136E-04   42  19   0   34  33   3   15  23   9    0.000    0.000       0
+  0  22742 03:47:18.30   0.5530A   3.2578  -0.6020  -0.8227  0.058  0.00   0.000      0.  0.850E+00  0.472E-01  0.519E-03  0.130E-04   42  19   9   33  19  11   17  18   9    0.000    0.000       0
+  0  22753 03:47:24.49   0.5670A   3.1759   0.5939  -0.7934  0.058  0.00   0.000      0.  0.851E+00  0.470E-01  0.527E-03  0.129E-04   42  18  17   34  36  13   16  18   9    0.000    0.000       0
+  0  22763 03:47:30.20   0.5750A   3.1316  -0.6143  -0.7731  0.058  0.00   0.000      0.  0.851E+00  0.469E-01  0.535E-03  0.130E-04   43  17  26   19  28   9   15  19   9    0.000    0.000       0
+  0  22774 03:47:36.48   0.5750A   3.1283   0.6061  -0.7251  0.057  0.00   0.000      0.  0.852E+00  0.468E-01  0.539E-03  0.119E-04   43  17  33   35  37  22   15  21   9    0.000    0.000       0
+  0  22784 03:47:42.32   0.5810A   3.0963  -0.6165  -0.7060  0.056  0.00   0.000      0.  0.852E+00  0.468E-01  0.550E-03  0.113E-04   45  22  11   23  10  19   14  21   9    0.000    0.000       0
+  0  22794 03:47:48.14   0.5830A   3.0899  -0.7041  -0.6434  0.055  0.00   0.000      0.  0.853E+00  0.467E-01  0.554E-03  0.116E-04   45  22  18   23   8  22   13  21   9    0.000    0.000       0
+  0  22804 03:47:54.03   0.5930A   3.0368  -0.6238  -0.6274  0.055  0.00   0.000      0.  0.853E+00  0.468E-01  0.563E-03  0.122E-04   46  20  30   22   8  23   32  24  31    0.000    0.000       0
+  0  22815 03:48:00.58   0.5980A   3.0090  -0.6326  -0.6404  0.055  0.00   0.000      0.  0.854E+00  0.469E-01  0.570E-03  0.129E-04   44  22  36   22   7  25   29  24   4    0.000    0.000       0
+  0  22825 03:48:06.59   0.5980A   3.0087  -0.6690  -0.5938  0.055  0.00   0.000      0.  0.855E+00  0.470E-01  0.571E-03  0.135E-04   44  26   1   31  14  15   33  25  11    0.000    0.000       0
+  0  22835 03:48:12.57   0.6020A   2.9894  -0.6915  -0.6318  0.055  0.00   0.000      0.  0.856E+00  0.472E-01  0.577E-03  0.155E-04   44  26   8   28  22  16   33  25  16    0.000    0.000       0
+  0  22845 03:48:18.59   0.6010A   2.9972  -0.7355  -0.6348  0.056  0.00   0.000      0.  0.856E+00  0.474E-01  0.581E-03  0.168E-04   43  12  19   28  21  20   32  25  21    0.000    0.000       0
+  0  22855 03:48:24.58   0.5920A   3.0427  -0.7305  -0.7151  0.056  0.00   0.000      0.  0.857E+00  0.476E-01  0.570E-03  0.146E-04   43  23  29   27  21  24   17  20   9    0.000    0.000       0
+  0  22865 03:48:30.40   0.5770A   3.1192  -0.7180  -0.8172  0.057  0.00   0.000      0.  0.857E+00  0.477E-01  0.556E-03  0.137E-04   43  23  36   28  22  26   17  18   9    0.000    0.000       0
+  0  22875 03:48:36.18   0.5820A   3.0912  -0.6925  -1.0074  0.058  0.00   0.000      0.  0.858E+00  0.478E-01  0.556E-03  0.135E-04   43  23   3   28  21  30   16  17   9    0.000    0.000       0
+  0  22885 03:48:42.03   0.5880A   3.0587  -0.6798  -1.0138  0.059  0.00   0.000      0.  0.859E+00  0.478E-01  0.559E-03  0.152E-04   43  23  11   28  20  34   16  15   9    0.000    0.000       0
+  0  22896 03:48:48.56   0.5950A   3.0252  -0.7027  -1.0235  0.060  0.00   0.000      0.  0.859E+00  0.476E-01  0.560E-03  0.156E-04   42  11   9   28   2  19   15  14   9    0.000    0.000       0
+  0  22906 03:48:54.42   0.5810A   3.0980  -0.6865  -1.0733  0.061  0.00   0.000      0.  0.860E+00  0.473E-01  0.549E-03  0.155E-04   42  11  15   28   1  22   15  15   9    0.000    0.000       0
+  0  22916 03:49:00.18   0.5650A   3.1850  -0.6960  -1.0507  0.061  0.00   0.000      0.  0.860E+00  0.470E-01  0.536E-03  0.145E-04   41  11  22   19  10   9   14  15   9    0.000    0.000       0
+  0  22927 03:49:06.31   0.5570A   3.2327  -0.6620  -1.0695  0.062  0.00   0.000      0.  0.861E+00  0.465E-01  0.528E-03  0.139E-04   41  11  29   30  21  15   12  11   9    0.000    0.000       0
+  0  22937 03:49:12.11   0.6010A   2.9936  -0.6915  -1.0170  0.062  0.00   0.000      0.  0.862E+00  0.461E-01  0.565E-03  0.133E-04   46  18   4   30  21  20   10  11   9    0.000    0.000       0
+  0  22947 03:49:18.08   0.5950A   3.0261  -0.6372  -0.9389  0.062  0.00   0.000      0.  0.862E+00  0.456E-01  0.553E-03  0.117E-04   46  18  11   30  21  25   11  10   9    0.000    0.000       0
+  0  22957 03:49:24.06   0.5990A   3.0074   0.6528  -0.8571  0.061  0.00   0.000      0.  0.863E+00  0.450E-01  0.552E-03  0.121E-04   46  19  19   19  10   8    9  10   9    0.000    0.000       0
+  0  22967 03:49:30.04   0.6000A   3.0002  -0.5959  -0.7741  0.060  0.00   0.000      0.  0.864E+00  0.447E-01  0.552E-03  0.144E-04   46  19  26   31  16  15    8  15   9    0.000    0.000       0
+  0  22977 03:49:36.12   0.6130A   2.9371  -0.6007  -0.7325  0.058  0.00   0.000      0.  0.865E+00  0.445E-01  0.561E-03  0.169E-04   46  18  33   30  16  20    7  15   9    0.000    0.000       0
+  0  22987 03:49:42.11   0.5910A   3.0450  -0.5791  -0.6961  0.057  0.00   0.000      0.  0.866E+00  0.444E-01  0.541E-03  0.162E-04   43   1  23   26  10   2    5  15   8    0.000    0.000       0
+  0  22997 03:49:48.08   0.6040A   2.9789   0.6764  -0.7175  0.055  0.00   0.000      0.  0.867E+00  0.443E-01  0.551E-03  0.153E-04   43   1  30   21  20   8   28  10  28    0.000    0.000       0
+  0  23007 03:49:54.07   0.6010A   2.9935   0.6571  -0.6037  0.055  0.00   0.000      0.  0.868E+00  0.443E-01  0.547E-03  0.141E-04   43  20  16   20  20   8    5  14   9    0.000    0.000       0
+  0  23017 03:50:00.06   0.6020A   2.9922  -0.6192   0.5735  0.056  0.00   0.000      0.  0.868E+00  0.444E-01  0.545E-03  0.142E-04   45  25  32   28  11  37   28   5  39    0.000    0.000       0
+  0  23027 03:50:06.04   0.5970A   3.0173  -0.8160  -0.8794  0.056  0.00   0.000      0.  0.869E+00  0.445E-01  0.540E-03  0.137E-04   45  25   0   19   9   9   18  12   9    0.000    0.000       0
+  0  23038 03:50:12.55   0.5870A   3.0669  -0.6855  -0.9948  0.056  0.00   0.000      0.  0.870E+00  0.444E-01  0.523E-03  0.117E-04   46  26   9   18   8   9   17  11   9    0.000    0.000       0
+  0  23048 03:50:18.39   0.5830A   3.0896  -0.6869  -0.8940  0.057  0.00   0.000      0.  0.871E+00  0.443E-01  0.517E-03  0.117E-04   46  26  16   35  38   8   16  11   9    0.000    0.000       0
+  0  23058 03:50:24.23   0.5860A   3.0733  -0.6345  -0.8379  0.057  0.00   0.000      0.  0.871E+00  0.442E-01  0.520E-03  0.123E-04   46  26  24   20  17   9   18  19   9    0.000    0.000       0
+  0  23068 03:50:30.14   0.5940A   3.0285  -0.6710  -0.8849  0.056  0.00   0.000      0.  0.872E+00  0.442E-01  0.527E-03  0.132E-04   44  19   6   19  17   9   17  19   9    0.000    0.000       0
+  0  23078 03:50:36.04   0.5900A   3.0495   0.6019  -0.8561  0.055  0.00   0.000      0.  0.873E+00  0.441E-01  0.526E-03  0.136E-04   44  19  14   28  28  26   16  20   9    0.000    0.000       0
+  0  23089 03:50:42.56   0.5930A   3.0353   0.5899  -0.7747  0.055  0.00   0.000      0.  0.874E+00  0.441E-01  0.532E-03  0.137E-04   45  27   9   28  29  31   15  21   9    0.000    0.000       0
+  0  23099 03:50:48.46   0.5890A   3.0561   0.6641  -0.7180  0.054  0.00   0.000      0.  0.875E+00  0.441E-01  0.534E-03  0.142E-04   46  27  17   20  17   8   14  21   9    0.000    0.000       0
+  0  23109 03:50:54.31   0.5790A   3.1110   0.6800  -0.6617  0.054  0.00   0.000      0.  0.875E+00  0.440E-01  0.530E-03  0.142E-04   44  30  23   20  18   8   14  22   9    0.000    0.000       0
+  0  23119 03:51:00.03   0.5650A   3.1845   0.7413  -0.6193  0.053  0.00   0.000      0.  0.876E+00  0.439E-01  0.520E-03  0.140E-04   44  30  31   20  19   8   14  23   9    0.000    0.000       0
+  0  23130 03:51:06.18   0.5570A   3.2317   0.6671  -0.5741  0.052  0.00   0.000      0.  0.877E+00  0.438E-01  0.514E-03  0.141E-04   44  30  39   20  21   8   13  23   9    0.000    0.000       0
+  0  23141 03:51:12.27   0.5540A   3.2468  -0.6302  -0.5046  0.051  0.00   0.000      0.  0.878E+00  0.436E-01  0.513E-03  0.139E-04   44  30   7   37  26  32   12  23   9    0.000    0.000       0
+  0  23152 03:51:18.39   0.5620A   3.2019  -0.6497  -0.4952  0.050  0.00   0.000      0.  0.879E+00  0.433E-01  0.521E-03  0.143E-04   44  30  15   39  26  19   11  21   8    0.000    0.000       0
+  0  23163 03:51:24.51   0.5530A   3.2562  -0.6833  -0.5297  0.050  0.00   0.000      0.  0.880E+00  0.431E-01  0.512E-03  0.131E-04   43  28  22   39  26  24   37  18  15    0.000    0.000       0
+  0  23173 03:51:30.02   0.5540A   3.2489  -0.6184   0.5460  0.050  0.00   0.000      0.  0.881E+00  0.429E-01  0.511E-03  0.128E-04   43  28  30   38  24  27   20  29   9    0.000    0.000       0
+  0  23184 03:51:36.07   0.5510A   3.2688  -0.6584  -0.5652  0.050  0.00   0.000      0.  0.882E+00  0.427E-01  0.506E-03  0.129E-04   43  28  38   38   3  33   36  18  26    0.000    0.000       0
+  0  23195 03:51:42.11   0.5490A   3.2758  -0.7242  -0.7890  0.050  0.00   0.000      0.  0.883E+00  0.424E-01  0.501E-03  0.124E-04   43  28   5   39  27  37   18  15   9    0.000    0.000       0
+  0  23206 03:51:48.22   0.5580A   3.2245  -0.6680  -0.7613  0.050  0.00   0.000      0.  0.884E+00  0.421E-01  0.506E-03  0.114E-04   43  28  13   39  26   3   18  14   9    0.000    0.000       0
+  0  23217 03:51:54.38   0.5610A   3.2085  -0.6911  -0.6734  0.051  0.00   0.000      0.  0.885E+00  0.418E-01  0.510E-03  0.115E-04   43  28  20   39  26  10   17  13   9    0.000    0.000       0
+  0  23227 03:52:00.02   0.5640A   3.1899  -0.6931  -0.5645  0.051  0.00   0.000      0.  0.887E+00  0.416E-01  0.517E-03  0.120E-04   43  28  27   38  26  14   16  13   9    0.000    0.000       0
+  0  23238 03:52:06.27   0.5690A   3.1628  -0.6774   0.5608  0.052  0.00   0.000      0.  0.888E+00  0.414E-01  0.525E-03  0.129E-04   43  28  35   25  10   1   37   1  10    0.000    0.000       0
+  0  23249 03:52:12.57   0.5720A   3.1448   0.6893  -0.6120  0.053  0.00   0.000      0.  0.889E+00  0.413E-01  0.528E-03  0.133E-04   43  31  14   37   2  18   17  22   9    0.000    0.000       0
+  0  23259 03:52:18.22   0.5620A   3.2010  -0.6476  -0.7382  0.053  0.00   0.000      0.  0.890E+00  0.411E-01  0.519E-03  0.128E-04   43  31  21   25   9   9   17  23   9    0.000    0.000       0
+  0  23270 03:52:24.52   0.5800A   3.1044   0.6830  -0.7956  0.053  0.00   0.000      0.  0.891E+00  0.410E-01  0.534E-03  0.132E-04   45  25  13   19  30   9   16  23   9    0.000    0.000       0
+  0  23280 03:52:30.28   0.5750A   3.1319   0.6868  -0.8373  0.052  0.00   0.000      0.  0.892E+00  0.409E-01  0.532E-03  0.123E-04   46  25  21   21  18   8   17  24   9    0.000    0.000       0
+  0  23290 03:52:36.00   0.5730A   3.1399   0.7024  -0.8679  0.052  0.00   0.000      0.  0.893E+00  0.409E-01  0.529E-03  0.118E-04   46  25  28   21  19   8   16  24   9    0.000    0.000       0
+  0  23301 03:52:42.34   0.5760A   3.1274   0.7258  -0.8091  0.052  0.00   0.000      0.  0.894E+00  0.409E-01  0.533E-03  0.125E-04   43  29  17   20  19   8   15  24   9    0.000    0.000       0
+  0  23311 03:52:48.15   0.5840A   3.0797  -0.6143  -0.7391  0.053  0.00   0.000      0.  0.895E+00  0.410E-01  0.544E-03  0.139E-04   44  22   2   23   8  14   14  23   9    0.000    0.000       0
+  0  23322 03:52:54.53   0.5780A   3.1147  -0.6455  -0.6836  0.053  0.00   0.000      0.  0.895E+00  0.411E-01  0.542E-03  0.152E-04   46  21   9   26   6  35   12  23   9    0.000    0.000       0
+  0  23332 03:53:00.33   0.5810A   3.0959  -0.6197  -0.6397  0.053  0.00   0.000      0.  0.896E+00  0.414E-01  0.548E-03  0.174E-04   46  21  17   26   5  38   11  22   9    0.000    0.000       0
+  0  23342 03:53:06.07   0.5680A   3.1667  -0.6327  -0.6402  0.054  0.00   0.000      0.  0.896E+00  0.417E-01  0.538E-03  0.161E-04   44  20  25   34  24   4   11  22   9    0.000    0.000       0
+  0  23353 03:53:12.28   0.5700A   3.1596   0.6933  -0.6211  0.054  0.00   0.000      0.  0.897E+00  0.422E-01  0.541E-03  0.155E-04   44  20  32   20  28   8   10  22   9    0.000    0.000       0
+  0  23364 03:53:18.57   0.5690A   3.1630   0.8407   0.6805  0.054  0.00   0.000      0.  0.897E+00  0.427E-01  0.543E-03  0.148E-04   44  21   1   20  29   8   20  14   9    0.000    0.000       0
+  0  23374 03:53:24.28   0.5720A   3.1460   0.7104  -0.7144  0.054  0.00   0.000      0.  0.898E+00  0.431E-01  0.553E-03  0.168E-04   44  21   8   20  30   9   20  16   4    0.000    0.000       0
+  0  23384 03:53:30.05   0.5770A   3.1206  -0.7512  -1.0391  0.055  0.00   0.000      0.  0.898E+00  0.435E-01  0.563E-03  0.173E-04   42   9   1   21  12   8   17  19   9    0.000    0.000       0
+  0  23395 03:53:36.39   0.5750A   3.1325  -0.8941  -1.2827  0.057  0.00   0.000      0.  0.898E+00  0.437E-01  0.564E-03  0.144E-04   46  29   0   19  15   9   16  18   9    0.000    0.000       0
+  0  23405 03:53:42.07   0.5640A   3.1934  -0.8861  -1.2482  0.058  0.00   0.000      0.  0.898E+00  0.437E-01  0.561E-03  0.152E-04   46  29   7   19  14   9   14  18   9    0.000    0.000       0
+  0  23416 03:53:48.24   0.5600A   3.2159  -0.7892  -1.1498  0.058  0.00   0.000      0.  0.898E+00  0.434E-01  0.556E-03  0.140E-04   45  29  14   17  14   9   16  21   9    0.000    0.000       0
+  0  23427 03:53:54.42   0.5640A   3.1934  -0.7606  -1.0391  0.058  0.00   0.000      0.  0.898E+00  0.430E-01  0.552E-03  0.131E-04   46  29  22   23  11   2   15  21   9    0.000    0.000       0
+  0  23437 03:54:00.11   0.5710A   3.1503  -0.8950  -0.9239  0.058  0.00   0.000      0.  0.899E+00  0.427E-01  0.551E-03  0.129E-04   46  13  11   23  10   4   13  21   9    0.000    0.000       0
+  0  23448 03:54:06.36   0.5680A   3.1668  -0.7487  -0.8053  0.058  0.00   0.000      0.  0.899E+00  0.424E-01  0.542E-03  0.131E-04   46  28  38   23   9   7   13  23   9    0.000    0.000       0
+  0  23458 03:54:12.00   0.5660A   3.1796  -0.6946  -0.7597  0.057  0.00   0.000      0.  0.900E+00  0.422E-01  0.533E-03  0.133E-04   46  28   6   22   9   8   12  17   8    0.000    0.000       0
+  0  23469 03:54:18.27   0.5750A   3.1279  -0.6794  -0.7708  0.057  0.00   0.000      0.  0.900E+00  0.420E-01  0.540E-03  0.137E-04   45  12   5   22   8  10    9  23   8    0.000    0.000       0
+  0  23480 03:54:24.53   0.5670A   3.1767  -0.6748  -0.7595  0.056  0.00   0.000      0.  0.901E+00  0.417E-01  0.535E-03  0.138E-04   46  12  14   23   8  21    8  23   8    0.000    0.000       0
+  0  23490 03:54:30.14   0.5570A   3.2320  -0.6806  -0.7004  0.055  0.00   0.000      0.  0.901E+00  0.415E-01  0.530E-03  0.144E-04   45  11  19   23   7  23    7  23   8    0.000    0.000       0
+  0  23501 03:54:36.21   0.5500A   3.2747  -0.6645   0.6587  0.055  0.00   0.000      0.  0.902E+00  0.414E-01  0.527E-03  0.151E-04   45  11  27   21   9  20   20  10   9    0.000    0.000       0
+  0  23512 03:54:42.29   0.5530A   3.2557   0.7944   0.7018  0.055  0.00   0.000      0.  0.902E+00  0.413E-01  0.528E-03  0.155E-04   44  11  34   20  30   9   20  11   9    0.000    0.000       0
+  0  23523 03:54:48.28   0.5430A   3.3150   0.7309  -0.6773  0.055  0.00   0.000      0.  0.903E+00  0.412E-01  0.510E-03  0.123E-04   44  11   2   20  22   8   18  22   9    0.000    0.000       0
+  0  23534 03:54:54.29   0.5530A   3.2543  -0.6276  -0.6912  0.056  0.00   0.000      0.  0.903E+00  0.412E-01  0.508E-03  0.103E-04   43  10  10   41  23  28   17  23   9    0.000    0.000       0
+  0  23545 03:55:00.40   0.5550A   3.2449   0.6358  -0.6422  0.056  0.00   0.000      0.  0.904E+00  0.411E-01  0.502E-03  0.112E-04   46  28  32   24  21   9   16  23   9    0.000    0.000       0
+  0  23556 03:55:06.45   0.5470A   3.2915  -0.6487  -0.5910  0.055  0.00   0.000      0.  0.904E+00  0.411E-01  0.489E-03  0.114E-04   44  10  30   40  24   1   16  23   9    0.000    0.000       0
+  0  23567 03:55:12.37   0.5350A   3.3655   0.6603  -0.5953  0.055  0.00   0.000      0.  0.904E+00  0.412E-01  0.475E-03  0.112E-04   43  10  38   22  20  12   17  20   9    0.000    0.000       0
+  0  23578 03:55:18.13   0.5160A   3.4893   0.6632  -0.6985  0.055  0.00   0.000      0.  0.905E+00  0.413E-01  0.461E-03  0.116E-04   43  10   6   20  20   9   18  17   9    0.000    0.000       0
+  0  23590 03:55:24.29   0.5140A   3.5040  -0.6855  -0.7999  0.055  0.00   0.000      0.  0.905E+00  0.414E-01  0.461E-03  0.119E-04   43  10  15   20  21   6   17  18   9    0.000    0.000       0
+  0  23601 03:55:30.07   0.5370A   3.3492  -0.8041  -0.8075  0.055  0.00   0.000      0.  0.905E+00  0.415E-01  0.478E-03  0.113E-04   43  10  23   20  20   8   16  18   9    0.000    0.000       0
+  0  23612 03:55:36.11   0.5480A   3.2820  -1.2137  -0.9028  0.055  0.00   0.000      0.  0.906E+00  0.415E-01  0.486E-03  0.113E-04   43  23  36   20  18   8   17  15   9    0.000    0.000       0
+  0  23623 03:55:42.16   0.5510A   3.2692  -0.9579  -0.9917  0.054  0.00   0.000      0.  0.906E+00  0.413E-01  0.489E-03  0.117E-04   43  23   4   20  15   8   17  14   9    0.000    0.000       0
+  0  23634 03:55:48.22   0.5490A   3.2776   0.6429  -0.8731  0.054  0.00   0.000      0.  0.906E+00  0.411E-01  0.485E-03  0.121E-04   44  22  16   23  23  38   16  14   9    0.000    0.000       0
+  0  23645 03:55:54.19   0.5390A   3.3400   0.6939  -0.7914  0.053  0.00   0.000      0.  0.907E+00  0.410E-01  0.474E-03  0.124E-04   43  22  22   20  12   8   14  14   9    0.000    0.000       0
+  0  23656 03:56:00.14   0.5420A   3.3198  -0.6535  -0.7290  0.052  0.00   0.000      0.  0.907E+00  0.409E-01  0.478E-03  0.118E-04   43  22  30   35  38  28   26  15  30    0.000    0.000       0
+  0  23667 03:56:06.24   0.5570A   3.2296  -0.6637   0.6558  0.052  0.00   0.000      0.  0.908E+00  0.407E-01  0.497E-03  0.120E-04   43  21  37   27  10  38   20  11   9    0.000    0.000       0
+  0  23678 03:56:12.33   0.5450A   3.3012  -0.6504  -0.6744  0.051  0.00   0.000      0.  0.909E+00  0.406E-01  0.493E-03  0.129E-04   44   8  31   24  10  39   32   4  24    0.000    0.000       0
+  0  23689 03:56:18.32   0.5490A   3.2776  -0.6927  -0.6020  0.051  0.00   0.000      0.  0.910E+00  0.405E-01  0.498E-03  0.128E-04   44   8  39   24   9   2   31   4  29    0.000    0.000       0
+  0  23700 03:56:24.36   0.5440A   3.3100  -0.6098  -0.5643  0.051  0.00   0.000      0.  0.910E+00  0.403E-01  0.496E-03  0.123E-04   43   8   7   24   9   5    9  13   9    0.000    0.000       0
+  0  23711 03:56:30.32   0.5380A   3.3444   0.7477  -0.6220  0.051  0.00   0.000      0.  0.911E+00  0.401E-01  0.491E-03  0.123E-04   44   7  16   20  25   9   22  10   2    0.000    0.000       0
+  0  23722 03:56:36.28   0.5480A   3.2864   0.7890  -0.5528  0.052  0.00   0.000      0.  0.912E+00  0.398E-01  0.498E-03  0.121E-04   44   7  24   22  19  17    8  14   8    0.000    0.000       0
+  0  23733 03:56:42.33   0.5420A   3.3220   0.7739  -0.6333  0.053  0.00   0.000      0.  0.913E+00  0.396E-01  0.490E-03  0.121E-04   43   7  30   22  20  20   31   5   9    0.000    0.000       0
+  0  23744 03:56:48.28   0.5420A   3.3194   0.7754  -0.8061  0.053  0.00   0.000      0.  0.914E+00  0.394E-01  0.492E-03  0.130E-04   43   7  38   22  21  24   17  20   9    0.000    0.000       0
+  0  23755 03:56:54.32   0.5500A   3.2727   0.7384  -0.8459  0.053  0.00   0.000      0.  0.915E+00  0.393E-01  0.499E-03  0.136E-04   43   7   6   22  22  28   16  20   9    0.000    0.000       0
+  0  23766 03:57:00.40   0.5540A   3.2489   0.6801  -0.8525  0.053  0.00   0.000      0.  0.916E+00  0.391E-01  0.500E-03  0.131E-04   46   7  12   22  23  32   15  18   9    0.000    0.000       0
+  0  23777 03:57:06.52   0.5590A   3.2229   0.7273  -0.8076  0.052  0.00   0.000      0.  0.917E+00  0.390E-01  0.503E-03  0.127E-04   46   7  20   22  25  36   14  17   9    0.000    0.000       0
+  0  23787 03:57:12.15   0.5640A   3.1903   0.6851  -0.7296  0.052  0.00   0.000      0.  0.918E+00  0.388E-01  0.506E-03  0.121E-04   45   6  37   22  27  39   13  16   9    0.000    0.000       0
+  0  23798 03:57:18.27   0.5520A   3.2632   0.7052  -0.7224  0.052  0.00   0.000      0.  0.919E+00  0.387E-01  0.495E-03  0.118E-04   46  24  18   22  28   2   16  17   9    0.000    0.000       0
+  0  23809 03:57:24.31   0.5510A   3.2673  -0.6534  -0.6758  0.052  0.00   0.000      0.  0.920E+00  0.385E-01  0.495E-03  0.119E-04   45  24  25   43  11   1   15  16   9    0.000    0.000       0
+  0  23820 03:57:30.32   0.5470A   3.2885   0.6166  -0.6630  0.052  0.00   0.000      0.  0.921E+00  0.384E-01  0.491E-03  0.120E-04   46  24  34   29  18  27   13  16   9    0.000    0.000       0
+  0  23831 03:57:36.30   0.5440A   3.3089  -0.6364  -0.6448  0.052  0.00   0.000      0.  0.922E+00  0.383E-01  0.489E-03  0.119E-04   46  24   2   32  10  15   29   3  18    0.000    0.000       0
+  0  23842 03:57:42.30   0.5510A   3.2644   0.6675  -0.6364  0.052  0.00   0.000      0.  0.923E+00  0.382E-01  0.495E-03  0.129E-04   46  24  10   19  30   9   29   3  23    0.000    0.000       0
+  0  23853 03:57:48.43   0.5680A   3.1688   0.6128  -0.6457  0.052  0.00   0.000      0.  0.924E+00  0.380E-01  0.512E-03  0.121E-04   46  24  18   19  30   9   17  28   9    0.000    0.000       0
+  0  23863 03:57:54.11   0.5670A   3.1754  -0.5969  -0.5830  0.051  0.00   0.000      0.  0.925E+00  0.379E-01  0.516E-03  0.121E-04   46  22  22   37  19   9   17  28   9    0.000    0.000       0
+  0  23874 03:58:00.39   0.5720A   3.1456   0.6582  -0.6017  0.051  0.00   0.000      0.  0.926E+00  0.378E-01  0.527E-03  0.119E-04   46  26  34   20  25   9   18  23   9    0.000    0.000       0
+  0  23884 03:58:06.13   0.5730A   3.1393  -0.6068   0.6198  0.051  0.00   0.000      0.  0.927E+00  0.377E-01  0.530E-03  0.115E-04   46  23  38   20  13   9   21  11   9    0.000    0.000       0
+  0  23895 03:58:12.41   0.5600A   3.2131  -0.6146  -0.6556  0.051  0.00   0.000      0.  0.928E+00  0.376E-01  0.521E-03  0.122E-04   42  28   9   40  27  36   18  17   9    0.000    0.000       0
+  0  23906 03:58:18.50   0.5580A   3.2246  -0.6214  -0.8127  0.050  0.00   0.000      0.  0.929E+00  0.376E-01  0.517E-03  0.120E-04   42  28  18   40  26   2   17  18   9    0.000    0.000       0
+  0  23916 03:58:24.20   0.5770A   3.1216  -0.6203  -0.8573  0.050  0.00   0.000      0.  0.930E+00  0.376E-01  0.536E-03  0.139E-04   41  28  24   40  25   8   16  18   9    0.000    0.000       0
+  0  23927 03:58:30.52   0.5770A   3.1181   0.6071  -0.8182  0.050  0.00   0.000      0.  0.931E+00  0.377E-01  0.539E-03  0.149E-04   46   2  12   28  21   1   15  18   9    0.000    0.000       0
+  0  23937 03:58:36.28   0.5720A   3.1476   0.6172  -0.7322  0.050  0.00   0.000      0.  0.932E+00  0.378E-01  0.535E-03  0.156E-04   44  13  26   28  21   5   14  18   9    0.000    0.000       0
+  0  23948 03:58:42.48   0.5600A   3.2158   0.6444  -0.6721  0.051  0.00   0.000      0.  0.933E+00  0.380E-01  0.522E-03  0.144E-04   44  13  34   22  31   7   14  19   9    0.000    0.000       0
+  0  23958 03:58:48.04   0.5540A   3.2484  -0.6630  -0.6424  0.051  0.00   0.000      0.  0.934E+00  0.381E-01  0.517E-03  0.134E-04   44  13   2   36  23  12   12  19   9    0.000    0.000       0
+  0  23969 03:58:54.14   0.5530A   3.2536  -0.6823   0.6208  0.050  0.00   0.000      0.  0.935E+00  0.381E-01  0.521E-03  0.129E-04   44  13  10   44  37   9   20  12   9    0.000    0.000       0
+  0  23980 03:59:00.23   0.5560A   3.2388  -0.6905   0.6106  0.050  0.00   0.000      0.  0.936E+00  0.382E-01  0.530E-03  0.136E-04   44  13  18   44  36  16   21  12   9    0.000    0.000       0
+  0  23991 03:59:06.35   0.5590A   3.2227  -0.6799   0.6098  0.049  0.00   0.000      0.  0.937E+00  0.383E-01  0.538E-03  0.148E-04   44  13  27   44  36  21   21  12   9    0.000    0.000       0
+  0  24002 03:59:12.52   0.5590A   3.2204  -0.7373  -0.6264  0.048  0.00   0.000      0.  0.938E+00  0.386E-01  0.544E-03  0.139E-04   44  13  36   22  13   7   16  21   9    0.000    0.000       0
+  0  24012 03:59:18.10   0.5590A   3.2196  -0.7027  -0.6418  0.048  0.00   0.000      0.  0.939E+00  0.388E-01  0.544E-03  0.136E-04   44  13   3   45  34   0   15  21   9    0.000    0.000       0
+  0  24023 03:59:24.27   0.5670A   3.1757  -0.7767  -0.6428  0.048  0.00   0.000      0.  0.940E+00  0.390E-01  0.554E-03  0.142E-04   44  13  12   20  24   8   15  20   9    0.000    0.000       0
+  0  24034 03:59:30.48   0.5640A   3.1910  -0.8309  -0.6872  0.049  0.00   0.000      0.  0.941E+00  0.392E-01  0.559E-03  0.145E-04   45  12  18   20  22   8   18  17   9    0.000    0.000       0
+  0  24044 03:59:36.14   0.5660A   3.1793  -0.8433  -0.8805  0.051  0.00   0.000      0.  0.942E+00  0.393E-01  0.565E-03  0.144E-04   45  12  25   20  20   8   17  16   9    0.000    0.000       0
+  0  24055 03:59:42.38   0.5710A   3.1507  -0.9305  -0.9345  0.053  0.00   0.000      0.  0.943E+00  0.394E-01  0.571E-03  0.141E-04   45  11  33   19  12   9   16  14   9    0.000    0.000       0
+  0  24065 03:59:48.07   0.5670A   3.1719  -0.7995  -0.8496  0.055  0.00   0.000      0.  0.944E+00  0.394E-01  0.562E-03  0.134E-04   44  10   1   18  12   9   15  13   9    0.000    0.000       0
+  0  24076 03:59:54.29   0.5630A   3.1957  -0.6767  -0.9166  0.056  0.00   0.000      0.  0.944E+00  0.392E-01  0.555E-03  0.118E-04   43  10   8   17  12   9   18  21   9    0.000    0.000       0
+  0  24087 04:00:00.45   0.5620A   3.2033   0.6834  -0.8566  0.056  0.00   0.000      0.  0.945E+00  0.391E-01  0.548E-03  0.120E-04   43  10  16   24  26  34   17  23   9    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_p3d	(revision 393)
@@ -0,0 +1,51 @@
+ &inipar nx = 79, ny = 79, nz = 80,
+         dx = 25.0, dy = 25.0, dz = 25.0,
+         dz_stretch_level = 1200.0,
+
+         fft_method = 'temperton-algorithm',
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 0.0, vg_surface = 0.0,
+         pt_surface = 288.0,
+         pt_vertical_gradient       = 0.0, 1.0,
+         pt_vertical_gradient_level = 0.0, 800.0,
+
+         humidity = .TRUE., cloud_physics = .TRUE.,
+         q_surface = 0.008,
+         surface_waterflux = 3.20E-4,
+         q_vertical_gradient        = -0.00029, -0.002, 0.0,
+         q_vertical_gradient_level  =      0.0,  700.0, 800.0,
+
+	 surface_heatflux = 0.1, bc_pt_b = 'neumann', bc_e_b = 'neumann',
+                                 bc_q_b = 'neumann', /
+
+
+ &d3par  end_time = 3600.0, dt = 1.0,
+
+         create_disturbances = .T.,
+         dt_disturb = 150.0, disturbance_energy_limit = 0.01,
+
+         dt_run_control = 60.0,
+
+         data_output = 'ql',
+
+         nz_do3d = 50, /
+
+ &particles_par      dt_prel = 200.0, particle_maximum_age = 3600.0,
+                     psb = 50.0,
+                     pdx = 200.0, pdy = 200.0,
+                     random_start_position = .T.,
+                     use_particle_tails = .T., skip_particles_for_tail = 1,
+                     maximum_number_of_tailpoints = 60,
+                     minimum_tailpoint_distance = 25.0,
+                     maximum_tailpoint_age = 300.0,
+                     write_particle_statistics = .F., /
+
+ &dvrp_graphics_par  dvrp_username = '<replace by your IMUK username>',
+                     dvrp_host = '130.75.105.2',
+                     dvrp_directory = '<rep by IMUK usern>/<replace by subdirectory name of your choice>',
+                     mode_dvrp = 'particles', 'isosurface1',
+                     threshold = 0.0002,
+                     particle_color = 'pt*', color_interval = -0.5, +0.5,
+                     particle_dvrpsize = 'absw', dvrpsize_interval = 0.0, 5.0,
+                     dt_dvrp = 1.0, /
Index: palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/dvr/example_dvr_rc	(revision 393)
@@ -0,0 +1,306 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 335:336  *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              10-06-09         Run:       example_dvr         
+ Time:              15:02:18         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:           16         Processor grid (x,y): (  4,  4) calculated
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> Additional prognostic equation for the total water content
+ --> Parameterization of condensation processes via (0%-or100%)
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:       dt =  1.000 s
+
+ Start time:           0.000 s
+ End time:          3600.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =     25.000 m    dy =     25.000 m    dz =     25.000 m
+ Domain size:       x =   2000.000 m     y =   2000.000 m  z(u) =   4836.266 m
+
+ dz constant up to   1200.000 m (k=  49), then stretched by factor: 1.080
+ maximum dz not to be exceeded is dz_max = ********** m
+
+ Number of gridpoints (x,y,z):  (0:  79, 0:  79, 0:  81)
+ Subdomain size (x,y,z):        (    20,     20,     82)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: flat                                    
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = ug(nzt+1), vg(nzt+1)  | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+                     q
+
+ B. bound.: q(0)     = q(1)                                                                      
+ T. bound.: q(nzt)   = q(nzt-1) + dq/dz                                                          
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.100000 K m/s
+       Predefined constant humidity flux:  0.320E-03 m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =  12.50 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+
+
+ Data output:
+ -----------
+
+
+    3D-Arrays:
+       Output format: netcdf (64 bit offset)                  
+
+
+       Arrays:  ql,                                                                  
+       Output every             ******** s  
+       Upper output limit at     1239.50 m  (GP   50)
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                60.00 s
+
+    Plot-Sequence with dvrp-software:
+       Output every          1.0 s
+       Output mode:      rtsp
+       Host / User:      130.75.105.2 / niksiraa
+       Directory:        raasch/example_dvr
+
+       The sequence contains:
+
+       Particles
+          particle size:     5.00 m
+          particle size controlled by "absw" with interval [  0.00,  5.00]
+          particle color controlled by "pt*" with interval [ -0.50,  0.50]
+
+       Isosurface of "ql"    Threshold value:    0.200E-03
+          Isosurface color: (0.90,0.90,0.90) (R,G,B)
+
+       Groundplate color: (0.00,0.60,0.00) (R,G,B)
+       Superelevation along (x,y,z): ( 1.0, 1.0, 1.0)
+       Clipping limits: from x =       0.0 m to x =    2000.0 m
+                        from y =       0.0 m to y =    2000.0 m
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.729E-04 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000119 1/s
+                            f*    =  0.000084 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Cloud physics parameters:
+    ------------------------
+
+        Surface pressure   :   p_0   = 1013.25 hPa
+        Gas constant       :   R     = 287.0 J/(kg K)
+        Density of air     :   rho_0 = 1.221 kg/m**3
+        Specific heat cap. :   c_p   = 1005.0 J/(kg K)
+        Vapourization heat :   L_v   = 0.25E+07 J/kg
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0   800.0  m
+       Temperature:   288.00  288.00  288.00  K
+       Gradient:      ------    0.00    1.00  K/100m
+       Gridpoint:          0       0      32
+
+    Characteristic levels of the initial humidity profile:
+
+       Height:           0.0       0.0     700.0     800.0  m
+       Humidity:     0.8E-02   0.8E-02   0.6E-02   0.4E-02  kg/kg
+       Gradient:    --------  -0.3E-03  -0.2E-02   0.0E+00  (kg/kg)/100m
+       Gridpoint:          0         0        28        32
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   150.00 s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :    62.50 m (GP    3)
+    Upper disturbance level         :   637.50 m (GP   26)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+    Particles:
+    ---------
+
+       Particle advection is active (switched on at t =     0.0 s)
+       Start of new particle generations every   200.0 s
+       Boundary conditions: left/right: cyclic          north/south: cyclic         
+                            bottom:     reflect         top:         absorb         
+       Maximum particle age:                    3600.0 s
+       Advection stopped at t = 9999999.9 s
+       Particles are sorted every       0.0 s
+
+       Particles have random start positions
+
+       Number of particles in total domain:        100
+
+       Particles have tails with a maximum of  60 points
+            Number of tails of the total domain:        100
+            Minimum distance between tailpoints:   625.00 m
+            Maximum age of the end of the tail:    300.00 s
+       Number of particle groups:  1
+
+       Particle group  1:
+          Particle radius:  0.000E+00m
+          Particles are advected only passively (no inertia)
+
+          Boundaries of particle source: x:   -12.5 -   1987.5 m
+                                         y:   -12.5 -   1987.5 m
+                                         z:    50.0 -     50.0 m
+          Particle distances:  dx =    200.0 m  dy =    200.0 m  dz =     25.0 m
+
+
+
+ *** no user-defined variables found
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   1.0000   -0.2226D -0.2489D -0.1344  0.000  1.40   0.000    800.  0.118E-02  0.118E-02  0.000E+00  0.000E+00   24  79  15   20  25   4   10   9  60    0.000    0.000       0
+  0     60 00:01:00.00   1.0000   -0.2240  -0.2576  -0.1355  0.001  1.40  ******    800.  0.118E-02  0.118E-02  0.476E-06  0.636E-16   18  16  41   20  25   4   10   9  60    0.000    0.000       0
+  0    120 00:02:00.00   1.0000   -0.2301  -0.2519  -0.1378  0.001  0.88  ******    200.  0.118E-02  0.118E-02  0.509E-06  0.674E-16   18  16  41   20  25   4   10   9  60    0.000    0.000       0
+  0    150 00:02:30.00   1.0000    0.2290D -0.2436D -0.1392  0.002  0.88  ******    200.  0.235E-02  0.235E-02  0.110E-02  0.157E-12   22  31  58   20  25   4   10   9  60    0.000    0.000       0
+  0    180 00:03:00.00   1.0000    0.3529   0.3402  -0.2079  0.003  1.40  ******    800.  0.234E-02  0.234E-02  0.102E-05  0.136E-15    4  29  32   19  65   6   18  30   8    0.000    0.000       0
+  0    240 00:04:00.00   1.0000    0.3605  -0.3528  -0.2453  0.005  1.40  ******    800.  0.234E-02  0.234E-02  0.116E-05  0.155E-15    4  29  32   12  29  66    2  10  55    0.000    0.000       0
+  0    300 00:05:00.00   1.0000    0.3474D  0.3584D -0.4551  0.010  0.98  ******    275.  0.375E-02  0.374E-02  0.110E-02  0.157E-12    7  24  65   18  33  10    1  10  55    0.000    0.000       0
+  0    360 00:06:00.00   1.0000    0.5757   0.5284  -0.9722  0.023  1.01  -6.484    300.  0.505E-02  0.504E-02  0.297E-05  0.399E-15    1   6  59    1  63  53    1  56  65    0.000    0.000       0
+  0    420 00:07:00.00   1.0000    1.1397   1.1387   1.8972  0.049  1.40  -3.307    800.  0.118E-01  0.118E-01  0.585E-05  0.791E-15    1   6  59    1  63  52    4  37  74    0.000    0.000       0
+  0    480 00:08:00.00   1.0000    1.5571   1.5384   3.3871  0.082  1.21  -1.815    525.  0.341E-01  0.341E-01  0.126E-04  0.170E-14    1  54  48    1  64  53    7  37  74    0.000    0.000       0
+  0    540 00:09:00.00   1.0000    1.7087   1.6536   5.0314  0.095  1.21  -1.727    525.  0.733E-01  0.733E-01  0.217E-04  0.294E-14    1  44  14    1  58   2   13  37  74    0.000    0.000       0
+  0    600 00:10:00.00   1.0000   -1.9168   1.7834   6.0199  0.099  1.40  -1.484    800.  0.112E+00  0.112E+00  0.290E-04  0.396E-14   11  72  19    6  45  35   12  15   8    0.000    0.000       0
+  0    660 00:11:00.00   1.0000    2.3949  -2.3374   6.6013  0.107  1.40  -1.420    800.  0.142E+00  0.142E+00  0.326E-04  0.446E-14   19  73  74   12   0  35   21  72  74    0.000    0.000       0
+  0    720 00:12:00.00   1.0000   -2.2572  -2.0812   5.3353  0.119  1.40  -1.214    800.  0.172E+00  0.172E+00  0.358E-04  0.491E-14    1  73  33   15  15  77   25  79  34    0.000    0.000       0
+  0    780 00:13:00.00   1.0000   -2.4063   2.2676   5.1103  0.129  1.40  -1.092    800.  0.210E+00  0.210E+00  0.400E-04  0.552E-14    1  73  32    1  72  17   28  27  28    0.000    0.000       0
+  0    840 00:14:00.00   1.0000    2.2465   2.2422   5.8094  0.137  1.41  -1.023    825.  0.257E+00  0.257E+00  0.453E-04  0.632E-14    1  65  22    1  71  16   36  31  57    0.000    0.000       0
+  0    900 00:15:00.00   1.0000    2.3838   2.5354   6.0064  0.145  1.44  -0.937    875.  0.307E+00  0.307E+00  0.523E-04  0.730E-14    1  73  42    1  37  20   38  31  57    0.000    0.000       0
+  0    960 00:16:00.00   1.0000    2.6249   2.5515   5.4146  0.155  1.42  -0.853    850.  0.354E+00  0.354E+00  0.603E-04  0.845E-14    1  55  53    1  59  49   33  59  29    0.000    0.000       0
+  0   1020 00:17:00.00   1.0000    2.7415   2.7975   5.8224  0.161  1.41  -0.828    825.  0.398E+00  0.397E+00  0.679E-04  0.952E-14    1  66  38    1   0  76   36  58  29    0.000    0.000       0
+  0   1080 00:18:00.00   1.0000   -3.3438   3.0347   5.6596  0.169  1.40  -0.782    800.  0.432E+00  0.431E+00  0.738E-04  0.104E-13    1  67  64    1  57   4   29  78  58    0.000    0.000       0
+  0   1140 00:19:00.00   1.0000    3.2637   3.9619   5.2718  0.177  1.38  -0.764    775.  0.450E+00  0.450E+00  0.772E-04  0.111E-13    1  65  24    1  73  19   34  77  57    0.000    0.000       0
+  0   1200 00:20:00.00   1.0000   -3.5030   3.6457   5.7844  0.181  1.41  -0.730    825.  0.454E+00  0.454E+00  0.773E-04  0.111E-13    1  64   7    1  60  50   31  62  22    0.000    0.000       0
+  0   1260 00:21:00.00   1.0000    3.1582   3.6093   5.1446  0.182  1.25  -0.735    575.  0.449E+00  0.449E+00  0.744E-04  0.107E-13    1  78  56    1   1  15   28  62  73    0.000    0.000       0
+  0   1320 00:22:00.00   1.0000    3.0197   3.6410   5.6251  0.178  1.41  -0.751    825.  0.443E+00  0.442E+00  0.711E-04  0.102E-13    1  32  41    1   2  15   36  62  73    0.000    0.000       0
+  0   1380 00:23:00.00   1.0000   -3.0904  -3.1893   5.0637  0.174  1.41  -0.790    825.  0.437E+00  0.436E+00  0.687E-04  0.991E-14    1  47  40    1  29  77   18  22  39    0.000    0.000       0
+  0   1440 00:24:00.00   1.0000    3.9473  -3.2565   5.1777  0.173  1.42  -0.809    850.  0.435E+00  0.434E+00  0.666E-04  0.957E-14    1  44  58    1  31   2   21  11  61    0.000    0.000       0
+  0   1500 00:25:00.00   1.0000    3.5177  -3.3937   4.9877  0.175  1.42  -0.799    850.  0.433E+00  0.432E+00  0.640E-04  0.921E-14    1  45  61    1  37  49   32  12  63    0.000    0.000       0
+  0   1560 00:26:00.00   1.0000    3.4481  -3.2455   5.1211  0.179  1.25  -0.773    575.  0.432E+00  0.431E+00  0.616E-04  0.884E-14    2  46  64    1  34  44   25  12  22    0.000    0.000       0
+  0   1620 00:27:00.00   1.0000    3.4092  -3.6070   4.7027  0.183  1.23  -0.735    550.  0.434E+00  0.433E+00  0.601E-04  0.866E-14    2  16  65    3  18  79   32  13  23    0.000    0.000       0
+  0   1680 00:28:00.00   1.0000    3.5894   3.3338   4.8446  0.183  1.25  -0.735    575.  0.441E+00  0.439E+00  0.587E-04  0.844E-14   23  42  41   21  21  16   21  15  24    0.000    0.000       0
+  0   1740 00:29:00.00   1.0000    3.1829   3.4750   4.8814  0.181  1.44  -0.746    875.  0.450E+00  0.449E+00  0.579E-04  0.832E-14   11  37  28    4   9  16   18  15   1    0.000    0.000       0
+  0   1800 00:30:00.00   1.0000    2.8061  -3.2177   5.1474  0.177  1.47  -0.767    925.  0.459E+00  0.457E+00  0.580E-04  0.834E-14    2  40  21    2  31  55   20  12  10    0.000    0.000       0
+  0   1860 00:31:00.00   1.0000   -3.0119  -3.8301   5.5566  0.174  1.45  -0.814    900.  0.466E+00  0.464E+00  0.581E-04  0.837E-14   13  39  19   20  37  27   23  12   4    0.000    0.000       0
+  0   1920 00:32:00.00   1.0000    3.1950   3.5789   5.4843  0.173  1.44  -0.805    875.  0.473E+00  0.472E+00  0.574E-04  0.830E-14   14  10   7    1  10   1   27  63  73    0.000    0.000       0
+  0   1980 00:33:00.00   1.0000   -3.3607  -3.2152   5.5735  0.174  1.27  -0.774    600.  0.479E+00  0.478E+00  0.569E-04  0.822E-14   36  10  76   13   9   4   35   9   7    0.000    0.000       0
+  0   2040 00:34:00.00   1.0000   -3.5067  -3.0872   5.7525  0.172  1.25  -0.786    575.  0.482E+00  0.481E+00  0.571E-04  0.827E-14   42  14  73    2  29  57   43   7   5    0.000    0.000       0
+  0   2100 00:35:00.00   1.0000    3.1931  -3.0682   5.0939  0.172  1.25  -0.797    575.  0.481E+00  0.479E+00  0.569E-04  0.824E-14   28  12   6    9  11  78   19  21  23    0.000    0.000       0
+  0   2160 00:36:00.00   1.0000   -3.4000  -3.1831   5.1508  0.171  1.27  -0.773    600.  0.477E+00  0.475E+00  0.569E-04  0.824E-14   12  27  20   40   3   2   21  13   3    0.000    0.000       0
+  0   2220 00:37:00.00   1.0000   -3.1487  -2.9620   5.6034  0.170  1.27  -0.764    600.  0.475E+00  0.474E+00  0.569E-04  0.819E-14   14  27  19   20   8   2   26  11  72    0.000    0.000       0
+  0   2280 00:38:00.00   1.0000   -3.1712   3.1696   5.4843  0.168  1.42  -0.788    850.  0.475E+00  0.473E+00  0.575E-04  0.830E-14   17  27  15    7  12  23   29  12  71    0.000    0.000       0
+  0   2340 00:39:00.00   1.0000   -3.0340  -3.0142   4.9761  0.167  1.23  -0.830    550.  0.475E+00  0.472E+00  0.586E-04  0.848E-14   25  16  19    1  17  54   21  72  62    0.000    0.000       0
+  0   2400 00:40:00.00   1.0000   -3.3827  -3.2786   5.1241  0.167  1.23  -0.794    550.  0.470E+00  0.467E+00  0.593E-04  0.858E-14   10  11  70    1  12  71   28  75  63    0.000    0.000       0
+  0   2460 00:41:00.00   1.0000    3.0172  -3.5143   4.7319  0.166  1.23  -0.797    550.  0.461E+00  0.458E+00  0.589E-04  0.848E-14   24   3   6    5   8  70   22  76  63    0.000    0.000       0
+  0   2520 00:42:00.00   1.0000    3.1569  -3.5546   4.7675  0.163  1.27  -0.863    600.  0.452E+00  0.449E+00  0.581E-04  0.835E-14    1  78  58    9   5  71   18  25  34    0.000    0.000       0
+  0   2580 00:43:00.00   1.0000    3.5609   3.1651   5.3844  0.161  1.25  -0.855    575.  0.447E+00  0.443E+00  0.571E-04  0.813E-14   28  24  39   27  76  59   25  19  32    0.000    0.000       0
+  0   2640 00:44:00.00   1.0000    3.2633   3.4899   4.9447  0.159  1.23  -0.862    550.  0.442E+00  0.438E+00  0.562E-04  0.801E-14   15   4   3    1   6  76   17  70  71    0.000    0.000       0
+  0   2700 00:45:00.00   1.0000    3.5025   3.0665   5.0349  0.158  1.25  -0.845    575.  0.441E+00  0.437E+00  0.560E-04  0.797E-14   24   1  12    1   8  76   27  24  22    0.000    0.000       0
+  0   2760 00:46:00.00   1.0000    3.3412   3.1941   5.4012  0.156  1.25  -0.883    575.  0.442E+00  0.437E+00  0.562E-04  0.797E-14   25   4  13    1   9  75   27   5   1    0.000    0.000       0
+  0   2820 00:47:00.00   1.0000    3.6518  -3.2207   4.7868  0.153  1.27  -0.929    600.  0.441E+00  0.437E+00  0.565E-04  0.801E-14   34  77  18   39  74  10   41   2  77    0.000    0.000       0
+  0   2880 00:48:00.00   1.0000    3.5356  -3.2466   4.8539  0.151  1.25  -0.896    575.  0.440E+00  0.436E+00  0.573E-04  0.815E-14   34   2  10   40  72  11   41  17  28    0.000    0.000       0
+  0   2940 00:49:00.00   1.0000    2.9812   3.2028   4.6617  0.151  1.27  -0.900    600.  0.441E+00  0.437E+00  0.575E-04  0.820E-14    7  61  73   36  11   6   14  59  42    0.000    0.000       0
+  0   3000 00:50:00.00   1.0000   -3.0488   3.0101   4.6541  0.151  1.27  -0.934    600.  0.443E+00  0.439E+00  0.581E-04  0.831E-14    9   8  68   27  67  22   24  28  25    0.000    0.000       0
+  0   3060 00:51:00.00   1.0000   -3.0053   2.8546   5.1987  0.150  1.25  -0.908    575.  0.446E+00  0.443E+00  0.585E-04  0.838E-14   29  31  24   14   4  77   23  56  33    0.000    0.000       0
+  0   3120 00:52:00.00   1.0000   -3.1978  -3.0642   5.4683  0.151  1.27  -0.904    600.  0.450E+00  0.448E+00  0.588E-04  0.839E-14    1  25  28   14  21   1   30  57  33    0.000    0.000       0
+  0   3180 00:53:00.00   1.0000   -3.4193   3.1570   4.9351  0.153  1.27  -0.894    600.  0.456E+00  0.454E+00  0.592E-04  0.844E-14    1  25  25   12  31  25   22  27  29    0.000    0.000       0
+  0   3240 00:54:00.00   1.0000   -3.3668   3.3279   4.9955  0.153  1.27  -0.923    600.  0.462E+00  0.460E+00  0.599E-04  0.854E-14   41   3  41   11  30  20   21  51  36    0.000    0.000       0
+  0   3300 00:55:00.00   1.0000    3.0786   3.3598   5.5937  0.154  1.27  -0.887    600.  0.468E+00  0.467E+00  0.605E-04  0.863E-14   13  50  41   23   4  79   39   8  76    0.000    0.000       0
+  0   3360 00:56:00.00   1.0000    3.6680   3.0921   5.6787  0.156  1.23  -0.854    550.  0.471E+00  0.470E+00  0.612E-04  0.873E-14   21  50  39   17  34  20   44   9  77    0.000    0.000       0
+  0   3420 00:57:00.00   1.0000    3.6849   3.7958   5.1860  0.156  1.25  -0.850    575.  0.469E+00  0.468E+00  0.617E-04  0.882E-14   26  49  43   18  37  19   29  52  39    0.000    0.000       0
+  0   3480 00:58:00.00   1.0000    3.4735  -3.6108   5.1212  0.155  1.25  -0.853    575.  0.464E+00  0.463E+00  0.621E-04  0.890E-14   26  49  46   43  77  72   38   7  78    0.000    0.000       0
+  0   3540 00:59:00.00   1.0000    3.3799   3.2356   5.1232  0.155  1.25  -0.879    575.  0.455E+00  0.454E+00  0.628E-04  0.902E-14   44  13   7   17  40  16   21  56  33    0.000    0.000       0
+  0   3600 01:00:00.00   1.0000   -3.6939  -3.2549   5.2678  0.154  1.25  -0.911    575.  0.444E+00  0.443E+00  0.629E-04  0.902E-14   41  13  50    1   4  72   29  56  34    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/mountain/example_mountain.txt
===================================================================
--- palm/tags/release-3.7/EXAMPLES/mountain/example_mountain.txt	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/mountain/example_mountain.txt	(revision 393)
@@ -0,0 +1,35 @@
+example_mountain
+
+1. Purpose
+   This example shows the flow around a single 3d idealized 
+   mountain. The mountain shape is Gaussian. The inversion height lies
+   below the mountain top so that a part of the topography resides in
+   stable stratification. 
+   
+2. PALM-Version / SVN Revision
+   PALM 3.6 / SVN Revision 244
+
+3. Required user code
+   No user code is required.
+
+4. Input: example_mountain_p3d
+   Cyclic lateral boundary conditions are used. The 3d-model is initialized with
+   the solution of the 1d-model. Rayleigh damping is switched on.
+
+5. Preprocessing
+   The topography file has to be prepared according to the topography conventions
+   used in PALM. The topography file is created with aid of a 2d Gauss function.
+   
+6. Program start - mrun call
+   mrun -d example_mountain -h lcsgih -K parallel -X8 -T2 -t900 -q testq
+   -r "d3# pr# ts# xy# xz# yz#"
+
+7. Monitoring: example_mountain_rc
+
+8. Postprocessing
+   No postprocessing of the data is required.
+
+9. List of attachments
+   example_mountain _p3d
+   example_mountain_rc
+   example_mountain_topo
Index: palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_p3d	(revision 393)
@@ -0,0 +1,57 @@
+ &inipar      nx = 159, ny = 79, nz = 40,
+              dx = 50.0, dy = 50.0, dz = 50.0,
+              dz_stretch_level = 1500.0,
+
+              fft_method = 'temperton-algorithm',
+
+              initializing_actions = 'set_1d-model_profiles',
+              dt_run_control_1d = 43200.0, dt_pr_1d = 43200.0,    
+ 
+              ug_surface = 5.5, vg_surface = -2.0,
+
+              pt_vertical_gradient       = 0.0, 5.0,   0.5,
+              pt_vertical_gradient_level = 0.0, 600.0, 700.0,  !Inversion below the mountain top
+
+              topography = 'read_from_file',                   !Gaussian shaped mountain
+                                                               !height: 1km, base diameter: 2km
+              wall_heatflux(0) = 0.05,
+          
+	      surface_heatflux = 0.05, bc_pt_b = 'neumann', /
+
+ &d3par       end_time = 7200.0,
+
+              npex = 4,
+              npey = 2,
+
+              create_disturbances = .T.,
+              dt_disturb = 150.0, disturbance_energy_limit = 0.01,
+
+              rayleigh_damping_factor = 0.01,
+
+              dt_run_control = 0.0,
+              dt_dots = 0.0,
+         
+              dt_data_output = 1800.0,
+              dt_data_output_av = 1800.0,
+              averaging_interval = 900.0,
+              dt_averaging_input = 10.0,
+
+              section_xy =  4, 8, 14, 20,
+              section_xz = -1, 40, 
+              section_yz = 60,
+
+              data_output = 'u_xy','u_xz', 'u_yz', 'u_xy_av',
+                            'v_xy','v_xz', 'v_yz', 'v_xy_av',
+                            'w_xy','w_xz', 'w_yz', 'w_xy_av',
+                            'pt_xy','pt_xz', 'pt_yz', 'pt_xy_av',
+                           
+
+              dt_dopr = 1800.0,
+              averaging_interval_pr = 600.0,
+              dt_averaging_input_pr = 10.0,
+              data_output_pr = '#pt','#u', '#v', 'w',
+                               'wpt', 'w*pt*', 'w"pt"',
+                               'wu', 'w*u*', 'w"u"',
+                               'u*2', 'v*2', 'w*2',
+
+              data_output_2d_on_each_pe = .F., /
Index: palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_rc	(revision 393)
@@ -0,0 +1,1607 @@
+
+
+
+1D-Zeitschrittkontrollausgaben:
+------------------------------
+
+ITER.  HH:MM:SS    DT      UMAX   VMAX    U*   ALPHA   ENERG.
+-------------------------------------------------------------
+    0  00:00:00  300.00    5.50   2.00  0.100   45.0    16.71
+  428  12:00:09   95.60    6.28   2.30  0.229    5.7    16.94
+  873  24:01:11   96.40    6.19   2.10  0.227    6.8    16.82
+ 1318  36:00:40   96.90    6.11   2.06  0.226    6.9    16.68
+ 1764  48:01:18   97.20    6.08   2.12  0.225    6.7    16.63
+ 2209  60:00:19   97.10    6.09   2.17  0.225    6.6    16.67
+ 2655  72:01:12   97.00    6.11   2.18  0.226    6.6    16.72
+ 3100  84:00:38   96.90    6.12   2.15  0.226    6.6    16.73
+ 3545  96:00:03   96.90    6.11   2.13  0.226    6.7    16.71
+ 3991  108:00:52  97.00    6.10   2.13  0.226    6.7    16.69
+ 4436  120:00:10  97.00    6.10   2.15  0.225    6.7    16.69
+ 4882  132:01:12  97.00    6.10   2.15  0.226    6.6    16.70
+ 5327  144:00:37  97.00    6.11   2.15  0.226    6.6    16.71
+ 5772  156:00:02  97.00    6.11   2.15  0.226    6.6    16.71
+ 6218  168:01:04  97.00    6.11   2.14  0.226    6.7    16.70
+ 6663  180:00:29  97.00    6.10   2.14  0.226    6.7    16.70
+ 7109  192:01:31  97.00    6.11   2.15  0.226    6.6    16.70
+ 7554  204:00:56  97.00    6.11   2.15  0.226    6.6    16.70
+ 7999  216:00:21  97.00    6.11   2.15  0.226    6.6    16.70
+ 8445  228:01:23  97.00    6.11   2.15  0.226    6.6    16.70
+ 8890  240:00:48  97.00    6.11   2.15  0.226    6.6    16.70
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 244      *         atmosphere - 3D - run with 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              26-02-09         Run:       example_mountain    
+ Time:              11:02:08         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            8         Processor grid (x,y): (  4,  2) predefined
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> Rayleigh-Damping active, starts above z =  1466.22 m
+     maximum damping coefficient: 0.010 1/s
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:          7200.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =     50.000 m    dy =     50.000 m    dz =     50.000 m
+ Domain size:       x =   8000.000 m     y =   4000.000 m  z(u) =   2307.274 m
+
+ dz constant up to   1500.000 m (k=  31), then stretched by factor: 1.080
+ maximum dz not to be exceeded is dz_max = ********** m
+
+ Number of gridpoints (x,y,z):  (0: 159, 0:  79, 0:  41)
+ Subdomain size (x,y,z):        (    40,     40,     42)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: read_from_file                          
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = ug(nzt+1), vg(nzt+1)  | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.050000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =  25.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: pt, u, v, w, wpt, w*pt*, w"pt", wu, w*u*, w"u", u*2,         
+
+              : v*2, w*2,                                                    
+       Output every              1800.00 s
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+    2D-Arrays:
+       Output format: netcdf                                  
+
+
+       XY-cross-section  Arrays:  u, v, w, pt,                                                         
+       Output every              1800.00 s  
+       Cross sections at k = /4/8/14/20/
+       scalar-coordinates:   /175.0/375.0/675.0/975.0/ m
+
+
+       XZ-cross-section  Arrays:  u, v, w, pt,                                                         
+       Output every              1800.00 s  
+       Cross sections at j = /-1/40/
+       scalar-coordinates:   /-50.0/2000.0/ m
+
+
+       YZ-cross-section  Arrays:  u, v, w, pt,                                                         
+       Output every              1800.00 s  
+       Cross sections at i = /60/
+       scalar-coordinates:   /3000.0/ m
+
+
+    2D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       XY-cross-section  Arrays:  u, v, w, pt,                                                         
+       Output every              1800.00 s  
+       Time averaged over         900.00 s
+       Averaging input every       10.00 s
+       Cross sections at k = /4/8/14/20/
+       scalar-coordinates:   /175.0/375.0/675.0/975.0/ m
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 0.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.729E-04 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000119 1/s
+                            f*    =  0.000084 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            5.50    5.50  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:           -2.00   -2.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0   600.0   700.0  m
+       Temperature:   300.00  300.00  300.00  305.00  K
+       Gradient:      ------    0.00    5.00    0.50  K/100m
+       Gridpoint:          0       0      12      14
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   150.00 s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :   125.00 m (GP    3)
+    Upper disturbance level         :   625.00 m (GP   13)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ 1D-Model parameters:
+ -------------------
+
+    Simulation time:                   864000.0 s
+    Run-controll output every:          43200.0 s
+    Vertical profile output every:      43200.0 s
+    Mixing length calculation:         as_in_3d_model      
+    Dissipation calculation:           as_in_3d_model      
+
+
+
+ *** no user-defined variables found
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   5.4600A   8.2383D -4.2681D  2.5877  0.226  0.99   0.000    600.  0.161E+02  0.931E-01  0.000E+00  0.000E+00    7  27  58    9  33  51   18  41  55    0.000    0.000       0
+  0      1 00:00:05.46   5.4600A   8.2383  -4.2681   2.5877  0.276  1.02  -0.192    650.  0.161E+02  0.153E+00  0.495E-04  0.119E-04    7  27  58    9  33  51   18  41  55    0.000    0.000       0
+  0      2 00:00:09.65   4.1900A  10.7301  -6.7118   5.7824  0.274  1.02  -0.190    650.  0.161E+02  0.160E+00  0.340E-04  0.534E-05   13  48  64   13  35  53   19  42  57    0.000    0.000       0
+  0      3 00:00:13.67   4.0200A  11.2036  -7.2455   6.6771  0.273  1.02  -0.190    650.  0.161E+02  0.162E+00  0.312E-04  0.507E-05   16  46  64   14  36  53   19  42  57    0.000    0.000       0
+  0      4 00:00:17.61   3.9400A  11.4177  -7.3998   7.0081  0.272  1.02  -0.191    650.  0.161E+02  0.164E+00  0.294E-04  0.502E-05   13  48  65   14  36  53   19  42  57    0.000    0.000       0
+  0      5 00:00:21.48   3.8700A  11.6235  -7.3408   7.0810  0.271  0.87  -0.192    400.  0.161E+02  0.166E+00  0.280E-04  0.490E-05   13  48  65   16  37  54   19  42  57    0.000    0.000       0
+  0      6 00:00:25.39   3.9100A  11.5056  -7.5038   7.0187  0.270  0.87  -0.193    400.  0.161E+02  0.167E+00  0.273E-04  0.482E-05   14  48  64   12  36  51   19  42  57    0.000    0.000       0
+  0      7 00:00:29.28   3.8900A  11.5542  -7.6685   6.9109  0.269  0.87  -0.193    400.  0.161E+02  0.168E+00  0.266E-04  0.465E-05    8  52  66   12  36  51   19  42  57    0.000    0.000       0
+  0      8 00:00:33.17   3.8900A  11.5632  -7.5789   6.8311  0.268  0.87  -0.194    400.  0.160E+02  0.170E+00  0.262E-04  0.451E-05   14  48  65   12  36  51   19  42  57    0.000    0.000       0
+  0      9 00:00:37.13   3.9600A  11.3571  -7.3118   6.7932  0.267  0.83  -0.195    350.  0.160E+02  0.171E+00  0.265E-04  0.446E-05   14  48  65   12  36  51   19  42  57    0.000    0.000       0
+  0     10 00:00:41.19   4.0600A  11.0738  -7.0770   6.7770  0.267  0.83  -0.196    350.  0.160E+02  0.172E+00  0.272E-04  0.446E-05    7  53  67   15  35  54   19  42  57    0.000    0.000       0
+  0     11 00:00:45.29   4.1000A  10.9725  -7.1932   6.7539  0.266  0.83  -0.197    350.  0.160E+02  0.174E+00  0.278E-04  0.443E-05   12  49  66   12  34  52   19  42  57    0.000    0.000       0
+  0     12 00:00:49.29   4.0000A  11.2463  -7.3190   6.7004  0.266  0.83  -0.198    350.  0.160E+02  0.175E+00  0.277E-04  0.427E-05   12  49  66   12  34  52   19  42  57    0.000    0.000       0
+  0     13 00:00:53.24   3.9500A  11.3949  -7.3227   6.6124  0.265  0.83  -0.201    350.  0.160E+02  0.177E+00  0.281E-04  0.417E-05   13  48  66   12  34  52   19  42  57    0.000    0.000       0
+  0     14 00:00:57.21   3.9700A  11.3318  -7.2366   6.4910  0.265  0.83  -0.201    350.  0.160E+02  0.178E+00  0.290E-04  0.415E-05   13  48  66   12  34  52   19  42  57    0.000    0.000       0
+  0     15 00:01:01.28   4.0700A  11.0489  -7.2055   6.3515  0.264  0.83  -0.202    350.  0.160E+02  0.180E+00  0.306E-04  0.421E-05   13  48  67   13  36  52   19  42  57    0.000    0.000       0
+  0     16 00:01:05.34   4.0600A  11.0893  -7.4585   6.2111  0.264  0.83  -0.204    350.  0.160E+02  0.182E+00  0.314E-04  0.418E-05   13  48  67   13  35  52   19  42  57    0.000    0.000       0
+  0     17 00:01:09.45   4.1100A  10.9463  -7.7734   6.0937  0.263  0.83  -0.206    350.  0.160E+02  0.184E+00  0.325E-04  0.418E-05   13  48  67   13  35  52   19  42  57    0.000    0.000       0
+  0     18 00:01:13.60   4.1500A  10.8426  -7.9128   5.9917  0.263  0.79  -0.206    300.  0.160E+02  0.187E+00  0.337E-04  0.418E-05   13  48  67   13  35  52   19  42  57    0.000    0.000       0
+  0     19 00:01:17.73   4.1300A  10.9083  -7.8237   5.8979  0.262  0.79  -0.208    300.  0.160E+02  0.189E+00  0.344E-04  0.414E-05   13  48  67   13  35  52   19  42  57    0.000    0.000       0
+  0     20 00:01:21.79   4.0600A  11.0901  -7.7531   5.8038  0.262  0.79  -0.210    300.  0.160E+02  0.192E+00  0.347E-04  0.406E-05   13  48  67   13  34  53   19  42  57    0.000    0.000       0
+  0     21 00:01:25.80   4.0100A  11.2288  -7.9394   5.7015  0.262  0.79  -0.212    300.  0.160E+02  0.195E+00  0.351E-04  0.398E-05   13  48  67   13  34  53   19  42  57    0.000    0.000       0
+  0     22 00:01:29.81   4.0100A  11.2137  -7.9933   5.5849  0.261  0.79  -0.214    300.  0.160E+02  0.198E+00  0.358E-04  0.395E-05   13  48  67   13  34  53   19  42  57    0.000    0.000       0
+  0     23 00:01:33.89   4.0800A  11.0345  -7.9172   5.4530  0.261  0.79  -0.215    300.  0.160E+02  0.202E+00  0.371E-04  0.398E-05   13  48  67   13  34  53   19  42  57    0.000    0.000       0
+  0     24 00:01:38.08   4.1900A  10.7504  -7.7735   5.3080  0.261  0.79  -0.216    300.  0.160E+02  0.205E+00  0.388E-04  0.406E-05   13  48  67   13  34  53   19  42  57    0.000    0.000       0
+  0     25 00:01:42.24   4.1600A  10.8250  -7.8427   5.1583  0.260  0.79  -0.217    300.  0.160E+02  0.209E+00  0.393E-04  0.402E-05   13  48  68   14  35  53   19  42  57    0.000    0.000       0
+  0     26 00:01:46.40   4.1600A  10.8063  -8.0145   5.0277  0.260  0.79  -0.217    300.  0.160E+02  0.214E+00  0.400E-04  0.400E-05   13  48  68   14  35  53   19  42  57    0.000    0.000       0
+  0     27 00:01:50.61   4.2100A  10.6814  -8.1710   4.9181  0.260  0.79  -0.219    300.  0.160E+02  0.218E+00  0.412E-04  0.402E-05   13  48  68   14  35  53   19  42  57    0.000    0.000       0
+  0     28 00:01:54.92   4.3100A  10.4394  -8.2890  -4.8328  0.259  0.79  -0.220    300.  0.160E+02  0.223E+00  0.429E-04  0.410E-05   13  48  68   14  35  53   11  46  70    0.000    0.000       0
+  0     29 00:01:59.30   4.3800A  10.2639  -8.3580  -4.7990  0.259  0.79  -0.219    300.  0.160E+02  0.228E+00  0.443E-04  0.415E-05   12  48  69   14  35  53   11  46  71    0.000    0.000       0
+  0     30 00:02:03.73   4.4300A  10.1555  -8.3818  -5.0457  0.259  0.79  -0.219    300.  0.160E+02  0.233E+00  0.456E-04  0.420E-05   12  49  68   14  35  53   13  47  68    0.000    0.000       0
+  0     31 00:02:08.21   4.4800A  10.0377  -8.3705  -5.2257  0.259  0.79  -0.219    300.  0.160E+02  0.239E+00  0.469E-04  0.424E-05   12  49  68   14  35  53   13  47  68    0.000    0.000       0
+  0     32 00:02:12.74   4.5300A   9.9253  -8.3309  -5.3347  0.258  0.79  -0.219    300.  0.160E+02  0.244E+00  0.482E-04  0.428E-05   12  48  69   14  35  53   13  47  68    0.000    0.000       0
+  0     33 00:02:17.29   4.5500A   9.8959  -8.2629  -5.4035  0.258  0.79  -0.219    300.  0.159E+02  0.250E+00  0.493E-04  0.430E-05    8  51  71   14  35  53   13  47  68    0.000    0.000       0
+  0     34 00:02:21.79   4.5000A  10.0082  -8.1639  -5.4216  0.258  0.79  -0.220    300.  0.159E+02  0.256E+00  0.495E-04  0.426E-05    8  51  71   14  35  53   13  47  68    0.000    0.000       0
+  0     35 00:02:26.30   4.5100A   9.9753  -8.0346  -5.4460  0.258  0.79  -0.220    300.  0.159E+02  0.262E+00  0.503E-04  0.426E-05    8  51  71   14  35  53   13  47  69    0.000    0.000       0
+  0     36 00:02:30.83   4.5300A   9.9353  -7.8865  -5.5942  0.257  0.79  -0.220    300.  0.159E+02  0.268E+00  0.512E-04  0.428E-05    8  52  68   14  35  53   13  47  69    0.000    0.000       0
+  0     37 00:02:35.32   4.4900A  10.0193  -7.7521  -5.7431  0.257  0.79  -0.222    300.  0.159E+02  0.275E+00  0.515E-04  0.425E-05    8  52  68   15  35  54   12  47  69    0.000    0.000       0
+  0     38 00:02:39.81   4.4900A  10.0149  -7.7927  -5.7604  0.257  0.79  -0.223    300.  0.159E+02  0.281E+00  0.521E-04  0.424E-05    8  52  68   15  35  54   12  47  69    0.000    0.000       0
+  0     39 00:02:44.33   4.5200A   9.9545  -7.8311  -5.6233  0.257  0.79  -0.220    300.  0.159E+02  0.287E+00  0.531E-04  0.426E-05    8  52  68   15  35  54   12  47  69    0.000    0.000       0
+  0     40 00:02:48.89   4.5600A   9.8731  -7.8616  -5.5516  0.257  0.79  -0.219    300.  0.159E+02  0.293E+00  0.542E-04  0.430E-05    8  52  68   15  35  54   12  47  70    0.000    0.000       0
+  0     41 00:02:53.49   4.6000A   9.7895  -7.8779  -5.5963  0.256  0.79  -0.218    300.  0.159E+02  0.299E+00  0.553E-04  0.434E-05    8  52  68   15  35  54   12  47  70    0.000    0.000       0
+  0     42 00:02:58.10   4.6100A   9.7545  -7.8765  -5.5822  0.256  0.79  -0.218    300.  0.159E+02  0.305E+00  0.561E-04  0.435E-05    8  52  69   15  35  54   12  47  70    0.000    0.000       0
+  0     43 00:03:02.69   4.5900A   9.8127  -7.8609  -5.5225  0.256  0.79  -0.218    300.  0.159E+02  0.311E+00  0.566E-04  0.433E-05    8  52  69   15  35  54   12  47  70    0.000    0.000       0
+  0     44 00:03:07.27   4.5800A   9.8350  -7.8414  -5.4467  0.256  0.79  -0.218    300.  0.159E+02  0.317E+00  0.572E-04  0.432E-05    8  52  69   15  35  54   11  47  71    0.000    0.000       0
+  0     45 00:03:11.84   4.5700A   9.8367  -7.8286  -5.4881  0.256  0.79  -0.221    300.  0.159E+02  0.323E+00  0.578E-04  0.431E-05    8  52  69   15  35  54   11  47  71    0.000    0.000       0
+  0     46 00:03:16.42   4.5800A   9.8234  -7.8265  -5.6950  0.256  0.79  -0.219    300.  0.159E+02  0.328E+00  0.587E-04  0.431E-05    8  52  69   15  35  54   13  46  67    0.000    0.000       0
+  0     47 00:03:21.02   4.6000A   9.7865  -7.8273  -5.7788  0.256  0.79  -0.217    300.  0.159E+02  0.334E+00  0.598E-04  0.434E-05    8  52  69   15  35  54   13  46  67    0.000    0.000       0
+  0     48 00:03:25.65   4.6300A   9.7210  -7.8147  -5.9099  0.256  0.79  -0.217    300.  0.159E+02  0.340E+00  0.610E-04  0.438E-05    8  52  69   15  35  54   11  47  68    0.000    0.000       0
+  0     49 00:03:30.32   4.6700A   9.6441  -7.7723  -6.3337  0.255  0.79  -0.220    300.  0.159E+02  0.345E+00  0.624E-04  0.442E-05    8  52  69   15  35  54   12  46  68    0.000    0.000       0
+  0     50 00:03:34.97   4.6500A   9.6844  -7.6939  -7.0274  0.255  0.79  -0.218    300.  0.159E+02  0.351E+00  0.630E-04  0.441E-05    8  52  68   15  35  54   12  46  68    0.000    0.000       0
+  0     51 00:03:39.59   4.6200A   9.7462  -7.6223  -7.3551  0.255  0.74  -0.217    250.  0.159E+02  0.357E+00  0.635E-04  0.439E-05    8  52  68   17  37  55   12  46  68    0.000    0.000       0
+  0     52 00:03:44.19   4.6000A   9.7743  -7.5896  -7.2834  0.255  0.74  -0.218    250.  0.159E+02  0.362E+00  0.641E-04  0.436E-05    8  52  68   17  37  55   12  46  68    0.000    0.000       0
+  0     53 00:03:48.80   4.6100A   9.7594  -7.5498  -7.1837  0.255  0.74  -0.221    250.  0.159E+02  0.368E+00  0.651E-04  0.437E-05    8  52  68   17  37  55   11  46  68    0.000    0.000       0
+  0     54 00:03:53.43   4.6300A   9.7128  -7.5113  -7.1430  0.255  0.74  -0.219    250.  0.159E+02  0.373E+00  0.662E-04  0.438E-05    8  52  68   17  37  55   11  46  68    0.000    0.000       0
+  0     55 00:03:58.09   4.6600A   9.6580  -7.4806  -6.8333  0.255  0.74  -0.220    250.  0.159E+02  0.379E+00  0.676E-04  0.440E-05    8  52  68   17  37  55   11  46  68    0.000    0.000       0
+  0     56 00:04:02.77   4.6800A   9.6168  -7.4571  -6.9483  0.255  0.74  -0.219    250.  0.159E+02  0.384E+00  0.688E-04  0.443E-05    8  52  68   17  37  55   11  46  69    0.000    0.000       0
+  0     57 00:04:07.46   4.6900A   9.5993  -7.4366  -7.0837  0.255  0.74  -0.220    250.  0.159E+02  0.390E+00  0.699E-04  0.444E-05    8  52  68   17  37  55   11  46  69    0.000    0.000       0
+  0     58 00:04:12.15   4.6900A   9.6027  -7.4136  -6.9515  0.255  0.79  -0.219    300.  0.159E+02  0.396E+00  0.709E-04  0.444E-05    8  52  68   17  37  55   11  46  69    0.000    0.000       0
+  0     59 00:04:16.83   4.6800A   9.6178  -7.3854  -6.5946  0.255  0.79  -0.221    300.  0.158E+02  0.402E+00  0.716E-04  0.443E-05    8  52  68   17  37  55   11  46  69    0.000    0.000       0
+  0     60 00:04:21.50   4.6700A   9.6350  -7.3811  -6.0933  0.255  0.79  -0.220    300.  0.158E+02  0.407E+00  0.724E-04  0.442E-05    8  52  68   15  35  54   11  46  69    0.000    0.000       0
+  0     61 00:04:26.16   4.6600A   9.6466  -7.4168  -5.8887  0.254  0.79  -0.220    300.  0.158E+02  0.413E+00  0.731E-04  0.441E-05    8  52  68   15  35  54   10  46  69    0.000    0.000       0
+  0     62 00:04:30.82   4.6600A   9.6488  -7.4519  -6.1342  0.254  0.79  -0.221    300.  0.158E+02  0.420E+00  0.739E-04  0.443E-05    8  52  68   15  35  54   11  45  69    0.000    0.000       0
+  0     63 00:04:35.49   4.6700A   9.6428  -7.4768  -6.6214  0.254  0.79  -0.222    300.  0.158E+02  0.426E+00  0.749E-04  0.446E-05    8  52  68   15  35  54   11  45  69    0.000    0.000       0
+  0     64 00:04:40.16   4.6700A   9.6350  -7.4854  -6.5813  0.254  0.79  -0.222    300.  0.158E+02  0.432E+00  0.757E-04  0.447E-05    8  52  68   15  35  54   11  45  69    0.000    0.000       0
+  0     65 00:04:44.83   4.6700A   9.6332  -7.4769  -6.0551  0.254  0.79  -0.222    300.  0.158E+02  0.439E+00  0.766E-04  0.448E-05    8  52  68   15  35  54   11  45  69    0.000    0.000       0
+  0     66 00:04:49.50   4.6700A   9.6390  -7.4547  -5.3026  0.254  0.79  -0.224    300.  0.158E+02  0.445E+00  0.773E-04  0.448E-05    8  52  68   15  35  54   12  47  69    0.000    0.000       0
+  0     67 00:04:54.17   4.6700A   9.6447  -7.4232  -5.0941  0.254  0.79  -0.225    300.  0.158E+02  0.452E+00  0.781E-04  0.447E-05    8  52  68   15  35  54   15  45  55    0.000    0.000       0
+  0     68 00:04:58.84   4.6700A   9.6368  -7.3932  -5.0061  0.254  0.79  -0.224    300.  0.158E+02  0.459E+00  0.789E-04  0.447E-05    8  52  68   17  37  55   16  34  72    0.000    0.000       0
+  0     69 00:05:03.52   4.6800A   9.6063  -7.4308  -5.0660  0.254  0.79  -0.223    300.  0.158E+02  0.466E+00  0.798E-04  0.447E-05    8  52  68   17  37  55   12  45  71    0.000    0.000       0
+  0     70 00:05:08.23   4.7100A   9.5564  -7.4646   5.0768  0.254  0.79  -0.223    300.  0.158E+02  0.473E+00  0.810E-04  0.450E-05    8  52  68   17  37  55    6  41  77    0.000    0.000       0
+  0     71 00:05:12.93   4.7000A   9.5715  -7.4891   5.2136  0.254  0.79  -0.224    300.  0.158E+02  0.480E+00  0.815E-04  0.450E-05    7  53  68   17  37  55    6  41  79    0.000    0.000       0
+  0     72 00:05:17.64   4.7100A   9.5635  -7.5017   5.3005  0.254  0.79  -0.225    300.  0.158E+02  0.488E+00  0.824E-04  0.452E-05    7  53  68   17  37  55    6  41  79    0.000    0.000       0
+  0     73 00:05:22.36   4.7200A   9.5353  -7.4991   5.3380  0.254  0.79  -0.229    300.  0.158E+02  0.495E+00  0.833E-04  0.454E-05    7  51  73   17  37  55    6  41  77    0.000    0.000       0
+  0     74 00:05:27.09   4.7300A   9.5132  -7.4814   5.3556  0.254  0.79  -0.227    300.  0.158E+02  0.503E+00  0.842E-04  0.456E-05    7  52  71   17  37  55    6  41  77    0.000    0.000       0
+  0     75 00:05:31.83   4.7400A   9.4964  -7.4511   5.3132  0.254  0.79  -0.227    300.  0.158E+02  0.511E+00  0.850E-04  0.458E-05    6  52  73   17  37  55    6  41  77    0.000    0.000       0
+  0     76 00:05:36.55   4.7200A   9.5241  -7.4120   5.5295  0.254  0.79  -0.226    300.  0.158E+02  0.519E+00  0.853E-04  0.457E-05    6  52  73   17  37  55    4  41  81    0.000    0.000       0
+  0     77 00:05:41.27   4.7200A   9.5260  -7.3692   5.7546  0.254  0.79  -0.226    300.  0.158E+02  0.527E+00  0.859E-04  0.458E-05    6  52  73   17  37  55    4  41  81    0.000    0.000       0
+  0     78 00:05:45.98   4.7100A   9.5556  -7.3242   5.9410  0.254  0.79  -0.227    300.  0.158E+02  0.535E+00  0.864E-04  0.459E-05    7  53  68   17  37  55    4  41  81    0.000    0.000       0
+  0     79 00:05:50.66   4.6800A   9.6198  -7.2785   6.1554  0.254  0.79  -0.230    300.  0.158E+02  0.543E+00  0.865E-04  0.457E-05    7  53  68   17  37  55    4  41  82    0.000    0.000       0
+  0     80 00:05:55.32   4.6600A   9.6654  -7.2326   6.5553  0.254  0.79  -0.229    300.  0.158E+02  0.552E+00  0.867E-04  0.456E-05    7  53  68   17  37  55    4  41  82    0.000    0.000       0
+  0     81 00:05:59.97   4.6500A   9.6781  -7.2464   6.8727  0.254  0.79  -0.238    300.  0.158E+02  0.560E+00  0.871E-04  0.455E-05    7  53  68    4  40  86    4  41  82    0.000    0.000       0
+  0     82 00:06:04.62   4.6500A   9.6810  -7.2923   7.0545  0.255  0.79  -0.230    300.  0.158E+02  0.568E+00  0.877E-04  0.455E-05    7  53  69    4  40  86    4  41  82    0.000    0.000       0
+  0     83 00:06:09.27   4.6500A   9.6853  -7.3946   7.0565  0.255  0.79  -0.232    300.  0.158E+02  0.576E+00  0.883E-04  0.455E-05    7  53  69   15  35  54    4  41  82    0.000    0.000       0
+  0     84 00:06:13.93   4.6600A   9.6519  -7.5063   7.2039  0.255  0.99  -0.233    600.  0.158E+02  0.585E+00  0.891E-04  0.456E-05    7  53  69   15  35  54    4  42  82    0.000    0.000       0
+  0     85 00:06:18.62   4.6900A   9.5966  -7.6064   7.3837  0.255  0.99  -0.232    600.  0.157E+02  0.593E+00  0.902E-04  0.459E-05    7  53  69   15  35  54    4  42  82    0.000    0.000       0
+  0     86 00:06:23.30   4.6800A   9.6121  -7.6810   7.3050  0.255  0.99  -0.231    600.  0.157E+02  0.602E+00  0.907E-04  0.458E-05    6  24  74   15  35  54    4  42  82    0.000    0.000       0
+  0     87 00:06:27.98   4.6800A   9.6097  -7.7137   7.3588  0.255  0.99  -0.232    600.  0.157E+02  0.610E+00  0.913E-04  0.457E-05    7  53  68   15  35  54    5  42  82    0.000    0.000       0
+  0     88 00:06:32.66   4.6800A   9.6113  -7.6935   7.4015  0.255  0.99  -0.236    600.  0.157E+02  0.619E+00  0.919E-04  0.457E-05    7  53  68   15  35  54    5  41  83    0.000    0.000       0
+  0     89 00:06:37.34   4.6800A   9.6168  -7.7104   7.3239  0.255  0.99  -0.233    600.  0.157E+02  0.627E+00  0.925E-04  0.457E-05    2  52  88    4  39  88    5  41  83    0.000    0.000       0
+  0     90 00:06:42.00   4.6600A   9.6657  -7.7853   7.2080  0.255  0.99  -0.237    600.  0.157E+02  0.636E+00  0.928E-04  0.454E-05    2  52  88    4  39  88    6  41  83    0.000    0.000       0
+  0     91 00:06:46.65   4.6500A   9.6760  -7.8042   7.1366  0.255  0.83  -0.234    350.  0.157E+02  0.644E+00  0.932E-04  0.453E-05    6  24  72    4  39  88    6  41  83    0.000    0.000       0
+  0     92 00:06:51.28   4.6300A   9.7108  -7.7791   7.0777  0.255  0.83  -0.234    350.  0.157E+02  0.652E+00  0.934E-04  0.450E-05    6  24  72    4  39  88    7  41  83    0.000    0.000       0
+  0     93 00:06:55.92   4.6400A   9.7073  -7.8026   7.0222  0.255  0.83  -0.235    350.  0.157E+02  0.661E+00  0.943E-04  0.450E-05    5  52  75    4  39  89    7  41  83    0.000    0.000       0
+  0     94 00:07:00.54   4.6200A   9.7330  -7.7885   6.6563  0.255  0.83  -0.235    350.  0.157E+02  0.669E+00  0.945E-04  0.449E-05    6  24  74    4  39  89    5  40  84    0.000    0.000       0
+  0     95 00:07:05.16   4.6200A   9.7428  -7.7972   6.4856  0.256  0.83  -0.236    350.  0.157E+02  0.677E+00  0.951E-04  0.448E-05    2  52  88    1  47  81    5  40  84    0.000    0.000       0
+  0     96 00:07:09.80   4.6400A   9.7079  -7.9541   6.3968  0.256  0.83  -0.236    350.  0.157E+02  0.685E+00  0.961E-04  0.449E-05    2  52  88    1  47  81    6  40  84    0.000    0.000       0
+  0     97 00:07:14.44   4.6400A   9.6922  -8.0594  -6.4369  0.256  0.83  -0.237    350.  0.157E+02  0.693E+00  0.967E-04  0.448E-05    4  52  76    1  47  81    9  31  81    0.000    0.000       0
+  0     98 00:07:19.04   4.6000A   9.7916  -8.1075  -6.7004  0.256  0.87  -0.237    400.  0.157E+02  0.701E+00  0.967E-04  0.443E-05    4  52  77    1  47  81    9  31  81    0.000    0.000       0
+  0     99 00:07:23.60   4.5600A   9.8606  -8.0965  -6.6332  0.256  0.87  -0.238    400.  0.157E+02  0.708E+00  0.965E-04  0.438E-05    4  52  77    1  47  81    9  31  81    0.000    0.000       0
+  0    100 00:07:28.16   4.5600A   9.8679  -8.0300  -6.2868  0.256  0.87  -0.239    400.  0.157E+02  0.716E+00  0.973E-04  0.436E-05    4  52  77    1  47  81    9  31  81    0.000    0.000       0
+  0    101 00:07:32.75   4.5900A   9.8141  -8.0622   6.1351  0.256  0.87  -0.239    400.  0.157E+02  0.724E+00  0.987E-04  0.437E-05    4  52  77    1  46  82    2  33  79    0.000    0.000       0
+  0    102 00:07:37.38   4.6300A   9.7172  -8.0760   6.2040  0.256  0.87  -0.240    400.  0.157E+02  0.731E+00  0.100E-03  0.439E-05    4  52  77    1  46  82    2  33  79    0.000    0.000       0
+  0    103 00:07:42.03   4.6500A   9.6710  -8.0547   6.2772  0.256  0.87  -0.240    400.  0.157E+02  0.739E+00  0.102E-03  0.439E-05    3  51  80    1  46  82    2  33  79    0.000    0.000       0
+  0    104 00:07:46.66   4.6300A   9.7122  -8.0368   6.3422  0.257  0.87  -0.239    400.  0.157E+02  0.746E+00  0.102E-03  0.436E-05    3  51  80    1  44  83    2  33  79    0.000    0.000       0
+  0    105 00:07:51.30   4.6400A   9.6896  -8.1986   6.3904  0.257  0.87  -0.239    400.  0.157E+02  0.753E+00  0.103E-03  0.435E-05    3  51  80    1  44  83    2  33  79    0.000    0.000       0
+  0    106 00:07:55.94   4.6400A   9.6997  -8.3117   6.4180  0.257  0.87  -0.239    400.  0.157E+02  0.760E+00  0.104E-03  0.433E-05    3  51  81    1  44  83    2  33  79    0.000    0.000       0
+  0    107 00:08:00.58   4.6400A   9.7052  -8.3627   6.4254  0.257  0.87  -0.239    400.  0.157E+02  0.767E+00  0.105E-03  0.432E-05    5  53  73    1  44  83    2  33  79    0.000    0.000       0
+  0    108 00:08:05.20   4.6200A   9.7364  -8.3679   6.4138  0.257  0.87  -0.239    400.  0.157E+02  0.774E+00  0.105E-03  0.429E-05    5  53  73    1  44  83    2  33  79    0.000    0.000       0
+  0    109 00:08:09.80   4.6000A   9.7869  -8.4452   6.3841  0.257  0.90  -0.243    450.  0.157E+02  0.781E+00  0.106E-03  0.426E-05    6  49  86    1  43  82    2  33  79    0.000    0.000       0
+  0    110 00:08:14.43   4.6300A   9.7211  -8.5632   6.3355  0.257  0.90  -0.241    450.  0.157E+02  0.787E+00  0.107E-03  0.428E-05    6  49  86    1  43  82    2  33  79    0.000    0.000       0
+  0    111 00:08:18.95   4.5200A   9.9460  -8.6403   6.5329  0.257  0.90  -0.241    450.  0.157E+02  0.794E+00  0.105E-03  0.418E-05    6  49  87    1  43  82    4  40  82    0.000    0.000       0
+  0    112 00:08:23.43   4.4800A  10.0381  -8.6918   6.5803  0.258  0.90  -0.242    450.  0.156E+02  0.800E+00  0.105E-03  0.413E-05    6  49  87    1  43  82    4  40  82    0.000    0.000       0
+  0    113 00:08:27.99   4.5600A   9.8711  -8.7222   6.5178  0.258  0.90  -0.243    450.  0.156E+02  0.806E+00  0.108E-03  0.419E-05    6  49  87    1  43  82    1  33  79    0.000    0.000       0
+  0    114 00:08:32.47   4.4800A  10.0415  -8.8352   6.5245  0.258  0.90  -0.243    450.  0.156E+02  0.812E+00  0.107E-03  0.412E-05    6  49  88    1  43  83    1  33  79    0.000    0.000       0
+  0    115 00:08:36.95   4.4800A  10.0338  -8.9621   6.5051  0.258  0.90  -0.242    450.  0.156E+02  0.818E+00  0.107E-03  0.410E-05    6  49  88    1  43  83    1  33  79    0.000    0.000       0
+  0    116 00:08:41.52   4.5700A   9.8492  -9.0554   6.4478  0.258  0.90  -0.243    450.  0.156E+02  0.824E+00  0.110E-03  0.415E-05    3  51  81    1  43  83    1  33  79    0.000    0.000       0
+  0    117 00:08:46.03   4.5100A   9.9852  -9.0804   6.3824  0.258  0.87  -0.243    400.  0.156E+02  0.829E+00  0.110E-03  0.410E-05    3  51  81    1  43  83    5  39  86    0.000    0.000       0
+  0    118 00:08:50.51   4.4800A  10.0384  -9.0373   6.4910  0.258  0.87  -0.245    400.  0.156E+02  0.835E+00  0.110E-03  0.406E-05    3  51  81    1  42  82    5  39  86    0.000    0.000       0
+  0    119 00:08:55.01   4.5000A  10.0074  -9.1330   6.5596  0.258  0.87  -0.247    400.  0.156E+02  0.840E+00  0.111E-03  0.406E-05    3  51  81    1  42  82    5  39  86    0.000    0.000       0
+  0    120 00:08:59.54   4.5300A   9.9447  -9.1633   6.5538  0.258  0.99  -0.249    600.  0.156E+02  0.846E+00  0.113E-03  0.407E-05    3  51  82    1  42  82    5  39  86    0.000    0.000       0
+  0    121 00:09:04.05   4.5100A   9.9771  -9.0287   6.4354  0.258  0.99  -0.251    600.  0.156E+02  0.851E+00  0.113E-03  0.404E-05    3  51  82    1  42  82    5  39  86    0.000    0.000       0
+  0    122 00:09:08.58   4.5300A   9.9384  -8.8800   6.3718  0.258  0.99  -0.251    600.  0.156E+02  0.856E+00  0.115E-03  0.404E-05    3  51  82    1  42  83    7  39  90    0.000    0.000       0
+  0    123 00:09:13.15   4.5700A   9.8510  -8.7100   6.3494  0.258  0.87  -0.251    400.  0.156E+02  0.861E+00  0.116E-03  0.406E-05    3  51  82    1  42  84    7  39  90    0.000    0.000       0
+  0    124 00:09:17.77   4.6200A   9.7467  -8.4376   6.1963  0.259  0.87  -0.251    400.  0.156E+02  0.867E+00  0.118E-03  0.409E-05    3  51  82    1  42  84    7  39  90    0.000    0.000       0
+  0    125 00:09:22.40   4.6300A   9.7111  -8.4709   6.1598  0.259  0.87  -0.252    400.  0.156E+02  0.872E+00  0.119E-03  0.409E-05    4  52  77    1  40  83    7  39  91    0.000    0.000       0
+  0    126 00:09:27.06   4.6600A   9.6629  -8.3801   6.3521  0.259  0.87  -0.261    400.  0.156E+02  0.877E+00  0.120E-03  0.411E-05    3  51  81    1  43  87    7  40  91    0.000    0.000       0
+  0    127 00:09:31.65   4.5900A   9.7936  -8.2492   6.4535  0.259  0.87  -0.253    400.  0.156E+02  0.882E+00  0.119E-03  0.405E-05    3  51  81    1  43  87    4  32  85    0.000    0.000       0
+  0    128 00:09:36.20   4.5500A   9.9006  -8.2602   6.6101  0.259  0.87  -0.252    400.  0.156E+02  0.887E+00  0.119E-03  0.401E-05    3  51  81    1  44  86    4  32  85    0.000    0.000       0
+  0    129 00:09:40.73   4.5300A   9.9444  -8.0758   6.7539  0.259  0.87  -0.252    400.  0.156E+02  0.892E+00  0.119E-03  0.399E-05    3  51  81    1  44  86    9  40  91    0.000    0.000       0
+  0    130 00:09:45.23   4.5000A  10.0063  -7.9355   6.8685  0.259  0.83  -0.252    350.  0.155E+02  0.897E+00  0.119E-03  0.397E-05    3  51  82    1  42  87    4  32  85    0.000    0.000       0
+  0    131 00:09:49.71   4.4800A  10.0405  -8.0208   7.0269  0.259  0.83  -0.252    350.  0.155E+02  0.901E+00  0.119E-03  0.395E-05    3  51  82    1  42  87    4  32  85    0.000    0.000       0
+  0    132 00:09:54.21   4.5000A  10.0077  -7.8757   7.2053  0.259  0.83  -0.253    350.  0.155E+02  0.906E+00  0.120E-03  0.396E-05    3  51  83    1  42  87    4  32  85    0.000    0.000       0
+  0    133 00:09:58.68   4.4700A  10.0655  -7.7933   7.3753  0.259  0.83  -0.253    350.  0.155E+02  0.911E+00  0.120E-03  0.392E-05    3  51  83    1  43  86    4  32  85    0.000    0.000       0
+  0    134 00:10:03.16   4.4800A  10.0553  -7.9667   7.4986  0.259  0.83  -0.253    350.  0.155E+02  0.916E+00  0.121E-03  0.392E-05    3  51  83   12  36  84    4  32  85    0.000    0.000       0
+  0    135 00:10:07.67   4.5100A   9.9887  -8.0386   7.5520  0.259  0.83  -0.253    350.  0.155E+02  0.920E+00  0.122E-03  0.394E-05    3  51  83    1  41  87    4  32  85    0.000    0.000       0
+  0    136 00:10:12.12   4.4500A  10.1179  -8.0204   7.5309  0.259  0.83  -0.253    350.  0.155E+02  0.925E+00  0.121E-03  0.388E-05    2  50  85    1  41  87    4  32  85    0.000    0.000       0
+  0    137 00:10:16.55   4.4300A  10.1478   8.1092   7.7481  0.259  0.83  -0.254    350.  0.155E+02  0.929E+00  0.121E-03  0.386E-05    2  50  85    5  41  86   10  40  94    0.000    0.000       0
+  0    138 00:10:20.92   4.3700A  10.3072  -8.0956   7.7586  0.259  0.83  -0.255    350.  0.155E+02  0.934E+00  0.120E-03  0.381E-05    2  50  86   12  34  84    5  33  85    0.000    0.000       0
+  0    139 00:10:25.23   4.3100A  10.4416   8.1755   7.9443  0.260  0.83  -0.256    350.  0.155E+02  0.938E+00  0.119E-03  0.377E-05    2  50  86    5  42  86    5  33  85    0.000    0.000       0
+  0    140 00:10:29.54   4.3100A  10.4322   8.4148   8.0757  0.260  0.83  -0.258    350.  0.155E+02  0.943E+00  0.120E-03  0.377E-05    2  50  86    5  42  86    5  33  85    0.000    0.000       0
+  0    141 00:10:33.88   4.3400A  10.3587   7.8280   8.0652  0.260  0.83  -0.261    350.  0.155E+02  0.947E+00  0.121E-03  0.380E-05    2  49  88    5  42  86    5  33  85    0.000    0.000       0
+  0    142 00:10:38.18   4.3000A  10.4664   8.1789   7.8324  0.260  0.83  -0.262    350.  0.155E+02  0.952E+00  0.120E-03  0.378E-05    2  50  87    5  43  86    5  32  86    0.000    0.000       0
+  0    143 00:10:42.48   4.3000A  10.4643   8.2905   8.0451  0.260  0.83  -0.261    350.  0.155E+02  0.956E+00  0.121E-03  0.377E-05    2  50  87    5  43  86    4  35  86    0.000    0.000       0
+  0    144 00:10:46.78   4.3000A  10.4648   7.5493   8.0428  0.260  0.83  -0.259    350.  0.155E+02  0.960E+00  0.121E-03  0.377E-05    2  49  89    5  43  86    6  33  85    0.000    0.000       0
+  0    145 00:10:51.05   4.2700A  10.5308   7.3464   7.8987  0.260  0.87  -0.258    400.  0.155E+02  0.965E+00  0.121E-03  0.374E-05    2  49  89    5  44  86    6  32  86    0.000    0.000       0
+  0    146 00:10:55.35   4.3000A  10.4616   7.2487   7.6723  0.260  0.87  -0.257    400.  0.155E+02  0.969E+00  0.122E-03  0.376E-05    2  49  89    5  44  86    6  32  86    0.000    0.000       0
+  0    147 00:10:59.67   4.3200A  10.4253   7.2250   7.2774  0.260  0.87  -0.258    400.  0.155E+02  0.973E+00  0.123E-03  0.377E-05    2  49  90    1  42 102    6  32  86    0.000    0.000       0
+  0    148 00:11:03.97   4.3000A  10.4732   7.2766   7.2232  0.260  0.87  -0.259    400.  0.155E+02  0.978E+00  0.123E-03  0.375E-05    2  49  90    9  41  94    7  32  86    0.000    0.000       0
+  0    149 00:11:08.30   4.3300A  10.3923   7.6764   7.0049  0.260  0.87  -0.261    400.  0.154E+02  0.982E+00  0.124E-03  0.376E-05    2  49  90    1  44 102    7  32  86    0.000    0.000       0
+  0    150 00:11:12.64   4.3400A  10.3649   7.9721   6.6974  0.260  0.87  -0.264    400.  0.154E+02  0.987E+00  0.124E-03  0.377E-05    2  49  91    1  44 102    5  30  87    0.000    0.000       0
+  0    151 00:11:17.00   4.3600A  10.3224   7.8088   6.9350  0.260  0.87  -0.263    400.  0.154E+02  0.991E+00  0.125E-03  0.378E-05    2  49  91    9  42  94    7  32  85    0.000    0.000       0
+  0    152 00:11:21.37   4.3700A  10.2989   8.3086   6.8999  0.260  0.87  -0.263    400.  0.154E+02  0.996E+00  0.125E-03  0.379E-05    2  49  92    9  43  94    7  31  87    0.000    0.000       0
+  0    153 00:11:25.76   4.3900A  10.2541   8.4661   6.9527  0.260  0.87  -0.263    400.  0.154E+02  0.100E+01  0.126E-03  0.380E-05    2  49  92    9  43  94    7  31  87    0.000    0.000       0
+  0    154 00:11:30.18   4.4200A  10.1916   7.9723   6.9031  0.260  0.87  -0.263    400.  0.154E+02  0.101E+01  0.127E-03  0.382E-05    2  48  93    9  43  94    6  30  88    0.000    0.000       0
+  0    155 00:11:34.61   4.4300A  10.1576   8.3739   6.8382  0.260  0.87  -0.262    400.  0.154E+02  0.101E+01  0.127E-03  0.383E-05    2  49  93    9  43  95    6  30  88    0.000    0.000       0
+  0    156 00:11:39.05   4.4400A  10.1330   8.3279   6.9060  0.260  0.87  -0.263    400.  0.154E+02  0.101E+01  0.127E-03  0.384E-05    2  48  94    9  43  95    8  31  87    0.000    0.000       0
+  0    157 00:11:43.52   4.4700A  10.0628   8.0559   7.0165  0.260  0.87  -0.267    400.  0.154E+02  0.102E+01  0.128E-03  0.387E-05    2  48  94    9  45  95    8  31  87    0.000    0.000       0
+  0    158 00:11:48.04   4.5200A   9.9577   8.2356   6.9274  0.260  0.87  -0.266    400.  0.154E+02  0.102E+01  0.130E-03  0.392E-05    2  48  94    9  45  95    7  30  88    0.000    0.000       0
+  0    159 00:11:52.59   4.5500A   9.8943   7.9014   7.0163  0.260  0.87  -0.265    400.  0.154E+02  0.103E+01  0.131E-03  0.395E-05    2  49  91    9  46  95    7  30  88    0.000    0.000       0
+  0    160 00:11:57.09   4.5000A  10.0018   7.8517   7.0482  0.260  0.87  -0.265    400.  0.154E+02  0.104E+01  0.129E-03  0.392E-05    2  49  91    9  46  95    7  30  88    0.000    0.000       0
+  0    161 00:12:01.58   4.4900A  10.0227   7.9332   7.0282  0.260  0.87  -0.266    400.  0.154E+02  0.104E+01  0.129E-03  0.392E-05    2  49  91    9  45  96    7  30  88    0.000    0.000       0
+  0    162 00:12:06.07   4.4900A  10.0178   7.6111   6.9716  0.260  0.87  -0.267    400.  0.154E+02  0.105E+01  0.129E-03  0.392E-05    2  49  92    9  45  96    7  30  88    0.000    0.000       0
+  0    163 00:12:10.55   4.4800A  10.0461   7.3192   6.8921  0.260  0.87  -0.270    400.  0.154E+02  0.105E+01  0.129E-03  0.392E-05    2  49  92    9  46  96    7  30  88    0.000    0.000       0
+  0    164 00:12:15.05   4.5000A  10.0021  -7.1220   6.9825  0.260  0.87  -0.272    400.  0.154E+02  0.106E+01  0.130E-03  0.393E-05    2  49  92   11  33  52    4  33  85    0.000    0.000       0
+  0    165 00:12:19.58   4.5300A   9.9347   7.1509   6.8708  0.260  0.87  -0.273    400.  0.154E+02  0.106E+01  0.131E-03  0.395E-05    2  49  94    9  45  97    7  29  89    0.000    0.000       0
+  0    166 00:12:24.10   4.5200A   9.9448  -7.0229   6.9253  0.260  0.87  -0.274    400.  0.154E+02  0.107E+01  0.131E-03  0.394E-05    2  48  96   11  33  52    7  29  89    0.000    0.000       0
+  0    167 00:12:28.61   4.5100A   9.9771   6.9525   6.9588  0.260  0.87  -0.273    400.  0.154E+02  0.107E+01  0.130E-03  0.393E-05    2  48  96   10  35  93    8  30  88    0.000    0.000       0
+  0    168 00:12:33.12   4.5100A   9.9797  -6.8637   6.9135  0.260  0.87  -0.274    400.  0.154E+02  0.108E+01  0.130E-03  0.392E-05    2  48  97   15  36  54    8  30  88    0.000    0.000       0
+  0    169 00:12:37.59   4.4700A  10.0655  -6.8628   6.7501  0.260  0.87  -0.276    400.  0.154E+02  0.108E+01  0.129E-03  0.389E-05    2  48  97   15  36  54    8  30  88    0.000    0.000       0
+  0    170 00:12:42.10   4.5100A   9.9732  -6.8483   6.5815  0.260  0.99  -0.281    600.  0.154E+02  0.109E+01  0.130E-03  0.391E-05    2  48  97   15  36  54    3  40  95    0.000    0.000       0
+  0    171 00:12:46.55   4.4500A  10.1197   7.2210   6.6192  0.260  0.99  -0.280    600.  0.153E+02  0.110E+01  0.129E-03  0.387E-05    2  48  98   11  38  93    3  40  95    0.000    0.000       0
+  0    172 00:12:50.99   4.4400A  10.1319   7.5926   6.5569  0.260  0.83  -0.281    350.  0.153E+02  0.110E+01  0.128E-03  0.386E-05    2  48  98   11  38  93    3  40  95    0.000    0.000       0
+  0    173 00:12:55.50   4.5100A   9.9738   7.6363   6.4791  0.260  0.83  -0.282    350.  0.153E+02  0.111E+01  0.130E-03  0.391E-05    2  48  99   11  38  93    3  41  99    0.000    0.000       0
+  0    174 00:12:59.92   4.4200A  10.1701   7.3718   6.6374  0.260  0.83  -0.281    350.  0.153E+02  0.111E+01  0.128E-03  0.384E-05    2  48  99   11  38  93    6  31  88    0.000    0.000       0
+  0    175 00:13:04.35   4.4300A  10.1525  -6.9257   6.6459  0.260  0.83  -0.280    350.  0.153E+02  0.112E+01  0.128E-03  0.384E-05    2  48  99   13  34  53    6  31  88    0.000    0.000       0
+  0    176 00:13:08.90   4.5500A   9.8937   7.1732   6.5051  0.260  0.83  -0.279    350.  0.153E+02  0.113E+01  0.131E-03  0.393E-05    2  48  99   12  36  91    6  31  88    0.000    0.000       0
+  0    177 00:13:13.40   4.5000A  10.0051   7.4061   6.5163  0.260  0.83  -0.280    350.  0.153E+02  0.113E+01  0.130E-03  0.389E-05    2  48 100   12  36  91    7  31  88    0.000    0.000       0
+  0    178 00:13:17.90   4.5000A   9.9893   7.2676   6.4535  0.260  0.83  -0.281    350.  0.153E+02  0.114E+01  0.130E-03  0.387E-05    2  48 100   12  36  91    7  31  88    0.000    0.000       0
+  0    179 00:13:22.51   4.6100A   9.7601   7.1878   6.2887  0.260  0.83  -0.281    350.  0.153E+02  0.114E+01  0.133E-03  0.394E-05    2  48 100   11  41  92    4  41 100    0.000    0.000       0
+  0    180 00:13:27.17   4.6600A   9.6535  -7.1578   6.2101  0.261  0.83  -0.283    350.  0.153E+02  0.115E+01  0.134E-03  0.396E-05    2  48 101   13  34  53    4  41 100    0.000    0.000       0
+  0    181 00:13:31.84   4.6700A   9.6270  -7.2247   6.3440  0.261  0.83  -0.286    350.  0.153E+02  0.116E+01  0.134E-03  0.396E-05    5  20  75   13  33  53    7  32  90    0.000    0.000       0
+  0    182 00:13:36.51   4.6700A   9.6281  -7.3956   6.5770  0.261  0.83  -0.287    350.  0.153E+02  0.116E+01  0.134E-03  0.393E-05    5  20  75   13  33  53    7  32  90    0.000    0.000       0
+  0    183 00:13:41.18   4.6700A   9.6351  -7.5000   6.6088  0.261  0.83  -0.285    350.  0.153E+02  0.117E+01  0.135E-03  0.391E-05    5  20  73   13  33  53    7  32  90    0.000    0.000       0
+  0    184 00:13:45.83   4.6500A   9.6770  -7.5237   6.6091  0.261  1.41  -0.284   1734.  0.153E+02  0.117E+01  0.134E-03  0.388E-05    5  20  73   13  33  53    6  31  91    0.000    0.000       0
+  0    185 00:13:50.48   4.6500A   9.6832  -7.6291   6.6231  0.261  1.41  -0.284   1734.  0.153E+02  0.118E+01  0.135E-03  0.386E-05    5  20  73   12  34  52    6  31  91    0.000    0.000       0
+  0    186 00:13:55.12   4.6400A   9.7034  -7.6097   6.6678  0.261  1.41  -0.283   1734.  0.153E+02  0.119E+01  0.135E-03  0.384E-05    5  20  75   12  34  52    8  32  90    0.000    0.000       0
+  0    187 00:13:59.75   4.6300A   9.7172  -7.4893   6.5687  0.262  1.41  -0.283   1734.  0.153E+02  0.119E+01  0.135E-03  0.382E-05    5  20  75   12  34  52    8  32  90    0.000    0.000       0
+  0    188 00:14:04.36   4.6100A   9.7703  -7.3228   6.4358  0.262  1.41  -0.284   1734.  0.153E+02  0.120E+01  0.134E-03  0.380E-05    2  22  78   12  34  52    4  43 104    0.000    0.000       0
+  0    189 00:14:08.95   4.5900A   9.8110  -7.2387   6.4041  0.262  1.16  -0.284    950.  0.153E+02  0.120E+01  0.134E-03  0.377E-05    2  22  78   13  34  53    4  43 104    0.000    0.000       0
+  0    190 00:14:13.31   4.3600A  10.3259  -7.3694   6.0951  0.262  1.16  -0.286    950.  0.153E+02  0.121E+01  0.128E-03  0.359E-05   12  20 106   13  34  53    4  43 104    0.000    0.000       0
+  0    191 00:14:17.90   4.5900A   9.7998  -7.4402   6.1597  0.262  1.16  -0.291    950.  0.153E+02  0.121E+01  0.135E-03  0.374E-05    5  20  79   13  34  53    4  43 105    0.000    0.000       0
+  0    192 00:14:22.20   4.3000A  10.4715  -7.4293   6.0772  0.262  1.16  -0.304    950.  0.153E+02  0.122E+01  0.127E-03  0.353E-05   12  20 107   13  34  53    4  43 105    0.000    0.000       0
+  0    193 00:14:26.68   4.4800A  10.0546  -7.3444   5.9455  0.263  1.16  -0.289    950.  0.153E+02  0.122E+01  0.132E-03  0.364E-05   12  20 107   13  34  53    4  43 106    0.000    0.000       0
+  0    194 00:14:31.16   4.4800A  10.0373  -7.1903   5.9477  0.263  1.16  -0.287    950.  0.153E+02  0.123E+01  0.133E-03  0.363E-05   12  20 108   13  34  53    4  43 106    0.000    0.000       0
+  0    195 00:14:35.66   4.5000A  10.0026  -6.9985   5.8839  0.263  1.02  -0.285    650.  0.153E+02  0.123E+01  0.134E-03  0.363E-05    3  23  77   13  34  53    6  31  91    0.000    0.000       0
+  0    196 00:14:40.10   4.4400A  10.1296  -6.8754   5.8995  0.263  1.02  -0.285    650.  0.153E+02  0.123E+01  0.132E-03  0.358E-05    3  23  77   14  35  53    6  31  91    0.000    0.000       0
+  0    197 00:14:44.50   4.4000A  10.2296  -6.7930   5.8874  0.263  1.02  -0.285    650.  0.152E+02  0.124E+01  0.131E-03  0.352E-05    3  23  77   14  35  53    6  31  92    0.000    0.000       0
+  0    198 00:14:48.88   4.3800A  10.2764  -6.6714   5.9708  0.264  1.02  -0.285    650.  0.152E+02  0.124E+01  0.131E-03  0.348E-05    3  23  77   12  33  52    4  31  90    0.000    0.000       0
+  0    199 00:14:53.27   4.3900A  10.2537  -6.6600   5.9986  0.264  1.02  -0.287    650.  0.152E+02  0.125E+01  0.132E-03  0.347E-05    3  23  77   11  33  52    4  31  90    0.000    0.000       0
+  0    200 00:14:57.70   4.4300A  10.1606  -6.6590   6.0699  0.264  1.02  -0.291    650.  0.152E+02  0.125E+01  0.133E-03  0.348E-05    3  23  77    1  31  84    5  31  90    0.000    0.000       0
+  0    201 00:15:02.10   4.4000A  10.2264  -7.1471   6.2434  0.264  1.02  -0.292    650.  0.152E+02  0.125E+01  0.133E-03  0.344E-05    3  23  78    1  31  84    5  31  91    0.000    0.000       0
+  0    202 00:15:06.47   4.3700A  10.3018  -7.1570   6.4455  0.265  1.02  -0.290    650.  0.152E+02  0.126E+01  0.132E-03  0.340E-05    3  23  80    1  31  84    5  31  91    0.000    0.000       0
+  0    203 00:15:10.82   4.3500A  10.3379  -6.7757   6.5959  0.265  1.02  -0.289    650.  0.152E+02  0.126E+01  0.132E-03  0.337E-05    3  23  80    1  31  84    5  31  91    0.000    0.000       0
+  0    204 00:15:15.19   4.3700A  10.3041  -6.7709   6.6775  0.265  1.02  -0.289    650.  0.152E+02  0.126E+01  0.133E-03  0.337E-05    3  23  80   16  37  54    5  31  91    0.000    0.000       0
+  0    205 00:15:19.60   4.4100A  10.2049  -6.8021   6.6836  0.265  1.02  -0.289    650.  0.152E+02  0.127E+01  0.134E-03  0.339E-05    3  23  80   16  37  54    5  31  91    0.000    0.000       0
+  0    206 00:15:24.04   4.4400A  10.1314  -6.8154   6.6154  0.266  1.02  -0.292    650.  0.152E+02  0.127E+01  0.135E-03  0.341E-05    3  23  81   16  37  54    5  31  91    0.000    0.000       0
+  0    207 00:15:28.48   4.4400A  10.1292  -6.8115   6.6028  0.266  0.99  -0.291    600.  0.152E+02  0.127E+01  0.136E-03  0.340E-05    2  24  81   16  37  54    6  31  92    0.000    0.000       0
+  0    208 00:15:32.89   4.4100A  10.1971  -6.9101   6.6131  0.266  0.99  -0.290    600.  0.152E+02  0.128E+01  0.135E-03  0.337E-05    2  24  83   13  35  52    6  31  92    0.000    0.000       0
+  0    209 00:15:37.27   4.3800A  10.2811  -7.1340   6.5006  0.266  0.99  -0.291    600.  0.152E+02  0.128E+01  0.135E-03  0.334E-05    2  24  83   13  35  52    6  31  92    0.000    0.000       0
+  0    210 00:15:41.64   4.3700A  10.3038  -7.3382   6.2675  0.267  0.99  -0.291    600.  0.152E+02  0.128E+01  0.135E-03  0.332E-05    2  24  83   13  35  52    6  31  92    0.000    0.000       0
+  0    211 00:15:46.02   4.3800A  10.2647  -7.4988   6.2663  0.267  0.99  -0.291    600.  0.152E+02  0.128E+01  0.135E-03  0.332E-05    2  24  83   13  35  52    6  32  91    0.000    0.000       0
+  0    212 00:15:50.43   4.4100A  10.2127  -7.5884   6.2867  0.267  0.99  -0.293    600.  0.152E+02  0.129E+01  0.137E-03  0.334E-05    2  22  82   13  35  52    6  32  91    0.000    0.000       0
+  0    213 00:15:54.88   4.4500A  10.1059  -7.5857   6.2011  0.267  0.99  -0.294    600.  0.152E+02  0.129E+01  0.138E-03  0.336E-05    2  22  82   13  35  52    6  32  91    0.000    0.000       0
+  0    214 00:15:59.34   4.4600A  10.0787  -7.4850   6.0251  0.268  0.99  -0.295    600.  0.152E+02  0.129E+01  0.138E-03  0.335E-05    2  24  84   13  35  52    8  34  97    0.000    0.000       0
+  0    215 00:16:03.82   4.4800A  10.0381  -7.3016   6.1376  0.268  0.99  -0.297    600.  0.152E+02  0.129E+01  0.139E-03  0.336E-05    5  19  84   13  35  52    8  34  97    0.000    0.000       0
+  0    216 00:16:08.34   4.5200A   9.9510  -7.1633   6.0258  0.268  0.99  -0.299    600.  0.152E+02  0.130E+01  0.141E-03  0.338E-05    2  22  84   12  34  52    8  34  97    0.000    0.000       0
+  0    217 00:16:12.89   4.5500A   9.8875  -7.1972   5.9196  0.269  0.99  -0.300    600.  0.152E+02  0.130E+01  0.142E-03  0.340E-05    5  19  85   12  34  52    9  34  97    0.000    0.000       0
+  0    218 00:16:17.43   4.5400A   9.9155  -7.1444   5.9413  0.269  0.99  -0.303    600.  0.151E+02  0.130E+01  0.142E-03  0.339E-05    5  19  86   12  34  52    2  30  89    0.000    0.000       0
+  0    219 00:16:22.01   4.5800A   9.8269  -7.0334   6.1309  0.269  0.99  -0.300    600.  0.151E+02  0.130E+01  0.144E-03  0.341E-05    5  19  86   12  34  52    2  30  89    0.000    0.000       0
+  0    220 00:16:26.64   4.6300A   9.7192  -6.9899   6.2427  0.270  0.99  -0.300    600.  0.151E+02  0.131E+01  0.146E-03  0.345E-05    5  19  87    1  33  89    2  30  89    0.000    0.000       0
+  0    221 00:16:31.29   4.6500A   9.6685  -7.1324   6.2283  0.270  0.99  -0.302    600.  0.151E+02  0.131E+01  0.147E-03  0.347E-05    3  53  81    1  32  87    2  30  89    0.000    0.000       0
+  0    222 00:16:35.93   4.6400A   9.6909  -7.2289   6.1389  0.270  0.99  -0.304    600.  0.151E+02  0.131E+01  0.147E-03  0.346E-05    3  53  82    1  32  87    3  29  90    0.000    0.000       0
+  0    223 00:16:40.56   4.6300A   9.7154   7.0029   6.4211  0.271  0.99  -0.306    600.  0.151E+02  0.131E+01  0.147E-03  0.346E-05    3  53  83    2  29  95    3  29  90    0.000    0.000       0
+  0    224 00:16:44.96   4.4000A  10.2373   7.2410   6.7047  0.271  0.99  -0.307    600.  0.151E+02  0.132E+01  0.141E-03  0.330E-05   11   9 121    2  29  95    3  30  89    0.000    0.000       0
+  0    225 00:16:49.39   4.4300A  10.1609   7.1462   7.0318  0.271  0.99  -0.310    600.  0.151E+02  0.132E+01  0.142E-03  0.331E-05   11   9 121    2  29  95    3  30  89    0.000    0.000       0
+  0    226 00:16:54.05   4.6600A   9.6654  -6.9526   7.1918  0.272  0.99  -0.315    600.  0.151E+02  0.132E+01  0.149E-03  0.347E-05    3  51  88    1  42  94    3  30  89    0.000    0.000       0
+  0    227 00:16:58.66   4.6100A   9.7699  -6.9793   7.1610  0.272  0.99  -0.316    600.  0.151E+02  0.132E+01  0.148E-03  0.345E-05   11   9 123    1  42  95    3  30  89    0.000    0.000       0
+  0    228 00:17:03.30   4.6400A   9.7020  -6.9710   7.1883  0.272  0.99  -0.316    600.  0.151E+02  0.133E+01  0.149E-03  0.348E-05    2  48 104    1  42  95    4  29  90    0.000    0.000       0
+  0    229 00:17:07.88   4.5800A   9.8234  -6.9883   7.2078  0.273  0.99  -0.318    600.  0.151E+02  0.133E+01  0.147E-03  0.344E-05    2  48 104    1  42  96    4  29  90    0.000    0.000       0
+  0    230 00:17:12.47   4.5900A   9.8000  -6.9965   7.0504  0.273  0.99  -0.326    600.  0.151E+02  0.133E+01  0.148E-03  0.344E-05    2  48 104    1  41  95    5  28  91    0.000    0.000       0
+  0    231 00:17:16***   4.5300A   9.9381  -7.1386   7.1787  0.273  0.99  -0.321    600.  0.151E+02  0.134E+01  0.146E-03  0.340E-05    2  48 105    1  41  96    5  28  91    0.000    0.000       0
+  0    232 00:17:21.52   4.5200A   9.9451  -7.2105   7.0791  0.274  1.02  -0.318    650.  0.151E+02  0.134E+01  0.146E-03  0.339E-05    2  48 105    1  41  96    5  28  91    0.000    0.000       0
+  0    233 00:17:26.04   4.5200A   9.9615  -7.1920   6.7130  0.274  1.02  -0.321    650.  0.151E+02  0.134E+01  0.146E-03  0.339E-05    2  48 106    1  41  96    3  30  92    0.000    0.000       0
+  0    234 00:17:30.54   4.5000A  10.0087  -7.3504   7.0197  0.275  1.02  -0.318    650.  0.151E+02  0.134E+01  0.146E-03  0.337E-05    2  48 106    1  40  96    4  30  92    0.000    0.000       0
+  0    235 00:17:35.10   4.5600A   9.8773  -7.4378   7.2134  0.275  1.02  -0.319    650.  0.151E+02  0.135E+01  0.148E-03  0.341E-05    2  48 106    1  40  96    4  30  92    0.000    0.000       0
+  0    236 00:17:39.61   4.5100A   9.9794  -7.4080   7.1061  0.275  1.02  -0.318    650.  0.151E+02  0.135E+01  0.147E-03  0.338E-05    2  48 107    1  40  96    4  30  92    0.000    0.000       0
+  0    237 00:17:44.15   4.5400A   9.9060  -7.5015   7.1882  0.276  1.02  -0.328    650.  0.151E+02  0.135E+01  0.148E-03  0.340E-05    2  48 107    1  39  96    5  30  92    0.000    0.000       0
+  0    238 00:17:48.73   4.5800A   9.8292  -7.5538   7.3978  0.276  1.02  -0.316    650.  0.150E+02  0.135E+01  0.149E-03  0.342E-05    2  23  83    1  39  96    5  30  92    0.000    0.000       0
+  0    239 00:17:53.31   4.5800A   9.8279  -7.5068   7.3387  0.276  1.02  -0.316    650.  0.150E+02  0.136E+01  0.150E-03  0.341E-05    2  48 108    1  38  96    4  30  94    0.000    0.000       0
+  0    240 00:17:57.90   4.5900A   9.8139  -7.6764   7.0742  0.277  1.02  -0.309    650.  0.150E+02  0.136E+01  0.150E-03  0.341E-05    2  22  80    1  38  96    4  30  94    0.000    0.000       0
+  0    241 00:18:02.46   4.5600A   9.8665  -7.7300   6.9979  0.277  1.02  -0.308    650.  0.150E+02  0.136E+01  0.150E-03  0.338E-05    2  22  80    1  38  96    6  30  93    0.000    0.000       0
+  0    242 00:18:07.03   4.5700A   9.8520  -7.6784   6.9417  0.277  1.02  -0.310    650.  0.150E+02  0.137E+01  0.150E-03  0.337E-05    2  22  80    1  38  96    6  30  93    0.000    0.000       0
+  0    243 00:18:11.61   4.5800A   9.8345  -7.5457   6.7919  0.278  1.02  -0.305    650.  0.150E+02  0.137E+01  0.151E-03  0.337E-05    2  23  84    1  38  96    3  30  95    0.000    0.000       0
+  0    244 00:18:16.19   4.5800A   9.8275  -7.7567   6.8592  0.278  1.16  -0.302    950.  0.150E+02  0.137E+01  0.151E-03  0.336E-05    2  23  82    1  35  96    3  30  95    0.000    0.000       0
+  0    245 00:18:20.75   4.5600A   9.8617  -8.1239   6.8121  0.279  1.16  -0.300    950.  0.150E+02  0.138E+01  0.151E-03  0.334E-05    2  22  83    1  35  96    5  29  94    0.000    0.000       0
+  0    246 00:18:25.26   4.5100A   9.9841  -8.2586   6.8596  0.279  1.16  -0.301    950.  0.150E+02  0.138E+01  0.149E-03  0.329E-05    2  22  83    1  35  96    5  29  95    0.000    0.000       0
+  0    247 00:18:29.74   4.4800A  10.0486  -8.2448   7.0456  0.279  1.02  -0.300    650.  0.150E+02  0.138E+01  0.148E-03  0.326E-05    2  22  83    1  34  96    5  29  95    0.000    0.000       0
+  0    248 00:18:34.23   4.4900A  10.0273  -8.8298   7.4487  0.280  1.02  -0.303    650.  0.150E+02  0.138E+01  0.149E-03  0.325E-05    2  22  83    1  34  96    4  30  96    0.000    0.000       0
+  0    249 00:18:38.76   4.5300A   9.9325  -9.1144   7.7024  0.280  1.02  -0.304    650.  0.150E+02  0.139E+01  0.150E-03  0.327E-05    2  52  91    1  34  96    4  30  96    0.000    0.000       0
+  0    250 00:18:43.28   4.5200A   9.9454  -9.0534   7.5975  0.280  1.02  -0.300    650.  0.150E+02  0.139E+01  0.150E-03  0.325E-05    2  23  85    1  34  96    4  30  96    0.000    0.000       0
+  0    251 00:18:47.80   4.5200A   9.9640  -8.6924   7.3627  0.281  0.93  -0.295    500.  0.150E+02  0.139E+01  0.150E-03  0.324E-05    2  52  92    1  34  96    5  30  96    0.000    0.000       0
+  0    252 00:18:52.34   4.5400A   9.9043  -8.5389   7.3973  0.281  0.93  -0.292    500.  0.150E+02  0.139E+01  0.151E-03  0.324E-05    2  52  92    1  33  96    5  30  96    0.000    0.000       0
+  0    253 00:18:56.84   4.5000A  10.0014  -8.5103   7.4231  0.281  0.93  -0.307    500.  0.150E+02  0.140E+01  0.150E-03  0.321E-05    2  22  86    1  33  96    5  30  97    0.000    0.000       0
+  0    254 00:19:01.33   4.4900A  10.0307  -8.2060   7.4985  0.282  0.93  -0.293    500.  0.150E+02  0.140E+01  0.150E-03  0.318E-05    2  22  86    1  33  96    5  30  97    0.000    0.000       0
+  0    255 00:19:05.84   4.5100A   9.9853  -7.9952   7.2666  0.282  0.96  -0.293    550.  0.150E+02  0.140E+01  0.151E-03  0.318E-05    2  22  86    1  33  97    5  30  97    0.000    0.000       0
+  0    256 00:19:10.37   4.5300A   9.9259  -7.7827   6.9945  0.282  0.96  -0.290    550.  0.150E+02  0.140E+01  0.152E-03  0.318E-05    4  17  85    1  33  97    6  30  97    0.000    0.000       0
+  0    257 00:19:14.87   4.5000A  10.0021  -7.9334   6.8150  0.282  0.96  -0.290    550.  0.150E+02  0.140E+01  0.151E-03  0.316E-05    4  17  85    1  31  96    6  30  97    0.000    0.000       0
+  0    258 00:19:19.37   4.5000A   9.9934  -7.6955   6.5619  0.283  0.96  -0.287    550.  0.150E+02  0.141E+01  0.151E-03  0.315E-05    4  17  86    1  31  96    5  29  97    0.000    0.000       0
+  0    259 00:19:23.83   4.4600A  10.0987  -7.3249   6.4209  0.283  0.96  -0.287    550.  0.150E+02  0.141E+01  0.150E-03  0.311E-05    4  17  86    1  32  97    6  29  97    0.000    0.000       0
+  0    260 00:19:28.32   4.4900A  10.0201  -7.5261   6.4213  0.283  0.96  -0.283    550.  0.150E+02  0.141E+01  0.151E-03  0.311E-05    4  17  86    1  32  97    6  29  97    0.000    0.000       0
+  0    261 00:19:32.84   4.5200A   9.9509  -7.6263   6.3243  0.284  0.96  -0.284    550.  0.149E+02  0.141E+01  0.152E-03  0.312E-05    4  17  87    1  32  97    6  29  97    0.000    0.000       0
+  0    262 00:19:37.40   4.5600A   9.8631  -7.5706   6.1584  0.284  0.99  -0.285    600.  0.149E+02  0.141E+01  0.154E-03  0.314E-05    4  17  87    1  32  97    6  29  97    0.000    0.000       0
+  0    263 00:19:41.99   4.5900A   9.8146  -7.6914   5.9473  0.284  0.99  -0.284    600.  0.149E+02  0.141E+01  0.155E-03  0.315E-05    4  17  88    1  31  98    6  29  97    0.000    0.000       0
+  0    264 00:19:46.56   4.5700A   9.8465  -7.5269   5.9463  0.284  0.99  -0.281    600.  0.149E+02  0.142E+01  0.154E-03  0.313E-05    4  17  89    1  31  98    6  28  97    0.000    0.000       0
+  0    265 00:19:51.15   4.5900A   9.8012  -7.1248   5.8342  0.285  0.99  -0.282    600.  0.149E+02  0.142E+01  0.155E-03  0.313E-05    4  17  89    1  32  96    6  28  97    0.000    0.000       0
+  0    266 00:19:55.81   4.6600A   9.6551  -6.8663   5.5801  0.285  0.99  -0.283    600.  0.149E+02  0.142E+01  0.158E-03  0.316E-05    9  13  91    3  41 101    6  28  97    0.000    0.000       0
+  0    267 00:20:00.53   4.7200A   9.5398  -6.9369   5.6682  0.285  0.96  -0.279    550.  0.149E+02  0.142E+01  0.160E-03  0.318E-05    4  17  90    1  30  98    5  28  94    0.000    0.000       0
+  0    268 00:20:05.19   4.6600A   9.6667  -6.8167   5.7290  0.285  0.96  -0.276    550.  0.149E+02  0.142E+01  0.158E-03  0.314E-05    2  24  92   12  34  52    5  28  94    0.000    0.000       0
+  0    269 00:20:09.83   4.6400A   9.7027   6.9268   5.9644  0.286  0.96  -0.276    550.  0.149E+02  0.142E+01  0.157E-03  0.312E-05    2  24  92    1  30  91    4  29  94    0.000    0.000       0
+  0    270 00:20:14.54   4.7100A   9.5571   6.9971   6.3531  0.286  0.96  -0.279    550.  0.149E+02  0.142E+01  0.160E-03  0.315E-05    2  24  92    1  29  91    4  29  94    0.000    0.000       0
+  0    271 00:20:19.25   4.7100A   9.5525   7.1892   6.5410  0.286  0.96  -0.277    550.  0.149E+02  0.143E+01  0.160E-03  0.314E-05    3  53  87    1  29  91    4  29  94    0.000    0.000       0
+  0    272 00:20:23.98   4.7300A   9.5075   7.4507   6.4766  0.286  0.96  -0.276    550.  0.149E+02  0.143E+01  0.161E-03  0.315E-05    3  53  87    1  29  91    4  29  94    0.000    0.000       0
+  0    273 00:20:28.67   4.6900A   9.5967   7.6347   6.2324  0.286  0.96  -0.275    550.  0.149E+02  0.143E+01  0.160E-03  0.312E-05    5  56  88    1  29  91    3  25  95    0.000    0.000       0
+  0    274 00:20:33.34   4.6700A   9.6257   7.5961   6.3453  0.287  0.96  -0.274    550.  0.149E+02  0.143E+01  0.159E-03  0.310E-05    5  56  88    1  29  91    3  25  95    0.000    0.000       0
+  0    275 00:20:38.01   4.6700A   9.6275   7.2940   6.3067  0.287  0.96  -0.273    550.  0.149E+02  0.143E+01  0.159E-03  0.310E-05    2  52  89    1  29  91    3  25  95    0.000    0.000       0
+  0    276 00:20:42.65   4.6400A   9.6990   6.7937   6.3749  0.287  0.96  -0.273    550.  0.149E+02  0.143E+01  0.158E-03  0.308E-05    5  56  89    1  29  91    4  25  96    0.000    0.000       0
+  0    277 00:20:47.28   4.6300A   9.7181  -6.7553   6.5420  0.287  0.96  -0.269    550.  0.149E+02  0.143E+01  0.158E-03  0.307E-05    2  52  87   14  35  53    5  29  93    0.000    0.000       0
+  0    278 00:20:51.93   4.6500A   9.6756  -6.7207   6.6613  0.287  0.96  -0.268    550.  0.149E+02  0.143E+01  0.159E-03  0.308E-05    2  54  88   14  35  53    5  29  93    0.000    0.000       0
+  0    279 00:20:56.54   4.6100A   9.7516   6.6984   6.7173  0.288  0.96  -0.268    550.  0.149E+02  0.144E+01  0.158E-03  0.305E-05    2  52  90    5  14 119    5  29  93    0.000    0.000       0
+  0    280 00:21:01.12   4.5800A   9.8289  -6.7072   6.7963  0.288  0.96  -0.271    550.  0.149E+02  0.144E+01  0.157E-03  0.302E-05    2  52  90   15  36  54    6  30  93    0.000    0.000       0
+  0    281 00:21:05.69   4.5700A   9.8556  -6.7268   6.9350  0.288  0.96  -0.267    550.  0.149E+02  0.144E+01  0.157E-03  0.300E-05    2  52  90   15  36  54    6  30  93    0.000    0.000       0
+  0    282 00:21:10.27   4.5800A   9.8283   6.7780   7.0670  0.288  0.96  -0.266    550.  0.148E+02  0.144E+01  0.157E-03  0.300E-05    2  52  90    5  12 121    6  29  93    0.000    0.000       0
+  0    283 00:21:14.84   4.5700A   9.8363   6.8312   7.4366  0.288  0.96  -0.266    550.  0.148E+02  0.144E+01  0.157E-03  0.298E-05    2  52  91    5  12 121    6  26  95    0.000    0.000       0
+  0    284 00:21:19.38   4.5400A   9.9116   6.8717   7.6000  0.289  0.96  -0.267    550.  0.148E+02  0.144E+01  0.156E-03  0.295E-05    2  52  91    5  12 122    6  26  95    0.000    0.000       0
+  0    285 00:21:23.93   4.5500A   9.8825   6.9645   7.3218  0.289  0.96  -0.267    550.  0.148E+02  0.144E+01  0.156E-03  0.294E-05    2  52  91    5  12 122    6  26  95    0.000    0.000       0
+  0    286 00:21:28.53   4.6000A   9.7846   7.0275   7.0817  0.289  0.96  -0.265    550.  0.148E+02  0.145E+01  0.158E-03  0.296E-05    2  52  92    5  12 122    6  30  93    0.000    0.000       0
+  0    287 00:21:33.09   4.5600A   9.8578   7.0501   7.0716  0.289  0.96  -0.265    550.  0.148E+02  0.145E+01  0.156E-03  0.293E-05    2  52  92    5  12 122    7  30  93    0.000    0.000       0
+  0    288 00:21:37.68   4.5900A   9.8145   7.0408   7.0548  0.290  0.96  -0.266    550.  0.148E+02  0.145E+01  0.157E-03  0.293E-05    2  52  92    5  12 122    7  30  93    0.000    0.000       0
+  0    289 00:21:42.32   4.6400A   9.7074   7.0531   6.9519  0.290  0.96  -0.267    550.  0.148E+02  0.145E+01  0.159E-03  0.295E-05    2  52  92    5  13 122    7  30  93    0.000    0.000       0
+  0    290 00:21:46.95   4.6300A   9.7281   7.0879   6.8244  0.290  0.96  -0.267    550.  0.148E+02  0.145E+01  0.159E-03  0.294E-05    2  52  93    5  13 122    6  25  97    0.000    0.000       0
+  0    291 00:21:51.60   4.6500A   9.6868   7.0992   6.7580  0.290  0.96  -0.268    550.  0.148E+02  0.145E+01  0.159E-03  0.294E-05    2  52  93    5  13 122    5  29  93    0.000    0.000       0
+  0    292 00:21:56.28   4.6800A   9.6118   7.1048   6.8294  0.291  0.96  -0.269    550.  0.148E+02  0.145E+01  0.160E-03  0.295E-05    2  54  94    5  13 122    8  29  93    0.000    0.000       0
+  0    293 00:22:00.98   4.7000A   9.5843   7.1137   7.0160  0.291  0.96  -0.267    550.  0.148E+02  0.145E+01  0.161E-03  0.296E-05    2  52  94    5  13 122    8  29  93    0.000    0.000       0
+  0    294 00:22:05.68   4.7000A   9.5674   7.1476   7.0498  0.291  0.96  -0.266    550.  0.148E+02  0.146E+01  0.161E-03  0.296E-05    2  54  95    4  12 123    8  29  93    0.000    0.000       0
+  0    295 00:22:10.40   4.7200A   9.5308   7.2010   6.9080  0.292  0.96  -0.268    550.  0.148E+02  0.146E+01  0.161E-03  0.297E-05    2  54  95    4  12 123    8  29  93    0.000    0.000       0
+  0    296 00:22:15.13   4.7300A   9.5196   7.2184   6.8098  0.292  0.99  -0.268    600.  0.148E+02  0.146E+01  0.162E-03  0.297E-05    3  18  86    4  12 123    9  29  93    0.000    0.000       0
+  0    297 00:22:19.86   4.7300A   9.5119   7.2608   6.8069  0.292  0.99  -0.263    600.  0.148E+02  0.146E+01  0.162E-03  0.296E-05    2  22  87    4  12 124    9  29  93    0.000    0.000       0
+  0    298 00:22:24.56   4.7000A   9.5663   7.3513   6.5824  0.292  0.99  -0.262    600.  0.148E+02  0.146E+01  0.161E-03  0.293E-05    2  22  87    4  12 124    9  29  93    0.000    0.000       0
+  0    299 00:22:29.23   4.6700A   9.6346   7.3979   6.4003  0.293  0.99  -0.263    600.  0.148E+02  0.146E+01  0.160E-03  0.291E-05    2  19  87    4  12 124    6  27  96    0.000    0.000       0
+  0    300 00:22:33.91   4.6800A   9.6190   7.4043   6.4798  0.293  0.99  -0.263    600.  0.148E+02  0.146E+01  0.160E-03  0.291E-05    2  19  87    4  12 124    6  27  96    0.000    0.000       0
+  0    301 00:22:38.62   4.7100A   9.5617   7.3831   6.2743  0.293  0.99  -0.263    600.  0.148E+02  0.146E+01  0.162E-03  0.293E-05    2  22  87    4  12 124    6  27  96    0.000    0.000       0
+  0    302 00:22:43.26   4.6400A   9.6979   7.3522   6.3658  0.294  0.99  -0.264    600.  0.148E+02  0.146E+01  0.160E-03  0.289E-05    2  20  89    4  12 124    8  26  99    0.000    0.000       0
+  0    303 00:22:47.88   4.6200A   9.7399   7.4058   6.1602  0.294  0.99  -0.267    600.  0.148E+02  0.146E+01  0.159E-03  0.289E-05    2  19  89    4  13 124    8  26  99    0.000    0.000       0
+  0    304 00:22:52.53   4.6500A   9.6741   7.4287   5.8823  0.294  0.99  -0.267    600.  0.147E+02  0.147E+01  0.161E-03  0.291E-05    2  19  89    4  13 124    7  27  98    0.000    0.000       0
+  0    305 00:22:57.21   4.6800A   9.6255   7.4298   5.9753  0.295  0.99  -0.268    600.  0.147E+02  0.147E+01  0.162E-03  0.293E-05    2  19  90    4  13 124    8  27  98    0.000    0.000       0
+  0    306 00:23:01.89   4.6800A   9.6193   7.4244   6.2308  0.295  0.99  -0.270    600.  0.147E+02  0.147E+01  0.162E-03  0.294E-05    2  19  90    4  13 124    8  27  98    0.000    0.000       0
+  0    307 00:23:06.55   4.6600A   9.6525   7.4241   6.2488  0.295  1.02  -0.278    650.  0.147E+02  0.147E+01  0.162E-03  0.294E-05    2  20  91    4  13 124    8  27  98    0.000    0.000       0
+  0    308 00:23:11.27   4.7200A   9.5408   7.4343   6.0024  0.295  1.02  -0.270    650.  0.147E+02  0.147E+01  0.164E-03  0.298E-05    2  19  91    4  13 124    9  27  98    0.000    0.000       0
+  0    309 00:23:15.94   4.6700A   9.6342   7.4528   6.0703  0.296  1.02  -0.266    650.  0.147E+02  0.147E+01  0.163E-03  0.295E-05    2  20  92    4  13 124    8  27  99    0.000    0.000       0
+  0    310 00:23:20.61   4.6700A   9.6258   7.4709   6.1009  0.296  1.02  -0.266    650.  0.147E+02  0.147E+01  0.163E-03  0.295E-05    2  19  92    4  13 124    9  27  99    0.000    0.000       0
+  0    311 00:23:25.34   4.7300A   9.5071   7.4774   6.1456  0.296  1.02  -0.264    650.  0.147E+02  0.147E+01  0.166E-03  0.298E-05    2  19  92    4  13 124    9  27  99    0.000    0.000       0
+  0    312 00:23:30.20   4.8600A   9.2681   7.4610   6.1341  0.297  1.02  -0.261    650.  0.147E+02  0.147E+01  0.170E-03  0.304E-05    2  20  90    4  13 124   10  27  99    0.000    0.000       0
+  0    313 00:23:34.90   4.7000A   9.5714   7.4125   6.1228  0.297  1.02  -0.259    650.  0.147E+02  0.147E+01  0.165E-03  0.295E-05    1  29  92    4  13 124   10  27  99    0.000    0.000       0
+  0    314 00:23:39.78   4.8800A   9.2199   7.3348   6.0314  0.297  1.02  -0.258    650.  0.147E+02  0.147E+01  0.172E-03  0.302E-05    3  19  95    4  13 124    3  27  95    0.000    0.000       0
+  0    315 00:23:44.67   4.8900A   9.1942   7.2774   6.4380  0.298  1.02  -0.258    650.  0.147E+02  0.147E+01  0.172E-03  0.302E-05    3  19  95    4  13 125    3  27  95    0.000    0.000       0
+  0    316 00:23:49.56   4.8900A   9.2024   7.3085   6.7399  0.298  1.02  -0.255    650.  0.147E+02  0.147E+01  0.173E-03  0.301E-05    5  56  89    4  13 125    3  27  95    0.000    0.000       0
+  0    317 00:23:54.46   4.9000A   9.1863   7.3316   6.8623  0.298  1.02  -0.257    650.  0.147E+02  0.147E+01  0.173E-03  0.300E-05    5  56  89    4  13 125    3  27  95    0.000    0.000       0
+  0    318 00:23:59.33   4.8700A   9.2447   7.3250   6.9413  0.299  1.02  -0.258    650.  0.147E+02  0.147E+01  0.173E-03  0.297E-05    5  56  90    4  13 125    4  27  95    0.000    0.000       0
+  0    319 00:24:04.19   4.8600A   9.2648   7.2801   6.9442  0.299  0.99  -0.255    600.  0.147E+02  0.147E+01  0.173E-03  0.295E-05    5  56  90    4  13 125    4  27  95    0.000    0.000       0
+  0    320 00:24:09.04   4.8500A   9.2867   7.2046   7.2437  0.300  0.96  -0.256    550.  0.147E+02  0.148E+01  0.173E-03  0.293E-05    5  56  91    4  13 125    4  26  97    0.000    0.000       0
+  0    321 00:24:13.64   4.6000A   9.7819   7.1185   7.4156  0.300  0.96  -0.256    550.  0.147E+02  0.148E+01  0.164E-03  0.279E-05    2  28  93    4  13 125    4  26  97    0.000    0.000       0
+  0    322 00:24:18.49   4.8500A   9.2876   7.0474   7.3878  0.300  0.96  -0.260    550.  0.147E+02  0.148E+01  0.173E-03  0.290E-05    5  56  92    4  13 125    4  26  97    0.000    0.000       0
+  0    323 00:24:23.21   4.7200A   9.5424   6.9986   7.4281  0.301  0.96  -0.256    550.  0.147E+02  0.148E+01  0.169E-03  0.284E-05    2  29  93    4  13 125    5  27  96    0.000    0.000       0
+  0    324 00:24:28.02   4.8100A   9.3604   6.9816   7.4676  0.301  0.96  -0.256    550.  0.147E+02  0.148E+01  0.172E-03  0.287E-05    5  56  92    4  13 126    5  26  97    0.000    0.000       0
+  0    325 00:24:32.38   4.3600A  10.3269   6.9744   7.6358  0.302  0.96  -0.255    550.  0.147E+02  0.148E+01  0.157E-03  0.262E-05    2  29  94    4  13 125    5  26  97    0.000    0.000       0
+  0    326 00:24:37.09   4.7100A   9.5485   6.9668   7.5918  0.302  0.96  -0.254    550.  0.146E+02  0.148E+01  0.169E-03  0.278E-05    2  29  94    4  13 125    5  26  97    0.000    0.000       0
+  0    327 00:24:41.83   4.7400A   9.4972   6.9356   7.3181  0.302  0.96  -0.257    550.  0.146E+02  0.148E+01  0.170E-03  0.281E-05    2  29  95    4  13 125    5  26  97    0.000    0.000       0
+  0    328 00:24:46.62   4.7900A   9.3912   6.8889   7.1902  0.303  0.96  -0.257    550.  0.146E+02  0.148E+01  0.172E-03  0.283E-05    2  54  93    4  13 126    5  24  97    0.000    0.000       0
+  0    329 00:24:51.39   4.7700A   9.4315   6.8882   7.2302  0.303  0.96  -0.255    550.  0.146E+02  0.148E+01  0.171E-03  0.281E-05    2  54  94    4  13 126    5  24  97    0.000    0.000       0
+  0    330 00:24:56.17   4.7800A   9.4082   6.8986   7.1324  0.304  0.96  -0.256    550.  0.146E+02  0.148E+01  0.172E-03  0.280E-05    2  54  94    4  13 126    5  24  97    0.000    0.000       0
+  0    331 00:25:00.93   4.7600A   9.4496   6.9075   6.8329  0.304  0.96  -0.251    550.  0.146E+02  0.148E+01  0.172E-03  0.278E-05    2  54  95    4  13 126    5  24  97    0.000    0.000       0
+  0    332 00:25:05.70   4.7700A   9.4335   6.8990   6.8456  0.304  0.99  -0.249    600.  0.146E+02  0.148E+01  0.172E-03  0.276E-05    2  54  95    4  13 126    6  24  97    0.000    0.000       0
+  0    333 00:25:10.51   4.8100A   9.3503   6.8593   6.8197  0.305  0.99  -0.248    600.  0.146E+02  0.148E+01  0.174E-03  0.277E-05    2  54  96    4  13 126    6  24  97    0.000    0.000       0
+  0    334 00:25:15.32   4.8100A   9.3619  -6.8654   6.5205  0.305  0.99  -0.244    600.  0.146E+02  0.148E+01  0.174E-03  0.275E-05    2  54  93   12  34  52    7  24  97    0.000    0.000       0
+  0    335 00:25:20.14   4.8200A   9.3397  -6.9307   6.7467  0.305  0.99  -0.242    600.  0.146E+02  0.148E+01  0.175E-03  0.275E-05    2  54  93   12  34  52    7  26  96    0.000    0.000       0
+  0    336 00:25:24.93   4.7900A   9.3994  -6.9507   6.9603  0.306  0.99  -0.250    600.  0.146E+02  0.148E+01  0.174E-03  0.272E-05    4  55  95   12  34  52    7  26  96    0.000    0.000       0
+  0    337 00:25:29.76   4.8300A   9.3132  -6.9242   6.6217  0.306  0.99  -0.241    600.  0.146E+02  0.148E+01  0.175E-03  0.273E-05    2  54  94   12  34  52    7  26  96    0.000    0.000       0
+  0    338 00:25:34.57   4.8100A   9.3547  -6.8500   6.3304  0.306  0.99  -0.239    600.  0.146E+02  0.147E+01  0.175E-03  0.270E-05    4  55  96   12  34  52    8  25  96    0.000    0.000       0
+  0    339 00:25:39.43   4.8600A   9.2500  -6.7316   6.1871  0.307  0.99  -0.239    600.  0.146E+02  0.147E+01  0.176E-03  0.271E-05    4  55  96   12  34  52    6  73 156    0.000    0.000       0
+  0    340 00:25:44.28   4.8500A   9.2812  -6.5719   6.4107  0.307  0.99  -0.239    600.  0.146E+02  0.147E+01  0.176E-03  0.269E-05    4  55  97   12  34  52    6  73 156    0.000    0.000       0
+  0    341 00:25:49.14   4.8600A   9.2541  -6.6298   6.2094  0.307  0.99  -0.242    600.  0.146E+02  0.147E+01  0.177E-03  0.268E-05    2  21  85   14  35  53    6  73 156    0.000    0.000       0
+  0    342 00:25:53.98   4.8400A   9.2895  -6.7992   6.0520  0.308  0.99  -0.240    600.  0.146E+02  0.147E+01  0.176E-03  0.265E-05    2  21  86   14  35  53    6  73 157    0.000    0.000       0
+  0    343 00:25:58.77   4.7900A   9.3989  -6.9363   6.2133  0.308  0.99  -0.238    600.  0.146E+02  0.147E+01  0.174E-03  0.262E-05    2  21  86   14  35  53    7  73 157    0.000    0.000       0
+  0    344 00:26:03.57   4.8000A   9.3657  -7.0154   6.0234  0.308  0.99  -0.238    600.  0.146E+02  0.147E+01  0.174E-03  0.261E-05    2  21  86   14  35  53    4  24 101    0.000    0.000       0
+  0    345 00:26:08.43   4.8600A   9.2573  -7.0135   6.0667  0.309  0.99  -0.237    600.  0.146E+02  0.146E+01  0.177E-03  0.263E-05    2  21  87   14  35  53    5  24 101    0.000    0.000       0
+  0    346 00:26:13.27   4.8400A   9.2984  -6.9155   6.3974  0.309  0.99  -0.237    600.  0.145E+02  0.146E+01  0.176E-03  0.262E-05    2  18  86   14  35  53    5  24 101    0.000    0.000       0
+  0    347 00:26:18.09   4.8200A   9.3370  -6.7306   6.4947  0.309  0.99  -0.237    600.  0.145E+02  0.146E+01  0.175E-03  0.260E-05    2  21  88   14  35  53    5  24 101    0.000    0.000       0
+  0    348 00:26:22.90   4.8100A   9.3607  -6.5045   6.3639  0.310  0.99  -0.238    600.  0.145E+02  0.146E+01  0.175E-03  0.259E-05    2  21  88   13  34  53    5  24 101    0.000    0.000       0
+  0    349 00:26:27.72   4.8200A   9.3414  -6.4076   6.3752  0.310  0.99  -0.239    600.  0.145E+02  0.146E+01  0.175E-03  0.259E-05    2  51  95   13  34  53    5  24 100    0.000    0.000       0
+  0    350 00:26:32.49   4.7700A   9.4291   6.4164   6.2240  0.310  0.99  -0.239    600.  0.145E+02  0.145E+01  0.174E-03  0.256E-05    2  18  89    4  12 129    5  24 100    0.000    0.000       0
+  0    351 00:26:37.26   4.7700A   9.4326   6.4269   6.2625  0.310  0.99  -0.239    600.  0.145E+02  0.145E+01  0.174E-03  0.256E-05    2  18  89    4  12 129    6  24 100    0.000    0.000       0
+  0    352 00:26:42.04   4.7800A   9.4203   6.4281   6.3858  0.310  0.99  -0.245    600.  0.145E+02  0.145E+01  0.174E-03  0.257E-05    2  20  90    4  12 130    6  24 100    0.000    0.000       0
+  0    353 00:26:46.87   4.8300A   9.3217   6.5344   6.3034  0.311  0.99  -0.242    600.  0.145E+02  0.145E+01  0.176E-03  0.260E-05    2  18  90    2  33  98    6  24 100    0.000    0.000       0
+  0    354 00:26:51.71   4.8400A   9.3070   6.6299   6.0634  0.311  0.99  -0.242    600.  0.145E+02  0.144E+01  0.176E-03  0.261E-05    2  19  90    2  33  98    6  24 100    0.000    0.000       0
+  0    355 00:26:56.54   4.8300A   9.3248   6.6149   6.0750  0.311  0.99  -0.245    600.  0.145E+02  0.144E+01  0.176E-03  0.262E-05    2  18  91    2  33  98    7  23 103    0.000    0.000       0
+  0    356 00:27:01.36   4.8200A   9.3363  -6.5276   6.1763  0.311  0.99  -0.240    600.  0.145E+02  0.144E+01  0.176E-03  0.262E-05    2  20  92   14  35  53    8  23 103    0.000    0.000       0
+  0    357 00:27:06.03   4.6700A   9.6345  -6.6887   6.4579  0.311  0.99  -0.238    600.  0.145E+02  0.144E+01  0.171E-03  0.255E-05    1  24  92   14  35  53    8  23 103    0.000    0.000       0
+  0    358 00:27:10.70   4.6700A   9.6334  -6.7330   6.4463  0.311  0.99  -0.239    600.  0.145E+02  0.143E+01  0.171E-03  0.254E-05    1  24  92   14  35  53    8  23 103    0.000    0.000       0
+  0    359 00:27:15.47   4.7700A   9.4427  -6.6325   6.2239  0.311  0.99  -0.241    600.  0.145E+02  0.143E+01  0.175E-03  0.259E-05    1  20  92   14  35  53    8  23 103    0.000    0.000       0
+  0    360 00:27:19***   4.5300A   9.9297  -6.3930   6.3363  0.311  0.99  -0.240    600.  0.145E+02  0.143E+01  0.166E-03  0.248E-05    1  24  93   14  35  53    9  23 103    0.000    0.000       0
+  0    361 00:27:24.54   4.5400A   9.9076   6.3870   6.2283  0.311  0.99  -0.240    600.  0.145E+02  0.143E+01  0.167E-03  0.247E-05    1  24  93    4  11 130    9  23 103    0.000    0.000       0
+  0    362 00:27:29.26   4.7200A   9.5241  -6.7867   5.9024  0.311  0.99  -0.240    600.  0.144E+02  0.143E+01  0.173E-03  0.255E-05    1  24  94    1  34  96    7  24 102    0.000    0.000       0
+  0    363 00:27:33.76   4.5000A   9.9928  -7.2398   6.0763  0.311  0.99  -0.238    600.  0.144E+02  0.142E+01  0.165E-03  0.244E-05    1  24  94    1  34  96   10  23 103    0.000    0.000       0
+  0    364 00:27:38.30   4.5400A   9.9216  -7.2397   6.0583  0.312  0.99  -0.238    600.  0.144E+02  0.142E+01  0.167E-03  0.245E-05    1  24  94    1  34  96    9  23 104    0.000    0.000       0
+  0    365 00:27:42.97   4.6700A   9.6351  -6.8226   6.1516  0.312  0.99  -0.239    600.  0.144E+02  0.142E+01  0.171E-03  0.250E-05    1  23  95    1  34  96    8  24 102    0.000    0.000       0
+  0    366 00:27:47.50   4.5300A   9.9370  -6.6053   6.1051  0.312  0.99  -0.242    600.  0.144E+02  0.142E+01  0.166E-03  0.243E-05    1  23  95    1  33  96    8  24 102    0.000    0.000       0
+  0    367 00:27:52.10   4.6000A   9.7903  -6.7727   6.1321  0.312  0.99  -0.239    600.  0.144E+02  0.141E+01  0.169E-03  0.244E-05    1  23  95    1  34  97   10  23 104    0.000    0.000       0
+  0    368 00:27:56.75   4.6500A   9.6700  -6.9584   5.9948  0.312  0.99  -0.240    600.  0.144E+02  0.141E+01  0.171E-03  0.246E-05    1  23  96    1  34  97   11  23 104    0.000    0.000       0
+  0    369 00:28:01.36   4.6100A   9.7552  -6.6553   6.3196  0.312  0.99  -0.244    600.  0.144E+02  0.141E+01  0.169E-03  0.243E-05    1  23  96    1  34  97   11  23 104    0.000    0.000       0
+  0    370 00:28:06.15   4.7900A   9.3882  -6.3585   6.2961  0.312  0.99  -0.243    600.  0.144E+02  0.141E+01  0.175E-03  0.251E-05    1  23  96   13  35  52   11  23 104    0.000    0.000       0
+  0    371 00:28:10.85   4.7000A   9.5835  -6.4392   5.9382  0.312  0.99  -0.246    600.  0.144E+02  0.141E+01  0.172E-03  0.248E-05    1  23  97    1  33  97   11  23 104    0.000    0.000       0
+  0    372 00:28:15.71   4.8600A   9.2574  -6.9227   5.8075  0.312  0.99  -0.241    600.  0.144E+02  0.140E+01  0.178E-03  0.255E-05    1  23  97    1  39  99    7  72 154    0.000    0.000       0
+  0    373 00:28:20.47   4.7600A   9.4555  -6.8326   5.6400  0.312  0.99  -0.242    600.  0.144E+02  0.140E+01  0.174E-03  0.251E-05    1  23  98    1  39  99   12  23 104    0.000    0.000       0
+  0    374 00:28:25.32   4.8500A   9.2765  -6.4635   5.8121  0.312  0.99  -0.242    600.  0.144E+02  0.140E+01  0.177E-03  0.254E-05    1  23  98   12  34  52    7  72 155    0.000    0.000       0
+  0    375 00:28:30.39   5.0700A   8.8817  -6.6373   5.8814  0.312  0.99  -0.241    600.  0.144E+02  0.140E+01  0.185E-03  0.264E-05    1  23  99   14  35  53    9  72 155    0.000    0.000       0
+  0    376 00:28:35.40   5.0100A   8.9735  -7.0167   6.1718  0.312  0.99  -0.242    600.  0.144E+02  0.139E+01  0.182E-03  0.261E-05    1  23  99   14  35  53    9  72 155    0.000    0.000       0
+  0    377 00:28:40.50   5.1000A   8.8281  -7.2290   5.9416  0.312  0.99  -0.242    600.  0.144E+02  0.139E+01  0.185E-03  0.263E-05    8   6  97   14  35  53    8  22 104    0.000    0.000       0
+  0    378 00:28:45.56   5.0600A   8.8848  -7.1951   6.2036  0.312  0.99  -0.245    600.  0.144E+02  0.139E+01  0.184E-03  0.260E-05    8   6  98   14  35  53    8  21 106    0.000    0.000       0
+  0    379 00:28:50.68   5.1200A   8.7876  -6.9029   6.3267  0.312  0.99  -0.250    600.  0.143E+02  0.139E+01  0.186E-03  0.261E-05    8   6  99   14  35  53    8  21 106    0.000    0.000       0
+  0    380 00:28:55.77   5.0900A   8.8478  -6.4432   6.4931  0.312  0.99  -0.252    600.  0.143E+02  0.139E+01  0.185E-03  0.258E-05    8   6  99   15  36  54    8  22 105    0.000    0.000       0
+  0    381 00:29:00.89   5.1200A   8.7921  -6.3606   6.2534  0.312  0.99  -0.251    600.  0.143E+02  0.138E+01  0.185E-03  0.258E-05    8   6 100   14  34  54    8  22 105    0.000    0.000       0
+  0    382 00:29:06.07   5.1800A   8.6806  -6.3061   6.4511  0.312  0.99  -0.253    600.  0.143E+02  0.138E+01  0.187E-03  0.260E-05    8   6 100   14  34  54    9  22 105    0.000    0.000       0
+  0    383 00:29:11.22   5.1500A   8.7367  -6.2277   6.5979  0.312  0.99  -0.248    600.  0.143E+02  0.138E+01  0.186E-03  0.257E-05    8   6 101   13  34  53    9  22 105    0.000    0.000       0
+  0    384 00:29:16.42   5.2000A   8.6508  -6.3722   6.2624  0.312  0.96  -0.248    550.  0.143E+02  0.138E+01  0.188E-03  0.258E-05    3   3  83   14  33  55    9  22 105    0.000    0.000       0
+  0    385 00:29:21.59   5.1700A   8.7085  -6.3308   5.6246  0.312  0.96  -0.248    550.  0.143E+02  0.137E+01  0.187E-03  0.258E-05    3   3  84   14  32  55    9  22 105    0.000    0.000       0
+  0    386 00:29:26.73   5.1400A   8.7490  -6.5079   5.3760  0.312  0.96  -0.249    550.  0.143E+02  0.137E+01  0.186E-03  0.257E-05    3   3  85   14  32  55    9  22 106    0.000    0.000       0
+  0    387 00:29:31.86   5.1300A   8.7767  -6.2559   5.6949  0.312  0.96  -0.253    550.  0.143E+02  0.137E+01  0.185E-03  0.258E-05    3   3  86   14  32  55   10  23 105    0.000    0.000       0
+  0    388 00:29:36.96   5.1000A   8.8197  -6.0321   5.7912  0.312  0.96  -0.256    550.  0.143E+02  0.136E+01  0.184E-03  0.257E-05    3   3  87   10  33  51   10  23 105    0.000    0.000       0
+  0    389 00:29:42.03   5.0700A   8.8709  -5.9351   5.5911  0.312  0.96  -0.252    550.  0.143E+02  0.136E+01  0.183E-03  0.255E-05    3   3  87   10  33  51   10  23 105    0.000    0.000       0
+  0    390 00:29:47.13   5.1000A   8.8262  -5.8343   5.1534  0.312  0.96  -0.248    550.  0.143E+02  0.136E+01  0.183E-03  0.256E-05    3   3  88   10  33  51   10  23 105    0.000    0.000       0
+  0    391 00:29:52.22   5.0900A   8.8429  -5.9734   4.8470  0.312  0.96  -0.245    550.  0.143E+02  0.136E+01  0.183E-03  0.255E-05    3   3  89   11  34  51    8  56  22    0.000    0.000       0
+  0    392 00:29:57.30   5.0800A   8.8668  -6.1158   4.7562  0.312  0.96  -0.244    550.  0.143E+02  0.135E+01  0.182E-03  0.254E-05    3   3  90   11  34  51    8  56  22    0.000    0.000       0
+  0    393 00:30:02.38   5.0800A   8.8660  -6.2008   4.4841  0.312  0.96  -0.245    550.  0.143E+02  0.135E+01  0.182E-03  0.253E-05    7   9 103   12  34  52    8  56  22    0.000    0.000       0
+  0    394 00:30:07.28   4.9000A   9.1868  -6.2021   4.4811  0.312  0.96  -0.251    550.  0.143E+02  0.135E+01  0.176E-03  0.244E-05   13   0 111   12  34  52    7  56  24    0.000    0.000       0
+  0    395 00:30:12.26   4.9800A   9.0290  -6.2266   4.7897  0.312  0.96  -0.249    550.  0.143E+02  0.135E+01  0.178E-03  0.246E-05   13   0 111   11  33  52    8  56  24    0.000    0.000       0
+  0    396 00:30:17.30   5.0400A   8.9316  -6.3037   4.8338  0.312  0.96  -0.252    550.  0.142E+02  0.134E+01  0.180E-03  0.248E-05    7   9 105   11  33  52    8  56  24    0.000    0.000       0
+  0    397 00:30:22.31   5.0100A   8.9795  -6.3292   4.6057  0.312  0.96  -0.249    550.  0.142E+02  0.134E+01  0.179E-03  0.247E-05    7   9 105   11  33  52    8  56  24    0.000    0.000       0
+  0    398 00:30:27.36   5.0500A   8.9031  -6.3218   4.6369  0.312  0.96  -0.251    550.  0.142E+02  0.134E+01  0.180E-03  0.247E-05    7   9 106   11  33  52    8  56  25    0.000    0.000       0
+  0    399 00:30:32.43   5.0700A   8.8685  -6.3002   4.7634  0.312  0.87  -0.248    400.  0.142E+02  0.133E+01  0.181E-03  0.247E-05    7   9 106   11  33  52    9  56  25    0.000    0.000       0
+  0    400 00:30:37.51   5.0800A   8.8554  -6.2696   4.8639  0.312  0.87  -0.248    400.  0.142E+02  0.133E+01  0.181E-03  0.247E-05    4   4  83   11  33  52    9  56  25    0.000    0.000       0
+  0    401 00:30:42.58   5.0700A   8.8823  -6.2161   4.8738  0.312  0.87  -0.258    400.  0.142E+02  0.133E+01  0.181E-03  0.247E-05    4   4  83   11  33  52   10  57  26    0.000    0.000       0
+  0    402 00:30:47.63   5.0500A   8.9026  -6.1150   5.3238  0.312  0.87  -0.247    400.  0.142E+02  0.133E+01  0.180E-03  0.245E-05    4   4  85   11  33  52   10  57  26    0.000    0.000       0
+  0    403 00:30:52.64   5.0100A   8.9854  -6.2056   5.4427  0.311  0.87  -0.248    400.  0.142E+02  0.132E+01  0.178E-03  0.243E-05    4   4  85   15  35  54   10  57  26    0.000    0.000       0
+  0    404 00:30:57.62   4.9800A   9.0381  -6.2794   5.2251  0.311  0.87  -0.249    400.  0.142E+02  0.132E+01  0.177E-03  0.240E-05    4   4  86   15  35  54   10  57  26    0.000    0.000       0
+  0    405 00:31:02.59   4.9700A   9.0557  -6.2851   4.8592  0.311  0.87  -0.253    400.  0.142E+02  0.132E+01  0.176E-03  0.238E-05    4   4  86   15  35  54   11  57  27    0.000    0.000       0
+  0    406 00:31:07.53   4.9400A   9.1056  -6.2555   5.0425  0.311  0.87  -0.251    400.  0.142E+02  0.131E+01  0.175E-03  0.236E-05    4   4  88   15  35  54   12  57  27    0.000    0.000       0
+  0    407 00:31:12.46   4.9300A   9.1355  -6.2237   5.2316  0.311  0.87  -0.252    400.  0.142E+02  0.131E+01  0.175E-03  0.235E-05    4   4  88   15  35  54   12  57  27    0.000    0.000       0
+  0    408 00:31:17.32   4.8600A   9.2674  -6.2069   5.0534  0.311  0.87  -0.252    400.  0.142E+02  0.131E+01  0.172E-03  0.232E-05    4   4  89   15  35  54   12  57  27    0.000    0.000       0
+  0    409 00:31:22.19   4.8700A   9.2466  -6.2035   4.5866  0.311  0.87  -0.251    400.  0.142E+02  0.130E+01  0.172E-03  0.232E-05    4   4  90   15  35  54   12  57  27    0.000    0.000       0
+  0    410 00:31:27.04   4.8500A   9.2778  -6.1992   4.3341  0.311  0.87  -0.252    400.  0.142E+02  0.130E+01  0.171E-03  0.232E-05    4   4  91   15  35  54   13  57  28    0.000    0.000       0
+  0    411 00:31:31.80   4.7600A   9.4499  -6.2436   4.6534  0.311  0.87  -0.253    400.  0.142E+02  0.130E+01  0.168E-03  0.229E-05    4   4  91   17  37  55   13  57  28    0.000    0.000       0
+  0    412 00:31:36.55   4.7500A   9.4737  -6.3792   4.5640  0.311  0.83  -0.256    350.  0.141E+02  0.130E+01  0.167E-03  0.229E-05    4   4  92   17  37  55   13  57  28    0.000    0.000       0
+  0    413 00:31:41.27   4.7200A   9.5288  -6.5162   4.1282  0.311  0.83  -0.260    350.  0.141E+02  0.129E+01  0.166E-03  0.227E-05    4   4  92   17  37  55   13  57  28    0.000    0.000       0
+  0    414 00:31:45.97   4.7000A   9.5715  -6.6431   4.3184  0.311  0.83  -0.256    350.  0.141E+02  0.129E+01  0.166E-03  0.226E-05    4   4  93   17  37  55    8  53  31    0.000    0.000       0
+  0    415 00:31:50.70   4.7300A   9.5134  -6.7447   4.3587  0.311  0.83  -0.257    350.  0.141E+02  0.129E+01  0.167E-03  0.227E-05    4   4  94   17  37  55    8  53  31    0.000    0.000       0
+  0    416 00:31:55.36   4.6600A   9.6486  -6.8063   4.1966  0.311  0.83  -0.266    350.  0.141E+02  0.129E+01  0.164E-03  0.224E-05    4   4  94   17  37  55    8  53  31    0.000    0.000       0
+  0    417 00:32:00.05   4.6900A   9.6019  -6.8214   4.4028  0.311  0.83  -0.259    350.  0.141E+02  0.128E+01  0.165E-03  0.225E-05    4   4  95   17  37  55    6  30 101    0.000    0.000       0
+  0    418 00:32:04.76   4.7100A   9.5528  -6.7847   4.4337  0.311  0.83  -0.261    350.  0.141E+02  0.128E+01  0.166E-03  0.226E-05    4   4  95   17  37  55    6  30 101    0.000    0.000       0
+  0    419 00:32:09.45   4.6900A   9.5976  -6.7036   4.7020  0.311  0.83  -0.261    350.  0.141E+02  0.128E+01  0.165E-03  0.225E-05    4   4  96   17  37  55    7  22 126    0.000    0.000       0
+  0    420 00:32:14.18   4.7300A   9.5127  -6.5938   4.8248  0.311  0.83  -0.257    350.  0.141E+02  0.128E+01  0.166E-03  0.226E-05    4   4  97   17  37  55    7  22 126    0.000    0.000       0
+  0    421 00:32:18.93   4.7500A   9.4787  -6.4685   4.6346  0.311  0.83  -0.258    350.  0.141E+02  0.127E+01  0.166E-03  0.227E-05    5   2  98   17  37  55    7  22 126    0.000    0.000       0
+  0    422 00:32:23.65   4.7200A   9.5259  -6.3447   4.4731  0.311  0.83  -0.258    350.  0.141E+02  0.127E+01  0.165E-03  0.226E-05    5   2  99   17  37  55   19  42  57    0.000    0.000       0
+  0    423 00:32:28.33   4.6800A   9.6244  -6.2357   4.5217  0.311  0.83  -0.264    350.  0.141E+02  0.127E+01  0.163E-03  0.224E-05    5   2  99   17  37  55   19  42  57    0.000    0.000       0
+  0    424 00:32:32***   4.6700A   9.6392  -6.1466   4.5495  0.311  0.83  -0.261    350.  0.141E+02  0.126E+01  0.163E-03  0.224E-05    5   2 100   17  37  55   19  42  57    0.000    0.000       0
+  0    425 00:32:37.71   4.7100A   9.5581  -6.0786   4.5526  0.311  0.93  -0.260    500.  0.141E+02  0.126E+01  0.164E-03  0.226E-05    5   2 100   17  37  55   19  42  57    0.000    0.000       0
+  0    426 00:32:42.40   4.6900A   9.5848  -6.0468   4.5315  0.311  0.93  -0.266    500.  0.141E+02  0.126E+01  0.163E-03  0.225E-05    5   2 101   15  36  54   19  42  57    0.000    0.000       0
+  0    427 00:32:47.12   4.7200A   9.5430  -6.2299   4.5518  0.311  0.93  -0.267    500.  0.141E+02  0.126E+01  0.164E-03  0.226E-05    5   2 102   16  37  54   11  53  34    0.000    0.000       0
+  0    428 00:32:51.93   4.8100A   9.3642  -6.4173   4.4513  0.311  0.93  -0.260    500.  0.141E+02  0.125E+01  0.167E-03  0.230E-05    5   2 102   16  37  54   19  42  57    0.000    0.000       0
+  0    429 00:32:56.76   4.8300A   9.3096  -6.5595   4.4078  0.311  0.93  -0.259    500.  0.140E+02  0.125E+01  0.167E-03  0.231E-05    5   2 103   16  37  54   19  42  57    0.000    0.000       0
+  0    430 00:33:01.66   4.9000A   9.1879  -6.6282   4.3800  0.311  0.93  -0.262    500.  0.140E+02  0.125E+01  0.169E-03  0.233E-05    6   0 105   16  37  54   19  42  57    0.000    0.000       0
+  0    431 00:33:06.58   4.9200A   9.1492  -6.6125   4.3714  0.311  0.83  -0.265    350.  0.140E+02  0.125E+01  0.169E-03  0.233E-05    6   0 106   16  37  54   19  42  57    0.000    0.000       0
+  0    432 00:33:11.51   4.9300A   9.1268  -6.5307   4.3874  0.311  0.79  -0.263    300.  0.140E+02  0.124E+01  0.170E-03  0.233E-05    6   0 106   16  37  54   19  42  57    0.000    0.000       0
+  0    433 00:33:16.48   4.9700A   9.0542  -6.4167   4.4242  0.311  0.79  -0.267    300.  0.140E+02  0.124E+01  0.171E-03  0.234E-05    3   4 107   16  37  54   19  42  57    0.000    0.000       0
+  0    434 00:33:21.50   5.0200A   8.9613  -6.3026   4.6249  0.311  0.79  -0.278    300.  0.140E+02  0.124E+01  0.172E-03  0.237E-05    3   4 107   16  37  54   12  52  36    0.000    0.000       0
+  0    435 00:33:26.51   5.0100A   8.9737  -6.2092   4.5851  0.311  0.79  -0.262    300.  0.140E+02  0.123E+01  0.172E-03  0.237E-05    6  79 107   16  37  54   12  52  36    0.000    0.000       0
+  0    436 00:33:31.53   5.0200A   8.9617  -6.1430   4.5775  0.311  0.79  -0.268    300.  0.140E+02  0.123E+01  0.172E-03  0.238E-05    3   3 108   16  37  54   19  42  57    0.000    0.000       0
+  0    437 00:33:36.49   4.9600A   9.0744  -6.0939   4.6175  0.311  0.79  -0.259    300.  0.140E+02  0.123E+01  0.170E-03  0.236E-05    3   4 110   16  37  54   19  42  57    0.000    0.000       0
+  0    438 00:33:41.50   5.0100A   8.9756  -6.0513   4.6459  0.311  0.79  -0.258    300.  0.140E+02  0.123E+01  0.171E-03  0.238E-05    3   4 110   16  37  54   19  42  57    0.000    0.000       0
+  0    439 00:33:46.48   4.9800A   9.0345  -6.0465   4.6572  0.311  0.79  -0.262    300.  0.140E+02  0.122E+01  0.170E-03  0.237E-05    3   4 111   17  37  55   19  42  57    0.000    0.000       0
+  0    440 00:33:51.51   5.0300A   8.9394  -6.1401   4.6605  0.311  0.79  -0.261    300.  0.140E+02  0.122E+01  0.172E-03  0.240E-05    6  78  93   17  37  55   19  42  57    0.000    0.000       0
+  0    441 00:33:56.53   5.0200A   8.9718  -6.1963   4.6561  0.311  0.79  -0.256    300.  0.140E+02  0.122E+01  0.172E-03  0.240E-05    3   4 113   17  37  55   19  42  57    0.000    0.000       0
+  0    442 00:34:01.56   5.0300A   8.9441  -6.2058   4.6542  0.311  0.79  -0.255    300.  0.140E+02  0.121E+01  0.172E-03  0.241E-05    6  78  96   17  37  55   19  42  57    0.000    0.000       0
+  0    443 00:34:06.56   5.0000A   8.9933  -6.1729   4.6569  0.310  0.79  -0.253    300.  0.140E+02  0.121E+01  0.171E-03  0.240E-05    3   4 114   17  37  55   19  42  57    0.000    0.000       0
+  0    444 00:34:11.60   5.0400A   8.9324  -6.1297   4.6674  0.310  0.79  -0.254    300.  0.140E+02  0.121E+01  0.172E-03  0.242E-05    6  77  95   16  36  54   19  42  57    0.000    0.000       0
+  0    445 00:34:16.60   5.0000A   8.9980  -6.1170   4.6808  0.310  0.79  -0.256    300.  0.139E+02  0.121E+01  0.170E-03  0.242E-05    6  79 117   16  36  54   19  42  57    0.000    0.000       0
+  0    446 00:34:21.58   4.9800A   9.0273  -6.0892   4.6975  0.310  0.79  -0.258    300.  0.139E+02  0.120E+01  0.169E-03  0.241E-05    6  79 118   16  36  54   19  42  57    0.000    0.000       0
+  0    447 00:34:26.53   4.9500A   9.0931   6.3850   4.7105  0.310  0.79  -0.257    300.  0.139E+02  0.120E+01  0.169E-03  0.239E-05    6  79 118   13   5 129   19  42  57    0.000    0.000       0
+  0    448 00:34:31.49   4.9600A   9.0685   6.7253   4.7166  0.310  0.79  -0.257    300.  0.139E+02  0.120E+01  0.169E-03  0.239E-05    6   2  92   13   5 129   19  42  57    0.000    0.000       0
+  0    449 00:34:36.39   4.9000A   9.1917   6.2056   4.7125  0.310  0.79  -0.257    300.  0.139E+02  0.120E+01  0.167E-03  0.236E-05    6   2  92   13   5 129   19  42  57    0.000    0.000       0
+  0    450 00:34:41.26   4.8700A   9.2340  -6.1016   4.7016  0.310  0.79  -0.258    300.  0.139E+02  0.119E+01  0.166E-03  0.233E-05    6   2  93   14  35  53   19  42  57    0.000    0.000       0
+  0    451 00:34:46.09   4.8300A   9.3215  -6.0856   4.6833  0.310  0.79  -0.255    300.  0.139E+02  0.119E+01  0.165E-03  0.231E-05    6   2  93   14  35  53   19  42  57    0.000    0.000       0
+  0    452 00:34:50.87   4.7800A   9.4115  -6.1736   4.6613  0.310  0.79  -0.256    300.  0.139E+02  0.119E+01  0.163E-03  0.229E-05    6   2  94   15  36  54   19  42  57    0.000    0.000       0
+  0    453 00:34:55.64   4.7700A   9.4314  -6.2554   4.6385  0.310  0.79  -0.259    300.  0.139E+02  0.119E+01  0.163E-03  0.228E-05    6   2  94   15  36  54   19  42  57    0.000    0.000       0
+  0    454 00:35:00.34   4.7000A   9.5698  -6.3058   4.6154  0.310  0.79  -0.254    300.  0.139E+02  0.118E+01  0.161E-03  0.225E-05    6   2  95   15  36  54   19  42  57    0.000    0.000       0
+  0    455 00:35:05.03   4.6900A   9.5854  -6.3156   4.5965  0.310  0.79  -0.256    300.  0.139E+02  0.118E+01  0.160E-03  0.225E-05    6   2  96   15  36  54   19  42  57    0.000    0.000       0
+  0    456 00:35:09.68   4.6500A   9.6871  -6.2782   4.5781  0.310  0.79  -0.257    300.  0.139E+02  0.118E+01  0.159E-03  0.223E-05    6   2  96   15  36  54   19  42  57    0.000    0.000       0
+  0    457 00:35:14.32   4.6400A   9.7028  -6.2026   4.5623  0.310  0.79  -0.261    300.  0.139E+02  0.118E+01  0.158E-03  0.222E-05    6   2  97   15  36  54   19  42  57    0.000    0.000       0
+  0    458 00:35:18.93   4.6100A   9.7593  -6.1229   4.5464  0.310  0.79  -0.269    300.  0.139E+02  0.117E+01  0.157E-03  0.220E-05    6   2  97   16  36  54   19  42  57    0.000    0.000       0
+  0    459 00:35:23.53   4.6000A   9.7749  -6.0566   4.5300  0.310  0.79  -0.259    300.  0.139E+02  0.117E+01  0.157E-03  0.219E-05    6   2  98   16  36  54   19  42  57    0.000    0.000       0
+  0    460 00:35:28.13   4.6000A   9.7844  -5.9594   4.5093  0.310  0.79  -0.258    300.  0.139E+02  0.117E+01  0.157E-03  0.217E-05    6   2  98   16  36  54   19  42  57    0.000    0.000       0
+  0    461 00:35:32.71   4.5800A   9.8159  -5.9288   4.4815  0.309  0.79  -0.255    300.  0.139E+02  0.117E+01  0.156E-03  0.215E-05    6   2  99   15  36  54   19  42  57    0.000    0.000       0
+  0    462 00:35:37.30   4.5900A   9.7958  -5.9711   4.4456  0.309  0.79  -0.252    300.  0.138E+02  0.116E+01  0.156E-03  0.215E-05    6   2  99   15  36  54   19  42  57    0.000    0.000       0
+  0    463 00:35:41.90   4.6000A   9.7925  -6.0738   4.3978  0.309  0.74  -0.252    250.  0.138E+02  0.116E+01  0.157E-03  0.215E-05    6   2 100   15  36  54   19  42  57    0.000    0.000       0
+  0    464 00:35:46.51   4.6100A   9.7615  -6.2286   4.3380  0.309  0.74  -0.252    250.  0.138E+02  0.116E+01  0.157E-03  0.217E-05    6   2 100   15  36  54   19  42  57    0.000    0.000       0
+  0    465 00:35:51.13   4.6200A   9.7475  -6.4143   4.2665  0.309  0.74  -0.253    250.  0.138E+02  0.116E+01  0.157E-03  0.219E-05    6   2 101   15  36  54   19  42  57    0.000    0.000       0
+  0    466 00:35:55.74   4.6100A   9.7641  -6.5941   4.1848  0.309  0.74  -0.251    250.  0.138E+02  0.116E+01  0.157E-03  0.220E-05    6   2 105   15  36  54   19  42  57    0.000    0.000       0
+  0    467 00:36:00.35   4.6100A   9.7661  -6.7145   4.1037  0.309  0.74  -0.251    250.  0.138E+02  0.115E+01  0.157E-03  0.221E-05    6   1 102   15  36  54    3  33  97    0.000    0.000       0
+  0    468 00:36:04.95   4.6000A   9.7833  -6.7194   4.1039  0.309  0.74  -0.251    250.  0.138E+02  0.115E+01  0.156E-03  0.222E-05    6   2 106   15  36  54    3  33  97    0.000    0.000       0
+  0    469 00:36:09.52   4.5700A   9.8535  -6.8289   4.0451  0.309  0.74  -0.249    250.  0.138E+02  0.115E+01  0.155E-03  0.221E-05    6   1 103   15  35  54   19  40  56    0.000    0.000       0
+  0    470 00:36:14.11   4.5900A   9.8072  -6.9586   4.0516  0.309  0.74  -0.253    250.  0.138E+02  0.115E+01  0.156E-03  0.222E-05    6   1 104   15  35  54   19  40  56    0.000    0.000       0
+  0    471 00:36:18.65   4.5400A   9.9134  -6.8207   4.0391  0.309  0.74  -0.255    250.  0.138E+02  0.114E+01  0.154E-03  0.220E-05    6   1 104   15  35  54   19  40  56    0.000    0.000       0
+  0    472 00:36:23.15   4.5000A  10.0100  -6.4440   4.0717  0.309  0.74  -0.249    250.  0.138E+02  0.114E+01  0.153E-03  0.218E-05    6   1 105   15  35  54    4  33  98    0.000    0.000       0
+  0    473 00:36:27.63   4.4800A  10.0452  -6.2578   4.0367  0.309  0.74  -0.250    250.  0.138E+02  0.114E+01  0.152E-03  0.217E-05    6   1 105   17  37  55    4  33  98    0.000    0.000       0
+  0    474 00:36:32.05   4.4200A  10.1852  -6.3222  -3.9854  0.309  0.74  -0.248    250.  0.138E+02  0.114E+01  0.150E-03  0.216E-05    6   1 106   17  37  55   15  45  55    0.000    0.000       0
+  0    475 00:36:36.48   4.4300A  10.1560  -6.3771  -4.0290  0.309  0.74  -0.250    250.  0.138E+02  0.114E+01  0.150E-03  0.217E-05    6   1 106   17  37  55   15  45  55    0.000    0.000       0
+  0    476 00:36:40.85   4.3700A  10.3000  -6.4253  -4.0062  0.309  0.74  -0.248    250.  0.138E+02  0.113E+01  0.148E-03  0.216E-05    6   1 107   17  37  55   15  45  55    0.000    0.000       0
+  0    477 00:36:45.27   4.4200A  10.1914  -6.4687  -3.9181  0.309  0.74  -0.247    250.  0.138E+02  0.113E+01  0.149E-03  0.219E-05    6   1 108   17  37  55   15  45  55    0.000    0.000       0
+  0    478 00:36:49.58   4.3100A  10.4376  -6.4975   3.9113  0.309  0.74  -0.248    250.  0.138E+02  0.113E+01  0.146E-03  0.216E-05    6   1 108   17  37  55   19  42  57    0.000    0.000       0
+  0    479 00:36:53.93   4.3500A  10.3560  -6.5107   3.9897  0.309  0.74  -0.261    250.  0.138E+02  0.113E+01  0.147E-03  0.220E-05    6   1 109   17  37  55   19  42  57    0.000    0.000       0
+  0    480 00:36:58.19   4.2600A  10.5688  -6.4981   4.0667  0.308  0.74  -0.249    250.  0.138E+02  0.113E+01  0.144E-03  0.218E-05    6   1 109   17  37  55   19  42  57    0.000    0.000       0
+  0    481 00:37:02.54   4.3500A  10.3496  -6.4694   4.1461  0.308  0.74  -0.251    250.  0.138E+02  0.112E+01  0.147E-03  0.225E-05    6   1 110   17  37  55   19  42  57    0.000    0.000       0
+  0    482 00:37:06.81   4.2700A  10.5327  -6.5180   4.2199  0.308  0.74  -0.247    250.  0.137E+02  0.112E+01  0.145E-03  0.225E-05    6   1 110   13  35  52   19  42  57    0.000    0.000       0
+  0    483 00:37:11.16   4.3500A  10.3363  -6.7264   4.2962  0.308  0.74  -0.246    250.  0.137E+02  0.112E+01  0.147E-03  0.230E-05    6   1 111   13  35  52   19  42  57    0.000    0.000       0
+  0    484 00:37:15.48   4.3200A  10.4282  -6.7661   4.3682  0.308  0.79  -0.247    300.  0.137E+02  0.112E+01  0.146E-03  0.231E-05    6   1 111   13  35  52   19  42  57    0.000    0.000       0
+  0    485 00:37:19.84   4.3600A  10.3316  -6.6447   4.4427  0.308  0.79  -0.249    300.  0.137E+02  0.112E+01  0.147E-03  0.235E-05    6   1 112   13  35  52   19  42  57    0.000    0.000       0
+  0    486 00:37:24.20   4.3600A  10.3159  -6.5379   4.5154  0.308  0.79  -0.249    300.  0.137E+02  0.111E+01  0.147E-03  0.236E-05    6   1 112   12  34  52   19  42  57    0.000    0.000       0
+  0    487 00:37:28.60   4.4000A  10.2236  -6.7232   4.5879  0.308  0.79  -0.244    300.  0.137E+02  0.111E+01  0.148E-03  0.238E-05    6   1 113   13  34  53   19  42  57    0.000    0.000       0
+  0    488 00:37:33.06   4.4600A  10.1001  -6.8511   4.6564  0.308  0.79  -0.243    300.  0.137E+02  0.111E+01  0.150E-03  0.242E-05    6   1 113   13  34  53   19  42  57    0.000    0.000       0
+  0    489 00:37:37.53   4.4700A  10.0743  -6.8172   4.7185  0.308  0.79  -0.243    300.  0.137E+02  0.111E+01  0.150E-03  0.242E-05    6   1 114   13  34  53   19  42  57    0.000    0.000       0
+  0    490 00:37:42.02   4.4900A  10.0126  -6.6641   4.7723  0.308  0.79  -0.244    300.  0.137E+02  0.111E+01  0.151E-03  0.244E-05    5   1 115   13  34  53   19  42  57    0.000    0.000       0
+  0    491 00:37:46.58   4.5600A   9.8700  -6.4850   4.8126  0.308  0.79  -0.244    300.  0.137E+02  0.110E+01  0.153E-03  0.248E-05    6   1 115   13  34  53   19  42  57    0.000    0.000       0
+  0    492 00:37:51.10   4.5200A   9.9557  -6.3736   4.8347  0.308  0.79  -0.249    300.  0.137E+02  0.110E+01  0.151E-03  0.248E-05    5   1 116   13  34  53   19  42  57    0.000    0.000       0
+  0    493 00:37:55.66   4.5600A   9.8723  -6.7250   4.8427  0.307  0.79  -0.244    300.  0.137E+02  0.110E+01  0.152E-03  0.251E-05    5   1 117   13  35  52   19  42  57    0.000    0.000       0
+  0    494 00:38:00.24   4.5800A   9.8235  -7.0955   4.8311  0.307  0.79  -0.244    300.  0.137E+02  0.110E+01  0.153E-03  0.255E-05    5   1 117   13  35  52   19  42  57    0.000    0.000       0
+  0    495 00:38:04.81   4.5700A   9.8513  -7.3662   4.8059  0.307  0.79  -0.241    300.  0.137E+02  0.110E+01  0.152E-03  0.256E-05    5   1 118   13  35  52   19  42  57    0.000    0.000       0
+  0    496 00:38:09.43   4.6200A   9.7366  -7.4674   4.7732  0.307  0.79  -0.240    300.  0.137E+02  0.110E+01  0.154E-03  0.260E-05    5   1 119   13  35  52   19  42  57    0.000    0.000       0
+  0    497 00:38:14.01   4.5800A   9.8165  -7.3651   4.7361  0.307  0.79  -0.242    300.  0.137E+02  0.109E+01  0.153E-03  0.259E-05    5   0 120   13  35  52   19  42  57    0.000    0.000       0
+  0    498 00:38:18.61   4.6000A   9.7720  -7.0765   4.7077  0.307  0.79  -0.240    300.  0.137E+02  0.109E+01  0.153E-03  0.259E-05    5   0 121   13  35  52   19  42  57    0.000    0.000       0
+  0    499 00:38:23.20   4.5900A   9.8124  -6.8633   4.6892  0.307  0.79  -0.240    300.  0.137E+02  0.109E+01  0.153E-03  0.258E-05    5   0 121   13  34  53   19  42  57    0.000    0.000       0
+  0    500 00:38:27.78   4.5800A   9.8293  -6.9025   4.6887  0.307  0.79  -0.241    300.  0.137E+02  0.109E+01  0.152E-03  0.258E-05    5   0 122   14  35  53   19  42  57    0.000    0.000       0
+  0    501 00:38:32.41   4.6300A   9.7223  -7.2022   4.7083  0.307  0.79  -0.247    300.  0.137E+02  0.109E+01  0.154E-03  0.260E-05    5   0 122   14  35  53   19  42  57    0.000    0.000       0
+  0    502 00:38:36.99   4.5800A   9.8228  -7.4285   4.7473  0.307  0.79  -0.240    300.  0.136E+02  0.109E+01  0.152E-03  0.258E-05    5   0 123   14  35  53   19  42  57    0.000    0.000       0
+  0    503 00:38:41.68   4.6900A   9.5893  -7.5470   4.8074  0.307  0.79  -0.239    300.  0.136E+02  0.108E+01  0.156E-03  0.264E-05    5   0 124   14  35  53   19  42  57    0.000    0.000       0
+  0    504 00:38:46.30   4.6200A   9.7357  -7.5568   4.8794  0.307  0.79  -0.238    300.  0.136E+02  0.108E+01  0.153E-03  0.261E-05    5   0 124   14  35  53   19  42  57    0.000    0.000       0
+  0    505 00:38:50.99   4.6900A   9.5966  -7.4860   4.9636  0.307  0.79  -0.237    300.  0.136E+02  0.108E+01  0.155E-03  0.265E-05    5   0 125   14  35  53   19  42  57    0.000    0.000       0
+  0    506 00:38:55.68   4.6900A   9.5963  -7.3677   5.0458  0.306  0.79  -0.236    300.  0.136E+02  0.108E+01  0.155E-03  0.265E-05    5   0 125   14  35  53   19  42  57    0.000    0.000       0
+  0    507 00:39:00.40   4.7200A   9.5359  -7.2326   5.1210  0.306  0.79  -0.236    300.  0.136E+02  0.108E+01  0.156E-03  0.267E-05    5   0 126   14  35  53   19  42  57    0.000    0.000       0
+  0    508 00:39:05.18   4.7800A   9.4161  -7.0965   5.1778  0.306  0.79  -0.236    300.  0.136E+02  0.108E+01  0.158E-03  0.271E-05    5   0 126   14  35  53   19  42  57    0.000    0.000       0
+  0    509 00:39:09.98   4.8000A   9.3675  -7.0427   5.2072  0.306  0.79  -0.235    300.  0.136E+02  0.108E+01  0.159E-03  0.273E-05    5   0 127   11  33  52   19  42  57    0.000    0.000       0
+  0    510 00:39:14.90   4.9200A   9.1491  -7.0976   5.2041  0.306  0.79  -0.234    300.  0.136E+02  0.108E+01  0.162E-03  0.280E-05    5   0 127   11  33  52   19  42  57    0.000    0.000       0
+  0    511 00:39:19.83   4.9300A   9.1351  -7.0785   5.1584  0.306  0.83  -0.234    350.  0.136E+02  0.108E+01  0.163E-03  0.282E-05    5   0 128   11  33  52   19  42  57    0.000    0.000       0
+  0    512 00:39:24.88   5.0500A   8.9071  -6.9327   5.0775  0.306  0.83  -0.232    350.  0.136E+02  0.107E+01  0.166E-03  0.290E-05    5   0 129   11  33  52   19  42  57    0.000    0.000       0
+  0    513 00:39:29.97   5.0900A   8.8394  -6.8731   4.9573  0.305  0.83  -0.232    350.  0.136E+02  0.107E+01  0.168E-03  0.294E-05    5   0 129   13  34  53   19  42  57    0.000    0.000       0
+  0    514 00:39:35.11   5.1400A   8.7610  -6.9749   4.8154  0.305  0.83  -0.231    350.  0.136E+02  0.107E+01  0.169E-03  0.299E-05    4   3 126   13  34  53   19  42  57    0.000    0.000       0
+  0    515 00:39:40.32   5.2100A   8.6371  -6.9858   4.6631  0.305  0.83  -0.232    350.  0.136E+02  0.107E+01  0.171E-03  0.305E-05    4   2 126   13  34  53   19  42  57    0.000    0.000       0
+  0    516 00:39:45.42   5.1000A   8.8173  -7.0518   4.5146  0.305  0.83  -0.235    350.  0.136E+02  0.107E+01  0.167E-03  0.300E-05    4   2 127   15  36  54   19  42  57    0.000    0.000       0
+  0    517 00:39:50.63   5.2100A   8.6442  -7.0765   4.3976  0.305  0.83  -0.240    350.  0.136E+02  0.107E+01  0.170E-03  0.307E-05    4   2 128   15  36  54   19  42  57    0.000    0.000       0
+  0    518 00:39:55.73   5.1000A   8.8152  -6.9826   4.3053  0.305  0.83  -0.234    350.  0.136E+02  0.107E+01  0.167E-03  0.302E-05    4   2 128   15  36  54   19  42  57    0.000    0.000       0
+  0    519 00:40:00.83   5.1000A   8.8302  -6.8361   4.2639  0.304  0.83  -0.236    350.  0.136E+02  0.107E+01  0.166E-03  0.300E-05   14  48  73   15  36  54   19  42  57    0.000    0.000       0
+  0    520 00:40:06.03   5.2000A   8.6608  -6.6938   4.2635  0.304  0.83  -0.240    350.  0.136E+02  0.107E+01  0.169E-03  0.304E-05    4   2 129   15  36  54   19  42  57    0.000    0.000       0
+  0    521 00:40:11.23   5.2000A   8.6497  -6.6098   4.3020  0.304  0.83  -0.245    350.  0.136E+02  0.107E+01  0.169E-03  0.301E-05   14  48  74   15  36  54   19  42  57    0.000    0.000       0
+  0    522 00:40:16.50   5.2700A   8.5332  -6.6164   4.3792  0.304  0.87  -0.241    400.  0.135E+02  0.107E+01  0.171E-03  0.302E-05    4   3 130   15  36  54   19  42  57    0.000    0.000       0
+  0    523 00:40:21.74   5.2400A   8.5896  -6.6967   4.4788  0.303  0.87  -0.245    400.  0.135E+02  0.107E+01  0.170E-03  0.298E-05    4   2 131   15  36  54   19  42  57    0.000    0.000       0
+  0    524 00:40:27.10   5.3600A   8.3922  -6.8084   4.5886  0.303  0.87  -0.241    400.  0.135E+02  0.107E+01  0.173E-03  0.301E-05    4   2 131   15  36  54   19  42  57    0.000    0.000       0
+  0    525 00:40:32.31   5.2100A   8.6326  -6.8919   4.6864  0.303  0.87  -0.242    400.  0.135E+02  0.107E+01  0.169E-03  0.294E-05   14  48  77   15  36  54   19  42  57    0.000    0.000       0
+  0    526 00:40:37.77   5.4600A   8.2421  -6.9107   4.7670  0.303  0.87  -0.241    400.  0.135E+02  0.107E+01  0.176E-03  0.306E-05   14  48  77   15  36  54   19  42  57    0.000    0.000       0
+  0    527 00:40:43.22   5.4500A   8.2547  -6.8431   4.8055  0.303  0.87  -0.248    400.  0.135E+02  0.107E+01  0.175E-03  0.307E-05    4   2 133   15  36  54   19  42  57    0.000    0.000       0
+  0    528 00:40:48.66   5.4400A   8.2731  -6.7208   4.8170  0.302  0.87  -0.240    400.  0.135E+02  0.106E+01  0.175E-03  0.306E-05    3  10 128   15  36  54   19  42  57    0.000    0.000       0
+  0    529 00:40:54.19   5.5300A   8.1308  -6.8455   4.8018  0.302  0.87  -0.238    400.  0.135E+02  0.106E+01  0.177E-03  0.310E-05    3  10 129   16  37  54   19  42  57    0.000    0.000       0
+  0    530 00:40:59.67   5.4800A   8.2122  -6.9158   4.7644  0.302  0.87  -0.239    400.  0.135E+02  0.106E+01  0.176E-03  0.309E-05    3  10 129   16  37  54   19  42  57    0.000    0.000       0
+  0    531 00:41:05.18   5.5100A   8.1630  -6.8909   4.7247  0.302  0.87  -0.239    400.  0.135E+02  0.106E+01  0.177E-03  0.311E-05    3  10 130   16  37  54   19  42  57    0.000    0.000       0
+  0    532 00:41:10.77   5.5900A   8.0540  -6.7641   4.6851  0.302  0.87  -0.242    400.  0.135E+02  0.106E+01  0.179E-03  0.315E-05    2  12 128   16  37  54   19  42  57    0.000    0.000       0
+  0    533 00:41:16.35   5.5800A   8.0667  -6.5460   4.6518  0.301  0.83  -0.247    350.  0.135E+02  0.106E+01  0.179E-03  0.315E-05    2  12 128   16  37  54   19  42  57    0.000    0.000       0
+  0    534 00:41:21.90   5.5500A   8.1122  -6.4462   4.6328  0.301  0.90  -0.242    450.  0.135E+02  0.106E+01  0.177E-03  0.313E-05    2  12 129    5  32  46   19  42  57    0.000    0.000       0
+  0    535 00:41:27.38   5.4800A   8.2114  -6.6315   4.6248  0.301  0.90  -0.241    450.  0.135E+02  0.106E+01  0.175E-03  0.307E-05   15  49  81    5  32  46   19  42  57    0.000    0.000       0
+  0    536 00:41:32.71   5.3300A   8.4462  -6.6154   4.6242  0.301  0.90  -0.243    450.  0.135E+02  0.106E+01  0.170E-03  0.296E-05   15  49  81    5  32  46   19  42  57    0.000    0.000       0
+  0    537 00:41:38.04   5.3300A   8.4362  -6.5609   4.6284  0.301  0.90  -0.240    450.  0.135E+02  0.106E+01  0.170E-03  0.292E-05   15  49  82    5  31  46   19  42  57    0.000    0.000       0
+  0    538 00:41:43.24   5.2000A   8.6532  -6.6192   4.6260  0.300  0.90  -0.241    450.  0.135E+02  0.106E+01  0.166E-03  0.283E-05   15  49  82    5  31  46   19  42  57    0.000    0.000       0
+  0    539 00:41:48.61   5.3700A   8.3731  -6.6122   4.6237  0.300  0.90  -0.240    450.  0.135E+02  0.106E+01  0.171E-03  0.290E-05   15  49  83    5  30  47   19  42  57    0.000    0.000       0
+  0    540 00:41:53.80   5.1900A   8.6780  -6.7122   4.6082  0.300  0.90  -0.239    450.  0.135E+02  0.106E+01  0.165E-03  0.280E-05   15  49  83    5  30  47   19  42  57    0.000    0.000       0
+  0    541 00:41:59.27   5.4700A   8.2292  -6.8646   4.6014  0.300  0.90  -0.241    450.  0.135E+02  0.105E+01  0.173E-03  0.290E-05    5  20  71   15  35  54   19  42  57    0.000    0.000       0
+  0    542 00:42:04.70   5.4300A   8.2947  -7.0930   4.5836  0.300  0.90  -0.239    450.  0.135E+02  0.105E+01  0.172E-03  0.288E-05   15  49  84   15  35  54   19  42  57    0.000    0.000       0
+  0    543 00:42:10.23   5.5300A   8.1323  -7.1907   4.5825  0.299  0.90  -0.239    450.  0.134E+02  0.105E+01  0.175E-03  0.290E-05    4  21  74   15  35  54   19  42  57    0.000    0.000       0
+  0    544 00:42:15.62   5.3900A   8.3505  -7.0976   4.5920  0.299  0.90  -0.237    450.  0.134E+02  0.105E+01  0.171E-03  0.282E-05    4  21  74   15  35  54   19  42  57    0.000    0.000       0
+  0    545 00:42:21.04   5.4200A   8.2951  -6.8361   4.6233  0.299  0.90  -0.236    450.  0.134E+02  0.105E+01  0.172E-03  0.282E-05    6  17  70   16  37  54   19  42  57    0.000    0.000       0
+  0    546 00:42:26.47   5.4300A   8.2845  -6.8145   4.6622  0.299  0.90  -0.236    450.  0.134E+02  0.105E+01  0.172E-03  0.281E-05    4  20  74   16  37  54   19  42  57    0.000    0.000       0
+  0    547 00:42:31.81   5.3400A   8.4213  -6.7609   4.7038  0.299  0.87  -0.237    400.  0.134E+02  0.105E+01  0.169E-03  0.276E-05    4  20  76   16  37  54   19  42  57    0.000    0.000       0
+  0    548 00:42:37.06   5.2500A   8.5674  -6.6855   4.7393  0.298  0.87  -0.235    400.  0.134E+02  0.105E+01  0.166E-03  0.270E-05    6  16  71   16  37  54   19  42  57    0.000    0.000       0
+  0    549 00:42:42.23   5.1700A   8.7049  -6.5833   4.7563  0.298  0.87  -0.235    400.  0.134E+02  0.105E+01  0.164E-03  0.265E-05    6  16  72   16  37  54   19  42  57    0.000    0.000       0
+  0    550 00:42:47.32   5.0900A   8.8456  -6.4431   4.7492  0.298  0.87  -0.236    400.  0.134E+02  0.105E+01  0.161E-03  0.261E-05    6  16  73   16  37  54   19  42  57    0.000    0.000       0
+  0    551 00:42:52.38   5.0600A   8.8846  -6.2595   4.7196  0.298  0.87  -0.237    400.  0.134E+02  0.105E+01  0.160E-03  0.259E-05    6  16  74   16  37  54   19  42  57    0.000    0.000       0
+  0    552 00:42:57.47   5.0900A   8.8348  -6.4084   4.6724  0.298  0.87  -0.236    400.  0.134E+02  0.105E+01  0.161E-03  0.260E-05    6  16  75   14  35  53   19  42  57    0.000    0.000       0
+  0    553 00:43:02.57   5.1000A   8.8250  -6.4855   4.6167  0.297  0.87  -0.237    400.  0.134E+02  0.105E+01  0.161E-03  0.260E-05    6  16  76   14  35  53   19  42  57    0.000    0.000       0
+  0    554 00:43:07.65   5.0800A   8.8546  -6.4913   4.5685  0.297  0.87  -0.239    400.  0.134E+02  0.104E+01  0.160E-03  0.259E-05    6  16  77   14  35  53   19  42  57    0.000    0.000       0
+  0    555 00:43:12.79   5.1400A   8.7578  -6.4584   4.5407  0.297  0.87  -0.238    400.  0.134E+02  0.104E+01  0.162E-03  0.262E-05    6  16  77   14  35  53   19  42  57    0.000    0.000       0
+  0    556 00:43:17.96   5.1700A   8.7120  -6.4152   4.5383  0.297  0.87  -0.241    400.  0.134E+02  0.104E+01  0.163E-03  0.263E-05    6  16  78   14  35  53   19  42  57    0.000    0.000       0
+  0    557 00:43:23.14   5.1800A   8.6862  -6.3742   4.5686  0.297  0.87  -0.236    400.  0.134E+02  0.104E+01  0.164E-03  0.263E-05    3  20  81   14  35  53   19  42  57    0.000    0.000       0
+  0    558 00:43:28.29   5.1500A   8.7398  -6.3322   4.6293  0.296  0.87  -0.237    400.  0.134E+02  0.104E+01  0.163E-03  0.262E-05    3  20  81   14  35  53   19  42  57    0.000    0.000       0
+  0    559 00:43:33.40   5.1100A   8.8030  -6.2811   4.7110  0.296  0.87  -0.242    400.  0.134E+02  0.104E+01  0.162E-03  0.260E-05    3  20  82   14  35  53   19  42  57    0.000    0.000       0
+  0    560 00:43:38.46   5.0600A   8.8872  -6.2185   4.7977  0.296  0.87  -0.240    400.  0.134E+02  0.104E+01  0.160E-03  0.258E-05    3  20  82   14  35  53   19  42  57    0.000    0.000       0
+  0    561 00:43:43.52   5.0600A   8.8871  -6.1500   4.8719  0.296  0.87  -0.240    400.  0.134E+02  0.104E+01  0.160E-03  0.257E-05    3  20  82   14  35  53   19  42  57    0.000    0.000       0
+  0    562 00:43:48.55   5.0300A   8.9550  -6.0803   4.9166  0.295  0.87  -0.250    400.  0.134E+02  0.104E+01  0.160E-03  0.256E-05    3  20  83   14  35  53   19  42  57    0.000    0.000       0
+  0    563 00:43:53.55   5.0000A   8.9938  -6.0109   4.9237  0.295  0.87  -0.240    400.  0.134E+02  0.104E+01  0.159E-03  0.255E-05    3  20  83   14  35  53   19  42  57    0.000    0.000       0
+  0    564 00:43:58.58   5.0300A   8.9515  -5.9359   4.8900  0.295  0.87  -0.239    400.  0.134E+02  0.104E+01  0.159E-03  0.256E-05    3  20  83   14  35  53   19  42  57    0.000    0.000       0
+  0    565 00:44:03.60   5.0200A   8.9636  -5.8468   4.8168  0.295  0.87  -0.239    400.  0.134E+02  0.104E+01  0.159E-03  0.255E-05    3  20  84   14  35  53   19  42  57    0.000    0.000       0
+  0    566 00:44:08.63   5.0300A   8.9460  -5.9135   4.7194  0.294  0.87  -0.237    400.  0.133E+02  0.104E+01  0.159E-03  0.255E-05    3  20  84   14  32  55   19  42  57    0.000    0.000       0
+  0    567 00:44:13.70   5.0700A   8.8792  -5.8859   4.6113  0.294  0.87  -0.237    400.  0.133E+02  0.104E+01  0.160E-03  0.258E-05    5  15  84   14  32  55   19  42  57    0.000    0.000       0
+  0    568 00:44:18.80   5.1000A   8.8275  -5.7840   4.5065  0.294  0.87  -0.237    400.  0.133E+02  0.103E+01  0.161E-03  0.259E-05    3  20  85   15  36  54   19  42  57    0.000    0.000       0
+  0    569 00:44:23.92   5.1200A   8.7825  -5.8783   4.4180  0.294  0.87  -0.238    400.  0.133E+02  0.103E+01  0.161E-03  0.260E-05    5  15  85   15  36  54   19  42  57    0.000    0.000       0
+  0    570 00:44:28.99   5.0700A   8.8697  -5.9872   4.3545  0.293  0.87  -0.239    400.  0.133E+02  0.103E+01  0.160E-03  0.257E-05    3  19  83   15  36  54   19  42  57    0.000    0.000       0
+  0    571 00:44:34.06   5.0700A   8.8842  -6.0527   4.3222  0.293  0.87  -0.240    400.  0.133E+02  0.103E+01  0.160E-03  0.255E-05    3  19  83   15  36  54   19  42  57    0.000    0.000       0
+  0    572 00:44:39.07   5.0100A   8.9750  -6.0589   4.3154  0.293  0.87  -0.243    400.  0.133E+02  0.103E+01  0.158E-03  0.251E-05    3  19  84   15  35  54   19  42  57    0.000    0.000       0
+  0    573 00:44:44.08   5.0100A   8.9887  -6.1608   4.3318  0.292  0.87  -0.247    400.  0.133E+02  0.103E+01  0.158E-03  0.250E-05    3  19  84   15  35  54   19  42  57    0.000    0.000       0
+  0    574 00:44:49.11   5.0300A   8.9385  -6.0803   4.3600  0.292  0.87  -0.247    400.  0.133E+02  0.103E+01  0.159E-03  0.249E-05    3  19  85   15  35  54   19  42  57    0.000    0.000       0
+  0    575 00:44:54.13   5.0200A   8.9553  -5.9103   4.3919  0.292  0.87  -0.246    400.  0.133E+02  0.103E+01  0.158E-03  0.248E-05    3  19  87   17  37  55   19  42  57    0.000    0.000       0
+  0    576 00:44:59.16   5.0300A   8.9519  -5.8456   4.4201  0.292  0.87  -0.248    400.  0.133E+02  0.103E+01  0.159E-03  0.248E-05    3  19  87   17  37  55   19  42  57    0.000    0.000       0
+  0    577 00:45:04.19   5.0300A   8.9384  -5.7960   4.4362  0.291  0.87  -0.251    400.  0.133E+02  0.103E+01  0.158E-03  0.248E-05    3  19  88   17  37  55   19  42  57    0.000    0.000       0
+  0    578 00:45:09.23   5.0400A   8.9361  -5.7871   4.4382  0.291  0.87  -0.252    400.  0.133E+02  0.103E+01  0.159E-03  0.248E-05    3  19  88   17  37  55   19  42  57    0.000    0.000       0
+  0    579 00:45:14.32   5.0900A   8.8431  -5.8270   4.4273  0.291  0.87  -0.255    400.  0.133E+02  0.103E+01  0.160E-03  0.250E-05    3  19  89   17  37  55   19  42  57    0.000    0.000       0
+  0    580 00:45:19.31   4.9900A   9.0189  -5.9051   4.4081  0.291  0.87  -0.256    400.  0.133E+02  0.102E+01  0.157E-03  0.245E-05   14  51  88   17  37  55   19  42  57    0.000    0.000       0
+  0    581 00:45:24.42   5.1100A   8.8077  -5.9984   4.3959  0.290  0.87  -0.259    400.  0.133E+02  0.102E+01  0.160E-03  0.249E-05   14  51  88   17  37  55   19  42  57    0.000    0.000       0
+  0    582 00:45:29.50   5.0800A   8.8644  -6.0758   4.3864  0.290  0.87  -0.256    400.  0.133E+02  0.102E+01  0.159E-03  0.247E-05    2  19  83   17  37  55   19  42  57    0.000    0.000       0
+  0    583 00:45:34.58   5.0800A   8.8637  -6.2180   4.3970  0.290  0.87  -0.266    400.  0.133E+02  0.102E+01  0.159E-03  0.246E-05    2  19  84   15  35  54   19  42  57    0.000    0.000       0
+  0    584 00:45:39.62   5.0400A   8.9352  -6.4513   4.4261  0.290  0.87  -0.257    400.  0.133E+02  0.102E+01  0.158E-03  0.243E-05    2  19  84   15  35  54   19  42  57    0.000    0.000       0
+  0    585 00:45:44.70   5.0800A   8.8614  -6.5120   4.4749  0.289  0.87  -0.259    400.  0.133E+02  0.102E+01  0.159E-03  0.244E-05    2  19  84   15  35  54   19  42  57    0.000    0.000       0
+  0    586 00:45:49.76   5.0600A   8.8918  -6.3990   4.5376  0.289  0.87  -0.260    400.  0.133E+02  0.102E+01  0.158E-03  0.242E-05    2  19  85   15  35  54   19  42  57    0.000    0.000       0
+  0    587 00:45:54.88   5.1200A   8.7829  -6.1646   4.6118  0.289  0.87  -0.261    400.  0.133E+02  0.102E+01  0.160E-03  0.244E-05    2  19  85   15  35  54   19  42  57    0.000    0.000       0
+  0    588 00:46:00.02   5.1400A   8.7584  -5.8900   4.6865  0.289  0.87  -0.264    400.  0.133E+02  0.102E+01  0.160E-03  0.244E-05    2  19  86   17  37  55   19  42  57    0.000    0.000       0
+  0    589 00:46:05.16   5.1400A   8.7597  -5.8561   4.7557  0.288  0.87  -0.258    400.  0.133E+02  0.102E+01  0.160E-03  0.243E-05    2  18  86   17  37  55   19  42  57    0.000    0.000       0
+  0    590 00:46:10.31   5.1500A   8.7424  -5.8358   4.8135  0.288  0.93  -0.259    500.  0.133E+02  0.102E+01  0.160E-03  0.243E-05    2  18  86   17  37  55   19  42  57    0.000    0.000       0
+  0    591 00:46:15.49   5.1800A   8.6922  -5.8181   4.8583  0.288  0.93  -0.258    500.  0.132E+02  0.102E+01  0.161E-03  0.243E-05    2  18  87   17  37  55   19  42  57    0.000    0.000       0
+  0    592 00:46:20.64   5.1500A   8.7387  -5.7912   4.8927  0.288  0.93  -0.260    500.  0.132E+02  0.102E+01  0.160E-03  0.241E-05    2  18  89   17  37  55   19  42  57    0.000    0.000       0
+  0    593 00:46:25.79   5.1500A   8.7297  -5.7479   4.9220  0.287  0.93  -0.283    500.  0.132E+02  0.102E+01  0.160E-03  0.239E-05    2  18  89   17  37  55   19  42  57    0.000    0.000       0
+  0    594 00:46:30.95   5.1600A   8.7126  -5.7346   4.9458  0.287  0.93  -0.259    500.  0.132E+02  0.101E+01  0.160E-03  0.238E-05    2  18  90   16  36  54   19  42  57    0.000    0.000       0
+  0    595 00:46:36.11   5.1600A   8.7133  -5.7031   4.9630  0.287  0.93  -0.258    500.  0.132E+02  0.101E+01  0.160E-03  0.236E-05    3  17  85   16  36  54   19  42  57    0.000    0.000       0
+  0    596 00:46:41.22   5.1100A   8.7991  -5.5999   4.9696  0.287  0.93  -0.257    500.  0.132E+02  0.101E+01  0.158E-03  0.233E-05    3  17  86   16  36  54   19  42  57    0.000    0.000       0
+  0    597 00:46:46.33   5.1100A   8.8053  -5.4441   4.9621  0.287  0.93  -0.256    500.  0.132E+02  0.101E+01  0.158E-03  0.232E-05    4  16  88   16  36  54   19  42  57    0.000    0.000       0
+  0    598 00:46:51.42   5.0900A   8.8420  -5.5818   4.9348  0.286  0.93  -0.256    500.  0.132E+02  0.101E+01  0.157E-03  0.232E-05    3  17  87   14  14  68   19  42  57    0.000    0.000       0
+  0    599 00:46:56.52   5.1000A   8.8307  -5.4769   4.8911  0.286  0.93  -0.257    500.  0.132E+02  0.101E+01  0.157E-03  0.233E-05    4  16  89   14  14  68   19  42  57    0.000    0.000       0
+  0    600 00:47:01.62   5.1000A   8.8202  -5.5535   4.8345  0.286  0.93  -0.256    500.  0.132E+02  0.101E+01  0.157E-03  0.234E-05    4  16  90   16  37  54   19  42  57    0.000    0.000       0
+  0    601 00:47:06.74   5.1200A   8.7849  -5.6551   4.7742  0.286  0.93  -0.261    500.  0.132E+02  0.101E+01  0.158E-03  0.236E-05    3  16  88   16  37  54   19  42  57    0.000    0.000       0
+  0    602 00:47:11.84   5.1000A   8.8223  -5.7308   4.7177  0.286  0.93  -0.262    500.  0.132E+02  0.101E+01  0.157E-03  0.236E-05    4  16  91   16  37  54   19  42  57    0.000    0.000       0
+  0    603 00:47:16.99   5.1500A   8.7399  -5.7573   4.6742  0.286  0.93  -0.256    500.  0.132E+02  0.101E+01  0.158E-03  0.238E-05    3  16  89   16  37  54   19  42  57    0.000    0.000       0
+  0    604 00:47:22.13   5.1400A   8.7591  -5.7249   4.6445  0.285  0.93  -0.257    500.  0.132E+02  0.101E+01  0.158E-03  0.237E-05    3  16  90   16  37  54   19  42  57    0.000    0.000       0
+  0    605 00:47:27.33   5.2000A   8.6558  -5.7748   4.6354  0.285  0.93  -0.259    500.  0.132E+02  0.101E+01  0.159E-03  0.238E-05    3  16  91   17  37  55   19  42  57    0.000    0.000       0
+  0    606 00:47:32.54   5.2100A   8.6359  -5.7794   4.6441  0.285  0.93  -0.262    500.  0.132E+02  0.101E+01  0.159E-03  0.238E-05    4  15  92   17  37  55   19  42  57    0.000    0.000       0
+  0    607 00:47:37.80   5.2600A   8.5599  -5.7483   4.6734  0.285  0.93  -0.259    500.  0.132E+02  0.101E+01  0.161E-03  0.240E-05    4  15  93   17  37  55   19  42  57    0.000    0.000       0
+  0    608 00:47:43.08   5.2800A   8.5241  -5.7122   4.7189  0.285  0.93  -0.256    500.  0.132E+02  0.101E+01  0.161E-03  0.241E-05    4  15  93   17  37  55   19  42  57    0.000    0.000       0
+  0    609 00:47:48.37   5.2900A   8.5093  -5.7041   4.7770  0.284  0.87  -0.255    400.  0.132E+02  0.101E+01  0.161E-03  0.241E-05    4  15  94   17  37  55   19  42  57    0.000    0.000       0
+  0    610 00:47:53.74   5.3700A   8.3770  -5.7417   4.8402  0.284  0.87  -0.255    400.  0.132E+02  0.100E+01  0.163E-03  0.244E-05    2  16  93   17  37  55   19  42  57    0.000    0.000       0
+  0    611 00:47:59.07   5.3300A   8.4383  -5.8625   4.8989  0.284  0.87  -0.258    400.  0.132E+02  0.100E+01  0.162E-03  0.243E-05    4  11  87   14  34  53   19  42  57    0.000    0.000       0
+  0    612 00:48:04.44   5.3700A   8.3730  -5.9285   4.9494  0.284  0.87  -0.260    400.  0.132E+02  0.100E+01  0.163E-03  0.244E-05    4  11  88   14  34  53   19  42  57    0.000    0.000       0
+  0    613 00:48:09.79   5.3500A   8.4149  -5.9612   4.9793  0.283  0.87  -0.258    400.  0.132E+02  0.100E+01  0.163E-03  0.243E-05    5  16  93   17  37  55   19  42  57    0.000    0.000       0
+  0    614 00:48:15.11   5.3200A   8.4587  -5.9453   4.9873  0.283  0.87  -0.256    400.  0.132E+02  0.100E+01  0.162E-03  0.242E-05    5  16  94   17  37  55   19  42  57    0.000    0.000       0
+  0    615 00:48:20.41   5.3000A   8.4870  -5.8535   4.9715  0.283  0.87  -0.255    400.  0.132E+02  0.100E+01  0.161E-03  0.241E-05    5  16  95   17  37  55   19  42  57    0.000    0.000       0
+  0    616 00:48:25.63   5.2200A   8.6184  -5.9671   4.9363  0.283  0.87  -0.256    400.  0.132E+02  0.100E+01  0.159E-03  0.238E-05    5  16  95   14  32  53   19  42  57    0.000    0.000       0
+  0    617 00:48:30.81   5.1800A   8.6929  -6.2283   4.8930  0.282  0.87  -0.256    400.  0.131E+02  0.100E+01  0.157E-03  0.236E-05    5  16  96   14  32  53   19  42  57    0.000    0.000       0
+  0    618 00:48:36.01   5.2000A   8.6497  -6.3560   4.8458  0.282  0.87  -0.257    400.  0.131E+02  0.100E+01  0.158E-03  0.237E-05    5  16  97   14  32  53   19  42  57    0.000    0.000       0
+  0    619 00:48:41.14   5.1300A   8.7668  -6.3051   4.7985  0.282  0.87  -0.264    400.  0.131E+02  0.100E+01  0.156E-03  0.234E-05    5  16  97   14  32  53   19  42  57    0.000    0.000       0
+  0    620 00:48:46.25   5.1100A   8.8021  -6.0754   4.7613  0.282  1.02  -0.257    650.  0.131E+02  0.100E+01  0.155E-03  0.232E-05    5  16  98   14  32  53   19  42  57    0.000    0.000       0
+  0    621 00:48:51.45   5.2000A   8.6501  -5.7075   4.7314  0.281  1.02  -0.257    650.  0.131E+02  0.100E+01  0.158E-03  0.234E-05    5  16  98   14  32  53   19  42  57    0.000    0.000       0
+  0    622 00:48:56.61   5.1600A   8.7186  -5.7712   4.7069  0.281  1.02  -0.258    650.  0.131E+02  0.999E+00  0.157E-03  0.233E-05    5  16  99   16  37  54   19  42  57    0.000    0.000       0
+  0    623 00:49:01.77   5.1600A   8.7215  -5.8852   4.6984  0.281  1.02  -0.264    650.  0.131E+02  0.999E+00  0.157E-03  0.232E-05    5  16 100   16  37  54   19  42  57    0.000    0.000       0
+  0    624 00:49:06.96   5.1900A   8.6624  -5.9521   4.7040  0.281  1.02  -0.262    650.  0.131E+02  0.999E+00  0.157E-03  0.234E-05    5  17  99   16  37  54   19  42  57    0.000    0.000       0
+  0    625 00:49:12.09   5.1300A   8.7696  -5.9477   4.7258  0.280  1.02  -0.264    650.  0.131E+02  0.998E+00  0.156E-03  0.232E-05    5  17 100   16  37  54   19  42  57    0.000    0.000       0
+  0    626 00:49:17.24   5.1500A   8.7369  -6.0692   4.7656  0.280  1.02  -0.284    650.  0.131E+02  0.998E+00  0.156E-03  0.232E-05    5  17 100   15  35  54   19  42  57    0.000    0.000       0
+  0    627 00:49:22.26   5.0200A   8.9627  -6.0503   4.8153  0.280  1.02  -0.266    650.  0.131E+02  0.998E+00  0.152E-03  0.227E-05    5  17 101   15  35  54   19  42  57    0.000    0.000       0
+  0    628 00:49:27.27   5.0100A   8.9863  -5.8972   4.8749  0.280  1.02  -0.268    650.  0.131E+02  0.997E+00  0.152E-03  0.227E-05    5  17 102   14  35  53   19  42  57    0.000    0.000       0
+  0    629 00:49:32.38   5.1100A   8.8099  -6.0054   4.9333  0.279  1.02  -0.275    650.  0.131E+02  0.997E+00  0.154E-03  0.231E-05    5  17 102   14  35  53   19  42  57    0.000    0.000       0
+  0    630 00:49:37.37   4.9900A   9.0126  -6.0731   4.9842  0.279  1.02  -0.265    650.  0.131E+02  0.997E+00  0.151E-03  0.226E-05    5  17 103   14  35  53   19  42  57    0.000    0.000       0
+  0    631 00:49:42.41   5.0400A   8.9231  -6.1094   5.0281  0.279  1.02  -0.264    650.  0.131E+02  0.997E+00  0.152E-03  0.227E-05    5  17 104   14  35  53   19  42  57    0.000    0.000       0
+  0    632 00:49:47.56   5.1500A   8.7346  -6.1213   5.0491  0.278  1.02  -0.264    650.  0.131E+02  0.996E+00  0.155E-03  0.231E-05    5  17 104   14  35  53   19  42  57    0.000    0.000       0
+  0    633 00:49:52.75   5.1900A   8.6774  -6.1155   5.0421  0.278  1.02  -0.264    650.  0.131E+02  0.996E+00  0.156E-03  0.232E-05    5  17 105   14  35  53   19  42  57    0.000    0.000       0
+  0    634 00:49:58.14   5.3900A   8.3471  -6.0985   5.0072  0.278  1.02  -0.264    650.  0.131E+02  0.996E+00  0.161E-03  0.239E-05    5  17 106   14  35  53   19  42  57    0.000    0.000       0
+  0    635 00:50:03.60   5.4600A   8.2484  -6.0711   4.9330  0.278  1.02  -0.266    650.  0.131E+02  0.995E+00  0.163E-03  0.240E-05   14  44 115   14  35  53   19  42  57    0.000    0.000       0
+  0    636 00:50:09.18   5.5800A   8.0680  -6.1372   4.8302  0.277  1.02  -0.269    650.  0.131E+02  0.995E+00  0.166E-03  0.244E-05    7  18  99   17  37  55   19  42  57    0.000    0.000       0
+  0    637 00:50:14.65   5.4700A   8.2315  -6.1051   4.6977  0.277  1.02  -0.267    650.  0.131E+02  0.995E+00  0.163E-03  0.239E-05    7  18  99   17  37  55   19  42  57    0.000    0.000       0
+  0    638 00:50:20.12   5.4700A   8.2336  -5.9951   4.5602  0.277  1.02  -0.267    650.  0.131E+02  0.994E+00  0.163E-03  0.238E-05    7  18 100   14  35  53   19  42  57    0.000    0.000       0
+  0    639 00:50:25.65   5.5300A   8.1408  -5.9822   4.4149  0.277  1.02  -0.268    650.  0.131E+02  0.994E+00  0.165E-03  0.240E-05   15  17 105   14  35  53   19  42  57    0.000    0.000       0
+  0    640 00:50:31.11   5.4600A   8.2360  -5.9557   4.2734  0.276  1.02  -0.270    650.  0.131E+02  0.994E+00  0.163E-03  0.239E-05    7  18 101   14  35  53   19  42  57    0.000    0.000       0
+  0    641 00:50:36.61   5.5000A   8.1793  -5.9675   4.1578  0.276  1.02  -0.271    650.  0.131E+02  0.993E+00  0.164E-03  0.241E-05   15  17 106   15  36  54   19  42  57    0.000    0.000       0
+  0    642 00:50:42.16   5.5500A   8.1106  -6.1821   4.0681  0.276  1.02  -0.271    650.  0.131E+02  0.993E+00  0.165E-03  0.244E-05    7  18 102   15  36  54   19  42  57    0.000    0.000       0
+  0    643 00:50:47.80   5.6400A   7.9779  -6.2478   4.0157  0.276  1.02  -0.273    650.  0.131E+02  0.992E+00  0.168E-03  0.248E-05    7  17 101   15  36  54   19  42  57    0.000    0.000       0
+  0    644 00:50:53.45   5.6500A   7.9697  -6.1683   4.0082  0.275  1.02  -0.273    650.  0.131E+02  0.992E+00  0.168E-03  0.250E-05    7  17 101   15  36  54   19  42  57    0.000    0.000       0
+  0    645 00:50:59.02   5.5700A   8.0782  -6.0166   4.0540  0.275  1.02  -0.280    650.  0.131E+02  0.992E+00  0.166E-03  0.248E-05    7  17 102   15  36  54   19  42  57    0.000    0.000       0
+  0    646 00:51:04.63   5.6100A   8.0226  -5.9579   4.1523  0.275  1.02  -0.279    650.  0.130E+02  0.991E+00  0.167E-03  0.250E-05    7  17 102   16  37  54   19  42  57    0.000    0.000       0
+  0    647 00:51:10.19   5.5600A   8.0938  -6.2604   4.2947  0.275  1.02  -0.282    650.  0.130E+02  0.991E+00  0.165E-03  0.249E-05    7  17 103   16  37  54   19  42  57    0.000    0.000       0
+  0    648 00:51:15.76   5.5700A   8.0743  -6.5181   4.4723  0.275  1.02  -0.276    650.  0.130E+02  0.990E+00  0.166E-03  0.251E-05    2  60  89   16  37  54   19  42  57    0.000    0.000       0
+  0    649 00:51:21.35   5.5900A   8.0541  -6.6621   4.6634  0.275  1.02  -0.276    650.  0.130E+02  0.990E+00  0.166E-03  0.254E-05    2  61  89   16  37  54   19  42  57    0.000    0.000       0
+  0    650 00:51:26.91   5.5600A   8.0980  -6.6401   4.8424  0.274  1.02  -0.275    650.  0.130E+02  0.989E+00  0.165E-03  0.254E-05    2  60  90   16  37  54   19  42  57    0.000    0.000       0
+  0    651 00:51:32.49   5.5800A   8.0615  -6.4574   4.9837  0.274  1.02  -0.278    650.  0.130E+02  0.989E+00  0.165E-03  0.255E-05    2  60  90   16  37  54   19  42  57    0.000    0.000       0
+  0    652 00:51:37.78   5.2900A   8.5046  -6.1664   5.0672  0.274  1.02  -0.279    650.  0.130E+02  0.988E+00  0.157E-03  0.244E-05   14  26  80   16  37  54   19  42  57    0.000    0.000       0
+  0    653 00:51:42.79   5.0100A   8.9738  -6.0939   5.0989  0.274  1.02  -0.333    650.  0.130E+02  0.988E+00  0.149E-03  0.231E-05   14  26  80   16  36  54   19  42  57    0.000    0.000       0
+  0    654 00:51:48.07   5.2800A   8.5286  -6.0172   5.0812  0.274  1.02  -0.281    650.  0.130E+02  0.987E+00  0.157E-03  0.240E-05   14  26  80   16  36  54   19  42  57    0.000    0.000       0
+  0    655 00:51:53.38   5.3100A   8.4770  -5.9062   4.9973  0.274  0.99  -0.287    600.  0.130E+02  0.986E+00  0.157E-03  0.241E-05   14  26  81   16  36  54   19  42  57    0.000    0.000       0
+  0    656 00:51:58.47   5.0900A   8.8409  -6.0120   4.8938  0.274  0.99  -0.296    600.  0.130E+02  0.986E+00  0.151E-03  0.231E-05   14  26  81   14  35  53   19  42  57    0.000    0.000       0
+  0    657 00:52:03.80   5.3300A   8.4421  -6.2943   4.7987  0.273  0.99  -0.286    600.  0.130E+02  0.985E+00  0.157E-03  0.239E-05   15  24  75   14  35  53   19  42  57    0.000    0.000       0
+  0    658 00:52:09.28   5.4800A   8.2131  -6.5438   4.6848  0.273  0.99  -0.282    600.  0.130E+02  0.984E+00  0.161E-03  0.245E-05   14  26  82   14  35  53   19  42  57    0.000    0.000       0
+  0    659 00:52:14.74   5.4600A   8.2421  -6.6838   4.5812  0.273  0.99  -0.278    600.  0.130E+02  0.984E+00  0.161E-03  0.245E-05   15  24  78   14  35  53   19  42  57    0.000    0.000       0
+  0    660 00:52:19.99   5.2500A   8.5774  -6.6826   4.5003  0.273  0.99  -0.277    600.  0.130E+02  0.983E+00  0.155E-03  0.237E-05   15  24  78   15  36  54   19  42  57    0.000    0.000       0
+  0    661 00:52:25.30   5.3100A   8.4805  -6.7063   4.4447  0.273  0.99  -0.276    600.  0.130E+02  0.982E+00  0.157E-03  0.239E-05   15  24  78   15  36  54   19  42  57    0.000    0.000       0
+  0    662 00:52:30.88   5.5800A   8.0604  -6.6494   4.3901  0.273  0.99  -0.276    600.  0.130E+02  0.982E+00  0.164E-03  0.250E-05   14  51  97   15  36  54   19  42  57    0.000    0.000       0
+  0    663 00:52:36.49   5.6100A   8.0281  -6.5402   4.3719  0.273  0.87  -0.275    400.  0.130E+02  0.981E+00  0.165E-03  0.253E-05    2  56  94   15  36  54   19  43  58    0.000    0.000       0
+  0    664 00:52:42.12   5.6300A   7.9943  -6.4307   4.4011  0.273  0.87  -0.273    400.  0.130E+02  0.980E+00  0.165E-03  0.255E-05    2  57  94   15  36  54    3  27  98    0.000    0.000       0
+  0    665 00:52:47.69   5.5700A   8.0782  -6.3378   4.7202  0.273  0.87  -0.272    400.  0.130E+02  0.979E+00  0.163E-03  0.252E-05    2  55  95   15  36  54    3  27  98    0.000    0.000       0
+  0    666 00:52:53.29   5.6000A   8.0357  -6.2743   4.8484  0.272  0.87  -0.273    400.  0.130E+02  0.979E+00  0.164E-03  0.254E-05    2  55  95   15  36  54    3  27  98    0.000    0.000       0
+  0    667 00:52:58.80   5.5100A   8.1733  -6.2919   4.7918  0.272  0.87  -0.275    400.  0.130E+02  0.978E+00  0.161E-03  0.250E-05    2  55  96   16  36  54    3  28  97    0.000    0.000       0
+  0    668 00:53:04.37   5.5700A   8.0739  -6.2718   5.0303  0.272  0.87  -0.277    400.  0.130E+02  0.977E+00  0.163E-03  0.253E-05    2  55  97   16  36  54    4  27  98    0.000    0.000       0
+  0    669 00:53:09.86   5.4900A   8.1950  -6.2420   5.1058  0.272  0.87  -0.281    400.  0.130E+02  0.976E+00  0.161E-03  0.251E-05    2  55  97   15  36  54    4  27  98    0.000    0.000       0
+  0    670 00:53:15.45   5.5900A   8.0524  -6.2350   4.9666  0.272  0.96  -0.278    550.  0.130E+02  0.975E+00  0.163E-03  0.255E-05    2  55  97   15  36  54    4  27  98    0.000    0.000       0
+  0    671 00:53:20.99   5.5400A   8.1156  -6.1965   4.7967  0.272  0.96  -0.281    550.  0.130E+02  0.975E+00  0.162E-03  0.254E-05    2  55  98   15  36  54    4  27  99    0.000    0.000       0
+  0    672 00:53:26.64   5.6500A   7.9716  -6.1421   4.8444  0.272  0.96  -0.281    550.  0.130E+02  0.974E+00  0.165E-03  0.260E-05    2  57  99   15  36  54    4  27  99    0.000    0.000       0
+  0    673 00:53:32.24   5.6000A   8.0308  -6.0836   4.8226  0.272  0.96  -0.278    550.  0.130E+02  0.973E+00  0.163E-03  0.259E-05   12  52  97   15  36  54    5  27  99    0.000    0.000       0
+  0    674 00:53:37.92   5.6800A   7.9223  -6.0692   4.8130  0.272  0.96  -0.275    550.  0.130E+02  0.972E+00  0.166E-03  0.263E-05    2  58  98   14  36  53    5  27  99    0.000    0.000       0
+  0    675 00:53:43.63   5.7100A   7.8837  -6.1360   4.6987  0.271  0.96  -0.272    550.  0.130E+02  0.971E+00  0.166E-03  0.265E-05    2  58  98   14  36  53    5  26 100    0.000    0.000       0
+  0    676 00:53:49.19   5.5600A   8.0987  -6.0647   4.5980  0.271  0.96  -0.272    550.  0.130E+02  0.971E+00  0.162E-03  0.259E-05   12  52  98   14  36  53   19  42  57    0.000    0.000       0
+  0    677 00:53:54.84   5.6500A   7.9606  -5.9920   4.5930  0.271  0.96  -0.272    550.  0.129E+02  0.970E+00  0.164E-03  0.262E-05    5  63 100   16  36  54   19  42  57    0.000    0.000       0
+  0    678 00:54:00.52   5.6800A   7.9199  -6.0561   4.8867  0.271  0.96  -0.274    550.  0.129E+02  0.969E+00  0.165E-03  0.264E-05    5  63 100   14  35  53    3  26 100    0.000    0.000       0
+  0    679 00:54:06.17   5.6500A   7.9597  -6.1725   4.6105  0.271  0.96  -0.271    550.  0.129E+02  0.968E+00  0.164E-03  0.262E-05    5  63 101   14  35  53    3  26 100    0.000    0.000       0
+  0    680 00:54:11.79   5.6200A   8.0087  -6.1961   4.7525  0.271  0.96  -0.270    550.  0.129E+02  0.967E+00  0.163E-03  0.259E-05   16  41  97   14  35  53    3  26 101    0.000    0.000       0
+  0    681 00:54:17.48   5.6900A   7.9118  -6.0970   4.9388  0.271  0.93  -0.271    500.  0.129E+02  0.966E+00  0.165E-03  0.261E-05    2  53 104   14  35  53    3  26 101    0.000    0.000       0
+  0    682 00:54:23.19   5.7100A   7.8767  -6.0134   4.9623  0.271  0.93  -0.271    500.  0.129E+02  0.965E+00  0.165E-03  0.261E-05    2  53 104   16  36  54    3  25 103    0.000    0.000       0
+  0    683 00:54:28.87   5.6800A   7.9285  -6.1121   4.8667  0.271  0.93  -0.270    500.  0.129E+02  0.964E+00  0.164E-03  0.259E-05    2  53 105   16  36  54    3  25 103    0.000    0.000       0
+  0    684 00:54:34.47   5.6000A   8.0310  -6.1661   4.5198  0.271  0.93  -0.271    500.  0.129E+02  0.964E+00  0.162E-03  0.255E-05   16  41 100   16  36  54    3  25 104    0.000    0.000       0
+  0    685 00:54:40.14   5.6700A   7.9413  -6.1323   4.6858  0.271  0.93  -0.269    500.  0.129E+02  0.963E+00  0.164E-03  0.257E-05    2  53 105   16  36  54    3  25 104    0.000    0.000       0
+  0    686 00:54:45.77   5.6300A   7.9910  -6.1949   4.8092  0.271  0.93  -0.268    500.  0.129E+02  0.962E+00  0.163E-03  0.256E-05    2  53 106   15  36  54    6  27 101    0.000    0.000       0
+  0    687 00:54:51.40   5.6300A   7.9931  -6.2912   4.9031  0.270  0.93  -0.268    500.  0.129E+02  0.961E+00  0.162E-03  0.256E-05    2  53 106   15  36  54    6  27 101    0.000    0.000       0
+  0    688 00:54:57.05   5.6500A   7.9619  -6.3885   4.8044  0.270  0.93  -0.267    500.  0.129E+02  0.960E+00  0.163E-03  0.257E-05    2  53 107   15  36  54    6  27 101    0.000    0.000       0
+  0    689 00:55:02.68   5.6300A   7.9949  -6.5006   4.7680  0.270  0.93  -0.266    500.  0.129E+02  0.959E+00  0.162E-03  0.257E-05    2  53 107   15  36  54    6  27 102    0.000    0.000       0
+  0    690 00:55:08.37   5.6900A   7.9111  -6.6299   4.8513  0.270  0.93  -0.265    500.  0.129E+02  0.957E+00  0.164E-03  0.260E-05    1  51 108   15  36  54    6  27 102    0.000    0.000       0
+  0    691 00:55:14.07   5.7000A   7.8956  -6.7589   4.6786  0.270  0.93  -0.265    500.  0.129E+02  0.956E+00  0.164E-03  0.262E-05    2  53 108   15  36  54    6  27 102    0.000    0.000       0
+  0    692 00:55:19.82   5.7500A   7.8308  -6.8538   4.5325  0.270  0.93  -0.265    500.  0.129E+02  0.955E+00  0.165E-03  0.264E-05    2  53 108   15  36  54    6  27 103    0.000    0.000       0
+  0    693 00:55:25.47   5.6500A   7.9707  -6.8701   4.5414  0.270  0.93  -0.263    500.  0.129E+02  0.954E+00  0.163E-03  0.261E-05   14  47 108   15  36  54    6  27 103    0.000    0.000       0
+  0    694 00:55:31.04   5.5700A   8.0769  -6.7907   4.4414  0.270  0.93  -0.263    500.  0.129E+02  0.953E+00  0.161E-03  0.258E-05   14  47 108   15  36  54   19  42  57    0.000    0.000       0
+  0    695 00:55:36.51   5.4700A   8.2231  -6.6302   4.4857  0.270  0.93  -0.262    500.  0.129E+02  0.952E+00  0.158E-03  0.253E-05   14  47 109   15  36  54    6  28 102    0.000    0.000       0
+  0    696 00:55:41.73   5.2200A   8.6189  -6.4347   4.4541  0.270  0.93  -0.264    500.  0.129E+02  0.951E+00  0.151E-03  0.243E-05   14  47 109   15  36  54    6  28 102    0.000    0.000       0
+  0    697 00:55:47.36   5.6300A   7.9956  -6.2638   4.4361  0.270  0.93  -0.266    500.  0.129E+02  0.950E+00  0.162E-03  0.259E-05   14  47 109   15  36  54   19  42  57    0.000    0.000       0
+  0    698 00:55:52.64   5.2800A   8.5197  -6.1152   4.4611  0.270  0.93  -0.267    500.  0.129E+02  0.949E+00  0.153E-03  0.246E-05   14  47 110   15  36  54   19  42  57    0.000    0.000       0
+  0    699 00:55:57.91   5.2700A   8.5435  -6.0783   4.5177  0.269  0.87  -0.270    400.  0.129E+02  0.948E+00  0.153E-03  0.245E-05   14  47 110   15  36  54   19  42  57    0.000    0.000       0
+  0    700 00:56:03.73   5.8200A   7.7306  -6.2809   4.5670  0.269  0.87  -0.272    400.  0.129E+02  0.946E+00  0.167E-03  0.267E-05   14  47 110   15  37  53   19  42  57    0.000    0.000       0
+  0    701 00:56:09.68   5.9500A   7.5603  -6.3719   4.5927  0.269  0.87  -0.273    400.  0.129E+02  0.945E+00  0.170E-03  0.273E-05    2  64 101   15  37  53   19  42  57    0.000    0.000       0
+  0    702 00:56:15.51   5.8300A   7.7195  -6.4484   4.6166  0.269  0.87  -0.268    400.  0.129E+02  0.944E+00  0.167E-03  0.268E-05   16  19 105   15  36  54   19  42  57    0.000    0.000       0
+  0    703 00:56:21.44   5.9300A   7.5917  -6.6585   4.6378  0.269  0.87  -0.268    400.  0.129E+02  0.942E+00  0.170E-03  0.270E-05   14  50 107   15  36  54   19  42  57    0.000    0.000       0
+  0    704 00:56:27.31   5.8700A   7.6717  -6.7897   4.6455  0.269  0.87  -0.268    400.  0.129E+02  0.941E+00  0.168E-03  0.267E-05   16  46  69   15  36  54   19  42  57    0.000    0.000       0
+  0    705 00:56:32.98   5.6700A   7.9414  -6.7777   4.6554  0.269  0.87  -0.276    400.  0.129E+02  0.940E+00  0.163E-03  0.258E-05   14  49  83   15  36  54   19  42  57    0.000    0.000       0
+  0    706 00:56:38.87   5.8900A   7.6425  -6.6119   4.6735  0.269  0.87  -0.267    400.  0.129E+02  0.938E+00  0.168E-03  0.265E-05   15  46  72   15  36  54   19  42  57    0.000    0.000       0
+  0    707 00:56:44.50   5.6300A   7.9922  -6.3061   4.6846  0.268  0.87  -0.268    400.  0.129E+02  0.937E+00  0.162E-03  0.254E-05   14  49  84   15  36  54   19  42  57    0.000    0.000       0
+  0    708 00:56:50.11   5.6100A   8.0181  -6.0584   4.7154  0.268  0.87  -0.270    400.  0.129E+02  0.936E+00  0.161E-03  0.252E-05    4  21 117   16  36  54   19  42  57    0.000    0.000       0
+  0    709 00:56:55.77   5.6600A   7.9484  -6.2990   4.7439  0.268  0.87  -0.273    400.  0.128E+02  0.935E+00  0.162E-03  0.253E-05   15  21  85   16  36  54   19  42  57    0.000    0.000       0
+  0    710 00:57:01.29   5.5200A   8.1499  -6.3806   4.7678  0.268  0.87  -0.270    400.  0.128E+02  0.933E+00  0.159E-03  0.248E-05    4  21 118   16  36  54   19  42  57    0.000    0.000       0
+  0    711 00:57:06.97   5.6800A   7.9224  -6.3457   4.7891  0.268  0.87  -0.269    400.  0.128E+02  0.932E+00  0.163E-03  0.255E-05   15  46  75   16  36  54   19  42  57    0.000    0.000       0
+  0    712 00:57:12.50   5.5300A   8.1345  -6.2486   4.7856  0.268  0.87  -0.268    400.  0.128E+02  0.931E+00  0.159E-03  0.250E-05   15  46  75   16  36  54   19  42  57    0.000    0.000       0
+  0    713 00:57:18.29   5.7900A   7.7688  -6.5041   4.7717  0.268  0.87  -0.268    400.  0.128E+02  0.930E+00  0.166E-03  0.260E-05    3  21 120   15  36  54   19  42  57    0.000    0.000       0
+  0    714 00:57:24.06   5.7700A   7.8006  -6.7304   4.7181  0.268  0.87  -0.268    400.  0.128E+02  0.929E+00  0.165E-03  0.260E-05   15  46  77   15  36  54   19  42  57    0.000    0.000       0
+  0    715 00:57:29.73   5.6700A   7.9394  -6.7989   4.6520  0.268  0.96  -0.268    550.  0.128E+02  0.928E+00  0.162E-03  0.257E-05   16  43  89   15  36  54   19  42  57    0.000    0.000       0
+  0    716 00:57:35.44   5.7100A   7.8876  -6.7053   4.5795  0.267  0.96  -0.270    550.  0.128E+02  0.927E+00  0.164E-03  0.258E-05   15  46  78   15  36  54   19  42  57    0.000    0.000       0
+  0    717 00:57:40.87   5.4300A   8.2885  -6.5144   4.5020  0.267  0.96  -0.282    550.  0.128E+02  0.926E+00  0.156E-03  0.247E-05   15  46  79   15  36  54   19  42  57    0.000    0.000       0
+  0    718 00:57:46.42   5.5500A   8.1012  -6.3395   4.4526  0.267  0.96  -0.271    550.  0.128E+02  0.925E+00  0.159E-03  0.251E-05   15  46  79   15  36  54   19  42  57    0.000    0.000       0
+  0    719 00:57:51.72   5.3000A   8.4968  -6.2244   4.4083  0.267  0.96  -0.269    550.  0.128E+02  0.924E+00  0.152E-03  0.241E-05   15  46  80   14  35  53   19  42  57    0.000    0.000       0
+  0    720 00:57:57.17   5.4500A   8.2578  -6.5016   4.3994  0.267  0.96  -0.269    550.  0.128E+02  0.923E+00  0.156E-03  0.246E-05   15  46  80   14  35  53   19  42  57    0.000    0.000       0
+  0    721 00:58:02.67   5.5000A   8.1780  -6.7250   4.3959  0.267  0.96  -0.273    550.  0.128E+02  0.922E+00  0.157E-03  0.249E-05   15  46  81   14  35  53   19  42  57    0.000    0.000       0
+  0    722 00:58:08.31   5.6400A   7.9811  -6.8764   4.4075  0.267  0.96  -0.273    550.  0.128E+02  0.922E+00  0.161E-03  0.255E-05   14  49  70   14  35  53   19  42  57    0.000    0.000       0
+  0    723 00:58:13.78   5.4700A   8.2230  -6.9627   4.4243  0.266  0.96  -0.270    550.  0.128E+02  0.921E+00  0.156E-03  0.249E-05   15  46  75   14  35  53   19  42  57    0.000    0.000       0
+  0    724 00:58:19.08   5.3000A   8.4855  -6.9864   4.4555  0.266  0.96  -0.270    550.  0.128E+02  0.920E+00  0.152E-03  0.241E-05   15  46  75   14  35  53   19  42  57    0.000    0.000       0
+  0    725 00:58:24.27   5.1900A   8.6719  -6.9406   4.4924  0.266  0.96  -0.270    550.  0.128E+02  0.920E+00  0.149E-03  0.236E-05   16  41  91   14  35  53   19  42  57    0.000    0.000       0
+  0    726 00:58:29.49   5.2200A   8.6242  -6.8172   4.5326  0.266  0.96  -0.271    550.  0.128E+02  0.919E+00  0.149E-03  0.238E-05   16  41  91   14  35  53   19  42  57    0.000    0.000       0
+  0    727 00:58:34.41   4.9200A   9.1488  -6.6038   4.5729  0.266  0.96  -0.273    550.  0.128E+02  0.918E+00  0.141E-03  0.226E-05   16  41  92   14  35  53   19  42  57    0.000    0.000       0
+  0    728 00:58:39.54   5.1300A   8.7647  -6.3401   4.6236  0.266  0.96  -0.276    550.  0.128E+02  0.918E+00  0.147E-03  0.234E-05   16  41  93   14  35  53   19  42  57    0.000    0.000       0
+  0    729 00:58:44.49   4.9500A   9.0932  -6.1242   4.6529  0.266  0.96  -0.272    550.  0.128E+02  0.917E+00  0.142E-03  0.228E-05   16  41  94   16  36  54   19  42  57    0.000    0.000       0
+  0    730 00:58:49.31   4.8200A   9.3401  -6.0976   4.6790  0.265  0.96  -0.270    550.  0.128E+02  0.917E+00  0.139E-03  0.222E-05   16  41  94   16  36  54   19  42  57    0.000    0.000       0
+  0    731 00:58:54.30   4.9900A   9.0091  -6.1548   4.6828  0.265  0.96  -0.271    550.  0.128E+02  0.916E+00  0.143E-03  0.229E-05   16  41  95   15  36  54   19  42  57    0.000    0.000       0
+  0    732 00:58:59.24   4.9400A   9.1164  -6.3371   4.6448  0.265  0.96  -0.270    550.  0.128E+02  0.916E+00  0.142E-03  0.228E-05   16  41  96   15  36  54   19  42  57    0.000    0.000       0
+  0    733 00:59:04.14   4.9000A   9.1800  -6.5286   4.5839  0.265  0.96  -0.271    550.  0.128E+02  0.915E+00  0.141E-03  0.227E-05   16  41  96   15  36  54   19  42  57    0.000    0.000       0
+  0    734 00:59:09.24   5.1000A   8.8225  -6.6746   4.4966  0.265  0.96  -0.272    550.  0.128E+02  0.915E+00  0.146E-03  0.236E-05   16  41  97   15  36  54   19  42  57    0.000    0.000       0
+  0    735 00:59:14.39   5.1500A   8.7322  -6.7270   4.3717  0.265  0.96  -0.277    550.  0.128E+02  0.914E+00  0.148E-03  0.240E-05   16  41  98   15  36  54   19  42  57    0.000    0.000       0
+  0    736 00:59:19.63   5.2400A   8.5928  -6.6802   4.2405  0.265  0.96  -0.277    550.  0.128E+02  0.913E+00  0.150E-03  0.245E-05   16  41  99   15  36  54   19  42  57    0.000    0.000       0
+  0    737 00:59:24.93   5.3000A   8.4904  -6.5518   4.1099  0.264  0.96  -0.274    550.  0.128E+02  0.913E+00  0.152E-03  0.249E-05   16  41  99   15  36  54   19  42  57    0.000    0.000       0
+  0    738 00:59:30.37   5.4400A   8.2735  -6.3920   4.1917  0.264  0.96  -0.276    550.  0.128E+02  0.912E+00  0.156E-03  0.256E-05   16  41 100   13  37  52   19  43  58    0.000    0.000       0
+  0    739 00:59:35.78   5.4100A   8.3196  -6.3142   4.2858  0.264  0.96  -0.277    550.  0.128E+02  0.912E+00  0.155E-03  0.255E-05   15  46  83   13  36  52   19  43  58    0.000    0.000       0
+  0    740 00:59:41.08   5.3000A   8.4867  -6.3376   4.3378  0.264  0.96  -0.280    550.  0.128E+02  0.911E+00  0.152E-03  0.250E-05   15  50  90   13  36  52   19  43  58    0.000    0.000       0
+  0    741 00:59:46.52   5.4400A   8.2755  -6.5545   4.3414  0.264  0.96  -0.280    550.  0.128E+02  0.910E+00  0.155E-03  0.255E-05   15  50  90   13  35  52   19  43  58    0.000    0.000       0
+  0    742 00:59:51.94   5.4200A   8.3019  -6.5893   4.2920  0.264  0.96  -0.287    550.  0.128E+02  0.910E+00  0.155E-03  0.254E-05   15  50  91   13  35  52   19  43  58    0.000    0.000       0
+  0    743 00:59:57.43   5.4900A   8.1985  -6.4069   4.2031  0.264  0.96  -0.284    550.  0.128E+02  0.909E+00  0.157E-03  0.256E-05   15  50  91   13  35  52   19  43  58    0.000    0.000       0
+  0    744 01:00:02.77   5.3400A   8.4225  -6.1826   4.2584  0.263  0.96  -0.284    550.  0.128E+02  0.908E+00  0.153E-03  0.250E-05   15  50  92   15  36  54   10  31 113    0.000    0.000       0
+  0    745 01:00:08.14   5.3700A   8.3784  -6.1385   4.2545  0.263  0.96  -0.284    550.  0.128E+02  0.908E+00  0.153E-03  0.250E-05   15  50  92   15  36  54   19  42  57    0.000    0.000       0
+  0    746 01:00:13.66   5.5200A   8.1482  -6.0434   4.3414  0.263  0.96  -0.285    550.  0.128E+02  0.907E+00  0.157E-03  0.256E-05   15  50  93   15  36  54   19  42  57    0.000    0.000       0
+  0    747 01:00:19.06   5.4000A   8.3370  -5.9054   4.4030  0.263  0.96  -0.285    550.  0.127E+02  0.907E+00  0.154E-03  0.250E-05   15  45  81   15  36  54   19  42  57    0.000    0.000       0
+  0    748 01:00:24.54   5.4800A   8.2153  -5.8558   4.4486  0.263  0.96  -0.286    550.  0.127E+02  0.906E+00  0.156E-03  0.251E-05   15  43  92   17  37  55   19  42  57    0.000    0.000       0
+  0    749 01:00:29.93   5.3900A   8.3416  -5.8778   4.4715  0.263  0.96  -0.290    550.  0.127E+02  0.905E+00  0.153E-03  0.246E-05   15  43  92   15  35  54   19  42  57    0.000    0.000       0
+  0    750 01:00:35.45   5.5200A   8.1571  -5.9310   4.4899  0.262  0.96  -0.289    550.  0.127E+02  0.904E+00  0.157E-03  0.250E-05   15  43  93   15  35  54   19  42  57    0.000    0.000       0
+  0    751 01:00:40.88   5.4300A   8.2832  -5.9594   4.5006  0.262  0.96  -0.304    550.  0.127E+02  0.904E+00  0.154E-03  0.246E-05   15  43  93   15  35  54   19  42  57    0.000    0.000       0
+  0    752 01:00:46.41   5.5300A   8.1431  -5.9687   4.5213  0.262  0.87  -0.295    400.  0.127E+02  0.903E+00  0.157E-03  0.249E-05   15  43  94   15  35  54   19  42  57    0.000    0.000       0
+  0    753 01:00:51.81   5.4000A   8.3313  -6.0763   4.5417  0.262  0.87  -0.300    400.  0.127E+02  0.902E+00  0.153E-03  0.244E-05   15  43  94   13  35  52   19  42  57    0.000    0.000       0
+  0    754 01:00:57.32   5.5100A   8.1662  -6.1445   4.5737  0.262  0.87  -0.295    400.  0.127E+02  0.901E+00  0.156E-03  0.248E-05   14  52  79   13  35  52   19  42  57    0.000    0.000       0
+  0    755 01:01:02.90   5.5800A   8.0580  -6.1040   4.6006  0.262  0.87  -0.293    400.  0.127E+02  0.901E+00  0.158E-03  0.250E-05   15  47 101   13  35  52   19  42  57    0.000    0.000       0
+  0    756 01:01:08.16   5.2600A   8.5570  -5.9433   4.6268  0.261  0.87  -0.295    400.  0.127E+02  0.900E+00  0.150E-03  0.238E-05   14  48  91   13  34  53   19  42  57    0.000    0.000       0
+  0    757 01:01:13.59   5.4300A   8.2880  -6.0001   4.6613  0.261  0.87  -0.296    400.  0.127E+02  0.899E+00  0.154E-03  0.243E-05   14  44  83   13  34  53   19  42  57    0.000    0.000       0
+  0    758 01:01:19.17   5.5800A   8.0606  -6.0566   4.6646  0.261  0.87  -0.288    400.  0.127E+02  0.898E+00  0.158E-03  0.250E-05   14  44  83   13  33  53   19  42  57    0.000    0.000       0
+  0    759 01:01:24.83   5.6600A   7.9449  -6.2947   4.6452  0.261  0.87  -0.290    400.  0.127E+02  0.897E+00  0.160E-03  0.255E-05   14  44  85   14  35  53   19  42  57    0.000    0.000       0
+  0    760 01:01:30.08   5.2500A   8.5738  -6.4134   4.6027  0.261  0.87  -0.290    400.  0.127E+02  0.896E+00  0.149E-03  0.240E-05   14  48  93   14  35  53   19  42  57    0.000    0.000       0
+  0    761 01:01:35.06   4.9800A   9.0424  -6.3420   4.5620  0.261  0.87  -0.289    400.  0.127E+02  0.896E+00  0.142E-03  0.227E-05   14  44  86   14  35  53   19  42  57    0.000    0.000       0
+  0    762 01:01:39.87   4.8100A   9.3492  -6.1521   4.5062  0.261  0.87  -0.295    400.  0.127E+02  0.895E+00  0.137E-03  0.219E-05   14  44  86   16  36  54   19  42  57    0.000    0.000       0
+  0    763 01:01:44.99   5.1200A   8.7807  -6.3652   4.4408  0.260  0.87  -0.285    400.  0.127E+02  0.894E+00  0.145E-03  0.231E-05   14  48  94   13  36  52   19  42  57    0.000    0.000       0
+  0    764 01:01:50.32   5.3300A   8.4359  -6.4021   4.3520  0.260  0.87  -0.283    400.  0.127E+02  0.893E+00  0.151E-03  0.240E-05   14  44  87   13  36  52   19  42  57    0.000    0.000       0
+  0    765 01:01:55.86   5.5400A   8.1259  -6.2112   4.2719  0.260  0.87  -0.284    400.  0.127E+02  0.892E+00  0.156E-03  0.249E-05   14  44  88   13  36  52   19  42  57    0.000    0.000       0
+  0    766 01:02:01.35   5.4900A   8.1953  -6.0962   4.2096  0.260  0.87  -0.284    400.  0.127E+02  0.891E+00  0.155E-03  0.247E-05   14  44  88   13  35  52   19  42  57    0.000    0.000       0
+  0    767 01:02:06.96   5.6100A   8.0197  -5.9893   4.1821  0.260  0.87  -0.288    400.  0.127E+02  0.890E+00  0.158E-03  0.252E-05   14  43  88   13  35  52   19  42  57    0.000    0.000       0
+  0    768 01:02:12.47   5.5100A   8.1638  -5.8891   4.1750  0.260  0.87  -0.285    400.  0.127E+02  0.889E+00  0.156E-03  0.250E-05   14  43  88   14  36  53   19  42  57    0.000    0.000       0
+  0    769 01:02:18.04   5.5700A   8.0836  -6.1450   4.1946  0.259  0.87  -0.284    400.  0.127E+02  0.888E+00  0.157E-03  0.252E-05   16  38 101   14  36  53   19  42  57    0.000    0.000       0
+  0    770 01:02:23.53   5.4900A   8.1927  -6.2545   4.2241  0.259  0.87  -0.287    400.  0.127E+02  0.887E+00  0.155E-03  0.248E-05   16  38 102   14  36  53   19  42  57    0.000    0.000       0
+  0    771 01:02:29.18   5.6500A   7.9714  -6.1956   4.2629  0.259  0.87  -0.284    400.  0.127E+02  0.886E+00  0.159E-03  0.253E-05   16  38 102   14  36  53   19  42  57    0.000    0.000       0
+  0    772 01:02:34.74   5.5600A   8.0884  -6.3367   4.2971  0.259  0.87  -0.283    400.  0.127E+02  0.885E+00  0.157E-03  0.249E-05   14  48  99   14  35  53   19  42  57    0.000    0.000       0
+  0    773 01:02:39.91   5.1700A   8.6984  -6.2515   4.3335  0.259  0.87  -0.282    400.  0.127E+02  0.884E+00  0.147E-03  0.231E-05   15  40 100   14  35  53   19  42  57    0.000    0.000       0
+  0    774 01:02:44.84   4.9300A   9.1282  -5.9752   4.3721  0.259  0.87  -0.282    400.  0.127E+02  0.884E+00  0.140E-03  0.219E-05   15  40 100   14  35  53   19  42  57    0.000    0.000       0
+  0    775 01:02:49.97   5.1300A   8.7693  -5.6019   4.4009  0.259  0.87  -0.283    400.  0.127E+02  0.883E+00  0.145E-03  0.226E-05   15  40 100   14  35  53   19  42  57    0.000    0.000       0
+  0    776 01:02:54.96   4.9900A   9.0230  -5.7492   4.4084  0.258  0.87  -0.285    400.  0.127E+02  0.882E+00  0.141E-03  0.221E-05   15  40 101   13  35  52   19  42  57    0.000    0.000       0
+  0    777 01:03:00.08   5.1200A   8.7870  -5.9860   4.4119  0.258  0.87  -0.289    400.  0.127E+02  0.881E+00  0.145E-03  0.227E-05   15  40 102   13  35  52   19  42  57    0.000    0.000       0
+  0    778 01:03:05.09   5.0100A   8.9753  -6.0719   4.3926  0.258  0.87  -0.288    400.  0.127E+02  0.880E+00  0.142E-03  0.223E-05   15  40 102   13  35  52   19  42  57    0.000    0.000       0
+  0    779 01:03:10.37   5.2800A   8.5240  -6.0066   4.3618  0.258  0.87  -0.291    400.  0.127E+02  0.879E+00  0.149E-03  0.234E-05   15  40 103   13  35  52   19  42  57    0.000    0.000       0
+  0    780 01:03:15.78   5.4100A   8.3132  -5.8980   4.2979  0.258  0.87  -0.294    400.  0.127E+02  0.878E+00  0.153E-03  0.241E-05   15  40 103   12  36  51   19  42  57    0.000    0.000       0
+  0    781 01:03:21.27   5.4900A   8.2034  -5.8556   4.2167  0.258  0.87  -0.304    400.  0.127E+02  0.877E+00  0.155E-03  0.244E-05   15  45  90   12  36  51   19  42  57    0.000    0.000       0
+  0    782 01:03:26.78   5.5100A   8.1729  -5.8851   4.1240  0.258  0.87  -0.296    400.  0.127E+02  0.876E+00  0.155E-03  0.245E-05   15  45  90   13  34  53   19  42  57    0.000    0.000       0
+  0    783 01:03:32.45   5.6700A   7.9404  -6.1539   4.0303  0.257  0.87  -0.291    400.  0.127E+02  0.874E+00  0.159E-03  0.251E-05   16  42 119   13  36  52   19  42  57    0.000    0.000       0
+  0    784 01:03:37.83   5.3800A   8.3660  -6.3237   3.9380  0.257  0.87  -0.290    400.  0.127E+02  0.873E+00  0.152E-03  0.238E-05   15  44  87   13  36  52   19  42  57    0.000    0.000       0
+  0    785 01:03:43.26   5.4300A   8.2860  -6.2965   3.8819  0.257  0.87  -0.290    400.  0.127E+02  0.872E+00  0.153E-03  0.238E-05   15  44  87   13  36  52   19  42  57    0.000    0.000       0
+  0    786 01:03:48.91   5.6500A   7.9669  -6.0495   3.8411  0.257  0.87  -0.294    400.  0.127E+02  0.871E+00  0.159E-03  0.244E-05   15  47  87   13  36  52   19  42  57    0.000    0.000       0
+  0    787 01:03:54.34   5.4300A   8.2940  -5.9264   3.8232  0.257  0.87  -0.295    400.  0.127E+02  0.870E+00  0.153E-03  0.234E-05   14  45 117   16  37  54   19  42  57    0.000    0.000       0
+  0    788 01:03:59.64   5.3000A   8.4923  -5.8025   3.8538  0.257  0.87  -0.298    400.  0.126E+02  0.869E+00  0.149E-03  0.227E-05   14  38  99   13  33  53   19  43  58    0.000    0.000       0
+  0    789 01:04:05.18   5.5400A   8.1195  -5.8718   3.9045  0.256  0.87  -0.300    400.  0.126E+02  0.867E+00  0.155E-03  0.234E-05   14  38  99   13  33  53   19  42  57    0.000    0.000       0
+  0    790 01:04:10.51   5.3300A   8.4439  -5.9537   3.9703  0.256  0.87  -0.302    400.  0.126E+02  0.866E+00  0.150E-03  0.226E-05   15  38 104   13  33  53   19  42  57    0.000    0.000       0
+  0    791 01:04:15.72   5.2100A   8.6322  -6.0057   4.0582  0.256  0.87  -0.301    400.  0.126E+02  0.865E+00  0.147E-03  0.220E-05   15  38 104   13  33  53   19  42  57    0.000    0.000       0
+  0    792 01:04:21.29   5.5700A   8.0781  -5.9964   4.1417  0.256  0.87  -0.303    400.  0.126E+02  0.864E+00  0.156E-03  0.233E-05   15  38 104   13  33  53   19  42  57    0.000    0.000       0
+  0    793 01:04:26.84   5.5500A   8.1096  -5.9297   4.1962  0.256  0.87  -0.305    400.  0.126E+02  0.862E+00  0.155E-03  0.233E-05   15  38 105   15  35  54   19  42  57    0.000    0.000       0
+  0    794 01:04:32.61   5.7700A   7.8018  -5.8225   4.2337  0.255  0.87  -0.302    400.  0.126E+02  0.861E+00  0.161E-03  0.239E-05    2  58  91   15  35  54   19  42  57    0.000    0.000       0
+  0    795 01:04:38.43   5.8200A   7.7347  -5.7732   4.2294  0.255  0.87  -0.300    400.  0.126E+02  0.860E+00  0.162E-03  0.239E-05   15  47  84   16  37  54   19  42  57    0.000    0.000       0
+  0    796 01:04:44.09   5.6600A   7.9562  -5.7011   4.1961  0.255  0.87  -0.301    400.  0.126E+02  0.858E+00  0.158E-03  0.231E-05   15  40 106   16  37  54   19  42  57    0.000    0.000       0
+  0    797 01:04:49.63   5.5400A   8.1260  -5.5619   4.1481  0.255  0.87  -0.304    400.  0.126E+02  0.857E+00  0.155E-03  0.224E-05   15  40 106   16  37  54   19  42  57    0.000    0.000       0
+  0    798 01:04:54.90   5.2700A   8.5413   5.9276   4.0879  0.255  0.87  -0.301    400.  0.126E+02  0.856E+00  0.148E-03  0.213E-05   15  40 107   13  30 117   19  42  57    0.000    0.000       0
+  0    799 01:04:59.96   5.0600A   8.8907   5.8661   4.0339  0.255  0.87  -0.301    400.  0.126E+02  0.855E+00  0.143E-03  0.203E-05   15  40 107   13  30 117   19  42  57    0.000    0.000       0
+  0    800 01:05:05.53   5.5700A   8.0720   5.7483   3.9863  0.254  0.87  -0.306    400.  0.126E+02  0.854E+00  0.156E-03  0.220E-05   15  40 107   13  33 108   19  42  57    0.000    0.000       0
+  0    801 01:05:10.98   5.4500A   8.2635   5.5784   3.9220  0.254  1.02  -0.306    650.  0.126E+02  0.853E+00  0.153E-03  0.217E-05   15  40 108   13  33 108   19  42  57    0.000    0.000       0
+  0    802 01:05:16.30   5.3200A   8.4511   5.7908   3.9225  0.254  1.02  -0.308    650.  0.126E+02  0.851E+00  0.149E-03  0.212E-05   15  45  86   13  31 117    6  26  95    0.000    0.000       0
+  0    803 01:05:21.53   5.2300A   8.6014   5.7534   3.9539  0.254  1.02  -0.310    650.  0.126E+02  0.850E+00  0.147E-03  0.208E-05   15  45  86   13  31 117    6  26  95    0.000    0.000       0
+  0    804 01:05:26.94   5.4100A   8.3238   5.7187   3.9092  0.254  1.02  -0.311    650.  0.126E+02  0.849E+00  0.152E-03  0.215E-05   15  45  87   13  30 115   19  42  57    0.000    0.000       0
+  0    805 01:05:32.02   5.0800A   8.8551   5.8820   3.9310  0.254  1.02  -0.307    650.  0.126E+02  0.848E+00  0.143E-03  0.205E-05   15  45  87   13  34 108   19  42  57    0.000    0.000       0
+  0    806 01:05:37.26   5.2400A   8.5851   5.7615   3.9742  0.253  0.99  -0.308    600.  0.126E+02  0.847E+00  0.147E-03  0.211E-05   15  45  87   13  31 115   19  42  57    0.000    0.000       0
+  0    807 01:05:42.49   5.2300A   8.5972   6.2976   4.0053  0.253  0.99  -0.306    600.  0.126E+02  0.846E+00  0.147E-03  0.211E-05   15  45  88   13  31 115   19  42  57    0.000    0.000       0
+  0    808 01:05:47.87   5.3800A   8.3585   6.2931   4.0745  0.253  0.99  -0.307    600.  0.126E+02  0.845E+00  0.150E-03  0.216E-05   15  45  88   13  31 115   14  36 101    0.000    0.000       0
+  0    809 01:05:53.04   5.1700A   8.7047   5.7071   4.0516  0.253  0.99  -0.309    600.  0.126E+02  0.844E+00  0.145E-03  0.209E-05   15  45  89   13  31 115   19  42  57    0.000    0.000       0
+  0    810 01:05:58.44   5.4000A   8.3407   6.5647   4.0704  0.253  0.99  -0.309    600.  0.126E+02  0.843E+00  0.151E-03  0.216E-05   15  45  89   13  32 115   19  42  57    0.000    0.000       0
+  0    811 01:06:03.97   5.5300A   8.1424   7.0062   4.0675  0.253  0.99  -0.307    600.  0.126E+02  0.842E+00  0.154E-03  0.219E-05   15  45  90   13  32 115   19  42  57    0.000    0.000       0
+  0    812 01:06:09.27   5.3000A   8.4879   6.7038   4.0605  0.252  0.99  -0.308    600.  0.126E+02  0.841E+00  0.148E-03  0.210E-05   15  45  91   13  32 115   19  42  57    0.000    0.000       0
+  0    813 01:06:14.73   5.4600A   8.2367   6.2241   4.0645  0.252  0.99  -0.312    600.  0.126E+02  0.840E+00  0.152E-03  0.214E-05   15  45  91   13  33 115   19  42  57    0.000    0.000       0
+  0    814 01:06:20.23   5.5000A   8.1756   6.9944   4.0585  0.252  0.99  -0.322    600.  0.126E+02  0.838E+00  0.153E-03  0.215E-05   15  45  92   13  33 115   19  42  57    0.000    0.000       0
+  0    815 01:06:25.97   5.7400A   7.8408   6.9516   4.0600  0.252  1.02  -0.320    650.  0.126E+02  0.837E+00  0.159E-03  0.222E-05   15  45  93   13  33 115   19  42  57    0.000    0.000       0
+  0    816 01:06:31.65   5.6800A   7.9188   6.0554   4.0977  0.252  1.02  -0.313    650.  0.126E+02  0.836E+00  0.157E-03  0.221E-05   15  45  93   13  33 115    8  26 100    0.000    0.000       0
+  0    817 01:06:37.59   5.9400A   7.5695   6.8003   4.0921  0.251  1.02  -0.319    650.  0.126E+02  0.835E+00  0.164E-03  0.230E-05   17  45  75   13  34 115   19  42  57    0.000    0.000       0
+  0    818 01:06:43.16   5.5700A   8.0728   6.7762   4.1277  0.251  1.02  -0.310    650.  0.126E+02  0.834E+00  0.154E-03  0.218E-05   14  45  92   13  34 115   19  42  57    0.000    0.000       0
+  0    819 01:06:48.54   5.3800A   8.3650   5.9485   4.1919  0.251  1.02  -0.310    650.  0.126E+02  0.833E+00  0.149E-03  0.210E-05   14  45  92   13  34 115   19  42  57    0.000    0.000       0
+  0    820 01:06:54.24   5.7000A   7.8974   5.7793   4.2587  0.251  1.02  -0.310    650.  0.126E+02  0.832E+00  0.157E-03  0.219E-05   15  44  89   13  35 115   19  42  57    0.000    0.000       0
+  0    821 01:07:00.16   5.9200A   7.5989   5.4387   4.3112  0.251  1.02  -0.312    650.  0.126E+02  0.831E+00  0.163E-03  0.226E-05   15  44  89   13  35 115   19  42  57    0.000    0.000       0
+  0    822 01:07:05.96   5.8000A   7.7544   5.9692   4.3527  0.250  1.02  -0.315    650.  0.126E+02  0.830E+00  0.160E-03  0.221E-05   15  44  91   13  36 115   19  42  57    0.000    0.000       0
+  0    823 01:07:11.79   5.8300A   7.7192   6.0830   4.3809  0.250  1.02  -0.316    650.  0.126E+02  0.829E+00  0.161E-03  0.221E-05   15  44  92   13  36 115   19  42  57    0.000    0.000       0
+  0    824 01:07:17.50   5.7100A   7.8832   5.5833   4.3765  0.250  1.02  -0.317    650.  0.126E+02  0.828E+00  0.158E-03  0.216E-05   15  44  92   13  35 113   19  42  57    0.000    0.000       0
+  0    825 01:07:23.16   5.6600A   7.9493   5.9396   4.3492  0.250  1.02  -0.322    650.  0.126E+02  0.827E+00  0.156E-03  0.214E-05   15  44  93   13  37 115   19  42  57    0.000    0.000       0
+  0    826 01:07:28.93   5.7700A   7.7931   6.4532   4.2995  0.250  1.02  -0.320    650.  0.126E+02  0.826E+00  0.159E-03  0.218E-05   14  51  87   13  37 115   19  42  57    0.000    0.000       0
+  0    827 01:07:34.40   5.4700A   8.2318   6.2356   4.2318  0.249  1.02  -0.318    650.  0.126E+02  0.825E+00  0.151E-03  0.209E-05   14  51  87   13  37 115   19  42  57    0.000    0.000       0
+  0    828 01:07:40.04   5.6400A   7.9767  -5.6621   4.1817  0.249  1.02  -0.328    650.  0.126E+02  0.824E+00  0.155E-03  0.215E-05   14  51  87   15  35  54   19  42  57    0.000    0.000       0
+  0    829 01:07:45.86   5.8200A   7.7357   6.1060   4.1257  0.249  1.02  -0.317    650.  0.126E+02  0.823E+00  0.160E-03  0.221E-05   15  47  89   13  37 113   19  42  57    0.000    0.000       0
+  0    830 01:07:51.21   5.3500A   8.4162   6.3270   4.0834  0.249  1.02  -0.316    650.  0.126E+02  0.822E+00  0.148E-03  0.206E-05   15  37 109   13  37 113   19  42  57    0.000    0.000       0
+  0    831 01:07:56.54   5.3300A   8.4482   5.9007   4.0822  0.249  0.90  -0.318    450.  0.126E+02  0.821E+00  0.147E-03  0.203E-05   15  37 109   13  37 113   19  42  57    0.000    0.000       0
+  0    832 01:08:01.91   5.3700A   8.3783  -5.6761   4.0846  0.249  0.90  -0.317    450.  0.126E+02  0.820E+00  0.148E-03  0.203E-05   15  37 110   16  37  54   19  42  57    0.000    0.000       0
+  0    833 01:08:07.11   5.2000A   8.6590  -5.6058   4.0945  0.248  0.90  -0.316    450.  0.126E+02  0.820E+00  0.144E-03  0.198E-05   15  37 110   16  37  54   19  42  57    0.000    0.000       0
+  0    834 01:08:12.61   5.5000A   8.1850   5.5850   4.1151  0.248  0.90  -0.318    450.  0.126E+02  0.819E+00  0.152E-03  0.207E-05   15  37 110   13  38 113   19  42  57    0.000    0.000       0
+  0    835 01:08:18.24   5.6300A   7.9972  -5.2844   4.1242  0.248  0.90  -0.322    450.  0.126E+02  0.818E+00  0.155E-03  0.212E-05   15  43  94   16  37  54   19  42  57    0.000    0.000       0
+  0    836 01:08:23.80   5.5600A   8.1008  -5.2800   4.1337  0.248  0.90  -0.330    450.  0.125E+02  0.817E+00  0.153E-03  0.210E-05   14  51  91   17  37  55   19  42  57    0.000    0.000       0
+  0    837 01:08:29.08   5.2800A   8.5148   5.5109   4.1449  0.248  0.90  -0.340    450.  0.125E+02  0.816E+00  0.146E-03  0.201E-05   15  43  95   13  39 113   19  42  57    0.000    0.000       0
+  0    838 01:08:34.45   5.3700A   8.3870   5.5597   4.1593  0.248  0.90  -0.331    450.  0.125E+02  0.815E+00  0.148E-03  0.202E-05   15  43  95   13  39 113   19  42  57    0.000    0.000       0
+  0    839 01:08:39.71   5.2600A   8.5604  -5.2840   4.1649  0.248  1.02  -0.332    650.  0.125E+02  0.815E+00  0.145E-03  0.198E-05   15  44  81   15  35  54   19  42  57    0.000    0.000       0
+  0    840 01:08:45.29   5.5800A   8.0609  -5.2535   4.1774  0.247  1.02  -0.336    650.  0.125E+02  0.814E+00  0.153E-03  0.207E-05   15  44  82   15  35  54   19  42  57    0.000    0.000       0
+  0    841 01:08:50.56   5.2700A   8.5413  -5.1681   4.1875  0.247  1.02  -0.351    650.  0.125E+02  0.813E+00  0.145E-03  0.197E-05   15  44  82   15  35  54   19  42  57    0.000    0.000       0
+  0    842 01:08:56.15   5.5900A   8.0525  -5.1210   4.2213  0.247  1.02  -0.387    650.  0.125E+02  0.812E+00  0.153E-03  0.205E-05   15  44  83   17  37  55   19  42  57    0.000    0.000       0
+  0    843 01:09:01.67   5.5200A   8.1484  -5.1194   4.2560  0.247  1.02  -0.338    650.  0.125E+02  0.811E+00  0.151E-03  0.202E-05   15  44  83   17  37  55   19  42  57    0.000    0.000       0
+  0    844 01:09:07.02   5.3500A   8.4151  -5.1475   4.3104  0.247  1.02  -0.333    650.  0.125E+02  0.810E+00  0.147E-03  0.196E-05   15  44  84   17  37  55   19  42  57    0.000    0.000       0
+  0    845 01:09:12.58   5.5600A   8.0947  -5.1919   4.3762  0.247  1.02  -0.332    650.  0.125E+02  0.810E+00  0.152E-03  0.201E-05   15  44  85   17  37  55   19  42  57    0.000    0.000       0
+  0    846 01:09:18.08   5.5000A   8.1764  -5.2366   4.4386  0.247  1.02  -0.335    650.  0.125E+02  0.809E+00  0.150E-03  0.199E-05   15  44  85   17  37  55   19  42  57    0.000    0.000       0
+  0    847 01:09:23.47   5.3900A   8.3529  -5.2792   4.5039  0.247  1.02  -0.333    650.  0.125E+02  0.808E+00  0.147E-03  0.195E-05   15  44  86   17  37  55   19  42  57    0.000    0.000       0
+  0    848 01:09:29.11   5.6400A   7.9762  -5.3077   4.5618  0.247  1.02  -0.333    650.  0.125E+02  0.807E+00  0.154E-03  0.203E-05   15  44  86   17  37  55   19  42  57    0.000    0.000       0
+  0    849 01:09:34.59   5.4800A   8.2169  -5.3075   4.5956  0.247  1.02  -0.336    650.  0.125E+02  0.806E+00  0.150E-03  0.198E-05   15  42 103   17  37  55   19  42  57    0.000    0.000       0
+  0    850 01:09:40.07   5.4800A   8.2141  -5.2859   4.6211  0.247  1.02  -0.337    650.  0.125E+02  0.806E+00  0.150E-03  0.198E-05   15  42 103   17  37  55   19  42  57    0.000    0.000       0
+  0    851 01:09:45.65   5.5800A   8.0611  -5.2363   4.6224  0.246  1.02  -0.339    650.  0.125E+02  0.805E+00  0.152E-03  0.202E-05   14  53 104   17  37  55   19  42  57    0.000    0.000       0
+  0    852 01:09:51.02   5.3700A   8.3836  -5.1644   4.5988  0.246  1.02  -0.341    650.  0.125E+02  0.804E+00  0.147E-03  0.195E-05   15  42 104   17  37  55   19  42  57    0.000    0.000       0
+  0    853 01:09:56.36   5.3400A   8.4266  -5.1950   4.5701  0.246  1.02  -0.338    650.  0.125E+02  0.803E+00  0.146E-03  0.194E-05   15  42 104    1  26  95   19  42  57    0.000    0.000       0
+  0    854 01:10:01.89   5.5300A   8.1372  -5.4015   4.5250  0.246  1.02  -0.334    650.  0.125E+02  0.802E+00  0.151E-03  0.200E-05   13  53  83    1  27  96   19  42  57    0.000    0.000       0
+  0    855 01:10:07.57   5.6800A   7.9275  -5.6823   4.4631  0.246  1.02  -0.331    650.  0.125E+02  0.802E+00  0.154E-03  0.206E-05   15  44  93    1  27  96   19  42  57    0.000    0.000       0
+  0    856 01:10:13.16   5.5900A   8.0531  -6.0380   4.3993  0.246  1.02  -0.328    650.  0.125E+02  0.801E+00  0.152E-03  0.203E-05   13  53  84    1  26  96   19  42  57    0.000    0.000       0
+  0    857 01:10:18.54   5.3800A   8.3659  -6.1021   4.3502  0.246  1.02  -0.326    650.  0.125E+02  0.800E+00  0.146E-03  0.195E-05   15  44  94    1  25  96   19  42  57    0.000    0.000       0
+  0    858 01:10:24.09   5.5500A   8.1071  -6.1064   4.3174  0.246  1.02  -0.327    650.  0.125E+02  0.799E+00  0.150E-03  0.200E-05   15  44  94    1  25  96   19  42  57    0.000    0.000       0
+  0    859 01:10:29.48   5.3900A   8.3523  -5.4894   4.2847  0.246  1.02  -0.322    650.  0.125E+02  0.799E+00  0.146E-03  0.196E-05   14  51  98    1  24  96   19  42  57    0.000    0.000       0
+  0    860 01:10:35.00   5.5200A   8.1535  -5.7474   4.2751  0.246  1.02  -0.320    650.  0.125E+02  0.798E+00  0.150E-03  0.199E-05   14  51  98    1  24  97   19  42  57    0.000    0.000       0
+  0    861 01:10:40.87   5.8700A   7.6642  -6.3653   4.2710  0.246  1.02  -0.319    650.  0.125E+02  0.797E+00  0.158E-03  0.211E-05   14  51  99    1  24  97   19  42  57    0.000    0.000       0
+  0    862 01:10:46.64   5.7700A   7.8010  -5.7682   4.2710  0.246  1.02  -0.318    650.  0.125E+02  0.797E+00  0.156E-03  0.208E-05   14  51 111    1  24  97   19  42  57    0.000    0.000       0
+  0    863 01:10:52.34   5.7000A   7.8884  -6.0201   4.2894  0.246  1.02  -0.318    650.  0.125E+02  0.796E+00  0.154E-03  0.206E-05   13  53  88    1  24  98   19  42  57    0.000    0.000       0
+  0    864 01:10:57.74   5.4000A   8.3292  -5.6940   4.3100  0.246  1.02  -0.319    650.  0.125E+02  0.795E+00  0.147E-03  0.196E-05   15  45  94    1  23  98   19  42  57    0.000    0.000       0
+  0    865 01:11:03.15   5.4100A   8.3204  -5.5911   4.3343  0.246  1.02  -0.320    650.  0.125E+02  0.795E+00  0.147E-03  0.196E-05   15  45  94    1  23  98   19  42  57    0.000    0.000       0
+  0    866 01:11:08.50   5.3500A   8.4097  -5.3512   4.3460  0.246  1.02  -0.320    650.  0.125E+02  0.794E+00  0.145E-03  0.195E-05   14  51 113    1  23  99   19  42  57    0.000    0.000       0
+  0    867 01:11:13.93   5.4300A   8.2857  -5.6292   4.3528  0.246  1.02  -0.322    650.  0.125E+02  0.794E+00  0.147E-03  0.199E-05   14  51 113    1  23  99   19  42  57    0.000    0.000       0
+  0    868 01:11:19.33   5.4000A   8.3384  -5.4868   4.3496  0.246  1.02  -0.321    650.  0.125E+02  0.793E+00  0.147E-03  0.199E-05   14  51 106   16  37  54   19  42  57    0.000    0.000       0
+  0    869 01:11:25.08   5.7500A   7.8228  -5.5043   4.3437  0.246  1.02  -0.327    650.  0.125E+02  0.793E+00  0.155E-03  0.212E-05   14  50  98   15  35  54   19  42  57    0.000    0.000       0
+  0    870 01:11:30.58   5.5000A   8.1825  -5.4709   4.3204  0.246  1.02  -0.321    650.  0.125E+02  0.792E+00  0.149E-03  0.206E-05   16  42  92   15  35  54   19  42  57    0.000    0.000       0
+  0    871 01:11:36.28   5.7000A   7.8981  -5.2451   4.3135  0.246  1.02  -0.316    650.  0.125E+02  0.792E+00  0.154E-03  0.212E-05   15  43 103   15  35  54   19  42  57    0.000    0.000       0
+  0    872 01:11:41.92   5.6400A   7.9766  -5.0782   4.2935  0.246  0.96  -0.315    550.  0.125E+02  0.792E+00  0.152E-03  0.210E-05   15  43 104   17  37  55   19  42  57    0.000    0.000       0
+  0    873 01:11:47.43   5.5100A   8.1704  -5.0985   4.2828  0.246  0.96  -0.316    550.  0.125E+02  0.791E+00  0.149E-03  0.206E-05   15  43 104   17  37  55   19  42  57    0.000    0.000       0
+  0    874 01:11:53.22   5.7900A   7.7738  -5.1303   4.2779  0.246  0.96  -0.322    550.  0.125E+02  0.791E+00  0.156E-03  0.214E-05   14  49 100   17  37  55   19  42  57    0.000    0.000       0
+  0    875 01:11:58.97   5.7500A   7.8213  -5.1648   4.2598  0.246  0.96  -0.318    550.  0.125E+02  0.791E+00  0.155E-03  0.214E-05   15  43 105   17  37  55   19  42  57    0.000    0.000       0
+  0    876 01:12:04.73   5.7600A   7.8087  -5.2122   4.2491  0.246  0.93  -0.318    500.  0.125E+02  0.790E+00  0.154E-03  0.214E-05   14  49 101   17  37  55   19  42  57    0.000    0.000       0
+  0    877 01:12:10.62   5.8900A   7.6374  -5.2675   4.2343  0.246  0.93  -0.323    500.  0.125E+02  0.790E+00  0.157E-03  0.218E-05   14  49 102   17  37  55   19  42  57    0.000    0.000       0
+  0    878 01:12:16.24   5.6200A   8.0107  -5.3255   4.2119  0.246  0.93  -0.331    500.  0.125E+02  0.790E+00  0.150E-03  0.211E-05   14  49 102   17  37  55   19  42  57    0.000    0.000       0
+  0    879 01:12:21.97   5.7300A   7.8516  -5.3805   4.2034  0.246  0.93  -0.323    500.  0.125E+02  0.790E+00  0.153E-03  0.215E-05   15  43 109   17  37  55   19  42  57    0.000    0.000       0
+  0    880 01:12:28.07   6.1000A   7.3731  -5.4042   4.1923  0.246  0.93  -0.327    500.  0.125E+02  0.790E+00  0.162E-03  0.229E-05   16  42 101   17  37  55   19  42  57    0.000    0.000       0
+  0    881 01:12:34.08   6.0100A   7.4834  -5.3758   4.1901  0.246  0.93  -0.326    500.  0.125E+02  0.789E+00  0.160E-03  0.228E-05   14  48  95   17  37  55   19  42  57    0.000    0.000       0
+  0    882 01:12:40.06   5.9800A   7.5247  -5.3103   4.2280  0.246  0.93  -0.324    500.  0.125E+02  0.789E+00  0.159E-03  0.228E-05   16  42 103   17  37  55   19  42  57    0.000    0.000       0
+  0    883 01:12:46.12   6.0600A   7.4256  -5.2129   4.2935  0.246  0.93  -0.324    500.  0.125E+02  0.789E+00  0.161E-03  0.231E-05   16  42 103   17  37  55   19  42  57    0.000    0.000       0
+  0    884 01:12:52.08   5.9600A   7.5477  -5.1131   4.3770  0.246  0.93  -0.324    500.  0.125E+02  0.789E+00  0.158E-03  0.228E-05   14  55  89   16  37  54   19  42  57    0.000    0.000       0
+  0    885 01:12:58.29   6.2100A   7.2495  -5.1120   4.4705  0.246  0.93  -0.321    500.  0.125E+02  0.789E+00  0.164E-03  0.237E-05   15  49  70   16  36  54   19  42  57    0.000    0.000       0
+  0    886 01:13:04.48   6.1900A   7.2691  -5.0048   4.5445  0.246  0.93  -0.325    500.  0.125E+02  0.789E+00  0.163E-03  0.237E-05   17  46  69   16  36  54   19  42  57    0.000    0.000       0
+  0    887 01:13:10.39   5.9100A   7.6111  -4.9909   4.5979  0.246  0.96  -0.327    550.  0.125E+02  0.789E+00  0.157E-03  0.227E-05   17  46  69   17  37  55   19  42  57    0.000    0.000       0
+  0    888 01:13:16.35   5.9600A   7.5556  -5.0418   4.6272  0.246  0.96  -0.327    550.  0.125E+02  0.788E+00  0.158E-03  0.228E-05   17  46  69   17  37  55   19  42  57    0.000    0.000       0
+  0    889 01:13:22.39   6.0400A   7.4499  -5.0964   4.6146  0.246  0.90  -0.324    450.  0.125E+02  0.788E+00  0.159E-03  0.231E-05   17  46  70   17  37  55   19  42  57    0.000    0.000       0
+  0    890 01:13:28.36   5.9700A   7.5431   5.1813   4.5740  0.246  0.90  -0.323    450.  0.125E+02  0.788E+00  0.158E-03  0.228E-05   17  48  68    1  29  79   19  42  57    0.000    0.000       0
+  0    891 01:13:34.31   5.9500A   7.5681   5.2700   4.5253  0.246  0.90  -0.322    450.  0.125E+02  0.788E+00  0.157E-03  0.227E-05   16  47  72    1  29  79   19  42  57    0.000    0.000       0
+  0    892 01:13:40.27   5.9600A   7.5471   5.3110   4.4717  0.246  0.90  -0.320    450.  0.125E+02  0.788E+00  0.157E-03  0.227E-05   16  47  72    1  29  79   19  42  57    0.000    0.000       0
+  0    893 01:13:46.32   6.0500A   7.4376   5.2844   4.4207  0.246  0.90  -0.327    450.  0.125E+02  0.787E+00  0.159E-03  0.232E-05   17  29 135    1  29  80   19  42  57    0.000    0.000       0
+  0    894 01:13:52.42   6.1000A   7.3725   5.3393   4.3770  0.246  0.90  -0.331    450.  0.125E+02  0.787E+00  0.160E-03  0.235E-05   17  48  70    1  30  80   19  42  57    0.000    0.000       0
+  0    895 01:13:58.52   6.1000A   7.3739   5.3663   4.3523  0.246  0.90  -0.332    450.  0.125E+02  0.787E+00  0.160E-03  0.235E-05   17  29 136    1  30  80   19  42  57    0.000    0.000       0
+  0    896 01:14:04.79   6.2700A   7.1733   5.3100   4.3552  0.246  0.90  -0.387    450.  0.125E+02  0.786E+00  0.164E-03  0.242E-05   17  48  71    1  30  80   19  42  57    0.000    0.000       0
+  0    897 01:14:10.97   6.1800A   7.2776  -5.3793   4.3864  0.246  0.90  -0.330    450.  0.125E+02  0.786E+00  0.162E-03  0.240E-05   17  45  77   15  36  54   19  42  57    0.000    0.000       0
+  0    898 01:14:17.12   6.1500A   7.3118  -5.5307   4.4630  0.246  0.90  -0.333    450.  0.125E+02  0.785E+00  0.161E-03  0.239E-05   17  47  73   15  36  54   19  42  57    0.000    0.000       0
+  0    899 01:14:23.21   6.0900A   7.3878  -5.6074   4.5739  0.246  0.90  -0.342    450.  0.124E+02  0.785E+00  0.160E-03  0.239E-05   14  51  97   15  36  54   19  42  57    0.000    0.000       0
+  0    900 01:14:29.32   6.1100A   7.3677  -5.6000   4.7102  0.246  0.90  -0.329    450.  0.124E+02  0.785E+00  0.160E-03  0.241E-05   16  56  83   15  36  54   19  42  57    0.000    0.000       0
+  0    901 01:14:35.48   6.1600A   7.3066  -5.6722   4.8538  0.245  1.05  -0.328    700.  0.124E+02  0.784E+00  0.162E-03  0.245E-05   17  43  93   15  35  54   19  42  57    0.000    0.000       0
+  0    902 01:14:41.31   5.8300A   7.7234  -5.8561   4.9847  0.245  1.05  -0.327    700.  0.124E+02  0.784E+00  0.153E-03  0.235E-05   16  56  84   15  35  54   19  42  57    0.000    0.000       0
+  0    903 01:14:47.17   5.8600A   7.6738  -5.8716   5.0902  0.245  1.05  -0.331    700.  0.124E+02  0.783E+00  0.154E-03  0.236E-05   16  56  84   15  35  54   19  42  57    0.000    0.000       0
+  0    904 01:14:53.31   6.1400A   7.3340  -5.7400   5.1414  0.245  1.05  -0.332    700.  0.124E+02  0.783E+00  0.161E-03  0.246E-05   16  43  93   15  35  54   19  42  57    0.000    0.000       0
+  0    905 01:14:59.14   5.8300A   7.7203  -5.4988   5.1290  0.245  1.05  -0.332    700.  0.124E+02  0.782E+00  0.153E-03  0.236E-05   16  43  93   15  35  54   19  42  57    0.000    0.000       0
+  0    906 01:15:05.11   5.9700A   7.5402  -5.3161   5.0860  0.245  0.90  -0.328    450.  0.124E+02  0.782E+00  0.156E-03  0.239E-05   16  43  93   16  36  54   19  42  57    0.000    0.000       0
+  0    907 01:15:11.18   6.0700A   7.4121  -5.3634   4.9815  0.245  0.90  -0.329    450.  0.124E+02  0.782E+00  0.159E-03  0.242E-05   16  30 137   16  36  54   19  42  57    0.000    0.000       0
+  0    908 01:15:16.92   5.7400A   7.8442  -5.3196   4.8323  0.245  0.90  -0.323    450.  0.124E+02  0.781E+00  0.151E-03  0.229E-05   16  30 137   16  36  54   19  42  57    0.000    0.000       0
+  0    909 01:15:22.72   5.8000A   7.7647  -5.3183   4.6793  0.245  1.02  -0.322    650.  0.124E+02  0.781E+00  0.152E-03  0.229E-05   16  43  95   17  37  55   19  42  57    0.000    0.000       0
+  0    910 01:15:28.81   6.0900A   7.3865  -5.3756   4.4956  0.245  1.02  -0.323    650.  0.124E+02  0.780E+00  0.159E-03  0.238E-05   17  46  65   17  37  55   19  42  57    0.000    0.000       0
+  0    911 01:15:34.90   6.0900A   7.3931  -5.4626   4.2901  0.245  1.02  -0.322    650.  0.124E+02  0.780E+00  0.159E-03  0.239E-05   17  46  66   17  37  55   19  42  57    0.000    0.000       0
+  0    912 01:15:40.93   6.0300A   7.4609  -5.5771   4.4447  0.245  1.02  -0.321    650.  0.124E+02  0.779E+00  0.157E-03  0.237E-05   17  46  66   17  37  55    6  43 113    0.000    0.000       0
+  0    913 01:15:46.88   5.9500A   7.5655  -5.6848   4.6444  0.245  1.02  -0.321    650.  0.124E+02  0.779E+00  0.156E-03  0.234E-05   17  46  68   17  37  55    6  42 113    0.000    0.000       0
+  0    914 01:15:52.75   5.8700A   7.6689  -5.7456   4.8431  0.245  1.02  -0.323    650.  0.124E+02  0.779E+00  0.154E-03  0.231E-05   17  46  68   17  37  55    6  42 113    0.000    0.000       0
+  0    915 01:15:58.58   5.8300A   7.7145  -5.7339   4.7122  0.244  0.99  -0.326    600.  0.124E+02  0.778E+00  0.153E-03  0.229E-05   18  37 107   17  37  55    6  42 113    0.000    0.000       0
+  0    916 01:16:04.49   5.9100A   7.6100  -5.6495   4.4732  0.244  0.99  -0.328    600.  0.124E+02  0.778E+00  0.155E-03  0.232E-05   16  44  96   17  37  55    6  41 113    0.000    0.000       0
+  0    917 01:16:10.22   5.7300A   7.8563  -5.5096   4.5040  0.244  0.99  -0.324    600.  0.124E+02  0.777E+00  0.150E-03  0.226E-05   14  41 109   17  37  55    6  41 113    0.000    0.000       0
+  0    918 01:16:16.05   5.8300A   7.7205  -5.3592   4.4618  0.244  0.99  -0.325    600.  0.124E+02  0.777E+00  0.153E-03  0.229E-05   17  46  69   17  37  55    7  42 114    0.000    0.000       0
+  0    919 01:16:21.83   5.7800A   7.7865  -5.2050   4.4172  0.244  0.99  -0.326    600.  0.124E+02  0.777E+00  0.151E-03  0.228E-05   16  44  98   17  37  55    7  42 114    0.000    0.000       0
+  0    920 01:16:27.83   6.0000A   7.4994  -5.0748   4.1880  0.244  0.99  -0.326    600.  0.124E+02  0.776E+00  0.157E-03  0.236E-05   17  46  69   17  37  55    7  41 114    0.000    0.000       0
+  0    921 01:16:33.87   6.0400A   7.4483  -4.9686   4.3796  0.244  0.99  -0.325    600.  0.124E+02  0.776E+00  0.157E-03  0.239E-05   16  44  99   17  37  55    7  41 114    0.000    0.000       0
+  0    922 01:16:39.75   5.8800A   7.6521  -4.9279   4.2843  0.244  0.99  -0.325    600.  0.124E+02  0.776E+00  0.154E-03  0.234E-05   18  36 106   15  36  54    7  41 114    0.000    0.000       0
+  0    923 01:16:45.72   5.9700A   7.5337  -5.0552   4.0365  0.244  0.99  -0.324    600.  0.124E+02  0.775E+00  0.156E-03  0.236E-05   18  36 106   15  36  54   19  43  58    0.000    0.000       0
+  0    924 01:16:51.74   6.0200A   7.4809  -5.1237   4.0985  0.244  0.99  -0.329    600.  0.124E+02  0.775E+00  0.157E-03  0.238E-05   17  46  67   15  36  54    7  40 114    0.000    0.000       0
+  0    925 01:16:57.73   5.9900A   7.5065  -5.2241   4.1241  0.244  0.99  -0.328    600.  0.124E+02  0.775E+00  0.156E-03  0.236E-05   16  42  85   16  37  54    8  41 115    0.000    0.000       0
+  0    926 01:17:03.78   6.0500A   7.4409  -5.3622   4.0982  0.244  0.99  -0.329    600.  0.124E+02  0.774E+00  0.157E-03  0.236E-05   17  38 100   16  37  54    8  41 115    0.000    0.000       0
+  0    927 01:17:09.69   5.9100A   7.6109  -5.4243   3.9874  0.244  0.99  -0.328    600.  0.124E+02  0.774E+00  0.154E-03  0.230E-05   16  41 106   16  37  54   19  42  57    0.000    0.000       0
+  0    928 01:17:15.55   5.8600A   7.6800  -5.4161   3.9896  0.243  0.99  -0.333    600.  0.124E+02  0.773E+00  0.153E-03  0.226E-05   16  41 106   16  37  54   19  42  57    0.000    0.000       0
+  0    929 01:17:21.31   5.7600A   7.8132  -5.3507   4.0051  0.243  0.99  -0.331    600.  0.124E+02  0.773E+00  0.150E-03  0.221E-05   16  42  88   16  37  54   19  42  57    0.000    0.000       0
+  0    930 01:17:27.07   5.7600A   7.8166  -5.2509   4.0400  0.243  0.99  -0.335    600.  0.124E+02  0.773E+00  0.150E-03  0.221E-05   16  42  91   16  37  54   19  42  57    0.000    0.000       0
+  0    931 01:17:32.76   5.6900A   7.9020  -5.1784   4.0929  0.243  0.99  -0.336    600.  0.124E+02  0.772E+00  0.148E-03  0.218E-05   17  40 103   17  37  55   19  42  57    0.000    0.000       0
+  0    932 01:17:38.29   5.5300A   8.1342  -5.1735   4.1652  0.243  0.99  -0.333    600.  0.124E+02  0.772E+00  0.144E-03  0.212E-05   16  42  92   17  37  55   19  42  57    0.000    0.000       0
+  0    933 01:17:43.80   5.5100A   8.1639  -5.1929   4.2512  0.243  0.99  -0.336    600.  0.124E+02  0.772E+00  0.144E-03  0.212E-05   16  42  92   17  37  55   19  42  57    0.000    0.000       0
+  0    934 01:17:49.45   5.6500A   7.9629  -5.2320   4.3397  0.243  0.99  -0.333    600.  0.124E+02  0.771E+00  0.147E-03  0.218E-05   17  40 105   17  37  55   19  42  57    0.000    0.000       0
+  0    935 01:17:54.94   5.4900A   8.1998  -5.2830   4.4207  0.243  0.99  -0.331    600.  0.124E+02  0.771E+00  0.143E-03  0.214E-05   17  40 105   17  37  55   19  42  57    0.000    0.000       0
+  0    936 01:18:00.69   5.7500A   7.8286  -5.3364   4.4899  0.243  0.99  -0.329    600.  0.124E+02  0.770E+00  0.150E-03  0.223E-05   16  42  94   17  37  55   19  42  57    0.000    0.000       0
+  0    937 01:18:06.46   5.7700A   7.7990  -5.3632   4.5195  0.243  0.99  -0.330    600.  0.124E+02  0.770E+00  0.150E-03  0.226E-05   16  42  94   17  37  55   19  42  57    0.000    0.000       0
+  0    938 01:18:12.49   6.0300A   7.4598  -5.3570   4.5120  0.243  0.99  -0.334    600.  0.124E+02  0.770E+00  0.156E-03  0.235E-05   16  42  94   17  37  55   19  42  57    0.000    0.000       0
+  0    939 01:18:18.38   5.8900A   7.6389  -5.3022   4.4502  0.243  0.99  -0.332    600.  0.124E+02  0.769E+00  0.153E-03  0.231E-05   16  20   3   17  37  55   19  42  57    0.000    0.000       0
+  0    940 01:18:24.30   5.9200A   7.6035  -5.2284   4.3663  0.243  0.96  -0.335    550.  0.124E+02  0.769E+00  0.154E-03  0.231E-05   16  20   3   15  35  54   19  42  57    0.000    0.000       0
+  0    941 01:18:30.12   5.8200A   7.7324  -5.1266   4.2643  0.243  0.96  -0.344    550.  0.124E+02  0.768E+00  0.151E-03  0.227E-05   16  44  98   17  37  55   19  42  57    0.000    0.000       0
+  0    942 01:18:35.90   5.7800A   7.7808  -5.0417   4.1796  0.243  0.96  -0.343    550.  0.124E+02  0.768E+00  0.150E-03  0.224E-05   16  44  98   17  37  55   19  42  57    0.000    0.000       0
+  0    943 01:18:41.83   5.9300A   7.5889  -4.9774   4.1282  0.243  0.96  -0.342    550.  0.124E+02  0.767E+00  0.154E-03  0.227E-05   16  44  99   17  37  55   19  42  57    0.000    0.000       0
+  0    944 01:18:47.69   5.8600A   7.6774  -4.9344   4.1204  0.243  0.96  -0.331    550.  0.124E+02  0.767E+00  0.152E-03  0.224E-05   16  44  99   17  37  55   19  42  57    0.000    0.000       0
+  0    945 01:18:53.50   5.8100A   7.7465  -4.9158   4.1757  0.243  0.96  -0.330    550.  0.124E+02  0.767E+00  0.151E-03  0.220E-05   16  41 102   17  37  55   19  42  57    0.000    0.000       0
+  0    946 01:18:59.35   5.8500A   7.6973  -4.9074   4.2847  0.243  0.96  -0.332    550.  0.124E+02  0.766E+00  0.152E-03  0.220E-05   16  41 102   17  37  55   19  42  57    0.000    0.000       0
+  0    947 01:19:05.15   5.8000A   7.7581  -4.9006   4.4360  0.243  0.96  -0.337    550.  0.124E+02  0.766E+00  0.150E-03  0.218E-05   16  41 103   17  37  55   19  42  57    0.000    0.000       0
+  0    948 01:19:10.98   5.8300A   7.7190  -4.9002   4.6160  0.243  0.96  -0.335    550.  0.124E+02  0.766E+00  0.151E-03  0.219E-05   16  41 103   17  37  55   19  42  57    0.000    0.000       0
+  0    949 01:19:16.67   5.6900A   7.9106  -4.9125   4.7987  0.243  0.96  -0.346    550.  0.124E+02  0.765E+00  0.147E-03  0.214E-05   17  36 111   17  37  55   19  42  57    0.000    0.000       0
+  0    950 01:19:22.38   5.7100A   7.8795  -4.9453   4.9596  0.243  0.99  -0.348    600.  0.124E+02  0.765E+00  0.148E-03  0.215E-05   17  36 111   17  37  55   19  42  57    0.000    0.000       0
+  0    951 01:19:27.96   5.5800A   8.0689  -4.9888   5.0672  0.243  0.99  -0.356    600.  0.124E+02  0.765E+00  0.145E-03  0.211E-05   15  45 103   17  37  55   19  42  57    0.000    0.000       0
+  0    952 01:19:33.76   5.8000A   7.7547  -5.0274   5.1124  0.243  0.99  -0.345    600.  0.124E+02  0.765E+00  0.150E-03  0.218E-05   15  45 103   17  37  55   19  42  57    0.000    0.000       0
+  0    953 01:19:39.46   5.7000A   7.8884  -5.0310   5.0695  0.243  0.99  -0.339    600.  0.124E+02  0.764E+00  0.147E-03  0.217E-05   17  36 113   17  37  55   19  42  57    0.000    0.000       0
+  0    954 01:19:45.27   5.8100A   7.7424  -5.0538   4.9707  0.243  0.99  -0.334    600.  0.124E+02  0.764E+00  0.150E-03  0.221E-05   17  36 113   16  37  54   19  42  57    0.000    0.000       0
+  0    955 01:19:51.08   5.8100A   7.7387  -5.1380   4.8084  0.243  0.99  -0.335    600.  0.124E+02  0.764E+00  0.150E-03  0.221E-05   15  47 104   16  37  54   19  42  57    0.000    0.000       0
+  0    956 01:19:56.89   5.8100A   7.7454  -5.1510   4.6159  0.243  0.99  -0.330    600.  0.124E+02  0.764E+00  0.150E-03  0.219E-05   15  38 145   16  37  54   19  42  57    0.000    0.000       0
+  0    957 01:20:02.69   5.8000A   7.7531  -5.1074   4.4095  0.243  0.99  -0.327    600.  0.124E+02  0.764E+00  0.150E-03  0.217E-05   15  47 105   16  37  54   19  42  57    0.000    0.000       0
+  0    958 01:20:08.60   5.9100A   7.6089  -5.0330   4.2077  0.243  0.99  -0.327    600.  0.124E+02  0.764E+00  0.152E-03  0.220E-05   15  47 105   16  37  54   19  42  57    0.000    0.000       0
+  0    959 01:20:14.59   5.9900A   7.5183  -4.9511   4.0182  0.243  0.99  -0.330    600.  0.124E+02  0.763E+00  0.154E-03  0.221E-05   17  39  92   16  37  54   19  42  57    0.000    0.000       0
+  0    960 01:20:20.36   5.7700A   7.8053  -4.8871   3.9889  0.243  0.99  -0.331    600.  0.124E+02  0.763E+00  0.149E-03  0.213E-05   15  47 107   16  37  54   19  43  58    0.000    0.000       0
+  0    961 01:20:26.27   5.9100A   7.6141  -4.8575   3.9512  0.243  0.93  -0.324    500.  0.124E+02  0.763E+00  0.152E-03  0.216E-05   17  39  93   16  37  54   19  43  58    0.000    0.000       0
+  0    962 01:20:32.08   5.8100A   7.7441  -4.8395   3.8822  0.243  0.93  -0.344    500.  0.124E+02  0.763E+00  0.150E-03  0.212E-05   15  43 112   16  37  54   19  43  58    0.000    0.000       0
+  0    963 01:20:38.00   5.9200A   7.5997  -4.8296   3.8011  0.243  0.96  -0.325    550.  0.124E+02  0.763E+00  0.152E-03  0.214E-05   17  39  94   16  37  54   19  43  58    0.000    0.000       0
+  0    964 01:20:43.75   5.7500A   7.8235   4.8557   3.8320  0.243  0.96  -0.325    550.  0.124E+02  0.763E+00  0.148E-03  0.208E-05   15  43 113    3  38 105   19  42  57    0.000    0.000       0
+  0    965 01:20:49.70   5.9500A   7.5584  -4.8709   3.9452  0.243  0.96  -0.352    550.  0.124E+02  0.762E+00  0.152E-03  0.213E-05   15  43 113   15  35  54   19  42  57    0.000    0.000       0
+  0    966 01:20:55.73   6.0300A   7.4572  -4.9395   4.0679  0.243  0.96  -0.327    550.  0.124E+02  0.762E+00  0.154E-03  0.215E-05   15  43 114   15  35  54   19  42  57    0.000    0.000       0
+  0    967 01:21:01.81   6.0800A   7.4008  -4.9800   4.1899  0.243  0.99  -0.338    600.  0.124E+02  0.762E+00  0.155E-03  0.216E-05   15  44  89   15  35  54   19  42  57    0.000    0.000       0
+  0    968 01:21:07.87   6.0600A   7.4252  -4.9577   4.2903  0.243  0.99  -0.332    600.  0.124E+02  0.762E+00  0.155E-03  0.215E-05   15  43 115   15  35  54   19  42  57    0.000    0.000       0
+  0    969 01:21:13.82   5.9500A   7.5633  -4.8497   4.3575  0.243  0.99  -0.327    600.  0.124E+02  0.761E+00  0.152E-03  0.212E-05   16  43 100   15  35  54   19  42  57    0.000    0.000       0
+  0    970 01:21:19.77   5.9500A   7.5655   4.8780   4.3894  0.243  0.99  -0.328    600.  0.124E+02  0.761E+00  0.152E-03  0.213E-05   15  45 104    1  41 103   19  42  57    0.000    0.000       0
+  0    971 01:21:25.58   5.8100A   7.7428  -4.9607   4.3842  0.244  0.99  -0.323    600.  0.124E+02  0.761E+00  0.149E-03  0.209E-05   16  43 101   14  35  53   19  42  57    0.000    0.000       0
+  0    972 01:21:31.41   5.8300A   7.7212  -5.0367   4.3591  0.244  0.99  -0.321    600.  0.124E+02  0.760E+00  0.149E-03  0.210E-05   16  43 102   17  37  55   19  42  57    0.000    0.000       0
+  0    973 01:21:37.04   5.6300A   7.9977  -5.1744   4.3115  0.244  0.99  -0.320    600.  0.124E+02  0.760E+00  0.145E-03  0.203E-05   16  43 102   17  37  55   19  42  57    0.000    0.000       0
+  0    974 01:21:42.76   5.7200A   7.8719  -5.2947   4.2620  0.244  0.99  -0.320    600.  0.124E+02  0.760E+00  0.147E-03  0.204E-05   16  43 102   17  37  55   19  42  57    0.000    0.000       0
+  0    975 01:21:48.74   5.9800A   7.5228  -5.3869   4.1942  0.244  0.90  -0.321    450.  0.124E+02  0.760E+00  0.153E-03  0.211E-05   16  43 103   17  37  55   19  42  57    0.000    0.000       0
+  0    976 01:21:54.68   5.9400A   7.5803  -5.4479   4.1082  0.244  0.90  -0.317    450.  0.124E+02  0.759E+00  0.152E-03  0.208E-05   16  43 103   17  37  55   19  42  57    0.000    0.000       0
+  0    977 01:22:00.71   6.0300A   7.4591  -5.4811   4.0270  0.244  0.90  -0.317    450.  0.124E+02  0.759E+00  0.154E-03  0.210E-05   15  47 104   17  37  55   19  42  57    0.000    0.000       0
+  0    978 01:22:06.67   5.9600A   7.5549  -5.4834   3.9370  0.244  0.90  -0.314    450.  0.124E+02  0.759E+00  0.152E-03  0.207E-05   16  43  80   17  37  55   19  42  57    0.000    0.000       0
+  0    979 01:22:12.63   5.9600A   7.5451  -5.4677   3.8559  0.244  0.90  -0.311    450.  0.124E+02  0.759E+00  0.152E-03  0.207E-05   16  45 105   17  37  55   19  42  57    0.000    0.000       0
+  0    980 01:22:18.56   5.9300A   7.5891  -5.4420   3.7859  0.244  0.90  -0.315    450.  0.123E+02  0.758E+00  0.151E-03  0.206E-05   16  45 106   17  37  55   19  42  57    0.000    0.000       0
+  0    981 01:22:24.45   5.8900A   7.6451  -5.4201   3.7428  0.244  0.90  -0.315    450.  0.123E+02  0.758E+00  0.150E-03  0.205E-05   16  45 106   17  37  55   19  42  57    0.000    0.000       0
+  0    982 01:22:30.30   5.8500A   7.6977  -5.4101   3.7370  0.244  0.90  -0.312    450.  0.123E+02  0.758E+00  0.149E-03  0.205E-05   14  51  88   17  37  55   19  42  57    0.000    0.000       0
+  0    983 01:22:36.07   5.7700A   7.7963  -5.4119   3.7739  0.244  0.90  -0.310    450.  0.123E+02  0.758E+00  0.147E-03  0.203E-05   14  51  88   17  37  55   19  42  57    0.000    0.000       0
+  0    984 01:22:41.92   5.8500A   7.6880  -5.4167   3.8533  0.244  0.90  -0.309    450.  0.123E+02  0.757E+00  0.149E-03  0.205E-05   14  51  89   17  37  55   19  42  57    0.000    0.000       0
+  0    985 01:22:47.52   5.6000A   8.0407  -5.4040   3.9657  0.245  0.90  -0.308    450.  0.123E+02  0.757E+00  0.143E-03  0.197E-05   16  42 112   17  37  55   19  42  57    0.000    0.000       0
+  0    986 01:22:53.09   5.5700A   8.0724  -5.3694   4.1047  0.245  0.90  -0.307    450.  0.123E+02  0.757E+00  0.143E-03  0.195E-05   16  42 112   17  37  55   19  42  57    0.000    0.000       0
+  0    987 01:22:58.78   5.6900A   7.9150  -5.2973   4.2479  0.245  0.90  -0.307    450.  0.123E+02  0.757E+00  0.145E-03  0.199E-05   14  51  90   17  37  55   19  42  57    0.000    0.000       0
+  0    988 01:23:04.57   5.7900A   7.7728  -5.1951   4.3843  0.245  1.02  -0.307    650.  0.123E+02  0.757E+00  0.148E-03  0.202E-05   14  51  91   17  37  55   19  42  57    0.000    0.000       0
+  0    989 01:23:10.34   5.7700A   7.7952   5.2042   4.5016  0.245  1.02  -0.308    650.  0.123E+02  0.757E+00  0.147E-03  0.201E-05   14  51  91    3  40 104   19  42  57    0.000    0.000       0
+  0    990 01:23:16.06   5.7200A   7.8622   5.1706   4.5878  0.245  1.02  -0.310    650.  0.123E+02  0.756E+00  0.146E-03  0.200E-05   15  43 106    3  40 104   19  42  57    0.000    0.000       0
+  0    991 01:23:21.82   5.7600A   7.8099  -5.0014   4.6338  0.245  1.02  -0.311    650.  0.123E+02  0.756E+00  0.147E-03  0.201E-05   16  46  81   17  37  55   19  42  57    0.000    0.000       0
+  0    992 01:23:27.76   5.9400A   7.5791  -5.1702   4.6351  0.245  1.02  -0.309    650.  0.123E+02  0.756E+00  0.152E-03  0.208E-05   16  46  81   16  37  54   19  42  57    0.000    0.000       0
+  0    993 01:23:33.77   6.0100A   7.4882  -5.3752   4.5918  0.245  1.02  -0.310    650.  0.123E+02  0.756E+00  0.154E-03  0.212E-05   15  45 114   16  37  54   19  42  57    0.000    0.000       0
+  0    994 01:23:39.66   5.8900A   7.6338  -5.4415   4.5226  0.245  1.02  -0.324    650.  0.123E+02  0.756E+00  0.151E-03  0.210E-05   14  51  94   16  37  54   19  42  57    0.000    0.000       0
+  0    995 01:23:45.70   6.0400A   7.4555  -5.3687   4.4535  0.245  1.02  -0.309    650.  0.123E+02  0.755E+00  0.155E-03  0.216E-05   16  43 107   16  37  54   19  42  57    0.000    0.000       0
+  0    996 01:23:51.89   6.1900A   7.2661  -5.4403   4.3878  0.245  1.02  -0.308    650.  0.123E+02  0.755E+00  0.158E-03  0.222E-05   17  18  30   15  35  54   19  42  57    0.000    0.000       0
+  0    997 01:23:57.96   6.0700A   7.4091  -5.5070   4.3517  0.245  1.02  -0.307    650.  0.123E+02  0.755E+00  0.155E-03  0.220E-05   16  43 108   15  35  54   19  42  57    0.000    0.000       0
+  0    998 01:24:04.05   6.0900A   7.3881  -5.3610   4.3666  0.245  1.02  -0.306    650.  0.123E+02  0.755E+00  0.155E-03  0.222E-05   15  46 108   15  35  54   19  42  57    0.000    0.000       0
+  0    999 01:24:10.11   6.0600A   7.4244  -5.0484   4.4179  0.245  1.02  -0.312    650.  0.123E+02  0.755E+00  0.155E-03  0.222E-05   17   7  38   15  35  54   19  42  57    0.000    0.000       0
+  0   1000 01:24:16.19   6.0800A   7.4024  -4.9591   4.4979  0.245  1.02  -0.305    650.  0.123E+02  0.754E+00  0.155E-03  0.222E-05   17   7  38   17  37  55   19  42  57    0.000    0.000       0
+  0   1001 01:24:22.26   6.0700A   7.4137  -4.9473   4.5868  0.245  1.02  -0.306    650.  0.123E+02  0.754E+00  0.155E-03  0.223E-05   17  17  32   17  37  55   19  42  57    0.000    0.000       0
+  0   1002 01:24:28.34   6.0800A   7.3962  -4.9515   4.6680  0.245  0.99  -0.307    600.  0.123E+02  0.754E+00  0.155E-03  0.224E-05   17  35 102   17  37  55   19  42  57    0.000    0.000       0
+  0   1003 01:24:34.18   5.8400A   7.7035  -4.9354   4.7268  0.246  0.99  -0.304    600.  0.123E+02  0.754E+00  0.149E-03  0.216E-05   17  35 102   17  37  55   19  42  57    0.000    0.000       0
+  0   1004 01:24:40.09   5.9100A   7.6110  -4.8878   4.7649  0.246  0.99  -0.305    600.  0.123E+02  0.754E+00  0.151E-03  0.218E-05   16  42 113   17  37  55   19  42  57    0.000    0.000       0
+  0   1005 01:24:46.05   5.9600A   7.5503  -4.8615   4.7693  0.246  0.99  -0.306    600.  0.123E+02  0.754E+00  0.152E-03  0.220E-05   17  35 103   16  37  54   19  42  57    0.000    0.000       0
+  0   1006 01:24:51.84   5.7900A   7.7737  -4.9776   4.7513  0.246  0.99  -0.306    600.  0.123E+02  0.754E+00  0.148E-03  0.215E-05   17  35 104   16  37  54   19  42  57    0.000    0.000       0
+  0   1007 01:24:57.69   5.8500A   7.6923  -5.1109   4.7238  0.246  0.99  -0.309    600.  0.123E+02  0.754E+00  0.149E-03  0.216E-05   17  35 104   16  37  54   19  42  57    0.000    0.000       0
+  0   1008 01:25:03.53   5.8400A   7.7061  -5.2538   4.6785  0.246  0.99  -0.308    600.  0.123E+02  0.754E+00  0.149E-03  0.215E-05   16  41 101   16  37  54   19  42  57    0.000    0.000       0
+  0   1009 01:25:09.42   5.8900A   7.6464  -5.3917   4.6267  0.246  0.99  -0.307    600.  0.123E+02  0.754E+00  0.150E-03  0.216E-05   15  45 115   16  37  54   19  42  57    0.000    0.000       0
+  0   1010 01:25:15.32   5.9000A   7.6324  -5.4937   4.5689  0.246  0.99  -0.307    600.  0.123E+02  0.754E+00  0.150E-03  0.216E-05   16  41 102   16  37  54   19  42  57    0.000    0.000       0
+  0   1011 01:25:21.14   5.8200A   7.7308  -5.5242   4.5115  0.246  0.99  -0.304    600.  0.123E+02  0.754E+00  0.148E-03  0.213E-05   16  39  98   16  37  54   19  42  57    0.000    0.000       0
+  0   1012 01:25:26.92   5.7800A   7.7794  -5.4661   4.4602  0.246  0.99  -0.301    600.  0.123E+02  0.754E+00  0.147E-03  0.211E-05   16  39  98   16  36  54   19  42  57    0.000    0.000       0
+  0   1013 01:25:32.91   5.9900A   7.5125  -5.6670   4.4129  0.246  0.99  -0.303    600.  0.123E+02  0.754E+00  0.152E-03  0.217E-05   16  44 112   16  36  54   19  42  57    0.000    0.000       0
+  0   1014 01:25:38.99   6.0800A   7.4014  -5.7477   4.3631  0.246  0.99  -0.303    600.  0.123E+02  0.754E+00  0.154E-03  0.221E-05   17  32 131   16  36  54   19  42  57    0.000    0.000       0
+  0   1015 01:25:45.08   6.0900A   7.3880  -5.7104   4.3894  0.246  0.99  -0.305    600.  0.123E+02  0.754E+00  0.154E-03  0.222E-05   16  15  44   16  36  54   19  43  58    0.000    0.000       0
+  0   1016 01:25:51.01   5.9300A   7.5902  -5.6039   4.4302  0.246  0.99  -0.312    600.  0.123E+02  0.754E+00  0.150E-03  0.217E-05   16  15  44   16  36  54   19  43  58    0.000    0.000       0
+  0   1017 01:25:56.94   5.9300A   7.5879  -5.4847   4.4468  0.246  0.99  -0.306    600.  0.123E+02  0.754E+00  0.150E-03  0.217E-05   17  15  45   16  36  54   19  43  58    0.000    0.000       0
+  0   1018 01:26:02.78   5.8400A   7.7064  -5.3700   4.4343  0.246  0.99  -0.304    600.  0.123E+02  0.754E+00  0.148E-03  0.215E-05   15  21  16   16  36  54   19  43  58    0.000    0.000       0
+  0   1019 01:26:08.94   6.1600A   7.3099  -5.2635   4.3974  0.246  0.99  -0.305    600.  0.123E+02  0.754E+00  0.156E-03  0.226E-05   16  15  46   16  36  54   19  43  58    0.000    0.000       0
+  0   1020 01:26:14.86   5.9200A   7.6071  -5.1493   4.3814  0.246  0.90  -0.307    450.  0.123E+02  0.754E+00  0.150E-03  0.219E-05   15  49  97   16  36  54   19  42  57    0.000    0.000       0
+  0   1021 01:26:20.86   6.0000A   7.5005  -5.0506   4.4325  0.247  0.90  -0.310    450.  0.123E+02  0.754E+00  0.152E-03  0.222E-05   15  49  97   16  36  54   19  42  57    0.000    0.000       0
+  0   1022 01:26:26.89   6.0300A   7.4598   5.0273   4.4723  0.247  0.90  -0.303    450.  0.123E+02  0.754E+00  0.153E-03  0.223E-05   16  43  99    1  54 106   19  42  57    0.000    0.000       0
+  0   1023 01:26:32.95   6.0600A   7.4263  -4.9584   4.5009  0.247  0.90  -0.303    450.  0.123E+02  0.754E+00  0.154E-03  0.225E-05   16  45  87   17  37  55   19  42  57    0.000    0.000       0
+  0   1024 01:26:38.88   5.9300A   7.5913  -5.0951   4.5119  0.247  0.90  -0.307    450.  0.123E+02  0.755E+00  0.151E-03  0.221E-05   16  45  87   17  37  55   19  42  57    0.000    0.000       0
+  0   1025 01:26:44.78   5.9000A   7.6315  -5.2642   4.5087  0.247  0.90  -0.309    450.  0.123E+02  0.755E+00  0.150E-03  0.220E-05   16  46 106   17  37  55   19  42  57    0.000    0.000       0
+  0   1026 01:26:50.70   5.9200A   7.6026  -5.4149   4.4852  0.247  0.90  -0.307    450.  0.123E+02  0.755E+00  0.150E-03  0.221E-05   16  46 106   17  37  55   19  42  57    0.000    0.000       0
+  0   1027 01:26:56.66   5.9600A   7.5504  -5.4997   4.4468  0.247  1.02  -0.305    650.  0.123E+02  0.755E+00  0.151E-03  0.221E-05   15  48 102   17  37  55   19  42  57    0.000    0.000       0
+  0   1028 01:27:02.41   5.7500A   7.8292  -5.4901   4.4020  0.247  1.02  -0.304    650.  0.123E+02  0.755E+00  0.147E-03  0.214E-05   16  42 102   17  37  55   19  42  57    0.000    0.000       0
+  0   1029 01:27:08.14   5.7300A   7.8602  -5.4021   4.3719  0.247  1.02  -0.309    650.  0.123E+02  0.755E+00  0.146E-03  0.212E-05   16  42 102   17  37  55   19  42  57    0.000    0.000       0
+  0   1030 01:27:14.11   5.9700A   7.5378  -5.2671   4.3481  0.247  1.02  -0.304    650.  0.123E+02  0.755E+00  0.152E-03  0.220E-05   14   2  29   17  37  55   19  42  57    0.000    0.000       0
+  0   1031 01:27:20.04   5.9300A   7.5826  -5.1279   4.3299  0.247  1.02  -0.302    650.  0.123E+02  0.755E+00  0.151E-03  0.220E-05   16  17  42   17  37  55   19  42  57    0.000    0.000       0
+  0   1032 01:27:26.08   6.0400A   7.4551  -5.0522   4.3371  0.247  1.02  -0.301    650.  0.123E+02  0.755E+00  0.153E-03  0.224E-05   16  17  42   17  37  55   19  42  57    0.000    0.000       0
+  0   1033 01:27:32.28   6.2000A   7.2560  -5.0642   4.3504  0.247  1.02  -0.299    650.  0.123E+02  0.754E+00  0.157E-03  0.230E-05   16  17  44   17  37  55   19  42  57    0.000    0.000       0
+  0   1034 01:27:38.18   5.9000A   7.6311  -5.1694   4.3610  0.247  1.02  -0.300    650.  0.123E+02  0.754E+00  0.150E-03  0.222E-05   16  17  44   17  37  55   19  42  57    0.000    0.000       0
+  0   1035 01:27:44.13   5.9500A   7.5581  -5.3332   4.3782  0.247  1.02  -0.307    650.  0.123E+02  0.754E+00  0.151E-03  0.224E-05   17  36 100   17  37  55   19  42  57    0.000    0.000       0
+  0   1036 01:27:50.26   6.1300A   7.3464  -5.4875   4.3674  0.247  1.02  -0.303    650.  0.123E+02  0.754E+00  0.155E-03  0.231E-05   16  63  65   17  37  55   19  42  57    0.000    0.000       0
+  0   1037 01:27:56.48   6.2200A   7.2310  -5.5680   4.3311  0.247  1.02  -0.300    650.  0.123E+02  0.754E+00  0.157E-03  0.234E-05   16  48 103   17  37  55   19  42  57    0.000    0.000       0
+  0   1038 01:28:02.46   5.9800A   7.5309  -5.5275   4.2840  0.247  1.02  -0.300    650.  0.123E+02  0.754E+00  0.152E-03  0.226E-05   17  36 109   17  37  55   19  42  57    0.000    0.000       0
+  0   1039 01:28:08.48   6.0200A   7.4734   5.3913   4.2490  0.247  1.02  -0.297    650.  0.123E+02  0.754E+00  0.153E-03  0.226E-05   17  36 109    2  58 109   19  42  57    0.000    0.000       0
+  0   1040 01:28:14.41   5.9300A   7.5911   5.3906   4.2127  0.247  1.02  -0.294    650.  0.123E+02  0.754E+00  0.150E-03  0.224E-05   17  36 110    2  59 109   19  42  57    0.000    0.000       0
+  0   1041 01:28:20.15   5.7400A   7.8445   5.5823   4.1981  0.247  1.02  -0.294    650.  0.123E+02  0.754E+00  0.146E-03  0.217E-05   16  48 105    2  59 109   19  42  57    0.000    0.000       0
+  0   1042 01:28:25.92   5.7700A   7.8018   5.4661   4.2112  0.247  1.02  -0.293    650.  0.123E+02  0.754E+00  0.146E-03  0.218E-05   16  48 105    2  59 109   19  42  57    0.000    0.000       0
+  0   1043 01:28:31.70   5.7800A   7.7847   5.1664   4.2433  0.247  1.02  -0.294    650.  0.123E+02  0.754E+00  0.147E-03  0.219E-05   16  48 106    3  49 109   19  42  57    0.000    0.000       0
+  0   1044 01:28:37.52   5.8200A   7.7334   5.3726   4.2995  0.247  1.02  -0.294    650.  0.123E+02  0.754E+00  0.148E-03  0.221E-05   16  48 106    3  49 110   19  42  57    0.000    0.000       0
+  0   1045 01:28:43.48   5.9600A   7.5445   5.3811   4.3753  0.247  1.02  -0.296    650.  0.123E+02  0.754E+00  0.151E-03  0.227E-05   16  38 109    2  60 110   19  42  57    0.000    0.000       0
+  0   1046 01:28:48.99   5.5100A   8.1609   5.5220   4.4643  0.247  1.02  -0.304    650.  0.123E+02  0.754E+00  0.141E-03  0.213E-05   16  38 110    3  50 110   19  42  57    0.000    0.000       0
+  0   1047 01:28:54.19   5.2000A   8.6511   5.4328   4.5686  0.247  1.02  -0.292    650.  0.123E+02  0.754E+00  0.134E-03  0.201E-05   16  38 110    3  50 110   19  42  57    0.000    0.000       0
+  0   1048 01:28:59.74   5.5500A   8.1136   5.2080   4.6609  0.247  1.02  -0.291    650.  0.123E+02  0.754E+00  0.142E-03  0.212E-05   16  38 110    3  51 110   19  42  57    0.000    0.000       0
+  0   1049 01:29:05.12   5.3800A   8.3583   5.2936   4.7216  0.247  1.02  -0.290    650.  0.123E+02  0.754E+00  0.139E-03  0.207E-05   16  38 111    2  61 111   19  42  57    0.000    0.000       0
+  0   1050 01:29:10.55   5.4300A   8.2804   5.4272   4.7699  0.247  1.02  -0.295    650.  0.123E+02  0.754E+00  0.140E-03  0.208E-05   16  38 111    2  61 111   19  42  57    0.000    0.000       0
+  0   1051 01:29:16.04   5.4900A   8.1959   5.3063   4.7894  0.247  1.02  -0.290    650.  0.123E+02  0.754E+00  0.141E-03  0.211E-05   16  38 112    2  61 111   19  42  57    0.000    0.000       0
+  0   1052 01:29:21.46   5.4200A   8.2982   5.3759   4.7867  0.247  1.02  -0.288    650.  0.123E+02  0.754E+00  0.140E-03  0.210E-05   16  38 112    5  60 111   19  42  57    0.000    0.000       0
+  0   1053 01:29:27.47   6.0100A   7.4856   5.3797   4.7737  0.247  0.99  -0.287    600.  0.123E+02  0.754E+00  0.153E-03  0.231E-05   16  38 112    5  60 111   19  42  57    0.000    0.000       0
+  0   1054 01:29:33.49   6.0200A   7.4778   5.4117   4.7302  0.247  0.99  -0.290    600.  0.123E+02  0.754E+00  0.154E-03  0.235E-05   16  38 113    5  61 111   19  42  57    0.000    0.000       0
+  0   1055 01:29:39.70   6.2100A   7.2438   5.3832   4.7035  0.247  0.99  -0.287    600.  0.123E+02  0.754E+00  0.159E-03  0.243E-05   16  39 118    5  61 111   19  42  57    0.000    0.000       0
+  0   1056 01:29:45.83   6.1300A   7.3385   5.4091   4.6766  0.247  0.99  -0.286    600.  0.123E+02  0.754E+00  0.157E-03  0.243E-05   15  52 105    5  62 111   19  42  57    0.000    0.000       0
+  0   1057 01:29:51.90   6.0700A   7.4133   5.3365   4.6610  0.247  1.02  -0.286    650.  0.123E+02  0.754E+00  0.156E-03  0.241E-05   16  40 114   13  55  47   19  42  57    0.000    0.000       0
+  0   1058 01:29:57.88   5.9800A   7.5272   5.5458   4.6442  0.247  1.02  -0.287    650.  0.123E+02  0.754E+00  0.154E-03  0.238E-05   16  48  89    5  62 112   19  42  57    0.000    0.000       0
+  0   1059 01:30:03.78   5.9000A   7.6265   5.5938   4.6228  0.247  0.99  -0.288    600.  0.123E+02  0.755E+00  0.152E-03  0.235E-05   16  40 115    5  63 112   19  42  57    0.000    0.000       0
+  0   1060 01:30:09.81   6.0300A   7.4653   5.6302   4.5948  0.247  0.99  -0.289    600.  0.123E+02  0.755E+00  0.155E-03  0.239E-05   15  47 105    5  63 112   19  42  57    0.000    0.000       0
+  0   1061 01:30:15.83   6.0200A   7.4748   5.4076   4.5558  0.248  0.99  -0.292    600.  0.123E+02  0.755E+00  0.155E-03  0.240E-05   16  40 102    5  64 112   19  42  57    0.000    0.000       0
+  0   1062 01:30:21.85   6.0200A   7.4697   5.4859   4.5254  0.248  0.99  -0.289    600.  0.123E+02  0.755E+00  0.155E-03  0.241E-05   16  40 102   11  49  52   19  42  57    0.000    0.000       0
+  0   1063 01:30:28.11   6.2600A   7.1889   5.6893   4.5082  0.248  0.99  -0.283    600.  0.123E+02  0.755E+00  0.160E-03  0.250E-05   16  40 117   11  49  52   19  42  57    0.000    0.000       0
+  0   1064 01:30:34.25   6.1400A   7.3287   5.7053   4.5007  0.248  0.99  -0.283    600.  0.123E+02  0.755E+00  0.157E-03  0.246E-05   17   8  55   11  49  52   19  42  57    0.000    0.000       0
+  0   1065 01:30:40.45   6.2000A   7.2591   5.6810   4.5226  0.248  0.99  -0.284    600.  0.123E+02  0.755E+00  0.159E-03  0.248E-05   16  48  95    6  64 113   19  42  57    0.000    0.000       0
+  0   1066 01:30:46.50   6.0500A   7.4330   5.5400   4.5506  0.248  0.99  -0.283    600.  0.123E+02  0.755E+00  0.155E-03  0.243E-05   15  47 109   11  48  51   19  42  57    0.000    0.000       0
+  0   1067 01:30:52.52   6.0200A   7.4773   5.6899   4.5824  0.248  0.90  -0.281    450.  0.123E+02  0.755E+00  0.154E-03  0.242E-05   15  47 109    6  64 114   19  42  57    0.000    0.000       0
+  0   1068 01:30:58.71   6.1900A   7.2707   5.7693   4.5954  0.248  0.90  -0.281    450.  0.123E+02  0.755E+00  0.158E-03  0.248E-05   17  46  68    6  65 114   19  42  57    0.000    0.000       0
+  0   1069 01:31:04.94   6.2300A   7.2283   5.7994   4.5741  0.248  0.90  -0.290    450.  0.123E+02  0.755E+00  0.159E-03  0.250E-05   17  46  68    6  65 114   19  42  57    0.000    0.000       0
+  0   1070 01:31:11.16   6.2200A   7.2338   5.6898   4.5227  0.248  0.96  -0.281    550.  0.123E+02  0.755E+00  0.159E-03  0.251E-05   18  19  23    6  66 114   19  42  57    0.000    0.000       0
+  0   1071 01:31:17.34   6.1800A   7.2796   5.8363   4.4424  0.248  0.96  -0.284    550.  0.123E+02  0.755E+00  0.158E-03  0.250E-05   17   7  60   11  49  52   19  42  57    0.000    0.000       0
+  0   1072 01:31:23.56   6.2200A   7.2310   5.9450   4.3414  0.248  0.96  -0.283    550.  0.123E+02  0.756E+00  0.159E-03  0.252E-05   16  36 104    6  66 115   19  42  57    0.000    0.000       0
+  0   1073 01:31:29.80   6.2400A   7.2118   5.8141   4.2292  0.248  0.90  -0.281    450.  0.123E+02  0.756E+00  0.160E-03  0.253E-05   16  36 104    6  66 115   19  42  57    0.000    0.000       0
+  0   1074 01:31:35.98   6.1800A   7.2762   5.9339   4.1271  0.248  0.90  -0.280    450.  0.123E+02  0.756E+00  0.158E-03  0.252E-05   17  46  71    6  67 115   19  42  57    0.000    0.000       0
+  0   1075 01:31:42.16   6.1800A   7.2809   5.6578   4.0530  0.248  1.02  -0.280    650.  0.123E+02  0.756E+00  0.158E-03  0.252E-05   17  46  71    7  67 115   19  42  57    0.000    0.000       0
+  0   1076 01:31:48.35   6.1900A   7.2701   6.1137   4.0093  0.248  1.02  -0.280    650.  0.123E+02  0.756E+00  0.158E-03  0.251E-05   15  47 116    7  67 115   19  42  57    0.000    0.000       0
+  0   1077 01:31:54.63   6.2800A   7.1667   5.8189   3.9981  0.248  1.02  -0.280    650.  0.123E+02  0.756E+00  0.160E-03  0.255E-05   15  47 117    7  67 115   19  42  57    0.000    0.000       0
+  0   1078 01:32:00.52   5.8900A   7.6439   5.9501   4.0125  0.248  1.02  -0.278    650.  0.123E+02  0.756E+00  0.151E-03  0.241E-05   15  47 117    7  68 115   19  42  57    0.000    0.000       0
+  0   1079 01:32:06.49   5.9700A   7.5405   5.8306   4.0565  0.248  1.02  -0.276    650.  0.123E+02  0.757E+00  0.153E-03  0.243E-05   16  36 111   10  50  52   19  42  57    0.000    0.000       0
+  0   1080 01:32:12.15   5.6600A   7.9462   5.8955   4.0937  0.249  1.02  -0.274    650.  0.123E+02  0.757E+00  0.146E-03  0.234E-05   16  36 111    7  68 116   19  42  57    0.000    0.000       0
+  0   1081 01:32:18.21   6.0600A   7.4210   5.9279   4.1334  0.249  1.02  -0.273    650.  0.123E+02  0.757E+00  0.155E-03  0.248E-05   16  36 111    7  69 116   19  42  57    0.000    0.000       0
+  0   1082 01:32:24.14   5.9300A   7.5858   5.9242   4.1412  0.249  1.02  -0.274    650.  0.123E+02  0.757E+00  0.152E-03  0.245E-05   16  36 112    7  69 116   19  42  57    0.000    0.000       0
+  0   1083 01:32:29.88   5.7400A   7.8389   5.7710   4.1459  0.249  1.02  -0.281    650.  0.123E+02  0.757E+00  0.147E-03  0.238E-05   16  36 113    7  70 116   19  42  57    0.000    0.000       0
+  0   1084 01:32:35.53   5.6500A   7.9685   5.8792   4.1416  0.249  1.02  -0.275    650.  0.123E+02  0.758E+00  0.145E-03  0.234E-05   16  36 113   11  48  52   19  42  57    0.000    0.000       0
+  0   1085 01:32:41.32   5.7900A   7.7707   6.0690   4.1251  0.249  1.02  -0.274    650.  0.123E+02  0.758E+00  0.148E-03  0.239E-05   16  36 114   11  48  52   19  42  57    0.000    0.000       0
+  0   1086 01:32:46.96   5.6400A   7.9780   6.1409   4.0922  0.249  1.02  -0.272    650.  0.123E+02  0.758E+00  0.145E-03  0.235E-05   16  36 114   11  49  52   19  42  57    0.000    0.000       0
+  0   1087 01:32:52.92   5.9600A   7.5480   6.4907   4.0607  0.249  1.02  -0.271    650.  0.123E+02  0.758E+00  0.152E-03  0.246E-05   17  37 108   11  49  52   19  42  57    0.000    0.000       0
+  0   1088 01:32:58.90   5.9800A   7.5307   6.5565   4.0053  0.249  1.02  -0.271    650.  0.123E+02  0.759E+00  0.153E-03  0.250E-05   15  44 113   11  49  52   19  42  57    0.000    0.000       0
+  0   1089 01:33:04.95   6.0500A   7.4425   6.3281   3.9496  0.249  1.02  -0.271    650.  0.123E+02  0.759E+00  0.155E-03  0.255E-05   16  36 116   11  49  52   19  42  57    0.000    0.000       0
+  0   1090 01:33:11.08   6.1300A   7.3403   5.9517   3.8870  0.249  1.02  -0.272    650.  0.123E+02  0.759E+00  0.157E-03  0.259E-05   15  48  70   11  49  52   19  42  57    0.000    0.000       0
+  0   1091 01:33:16.72   5.6400A   7.9857   6.0132   3.8208  0.249  1.02  -0.274    650.  0.123E+02  0.760E+00  0.145E-03  0.242E-05   15  48  71   10  49  51   19  42  57    0.000    0.000       0
+  0   1092 01:33:22.35   5.6300A   7.9890   6.2681   3.7764  0.249  1.02  -0.276    650.  0.123E+02  0.760E+00  0.145E-03  0.240E-05   15  48  71   10  49  51   19  42  57    0.000    0.000       0
+  0   1093 01:33:27.89   5.5400A   8.1222   6.2876   3.7243  0.249  0.99  -0.282    600.  0.123E+02  0.760E+00  0.143E-03  0.237E-05   15  45  86   10  49  51   19  42  57    0.000    0.000       0
+  0   1094 01:33:33.05   5.1600A   8.7169   6.4157   3.6800  0.249  0.99  -0.277    600.  0.123E+02  0.761E+00  0.134E-03  0.222E-05   15  45  86    9  50  51   19  42  57    0.000    0.000       0
+  0   1095 01:33:38.25   5.2000A   8.6507   6.5249   3.6549  0.249  0.99  -0.279    600.  0.123E+02  0.761E+00  0.135E-03  0.223E-05   15  45  86    9  50  51   19  42  57    0.000    0.000       0
+  0   1096 01:33:43.84   5.5900A   8.0464   6.4210   3.8098  0.249  0.99  -0.274    600.  0.123E+02  0.761E+00  0.144E-03  0.237E-05   15  45  86    9  50  51    1  20  58    0.000    0.000       0
+  0   1097 01:33:49.77   5.9300A   7.5838   6.1611   4.0176  0.249  0.99  -0.273    600.  0.123E+02  0.762E+00  0.152E-03  0.252E-05   15  48  74   10  48  50    1  20  58    0.000    0.000       0
+  0   1098 01:33:55.68   5.9100A   7.6135   6.1486   4.1709  0.249  0.99  -0.273    600.  0.123E+02  0.762E+00  0.152E-03  0.253E-05   15  45  89   11  47  51    1  20  58    0.000    0.000       0
+  0   1099 01:34:01.48   5.8000A   7.7543   6.3325   4.2525  0.249  0.99  -0.276    600.  0.123E+02  0.763E+00  0.149E-03  0.250E-05   15  48  75   11  47  51    1  20  58    0.000    0.000       0
+  0   1100 01:34:07.54   6.0600A   7.4207   6.3524   4.2629  0.249  0.99  -0.272    600.  0.123E+02  0.763E+00  0.155E-03  0.260E-05   15  48  75   11  47  51    1  20  58    0.000    0.000       0
+  0   1101 01:34:13.69   6.1500A   7.3166   6.2315   4.2081  0.249  0.99  -0.272    600.  0.123E+02  0.763E+00  0.157E-03  0.265E-05   15  51 128   11  47  51    1  20  58    0.000    0.000       0
+  0   1102 01:34:19.50   5.8100A   7.7441   6.1525   4.1425  0.249  0.99  -0.273    600.  0.123E+02  0.764E+00  0.149E-03  0.253E-05   15  51 128   11  48  52    1  20  58    0.000    0.000       0
+  0   1103 01:34:25.55   6.0500A   7.4431   6.1565   4.1374  0.249  0.99  -0.274    600.  0.123E+02  0.764E+00  0.154E-03  0.262E-05   15  51 128   11  48  52   19  42  57    0.000    0.000       0
+  0   1104 01:34:31.42   5.8700A   7.6675   6.1535   4.2275  0.249  0.99  -0.277    600.  0.123E+02  0.764E+00  0.150E-03  0.255E-05   15  51 129   11  48  52   19  42  57    0.000    0.000       0
+  0   1105 01:34:37.41   5.9900A   7.5137   6.1409   4.2924  0.249  0.99  -0.281    600.  0.123E+02  0.765E+00  0.153E-03  0.259E-05   15  51 130   11  48  52   19  42  57    0.000    0.000       0
+  0   1106 01:34:43.03   5.6200A   8.0054   6.1134   4.3163  0.249  0.99  -0.280    600.  0.123E+02  0.765E+00  0.144E-03  0.246E-05   15  51 130   11  48  52   19  42  57    0.000    0.000       0
+  0   1107 01:34:48.85   5.8200A   7.7259   6.1051   4.3161  0.249  0.99  -0.280    600.  0.123E+02  0.765E+00  0.149E-03  0.252E-05   15  51 130   10  49  51   19  42  57    0.000    0.000       0
+  0   1108 01:34:54.79   5.9400A   7.5761   6.1217   4.2693  0.249  0.99  -0.280    600.  0.123E+02  0.765E+00  0.152E-03  0.256E-05   16  40 112   10  49  51   19  42  57    0.000    0.000       0
+  0   1109 01:35:00.68   5.8900A   7.6433   6.0611   4.1930  0.249  0.99  -0.280    600.  0.123E+02  0.766E+00  0.151E-03  0.254E-05   16  40 112   10  49  51   19  42  57    0.000    0.000       0
+  0   1110 01:35:06.55   5.8700A   7.6633   5.9528   4.1050  0.249  0.99  -0.278    600.  0.123E+02  0.766E+00  0.151E-03  0.252E-05    1  19  68   10  49  51   19  42  57    0.000    0.000       0
+  0   1111 01:35:12.32   5.7700A   7.7972   5.8798   4.0133  0.249  1.02  -0.280    650.  0.123E+02  0.766E+00  0.149E-03  0.247E-05    1  19  69   11  48  51   19  42  57    0.000    0.000       0
+  0   1112 01:35:18.05   5.7300A   7.8533   5.8748   3.9343  0.249  1.02  -0.279    650.  0.123E+02  0.766E+00  0.148E-03  0.244E-05    1  19  70   11  48  51   19  42  57    0.000    0.000       0
+  0   1113 01:35:23.78   5.7300A   7.8555   5.8650   3.8742  0.249  1.02  -0.279    650.  0.123E+02  0.766E+00  0.148E-03  0.242E-05    1  19  70   10  47  50   19  42  57    0.000    0.000       0
+  0   1114 01:35:29.46   5.6800A   7.9279   5.8442   3.8403  0.249  1.02  -0.281    650.  0.123E+02  0.767E+00  0.146E-03  0.239E-05    1  19  71   12  45  51   19  42  57    0.000    0.000       0
+  0   1115 01:35:35.15   5.6900A   7.9105   5.8322   3.8382  0.249  1.02  -0.281    650.  0.123E+02  0.767E+00  0.147E-03  0.237E-05    1  19  72   12  45  51   19  42  57    0.000    0.000       0
+  0   1116 01:35:40.93   5.7800A   7.7910   5.8677   3.8621  0.249  1.02  -0.282    650.  0.123E+02  0.767E+00  0.149E-03  0.240E-05    1  19  72   10  50  51   19  42  57    0.000    0.000       0
+  0   1117 01:35:46.71   5.7800A   7.7853   5.9111   3.9040  0.249  1.02  -0.281    650.  0.123E+02  0.767E+00  0.149E-03  0.242E-05    1  19  73   10  50  51   19  42  57    0.000    0.000       0
+  0   1118 01:35:52.55   5.8400A   7.6991   5.8463   3.9571  0.249  0.99  -0.281    600.  0.123E+02  0.767E+00  0.150E-03  0.245E-05    1  19  74   10  50  51   19  42  57    0.000    0.000       0
+  0   1119 01:35:58.50   5.9500A   7.5614   5.8014   4.0065  0.249  0.99  -0.280    600.  0.122E+02  0.767E+00  0.152E-03  0.249E-05    1  20  74    8  47  48   19  42  57    0.000    0.000       0
+  0   1120 01:36:04.37   5.8700A   7.6658   5.9164   4.0434  0.249  0.99  -0.285    600.  0.122E+02  0.767E+00  0.151E-03  0.246E-05    1  20  75   13  47  52   19  42  57    0.000    0.000       0
+  0   1121 01:36:10.19   5.8200A   7.7255   6.1228   4.0699  0.249  0.99  -0.278    600.  0.122E+02  0.767E+00  0.150E-03  0.244E-05   15  42 105   11  49  52   19  42  57    0.000    0.000       0
+  0   1122 01:36:15.94   5.7500A   7.8321   6.3650   4.0837  0.249  0.99  -0.278    600.  0.122E+02  0.767E+00  0.148E-03  0.241E-05    1  20  76   11  49  52   19  42  57    0.000    0.000       0
+  0   1123 01:36:21.69   5.7500A   7.8291   6.5902   4.0916  0.249  0.99  -0.278    600.  0.122E+02  0.767E+00  0.148E-03  0.239E-05    1  20  77   11  49  52   19  42  57    0.000    0.000       0
+  0   1124 01:36:27.55   5.8600A   7.6808   6.7537   4.0977  0.249  0.99  -0.278    600.  0.122E+02  0.767E+00  0.151E-03  0.241E-05    1  20  77   11  49  52   19  42  57    0.000    0.000       0
+  0   1125 01:36:33.24   5.6900A   7.9051   6.7911   4.1045  0.249  0.99  -0.277    600.  0.122E+02  0.767E+00  0.147E-03  0.234E-05   15  41 104   11  49  52   19  42  57    0.000    0.000       0
+  0   1126 01:36:39.12   5.8800A   7.6588   6.6402   4.1236  0.249  0.99  -0.275    600.  0.122E+02  0.767E+00  0.151E-03  0.239E-05   15  41 104   11  49  52   19  42  57    0.000    0.000       0
+  0   1127 01:36:44.88   5.7600A   7.8159   6.5123   4.1316  0.249  0.99  -0.275    600.  0.122E+02  0.768E+00  0.148E-03  0.234E-05   15  41 105   11  50  52   19  42  57    0.000    0.000       0
+  0   1128 01:36:50.97   6.0900A   7.3942   6.3100   4.1395  0.249  0.99  -0.277    600.  0.122E+02  0.767E+00  0.156E-03  0.245E-05    1  21  80   10  48  50   19  42  57    0.000    0.000       0
+  0   1129 01:36:57.06   6.0900A   7.3838   6.4574   4.1124  0.249  0.99  -0.280    600.  0.122E+02  0.767E+00  0.156E-03  0.246E-05    1  21  80   10  48  50   19  42  57    0.000    0.000       0
+  0   1130 01:37:03.14   6.0800A   7.4030   6.4342   4.0680  0.249  0.99  -0.284    600.  0.122E+02  0.767E+00  0.156E-03  0.245E-05    1  21  81   10  48  50   19  42  57    0.000    0.000       0
+  0   1131 01:37:09.21   6.0700A   7.4187   6.2694   3.9984  0.249  0.99  -0.286    600.  0.122E+02  0.767E+00  0.156E-03  0.245E-05    1  21  82   10  48  50   19  42  57    0.000    0.000       0
+  0   1132 01:37:15.30   6.0900A   7.3864   6.4068   3.9654  0.249  0.99  -0.280    600.  0.122E+02  0.767E+00  0.156E-03  0.246E-05    1  21  83   10  49  51   19  43  58    0.000    0.000       0
+  0   1133 01:37:21.45   6.1500A   7.3228   6.4493   3.9938  0.249  1.02  -0.280    650.  0.122E+02  0.767E+00  0.157E-03  0.249E-05    5  24  87   10  49  51   19  43  58    0.000    0.000       0
+  0   1134 01:37:27.58   6.1300A   7.3435   6.2186   3.9907  0.249  1.02  -0.281    650.  0.122E+02  0.767E+00  0.157E-03  0.249E-05   16  45 104   10  49  51   19  43  58    0.000    0.000       0
+  0   1135 01:37:33.73   6.1500A   7.3174   5.9710   3.9575  0.249  1.02  -0.279    650.  0.122E+02  0.767E+00  0.157E-03  0.250E-05    5  24  88   10  50  51   19  43  58    0.000    0.000       0
+  0   1136 01:37:39.82   6.0900A   7.3882   5.9740   3.8974  0.249  1.02  -0.280    650.  0.122E+02  0.767E+00  0.156E-03  0.248E-05   15  45 103   11  49  52   19  43  58    0.000    0.000       0
+  0   1137 01:37:45.97   6.1500A   7.3161   5.9617   3.8210  0.249  1.02  -0.279    650.  0.122E+02  0.767E+00  0.157E-03  0.251E-05    1  22  86   11  49  52   19  43  58    0.000    0.000       0
+  0   1138 01:37:52.00   6.0300A   7.4639   5.7843   3.7322  0.249  1.02  -0.276    650.  0.122E+02  0.767E+00  0.154E-03  0.246E-05   10  23  82   11  49  52   19  43  58    0.000    0.000       0
+  0   1139 01:37:57.98   5.9800A   7.5204   5.6855   3.6452  0.249  1.02  -0.275    650.  0.122E+02  0.767E+00  0.153E-03  0.243E-05   10  23  82   10  49  51   19  43  58    0.000    0.000       0
+  0   1140 01:38:04.11   6.1300A   7.3408   5.8339   3.6894  0.249  1.02  -0.273    650.  0.122E+02  0.767E+00  0.156E-03  0.246E-05   13  49  69   10  49  51   19  42  57    0.000    0.000       0
+  0   1141 01:38:10.03   5.9200A   7.6032   5.8748   3.7383  0.249  1.02  -0.272    650.  0.122E+02  0.767E+00  0.151E-03  0.237E-05   15  45 106   10  49  51   19  42  57    0.000    0.000       0
+  0   1142 01:38:16.23   6.2000A   7.2598   5.7943   3.7913  0.249  1.02  -0.272    650.  0.122E+02  0.767E+00  0.158E-03  0.244E-05   15  45 106   10  49  51   19  42  57    0.000    0.000       0
+  0   1143 01:38:22.26   6.0300A   7.4615   5.6545   3.8216  0.249  1.02  -0.272    650.  0.122E+02  0.767E+00  0.154E-03  0.238E-05   15  45 107   10  50  52   19  42  57    0.000    0.000       0
+  0   1144 01:38:28.34   6.0800A   7.4065   5.7192   3.8490  0.249  1.02  -0.273    650.  0.122E+02  0.767E+00  0.155E-03  0.238E-05   11  20  86   10  50  52   19  42  57    0.000    0.000       0
+  0   1145 01:38:34.20   5.8600A   7.6803   5.6720   3.8614  0.249  1.02  -0.276    650.  0.122E+02  0.767E+00  0.150E-03  0.230E-05   11  20  86   10  50  52   19  42  57    0.000    0.000       0
+  0   1146 01:38:40.31   6.1100A   7.3695   5.6208   3.8749  0.249  1.02  -0.279    650.  0.122E+02  0.767E+00  0.156E-03  0.238E-05   11  20  86   11  47  51   19  42  57    0.000    0.000       0
+  0   1147 01:38:46.55   6.2400A   7.2142   5.6636   3.8770  0.249  1.02  -0.280    650.  0.122E+02  0.767E+00  0.159E-03  0.244E-05    4  26  98   11  47  51   19  42  57    0.000    0.000       0
+  0   1148 01:38:52.77   6.2200A   7.2351   5.6381   3.8822  0.249  1.02  -0.279    650.  0.122E+02  0.767E+00  0.159E-03  0.244E-05   15  78  97   11  47  51   19  42  57    0.000    0.000       0
+  0   1149 01:38:59.02   6.2500A   7.2050   5.5641   3.8908  0.249  1.02  -0.277    650.  0.122E+02  0.768E+00  0.159E-03  0.246E-05    5  26  99   11  47  51   19  42  57    0.000    0.000       0
+  0   1150 01:39:05.19   6.1700A   7.2930   5.4885   3.8942  0.249  1.02  -0.277    650.  0.122E+02  0.768E+00  0.158E-03  0.243E-05    5  26  99   11  49  52   19  42  57    0.000    0.000       0
+  0   1151 01:39:11.42   6.2300A   7.2195   5.5498   3.8908  0.249  1.02  -0.275    650.  0.122E+02  0.768E+00  0.159E-03  0.243E-05    5  26 100   11  49  52   19  42  57    0.000    0.000       0
+  0   1152 01:39:17.47   6.0500A   7.4414   5.5009   3.8735  0.249  1.02  -0.273    650.  0.122E+02  0.768E+00  0.155E-03  0.237E-05   14  47  97   10  47  50   19  42  57    0.000    0.000       0
+  0   1153 01:39:23.14   5.6700A   7.9406   5.5673   3.8522  0.249  1.02  -0.272    650.  0.122E+02  0.768E+00  0.146E-03  0.223E-05   14  47  97   10  47  50   19  42  57    0.000    0.000       0
+  0   1154 01:39:29.36   6.2200A   7.2394   5.6175   3.8329  0.249  1.02  -0.272    650.  0.122E+02  0.768E+00  0.159E-03  0.241E-05   14  47  97   10  47  50   19  42  57    0.000    0.000       0
+  0   1155 01:39:35.47   6.1100A   7.3708   5.6595   3.7954  0.249  1.02  -0.274    650.  0.122E+02  0.769E+00  0.156E-03  0.240E-05    4  27  94   10  47  50   19  42  57    0.000    0.000       0
+  0   1156 01:39:41.60   6.1300A   7.3461   5.6628   3.7793  0.249  1.02  -0.273    650.  0.122E+02  0.769E+00  0.157E-03  0.241E-05    4  27  95   10  47  50   19  42  57    0.000    0.000       0
+  0   1157 01:39:47.68   6.0800A   7.3981   5.6782   3.7802  0.249  1.02  -0.273    650.  0.122E+02  0.769E+00  0.156E-03  0.240E-05    4  27  95   10  49  51   19  42  57    0.000    0.000       0
+  0   1158 01:39:53.73   6.0500A   7.4354   5.6637   3.8042  0.249  1.02  -0.273    650.  0.122E+02  0.769E+00  0.155E-03  0.238E-05    4  27  96   10  49  51   19  42  57    0.000    0.000       0
+  0   1159 01:39:59.88   6.1500A   7.3119   5.5107   3.8507  0.249  1.02  -0.272    650.  0.122E+02  0.769E+00  0.157E-03  0.241E-05    4  27  96   10  49  51   19  42  57    0.000    0.000       0
+  0   1160 01:40:05.96   6.0800A   7.3967   5.3531   3.9174  0.249  1.02  -0.274    650.  0.122E+02  0.770E+00  0.156E-03  0.238E-05    4  27  97    9  48  50   19  42  57    0.000    0.000       0
+  0   1161 01:40:12.00   6.0400A   7.4475   5.3552   4.0040  0.250  1.02  -0.273    650.  0.122E+02  0.770E+00  0.155E-03  0.235E-05    9  26 102    9  48  50   19  42  57    0.000    0.000       0
+  0   1162 01:40:18.02   6.0200A   7.4803   5.3505   4.1043  0.250  1.02  -0.270    650.  0.122E+02  0.770E+00  0.154E-03  0.233E-05    9  26 102   10  48  51   19  42  57    0.000    0.000       0
+  0   1163 01:40:24.13   6.1100A   7.3618   5.3633   4.2119  0.250  1.02  -0.270    650.  0.122E+02  0.770E+00  0.156E-03  0.236E-05    4  27  99   10  48  51   19  42  57    0.000    0.000       0
+  0   1164 01:40:30.20   6.0700A   7.4145   5.4018   4.3163  0.250  1.02  -0.275    650.  0.122E+02  0.770E+00  0.155E-03  0.236E-05    9  26 103   12  57  46   19  42  57    0.000    0.000       0
+  0   1165 01:40:36.31   6.1100A   7.3624   5.4539   4.4038  0.250  1.02  -0.271    650.  0.122E+02  0.770E+00  0.155E-03  0.237E-05    8  26 103   12  45  51   19  42  57    0.000    0.000       0
+  0   1166 01:40:42.40   6.0900A   7.3923   5.4265   4.4525  0.250  1.02  -0.270    650.  0.122E+02  0.770E+00  0.155E-03  0.236E-05    9  26 106   12  45  51   19  42  57    0.000    0.000       0
+  0   1167 01:40:48.51   6.1100A   7.3619   5.3225   4.4509  0.250  1.02  -0.271    650.  0.122E+02  0.770E+00  0.155E-03  0.237E-05    8  26 105   11  48  52   19  42  57    0.000    0.000       0
+  0   1168 01:40:54.56   6.0500A   7.4414   5.3788   4.3922  0.250  1.02  -0.273    650.  0.122E+02  0.770E+00  0.154E-03  0.235E-05    9  27 103   10  48  51   19  42  57    0.000    0.000       0
+  0   1169 01:41:00.52   5.9600A   7.5442   5.4608   4.2882  0.250  1.02  -0.275    650.  0.122E+02  0.770E+00  0.152E-03  0.231E-05    9  27 108   10  48  51   19  42  57    0.000    0.000       0
+  0   1170 01:41:06.36   5.8400A   7.7088   5.5125   4.1559  0.250  1.02  -0.274    650.  0.122E+02  0.770E+00  0.149E-03  0.226E-05    9  27 104   10  48  51   19  42  57    0.000    0.000       0
+  0   1171 01:41:12.20   5.8400A   7.6992   5.5130   4.0169  0.250  1.02  -0.273    650.  0.122E+02  0.770E+00  0.149E-03  0.224E-05    9  27 109   10  48  51   19  42  57    0.000    0.000       0
+  0   1172 01:41:18.04   5.8400A   7.7024   5.5499   3.8826  0.250  1.02  -0.272    650.  0.122E+02  0.770E+00  0.149E-03  0.222E-05    9  27 110   11  47  51   19  42  57    0.000    0.000       0
+  0   1173 01:41:23.83   5.7900A   7.7711   5.5267   3.8498  0.250  1.02  -0.273    650.  0.122E+02  0.770E+00  0.148E-03  0.219E-05    9  27 110   11  47  51    2  55  81    0.000    0.000       0
+  0   1174 01:41:29.63   5.8000A   7.7557   5.5412   3.8100  0.250  0.99  -0.272    600.  0.122E+02  0.770E+00  0.148E-03  0.218E-05    8  27 107    9  49  51    2  55  81    0.000    0.000       0
+  0   1175 01:41:35.44   5.8100A   7.7412   5.4955   3.7064  0.250  0.99  -0.273    600.  0.122E+02  0.770E+00  0.149E-03  0.217E-05    8  27 107   10  49  51    2  58  83    0.000    0.000       0
+  0   1176 01:41:41.18   5.7400A   7.8352   5.5156   3.8906  0.250  0.99  -0.282    600.  0.122E+02  0.770E+00  0.147E-03  0.213E-05    8  27 108   10  49  51    2  54  81    0.000    0.000       0
+  0   1177 01:41:46.98   5.8000A   7.7593   5.5340   3.9099  0.250  0.99  -0.274    600.  0.122E+02  0.770E+00  0.148E-03  0.214E-05    8  27 109   10  49  51    2  54  81    0.000    0.000       0
+  0   1178 01:41:52.85   5.8700A   7.6716   5.6079   3.7952  0.250  1.02  -0.271    650.  0.122E+02  0.770E+00  0.150E-03  0.216E-05    8  27 109   10  48  50   19  42  57    0.000    0.000       0
+  0   1179 01:41:58.72   5.8700A   7.6669   5.6330   3.8782  0.250  1.02  -0.270    650.  0.122E+02  0.770E+00  0.150E-03  0.216E-05    9  28 113   10  48  50   19  42  57    0.000    0.000       0
+  0   1180 01:42:04.57   5.8500A   7.6916   5.5939   3.9581  0.250  1.02  -0.271    650.  0.122E+02  0.770E+00  0.149E-03  0.215E-05    9  28 114   10  49  51   19  42  57    0.000    0.000       0
+  0   1181 01:42:10.40   5.8300A   7.7171   5.5896   4.0185  0.250  0.90  -0.274    450.  0.122E+02  0.770E+00  0.149E-03  0.213E-05    9  28 115   10  49  51   19  42  57    0.000    0.000       0
+  0   1182 01:42:16.25   5.8500A   7.6866   5.5647   4.0492  0.250  0.90  -0.274    450.  0.122E+02  0.770E+00  0.150E-03  0.213E-05    9  28 115   10  49  51   19  42  57    0.000    0.000       0
+  0   1183 01:42:22.17   5.9200A   7.6021   5.5210   4.0465  0.250  0.90  -0.273    450.  0.122E+02  0.770E+00  0.151E-03  0.214E-05    9  28 116   10  49  51   19  42  57    0.000    0.000       0
+  0   1184 01:42:28.07   5.9000A   7.6276   5.4563   4.0129  0.250  0.90  -0.271    450.  0.122E+02  0.770E+00  0.151E-03  0.214E-05    8  28 117   10  49  51   19  42  57    0.000    0.000       0
+  0   1185 01:42:33.98   5.9100A   7.6177   5.4321   3.9622  0.250  0.90  -0.272    450.  0.122E+02  0.770E+00  0.151E-03  0.214E-05    9  29 116    8  48  49   19  42  57    0.000    0.000       0
+  0   1186 01:42:39.83   5.8500A   7.6893   5.4723   3.9025  0.250  0.90  -0.269    450.  0.122E+02  0.770E+00  0.150E-03  0.213E-05    9  29 116    8  49  49   19  42  57    0.000    0.000       0
+  0   1187 01:42:45.50   5.6700A   7.9386   5.4186   3.8503  0.251  0.90  -0.268    450.  0.122E+02  0.770E+00  0.145E-03  0.207E-05    9  29 117    8  49  49   19  42  57    0.000    0.000       0
+  0   1188 01:42:51.19   5.6900A   7.9144   5.4337   3.8212  0.251  0.90  -0.267    450.  0.122E+02  0.770E+00  0.146E-03  0.207E-05    9  29 117   10  48  50   19  42  57    0.000    0.000       0
+  0   1189 01:42:56.73   5.5400A   8.1213   5.4612   3.8151  0.251  0.90  -0.267    450.  0.122E+02  0.770E+00  0.143E-03  0.202E-05    9  29 118   10  48  50   19  42  57    0.000    0.000       0
+  0   1190 01:43:02.35   5.6200A   8.0110   5.4001   3.8462  0.251  0.90  -0.266    450.  0.122E+02  0.769E+00  0.145E-03  0.205E-05    9  29 118    8  51  50   19  42  57    0.000    0.000       0
+  0   1191 01:43:07.98   5.6300A   7.9890   5.3806   3.9061  0.251  0.90  -0.268    450.  0.122E+02  0.769E+00  0.145E-03  0.206E-05    9  29 119    8  51  50   19  42  57    0.000    0.000       0
+  0   1192 01:43:13.72   5.7400A   7.8369   5.4467   3.9957  0.251  1.02  -0.270    650.  0.122E+02  0.769E+00  0.147E-03  0.211E-05    9  29 119    9  51  51   19  42  57    0.000    0.000       0
+  0   1193 01:43:19.56   5.8400A   7.7025   5.5120   4.1016  0.251  1.02  -0.270    650.  0.122E+02  0.769E+00  0.150E-03  0.215E-05    9  29 123   11  48  52   19  42  57    0.000    0.000       0
+  0   1194 01:43:25.44   5.8800A   7.6504   5.6013   4.2106  0.251  1.02  -0.270    650.  0.122E+02  0.769E+00  0.151E-03  0.218E-05    4  29 107   11  48  52   19  42  57    0.000    0.000       0
+  0   1195 01:43:31.23   5.7900A   7.7704   5.5089   4.3074  0.251  1.02  -0.270    650.  0.122E+02  0.769E+00  0.148E-03  0.217E-05    9  30 120   11  48  52   19  42  57    0.000    0.000       0
+  0   1196 01:43:37.08   5.8500A   7.6910   5.7699   4.3817  0.251  1.02  -0.270    650.  0.122E+02  0.769E+00  0.150E-03  0.220E-05    9  30 121   11  49  52   19  42  57    0.000    0.000       0
+  0   1197 01:43:42.91   5.8300A   7.7164   5.8834   4.4230  0.251  1.02  -0.266    650.  0.122E+02  0.768E+00  0.150E-03  0.219E-05    9  30 121   11  49  52   19  42  57    0.000    0.000       0
+  0   1198 01:43:48.81   5.9000A   7.6332   5.7507   4.4385  0.251  1.02  -0.267    650.  0.122E+02  0.768E+00  0.151E-03  0.221E-05    9  30 122   11  49  52   19  42  57    0.000    0.000       0
+  0   1199 01:43:54.80   5.9900A   7.5186   5.4543   4.4307  0.251  1.02  -0.266    650.  0.122E+02  0.768E+00  0.153E-03  0.222E-05    9  30 122   11  49  52   19  42  57    0.000    0.000       0
+  0   1200 01:44:00.80   6.0000A   7.5014   5.1124   4.4095  0.251  1.02  -0.264    650.  0.122E+02  0.768E+00  0.153E-03  0.221E-05    3  30 112   11  49  52   19  42  57    0.000    0.000       0
+  0   1201 01:44:06.80   6.0000A   7.5031  -5.2247   4.3864  0.251  1.02  -0.267    650.  0.122E+02  0.768E+00  0.153E-03  0.219E-05    3  30 113   16  36  54   19  42  57    0.000    0.000       0
+  0   1202 01:44:12.79   5.9900A   7.5164  -5.2779   4.3663  0.251  1.02  -0.263    650.  0.122E+02  0.768E+00  0.153E-03  0.217E-05    3  30 113   16  36  54   19  42  57    0.000    0.000       0
+  0   1203 01:44:18.81   6.0200A   7.4755  -5.2521   4.3529  0.251  1.02  -0.263    650.  0.122E+02  0.768E+00  0.154E-03  0.216E-05    3  30 114   16  36  54   19  42  57    0.000    0.000       0
+  0   1204 01:44:24.90   6.0900A   7.3904  -5.1597   4.3485  0.251  1.02  -0.264    650.  0.122E+02  0.768E+00  0.155E-03  0.217E-05    3  30 115   16  36  54   19  42  57    0.000    0.000       0
+  0   1205 01:44:31.11   6.2100A   7.2499  -5.0259   4.3579  0.251  0.99  -0.264    600.  0.122E+02  0.768E+00  0.158E-03  0.220E-05    3  30 115   16  36  54   19  42  57    0.000    0.000       0
+  0   1206 01:44:37.09   5.9800A   7.5286  -4.8976   4.3858  0.251  0.99  -0.265    600.  0.122E+02  0.768E+00  0.153E-03  0.213E-05   16  43  90   17  36  55   19  42  57    0.000    0.000       0
+  0   1207 01:44:43.10   6.0100A   7.4864   4.9614   4.4407  0.251  0.99  -0.265    600.  0.122E+02  0.768E+00  0.153E-03  0.212E-05    3  31 119    1  76 154   19  42  57    0.000    0.000       0
+  0   1208 01:44:49.08   5.9800A   7.5250   5.1921   4.5046  0.251  0.99  -0.264    600.  0.122E+02  0.768E+00  0.153E-03  0.210E-05    3  31 120    1  77 154   19  42  57    0.000    0.000       0
+  0   1209 01:44:55.01   5.9300A   7.5869   5.2299   4.5717  0.251  0.99  -0.263    600.  0.122E+02  0.767E+00  0.151E-03  0.208E-05    3  31 120    1  77 154   19  42  57    0.000    0.000       0
+  0   1210 01:45:00.94   5.9300A   7.5842   5.0586   4.6273  0.251  0.99  -0.264    600.  0.122E+02  0.767E+00  0.151E-03  0.208E-05   11  27 125    1  78 154   19  42  57    0.000    0.000       0
+  0   1211 01:45:06.83   5.8900A   7.6396   5.0352   4.6551  0.251  1.02  -0.265    650.  0.122E+02  0.767E+00  0.150E-03  0.207E-05   11  27 125    1  78 154   19  42  57    0.000    0.000       0
+  0   1212 01:45:13.02   6.1900A   7.2706   5.3888   4.6450  0.251  1.02  -0.272    650.  0.122E+02  0.767E+00  0.157E-03  0.216E-05    3  32 122    1  78 155   19  42  57    0.000    0.000       0
+  0   1213 01:45:19.06   6.0400A   7.4485   5.2283   4.5749  0.251  1.04  -0.267    700.  0.122E+02  0.767E+00  0.153E-03  0.212E-05   16  43  94    1  78 155   19  42  57    0.000    0.000       0
+  0   1214 01:45:25.17   6.1100A   7.3704   5.2326   4.4734  0.251  1.04  -0.272    700.  0.122E+02  0.767E+00  0.155E-03  0.214E-05    3  32 123    1  79 155   19  42  57    0.000    0.000       0
+  0   1215 01:45:31.35   6.1800A   7.2802   5.2408   4.3927  0.251  1.04  -0.270    700.  0.122E+02  0.767E+00  0.157E-03  0.216E-05    6  28 118    1  79 156    5  39 112    0.000    0.000       0
+  0   1216 01:45:37.54   6.1900A   7.2717   5.3609   4.1644  0.251  0.93  -0.272    500.  0.122E+02  0.767E+00  0.157E-03  0.216E-05   11  28 128    1  79 156   19  42  57    0.000    0.000       0
+  0   1217 01:45:43.79   6.2500A   7.2020   5.1532   4.2806  0.251  0.93  -0.274    500.  0.122E+02  0.767E+00  0.158E-03  0.216E-05    6  28 119    1   0 156    5  39 113    0.000    0.000       0
+  0   1218 01:45:50.05   6.2600A   7.1936   5.0818   4.2108  0.251  0.93  -0.276    500.  0.122E+02  0.766E+00  0.158E-03  0.214E-05    2  32 126    1   0 156    5  39 113    0.000    0.000       0
+  0   1219 01:45:56.32   6.2700A   7.1756   5.1407   4.0979  0.251  1.04  -0.273    700.  0.122E+02  0.766E+00  0.158E-03  0.212E-05    3  31 119    1   0 157    5  41 111    0.000    0.000       0
+  0   1220 01:46:02.57   6.2500A   7.1956   5.0993   4.2942  0.251  1.02  -0.275    650.  0.122E+02  0.766E+00  0.158E-03  0.209E-05    3  31 120    1   1 157    5  41 111    0.000    0.000       0
+  0   1221 01:46:08.80   6.2300A   7.2175   5.1620   4.4639  0.251  1.02  -0.282    650.  0.122E+02  0.766E+00  0.157E-03  0.206E-05    3  31 120   13  75 140    6  40 111    0.000    0.000       0
+  0   1222 01:46:15.03   6.2300A   7.2185   5.2110   4.4172  0.251  1.02  -0.281    650.  0.122E+02  0.766E+00  0.157E-03  0.205E-05    3  31 121   13  75 140    5  41 112    0.000    0.000       0
+  0   1223 01:46:21.32   6.2900A   7.1528   5.0708   4.3707  0.251  1.02  -0.281    650.  0.122E+02  0.765E+00  0.158E-03  0.205E-05    3  31 122    1   2 158    6  40 112    0.000    0.000       0
+  0   1224 01:46:27.61   6.2900A   7.1588   4.9590   4.4968  0.251  1.02  -0.284    650.  0.122E+02  0.765E+00  0.158E-03  0.204E-05    3  31 122    1   2 158    6  40 112    0.000    0.000       0
+  0   1225 01:46:33.57   5.9600A   7.5480   4.8324   4.4325  0.251  1.02  -0.283    650.  0.122E+02  0.765E+00  0.150E-03  0.193E-05   16  40  95    1   2 159    6  41 113    0.000    0.000       0
+  0   1226 01:46:39.61   6.0400A   7.4459   5.0644   4.6637  0.251  1.02  -0.324    650.  0.122E+02  0.765E+00  0.152E-03  0.193E-05   16  45  82    1   3 159    6  41 113    0.000    0.000       0
+  0   1227 01:46:45.40   5.7900A   7.7665   4.9467   4.3155  0.251  1.02  -0.285    650.  0.122E+02  0.765E+00  0.146E-03  0.185E-05   16  40  96    1   3 159    6  41 113    0.000    0.000       0
+  0   1228 01:46:51.30   5.9000A   7.6217   4.9365   4.5289  0.251  1.02  -0.282    650.  0.122E+02  0.764E+00  0.148E-03  0.186E-05   16  40  97    2  50 131    6  41 114    0.000    0.000       0
+  0   1229 01:46:56.98   5.6800A   7.9171   5.0921   4.3051  0.251  1.02  -0.283    650.  0.122E+02  0.764E+00  0.143E-03  0.179E-05   16  40  97    1  50 131    6  41 114    0.000    0.000       0
+  0   1230 01:47:02.83   5.8500A   7.6933   5.1393   4.1453  0.251  1.02  -0.283    650.  0.122E+02  0.764E+00  0.147E-03  0.183E-05   16  40  98    1  50 131    6  42 108    0.000    0.000       0
+  0   1231 01:47:08.55   5.7200A   7.8722   5.3709   4.2616  0.251  1.02  -0.284    650.  0.122E+02  0.763E+00  0.144E-03  0.179E-05   16  40  98    1  51 131    6  42 108    0.000    0.000       0
+  0   1232 01:47:14.82   6.2700A   7.1786   5.3695   4.2498  0.251  1.04  -0.284    700.  0.122E+02  0.763E+00  0.157E-03  0.195E-05   16  47  91    1  51 131    6  42 108    0.000    0.000       0
+  0   1233 01:47:21.19   6.3700A   7.0671   5.0123   4.2498  0.251  1.04  -0.293    700.  0.122E+02  0.763E+00  0.159E-03  0.200E-05    3  33 126    1  51 131    7  41 115    0.000    0.000       0
+  0   1234 01:47:26.96   5.7700A   7.7952   5.1280   4.1774  0.251  1.04  -0.288    700.  0.122E+02  0.762E+00  0.145E-03  0.184E-05   16  39  99    1  51 132    7  41 116    0.000    0.000       0
+  0   1235 01:47:32.78   5.8200A   7.7297   5.4246   4.2536  0.251  1.04  -0.289    700.  0.122E+02  0.762E+00  0.146E-03  0.183E-05   16  39  99    1  52 132    7  41 116    0.000    0.000       0
+  0   1236 01:47:38.89   6.1100A   7.3690   5.5181   4.0402  0.251  0.99  -0.298    600.  0.122E+02  0.762E+00  0.153E-03  0.191E-05   16  39 100    1  52 132   19  42  57    0.000    0.000       0
+  0   1237 01:47:45.14   6.2500A   7.2046   5.6016   4.0132  0.251  0.99  -0.285    600.  0.122E+02  0.761E+00  0.156E-03  0.193E-05   16  60  74    1  53 132    7  42 109    0.000    0.000       0
+  0   1238 01:47:51.15   6.0100A   7.4876   5.5780   3.9582  0.251  0.99  -0.287    600.  0.122E+02  0.761E+00  0.151E-03  0.185E-05   16  39 101    1  53 132   19  42  57    0.000    0.000       0
+  0   1239 01:47:57.25   6.1000A   7.3783   5.2672   3.9939  0.251  0.99  -0.287    600.  0.122E+02  0.760E+00  0.152E-03  0.186E-05    3  34 131    1  53 132   19  43  58    0.000    0.000       0
+  0   1240 01:48:03.33   6.0800A   7.4071   5.1799   4.0231  0.251  0.99  -0.288    600.  0.122E+02  0.760E+00  0.152E-03  0.185E-05    3  34 132    1  54 132   19  43  58    0.000    0.000       0
+  0   1241 01:48:09.37   6.0400A   7.4519   5.2228   4.0148  0.251  0.99  -0.291    600.  0.122E+02  0.760E+00  0.151E-03  0.184E-05    3  34 132    1  54 133   19  43  58    0.000    0.000       0
+  0   1242 01:48:15.42   6.0500A   7.4330   5.3166   3.9680  0.251  0.99  -0.295    600.  0.122E+02  0.759E+00  0.151E-03  0.185E-05    3  34 133    1  54 133   19  43  58    0.000    0.000       0
+  0   1243 01:48:21.54   6.1200A   7.3561   5.2368   3.8803  0.251  1.02  -0.301    650.  0.122E+02  0.759E+00  0.153E-03  0.188E-05    3  34 134    1  54 133   19  43  58    0.000    0.000       0
+  0   1244 01:48:27.75   6.2100A   7.2512   5.3341   3.8769  0.251  1.02  -0.300    650.  0.122E+02  0.758E+00  0.155E-03  0.191E-05    3  34 134    1  55 133   19  42  57    0.000    0.000       0
+  0   1245 01:48:34.05   6.3000A   7.1473   5.2465   3.8912  0.251  1.02  -0.300    650.  0.122E+02  0.758E+00  0.157E-03  0.193E-05    3  34 135    1  55 133   19  42  57    0.000    0.000       0
+  0   1246 01:48:40.37   6.3200A   7.1221   5.0832   3.9234  0.251  1.02  -0.296    650.  0.122E+02  0.757E+00  0.157E-03  0.193E-05   16  47  82    2  49 142   19  42  57    0.000    0.000       0
+  0   1247 01:48:46.74   6.3700A   7.0617   5.0110   3.9767  0.251  1.02  -0.294    650.  0.122E+02  0.757E+00  0.158E-03  0.193E-05    3  35 136    2  49 142   19  42  57    0.000    0.000       0
+  0   1248 01:48:52.95   6.2100A   7.2411   5.0626   4.0457  0.251  0.96  -0.292    550.  0.122E+02  0.757E+00  0.155E-03  0.188E-05   16  47  84    2  50 142   19  42  57    0.000    0.000       0
+  0   1249 01:48:58.90   5.9500A   7.5626   5.0932   4.1242  0.251  0.96  -0.290    550.  0.122E+02  0.756E+00  0.149E-03  0.179E-05   16  47  84    3  50 144   19  42  57    0.000    0.000       0
+  0   1250 01:49:04.72   5.8200A   7.7365   5.0903   4.1959  0.251  0.96  -0.289    550.  0.122E+02  0.756E+00  0.145E-03  0.173E-05   17  39  97    2  50 143   19  42  57    0.000    0.000       0
+  0   1251 01:49:10.72   6.0000A   7.5038   5.2109   4.2440  0.251  0.96  -0.293    550.  0.122E+02  0.755E+00  0.149E-03  0.176E-05   17  39  97    3  51 144   19  42  57    0.000    0.000       0
+  0   1252 01:49:16.95   6.2300A   7.2277   5.2223   4.2542  0.251  1.02  -0.292    650.  0.122E+02  0.755E+00  0.155E-03  0.181E-05   16  47  85    2  51 143   19  42  57    0.000    0.000       0
+  0   1253 01:49:23.48   6.5300A   6.8952   5.3982   4.2263  0.251  1.02  -0.287    650.  0.122E+02  0.754E+00  0.161E-03  0.187E-05   17  39  98   13  68   8   19  42  57    0.000    0.000       0
+  0   1254 01:49:29.94   6.4600A   6.9641   5.3735   4.1604  0.251  1.02  -0.284    650.  0.122E+02  0.754E+00  0.160E-03  0.185E-05   18  27  13   13  68   8   19  42  57    0.000    0.000       0
+  0   1255 01:49:36.28   6.3400A   7.0926   5.1364   4.0838  0.251  1.02  -0.283    650.  0.122E+02  0.753E+00  0.157E-03  0.180E-05   17  45  79    2  52 144   19  42  57    0.000    0.000       0
+  0   1256 01:49:42.67   6.3900A   7.0470   5.1799   4.0029  0.251  1.02  -0.284    650.  0.122E+02  0.753E+00  0.158E-03  0.180E-05   17  45  79    2  52 144   19  42  57    0.000    0.000       0
+  0   1257 01:49:49.24   6.5700A   6.8479   5.0303   3.9189  0.251  1.02  -0.286    650.  0.122E+02  0.752E+00  0.162E-03  0.183E-05   19  77  92    3  53 145   19  42  57    0.000    0.000       0
+  0   1258 01:49:55.67   6.4300A   6.9949   5.1244   3.8381  0.251  1.02  -0.285    650.  0.122E+02  0.752E+00  0.159E-03  0.181E-05    3  63  90    2  53 144   19  42  57    0.000    0.000       0
+  0   1259 01:50:01.97   6.3000A   7.1433   5.3368   3.7795  0.251  1.02  -0.286    650.  0.122E+02  0.751E+00  0.156E-03  0.179E-05   14  47  95   13  70   9   19  42  57    0.000    0.000       0
+  0   1260 01:50:07.93   5.9600A   7.5452   5.0094   3.7324  0.251  1.02  -0.286    650.  0.122E+02  0.751E+00  0.148E-03  0.173E-05   14  47  96   13  70   9   19  42  57    0.000    0.000       0
+  0   1261 01:50:13.51   5.5800A   8.0664   5.0560   3.6989  0.251  1.02  -0.287    650.  0.122E+02  0.751E+00  0.140E-03  0.164E-05   14  47  96    2  54 145   19  42  57    0.000    0.000       0
+  0   1262 01:50:19.49   5.9800A   7.5221   5.0301   3.6874  0.251  0.99  -0.290    600.  0.122E+02  0.750E+00  0.149E-03  0.176E-05   14  47  96    2  54 145    5  62  85    0.000    0.000       0
+  0   1263 01:50:25.02   5.5300A   8.1310   5.1362   3.7042  0.251  0.99  -0.312    600.  0.122E+02  0.750E+00  0.138E-03  0.167E-05   14  47  97    4  56 147    5  62  85    0.000    0.000       0
+  0   1264 01:50:30.58   5.5600A   8.0927   5.1775   3.7162  0.251  0.99  -0.292    600.  0.122E+02  0.749E+00  0.139E-03  0.168E-05   14  47  97    4  56 147    5  62  86    0.000    0.000       0
+  0   1265 01:50:36.73   6.1500A   7.3142   5.0588   3.7490  0.251  0.99  -0.289    600.  0.122E+02  0.749E+00  0.153E-03  0.184E-05   14  47  98    4  56 147    5  62  86    0.000    0.000       0
+  0   1266 01:50:42.63   5.9000A   7.6262   5.1494   3.7717  0.251  0.99  -0.287    600.  0.122E+02  0.748E+00  0.147E-03  0.179E-05   14  47  98    4  57 147    5  62  86    0.000    0.000       0
+  0   1267 01:50:48.63   6.0000A   7.4968   5.1036   3.7490  0.251  0.99  -0.309    600.  0.122E+02  0.748E+00  0.149E-03  0.181E-05   14  47  99    4  57 147    5  62  86    0.000    0.000       0
+  0   1268 01:50:54.35   5.7200A   7.8698   4.9679   3.6631  0.251  0.99  -0.285    600.  0.122E+02  0.747E+00  0.143E-03  0.173E-05   14  47  99    4  57 148    5  62  86    0.000    0.000       0
+  0   1269 01:51:00.41   6.0600A   7.4286  -5.0718   3.6971  0.251  0.96  -0.285    550.  0.122E+02  0.747E+00  0.151E-03  0.180E-05   14  47 100   14  35  53    5  63  88    0.000    0.000       0
+  0   1270 01:51:05.90   5.4900A   8.1992  -5.1143   3.8183  0.251  0.96  -0.286    550.  0.122E+02  0.747E+00  0.138E-03  0.164E-05   14  47 100   14  35  53    5  63  88    0.000    0.000       0
+  0   1271 01:51:11.79   5.8900A   7.6365  -5.0881   3.8491  0.251  0.96  -0.285    550.  0.122E+02  0.746E+00  0.147E-03  0.173E-05   14  47 100   14  35  53    5  63  88    0.000    0.000       0
+  0   1272 01:51:17.81   6.0200A   7.4811  -5.0130   3.8088  0.251  0.96  -0.287    550.  0.122E+02  0.746E+00  0.150E-03  0.177E-05   14  47 101   14  35  53    5  63  88    0.000    0.000       0
+  0   1273 01:51:23.91   6.1000A   7.3791  -4.9294   3.8695  0.251  0.96  -0.286    550.  0.122E+02  0.745E+00  0.152E-03  0.180E-05   14  47 101   14  35  53    6  63  88    0.000    0.000       0
+  0   1274 01:51:30.34   6.4300A   6.9986  -4.8984   3.9270  0.251  0.96  -0.285    550.  0.122E+02  0.744E+00  0.159E-03  0.190E-05   14  47 102   15  36  54    6  63  88    0.000    0.000       0
+  0   1275 01:51:36.64   6.3000A   7.1484  -4.9041   3.9346  0.251  0.96  -0.289    550.  0.122E+02  0.744E+00  0.156E-03  0.189E-05   14  47 102   15  36  54    6  63  89    0.000    0.000       0
+  0   1276 01:51:43.04   6.4000A   7.0351  -4.8955   3.9838  0.251  0.96  -0.285    550.  0.122E+02  0.743E+00  0.159E-03  0.194E-05   15  25  83   15  36  54    6  63  89    0.000    0.000       0
+  0   1277 01:51:49.39   6.3500A   7.0912  -4.8500   3.9348  0.251  0.96  -0.282    550.  0.122E+02  0.743E+00  0.157E-03  0.195E-05   19  29 141   15  36  54    6  63  89    0.000    0.000       0
+  0   1278 01:51:55.70   6.3100A   7.1318  -4.7579   3.8925  0.251  0.96  -0.281    550.  0.122E+02  0.742E+00  0.156E-03  0.196E-05   15  50  68   15  36  54   19  42  57    0.000    0.000       0
+  0   1279 01:52:02.19   6.4900A   6.9321   4.9246   3.9516  0.251  0.96  -0.285    550.  0.122E+02  0.742E+00  0.160E-03  0.202E-05   16  46  79    1  45 150   19  42  57    0.000    0.000       0
+  0   1280 01:52:08.68   6.4900A   6.9361   4.9670   3.9898  0.250  0.96  -0.284    550.  0.122E+02  0.741E+00  0.160E-03  0.203E-05   17  24  39    1  45 151   19  42  57    0.000    0.000       0
+  0   1281 01:52:15.24   6.5600A   6.8646   5.0139   4.0072  0.250  0.96  -0.286    550.  0.122E+02  0.741E+00  0.162E-03  0.204E-05   19  29 143    1  46 151   19  42  57    0.000    0.000       0
+  0   1282 01:52:21.67   6.4300A   6.9983   4.8266   4.0012  0.250  0.96  -0.287    550.  0.122E+02  0.740E+00  0.159E-03  0.201E-05   14  26  88    1  46 151   19  42  57    0.000    0.000       0
+  0   1283 01:52:27.97   6.3000A   7.1452   4.9805   3.9879  0.250  0.96  -0.291    550.  0.122E+02  0.740E+00  0.156E-03  0.197E-05   14  26  88    1  47 152   19  42  57    0.000    0.000       0
+  0   1284 01:52:34.35   6.3800A   7.0485   4.9878   3.9751  0.250  0.96  -0.298    550.  0.122E+02  0.739E+00  0.157E-03  0.199E-05    1  13  74    1  47 152   19  42  57    0.000    0.000       0
+  0   1285 01:52:40.63   6.2800A   7.1620   5.0447   3.9632  0.250  0.99  -0.303    600.  0.122E+02  0.739E+00  0.155E-03  0.197E-05    1  13  75    1  48 153   19  42  57    0.000    0.000       0
+  0   1286 01:52:46.95   6.3200A   7.1150   5.1607   3.9626  0.250  0.99  -0.291    600.  0.122E+02  0.738E+00  0.156E-03  0.199E-05    1  13  76    1  48 153   19  42  57    0.000    0.000       0
+  0   1287 01:52:53.31   6.3600A   7.0739   4.9857   3.9627  0.250  0.99  -0.287    600.  0.122E+02  0.738E+00  0.157E-03  0.200E-05    1  13  76    1  48 154   19  42  57    0.000    0.000       0
+  0   1288 01:52:59.75   6.4400A   6.9898   5.2212   3.9611  0.250  0.99  -0.286    600.  0.122E+02  0.737E+00  0.158E-03  0.203E-05    1  13  77    1  49 154   19  42  57    0.000    0.000       0
+  0   1289 01:53:06.14   6.3900A   7.0432   5.0640   3.9551  0.250  0.99  -0.287    600.  0.122E+02  0.736E+00  0.157E-03  0.202E-05   15  49  92    1  49 154   19  42  57    0.000    0.000       0
+  0   1290 01:53:12.53   6.3900A   7.0410   5.0805   3.9525  0.250  0.99  -0.292    600.  0.122E+02  0.736E+00  0.157E-03  0.202E-05   20  30  82    1  50 155   19  42  57    0.000    0.000       0
+  0   1291 01:53:18.81   6.2800A   7.1679   5.1770   3.9570  0.250  0.99  -0.290    600.  0.122E+02  0.735E+00  0.154E-03  0.200E-05   20  30  82    1  50 155   19  42  57    0.000    0.000       0
+  0   1292 01:53:25.06   6.2500A   7.2037  -5.2241   3.9795  0.250  0.99  -0.284    600.  0.122E+02  0.735E+00  0.154E-03  0.198E-05   15  48  91   17  37  55   19  42  57    0.000    0.000       0
+  0   1293 01:53:31.45   6.3900A   7.0442   5.2616   4.0193  0.250  1.02  -0.282    650.  0.122E+02  0.734E+00  0.156E-03  0.202E-05   20  30  82    1  52 156   19  42  57    0.000    0.000       0
+  0   1294 01:53:37.86   6.4100A   7.0164   5.3920   4.0717  0.250  1.02  -0.282    650.  0.122E+02  0.733E+00  0.157E-03  0.203E-05   15  48  92    1  52 156   19  42  57    0.000    0.000       0
+  0   1295 01:53:44.24   6.3800A   7.0518   5.1509   4.1324  0.250  1.02  -0.282    650.  0.122E+02  0.733E+00  0.156E-03  0.202E-05   17  27   7    1  52 156   19  42  57    0.000    0.000       0
+  0   1296 01:53:50.39   6.1500A   7.3187   5.6028   4.1861  0.250  1.02  -0.282    650.  0.122E+02  0.732E+00  0.151E-03  0.195E-05   16  40 101    1  53 157   19  42  57    0.000    0.000       0
+  0   1297 01:53:56.37   5.9800A   7.5233   5.6447   4.2250  0.250  1.02  -0.282    650.  0.122E+02  0.732E+00  0.147E-03  0.190E-05   16  40 101    1  53 157   19  42  57    0.000    0.000       0
+  0   1298 01:54:02.39   6.0200A   7.4690   5.5889   4.2400  0.250  1.02  -0.281    650.  0.122E+02  0.731E+00  0.147E-03  0.190E-05   15  49  98    1  54 157   19  42  57    0.000    0.000       0
+  0   1299 01:54:08.44   6.0500A   7.4337   5.4782   4.2289  0.250  1.02  -0.281    650.  0.122E+02  0.731E+00  0.148E-03  0.192E-05   16  40 102    1  54 158   19  42  57    0.000    0.000       0
+  0   1300 01:54:14.46   6.0200A   7.4716   5.6386   4.2058  0.250  1.02  -0.284    650.  0.122E+02  0.730E+00  0.147E-03  0.192E-05   15  47  76    1  54 158   19  42  57    0.000    0.000       0
+  0   1301 01:54:20.60   6.1400A   7.3294   5.9361   4.1861  0.250  1.02  -0.279    650.  0.122E+02  0.729E+00  0.150E-03  0.196E-05   15  47  76    1  55 158   19  42  57    0.000    0.000       0
+  0   1302 01:54:27.00   6.4000A   7.0267   5.8073   4.1771  0.250  1.02  -0.278    650.  0.122E+02  0.729E+00  0.156E-03  0.204E-05   20  28  90    1  55 158   19  42  57    0.000    0.000       0
+  0   1303 01:54:33.41   6.4100A   7.0194   5.4982   4.1893  0.250  1.02  -0.279    650.  0.122E+02  0.728E+00  0.156E-03  0.206E-05   20  29  88    1  56 158   19  42  57    0.000    0.000       0
+  0   1304 01:54:39.54   6.1300A   7.3378   5.7313   4.2366  0.250  1.02  -0.278    650.  0.122E+02  0.727E+00  0.150E-03  0.199E-05   15  48 103    1  56 159   19  42  57    0.000    0.000       0
+  0   1305 01:54:45.88   6.3400A   7.1029   5.8318   4.3117  0.250  0.99  -0.279    600.  0.122E+02  0.727E+00  0.155E-03  0.206E-05   15  48 103    1  56 159   19  42  57    0.000    0.000       0
+  0   1306 01:54:51.98   6.1000A   7.3819   5.6586   4.3839  0.250  0.99  -0.279    600.  0.122E+02  0.726E+00  0.149E-03  0.200E-05   15  48 104    1  57 159   19  42  57    0.000    0.000       0
+  0   1307 01:54:58.12   6.1400A   7.3279   5.6248   4.4538  0.250  0.99  -0.279    600.  0.122E+02  0.726E+00  0.150E-03  0.201E-05   15  48 104    1  57 159   19  42  57    0.000    0.000       0
+  0   1308 01:55:04.44   6.3200A   7.1161   5.3001   4.4927  0.250  0.99  -0.282    600.  0.122E+02  0.725E+00  0.154E-03  0.207E-05   15  48 105    1  57   0   19  42  57    0.000    0.000       0
+  0   1309 01:55:10.69   6.2500A   7.1977   5.3266   4.4913  0.250  0.99  -0.281    600.  0.122E+02  0.724E+00  0.152E-03  0.206E-05   15  48 105    1  58   0   19  42  57    0.000    0.000       0
+  0   1310 01:55:17.01   6.3200A   7.1174   5.5255   4.4602  0.250  0.99  -0.283    600.  0.122E+02  0.724E+00  0.154E-03  0.209E-05   15  45  94    1  58   0   19  42  57    0.000    0.000       0
+  0   1311 01:55:23.37   6.3600A   7.0728   5.3488   4.3957  0.250  1.02  -0.284    650.  0.122E+02  0.723E+00  0.155E-03  0.212E-05   15  45  94    1  58   0   19  42  57    0.000    0.000       0
+  0   1312 01:55:29.88   6.5100A   6.9162   5.1850   4.3139  0.250  1.02  -0.285    650.  0.122E+02  0.723E+00  0.158E-03  0.217E-05   20  28  94    1  59   0   19  42  57    0.000    0.000       0
+  0   1313 01:55:35.92   6.0400A   7.4514   5.0532   4.2220  0.250  1.02  -0.284    650.  0.122E+02  0.722E+00  0.147E-03  0.204E-05   14  58  95    1  59   0   19  42  57    0.000    0.000       0
+  0   1314 01:55:42.05   6.1300A   7.3451   5.0378   4.1610  0.251  1.02  -0.289    650.  0.122E+02  0.722E+00  0.149E-03  0.206E-05   14  58  95    3  59   4   19  42  57    0.000    0.000       0
+  0   1315 01:55:48.43   6.3800A   7.0559   5.1700   4.0944  0.251  1.02  -0.283    650.  0.122E+02  0.721E+00  0.155E-03  0.213E-05   19  33  89    3  60   4   19  42  57    0.000    0.000       0
+  0   1316 01:55:54.92   6.4900A   6.9359   5.2521   4.0319  0.251  0.96  -0.280    550.  0.122E+02  0.721E+00  0.157E-03  0.216E-05   16  40 100    3  60   4   19  42  57    0.000    0.000       0
+  0   1317 01:56:01.42   6.5000A   6.9189   5.1252   3.9868  0.251  0.96  -0.281    550.  0.122E+02  0.720E+00  0.157E-03  0.217E-05   15  51  98    3  61   4   19  42  57    0.000    0.000       0
+  0   1318 01:56:07.89   6.4700A   6.9531   5.0798   3.9593  0.251  0.96  -0.285    550.  0.122E+02  0.720E+00  0.156E-03  0.215E-05   19  30  85    3  61   4   19  42  57    0.000    0.000       0
+  0   1319 01:56:14.26   6.3700A   7.0629   5.1379   3.9444  0.251  0.96  -0.281    550.  0.122E+02  0.719E+00  0.154E-03  0.212E-05   15  51  99    3  61   5   19  42  57    0.000    0.000       0
+  0   1320 01:56:20.60   6.3400A   7.0933   5.1980   3.9381  0.251  0.99  -0.278    600.  0.122E+02  0.719E+00  0.153E-03  0.210E-05   19  30  86    3  62   5   19  42  57    0.000    0.000       0
+  0   1321 01:56:26.96   6.3600A   7.0806   5.2345   3.9320  0.251  0.99  -0.277    600.  0.122E+02  0.718E+00  0.154E-03  0.210E-05   19  30  86    3  62   5   19  42  57    0.000    0.000       0
+  0   1322 01:56:33.38   6.4200A   7.0072   5.0822   3.9241  0.251  0.99  -0.276    600.  0.122E+02  0.718E+00  0.155E-03  0.213E-05   19  29  88    3  62   5   19  42  57    0.000    0.000       0
+  0   1323 01:56:39.65   6.2700A   7.1804   5.0726   3.9162  0.251  0.99  -0.278    600.  0.122E+02  0.718E+00  0.152E-03  0.210E-05   19  28  89    3  66   6   19  42  57    0.000    0.000       0
+  0   1324 01:56:45.91   6.2600A   7.1850   5.0895   3.9203  0.251  0.99  -0.280    600.  0.122E+02  0.717E+00  0.151E-03  0.211E-05   19  28  89    3  63   6   19  42  57    0.000    0.000       0
+  0   1325 01:56:52.05   6.1400A   7.3331   5.0659   3.9363  0.251  0.99  -0.279    600.  0.122E+02  0.717E+00  0.149E-03  0.210E-05   19  28  90    3  63   6   19  42  57    0.000    0.000       0
+  0   1326 01:56:58.17   6.1200A   7.3496   5.0152   3.9747  0.251  0.99  -0.277    600.  0.122E+02  0.717E+00  0.148E-03  0.212E-05   17  33 113    3  67   6   19  42  57    0.000    0.000       0
+  0   1327 01:57:04.37   6.2000A   7.2581   4.8445   4.0336  0.251  0.99  -0.279    600.  0.122E+02  0.717E+00  0.150E-03  0.217E-05   19  28  91    5  65  10   19  42  57    0.000    0.000       0
+  0   1328 01:57:10.48   6.1100A   7.3674   4.9651   4.1108  0.251  0.99  -0.279    600.  0.122E+02  0.716E+00  0.148E-03  0.216E-05   17  33 114    5  66  10   19  42  57    0.000    0.000       0
+  0   1329 01:57:16.71   6.2300A   7.2250   5.0622   4.2023  0.251  0.99  -0.279    600.  0.122E+02  0.716E+00  0.151E-03  0.221E-05   19  28  92    3  68   7   19  42  57    0.000    0.000       0
+  0   1330 01:57:22.91   6.2000A   7.2524   4.9736   4.2907  0.251  0.99  -0.278    600.  0.122E+02  0.716E+00  0.150E-03  0.220E-05   17  33 115    3  68   7   19  42  57    0.000    0.000       0
+  0   1331 01:57:29.27   6.3600A   7.0729   5.0097   4.3681  0.251  0.99  -0.278    600.  0.122E+02  0.716E+00  0.154E-03  0.225E-05   19  28  93    3  69   7   19  42  57    0.000    0.000       0
+  0   1332 01:57:35.52   6.2500A   7.1955   5.0620   4.4159  0.251  0.99  -0.278    600.  0.122E+02  0.715E+00  0.151E-03  0.222E-05   15  51 111    3  53   2   19  42  57    0.000    0.000       0
+  0   1333 01:57:41.91   6.3900A   7.0377   4.9571   4.4361  0.251  0.99  -0.278    600.  0.122E+02  0.715E+00  0.154E-03  0.226E-05   19  28  94    3  53   3   19  42  57    0.000    0.000       0
+  0   1334 01:57:48.23   6.3200A   7.1229   4.9169   4.4133  0.251  0.99  -0.278    600.  0.122E+02  0.715E+00  0.152E-03  0.224E-05   19  26  96    3  53   3   19  42  57    0.000    0.000       0
+  0   1335 01:57:54.67   6.4400A   6.9839   5.0233   4.3624  0.251  0.99  -0.280    600.  0.122E+02  0.715E+00  0.155E-03  0.227E-05   19  26  97    3  70   8   19  42  57    0.000    0.000       0
+  0   1336 01:58:00.87   6.2000A   7.2604   4.9366   4.2778  0.251  0.99  -0.282    600.  0.122E+02  0.715E+00  0.149E-03  0.220E-05   19  26  97    3  54   4   19  42  57    0.000    0.000       0
+  0   1337 01:58:07.24   6.3700A   7.0603   4.9132   4.1891  0.251  0.99  -0.284    600.  0.122E+02  0.714E+00  0.153E-03  0.226E-05   19  26  97    3  54   4   19  42  57    0.000    0.000       0
+  0   1338 01:58:13.44   6.2000A   7.2526   4.8170   4.0774  0.251  0.90  -0.283    450.  0.122E+02  0.714E+00  0.149E-03  0.221E-05   19  26  98    3  55   4   19  42  57    0.000    0.000       0
+  0   1339 01:58:19.80   6.3600A   7.0721   4.8077   3.9791  0.251  1.02  -0.285    650.  0.122E+02  0.714E+00  0.152E-03  0.226E-05   19  26  98    1  46  11   19  42  57    0.000    0.000       0
+  0   1340 01:58:26.04   6.2400A   7.2159   4.8616   3.8803  0.251  1.02  -0.298    650.  0.122E+02  0.714E+00  0.150E-03  0.222E-05   19  26  99    1  46  12   19  42  57    0.000    0.000       0
+  0   1341 01:58:32.39   6.3500A   7.0825   4.8363   3.8072  0.251  1.02  -0.287    650.  0.122E+02  0.714E+00  0.152E-03  0.225E-05   17  45  85    1  47  12   19  42  57    0.000    0.000       0
+  0   1342 01:58:38.65   6.2600A   7.1896   4.9520   3.7463  0.251  1.02  -0.284    650.  0.122E+02  0.713E+00  0.150E-03  0.221E-05   19  26 100    1  47  12   19  42  57    0.000    0.000       0
+  0   1343 01:58:44.97   6.3200A   7.1226   4.9880   3.7096  0.251  1.02  -0.282    650.  0.122E+02  0.713E+00  0.151E-03  0.223E-05   15  51 117    1  47  13   19  42  57    0.000    0.000       0
+  0   1344 01:58:51.48   6.5100A   6.9095   5.0260   3.6845  0.251  1.02  -0.280    650.  0.122E+02  0.713E+00  0.155E-03  0.230E-05   15  51 132    2  48  13   19  42  57    0.000    0.000       0
+  0   1345 01:58:57.73   6.2500A   7.1944   5.0664   3.6660  0.251  1.02  -0.279    650.  0.122E+02  0.713E+00  0.150E-03  0.222E-05   15  51 132    1  48  13   19  42  57    0.000    0.000       0
+  0   1346 01:59:04.30   6.5700A   6.8447   4.9350   3.6643  0.251  1.02  -0.280    650.  0.122E+02  0.712E+00  0.156E-03  0.232E-05   19  20 152    2  48  14   19  42  57    0.000    0.000       0
+  0   1347 01:59:10.75   6.4500A   6.9742   5.1556   3.6487  0.251  0.99  -0.278    600.  0.122E+02  0.712E+00  0.154E-03  0.230E-05   19  24 105    2  49  14   19  42  57    0.000    0.000       0
+  0   1348 01:59:17.14   6.3900A   7.0368   5.0315   3.7670  0.251  0.99  -0.277    600.  0.122E+02  0.712E+00  0.152E-03  0.228E-05   19  20 154    1  49  14    5  63  96    0.000    0.000       0
+  0   1349 01:59:23.51   6.3700A   7.0695   4.9556   3.8300  0.251  0.99  -0.276    600.  0.122E+02  0.711E+00  0.152E-03  0.227E-05   19  20 154    2  49  15    5  62  96    0.000    0.000       0
+  0   1350 01:59:30.06   6.5500A   6.8699   5.0033   3.7852  0.251  0.99  -0.274    600.  0.122E+02  0.711E+00  0.155E-03  0.232E-05   16  51 148    2  50  15    5  62  96    0.000    0.000       0
+  0   1351 01:59:36.63   6.5700A   6.8443   4.9665   3.7779  0.251  0.99  -0.277    600.  0.122E+02  0.711E+00  0.156E-03  0.232E-05   19  24 107    1  50  15    5  61  96    0.000    0.000       0
+  0   1352 01:59:43.19   6.5600A   6.8636   4.8562   3.7088  0.251  0.99  -0.273    600.  0.122E+02  0.710E+00  0.155E-03  0.232E-05   19  24 107   12  47  52    5  61  96    0.000    0.000       0
+  0   1353 01:59:49.80   6.6100A   6.8075   4.9490   3.6419  0.251  0.99  -0.271    600.  0.122E+02  0.710E+00  0.157E-03  0.233E-05   19  12  48    1  51  16   19  42  57    0.000    0.000       0
+  0   1354 01:59:56.41   6.6100A   6.8072   5.0149   3.6951  0.251  0.99  -0.271    600.  0.122E+02  0.710E+00  0.157E-03  0.234E-05   15  53 124    1  51  16   19  42  57    0.000    0.000       0
+  0   1355 02:00:03.12   6.7100A   6.7073   4.9840   3.7727  0.251  0.99  -0.271    600.  0.122E+02  0.709E+00  0.159E-03  0.238E-05   19  25  25    1  52  16   19  42  57    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_topo
===================================================================
--- palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_topo	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/mountain/example_mountain_topo	(revision 393)
@@ -0,0 +1,81 @@
+
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   50.79   51.17   50.79    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   52.32   56.78   60.71   63.95   66.37   67.86   68.37   67.86   66.37   63.95   60.71   56.78   52.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.94   62.54   68.88   74.75   79.92   84.19   87.37   89.34   90.01   89.34   87.37   84.19   79.92   74.75   68.88   62.54   55.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.53   63.95   72.56   81.11   89.34   96.95  103.66  109.19  113.33  115.88  116.75  115.88  113.33  109.19  103.66   96.95   89.34   81.11   72.56   63.95   55.53    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   51.17   60.71   70.96   81.72   92.72  103.66  114.17  123.90  132.47  139.54  144.83  148.09  149.20  148.09  144.83  139.54  132.47  123.90  114.17  103.66   92.72   81.72   70.96   60.71   51.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   53.50   64.42   76.43   89.34  102.89  116.75  130.52  143.75  156.00  166.79  175.70  182.35  186.46  187.85  186.46  182.35  175.70  166.79  156.00  143.75  130.52  116.75  102.89   89.34   76.43   64.42   53.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   54.30   66.37   79.92   94.82  110.83  127.64  144.83  161.90  178.33  193.52  206.90  217.95  226.20  231.30  233.03  231.30  226.20  217.95  206.90  193.52  178.33  161.90  144.83  127.64  110.83   94.82   79.92   66.37   54.30    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   53.50   66.37   81.11   97.68  115.88  135.46  156.00  177.01  197.88  217.95  236.52  252.88  266.38  276.46  282.70  284.81  282.70  276.46  266.38  252.88  236.52  217.95  197.88  177.01  156.00  135.46  115.88   97.68   81.11   66.37   53.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   51.17   64.42   79.92   97.68  117.62  139.54  163.11  187.85  213.15  238.28  262.45  284.81  304.51  320.77  332.91  340.42  342.96  340.42  332.91  320.77  304.51  284.81  262.45  238.28  213.15  187.85  163.11  139.54  117.62   97.68   79.92   64.42   51.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   60.71   76.43   94.82  115.88  139.54  165.55  193.52  222.87  252.88  282.70  311.37  337.90  361.27  380.56  394.97  403.87  406.88  403.87  394.97  380.56  361.27  337.90  311.37  282.70  252.88  222.87  193.52  165.55  139.54  115.88   94.82   76.43   60.71    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.53   70.96   89.34  110.83  135.46  163.11  193.52  226.20  260.51  295.59  330.45  363.96  394.97  422.29  444.84  461.68  472.09  475.61  472.09  461.68  444.84  422.29  394.97  363.96  330.45  295.59  260.51  226.20  193.52  163.11  135.46  110.83   89.34   70.96   55.53    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   63.95   81.72  102.89  127.64  156.00  187.85  222.87  260.51  300.01  340.42  380.56  419.16  454.87  486.33  512.30  531.69  543.68  547.74  543.68  531.69  512.30  486.33  454.87  419.16  380.56  340.42  300.01  260.51  222.87  187.85  156.00  127.64  102.89   81.72   63.95    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.94   72.56   92.72  116.75  144.83  177.01  213.15  252.88  295.59  340.42  386.26  431.81  475.61  516.12  551.82  581.29  603.29  616.90  621.50  616.90  603.29  581.29  551.82  516.12  475.61  431.81  386.26  340.42  295.59  252.88  213.15  177.01  144.83  116.75   92.72   72.56   55.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   62.54   81.11  103.66  130.52  161.90  197.88  238.28  282.70  330.45  380.56  431.81  482.73  531.69  576.98  616.90  649.84  674.44  689.64  694.79  689.64  674.44  649.84  616.90  576.98  531.69  482.73  431.81  380.56  330.45  282.70  238.28  197.88  161.90  130.52  103.66   81.11   62.54    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   52.32   68.88   89.34  114.17  143.75  178.33  217.95  262.45  311.37  363.96  419.16  475.61  531.69  585.62  635.51  679.47  715.75  742.85  759.59  765.26  759.59  742.85  715.75  679.47  635.51  585.62  531.69  475.61  419.16  363.96  311.37  262.45  217.95  178.33  143.75  114.17   89.34   68.88   52.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   56.78   74.75   96.95  123.90  156.00  193.52  236.52  284.81  337.90  394.97  454.87  516.12  576.98  635.51  689.64  737.35  776.72  806.12  824.30  830.45  824.30  806.12  776.72  737.35  689.64  635.51  576.98  516.12  454.87  394.97  337.90  284.81  236.52  193.52  156.00  123.90   96.95   74.75   56.78    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   60.71   79.92  103.66  132.47  166.79  206.90  252.88  304.51  361.27  422.29  486.33  551.82  616.90  679.47  737.35  788.35  830.45  861.89  881.32  887.89  881.32  861.89  830.45  788.35  737.35  679.47  616.90  551.82  486.33  422.29  361.27  304.51  252.88  206.90  166.79  132.47  103.66   79.92   60.71    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   63.95   84.19  109.19  139.54  175.70  217.95  266.38  320.77  380.56  444.84  512.30  581.29  649.84  715.75  776.72  830.45  874.79  907.91  928.38  935.30  928.38  907.91  874.79  830.45  776.72  715.75  649.84  581.29  512.30  444.84  380.56  320.77  266.38  217.95  175.70  139.54  109.19   84.19   63.95    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   66.37   87.37  113.33  144.83  182.35  226.20  276.46  332.91  394.97  461.68  531.69  603.29  674.44  742.85  806.12  861.89  907.91  942.28  963.52  970.71  963.52  942.28  907.91  861.89  806.12  742.85  674.44  603.29  531.69  461.68  394.97  332.91  276.46  226.20  182.35  144.83  113.33   87.37   66.37    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   50.79   67.86   89.34  115.88  148.09  186.46  231.30  282.70  340.42  403.87  472.09  543.68  616.90  689.64  759.59  824.30  881.32  928.38  963.52  985.25  992.60  985.25  963.52  928.38  881.32  824.30  759.59  689.64  616.90  543.68  472.09  403.87  340.42  282.70  231.30  186.46  148.09  115.88   89.34   67.86   50.79    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   51.17   68.37   90.01  116.75  149.20  187.85  233.03  284.81  342.96  406.88  475.61  547.74  621.50  694.79  765.26  830.45  887.89  935.30  970.71  992.60 1000.00  992.60  970.71  935.30  887.89  830.45  765.26  694.79  621.50  547.74  475.61  406.88  342.96  284.81  233.03  187.85  149.20  116.75   90.01   68.37   51.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   50.79   67.86   89.34  115.88  148.09  186.46  231.30  282.70  340.42  403.87  472.09  543.68  616.90  689.64  759.59  824.30  881.32  928.38  963.52  985.25  992.60  985.25  963.52  928.38  881.32  824.30  759.59  689.64  616.90  543.68  472.09  403.87  340.42  282.70  231.30  186.46  148.09  115.88   89.34   67.86   50.79    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   66.37   87.37  113.33  144.83  182.35  226.20  276.46  332.91  394.97  461.68  531.69  603.29  674.44  742.85  806.12  861.89  907.91  942.28  963.52  970.71  963.52  942.28  907.91  861.89  806.12  742.85  674.44  603.29  531.69  461.68  394.97  332.91  276.46  226.20  182.35  144.83  113.33   87.37   66.37    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   63.95   84.19  109.19  139.54  175.70  217.95  266.38  320.77  380.56  444.84  512.30  581.29  649.84  715.75  776.72  830.45  874.79  907.91  928.38  935.30  928.38  907.91  874.79  830.45  776.72  715.75  649.84  581.29  512.30  444.84  380.56  320.77  266.38  217.95  175.70  139.54  109.19   84.19   63.95    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   60.71   79.92  103.66  132.47  166.79  206.90  252.88  304.51  361.27  422.29  486.33  551.82  616.90  679.47  737.35  788.35  830.45  861.89  881.32  887.89  881.32  861.89  830.45  788.35  737.35  679.47  616.90  551.82  486.33  422.29  361.27  304.51  252.88  206.90  166.79  132.47  103.66   79.92   60.71    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   56.78   74.75   96.95  123.90  156.00  193.52  236.52  284.81  337.90  394.97  454.87  516.12  576.98  635.51  689.64  737.35  776.72  806.12  824.30  830.45  824.30  806.12  776.72  737.35  689.64  635.51  576.98  516.12  454.87  394.97  337.90  284.81  236.52  193.52  156.00  123.90   96.95   74.75   56.78    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   52.32   68.88   89.34  114.17  143.75  178.33  217.95  262.45  311.37  363.96  419.16  475.61  531.69  585.62  635.51  679.47  715.75  742.85  759.59  765.26  759.59  742.85  715.75  679.47  635.51  585.62  531.69  475.61  419.16  363.96  311.37  262.45  217.95  178.33  143.75  114.17   89.34   68.88   52.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   62.54   81.11  103.66  130.52  161.90  197.88  238.28  282.70  330.45  380.56  431.81  482.73  531.69  576.98  616.90  649.84  674.44  689.64  694.79  689.64  674.44  649.84  616.90  576.98  531.69  482.73  431.81  380.56  330.45  282.70  238.28  197.88  161.90  130.52  103.66   81.11   62.54    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.94   72.56   92.72  116.75  144.83  177.01  213.15  252.88  295.59  340.42  386.26  431.81  475.61  516.12  551.82  581.29  603.29  616.90  621.50  616.90  603.29  581.29  551.82  516.12  475.61  431.81  386.26  340.42  295.59  252.88  213.15  177.01  144.83  116.75   92.72   72.56   55.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   63.95   81.72  102.89  127.64  156.00  187.85  222.87  260.51  300.01  340.42  380.56  419.16  454.87  486.33  512.30  531.69  543.68  547.74  543.68  531.69  512.30  486.33  454.87  419.16  380.56  340.42  300.01  260.51  222.87  187.85  156.00  127.64  102.89   81.72   63.95    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.53   70.96   89.34  110.83  135.46  163.11  193.52  226.20  260.51  295.59  330.45  363.96  394.97  422.29  444.84  461.68  472.09  475.61  472.09  461.68  444.84  422.29  394.97  363.96  330.45  295.59  260.51  226.20  193.52  163.11  135.46  110.83   89.34   70.96   55.53    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   60.71   76.43   94.82  115.88  139.54  165.55  193.52  222.87  252.88  282.70  311.37  337.90  361.27  380.56  394.97  403.87  406.88  403.87  394.97  380.56  361.27  337.90  311.37  282.70  252.88  222.87  193.52  165.55  139.54  115.88   94.82   76.43   60.71    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   51.17   64.42   79.92   97.68  117.62  139.54  163.11  187.85  213.15  238.28  262.45  284.81  304.51  320.77  332.91  340.42  342.96  340.42  332.91  320.77  304.51  284.81  262.45  238.28  213.15  187.85  163.11  139.54  117.62   97.68   79.92   64.42   51.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   53.50   66.37   81.11   97.68  115.88  135.46  156.00  177.01  197.88  217.95  236.52  252.88  266.38  276.46  282.70  284.81  282.70  276.46  266.38  252.88  236.52  217.95  197.88  177.01  156.00  135.46  115.88   97.68   81.11   66.37   53.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   54.30   66.37   79.92   94.82  110.83  127.64  144.83  161.90  178.33  193.52  206.90  217.95  226.20  231.30  233.03  231.30  226.20  217.95  206.90  193.52  178.33  161.90  144.83  127.64  110.83   94.82   79.92   66.37   54.30    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   53.50   64.42   76.43   89.34  102.89  116.75  130.52  143.75  156.00  166.79  175.70  182.35  186.46  187.85  186.46  182.35  175.70  166.79  156.00  143.75  130.52  116.75  102.89   89.34   76.43   64.42   53.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   51.17   60.71   70.96   81.72   92.72  103.66  114.17  123.90  132.47  139.54  144.83  148.09  149.20  148.09  144.83  139.54  132.47  123.90  114.17  103.66   92.72   81.72   70.96   60.71   51.17    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.53   63.95   72.56   81.11   89.34   96.95  103.66  109.19  113.33  115.88  116.75  115.88  113.33  109.19  103.66   96.95   89.34   81.11   72.56   63.95   55.53    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   55.94   62.54   68.88   74.75   79.92   84.19   87.37   89.34   90.01   89.34   87.37   84.19   79.92   74.75   68.88   62.54   55.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   52.32   56.78   60.71   63.95   66.37   67.86   68.37   67.86   66.37   63.95   60.71   56.78   52.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   50.79   51.17   50.79    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
+    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
Index: palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_p3d
===================================================================
--- palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_p3d	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_p3d	(revision 393)
@@ -0,0 +1,48 @@
+ &inipar nx = 39, ny = 39, nz = 40,
+         dx = 2.0, dy = 2.0, dz = 2.0,
+
+         fft_method = 'temperton-algorithm',   ! fast, but restrictions apply
+
+         omega = 0.0,                          ! no Coriolis force
+         conserve_volume_flow = .T.,           ! maintain constant bulk velocity
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 1.0, vg_surface = 0.0,   ! implies bulk velocity 1 m/s
+         roughness_length = 0.1,               ! applies to all surfaces locally
+
+         bc_pt_b = 'neumann',
+         bc_uv_t = 'dirichlet_0',              ! channel flow boundary condition
+
+         topography = 'read_from_file',
+         topography_grid_convention = 'cell_center',  ! default
+
+         surface_heatflux = 0.0,               ! strictly neutral simulation
+         wall_heatflux = 0.0, 0.0, 0.0, 0.0, 0.0,  /
+
+ &d3par  end_time                  =   7200.0,
+         termination_time_needed   =    900.0,
+
+         create_disturbances = .T.,
+
+         netcdf_64bit = .F., netcdf_64bit_3d = .F.,
+
+         dt_run_control            =      6.0,
+         dt_dots                   =      6.0,
+
+         skip_time_dopr            =      0.0,
+         dt_dopr                   =   3600.0,
+         averaging_interval_pr     =   3600.0,
+         dt_averaging_input_pr     =      6.0,
+
+         skip_time_data_output     =      0.0,
+         dt_data_output            =   3600.0,
+
+         averaging_interval        =   3600.0,
+         dt_averaging_input        =      6.0,
+
+         data_output_pr = '#u', 'w"u"', 'w*u*', 'wu', 'u*2', 
+                          '#v', 'w"v"', 'w*v*', 'wv', 'v*2',
+                          'w', 'w*2', 'e', 'e*', '#km', '#l',
+
+         data_output = 'u',       'v',       'w',
+                       'u_av',    'v_av',    'w_av',  /
Index: palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_rc
===================================================================
--- palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_rc	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_rc	(revision 393)
@@ -0,0 +1,1404 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.6  Rev: 244      *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              26-02-09         Run:       example_topo_file   
+ Time:              23:10:45         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            2         Processor grid (x,y): (  1,  2) calculated
+                                     A 1d-decomposition along y is used
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ --> Volume flow at the right and north boundary will be conserved
+     using the initial_profiles mode
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:          7200.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =      2.000 m    dy =      2.000 m    dz =      2.000 m
+ Domain size:       x =     80.000 m     y =     80.000 m  z(u) =     81.000 m
+
+ Number of gridpoints (x,y,z):  (0:  39, 0:  39, 0:  41)
+ Subdomain size (x,y,z):        (    40,     20,     42)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: read_from_file                          
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = 0                     | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.000000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =   1.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: u, w"u", w*u*, wu, u*2, v, w"v", w*v*, wv, v*2, w, w*2,      
+
+              : e, e*, km, l,                                                
+       Output every              3600.00 s
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+
+    3D-Arrays:
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    3D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       Arrays:  u, v, w,                                                             
+       Output every              3600.00 s  
+       Time averaged over        3600.00 s
+       Averaging input every        6.00 s
+       Upper output limit at       81.00 m  (GP   41)
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 6.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.000E+00 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000000 1/s
+                            f*    =  0.000000 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            1.00    1.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0  m
+       Temperature:   300.00  300.00  K
+       Gradient:      ------    0.00  K/100m
+       Gridpoint:          0       0
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   ****** s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :     5.00 m (GP    3)
+    Upper disturbance level         :    25.00 m (GP   13)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ ##############################################################################
+
+ User-defined variables and actions:
+ -----------------------------------
+
+
+ Topography grid definition convention:
+
+ cell center (scalar grid points)
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00   1.1800A   1.5209D -0.8116D -0.6272  0.000  0.00   0.000      0.  0.505E+00  0.279E-01  0.000E+00  0.000E+00    6  30  16    6  30  30   21  19  30    0.000    0.000       0
+  0      7 00:00:06.00   0.8230A   2.1872   1.8264   1.6576  0.075  0.00   0.000      0.  0.614E+00  0.650E-01  0.104E-02  0.291E-03    4  30  32   11  30   9   20  19   9    0.000    0.000       0
+  0     14 00:00:12.33   0.8950A   2.0118   1.7933   1.6229  0.078  0.00   0.000      0.  0.625E+00  0.737E-01  0.135E-02  0.311E-03   11  30  32    3  30   9   20  19   9    0.000    0.000       0
+  0     21 00:00:18.90   0.9310A   1.9336   1.7645   1.5593  0.082  0.00   0.000      0.  0.637E+00  0.826E-01  0.150E-02  0.297E-03   12  31  33    3  30   9   20  20   9    0.000    0.000       0
+  0     27 00:00:24.59   0.9770A   1.8430   1.6985   1.5343  0.084  0.00   0.000      0.  0.645E+00  0.889E-01  0.159E-02  0.299E-03    4  31  36    3  31   9   20  13   9    0.000    0.000       0
+  0     33 00:00:30.42   0.9870A   1.8246  -1.5734   1.5070  0.086  0.00   0.000      0.  0.653E+00  0.942E-01  0.151E-02  0.284E-03    3  30  37    3   9   9   20  26   9    0.000    0.000       0
+  0     39 00:00:36.42   0.9960A   1.8068  -1.6124   1.4638  0.086  0.00   0.000      0.  0.661E+00  0.987E-01  0.144E-02  0.267E-03    4  31  38    3   9   9   20  26   9    0.000    0.000       0
+  0     45 00:00:42.53   1.0200A   1.7618  -1.4645   1.4585  0.086  0.00   0.000      0.  0.667E+00  0.102E+00  0.140E-02  0.263E-03   12  33  19   19  10   9   20  11   9    0.000    0.000       0
+  0     51 00:00:48.60   1.0100A   1.7747  -1.4919   1.5427  0.087  0.00   0.000      0.  0.673E+00  0.105E+00  0.131E-02  0.248E-03    7   5  17   19  10   9   20  11   9    0.000    0.000       0
+  0     57 00:00:54.70   1.0300A   1.7497   1.4694   1.5475  0.087  0.00   0.000      0.  0.678E+00  0.108E+00  0.123E-02  0.237E-03    4   7  22   19  30   9   20  28   9    0.000    0.000       0
+  0     63 00:01:01.01   1.0700A   1.6811   1.2630   1.2985  0.087  0.00   0.000      0.  0.683E+00  0.110E+00  0.115E-02  0.205E-03    9  34  29   19  30   9   20  28   9    0.000    0.000       0
+  0     68 00:01:06.35   1.0700A   1.6808   1.0956  -1.0998  0.088  0.00   0.000      0.  0.687E+00  0.111E+00  0.105E-02  0.157E-03    9  34  34   19  30   9   10  11   9    0.000    0.000       0
+  0     74 00:01:12.66   1.0400A   1.7240  -0.8687  -1.1172  0.089  0.00   0.000      0.  0.690E+00  0.111E+00  0.923E-03  0.115E-03   10  33   0    3   7  38    9  27   9    0.000    0.000       0
+  0     80 00:01:18.74   1.0000A   1.7923  -0.7672  -1.1427  0.091  0.00   0.000      0.  0.691E+00  0.110E+00  0.831E-03  0.917E-04   10  34   3    3   5   1    9  27   9    0.000    0.000       0
+  0     86 00:01:24.78   1.0100A   1.7807  -0.7965  -1.1125  0.093  0.00   0.000      0.  0.692E+00  0.109E+00  0.834E-03  0.885E-04    8   5   7    7  11   1    8  13   9    0.000    0.000       0
+  0     92 00:01:30.76   0.9870A   1.8231   0.7923  -1.1065  0.095  0.00   0.000      0.  0.694E+00  0.108E+00  0.856E-03  0.961E-04    8   5  10    3  30   7    8  26   9    0.000    0.000       0
+  0     98 00:01:36.71   0.9980A   1.8035   0.8773  -1.1034  0.098  0.00   0.000      0.  0.695E+00  0.107E+00  0.913E-03  0.109E-03    8   3  12    3  30   7   11  19   8    0.000    0.000       0
+  0    104 00:01:42.73   1.0100A   1.7896  -0.9904  -1.1293  0.100  0.00   0.000      0.  0.697E+00  0.106E+00  0.926E-03  0.117E-03    9   2  10    2  10   9    9  20   8    0.000    0.000       0
+  0    110 00:01:48.69   0.9910A   1.8156  -1.1679  -1.1262  0.102  0.00   0.000      0.  0.699E+00  0.106E+00  0.909E-03  0.126E-03    9   2  13    2   8   9    9  13   8    0.000    0.000       0
+  0    116 00:01:54.66   1.0000A   1.7991  -1.3114  -1.1178  0.104  0.00   0.000      0.  0.701E+00  0.105E+00  0.948E-03  0.129E-03   10   3  14    1   8   9    7  13   8    0.000    0.000       0
+  0    122 00:02:00.58   0.9860A   1.8263   1.1571  -1.1324  0.104  0.00   0.000      0.  0.703E+00  0.105E+00  0.957E-03  0.116E-03   11   3  17    1  32   9    7  12   9    0.000    0.000       0
+  0    128 00:02:06.54   0.9970A   1.8050   1.3235  -1.1098  0.102  0.00   0.000      0.  0.705E+00  0.104E+00  0.988E-03  0.105E-03   11  36  19    9  13   9    6  12   9    0.000    0.000       0
+  0    134 00:02:12.53   1.0000A   1.7912   1.4762  -1.0953  0.100  0.00   0.000      0.  0.706E+00  0.104E+00  0.101E-02  0.104E-03   11  36  22   10  15   9    6  13   9    0.000    0.000       0
+  0    140 00:02:18.59   1.0200A   1.7722   1.4469  -1.1100  0.098  0.00   0.000      0.  0.707E+00  0.103E+00  0.108E-02  0.105E-03   11  36  26   10  17   9    5  14   9    0.000    0.000       0
+  0    146 00:02:24.60   0.9980A   1.8029   1.4725  -1.0470  0.097  0.00   0.000      0.  0.708E+00  0.104E+00  0.111E-02  0.105E-03   12   7  15    9  17   8    3  20   9    0.000    0.000       0
+  0    152 00:02:30.40   0.9330A   1.9302  -1.2789  -1.1176  0.096  0.00   0.000      0.  0.710E+00  0.104E+00  0.107E-02  0.102E-03    8   6  27    8  25   9    5  20   8    0.000    0.000       0
+  0    158 00:02:36.10   0.9660A   1.8625  -1.2717   1.2075  0.095  0.00   0.000      0.  0.711E+00  0.104E+00  0.110E-02  0.967E-04    8   6  30    8  25   9   20  19   9    0.000    0.000       0
+  0    165 00:02:42.91   0.9850A   1.8268   1.1448   1.2813  0.093  0.00   0.000      0.  0.711E+00  0.103E+00  0.111E-02  0.883E-04   13  31  31    8  15   5   21  20   9    0.000    0.000       0
+  0    171 00:02:48.74   0.9750A   1.8466  -1.1214   1.1441  0.092  0.00   0.000      0.  0.712E+00  0.103E+00  0.111E-02  0.781E-04   13  31  34    7  24   8   22  20   9    0.000    0.000       0
+  0    177 00:02:54.55   0.9630A   1.8689   1.0016   1.0119  0.092  0.00   0.000      0.  0.711E+00  0.101E+00  0.111E-02  0.721E-04    9   7  34    8  17   6   21  20   9    0.000    0.000       0
+  0    183 00:03:00.36   0.9740A   1.8488   1.0104   1.0121  0.093  0.00   0.000      0.  0.711E+00  0.100E+00  0.113E-02  0.811E-04   12  31  36   10  17   4    6  19  30    0.000    0.000       0
+  0    190 00:03:06.90   0.9330A   1.9288   0.9550  -1.0825  0.094  0.00   0.000      0.  0.712E+00  0.999E-01  0.112E-02  0.945E-04   20   8  39    8  16   7    3  29   9    0.000    0.000       0
+  0    196 00:03:12.25   0.8760A   2.0557   1.0636  -1.1241  0.094  0.00   0.000      0.  0.714E+00  0.100E+00  0.106E-02  0.103E-03   20   8   3    7  16   8    3  28   9    0.000    0.000       0
+  0    203 00:03:18.37   0.8830A   2.0384   1.0361  -1.0399  0.094  0.00   0.000      0.  0.717E+00  0.101E+00  0.110E-02  0.107E-03   20   8   6    7  17   8    5  28   9    0.000    0.000       0
+  0    210 00:03:24.55   0.8870A   2.0290   1.2231  -1.0549  0.093  0.00   0.000      0.  0.719E+00  0.102E+00  0.110E-02  0.941E-04   20   8  10   10  13   9    4  28   9    0.000    0.000       0
+  0    217 00:03:30.82   0.8980A   2.0055  -1.3136   0.9809  0.092  0.00   0.000      0.  0.720E+00  0.103E+00  0.111E-02  0.890E-04   20   8  14   11  24   9   16  27   9    0.000    0.000       0
+  0    223 00:03:36.31   0.8930A   2.0153  -1.3077   0.9552  0.091  0.00   0.000      0.  0.721E+00  0.103E+00  0.109E-02  0.812E-04   22  29   5   11  23   9   17  27   9    0.000    0.000       0
+  0    230 00:03:42.60   0.9220A   1.9514  -1.1783   0.8952  0.089  0.00   0.000      0.  0.720E+00  0.102E+00  0.109E-02  0.748E-04   31  19  12   10  22   9   22  19   7    0.000    0.000       0
+  0    236 00:03:48.12   0.9220A   1.9518  -1.0792   1.1106  0.087  0.00   0.000      0.  0.719E+00  0.101E+00  0.108E-02  0.696E-04   32  20  15    8  23   9   20  24   9    0.000    0.000       0
+  0    243 00:03:54.53   0.9260A   1.9436  -1.1137   1.0717  0.085  0.00   0.000      0.  0.717E+00  0.990E-01  0.107E-02  0.658E-04   32  20  20    7  23   9   22  19   9    0.000    0.000       0
+  0    249 00:04:00.02   0.9170A   1.9635  -1.1427   1.1461  0.083  0.00   0.000      0.  0.716E+00  0.979E-01  0.108E-02  0.773E-04   22  31  17    6  24   8   23  19   9    0.000    0.000       0
+  0    256 00:04:06.39   0.9240A   1.9491  -1.0332   0.9676  0.083  0.00   0.000      0.  0.716E+00  0.974E-01  0.109E-02  0.815E-04   22  31  22    6  22   8   24  19   9    0.000    0.000       0
+  0    263 00:04:12.90   0.9320A   1.9310   0.9579   0.8895  0.083  0.00   0.000      0.  0.716E+00  0.972E-01  0.110E-02  0.813E-04   24  15  19    6  24   4   20  21   9    0.000    0.000       0
+  0    269 00:04:18.44   0.9040A   1.9902  -0.9274  -0.8377  0.084  0.00   0.000      0.  0.718E+00  0.975E-01  0.108E-02  0.833E-04   22   8  27   21  19   8    6  29   9    0.000    0.000       0
+  0    276 00:04:24.87   0.9250A   1.9469  -0.8820  -0.9397  0.085  0.00   0.000      0.  0.720E+00  0.982E-01  0.112E-02  0.874E-04    8   6  21   20  19   7    6  28   9    0.000    0.000       0
+  0    282 00:04:30.34   0.9090A   1.9797   0.8880  -1.0201  0.086  0.00   0.000      0.  0.723E+00  0.990E-01  0.112E-02  0.868E-04   32  21   7    9  30   9    5  28   9    0.000    0.000       0
+  0    289 00:04:36.71   0.9100A   1.9773   1.0045   1.1859  0.087  0.00   0.000      0.  0.725E+00  0.997E-01  0.113E-02  0.830E-04   15  34  20   14  13   9   18  29   9    0.000    0.000       0
+  0    295 00:04:42.16   0.9030A   1.9933   1.1270   1.1756  0.086  0.00   0.000      0.  0.726E+00  0.996E-01  0.113E-02  0.791E-04   16  35  22   14  14   9   20  28   9    0.000    0.000       0
+  0    302 00:04:48.40   0.8800A   2.0457  -1.1387   1.2128  0.085  0.00   0.000      0.  0.726E+00  0.989E-01  0.108E-02  0.759E-04   15  34  29   14  26   9   21  27   9    0.000    0.000       0
+  0    309 00:04:54.59   0.8910A   2.0210  -1.0281   1.1055  0.084  0.00   0.000      0.  0.725E+00  0.976E-01  0.109E-02  0.788E-04   15  34  34   14  25   9   21  26   9    0.000    0.000       0
+  0    316 00:05:00.91   0.9180A   1.9598  -0.9201   1.1449  0.083  0.00   0.000      0.  0.724E+00  0.959E-01  0.110E-02  0.829E-04   23  14  13    8  24   9   20  25   9    0.000    0.000       0
+  0    322 00:05:06.36   0.9020A   1.9959  -0.8442  -0.9110  0.084  0.00   0.000      0.  0.722E+00  0.945E-01  0.107E-02  0.818E-04   20  33  19    7  24   9   16  25   7    0.000    0.000       0
+  0    329 00:05:12.60   0.8800A   2.0466   0.8335  -0.9469  0.086  0.00   0.000      0.  0.722E+00  0.932E-01  0.101E-02  0.794E-04   24  33  33   11  30   9   15  22   9    0.000    0.000       0
+  0    336 00:05:18.77   0.8790A   2.0471   0.8579  -1.0573  0.088  0.00   0.000      0.  0.721E+00  0.920E-01  0.968E-03  0.701E-04   24  33  38   20  21   8   16  16   9    0.000    0.000       0
+  0    342 00:05:24.12   0.8990A   2.0030  -0.7671  -1.0337  0.090  0.00   0.000      0.  0.721E+00  0.911E-01  0.969E-03  0.693E-04   24  33   2   18  27   7   15  16   9    0.000    0.000       0
+  0    349 00:05:30.49   0.8980A   2.0048  -0.8518  -1.0058  0.091  0.00   0.000      0.  0.722E+00  0.901E-01  0.961E-03  0.672E-04   24  24  22   20  20   8   15  19   9    0.000    0.000       0
+  0    356 00:05:36.74   0.8870A   2.0303   0.8225   1.1779  0.091  0.00   0.000      0.  0.722E+00  0.893E-01  0.933E-03  0.622E-04   24  24  26   17  10   4   20  10   9    0.000    0.000       0
+  0    362 00:05:42.12   0.9070A   1.9847  -0.9229   1.2811  0.090  0.00   0.000      0.  0.723E+00  0.887E-01  0.962E-03  0.677E-04   24  24  29   18  26   9   20  10   9    0.000    0.000       0
+  0    369 00:05:48.47   0.9050A   1.9880  -1.1147   1.2656  0.089  0.00   0.000      0.  0.724E+00  0.884E-01  0.972E-03  0.774E-04   21  34  11   16  27   9   20  12   9    0.000    0.000       0
+  0    376 00:05:54.70   0.8790A   2.0478  -1.1890  -1.0301  0.087  0.00   0.000      0.  0.726E+00  0.883E-01  0.939E-03  0.716E-04   21  34  16   15  27   9   10  18   8    0.000    0.000       0
+  0    383 00:06:00.84   0.8720A   2.0644  -1.2075  -1.0146  0.086  0.00   0.000      0.  0.727E+00  0.879E-01  0.918E-03  0.619E-04   19  31  35   12  25   9    8  18   8    0.000    0.000       0
+  0    389 00:06:06.06   0.8700A   2.0686  -1.1291  -1.0088  0.086  0.00   0.000      0.  0.727E+00  0.871E-01  0.912E-03  0.586E-04   24  10   4   11  27   9    7  18   8    0.000    0.000       0
+  0    396 00:06:12.08   0.8730A   2.0609  -1.1382  -0.9867  0.086  0.00   0.000      0.  0.727E+00  0.857E-01  0.909E-03  0.614E-04   24  10   8   11  26   9   14  10   8    0.000    0.000       0
+  0    403 00:06:18.18   0.8790A   2.0466  -1.0595  -1.1122  0.087  0.00   0.000      0.  0.726E+00  0.843E-01  0.920E-03  0.653E-04   30  26  24   10  24   9    8  17   7    0.000    0.000       0
+  0    410 00:06:24.20   0.8510A   2.1154  -0.9164  -1.1200  0.089  0.00   0.000      0.  0.725E+00  0.828E-01  0.870E-03  0.552E-04   30  26  29   11  23   9    6  17   6    0.000    0.000       0
+  0    417 00:06:30.25   0.8690A   2.0716  -0.8061  -1.1039  0.090  0.00   0.000      0.  0.723E+00  0.810E-01  0.861E-03  0.513E-04   30  25  33    5  24   9   17  23   9    0.000    0.000       0
+  0    424 00:06:36.29   0.8680A   2.0730  -0.7543  -1.1642  0.089  0.00   0.000      0.  0.722E+00  0.794E-01  0.846E-03  0.538E-04   30  25  39    5  22   9   16  23   9    0.000    0.000       0
+  0    431 00:06:42.40   0.8920A   2.0177   0.7067  -1.0211  0.089  0.00   0.000      0.  0.721E+00  0.781E-01  0.852E-03  0.561E-04   30  25   4   11  19   3   15  20   9    0.000    0.000       0
+  0    438 00:06:48.62   0.8810A   2.0427   0.7647   1.0313  0.089  0.00   0.000      0.  0.720E+00  0.772E-01  0.831E-03  0.560E-04   30  28   6   19  13   9   20  12   9    0.000    0.000       0
+  0    445 00:06:54.76   0.8750A   2.0571   0.8148   1.0120  0.088  0.00   0.000      0.  0.720E+00  0.767E-01  0.816E-03  0.604E-04   30  28  11   19  14   9   20  12   9    0.000    0.000       0
+  0    451 00:07:00.01   0.8770A   2.0523   0.8653   1.0328  0.087  0.00   0.000      0.  0.721E+00  0.768E-01  0.828E-03  0.687E-04   30  28  16   16  14   9   20  12   9    0.000    0.000       0
+  0    458 00:07:06.16   0.8820A   2.0404   1.1442   1.0136  0.085  0.00   0.000      0.  0.722E+00  0.774E-01  0.862E-03  0.753E-04   25  10  13   12  13   9   20  12   9    0.000    0.000       0
+  0    465 00:07:12.31   0.8610A   2.0898   1.2405  -0.9829  0.083  0.00   0.000      0.  0.724E+00  0.781E-01  0.871E-03  0.799E-04   27  33  27   11  14   9    8  12   9    0.000    0.000       0
+  0    472 00:07:18.28   0.8460A   2.1289   1.1750   1.0537  0.081  0.00   0.000      0.  0.727E+00  0.786E-01  0.868E-03  0.796E-04   27  33  32   12  17   9   20  28   9    0.000    0.000       0
+  0    479 00:07:24.20   0.8500A   2.1175   1.0697   1.0005  0.080  0.00   0.000      0.  0.728E+00  0.788E-01  0.874E-03  0.768E-04   27  33  37   12  17   9   20  24   9    0.000    0.000       0
+  0    486 00:07:30.22   0.8630A   2.0857  -1.0376   0.9582  0.078  0.00   0.000      0.  0.729E+00  0.785E-01  0.863E-03  0.704E-04   26  14  32   10  25   9   21  24   9    0.000    0.000       0
+  0    493 00:07:36.17   0.8500A   2.1173  -1.0624  -0.9263  0.077  0.00   0.000      0.  0.730E+00  0.778E-01  0.836E-03  0.645E-04   28  33   7   10  27   9   16  18   9    0.000    0.000       0
+  0    500 00:07:42.09   0.8500A   2.1166  -1.0402  -1.0297  0.076  0.00   0.000      0.  0.729E+00  0.769E-01  0.805E-03  0.531E-04   28  33  12    9  26   9   15  19   9    0.000    0.000       0
+  0    507 00:07:48.08   0.8630A   2.0859  -0.8907  -1.1279  0.077  0.00   0.000      0.  0.729E+00  0.757E-01  0.806E-03  0.550E-04   28  33  17    8  24   9   15  20   9    0.000    0.000       0
+  0    514 00:07:54.09   0.8530A   2.1100   0.8969  -1.0444  0.078  0.00   0.000      0.  0.729E+00  0.748E-01  0.799E-03  0.602E-04   24  31  14   20  31   9   13  20   9    0.000    0.000       0
+  0    522 00:08:00.73   0.8140A   2.2103   0.7705  -0.9519  0.079  0.00   0.000      0.  0.729E+00  0.740E-01  0.754E-03  0.537E-04   24  31  18    7  14   9   16  23   9    0.000    0.000       0
+  0    529 00:08:06.48   0.8210A   2.1912   0.7562  -0.9281  0.080  0.00   0.000      0.  0.729E+00  0.734E-01  0.744E-03  0.492E-04   24  31  22   20  12   8   17  14   9    0.000    0.000       0
+  0    536 00:08:12.32   0.8370A   2.1515   0.7702  -0.8423  0.080  0.00   0.000      0.  0.729E+00  0.730E-01  0.744E-03  0.466E-04   24  31  27    7  14   9   15  14   9    0.000    0.000       0
+  0    543 00:08:18.18   0.8300A   2.1677   0.7248  -0.8234  0.079  0.00   0.000      0.  0.730E+00  0.729E-01  0.736E-03  0.494E-04   22   7   9    7  15   9    8  20   5    0.000    0.000       0
+  0    551 00:08:24.79   0.8340A   2.1590   0.8336  -0.8038  0.078  0.00   0.000      0.  0.730E+00  0.730E-01  0.748E-03  0.509E-04   22   7  14   16  12   9    8  22   6    0.000    0.000       0
+  0    558 00:08:30.65   0.8400A   2.1425   1.0575  -0.9136  0.077  0.00   0.000      0.  0.731E+00  0.732E-01  0.759E-03  0.516E-04   30  32  14   18  13   9    7  22   5    0.000    0.000       0
+  0    565 00:08:36.53   0.8420A   2.1366   1.0099   0.8078  0.075  0.00   0.000      0.  0.732E+00  0.733E-01  0.756E-03  0.501E-04   30  32  19   17  14   9   20  26   9    0.000    0.000       0
+  0    572 00:08:42.42   0.8340A   2.1586   0.9470  -1.0016  0.074  0.00   0.000      0.  0.733E+00  0.733E-01  0.753E-03  0.477E-04   21   7  28   16  15   9    7  29   8    0.000    0.000       0
+  0    579 00:08:48.22   0.8330A   2.1603   0.8792  -1.0365  0.073  0.00   0.000      0.  0.733E+00  0.731E-01  0.763E-03  0.481E-04   21   7  33   15  13   9    6  28   8    0.000    0.000       0
+  0    586 00:08:54.02   0.8300A   2.1690   1.0399  -0.9574  0.072  0.00   0.000      0.  0.733E+00  0.728E-01  0.767E-03  0.506E-04   21   7  38   14  14   9    5  27   8    0.000    0.000       0
+  0    594 00:09:00.84   0.8570A   2.1012   1.0385  -0.8851  0.072  0.00   0.000      0.  0.732E+00  0.724E-01  0.810E-03  0.584E-04   27   4   3   15  15   9    3  26   8    0.000    0.000       0
+  0    601 00:09:06.78   0.8440A   2.1327   0.9675  -0.8080  0.073  0.00   0.000      0.  0.732E+00  0.722E-01  0.820E-03  0.610E-04   20   7   8   15  16   9    2  25   8    0.000    0.000       0
+  0    608 00:09:12.67   0.8460A   2.1274   0.9602   0.8408  0.074  0.00   0.000      0.  0.733E+00  0.720E-01  0.836E-03  0.611E-04   20   7  13   19  30   9   20  15   9    0.000    0.000       0
+  0    615 00:09:18.59   0.8430A   2.1346   0.8979  -0.9760  0.076  0.00   0.000      0.  0.733E+00  0.719E-01  0.833E-03  0.584E-04   25  14   0   18  30   9   17  25   9    0.000    0.000       0
+  0    622 00:09:24.54   0.8520A   2.1118   0.8386  -0.9244  0.078  0.00   0.000      0.  0.734E+00  0.719E-01  0.832E-03  0.558E-04   26   4  23   17  30   9   16  24   9    0.000    0.000       0
+  0    629 00:09:30.49   0.8480A   2.1224  -0.9546  -0.8779  0.080  0.00   0.000      0.  0.735E+00  0.721E-01  0.818E-03  0.539E-04   34  30  27   20  25   6    8  13   9    0.000    0.000       0
+  0    636 00:09:36.41   0.8440A   2.1330   0.8358  -0.9248  0.080  0.00   0.000      0.  0.736E+00  0.724E-01  0.804E-03  0.536E-04   32  28  31   13  16   9    7  13   9    0.000    0.000       0
+  0    643 00:09:42.33   0.8440A   2.1331   0.8981  -0.8754  0.080  0.00   0.000      0.  0.738E+00  0.726E-01  0.790E-03  0.488E-04   26  30  20    9  10   8    6  13   9    0.000    0.000       0
+  0    650 00:09:48.25   0.8440A   2.1321   0.9465   0.8950  0.079  0.00   0.000      0.  0.738E+00  0.725E-01  0.785E-03  0.494E-04   27  33  31   10  14   9   20  27   9    0.000    0.000       0
+  0    657 00:09:54.16   0.8430A   2.1342   0.9186  -0.9106  0.078  0.00   0.000      0.  0.738E+00  0.723E-01  0.796E-03  0.559E-04   33  28   7    9  15   9    8  26   9    0.000    0.000       0
+  0    665 00:10:00.78   0.8270A   2.1772  -0.8437  -0.9434  0.076  0.00   0.000      0.  0.739E+00  0.723E-01  0.795E-03  0.612E-04   21  32   1   16  26   9    7  26   9    0.000    0.000       0
+  0    672 00:10:06.58   0.8380A   2.1479  -0.8665  -0.9613  0.075  0.00   0.000      0.  0.740E+00  0.724E-01  0.811E-03  0.603E-04   33  28  18   13  25   9    6  26   9    0.000    0.000       0
+  0    679 00:10:12.45   0.8370A   2.1507  -0.9222  -0.9835  0.074  0.00   0.000      0.  0.740E+00  0.722E-01  0.807E-03  0.543E-04   27  32  11    8  27   9    5  26   9    0.000    0.000       0
+  0    686 00:10:18.35   0.8430A   2.1365  -0.9222  -0.9580  0.074  0.00   0.000      0.  0.740E+00  0.718E-01  0.793E-03  0.505E-04   29  25  28    7  26   9    5  26   9    0.000    0.000       0
+  0    693 00:10:24.11   0.8100A   2.2209  -0.8439  -0.8790  0.074  0.00   0.000      0.  0.740E+00  0.714E-01  0.761E-03  0.534E-04   26  32  20    7  26   9    4  25   9    0.000    0.000       0
+  0    701 00:10:30.66   0.8290A   2.1709   0.8248  -0.8057  0.074  0.00   0.000      0.  0.741E+00  0.714E-01  0.764E-03  0.517E-04   26  32  25    2  27   5    4  26   9    0.000    0.000       0
+  0    708 00:10:36.51   0.8350A   2.1558   0.8015  -0.7587  0.074  0.00   0.000      0.  0.741E+00  0.715E-01  0.763E-03  0.496E-04   22  31  34    2  28   5    7  20   4    0.000    0.000       0
+  0    715 00:10:42.36   0.8420A   2.1381   0.7880  -0.7989  0.074  0.00   0.000      0.  0.741E+00  0.718E-01  0.772E-03  0.542E-04   27   3  18    2  29   4    6  20   3    0.000    0.000       0
+  0    722 00:10:48.18   0.8320A   2.1630  -1.0540  -0.8132  0.075  0.00   0.000      0.  0.742E+00  0.721E-01  0.764E-03  0.517E-04   22  31   4   21  26   8    5  20   3    0.000    0.000       0
+  0    729 00:10:54.05   0.8420A   2.1390  -1.1146   0.8466  0.075  0.00   0.000      0.  0.742E+00  0.722E-01  0.772E-03  0.473E-04   28   2   5   20  26   8   20  29   9    0.000    0.000       0
+  0    737 00:11:00.74   0.8370A   2.1512  -1.2212   0.8961  0.074  0.00   0.000      0.  0.742E+00  0.722E-01  0.772E-03  0.489E-04   28   2  11   20  23   8   20  29   9    0.000    0.000       0
+  0    744 00:11:06.58   0.8340A   2.1592  -0.8758  -0.8155  0.073  0.00   0.000      0.  0.742E+00  0.721E-01  0.764E-03  0.480E-04   28   2  16   18  28   9   16  20   9    0.000    0.000       0
+  0    751 00:11:12.42   0.8320A   2.1640  -0.9177  -0.7904  0.072  0.00   0.000      0.  0.741E+00  0.721E-01  0.759E-03  0.477E-04   29   0  19   17  27   9   15  20   9    0.000    0.000       0
+  0    758 00:11:18.24   0.8320A   2.1647  -0.8705  -0.7529  0.070  0.00   0.000      0.  0.741E+00  0.722E-01  0.767E-03  0.521E-04   29   0  24   17  26   9   14  20   9    0.000    0.000       0
+  0    765 00:11:24.05   0.8300A   2.1682  -0.8827   0.8452  0.069  0.00   0.000      0.  0.742E+00  0.726E-01  0.785E-03  0.587E-04   29   0  30   16  25   9   20  13   9    0.000    0.000       0
+  0    773 00:11:30.68   0.8300A   2.1697  -0.9005   0.9224  0.068  0.00   0.000      0.  0.743E+00  0.735E-01  0.804E-03  0.650E-04   29   0  36   16  24   9   20  14   9    0.000    0.000       0
+  0    780 00:11:36.49   0.8290A   2.1712  -0.9261   0.8045  0.068  0.00   0.000      0.  0.744E+00  0.743E-01  0.809E-03  0.665E-04   29   0   1   15  24   9   20  23   9    0.000    0.000       0
+  0    787 00:11:42.31   0.8310A   2.1653  -0.9725   0.8492  0.068  0.00   0.000      0.  0.745E+00  0.752E-01  0.815E-03  0.664E-04   29   0   6   14  23   9   20  22   9    0.000    0.000       0
+  0    794 00:11:48.12   0.8300A   2.1692  -0.9505   0.9672  0.069  0.00   0.000      0.  0.746E+00  0.758E-01  0.803E-03  0.605E-04   29   0  12   14  24   8   20  23   9    0.000    0.000       0
+  0    802 00:11:54.74   0.8270A   2.1765  -1.0024   0.9383  0.070  0.00   0.000      0.  0.747E+00  0.763E-01  0.805E-03  0.584E-04   27   1  19   15  24   9   20  21   9    0.000    0.000       0
+  0    809 00:12:00.50   0.8200A   2.1955  -0.9669  -1.0407  0.071  0.00   0.000      0.  0.748E+00  0.766E-01  0.798E-03  0.564E-04   27   1  25   10  24   9   17  17   9    0.000    0.000       0
+  0    816 00:12:06.23   0.8160A   2.2062  -1.0016  -0.8611  0.072  0.00   0.000      0.  0.748E+00  0.767E-01  0.791E-03  0.530E-04   27   1  30   13  25   9   17  16   9    0.000    0.000       0
+  0    824 00:12:12.77   0.8180A   2.2010  -0.9426  -0.7532  0.074  0.00   0.000      0.  0.748E+00  0.767E-01  0.795E-03  0.500E-04   27   1  36   11  24   9   16  15   9    0.000    0.000       0
+  0    831 00:12:18.53   0.8260A   2.1781   0.9353   0.7945  0.075  0.00   0.000      0.  0.749E+00  0.766E-01  0.796E-03  0.501E-04   27   1   1   11  13   9   20  11   9    0.000    0.000       0
+  0    838 00:12:24.34   0.8310A   2.1672   0.9558   0.8236  0.074  0.00   0.000      0.  0.749E+00  0.766E-01  0.794E-03  0.508E-04   21  31  34   11  14   9   20  11   9    0.000    0.000       0
+  0    845 00:12:30.16   0.8340A   2.1585   0.8517   0.8798  0.074  0.00   0.000      0.  0.749E+00  0.764E-01  0.784E-03  0.505E-04   28  37   7   11  16   9   21  11   9    0.000    0.000       0
+  0    853 00:12:36.82   0.8330A   2.1617  -0.8148   0.7863  0.075  0.00   0.000      0.  0.749E+00  0.762E-01  0.770E-03  0.477E-04   31  29   0   15  26   9   21  11   9    0.000    0.000       0
+  0    860 00:12:42.64   0.8230A   2.1874  -0.8745  -0.7563  0.075  0.00   0.000      0.  0.748E+00  0.756E-01  0.741E-03  0.403E-04   23   2   3   13  26   9   10  28   9    0.000    0.000       0
+  0    867 00:12:48.27   0.7920A   2.2714  -0.8956  -0.7637  0.075  0.00   0.000      0.  0.747E+00  0.749E-01  0.700E-03  0.375E-04   23   2   8   13  25   9   10  27   9    0.000    0.000       0
+  0    875 00:12:54.65   0.8020A   2.2441  -0.8883  -0.7734  0.075  0.00   0.000      0.  0.746E+00  0.743E-01  0.707E-03  0.398E-04   23   2  13   13  24   9    8  27   9    0.000    0.000       0
+  0    882 00:13:00.30   0.8130A   2.2144  -0.8236  -0.7710  0.075  0.00   0.000      0.  0.746E+00  0.740E-01  0.724E-03  0.448E-04   36  28  26   13  23   9    8  27   9    0.000    0.000       0
+  0    890 00:13:06.69   0.8060A   2.2333  -0.7396  -0.8070  0.076  0.00   0.000      0.  0.746E+00  0.742E-01  0.738E-03  0.491E-04   26   1  12   13  23   9   13  17   8    0.000    0.000       0
+  0    897 00:13:12.27   0.7860A   2.2911   0.7894  -0.8228  0.076  0.00   0.000      0.  0.747E+00  0.745E-01  0.728E-03  0.493E-04   29  25  38   20  20   8   12  17   8    0.000    0.000       0
+  0    905 00:13:18.53   0.7830A   2.2979  -0.7260  -0.8332  0.076  0.00   0.000      0.  0.747E+00  0.750E-01  0.726E-03  0.474E-04   29  25   4   13  25   9   17  15   9    0.000    0.000       0
+  0    912 00:13:24.12   0.8010A   2.2477  -0.7166  -0.8832  0.075  0.00   0.000      0.  0.747E+00  0.754E-01  0.753E-03  0.493E-04   29  24   8   13  24   9   16  16   9    0.000    0.000       0
+  0    920 00:13:30.42   0.7840A   2.2968   0.7945   0.9155  0.074  0.00   0.000      0.  0.748E+00  0.761E-01  0.749E-03  0.510E-04   29  24  14   13  13   9   20  11   9    0.000    0.000       0
+  0    928 00:13:36.72   0.7910A   2.2768   0.9208  -0.8562  0.074  0.00   0.000      0.  0.749E+00  0.767E-01  0.755E-03  0.498E-04   29  26  18   13  14   9   10  16   7    0.000    0.000       0
+  0    935 00:13:42.27   0.7900A   2.2799   0.8927   0.9182  0.074  0.00   0.000      0.  0.749E+00  0.771E-01  0.753E-03  0.469E-04   24   1  10   12  15   9   20  12   9    0.000    0.000       0
+  0    943 00:13:48.61   0.7870A   2.2868  -0.8795   0.8218  0.074  0.00   0.000      0.  0.749E+00  0.774E-01  0.745E-03  0.435E-04   29  25  28   12  25   9   20  13   9    0.000    0.000       0
+  0    950 00:13:54.06   0.7760A   2.3188  -0.8252  -0.8486  0.073  0.00   0.000      0.  0.749E+00  0.776E-01  0.729E-03  0.438E-04   23   1  20   12  24   9    8  17   9    0.000    0.000       0
+  0    958 00:14:00.31   0.7850A   2.2916  -0.7855  -0.8553  0.073  0.00   0.000      0.  0.748E+00  0.776E-01  0.744E-03  0.452E-04   23   1  25   20  10   9    7  17   9    0.000    0.000       0
+  0    966 00:14:06.74   0.8120A   2.2165  -0.8341  -0.8004  0.073  0.00   0.000      0.  0.748E+00  0.777E-01  0.778E-03  0.502E-04   35   1  39   10  26   9    7  16   2    0.000    0.000       0
+  0    973 00:14:12.42   0.8090A   2.2262  -0.8209  -0.7758  0.073  0.00   0.000      0.  0.747E+00  0.779E-01  0.785E-03  0.483E-04   23   0  35   10  26   9    8  18   8    0.000    0.000       0
+  0    980 00:14:18.11   0.8130A   2.2135  -0.7438   0.8907  0.073  0.00   0.000      0.  0.747E+00  0.780E-01  0.795E-03  0.471E-04   23   0   0   10  24   9   20  29   9    0.000    0.000       0
+  0    988 00:14:24.54   0.7960A   2.2616   0.7006   0.9041  0.073  0.00   0.000      0.  0.746E+00  0.785E-01  0.794E-03  0.495E-04   25   0   5   12  15   9   20  27   9    0.000    0.000       0
+  0    995 00:14:30.10   0.7910A   2.2767   0.7296   0.9219  0.073  0.00   0.000      0.  0.747E+00  0.792E-01  0.803E-03  0.533E-04   25   0  10   12  16   9   20  28   9    0.000    0.000       0
+  0   1003 00:14:36.46   0.7970A   2.2595  -0.7763   0.9073  0.074  0.00   0.000      0.  0.748E+00  0.803E-01  0.824E-03  0.562E-04   25   0  20   17  27   9   20  12   9    0.000    0.000       0
+  0   1010 00:14:42.03   0.7950A   2.2642   0.8309   0.8311  0.075  0.00   0.000      0.  0.749E+00  0.813E-01  0.823E-03  0.535E-04   25   0  25   12  14   9   20  13   9    0.000    0.000       0
+  0   1018 00:14:48.36   0.7840A   2.2952   0.8874   0.9377  0.076  0.00   0.000      0.  0.750E+00  0.823E-01  0.806E-03  0.510E-04   26  28  37   12  15   9   20  24   9    0.000    0.000       0
+  0   1026 00:14:54.66   0.7910A   2.2761  -0.8486   0.9366  0.077  0.00   0.000      0.  0.751E+00  0.831E-01  0.818E-03  0.536E-04   26  28   3   20  10   9   21  24   9    0.000    0.000       0
+  0   1033 00:15:00.20   0.7920A   2.2737   0.8161   0.8952  0.077  0.00   0.000      0.  0.751E+00  0.835E-01  0.828E-03  0.516E-04   27   0   0   11  15   9   21  24   9    0.000    0.000       0
+  0   1041 00:15:06.48   0.7810A   2.3036  -0.8312  -0.7822  0.078  0.00   0.000      0.  0.751E+00  0.837E-01  0.823E-03  0.509E-04   26  28  17   10  25   9    6  29   9    0.000    0.000       0
+  0   1049 00:15:12.74   0.7810A   2.3043  -0.9016  -0.8795  0.077  0.00   0.000      0.  0.751E+00  0.839E-01  0.831E-03  0.482E-04   31  39  11   10  24   9    6  28   9    0.000    0.000       0
+  0   1056 00:15:18.19   0.7760A   2.3192  -0.8805  -0.8603  0.076  0.00   0.000      0.  0.750E+00  0.839E-01  0.824E-03  0.433E-04   28  28  27   10  23   9    5  28   9    0.000    0.000       0
+  0   1064 00:15:24.39   0.7790A   2.3116  -0.8038  -0.8394  0.076  0.00   0.000      0.  0.748E+00  0.838E-01  0.824E-03  0.405E-04   28  28  32    9  23   9   14  18   9    0.000    0.000       0
+  0   1072 00:15:30.66   0.7830A   2.2998  -0.7778  -0.7807  0.076  0.00   0.000      0.  0.747E+00  0.837E-01  0.833E-03  0.393E-04   30  38  26   17  10   9   13  18   9    0.000    0.000       0
+  0   1079 00:15:36.16   0.7810A   2.3060  -0.7722  -0.7866  0.076  0.00   0.000      0.  0.746E+00  0.836E-01  0.840E-03  0.389E-04   28  28   4   17  10   9   17  22   9    0.000    0.000       0
+  0   1087 00:15:42.38   0.7770A   2.3152  -0.7253  -0.8583  0.077  0.00   0.000      0.  0.745E+00  0.838E-01  0.873E-03  0.487E-04   28  28  10   17  10   9   17  19   9    0.000    0.000       0
+  0   1095 00:15:48.44   0.7590A   2.3727   0.8903  -0.9845  0.078  0.00   0.000      0.  0.745E+00  0.844E-01  0.881E-03  0.552E-04   28  28  15    8  30   9   16  19   9    0.000    0.000       0
+  0   1103 00:15:54.51   0.7680A   2.3445   0.9200  -1.0710  0.079  0.00   0.000      0.  0.746E+00  0.852E-01  0.903E-03  0.574E-04   28  28  19   20  15   8    7  29   8    0.000    0.000       0
+  0   1110 00:16:00.01   0.7890A   2.2808   0.7427  -0.9558  0.079  0.00   0.000      0.  0.747E+00  0.859E-01  0.916E-03  0.531E-04   28  32  14   20  17   8    5  29   8    0.000    0.000       0
+  0   1118 00:16:06.37   0.7950A   2.2632  -0.9157  -0.9508  0.078  0.00   0.000      0.  0.747E+00  0.863E-01  0.903E-03  0.489E-04   32  25   1   13  27   9    3  29   9    0.000    0.000       0
+  0   1126 00:16:12.52   0.7660A   2.3486  -0.8654   0.9318  0.077  0.00   0.000      0.  0.746E+00  0.864E-01  0.865E-03  0.459E-04   22  30  32   13  26   9   20  14   9    0.000    0.000       0
+  0   1134 00:16:18.66   0.7790A   2.3105  -0.8485   0.8503  0.076  0.00   0.000      0.  0.746E+00  0.865E-01  0.869E-03  0.442E-04   22  30  37   20  10   9   20  15   9    0.000    0.000       0
+  0   1141 00:16:24.29   0.8140A   2.2115  -0.8332  -0.8025  0.076  0.00   0.000      0.  0.745E+00  0.865E-01  0.900E-03  0.452E-04   22  30   2    9  25   9   10  21   7    0.000    0.000       0
+  0   1148 00:16:30.01   0.8120A   2.2166  -0.9173  -0.8070  0.076  0.00   0.000      0.  0.744E+00  0.866E-01  0.897E-03  0.482E-04   31  24  23    9  24   9    8  20   7    0.000    0.000       0
+  0   1156 00:16:36.49   0.8150A   2.2075  -0.9277  -0.7873  0.076  0.00   0.000      0.  0.743E+00  0.870E-01  0.901E-03  0.554E-04   31  24  28    9  23   9    8  21   5    0.000    0.000       0
+  0   1163 00:16:42.19   0.8140A   2.2124  -0.9334   0.7905  0.078  0.00   0.000      0.  0.743E+00  0.879E-01  0.915E-03  0.618E-04   22  35  26    8  22   9   20  10   9    0.000    0.000       0
+  0   1171 00:16:48.67   0.8070A   2.2294  -0.8905   0.8563  0.079  0.00   0.000      0.  0.744E+00  0.891E-01  0.918E-03  0.614E-04   30  35  21    8  21   9   20  11   9    0.000    0.000       0
+  0   1178 00:16:54.31   0.8060A   2.2326  -0.8291   0.9533  0.081  0.00   0.000      0.  0.745E+00  0.901E-01  0.921E-03  0.559E-04   30  35  26    9  22   8   20  12   9    0.000    0.000       0
+  0   1186 00:17:00.78   0.8070A   2.2294  -0.9280   0.9319  0.083  0.00   0.000      0.  0.746E+00  0.907E-01  0.940E-03  0.568E-04   23   2  24    9  27   9   21  12   9    0.000    0.000       0
+  0   1193 00:17:06.44   0.8100A   2.2224  -0.9886   0.9070  0.083  0.00   0.000      0.  0.746E+00  0.910E-01  0.956E-03  0.582E-04   23   2  28    9  26   9   20  13   9    0.000    0.000       0
+  0   1200 00:17:12.10   0.8050A   2.2363  -0.9207  -0.7938  0.084  0.00   0.000      0.  0.745E+00  0.910E-01  0.955E-03  0.555E-04   30  36   4    9  25   9   18  24   9    0.000    0.000       0
+  0   1208 00:17:18.49   0.7970A   2.2589   0.9810   0.9790  0.086  0.00   0.000      0.  0.744E+00  0.905E-01  0.945E-03  0.515E-04   30  36  10   20  20   8   20  29   9    0.000    0.000       0
+  0   1215 00:17:24.09   0.8040A   2.2387  -0.9106   1.0285  0.086  0.00   0.000      0.  0.743E+00  0.898E-01  0.969E-03  0.500E-04   30  36  15   18  10   9   20  28   9    0.000    0.000       0
+  0   1223 00:17:30.57   0.8130A   2.2142  -0.9581  -0.9605  0.086  0.00   0.000      0.  0.741E+00  0.887E-01  0.974E-03  0.479E-04   33  33  33   18  28   9   18  11   9    0.000    0.000       0
+  0   1230 00:17:36.26   0.8180A   2.2016  -0.9633  -0.8681  0.084  0.00   0.000      0.  0.740E+00  0.877E-01  0.976E-03  0.494E-04   35  33  29   18  27   9   14  22   9    0.000    0.000       0
+  0   1238 00:17:42.79   0.8180A   2.2004  -0.9035  -0.8750  0.083  0.00   0.000      0.  0.738E+00  0.866E-01  0.990E-03  0.532E-04   33  32   4   20  11   6   13  22   9    0.000    0.000       0
+  0   1245 00:17:48.49   0.8070A   2.2316   0.8943  -0.8508  0.083  0.00   0.000      0.  0.737E+00  0.860E-01  0.100E-02  0.633E-04   33  32   9   20  30   9   12  22   9    0.000    0.000       0
+  0   1252 00:17:54.18   0.8170A   2.2023   0.8598   0.9214  0.083  0.00   0.000      0.  0.736E+00  0.855E-01  0.102E-02  0.678E-04   33  32  14   20  30   9   22  11   5    0.000    0.000       0
+  0   1260 00:18:00.68   0.8070A   2.2306  -0.8434   1.1297  0.082  0.00   0.000      0.  0.736E+00  0.854E-01  0.103E-02  0.777E-04   30  30   0   20  18   9   20  11   9    0.000    0.000       0
+  0   1267 00:18:06.36   0.8110A   2.2189   0.9415   1.0977  0.082  0.00   0.000      0.  0.736E+00  0.857E-01  0.106E-02  0.846E-04   33  35  22   19  12   9   21  11   9    0.000    0.000       0
+  0   1274 00:18:12.04   0.8060A   2.2345   1.1559   1.1663  0.081  0.00   0.000      0.  0.737E+00  0.861E-01  0.106E-02  0.845E-04   36  33  23   17  14   9   20  15   9    0.000    0.000       0
+  0   1282 00:18:18.46   0.8080A   2.2282   1.1298   1.2340  0.080  0.00   0.000      0.  0.739E+00  0.868E-01  0.106E-02  0.846E-04   36  33  29   14  15   9   20  28   9    0.000    0.000       0
+  0   1289 00:18:24.14   0.8170A   2.2027  -1.2704   1.1157  0.080  0.00   0.000      0.  0.741E+00  0.874E-01  0.107E-02  0.847E-04   36  33  33   19  10   9   20  26   9    0.000    0.000       0
+  0   1297 00:18:30.74   0.8230A   2.1859  -1.1735   1.0540  0.080  0.00   0.000      0.  0.743E+00  0.876E-01  0.105E-02  0.720E-04   31  31  26   15  25   9   20  24   9    0.000    0.000       0
+  0   1304 00:18:36.48   0.8170A   2.2026  -1.1127  -0.9561  0.079  0.00   0.000      0.  0.743E+00  0.874E-01  0.103E-02  0.634E-04   22   0   8   12  26   9    9  20   8    0.000    0.000       0
+  0   1311 00:18:42.21   0.8180A   2.2004  -1.1733  -0.9568  0.078  0.00   0.000      0.  0.742E+00  0.868E-01  0.101E-02  0.591E-04   36  33  13   21  15   8    6  21   8    0.000    0.000       0
+  0   1319 00:18:48.57   0.7540A   2.3875  -0.9485  -0.9661  0.079  0.00   0.000      0.  0.741E+00  0.857E-01  0.924E-03  0.466E-04   21  31  33   12  24   9    6  21   8    0.000    0.000       0
+  0   1327 00:18:54.44   0.7320A   2.4604  -0.9581  -0.9466  0.080  0.00   0.000      0.  0.739E+00  0.845E-01  0.899E-03  0.490E-04   21  31  38   10  26   9    5  21   8    0.000    0.000       0
+  0   1335 00:19:00.19   0.7230A   2.4895  -0.9305  -0.9745  0.081  0.00   0.000      0.  0.738E+00  0.836E-01  0.890E-03  0.515E-04   21  31   2    7  26   9   18  21   9    0.000    0.000       0
+  0   1343 00:19:06.13   0.7490A   2.4025  -0.9279  -1.2306  0.082  0.00   0.000      0.  0.737E+00  0.828E-01  0.918E-03  0.523E-04   21  31   7   11  25   9   17  20   9    0.000    0.000       0
+  0   1351 00:19:12.29   0.7670A   2.3476  -0.8825  -1.1654  0.082  0.00   0.000      0.  0.735E+00  0.819E-01  0.949E-03  0.586E-04   20  31  12   10  24   9   15  21   9    0.000    0.000       0
+  0   1359 00:19:18.60   0.8020A   2.2437  -0.9814  -1.0537  0.082  0.00   0.000      0.  0.735E+00  0.812E-01  0.999E-03  0.683E-04   22  32  14   17  27   9    4  24   7    0.000    0.000       0
+  0   1366 00:19:24.28   0.8150A   2.2087  -1.0259   1.0807  0.082  0.00   0.000      0.  0.734E+00  0.807E-01  0.101E-02  0.696E-04   23  33  22   16  26   9   21  14   9    0.000    0.000       0
+  0   1373 00:19:30.01   0.8110A   2.2186  -0.9856   1.0488  0.082  0.00   0.000      0.  0.735E+00  0.804E-01  0.995E-03  0.699E-04   29  14   5   15  25   9   21  15   9    0.000    0.000       0
+  0   1381 00:19:36.51   0.8110A   2.2194  -0.8959  -0.8896  0.081  0.00   0.000      0.  0.735E+00  0.800E-01  0.985E-03  0.687E-04   29  14  11   14  24   9    7  22   7    0.000    0.000       0
+  0   1388 00:19:42.22   0.8180A   2.2003   1.0788  -0.8885  0.080  0.00   0.000      0.  0.736E+00  0.797E-01  0.974E-03  0.653E-04   29  14  16   20  30   9    6  22   7    0.000    0.000       0
+  0   1395 00:19:48.02   0.8360A   2.1531   0.8368  -0.8600  0.081  0.00   0.000      0.  0.736E+00  0.794E-01  0.972E-03  0.583E-04   26  33  10   20  30   9    5  22   5    0.000    0.000       0
+  0   1403 00:19:54.66   0.8290A   2.1704   0.8211  -0.8255  0.081  0.00   0.000      0.  0.736E+00  0.790E-01  0.961E-03  0.523E-04   26  33  16   20  23   9   18  19   9    0.000    0.000       0
+  0   1410 00:20:00.46   0.8280A   2.1733  -1.1150  -0.9050  0.081  0.00   0.000      0.  0.736E+00  0.786E-01  0.958E-03  0.504E-04   26  33  22   20  10   9   17  20   9    0.000    0.000       0
+  0   1417 00:20:06.27   0.8320A   2.1622  -0.9933  -0.9892  0.082  0.00   0.000      0.  0.736E+00  0.781E-01  0.955E-03  0.508E-04   27   3  16   18  10   9   17  11   9    0.000    0.000       0
+  0   1424 00:20:12.04   0.8220A   2.1906  -0.9479  -0.9675  0.083  0.00   0.000      0.  0.735E+00  0.774E-01  0.937E-03  0.497E-04   30  13  27   14  26   9   16  13   9    0.000    0.000       0
+  0   1432 00:20:18.58   0.8170A   2.2025  -0.9982  -0.9503  0.083  0.00   0.000      0.  0.734E+00  0.766E-01  0.916E-03  0.490E-04   30  13  32   13  26   9   17  16   9    0.000    0.000       0
+  0   1439 00:20:24.30   0.8200A   2.1949  -0.9513  -0.9294  0.083  0.00   0.000      0.  0.734E+00  0.760E-01  0.912E-03  0.546E-04   30  13  37   12  25   9   16  16   9    0.000    0.000       0
+  0   1446 00:20:30.02   0.8210A   2.1918  -0.8869   0.8677  0.081  0.00   0.000      0.  0.734E+00  0.756E-01  0.913E-03  0.588E-04   27  14  15   13  23   9   20  11   7    0.000    0.000       0
+  0   1454 00:20:36.67   0.8290A   2.1711  -0.8696   1.0484  0.080  0.00   0.000      0.  0.734E+00  0.754E-01  0.908E-03  0.620E-04   27   2   3   20  16   8   20  10   9    0.000    0.000       0
+  0   1461 00:20:42.49   0.8260A   2.1803  -0.8184   1.1361  0.079  0.00   0.000      0.  0.734E+00  0.754E-01  0.905E-03  0.654E-04   25  14  28    9  24   9   21  12   9    0.000    0.000       0
+  0   1468 00:20:48.24   0.8140A   2.2112  -0.8049   1.1358  0.079  0.00   0.000      0.  0.734E+00  0.755E-01  0.872E-03  0.594E-04   25  13  33    9  26   9   21  13   9    0.000    0.000       0
+  0   1475 00:20:54.00   0.8350A   2.1565  -0.8027   0.8905  0.079  0.00   0.000      0.  0.734E+00  0.754E-01  0.873E-03  0.570E-04   31  32  28   16  27   9   21  13   9    0.000    0.000       0
+  0   1483 00:21:00.46   0.7710A   2.3336  -0.9009   0.8506  0.078  0.00   0.000      0.  0.735E+00  0.755E-01  0.805E-03  0.584E-04   22  22  20   16  26   9   20  28   9    0.000    0.000       0
+  0   1491 00:21:06.75   0.8110A   2.2187  -0.8414   0.7628  0.079  0.00   0.000      0.  0.735E+00  0.756E-01  0.842E-03  0.598E-04   36  33  15   20  10   9   20  28   9    0.000    0.000       0
+  0   1498 00:21:12.43   0.8090A   2.2257  -1.1100  -0.7243  0.080  0.00   0.000      0.  0.735E+00  0.755E-01  0.833E-03  0.542E-04   36  33  20   20  10   9    7  15   7    0.000    0.000       0
+  0   1505 00:21:18.10   0.8060A   2.2328  -1.2180  -0.7977  0.081  0.00   0.000      0.  0.735E+00  0.754E-01  0.835E-03  0.545E-04   36  33  25   19   9   9   18  12   9    0.000    0.000       0
+  0   1513 00:21:24.59   0.8130A   2.2145  -0.9272  -0.9729  0.081  0.00   0.000      0.  0.735E+00  0.755E-01  0.841E-03  0.564E-04   36  33  31   17  10   9   18  13   9    0.000    0.000       0
+  0   1520 00:21:30.37   0.8300A   2.1682  -0.9108  -1.0151  0.080  0.00   0.000      0.  0.735E+00  0.756E-01  0.849E-03  0.561E-04   36  33  36   16  10   9   17  13   9    0.000    0.000       0
+  0   1527 00:21:36.20   0.8410A   2.1409   1.0997  -1.0121  0.079  0.00   0.000      0.  0.736E+00  0.759E-01  0.850E-03  0.537E-04   22  24   4   20  14   8   17  16   9    0.000    0.000       0
+  0   1534 00:21:42.06   0.8420A   2.1384   0.7836  -0.9444  0.079  0.00   0.000      0.  0.736E+00  0.762E-01  0.855E-03  0.529E-04   23  19  16   12  18   9   16  16   9    0.000    0.000       0
+  0   1542 00:21:48.84   0.8480A   2.1227   0.8110  -0.9073  0.079  0.00   0.000      0.  0.737E+00  0.764E-01  0.869E-03  0.503E-04   31  30   0   14  14   6   15  18   9    0.000    0.000       0
+  0   1549 00:21:54.73   0.8390A   2.1457  -0.8013  -0.9797  0.079  0.00   0.000      0.  0.737E+00  0.764E-01  0.878E-03  0.563E-04   32  30   5   12  26   9   18  21   9    0.000    0.000       0
+  0   1556 00:22:00.59   0.8350A   2.1550   0.8791  -1.0918  0.078  0.00   0.000      0.  0.737E+00  0.764E-01  0.900E-03  0.654E-04   31  30  11   20  25   9   17  22   9    0.000    0.000       0
+  0   1563 00:22:06.45   0.8400A   2.1427   0.7839  -1.1350  0.077  0.00   0.000      0.  0.737E+00  0.764E-01  0.908E-03  0.645E-04   31  30  16   20  26   9   17  23   9    0.000    0.000       0
+  0   1570 00:22:12.35   0.8430A   2.1342   0.9610  -1.0386  0.076  0.00   0.000      0.  0.737E+00  0.763E-01  0.912E-03  0.615E-04   30  17  20   19  25   9   16  23   9    0.000    0.000       0
+  0   1577 00:22:18.21   0.8320A   2.1646  -1.1566  -0.9944  0.076  0.00   0.000      0.  0.737E+00  0.761E-01  0.902E-03  0.586E-04   28  25  31   19   9   9   15  23   9    0.000    0.000       0
+  0   1584 00:22:24.01   0.8260A   2.1803   1.0429  -0.9392  0.077  0.00   0.000      0.  0.738E+00  0.758E-01  0.896E-03  0.575E-04   28  25  35   19  26   9   14  23   9    0.000    0.000       0
+  0   1592 00:22:30.69   0.8410A   2.1409   0.8279  -0.9953  0.077  0.00   0.000      0.  0.738E+00  0.754E-01  0.905E-03  0.602E-04   24  17  26   19  27   9   17  18   9    0.000    0.000       0
+  0   1599 00:22:36.52   0.8320A   2.1640   0.7609  -0.9821  0.077  0.00   0.000      0.  0.738E+00  0.752E-01  0.908E-03  0.646E-04   31  14  37   18  30   9   16  19   9    0.000    0.000       0
+  0   1606 00:22:42.29   0.8240A   2.1852  -0.8206  -0.9655  0.077  0.00   0.000      0.  0.739E+00  0.751E-01  0.896E-03  0.625E-04   31  14   2    1   8   8   13  20   9    0.000    0.000       0
+  0   1613 00:22:48.04   0.8160A   2.2046  -0.8326  -0.9616  0.077  0.00   0.000      0.  0.740E+00  0.751E-01  0.878E-03  0.588E-04   30  14   7    1   7   8    7  13   9    0.000    0.000       0
+  0   1621 00:22:54.54   0.8160A   2.2055  -0.8064  -0.9448  0.076  0.00   0.000      0.  0.740E+00  0.753E-01  0.878E-03  0.609E-04   30  14  13   14  26   9    5  13   9    0.000    0.000       0
+  0   1628 00:23:00.31   0.8210A   2.1926  -0.8222  -0.8614  0.075  0.00   0.000      0.  0.741E+00  0.756E-01  0.874E-03  0.602E-04   22  14   1   13  26   7    6  14   8    0.000    0.000       0
+  0   1636 00:23:06.77   0.8050A   2.2353  -0.8488   0.8825  0.074  0.00   0.000      0.  0.742E+00  0.759E-01  0.838E-03  0.524E-04   31  14  20   11  24   9   20  29   9    0.000    0.000       0
+  0   1643 00:23:12.29   0.7840A   2.2964  -0.8352   0.9613  0.074  0.00   0.000      0.  0.743E+00  0.761E-01  0.811E-03  0.476E-04   22  14  11   11  26   9   20  29   9    0.000    0.000       0
+  0   1651 00:23:18.63   0.7990A   2.2537   0.8731  -0.9416  0.075  0.00   0.000      0.  0.743E+00  0.762E-01  0.823E-03  0.493E-04   36   1  17   20  27   8   17  16   9    0.000    0.000       0
+  0   1658 00:23:24.20   0.7910A   2.2746   0.9388  -0.8593  0.076  0.00   0.000      0.  0.744E+00  0.763E-01  0.822E-03  0.508E-04   36   1  22   20  29   8   15  17   9    0.000    0.000       0
+  0   1666 00:23:30.60   0.8110A   2.2205  -0.6938   0.9332  0.077  0.00   0.000      0.  0.745E+00  0.764E-01  0.827E-03  0.504E-04   36   1  28   12  26   9   20  28   9    0.000    0.000       0
+  0   1673 00:23:36.32   0.8210A   2.1938  -0.8036   0.9709  0.078  0.00   0.000      0.  0.745E+00  0.764E-01  0.834E-03  0.528E-04   36   1  33   21  28   8   20  12   9    0.000    0.000       0
+  0   1680 00:23:42.09   0.8270A   2.1771  -0.8872   1.1578  0.078  0.00   0.000      0.  0.746E+00  0.766E-01  0.848E-03  0.584E-04   36   1  38   21  27   8   21  12   9    0.000    0.000       0
+  0   1688 00:23:48.69   0.8230A   2.1878  -1.0237   1.0378  0.077  0.00   0.000      0.  0.746E+00  0.769E-01  0.848E-03  0.571E-04   25  36  26   19  27   9   21  13   9    0.000    0.000       0
+  0   1695 00:23:54.43   0.8240A   2.1836   0.7929   1.0192  0.077  0.00   0.000      0.  0.747E+00  0.772E-01  0.851E-03  0.579E-04   25  36  31   16  13   9   20  12   9    0.000    0.000       0
+  0   1702 00:24:00.14   0.8110A   2.2204   0.8298   0.9355  0.077  0.00   0.000      0.  0.747E+00  0.776E-01  0.846E-03  0.572E-04   29  21  21   14  13   9   20  13   9    0.000    0.000       0
+  0   1710 00:24:06.63   0.8120A   2.2154   0.8326  -0.8718  0.078  0.00   0.000      0.  0.748E+00  0.781E-01  0.849E-03  0.561E-04   29  21  27   13  14   9    8  11   9    0.000    0.000       0
+  0   1717 00:24:12.36   0.8250A   2.1814  -1.0563  -0.8967  0.080  0.00   0.000      0.  0.749E+00  0.786E-01  0.865E-03  0.569E-04   29  21  32   20  10   9    6  11   9    0.000    0.000       0
+  0   1724 00:24:18.11   0.8210A   2.1933  -1.1296  -1.0774  0.082  0.00   0.000      0.  0.750E+00  0.790E-01  0.881E-03  0.633E-04   30  21  38   19  10   9   18  16   9    0.000    0.000       0
+  0   1732 00:24:24.63   0.8110A   2.2194  -0.9196  -1.3791  0.083  0.00   0.000      0.  0.751E+00  0.794E-01  0.880E-03  0.672E-04   30  21   3   16  27   9   17  15   9    0.000    0.000       0
+  0   1739 00:24:30.29   0.8040A   2.2375  -1.1016  -1.3101  0.083  0.00   0.000      0.  0.751E+00  0.796E-01  0.886E-03  0.671E-04   30  21   8   17  26   9   16  14   9    0.000    0.000       0
+  0   1747 00:24:36.72   0.8000A   2.2491  -1.1807  -1.1196  0.082  0.00   0.000      0.  0.752E+00  0.797E-01  0.865E-03  0.597E-04   30  21  14   19  25   9   15  17   9    0.000    0.000       0
+  0   1754 00:24:42.29   0.7960A   2.2601  -1.1436  -1.1104  0.080  0.00   0.000      0.  0.752E+00  0.796E-01  0.837E-03  0.505E-04   28  24  18   13  26   9   13  14   8    0.000    0.000       0
+  0   1762 00:24:48.68   0.7970A   2.2589  -1.0449  -1.0526  0.078  0.00   0.000      0.  0.752E+00  0.794E-01  0.836E-03  0.494E-04   31  21  24   12  25   9   11  14   8    0.000    0.000       0
+  0   1769 00:24:54.29   0.8010A   2.2478  -0.9756  -1.0103  0.077  0.00   0.000      0.  0.751E+00  0.795E-01  0.847E-03  0.520E-04   31  21  29   10  24   9    8  18   8    0.000    0.000       0
+  0   1777 00:25:00.74   0.8040A   2.2401  -0.9318   1.0428  0.076  0.00   0.000      0.  0.752E+00  0.799E-01  0.863E-03  0.562E-04   28  23  32    9  20   9   20  12   9    0.000    0.000       0
+  0   1784 00:25:06.32   0.7900A   2.2793   1.1409   1.0744  0.076  0.00   0.000      0.  0.752E+00  0.803E-01  0.859E-03  0.571E-04   28  23  37   20  28   9   20  13   9    0.000    0.000       0
+  0   1792 00:25:12.63   0.7860A   2.2908  -1.0001  -1.1571  0.076  0.00   0.000      0.  0.752E+00  0.808E-01  0.864E-03  0.561E-04   28  23   3    7  18   9   17  24   9    0.000    0.000       0
+  0   1799 00:25:18.14   0.7830A   2.2979  -0.8969  -1.1404  0.077  0.00   0.000      0.  0.753E+00  0.814E-01  0.870E-03  0.583E-04   28  23   8    6  17   9   16  24   9    0.000    0.000       0
+  0   1807 00:25:24.42   0.7830A   2.2995  -1.0938  -1.0633  0.079  0.00   0.000      0.  0.754E+00  0.823E-01  0.901E-03  0.642E-04   28  23  14   19  10   9   13  24   9    0.000    0.000       0
+  0   1815 00:25:30.72   0.7870A   2.2869  -0.9972  -1.0378  0.080  0.00   0.000      0.  0.755E+00  0.831E-01  0.935E-03  0.642E-04   28  23  20   18   9   9    6  18   5    0.000    0.000       0
+  0   1822 00:25:36.29   0.8020A   2.2445  -0.9246  -1.1272  0.080  0.00   0.000      0.  0.756E+00  0.835E-01  0.946E-03  0.583E-04   28  23  25   20  23   8   16  20   9    0.000    0.000       0
+  0   1830 00:25:42.71   0.8080A   2.2269   0.7984  -1.1933  0.080  0.00   0.000      0.  0.757E+00  0.836E-01  0.935E-03  0.527E-04   22  25   0   19  13   9   15  20   9    0.000    0.000       0
+  0   1837 00:25:48.34   0.8050A   2.2354  -0.7949  -1.2094  0.080  0.00   0.000      0.  0.757E+00  0.837E-01  0.927E-03  0.525E-04   30  20  37   20  27   9   14  18   9    0.000    0.000       0
+  0   1845 00:25:54.78   0.8030A   2.2412  -0.9092  -1.1838  0.078  0.00   0.000      0.  0.757E+00  0.837E-01  0.925E-03  0.497E-04   35  32  12   15  27   9   13  18   8    0.000    0.000       0
+  0   1852 00:26:00.42   0.8050A   2.2366  -0.9435  -1.1716  0.076  0.00   0.000      0.  0.757E+00  0.838E-01  0.922E-03  0.515E-04   35  32  17   14  26   9   11  18   8    0.000    0.000       0
+  0   1859 00:26:06.07   0.8110A   2.2190   0.8868  -1.1143  0.076  0.00   0.000      0.  0.757E+00  0.839E-01  0.917E-03  0.481E-04   35  32  22   20  29   8    9  17   8    0.000    0.000       0
+  0   1867 00:26:12.56   0.8140A   2.2104   1.1624  -1.0609  0.076  0.00   0.000      0.  0.757E+00  0.842E-01  0.933E-03  0.527E-04   31  18  18   20  30   9    7  17   8    0.000    0.000       0
+  0   1874 00:26:18.25   0.8090A   2.2253   0.9750  -1.2730  0.077  0.00   0.000      0.  0.757E+00  0.845E-01  0.938E-03  0.548E-04   31  17  24   19  30   9   18  24   9    0.000    0.000       0
+  0   1882 00:26:24.72   0.8100A   2.2223  -0.8200  -1.5241  0.077  0.00   0.000      0.  0.757E+00  0.848E-01  0.939E-03  0.576E-04   28   1   5   13  24   8   16  24   9    0.000    0.000       0
+  0   1889 00:26:30.40   0.8100A   2.2234   0.8918  -1.3409  0.078  0.00   0.000      0.  0.757E+00  0.850E-01  0.940E-03  0.597E-04   28   1  10   15  30   9   14  24   9    0.000    0.000       0
+  0   1896 00:26:36.07   0.8120A   2.2164  -0.8418  -1.2861  0.079  0.00   0.000      0.  0.757E+00  0.851E-01  0.946E-03  0.626E-04   31  28  35   10  23   9   14  29   9    0.000    0.000       0
+  0   1904 00:26:42.57   0.8140A   2.2104  -0.7552  -1.1571  0.079  0.00   0.000      0.  0.757E+00  0.852E-01  0.934E-03  0.579E-04   30   1  20    9  22   8   11  22   9    0.000    0.000       0
+  0   1911 00:26:48.24   0.8110A   2.2206  -0.7408  -1.1045  0.079  0.00   0.000      0.  0.757E+00  0.853E-01  0.921E-03  0.582E-04   30   1  25    8  22   8   10  22   9    0.000    0.000       0
+  0   1919 00:26:54.73   0.8130A   2.2148   0.8334  -1.0841  0.079  0.00   0.000      0.  0.757E+00  0.857E-01  0.913E-03  0.542E-04   34  38  28   16  15   9    9  23   8    0.000    0.000       0
+  0   1926 00:27:00.38   0.8050A   2.2349   0.8713  -1.0428  0.078  0.00   0.000      0.  0.757E+00  0.859E-01  0.905E-03  0.534E-04   34  38  34   15  16   9    9  25   8    0.000    0.000       0
+  0   1933 00:27:06.00   0.8080A   2.2287   0.8622  -1.0134  0.077  0.00   0.000      0.  0.757E+00  0.863E-01  0.905E-03  0.542E-04   34  38  39   14  17   9    6  23   7    0.000    0.000       0
+  0   1941 00:27:12.46   0.7960A   2.2615  -0.9114  -0.9372  0.077  0.00   0.000      0.  0.758E+00  0.869E-01  0.901E-03  0.577E-04   22  28  24   12  26   9    6  25   7    0.000    0.000       0
+  0   1949 00:27:18.71   0.7790A   2.3115  -0.9607  -0.8750  0.077  0.00   0.000      0.  0.759E+00  0.877E-01  0.875E-03  0.505E-04   22  28  29   11  25   9    7  19   7    0.000    0.000       0
+  0   1956 00:27:24.28   0.8100A   2.2216  -1.0089  -0.8861  0.078  0.00   0.000      0.  0.759E+00  0.882E-01  0.905E-03  0.480E-04   28  38  23   10  24   9    6  19   7    0.000    0.000       0
+  0   1964 00:27:30.73   0.8020A   2.2446  -0.9559  -0.8366  0.078  0.00   0.000      0.  0.758E+00  0.887E-01  0.891E-03  0.425E-04   24  28  38    9  23   9    5  21   7    0.000    0.000       0
+  0   1971 00:27:36.31   0.8020A   2.2447  -1.0179  -0.8140  0.078  0.00   0.000      0.  0.757E+00  0.891E-01  0.893E-03  0.434E-04   29  17  23   12  24   9    3  20   7    0.000    0.000       0
+  0   1979 00:27:42.65   0.7880A   2.2846  -1.0509  -0.7306  0.079  0.00   0.000      0.  0.757E+00  0.894E-01  0.883E-03  0.436E-04   29  17  28   12  23   9    4  11   9    0.000    0.000       0
+  0   1986 00:27:48.21   0.7930A   2.2699  -0.9804  -0.8347  0.080  0.00   0.000      0.  0.756E+00  0.895E-01  0.887E-03  0.452E-04   29  18  33   12  22   9   18  24   9    0.000    0.000       0
+  0   1994 00:27:54.59   0.8050A   2.2354  -0.9150  -0.9920  0.081  0.00   0.000      0.  0.755E+00  0.896E-01  0.909E-03  0.479E-04   29  18  39    7  26   9   17  23   9    0.000    0.000       0
+  0   2001 00:28:00.25   0.8120A   2.2165  -0.9399  -0.9855  0.082  0.00   0.000      0.  0.754E+00  0.896E-01  0.925E-03  0.490E-04   27  39  14    7  25   9   17  21   9    0.000    0.000       0
+  0   2009 00:28:06.77   0.8170A   2.2026  -0.9340  -0.9378  0.082  0.00   0.000      0.  0.753E+00  0.897E-01  0.934E-03  0.467E-04   29   4  18    7  24   9   17  26   9    0.000    0.000       0
+  0   2016 00:28:12.52   0.8270A   2.1772  -0.8950  -0.8998  0.082  0.00   0.000      0.  0.753E+00  0.898E-01  0.954E-03  0.465E-04   36   1  18    7  26   9   15  24   9    0.000    0.000       0
+  0   2023 00:28:18.30   0.8130A   2.2133  -0.8819  -0.9727  0.081  0.00   0.000      0.  0.752E+00  0.899E-01  0.951E-03  0.438E-04   29   5  28    6  25   9   15  23   9    0.000    0.000       0
+  0   2031 00:28:24.74   0.8190A   2.1968   0.8300  -1.0156  0.080  0.00   0.000      0.  0.751E+00  0.900E-01  0.978E-03  0.427E-04   29   5  32    9   5  33   16  21   9    0.000    0.000       0
+  0   2038 00:28:30.52   0.8240A   2.1832  -0.8384  -1.0623  0.079  0.00   0.000      0.  0.750E+00  0.901E-01  0.100E-02  0.449E-04   29   5  39    6  18   8   15  21   9    0.000    0.000       0
+  0   2045 00:28:36.32   0.8340A   2.1577   0.8650  -1.1301  0.079  0.00   0.000      0.  0.749E+00  0.904E-01  0.103E-02  0.493E-04   36  26  24    9   6  37   14  20   9    0.000    0.000       0
+  0   2052 00:28:42.15   0.8320A   2.1632   0.8502  -1.0333  0.080  0.00   0.000      0.  0.749E+00  0.909E-01  0.104E-02  0.523E-04   37  26  28    9   6  39   13  20   9    0.000    0.000       0
+  0   2060 00:28:48.68   0.8070A   2.2310  -0.8399  -0.9392  0.081  0.00   0.000      0.  0.749E+00  0.913E-01  0.104E-02  0.539E-04   37  26  33   19  14   9   15  17   9    0.000    0.000       0
+  0   2067 00:28:54.38   0.8240A   2.1843   0.8181   1.1334  0.082  0.00   0.000      0.  0.749E+00  0.916E-01  0.109E-02  0.590E-04   37  26  37   11  11   2   20  28   9    0.000    0.000       0
+  0   2074 00:29:00.13   0.8220A   2.1896  -0.8345   1.0146  0.082  0.00   0.000      0.  0.749E+00  0.920E-01  0.109E-02  0.584E-04   30   4  26    8  27   9   20  27   9    0.000    0.000       0
+  0   2082 00:29:06.69   0.8150A   2.2080  -0.8443   0.8267  0.082  0.00   0.000      0.  0.749E+00  0.924E-01  0.108E-02  0.541E-04   31   7  36   19  26   9   10   1  36    0.000    0.000       0
+  0   2089 00:29:12.41   0.8230A   2.1876  -0.8682   0.9219  0.080  0.00   0.000      0.  0.749E+00  0.929E-01  0.109E-02  0.510E-04   31   7   1   17  10   9   11   1  38    0.000    0.000       0
+  0   2096 00:29:18.17   0.8170A   2.2031  -0.8889   0.9113  0.079  0.00   0.000      0.  0.749E+00  0.933E-01  0.108E-02  0.506E-04   30   3   2    5  24   9   11   0   0    0.000    0.000       0
+  0   2104 00:29:24.64   0.7900A   2.2786   0.8383   0.8612  0.078  0.00   0.000      0.  0.749E+00  0.939E-01  0.106E-02  0.520E-04   25  14  22   10   5  21   12  39   2    0.000    0.000       0
+  0   2111 00:29:30.16   0.7740A   2.3246  -0.7929   0.8929  0.079  0.00   0.000      0.  0.749E+00  0.943E-01  0.105E-02  0.539E-04   25  14  26   11  26   9   10  39   5    0.000    0.000       0
+  0   2119 00:29:36.54   0.8200A   2.1950   1.0147  -1.1053  0.080  0.00   0.000      0.  0.748E+00  0.946E-01  0.114E-02  0.553E-04   25  14  31   19  27   9   17  19   9    0.000    0.000       0
+  0   2126 00:29:42.20   0.8110A   2.2204  -0.9663  -1.2417  0.081  0.00   0.000      0.  0.747E+00  0.945E-01  0.114E-02  0.526E-04   19   4  25    5  25   9   17  22   9    0.000    0.000       0
+  0   2134 00:29:48.50   0.7950A   2.2639  -0.9080  -1.2725  0.081  0.00   0.000      0.  0.745E+00  0.941E-01  0.112E-02  0.522E-04   19   4  30    6  24   9   15  22   9    0.000    0.000       0
+  0   2141 00:29:54.10   0.8030A   2.2420  -0.8106  -1.1765  0.082  0.00   0.000      0.  0.744E+00  0.937E-01  0.116E-02  0.644E-04   32  24  15    6  23   9   14  22   9    0.000    0.000       0
+  0   2149 00:30:00.50   0.8010A   2.2477   1.1276   1.1605  0.083  0.00   0.000      0.  0.743E+00  0.936E-01  0.119E-02  0.736E-04   31  27  23   21  15   8   20  11   9    0.000    0.000       0
+  0   2156 00:30:06.09   0.7870A   2.2869   1.3970  -1.0737  0.083  0.00   0.000      0.  0.742E+00  0.935E-01  0.116E-02  0.650E-04   24  36  20   20  17   8   12  20   9    0.000    0.000       0
+  0   2164 00:30:12.37   0.7910A   2.2756   1.2066  -1.0004  0.083  0.00   0.000      0.  0.741E+00  0.934E-01  0.115E-02  0.585E-04   24  36  25   16  15   9   11  20   9    0.000    0.000       0
+  0   2172 00:30:18.66   0.7850A   2.2939   1.1080   1.0734  0.081  0.00   0.000      0.  0.741E+00  0.935E-01  0.114E-02  0.623E-04   31  30  39   16  16   9   20  16   9    0.000    0.000       0
+  0   2179 00:30:24.18   0.7890A   2.2820  -1.0682   1.1306  0.081  0.00   0.000      0.  0.741E+00  0.936E-01  0.116E-02  0.664E-04   31  30   4   13  25   9   21  17   9    0.000    0.000       0
+  0   2187 00:30:30.54   0.7990A   2.2542  -0.9952   1.0028  0.080  0.00   0.000      0.  0.742E+00  0.938E-01  0.118E-02  0.713E-04   31  30   9   12  24   9   20  12   9    0.000    0.000       0
+  0   2194 00:30:36.08   0.7710A   2.3332  -0.9082   1.1823  0.078  0.00   0.000      0.  0.742E+00  0.939E-01  0.115E-02  0.687E-04   22  30  32   12  24   9   20  11   9    0.000    0.000       0
+  0   2202 00:30:42.28   0.7880A   2.2853   0.9130   1.2142  0.077  0.00   0.000      0.  0.741E+00  0.937E-01  0.114E-02  0.572E-04   22  30  36   12  16   9   20  11   9    0.000    0.000       0
+  0   2210 00:30:48.66   0.8050A   2.2346   0.9046   1.0794  0.077  0.00   0.000      0.  0.740E+00  0.932E-01  0.116E-02  0.510E-04   29  37  12   12  17   9   20  11   9    0.000    0.000       0
+  0   2217 00:30:54.30   0.8090A   2.2239   1.0021   1.0177  0.078  0.00   0.000      0.  0.738E+00  0.926E-01  0.117E-02  0.525E-04   29  36  16   12  13   9   20  29   9    0.000    0.000       0
+  0   2225 00:31:00.76   0.8070A   2.2295   1.1315   1.0225  0.079  0.00   0.000      0.  0.737E+00  0.921E-01  0.120E-02  0.676E-04   28  37  25   12  15   9   20  28   9    0.000    0.000       0
+  0   2232 00:31:06.37   0.8040A   2.2396   1.1048  -1.0936  0.080  0.00   0.000      0.  0.738E+00  0.918E-01  0.119E-02  0.715E-04   28  37  29   12  17   9   17  22   9    0.000    0.000       0
+  0   2240 00:31:12.80   0.8060A   2.2340   1.0040  -1.1327  0.081  0.00   0.000      0.  0.738E+00  0.911E-01  0.118E-02  0.704E-04   28  36  38   11  15   9   16  22   9    0.000    0.000       0
+  0   2247 00:31:18.40   0.7920A   2.2727   1.0194  -1.1073  0.081  0.00   0.000      0.  0.737E+00  0.902E-01  0.113E-02  0.645E-04   28   7  24    9  16   9   14  22   9    0.000    0.000       0
+  0   2255 00:31:24.69   0.7870A   2.2870   0.9760  -1.0426  0.081  0.00   0.000      0.  0.736E+00  0.887E-01  0.109E-02  0.563E-04   27  25  22    8  16   9   15  19   9    0.000    0.000       0
+  0   2262 00:31:30.18   0.7830A   2.2977  -0.9159  -0.9808  0.081  0.00   0.000      0.  0.735E+00  0.875E-01  0.106E-02  0.573E-04   29  33  16   13  27   9   14  20   9    0.000    0.000       0
+  0   2270 00:31:36.51   0.7920A   2.2733   1.0026   1.1974  0.080  0.00   0.000      0.  0.734E+00  0.864E-01  0.106E-02  0.608E-04   29  33  22   19  13   9   20  12   9    0.000    0.000       0
+  0   2278 00:31:42.67   0.7610A   2.3644   1.3074   1.0954  0.081  0.00   0.000      0.  0.733E+00  0.857E-01  0.101E-02  0.584E-04   29  33  28   19  14   9   20  10   9    0.000    0.000       0
+  0   2285 00:31:48.01   0.7660A   2.3506   1.2298   1.0951  0.081  0.00   0.000      0.  0.733E+00  0.852E-01  0.100E-02  0.583E-04   29  33  33   19  16   9   20  11   9    0.000    0.000       0
+  0   2293 00:31:54.19   0.7790A   2.3100   1.1196  -1.0351  0.082  0.00   0.000      0.  0.733E+00  0.848E-01  0.998E-03  0.569E-04   24  23  31   14  17   9    9  22   8    0.000    0.000       0
+  0   2301 00:32:00.45   0.7880A   2.2832   1.0977  -1.0628  0.083  0.00   0.000      0.  0.733E+00  0.844E-01  0.986E-03  0.579E-04   27  21  27   20  25   8    7  22   8    0.000    0.000       0
+  0   2309 00:32:06.74   0.7880A   2.2845  -0.8697  -1.1993  0.083  0.00   0.000      0.  0.733E+00  0.839E-01  0.969E-03  0.550E-04   27  21  32   20  10   9   16  19   9    0.000    0.000       0
+  0   2316 00:32:12.32   0.7970A   2.2583   0.9982  -1.1694  0.083  0.00   0.000      0.  0.733E+00  0.833E-01  0.962E-03  0.529E-04   28  21  37   12  13   9   14  19   9    0.000    0.000       0
+  0   2324 00:32:18.63   0.7810A   2.3053   1.2022  -0.9863  0.083  0.00   0.000      0.  0.733E+00  0.823E-01  0.929E-03  0.489E-04   28  21   3   11  15   9   13  20   9    0.000    0.000       0
+  0   2331 00:32:24.08   0.7750A   2.3216   1.1648  -0.9050  0.082  0.00   0.000      0.  0.731E+00  0.814E-01  0.913E-03  0.506E-04   28  21   8   10  16   9    4  12   9    0.000    0.000       0
+  0   2339 00:32:30.30   0.7750A   2.3235   1.0744  -0.8435  0.082  0.00   0.000      0.  0.730E+00  0.805E-01  0.896E-03  0.505E-04   28  23  13    9  17   8    7  21   7    0.000    0.000       0
+  0   2347 00:32:36.51   0.7810A   2.3058   0.9654  -0.8653  0.082  0.00   0.000      0.  0.729E+00  0.799E-01  0.896E-03  0.567E-04   28  23  19    8  18   8    6  21   9    0.000    0.000       0
+  0   2355 00:32:42.76   0.7860A   2.2902   0.9181  -0.8449  0.083  0.00   0.000      0.  0.729E+00  0.796E-01  0.910E-03  0.650E-04   23  23  10   19  14   9    5  21   9    0.000    0.000       0
+  0   2362 00:32:48.18   0.7660A   2.3489   0.9544   0.9909  0.084  0.00   0.000      0.  0.729E+00  0.795E-01  0.882E-03  0.627E-04   23  23  14   20  27   8   20  11   9    0.000    0.000       0
+  0   2370 00:32:54.45   0.7870A   2.2881   0.9926   0.9565  0.085  0.00   0.000      0.  0.730E+00  0.794E-01  0.878E-03  0.549E-04   23  23  19   18  16   9   20  11   9    0.000    0.000       0
+  0   2377 00:33:00.02   0.8010A   2.2470   0.9277  -0.7827  0.087  0.00   0.000      0.  0.730E+00  0.792E-01  0.873E-03  0.492E-04   23  23  24   18  16   9    8  15   4    0.000    0.000       0
+  0   2385 00:33:06.43   0.8000A   2.2504  -0.7971  -0.8148  0.087  0.00   0.000      0.  0.731E+00  0.790E-01  0.867E-03  0.509E-04   23  23  29    9  24   9   17  24   9    0.000    0.000       0
+  0   2392 00:33:12.11   0.8240A   2.1854  -0.8213  -0.7895  0.087  0.00   0.000      0.  0.731E+00  0.789E-01  0.883E-03  0.528E-04   23  23  33    8  23   9    3  27   9    0.000    0.000       0
+  0   2400 00:33:18.55   0.7890A   2.2823  -0.9961  -0.8237  0.086  0.00   0.000      0.  0.732E+00  0.787E-01  0.837E-03  0.465E-04   23  22  37   11  26   9    5  27   9    0.000    0.000       0
+  0   2408 00:33:24.76   0.7710A   2.3345  -0.9472  -0.8136  0.086  0.00   0.000      0.  0.732E+00  0.783E-01  0.807E-03  0.392E-04   23  22   2   10  25   9    6  28   9    0.000    0.000       0
+  0   2415 00:33:30.06   0.7510A   2.3963  -0.8340  -0.9145  0.087  0.00   0.000      0.  0.731E+00  0.779E-01  0.798E-03  0.402E-04   23  22   7   10  23   9    5  27   9    0.000    0.000       0
+  0   2423 00:33:36.16   0.7610A   2.3641  -0.8638  -0.9713  0.088  0.00   0.000      0.  0.731E+00  0.773E-01  0.815E-03  0.429E-04   23  22  12   10  25   9   17  18   9    0.000    0.000       0
+  0   2431 00:33:42.45   0.7980A   2.2555  -0.8713  -1.0102  0.087  0.00   0.000      0.  0.730E+00  0.765E-01  0.844E-03  0.448E-04   23  22  17   10  25   9   17  18   9    0.000    0.000       0
+  0   2438 00:33:48.09   0.8060A   2.2343  -0.8120  -0.9061  0.086  0.00   0.000      0.  0.729E+00  0.758E-01  0.853E-03  0.499E-04   28  28  19   10  24   9   15  18   9    0.000    0.000       0
+  0   2446 00:33:54.50   0.7990A   2.2534  -0.7312  -0.8377  0.086  0.00   0.000      0.  0.729E+00  0.752E-01  0.840E-03  0.481E-04   28  28  26    9  23   9   16  21   9    0.000    0.000       0
+  0   2453 00:34:00.11   0.8030A   2.2428   0.6708  -0.8407  0.085  0.00   0.000      0.  0.729E+00  0.748E-01  0.844E-03  0.500E-04   28  28  32   20  24   9   18  22   9    0.000    0.000       0
+  0   2461 00:34:06.55   0.8070A   2.2296  -0.6662  -0.8022  0.083  0.00   0.000      0.  0.730E+00  0.744E-01  0.847E-03  0.508E-04   28  28  38   11  25   9   15  20   9    0.000    0.000       0
+  0   2468 00:34:12.25   0.8190A   2.1980  -0.7442   0.8284  0.081  0.00   0.000      0.  0.730E+00  0.741E-01  0.866E-03  0.539E-04   27  27   3   15  28   9   18  10   8    0.000    0.000       0
+  0   2476 00:34:18.75   0.8050A   2.2351  -0.7719  -0.8132  0.080  0.00   0.000      0.  0.731E+00  0.739E-01  0.843E-03  0.503E-04   27  26   8   15  27   9   15  21   9    0.000    0.000       0
+  0   2483 00:34:24.38   0.8090A   2.2240  -0.7806  -0.8297  0.081  0.00   0.000      0.  0.731E+00  0.736E-01  0.830E-03  0.464E-04   27  26  13   12  25   9    8  26   9    0.000    0.000       0
+  0   2490 00:34:30.05   0.8120A   2.2176  -0.8238  -1.0138  0.081  0.00   0.000      0.  0.731E+00  0.730E-01  0.820E-03  0.436E-04   29  31  11   12  25   9   18  16   9    0.000    0.000       0
+  0   2498 00:34:36.56   0.8170A   2.2028  -0.8106  -1.0380  0.079  0.00   0.000      0.  0.731E+00  0.725E-01  0.839E-03  0.519E-04   25  32   4   12  24   9   17  16   9    0.000    0.000       0
+  0   2505 00:34:42.29   0.8210A   2.1924  -0.8000  -0.9148  0.079  0.00   0.000      0.  0.731E+00  0.723E-01  0.849E-03  0.599E-04   29  27  20   11  23   9   16  18   9    0.000    0.000       0
+  0   2512 00:34:48.03   0.8200A   2.1962   0.8173  -0.8926  0.078  0.00   0.000      0.  0.731E+00  0.722E-01  0.851E-03  0.626E-04   29  27  25   10  14   9    7  28   9    0.000    0.000       0
+  0   2520 00:34:54.63   0.8300A   2.1699   0.9722   0.9075  0.078  0.00   0.000      0.  0.732E+00  0.722E-01  0.869E-03  0.659E-04   27  23  12   20  26   9   20  27   9    0.000    0.000       0
+  0   2527 00:35:00.44   0.8300A   2.1688   0.9219  -0.8550  0.077  0.00   0.000      0.  0.732E+00  0.721E-01  0.867E-03  0.644E-04   27  23  17   10  15   9    5  27   9    0.000    0.000       0
+  0   2534 00:35:06.29   0.8370A   2.1508   0.8646  -0.9089  0.076  0.00   0.000      0.  0.732E+00  0.720E-01  0.876E-03  0.658E-04   27  22  21   10  15   9   17  21   9    0.000    0.000       0
+  0   2541 00:35:12.18   0.8460A   2.1284   0.8511  -0.9402  0.075  0.00   0.000      0.  0.733E+00  0.719E-01  0.884E-03  0.671E-04   27  22  27    8  14   9   15  22   9    0.000    0.000       0
+  0   2548 00:35:18.07   0.8440A   2.1321   0.8227  -0.8751  0.075  0.00   0.000      0.  0.733E+00  0.720E-01  0.869E-03  0.627E-04   26  28  19    8  15   9   15  20   9    0.000    0.000       0
+  0   2556 00:35:24.82   0.8420A   2.1367  -0.8777   0.9280  0.076  0.00   0.000      0.  0.734E+00  0.721E-01  0.851E-03  0.591E-04   28  27  29   13  25   5   11  29   8    0.000    0.000       0
+  0   2563 00:35:30.73   0.8470A   2.1262  -0.8805   0.9275  0.076  0.00   0.000      0.  0.735E+00  0.725E-01  0.861E-03  0.638E-04   28  31  26   12  24   5   20  29   9    0.000    0.000       0
+  0   2570 00:35:36.62   0.8340A   2.1570  -0.8055   1.0520  0.076  0.00   0.000      0.  0.737E+00  0.732E-01  0.861E-03  0.665E-04   27  23  31   12  24   6   20  28   9    0.000    0.000       0
+  0   2577 00:35:42.42   0.8240A   2.1841  -0.8080   0.9855  0.076  0.00   0.000      0.  0.738E+00  0.737E-01  0.854E-03  0.606E-04   27  23  36   15  27   9   20  27   9    0.000    0.000       0
+  0   2584 00:35:48.21   0.8300A   2.1684  -0.8588   0.9793  0.075  0.00   0.000      0.  0.739E+00  0.740E-01  0.869E-03  0.582E-04   27  23   1   17  27   9   21  13   9    0.000    0.000       0
+  0   2591 00:35:54.04   0.8350A   2.1569  -0.8263   1.0653  0.075  0.00   0.000      0.  0.739E+00  0.738E-01  0.872E-03  0.524E-04   27  31   7    9  26   9   21  14   9    0.000    0.000       0
+  0   2599 00:36:00.67   0.8240A   2.1853   0.9505   0.9587  0.074  0.00   0.000      0.  0.739E+00  0.733E-01  0.845E-03  0.434E-04   27  23  15   10  13   9   21  15   9    0.000    0.000       0
+  0   2606 00:36:06.39   0.8160A   2.2055   0.9379  -0.7837  0.074  0.00   0.000      0.  0.738E+00  0.726E-01  0.823E-03  0.398E-04   27  31  19   11  14   9   16  10   8    0.000    0.000       0
+  0   2613 00:36:12.12   0.8240A   2.1833   0.8598  -0.7210  0.075  0.00   0.000      0.  0.737E+00  0.719E-01  0.822E-03  0.365E-04   27  31  24   11  16   9    7  21  38    0.000    0.000       0
+  0   2621 00:36:18.70   0.8150A   2.2099  -0.7535  -0.6965  0.076  0.00   0.000      0.  0.736E+00  0.712E-01  0.806E-03  0.415E-04   24  26  11   10  25   9   10  24   1    0.000    0.000       0
+  0   2628 00:36:24.30   0.7910A   2.2749   0.8308  -0.9246  0.077  0.00   0.000      0.  0.736E+00  0.711E-01  0.782E-03  0.434E-04   24  26  16   20  29   9   18  17   9    0.000    0.000       0
+  0   2636 00:36:30.75   0.8060A   2.2341   0.7717  -0.9911  0.079  0.00   0.000      0.  0.735E+00  0.711E-01  0.792E-03  0.407E-04   23  27  21   20  27   8   17  16   9    0.000    0.000       0
+  0   2643 00:36:36.59   0.8400A   2.1430   0.6820  -0.9505  0.080  0.00   0.000      0.  0.735E+00  0.712E-01  0.830E-03  0.434E-04   34  35  37   20  28   8   16  15   9    0.000    0.000       0
+  0   2650 00:36:42.46   0.8330A   2.1601  -0.6908   0.9052  0.080  0.00   0.000      0.  0.735E+00  0.713E-01  0.819E-03  0.468E-04   22  28  30   22  27   6   21  29   9    0.000    0.000       0
+  0   2657 00:36:48.38   0.8510A   2.1150  -0.7924   0.8845  0.079  0.00   0.000      0.  0.736E+00  0.715E-01  0.822E-03  0.493E-04   34  36   7   22  26   8   20  27   9    0.000    0.000       0
+  0   2664 00:36:54.29   0.8440A   2.1320  -0.8716  -0.8360  0.077  0.00   0.000      0.  0.736E+00  0.718E-01  0.798E-03  0.465E-04   34  36  13   19  27   9   16  20   9    0.000    0.000       0
+  0   2671 00:37:00.22   0.8440A   2.1334  -0.7798  -0.8299  0.076  0.00   0.000      0.  0.736E+00  0.720E-01  0.787E-03  0.434E-04   35  22   7   20  27   9   15  19   9    0.000    0.000       0
+  0   2678 00:37:06.14   0.8460A   2.1266   0.7907   0.8746  0.075  0.00   0.000      0.  0.736E+00  0.722E-01  0.789E-03  0.440E-04   35  22  12   17  13   9   20  26   9    0.000    0.000       0
+  0   2685 00:37:12.06   0.8410A   2.1405   0.9946   0.8759  0.074  0.00   0.000      0.  0.736E+00  0.724E-01  0.792E-03  0.481E-04   27  21  31   22  29   8   20  26   9    0.000    0.000       0
+  0   2693 00:37:18.73   0.8320A   2.1625   0.9217  -0.9168  0.074  0.00   0.000      0.  0.736E+00  0.726E-01  0.795E-03  0.471E-04   27  21  37   21  30   8   16  20   9    0.000    0.000       0
+  0   2700 00:37:24.61   0.8440A   2.1339   0.8735  -0.9157  0.075  0.00   0.000      0.  0.736E+00  0.725E-01  0.810E-03  0.467E-04   29  32  37   10  14   9   15  20   9    0.000    0.000       0
+  0   2707 00:37:30.49   0.8440A   2.1325   0.8766  -0.9472  0.075  0.00   0.000      0.  0.735E+00  0.722E-01  0.814E-03  0.483E-04   29  32   2   10  14   9   17  19   9    0.000    0.000       0
+  0   2714 00:37:36.37   0.8420A   2.1384  -0.8637  -1.0401  0.076  0.00   0.000      0.  0.734E+00  0.719E-01  0.807E-03  0.488E-04   28  27  30    9  24   9   17  21   9    0.000    0.000       0
+  0   2721 00:37:42.26   0.8390A   2.1460  -0.8552  -0.9776  0.076  0.00   0.000      0.  0.734E+00  0.717E-01  0.800E-03  0.535E-04   28  28  33   10  23   9   16  21   9    0.000    0.000       0
+  0   2728 00:37:48.04   0.8200A   2.1943  -0.8204  -0.8997  0.075  0.00   0.000      0.  0.734E+00  0.717E-01  0.774E-03  0.524E-04   28  28  39    8  26   9   16  20   9    0.000    0.000       0
+  0   2736 00:37:54.62   0.8280A   2.1732  -0.7911  -0.8390  0.074  0.00   0.000      0.  0.734E+00  0.719E-01  0.782E-03  0.520E-04   28  28   5    7  25   9    4  18   5    0.000    0.000       0
+  0   2743 00:38:00.44   0.8330A   2.1615  -0.7074  -0.7889  0.074  0.00   0.000      0.  0.734E+00  0.723E-01  0.777E-03  0.463E-04   28  12  19    7  24   9    2  18   5    0.000    0.000       0
+  0   2750 00:38:06.29   0.8300A   2.1684  -0.6768   0.8496  0.074  0.00   0.000      0.  0.734E+00  0.727E-01  0.769E-03  0.444E-04   28  32  33   11  27   9   20  28   9    0.000    0.000       0
+  0   2757 00:38:12.09   0.8250A   2.1825  -0.7705   0.7249  0.073  0.00   0.000      0.  0.735E+00  0.732E-01  0.768E-03  0.485E-04   28  32  38   11  26   9   20  28   9    0.000    0.000       0
+  0   2765 00:38:18.73   0.8290A   2.1722  -0.7960   0.8453  0.073  0.00   0.000      0.  0.736E+00  0.741E-01  0.777E-03  0.523E-04   26  31  28   11  25   9   20  26   9    0.000    0.000       0
+  0   2772 00:38:24.49   0.8240A   2.1836  -0.8213   0.7711  0.073  0.00   0.000      0.  0.737E+00  0.748E-01  0.764E-03  0.483E-04   26  31  33   10  24   9   20  25   9    0.000    0.000       0
+  0   2779 00:38:30.21   0.8230A   2.1859   0.8458  -0.7418  0.072  0.00   0.000      0.  0.737E+00  0.754E-01  0.757E-03  0.442E-04   26  31  37   20  30   9   16  18   9    0.000    0.000       0
+  0   2787 00:38:36.77   0.8190A   2.1975   0.7937  -0.6821  0.073  0.00   0.000      0.  0.737E+00  0.758E-01  0.746E-03  0.363E-04   25  33   0   20  29   8    4  26   9    0.000    0.000       0
+  0   2794 00:38:42.42   0.7980A   2.2558   0.9381  -0.7583  0.075  0.00   0.000      0.  0.737E+00  0.758E-01  0.721E-03  0.328E-04   24  11   5   20  30   9   16  25   8    0.000    0.000       0
+  0   2801 00:38:48.03   0.8070A   2.2310   0.8539  -0.7192  0.077  0.00   0.000      0.  0.736E+00  0.757E-01  0.747E-03  0.383E-04   24  11   9   19  30   9   20  11   6    0.000    0.000       0
+  0   2809 00:38:54.54   0.8150A   2.2088  -0.8875  -0.8754  0.078  0.00   0.000      0.  0.736E+00  0.755E-01  0.778E-03  0.455E-04   26  34   9   20  10   9   18  10   9    0.000    0.000       0
+  0   2816 00:39:00.21   0.8070A   2.2316   0.9086  -1.0622  0.078  0.00   0.000      0.  0.735E+00  0.753E-01  0.771E-03  0.444E-04   24  11  19   20  10   8   17  20   9    0.000    0.000       0
+  0   2824 00:39:06.54   0.7850A   2.2926  -0.7884  -1.1339  0.079  0.00   0.000      0.  0.734E+00  0.750E-01  0.752E-03  0.439E-04   24  11  23    7  25   9   16  20   9    0.000    0.000       0
+  0   2831 00:39:12.00   0.7810A   2.3033  -0.7403  -1.0709  0.079  0.00   0.000      0.  0.734E+00  0.747E-01  0.749E-03  0.426E-04   24  11  27    7  23   9   14  20   9    0.000    0.000       0
+  0   2839 00:39:18.18   0.7660A   2.3485  -0.6510   1.0536  0.079  0.00   0.000      0.  0.733E+00  0.745E-01  0.728E-03  0.369E-04   24  11  32    6  22   9   19  10   8    0.000    0.000       0
+  0   2847 00:39:24.50   0.8000A   2.2488   0.8251   0.9727  0.079  0.00   0.000      0.  0.733E+00  0.745E-01  0.758E-03  0.382E-04   24  11  37   16  30   9   21  10   9    0.000    0.000       0
+  0   2854 00:39:30.15   0.8160A   2.2068   0.7089   0.9540  0.078  0.00   0.000      0.  0.733E+00  0.746E-01  0.785E-03  0.427E-04   25   2  25   17  30   9   21  10   9    0.000    0.000       0
+  0   2862 00:39:36.74   0.8320A   2.1639   0.7028   1.0302  0.076  0.00   0.000      0.  0.733E+00  0.751E-01  0.834E-03  0.520E-04   25   2  31   16  14   8   21  11   9    0.000    0.000       0
+  0   2869 00:39:42.56   0.8310A   2.1666   0.9097   0.9235  0.075  0.00   0.000      0.  0.734E+00  0.756E-01  0.843E-03  0.527E-04   34  17  38   14  13   9   20  11   9    0.000    0.000       0
+  0   2876 00:39:48.42   0.8390A   2.1444   1.0779   0.9357  0.074  0.00   0.000      0.  0.735E+00  0.761E-01  0.849E-03  0.538E-04   24   2   1   13  14   9   20  27   9    0.000    0.000       0
+  0   2883 00:39:54.22   0.8240A   2.1847   1.0871   0.8750  0.073  0.00   0.000      0.  0.736E+00  0.765E-01  0.830E-03  0.495E-04   38  35  11   12  15   9   20  26   9    0.000    0.000       0
+  0   2891 00:40:00.77   0.8130A   2.2134   0.9831   0.8523  0.072  0.00   0.000      0.  0.737E+00  0.766E-01  0.809E-03  0.420E-04   38  35  16    9  15   9   21  12   9    0.000    0.000       0
+  0   2898 00:40:06.53   0.8280A   2.1747   0.9625  -0.7841  0.073  0.00   0.000      0.  0.736E+00  0.765E-01  0.817E-03  0.415E-04   36  36  28    9  16   9    5  12   9    0.000    0.000       0
+  0   2905 00:40:12.29   0.8190A   2.1979  -0.9882  -0.7220  0.074  0.00   0.000      0.  0.736E+00  0.762E-01  0.809E-03  0.417E-04   29   8  18   19  10   9    5  12   9    0.000    0.000       0
+  0   2913 00:40:18.76   0.8090A   2.2242  -1.1004  -0.7462  0.075  0.00   0.000      0.  0.736E+00  0.760E-01  0.806E-03  0.428E-04   29   8  24   19   9   9   18  17   9    0.000    0.000       0
+  0   2920 00:40:24.40   0.8060A   2.2345  -1.0801  -0.8375  0.075  0.00   0.000      0.  0.735E+00  0.758E-01  0.801E-03  0.444E-04   29   8  28   17   9   9   17  17   9    0.000    0.000       0
+  0   2927 00:40:30.07   0.8130A   2.2133  -1.0720  -0.8807  0.076  0.00   0.000      0.  0.734E+00  0.757E-01  0.801E-03  0.462E-04   29   8  33   16   8   9   16  18   9    0.000    0.000       0
+  0   2935 00:40:36.61   0.8180A   2.2006  -0.8995  -0.9168  0.076  0.00   0.000      0.  0.734E+00  0.756E-01  0.808E-03  0.446E-04   30  22   1   15   9   9   16  17   9    0.000    0.000       0
+  0   2942 00:40:42.36   0.8220A   2.1888   0.9282  -1.0184  0.077  0.00   0.000      0.  0.733E+00  0.754E-01  0.814E-03  0.451E-04   30  22   7   17  13   9   15  10   9    0.000    0.000       0
+  0   2949 00:40:48.09   0.8180A   2.2006   1.2178   1.1635  0.077  0.00   0.000      0.  0.732E+00  0.752E-01  0.812E-03  0.471E-04   30  22  12   18  13   9   20  11   9    0.000    0.000       0
+  0   2957 00:40:54.66   0.8220A   2.1889   1.2090   1.1548  0.076  0.00   0.000      0.  0.731E+00  0.749E-01  0.815E-03  0.501E-04   29  22  19   18  14   9   20  11   9    0.000    0.000       0
+  0   2964 00:41:00.39   0.8180A   2.2014   1.0862  -0.9920  0.075  0.00   0.000      0.  0.731E+00  0.748E-01  0.809E-03  0.523E-04   29  22  24   19  15   9   14  18   9    0.000    0.000       0
+  0   2971 00:41:06.14   0.8310A   2.1667   0.9304  -0.9126  0.075  0.00   0.000      0.  0.731E+00  0.748E-01  0.818E-03  0.538E-04   31   1  18   17  16   9   13  19   9    0.000    0.000       0
+  0   2979 00:41:12.79   0.8310A   2.1664  -0.8724  -0.8196  0.075  0.00   0.000      0.  0.731E+00  0.751E-01  0.809E-03  0.490E-04   31   1  25   20  10   9   13  19   8    0.000    0.000       0
+  0   2986 00:41:18.60   0.8270A   2.1767  -0.8055  -0.8359  0.077  0.00   0.000      0.  0.731E+00  0.753E-01  0.794E-03  0.425E-04   31   1  31   19  25   9   17  16   9    0.000    0.000       0
+  0   2993 00:41:24.38   0.8240A   2.1847  -0.8135  -0.8360  0.078  0.00   0.000      0.  0.731E+00  0.756E-01  0.783E-03  0.389E-04   31   1  37   20  24   9   15  18   9    0.000    0.000       0
+  0   3000 00:41:30.15   0.8240A   2.1846  -0.8225  -0.8122  0.078  0.00   0.000      0.  0.731E+00  0.758E-01  0.777E-03  0.351E-04   31   1   2   20  24   9   14  19   9    0.000    0.000       0
+  0   3008 00:41:36.74   0.8260A   2.1799  -0.7306  -0.7504  0.077  0.00   0.000      0.  0.731E+00  0.762E-01  0.781E-03  0.371E-04   31   1   9   12  26   9   13  19   9    0.000    0.000       0
+  0   3015 00:41:42.54   0.8330A   2.1620  -0.7726   0.8876  0.076  0.00   0.000      0.  0.731E+00  0.766E-01  0.792E-03  0.387E-04   31   1  15   11  26   9   20  10   9    0.000    0.000       0
+  0   3022 00:41:48.36   0.8320A   2.1631  -0.8440   1.0489  0.075  0.00   0.000      0.  0.730E+00  0.769E-01  0.788E-03  0.374E-04   28   2  17   12  26   9   21  11   9    0.000    0.000       0
+  0   3029 00:41:54.17   0.8260A   2.1793  -0.8164   0.9691  0.074  0.00   0.000      0.  0.730E+00  0.772E-01  0.780E-03  0.354E-04   36  36   1   12  26   9   21  12   9    0.000    0.000       0
+  0   3037 00:42:00.78   0.8200A   2.1957  -0.7392   0.8192  0.073  0.00   0.000      0.  0.729E+00  0.774E-01  0.769E-03  0.355E-04   37  33  15   13  24   9   20  12   9    0.000    0.000       0
+  0   3044 00:42:06.53   0.8260A   2.1802  -0.7032  -0.7818  0.073  0.00   0.000      0.  0.729E+00  0.775E-01  0.776E-03  0.364E-04   31   0  37    9  25   9   17  20   9    0.000    0.000       0
+  0   3051 00:42:12.32   0.8290A   2.1724  -0.7275  -0.7699  0.073  0.00   0.000      0.  0.728E+00  0.775E-01  0.775E-03  0.354E-04   31   0   2    9  24   9   17  20   9    0.000    0.000       0
+  0   3058 00:42:18.10   0.8190A   2.1975  -0.7621  -0.7453  0.073  0.00   0.000      0.  0.728E+00  0.774E-01  0.766E-03  0.352E-04   35  31  30    8  24   8   16  20   9    0.000    0.000       0
+  0   3066 00:42:24.64   0.8220A   2.1885  -0.8590  -0.7646  0.074  0.00   0.000      0.  0.728E+00  0.773E-01  0.769E-03  0.368E-04   35  30  34   20  23   8   18  17   9    0.000    0.000       0
+  0   3073 00:42:30.34   0.8020A   2.2439  -1.0211  -0.9816  0.076  0.00   0.000      0.  0.727E+00  0.771E-01  0.750E-03  0.340E-04   36  36  33   20  20   8   17  17   9    0.000    0.000       0
+  0   3081 00:42:36.72   0.7980A   2.2555  -0.8327  -1.0312  0.077  0.00   0.000      0.  0.726E+00  0.769E-01  0.760E-03  0.361E-04   36  36  39   20  17   8   16  16   9    0.000    0.000       0
+  0   3088 00:42:42.29   0.8070A   2.2293  -0.6445  -0.9466  0.077  0.00   0.000      0.  0.725E+00  0.770E-01  0.775E-03  0.401E-04   36  36   4    6  24   8   16  15   9    0.000    0.000       0
+  0   3095 00:42:48.00   0.8240A   2.1841   0.6320  -0.9109  0.076  0.00   0.000      0.  0.725E+00  0.773E-01  0.795E-03  0.443E-04   36  36   9   20   8   5   15  14   9    0.000    0.000       0
+  0   3103 00:42:54.62   0.8240A   2.1844   0.7135  -0.8322  0.076  0.00   0.000      0.  0.726E+00  0.779E-01  0.779E-03  0.383E-04   36  36  15   19  11   8   13  16   9    0.000    0.000       0
+  0   3110 00:43:00.37   0.8100A   2.2229   0.7657  -0.7561  0.076  0.00   0.000      0.  0.726E+00  0.782E-01  0.754E-03  0.325E-04   28   2  16   19  12   9   16  12   9    0.000    0.000       0
+  0   3118 00:43:06.79   0.7970A   2.2597  -0.7130   0.7806  0.076  0.00   0.000      0.  0.726E+00  0.785E-01  0.740E-03  0.331E-04   28   2  22   14  27   9   20  11   9    0.000    0.000       0
+  0   3125 00:43:12.40   0.8030A   2.2422   0.7903   0.8808  0.075  0.00   0.000      0.  0.726E+00  0.788E-01  0.754E-03  0.387E-04   28   2  27   19  12   9   20  11   9    0.000    0.000       0
+  0   3132 00:43:18.09   0.8200A   2.1939  -0.9351   0.7699  0.075  0.00   0.000      0.  0.726E+00  0.789E-01  0.776E-03  0.422E-04   29   0  33   15  27   9   20  11   9    0.000    0.000       0
+  0   3140 00:43:24.63   0.8100A   2.2228   0.9175  -0.8220  0.074  0.00   0.000      0.  0.725E+00  0.790E-01  0.781E-03  0.452E-04   21   9  35   10  14   9   18  18   9    0.000    0.000       0
+  0   3147 00:43:30.43   0.8310A   2.1653   0.8985  -0.9567  0.073  0.00   0.000      0.  0.725E+00  0.789E-01  0.806E-03  0.474E-04   29   0   4   10  15   9   17  18   9    0.000    0.000       0
+  0   3154 00:43:36.24   0.8310A   2.1667  -0.9344  -0.9863  0.074  0.00   0.000      0.  0.724E+00  0.788E-01  0.809E-03  0.471E-04   31   2   4   20  10   8   16  18   9    0.000    0.000       0
+  0   3161 00:43:42.03   0.8260A   2.1802  -0.8974  -0.9244  0.074  0.00   0.000      0.  0.724E+00  0.788E-01  0.821E-03  0.496E-04   31   2  10   19  11   8   15  17   9    0.000    0.000       0
+  0   3169 00:43:48.62   0.8220A   2.1909  -0.9152  -0.8291  0.075  0.00   0.000      0.  0.723E+00  0.788E-01  0.843E-03  0.546E-04   31   2  16   19  10   9   13  18   9    0.000    0.000       0
+  0   3176 00:43:54.36   0.8200A   2.1943   0.9659  -0.9063  0.076  0.00   0.000      0.  0.723E+00  0.791E-01  0.851E-03  0.565E-04   31   2  21   20  14   8   17  15   9    0.000    0.000       0
+  0   3183 00:44:00.08   0.8150A   2.2094   1.2084  -1.2373  0.077  0.00   0.000      0.  0.723E+00  0.793E-01  0.855E-03  0.527E-04   31   3  26   19  14   9   17  11   9    0.000    0.000       0
+  0   3191 00:44:06.59   0.8130A   2.2143   1.0497  -1.3067  0.077  0.00   0.000      0.  0.723E+00  0.796E-01  0.858E-03  0.488E-04   31   3  32   18  15   9   16  12   9    0.000    0.000       0
+  0   3198 00:44:12.29   0.8170A   2.2042   0.8306  -1.1043  0.078  0.00   0.000      0.  0.724E+00  0.799E-01  0.852E-03  0.475E-04   31   3  37   17  16   9   15  13   9    0.000    0.000       0
+  0   3205 00:44:18.01   0.8170A   2.2031   0.6859  -0.9418  0.079  0.00   0.000      0.  0.725E+00  0.804E-01  0.853E-03  0.509E-04   30   2   3   22  29  21   13  12   9    0.000    0.000       0
+  0   3213 00:44:24.55   0.8180A   2.2017   0.7440   0.8799  0.079  0.00   0.000      0.  0.726E+00  0.813E-01  0.857E-03  0.543E-04   30   2   9   16  13   9   20  10   9    0.000    0.000       0
+  0   3220 00:44:30.23   0.8140A   2.2102   0.8322   0.9305  0.078  0.00   0.000      0.  0.727E+00  0.822E-01  0.863E-03  0.569E-04   30   3  14   16  13   9   20  11   9    0.000    0.000       0
+  0   3228 00:44:36.57   0.7780A   2.3148   0.8372   0.8072  0.077  0.00   0.000      0.  0.728E+00  0.831E-01  0.832E-03  0.521E-04   25  27  20   17  14   9   20  13   9    0.000    0.000       0
+  0   3235 00:44:42.03   0.7680A   2.3446   0.7861   0.8009  0.076  0.00   0.000      0.  0.729E+00  0.839E-01  0.820E-03  0.460E-04   25  27  24   16  14   9   20  14   9    0.000    0.000       0
+  0   3243 00:44:48.30   0.7940A   2.2662  -0.7563   0.7558  0.076  0.00   0.000      0.  0.730E+00  0.847E-01  0.838E-03  0.412E-04   25  27  29   11  23   9   16  28   9    0.000    0.000       0
+  0   3251 00:44:54.74   0.8010A   2.2465   0.7857   0.7962  0.076  0.00   0.000      0.  0.730E+00  0.852E-01  0.843E-03  0.392E-04   25   3  25   20  20   8   21  15   9    0.000    0.000       0
+  0   3258 00:45:00.28   0.7800A   2.3074   0.7844  -1.0010  0.077  0.00   0.000      0.  0.730E+00  0.854E-01  0.820E-03  0.350E-04   25   3  30   20  10   8   18  10   9    0.000    0.000       0
+  0   3266 00:45:06.51   0.7820A   2.3015  -0.8389  -0.9890  0.078  0.00   0.000      0.  0.729E+00  0.853E-01  0.816E-03  0.305E-04   25   3  36    9  25   9   18  11   9    0.000    0.000       0
+  0   3274 00:45:12.70   0.7740A   2.3259  -0.7815  -0.9288  0.079  0.00   0.000      0.  0.728E+00  0.849E-01  0.803E-03  0.290E-04   25   3   1   10  23   9   16  16   9    0.000    0.000       0
+  0   3281 00:45:18.20   0.7890A   2.2807  -0.7074  -0.8923  0.080  0.00   0.000      0.  0.727E+00  0.845E-01  0.815E-03  0.305E-04   25   3   6    7  27   5   16  15   9    0.000    0.000       0
+  0   3289 00:45:24.61   0.8060A   2.2337  -0.6693  -0.9109  0.080  0.00   0.000      0.  0.726E+00  0.839E-01  0.838E-03  0.362E-04   27   8  11   18  10   9   15  14   9    0.000    0.000       0
+  0   3296 00:45:30.17   0.7830A   2.2996  -0.7223  -0.9136  0.079  0.00   0.000      0.  0.724E+00  0.837E-01  0.818E-03  0.385E-04   27   8  16    6  31   3   17  18   9    0.000    0.000       0
+  0   3304 00:45:36.42   0.7770A   2.3171  -0.7801  -0.9130  0.078  0.00   0.000      0.  0.723E+00  0.836E-01  0.819E-03  0.432E-04   27   8  21    7  30   6   16  18   9    0.000    0.000       0
+  0   3312 00:45:42.62   0.7810A   2.3033  -0.8107  -0.8438  0.077  0.00   0.000      0.  0.723E+00  0.840E-01  0.832E-03  0.499E-04   27   8  27    6  30   8   14  18   9    0.000    0.000       0
+  0   3319 00:45:48.05   0.7790A   2.3121  -0.8176  -0.7704  0.077  0.00   0.000      0.  0.723E+00  0.846E-01  0.828E-03  0.496E-04   27   8  31   13  10   9   14  18   9    0.000    0.000       0
+  0   3327 00:45:54.32   0.7880A   2.2832   0.8855   0.8121  0.077  0.00   0.000      0.  0.723E+00  0.853E-01  0.839E-03  0.483E-04   27   8  37   21  28   8   20  11   9    0.000    0.000       0
+  0   3335 00:46:00.73   0.8090A   2.2256   0.8887   0.8657  0.078  0.00   0.000      0.  0.722E+00  0.859E-01  0.852E-03  0.449E-04   26   3  18   19  30   9   20  13   9    0.000    0.000       0
+  0   3342 00:46:06.36   0.8020A   2.2450   0.8041   0.8349  0.078  0.00   0.000      0.  0.722E+00  0.864E-01  0.836E-03  0.432E-04   26   3  23   18  13   9   20  13   9    0.000    0.000       0
+  0   3349 00:46:12.03   0.8170A   2.2023   0.8687   0.8681  0.079  0.00   0.000      0.  0.722E+00  0.869E-01  0.846E-03  0.432E-04   26   3  28   19  14   9   20  13   9    0.000    0.000       0
+  0   3357 00:46:18.62   0.8190A   2.1965   0.7978   0.8737  0.079  0.00   0.000      0.  0.722E+00  0.875E-01  0.847E-03  0.453E-04   25   3  34   19  15   9   20  13   9    0.000    0.000       0
+  0   3364 00:46:24.32   0.8090A   2.2244  -0.8629   0.9049  0.079  0.00   0.000      0.  0.722E+00  0.882E-01  0.846E-03  0.458E-04   23  39  18   21  12   8   20  13   9    0.000    0.000       0
+  0   3371 00:46:30.03   0.8190A   2.1980  -1.0560   0.8227  0.079  0.00   0.000      0.  0.722E+00  0.888E-01  0.870E-03  0.462E-04   28   0  20   20  23   8   20  13   9    0.000    0.000       0
+  0   3379 00:46:36.57   0.8200A   2.1961  -1.0030  -0.8131  0.080  0.00   0.000      0.  0.722E+00  0.894E-01  0.876E-03  0.439E-04   27   2  25   20  20   8   17  19   9    0.000    0.000       0
+  0   3386 00:46:42.29   0.8160A   2.2057  -0.7617  -0.8339  0.080  0.00   0.000      0.  0.722E+00  0.898E-01  0.868E-03  0.395E-04   26  39  30   14  27   9   18  24   9    0.000    0.000       0
+  0   3394 00:46:48.81   0.8110A   2.2198  -0.8174   0.8225  0.079  0.00   0.000      0.  0.721E+00  0.901E-01  0.867E-03  0.427E-04   27  39  36   13  26   9   20  29   9    0.000    0.000       0
+  0   3401 00:46:54.54   0.8200A   2.1960  -0.8439  -0.8834  0.079  0.00   0.000      0.  0.721E+00  0.903E-01  0.874E-03  0.418E-04   28   8  39   11  25   9    7  28   9    0.000    0.000       0
+  0   3408 00:47:00.28   0.8170A   2.2045  -0.9614  -1.0175  0.079  0.00   0.000      0.  0.720E+00  0.904E-01  0.886E-03  0.482E-04   30   4   4   11  25   9    7  27   9    0.000    0.000       0
+  0   3416 00:47:06.76   0.8050A   2.2371  -0.9983  -0.9713  0.079  0.00   0.000      0.  0.720E+00  0.906E-01  0.890E-03  0.557E-04   30   4  10    9  24   9   16  10   9    0.000    0.000       0
+  0   3423 00:47:12.37   0.8030A   2.2404   1.0719  -1.0349  0.079  0.00   0.000      0.  0.719E+00  0.906E-01  0.878E-03  0.487E-04   30   4  15   20  12   9   15  11   9    0.000    0.000       0
+  0   3431 00:47:18.79   0.8010A   2.2474  -0.9613  -0.9309  0.080  0.00   0.000      0.  0.718E+00  0.903E-01  0.861E-03  0.440E-04   25   3   9   10  23   8   14  12   9    0.000    0.000       0
+  0   3438 00:47:24.45   0.8080A   2.2269  -0.9399  -0.7881  0.080  0.00   0.000      0.  0.717E+00  0.899E-01  0.855E-03  0.436E-04   24   2  14   20  13   8   13  12   9    0.000    0.000       0
+  0   3445 00:47:30.08   0.7960A   2.2618  -0.8312  -0.7963  0.081  0.00   0.000      0.  0.716E+00  0.898E-01  0.841E-03  0.430E-04   25  10  12   12  21   8   18  14   9    0.000    0.000       0
+  0   3453 00:47:36.56   0.8170A   2.2031  -0.7917  -0.8934  0.082  0.00   0.000      0.  0.715E+00  0.899E-01  0.855E-03  0.393E-04   24  39  39   11  20   8   18  17   9    0.000    0.000       0
+  0   3460 00:47:42.30   0.8230A   2.1863  -0.7584  -1.0553  0.082  0.00   0.000      0.  0.715E+00  0.901E-01  0.861E-03  0.384E-04   24  39   4   13  26   9   17  16   9    0.000    0.000       0
+  0   3467 00:47:48.01   0.8100A   2.2233  -0.7129  -1.0045  0.081  0.00   0.000      0.  0.715E+00  0.904E-01  0.857E-03  0.415E-04   28  13  37   10  28   9   16  16   9    0.000    0.000       0
+  0   3475 00:47:54.56   0.8080A   2.2284  -0.8370  -0.9408  0.081  0.00   0.000      0.  0.716E+00  0.906E-01  0.852E-03  0.423E-04   27  13   2   10  27   9   14  16   9    0.000    0.000       0
+  0   3482 00:48:00.19   0.8030A   2.2427  -0.8075  -0.8783  0.081  0.00   0.000      0.  0.716E+00  0.908E-01  0.848E-03  0.455E-04   27  13   7   11  26   9   12  16   9    0.000    0.000       0
+  0   3490 00:48:06.75   0.8280A   2.1727  -0.7962  -0.8100  0.081  0.00   0.000      0.  0.716E+00  0.910E-01  0.864E-03  0.479E-04   33   5  13   11  25   9   11  16   9    0.000    0.000       0
+  0   3497 00:48:12.56   0.8300A   2.1679  -0.7586  -0.8932  0.081  0.00   0.000      0.  0.716E+00  0.909E-01  0.857E-03  0.438E-04   33   5  18   11  24   9   17  21   9    0.000    0.000       0
+  0   3504 00:48:18.44   0.8450A   2.1310   0.8143  -0.8918  0.082  0.00   0.000      0.  0.715E+00  0.905E-01  0.859E-03  0.384E-04   22  37  16   19  30   9   16  20   9    0.000    0.000       0
+  0   3511 00:48:24.28   0.8340A   2.1575   0.7880  -0.8530  0.082  0.00   0.000      0.  0.714E+00  0.900E-01  0.839E-03  0.331E-04   26   5   0   19  30   9   18  26   9    0.000    0.000       0
+  0   3518 00:48:30.07   0.8270A   2.1766   0.6527  -0.8909  0.082  0.00   0.000      0.  0.713E+00  0.896E-01  0.818E-03  0.292E-04   26   5   5   12  14   9   18  24   9    0.000    0.000       0
+  0   3526 00:48:36.56   0.8100A   2.2229  -0.6504  -0.8914  0.081  0.00   0.000      0.  0.712E+00  0.892E-01  0.796E-03  0.302E-04   27  11  25    8  39  37   17  23   9    0.000    0.000       0
+  0   3533 00:48:42.28   0.8320A   2.1635  -0.6613  -0.8194  0.080  0.00   0.000      0.  0.711E+00  0.891E-01  0.821E-03  0.358E-04   27  11  30    8  39   1   16  23   9    0.000    0.000       0
+  0   3540 00:48:48.18   0.8470A   2.1260   0.6365  -0.8073  0.080  0.00   0.000      0.  0.711E+00  0.893E-01  0.844E-03  0.452E-04   29  22  34    6  14   9   15  22   9    0.000    0.000       0
+  0   3547 00:48:54.09   0.8400A   2.1428  -0.6844   0.9054  0.079  0.00   0.000      0.  0.712E+00  0.896E-01  0.829E-03  0.435E-04   25   9  39   20  14   8   19  10   8    0.000    0.000       0
+  0   3555 00:49:00.77   0.8340A   2.1578   0.7664   1.0528  0.080  0.00   0.000      0.  0.711E+00  0.899E-01  0.824E-03  0.426E-04   25   9   4   20  30   9   20  10   9    0.000    0.000       0
+  0   3562 00:49:06.56   0.8250A   2.1809   0.8198   1.0182  0.081  0.00   0.000      0.  0.711E+00  0.901E-01  0.825E-03  0.418E-04   25   9   9   18  13   9   20  11   9    0.000    0.000       0
+  0   3569 00:49:12.30   0.8170A   2.2039   0.9761  -1.0536  0.081  0.00   0.000      0.  0.711E+00  0.902E-01  0.825E-03  0.420E-04   25   1  36   19  14   9   11  10   9    0.000    0.000       0
+  0   3576 00:49:18.05   0.8320A   2.1629   0.9123  -1.0970  0.081  0.00   0.000      0.  0.712E+00  0.905E-01  0.855E-03  0.500E-04   25   1   1   12  15   9    9  11   9    0.000    0.000       0
+  0   3584 00:49:24.70   0.8370A   2.1494   0.9487  -1.0085  0.081  0.00   0.000      0.  0.712E+00  0.911E-01  0.863E-03  0.553E-04   25   1   6   18  15   9   10  14   8    0.000    0.000       0
+  0   3591 00:49:30.58   0.8430A   2.1362   0.9165  -1.0703  0.082  0.00   0.000      0.  0.712E+00  0.916E-01  0.869E-03  0.559E-04   33   7  33   18  16   9    8  14   8    0.000    0.000       0
+  0   3598 00:49:36.44   0.8300A   2.1679   1.0025  -1.1064  0.082  0.00   0.000      0.  0.713E+00  0.920E-01  0.851E-03  0.509E-04   24  12  18   20  17   9   17  15   9    0.000    0.000       0
+  0   3605 00:49:42.34   0.8460A   2.1271   0.8177  -1.1291  0.082  0.00   0.000      0.  0.713E+00  0.919E-01  0.848E-03  0.440E-04   34   7   1   18  17   9   16  15   9    0.000    0.000       0
+  0   3612 00:49:48.21   0.8390A   2.1443  -0.8723  -1.0763  0.082  0.00   0.000      0.  0.712E+00  0.916E-01  0.832E-03  0.376E-04   34   7   6   10  26   9   15  15   9    0.000    0.000       0
+  0   3619 00:49:54.07   0.8400A   2.1429  -0.9192  -0.9044  0.082  0.00   0.000      0.  0.711E+00  0.911E-01  0.823E-03  0.351E-04   27  15   9   10  25   9   13  16   9    0.000    0.000       0
+  0   3627 00:50:00.83   0.8470A   2.1258  -0.8556  -0.8261  0.080  0.00   0.000      0.  0.710E+00  0.905E-01  0.826E-03  0.378E-04   30  16  25    9  24   9   11  16   9    0.000    0.000       0
+  0   3634 00:50:06.74   0.8460A   2.1265  -0.7262   0.7873  0.079  0.00   0.000      0.  0.709E+00  0.900E-01  0.813E-03  0.371E-04   30  16  31    8  23   9   13   9   4    0.000    0.000       0
+  0   3641 00:50:12.68   0.8520A   2.1135  -0.6866   0.7844  0.079  0.00   0.000      0.  0.708E+00  0.896E-01  0.816E-03  0.405E-04   30  16  36    9  24   9   15   9   6    0.000    0.000       0
+  0   3648 00:50:18.72   0.8690A   2.0715   0.7024  -0.8844  0.079  0.00   0.000      0.  0.708E+00  0.894E-01  0.829E-03  0.437E-04   24  16   2   20  28   9   17  23   9    0.000    0.000       0
+  0   3655 00:50:24.81   0.8720A   2.0645   0.7329  -0.9833  0.079  0.00   0.000      0.  0.708E+00  0.894E-01  0.823E-03  0.432E-04   28  16   9    9  10   8   17  24   9    0.000    0.000       0
+  0   3661 00:50:30.01   0.8700A   2.0678   0.8267  -0.9668  0.078  0.00   0.000      0.  0.708E+00  0.893E-01  0.812E-03  0.424E-04   26  14  36    9  12   9   16  24   9    0.000    0.000       0
+  0   3668 00:50:36.10   0.8740A   2.0585   0.9218  -0.8823  0.078  0.00   0.000      0.  0.708E+00  0.894E-01  0.819E-03  0.474E-04   27  16  19    9  13   9    5  12   9    0.000    0.000       0
+  0   3675 00:50:42.21   0.8700A   2.0690   0.8113  -0.8291  0.078  0.00   0.000      0.  0.708E+00  0.896E-01  0.811E-03  0.501E-04   26  13  14    9  15   9   13  22   9    0.000    0.000       0
+  0   3682 00:50:48.25   0.8580A   2.0989   0.6919  -1.0125  0.079  0.00   0.000      0.  0.708E+00  0.900E-01  0.793E-03  0.468E-04   26  13  19    8  16   9   17  16   9    0.000    0.000       0
+  0   3689 00:50:54.25   0.8600A   2.0919  -0.8635  -1.0944  0.081  0.00   0.000      0.  0.708E+00  0.903E-01  0.788E-03  0.431E-04   27  15  37   20  10   9   16  15   9    0.000    0.000       0
+  0   3696 00:51:00.19   0.8350A   2.1558  -0.8289  -1.0380  0.084  0.00   0.000      0.  0.708E+00  0.904E-01  0.760E-03  0.398E-04   26  15   2   19  10   9   18  17   9    0.000    0.000       0
+  0   3704 00:51:06.77   0.8140A   2.2117  -0.7519  -1.1186  0.086  0.00   0.000      0.  0.708E+00  0.904E-01  0.737E-03  0.387E-04   26  15   7   18  10   9   17  18   9    0.000    0.000       0
+  0   3711 00:51:12.46   0.8110A   2.2208  -0.7040  -1.0042  0.086  0.00   0.000      0.  0.708E+00  0.904E-01  0.748E-03  0.397E-04   26  15  12    5  28   9   16  18   9    0.000    0.000       0
+  0   3718 00:51:18.14   0.8130A   2.2134  -0.9176  -0.9960  0.086  0.00   0.000      0.  0.708E+00  0.903E-01  0.753E-03  0.399E-04   26  15  17    5  27   9   16  20   9    0.000    0.000       0
+  0   3726 00:51:24.70   0.8240A   2.1854  -0.9378  -0.9595  0.085  0.00   0.000      0.  0.707E+00  0.900E-01  0.741E-03  0.366E-04   26  15  23    5  26   9   15  20   9    0.000    0.000       0
+  0   3733 00:51:30.50   0.8380A   2.1469  -0.8646  -0.9022  0.085  0.00   0.000      0.  0.707E+00  0.897E-01  0.742E-03  0.375E-04   26  15  28    3  25   9   13  19   9    0.000    0.000       0
+  0   3740 00:51:36.40   0.8350A   2.1551  -0.7792  -0.8326  0.086  0.00   0.000      0.  0.706E+00  0.893E-01  0.730E-03  0.355E-04   25  11  37    6  24   9   17  26   9    0.000    0.000       0
+  0   3747 00:51:42.28   0.8400A   2.1429  -0.7501  -0.8220  0.086  0.00   0.000      0.  0.706E+00  0.890E-01  0.719E-03  0.352E-04   25  11   2    9  23   9    8  19   8    0.000    0.000       0
+  0   3754 00:51:48.25   0.8570A   2.1006  -0.7258  -0.7967  0.086  0.00   0.000      0.  0.705E+00  0.887E-01  0.724E-03  0.369E-04   26  15   6    7  22   9    8  18   8    0.000    0.000       0
+  0   3761 00:51:54.24   0.8550A   2.1047  -0.8243   0.7845  0.085  0.00   0.000      0.  0.705E+00  0.883E-01  0.727E-03  0.401E-04   26  15  11   16  28   9   20  28   9    0.000    0.000       0
+  0   3768 00:52:00.22   0.8520A   2.1129  -0.8473  -0.9827  0.085  0.00   0.000      0.  0.705E+00  0.880E-01  0.730E-03  0.409E-04   26  15  17   16  27   9   17  16   9    0.000    0.000       0
+  0   3775 00:52:06.17   0.8470A   2.1239  -0.7181  -1.0160  0.085  0.00   0.000      0.  0.705E+00  0.877E-01  0.721E-03  0.373E-04   26  15  22   17  27   9   16  16   9    0.000    0.000       0
+  0   3782 00:52:12.13   0.8570A   2.1003  -0.6353  -0.9586  0.085  0.00   0.000      0.  0.704E+00  0.872E-01  0.722E-03  0.385E-04   26  15  27   12  27   9   15  17   9    0.000    0.000       0
+  0   3789 00:52:18.22   0.8690A   2.0707  -0.6948  -0.8718  0.086  0.00   0.000      0.  0.703E+00  0.867E-01  0.725E-03  0.400E-04   26  14  32   17  10   9   16  20   9    0.000    0.000       0
+  0   3796 00:52:24.31   0.8750A   2.0567  -0.6223  -0.9126  0.085  0.00   0.000      0.  0.703E+00  0.862E-01  0.719E-03  0.387E-04   26  14  37   16  10   9   16  21   9    0.000    0.000       0
+  0   3803 00:52:30.44   0.8730A   2.0623   0.6710  -0.8754  0.084  0.00   0.000      0.  0.703E+00  0.858E-01  0.704E-03  0.368E-04   25  10  15   23  30  24   15  21   9    0.000    0.000       0
+  0   3810 00:52:36.54   0.8680A   2.0729   0.6457  -0.7949  0.083  0.00   0.000      0.  0.702E+00  0.855E-01  0.694E-03  0.368E-04   27  18  13   13  13   9   14  21   9    0.000    0.000       0
+  0   3817 00:52:42.66   0.8730A   2.0616   0.9254  -0.8063  0.081  0.00   0.000      0.  0.702E+00  0.855E-01  0.705E-03  0.421E-04   26  14  17   20  17   8    9  20   8    0.000    0.000       0
+  0   3824 00:52:48.75   0.8680A   2.0729   0.8719  -0.7560  0.080  0.00   0.000      0.  0.702E+00  0.856E-01  0.705E-03  0.431E-04   26  14  22   10  14   9    8  20   7    0.000    0.000       0
+  0   3831 00:52:54.81   0.8660A   2.0785   0.9092  -0.7096  0.079  0.00   0.000      0.  0.703E+00  0.857E-01  0.708E-03  0.439E-04   26  14  27   10  15   9    7  20   7    0.000    0.000       0
+  0   3837 00:53:00.02   0.8700A   2.0693  -0.9303  -0.7071  0.078  0.00   0.000      0.  0.703E+00  0.857E-01  0.715E-03  0.444E-04   26  14  31   10  26   9    6  27   9    0.000    0.000       0
+  0   3844 00:53:06.09   0.8650A   2.0800  -0.8945  -0.6855  0.076  0.00   0.000      0.  0.703E+00  0.858E-01  0.716E-03  0.469E-04   26  14   0   11  25   9    7  20   8    0.000    0.000       0
+  0   3851 00:53:12.09   0.8570A   2.1010  -0.8412  -0.6982  0.076  0.00   0.000      0.  0.703E+00  0.861E-01  0.714E-03  0.483E-04   24  11   7   11  24   9    6  20   8    0.000    0.000       0
+  0   3858 00:53:18.13   0.8520A   2.1135   0.7760  -0.7144  0.077  0.00   0.000      0.  0.704E+00  0.863E-01  0.703E-03  0.446E-04   24  19   0   10  14   9    5  20   7    0.000    0.000       0
+  0   3865 00:53:24.08   0.8550A   2.1061  -0.7994  -0.7260  0.077  0.00   0.000      0.  0.704E+00  0.866E-01  0.703E-03  0.404E-04   24  19   5    9  26   9   17  16   9    0.000    0.000       0
+  0   3872 00:53:30.04   0.8470A   2.1261  -0.8040  -0.7276  0.078  0.00   0.000      0.  0.704E+00  0.868E-01  0.691E-03  0.356E-04   25  14  20   11  25   9   17  20   9    0.000    0.000       0
+  0   3880 00:53:36.82   0.8480A   2.1235  -0.7530   0.8252  0.078  0.00   0.000      0.  0.705E+00  0.872E-01  0.702E-03  0.387E-04   23  19  16   10  24   9   21  10   9    0.000    0.000       0
+  0   3887 00:53:42.77   0.8490A   2.1210  -0.6862   0.7609  0.078  0.00   0.000      0.  0.705E+00  0.877E-01  0.712E-03  0.414E-04   23  19  21    8  23   9   21  11   9    0.000    0.000       0
+  0   3894 00:53:48.73   0.8440A   2.1334  -0.6395   0.6899  0.078  0.00   0.000      0.  0.705E+00  0.881E-01  0.709E-03  0.423E-04   24  15   3    8  27   9   20  11   9    0.000    0.000       0
+  0   3901 00:53:54.62   0.8360A   2.1537  -0.6572  -0.7820  0.079  0.00   0.000      0.  0.705E+00  0.883E-01  0.689E-03  0.379E-04   25  10  38   14  10   9   17  18   9    0.000    0.000       0
+  0   3908 00:54:00.51   0.8470A   2.1245  -0.7236  -0.7668  0.079  0.00   0.000      0.  0.705E+00  0.884E-01  0.695E-03  0.377E-04   25  10   3   15  10   9   16  19   9    0.000    0.000       0
+  0   3915 00:54:06.51   0.8540A   2.1069   0.6851   0.7274  0.079  0.00   0.000      0.  0.705E+00  0.883E-01  0.697E-03  0.373E-04   22  11   6    9  12   9   20  11   9    0.000    0.000       0
+  0   3922 00:54:12.56   0.8880A   2.0264   0.7882  -0.7537  0.079  0.00   0.000      0.  0.705E+00  0.882E-01  0.716E-03  0.396E-04   22   9  11    8  13   9   18  10   8    0.000    0.000       0
+  0   3929 00:54:18.76   0.8740A   2.0592   0.8663  -0.7258  0.078  0.00   0.000      0.  0.704E+00  0.881E-01  0.692E-03  0.357E-04   25   9  18    7  14   9   17  10   9    0.000    0.000       0
+  0   3935 00:54:24.02   0.8780A   2.0507   0.8482  -0.6410  0.078  0.00   0.000      0.  0.704E+00  0.880E-01  0.685E-03  0.327E-04   23  19  38    7  15   9   18  11   9    0.000    0.000       0
+  0   3942 00:54:30.06   0.8520A   2.1127   0.7613  -0.6909  0.078  0.00   0.000      0.  0.703E+00  0.880E-01  0.674E-03  0.339E-04   22  10  21    7  16   9    6  29   8    0.000    0.000       0
+  0   3949 00:54:36.05   0.8590A   2.0954   0.6499  -0.6637  0.078  0.00   0.000      0.  0.704E+00  0.883E-01  0.694E-03  0.386E-04   27   8  29    7  16   9    5  29   8    0.000    0.000       0
+  0   3957 00:54:42.84   0.8500A   2.1166   0.6250   0.7829  0.079  0.00   0.000      0.  0.704E+00  0.888E-01  0.708E-03  0.466E-04   27   8  35    1  30   2   20  10   9    0.000    0.000       0
+  0   3964 00:54:48.85   0.8640A   2.0824  -0.7413   1.0091  0.079  0.00   0.000      0.  0.705E+00  0.893E-01  0.733E-03  0.484E-04   24   7  38    9  27   9   20  10   9    0.000    0.000       0
+  0   3970 00:54:54.09   0.8770A   2.0517  -0.9595   1.0769  0.079  0.00   0.000      0.  0.706E+00  0.896E-01  0.753E-03  0.478E-04   28   9   4   10  27   9   20  11   9    0.000    0.000       0
+  0   3977 00:55:00.22   0.8750A   2.0572  -1.0356   1.0658  0.079  0.00   0.000      0.  0.706E+00  0.898E-01  0.759E-03  0.476E-04   28   9   9   11  26   9   21  12   9    0.000    0.000       0
+  0   3984 00:55:06.30   0.8670A   2.0769  -1.0115   1.0377  0.079  0.00   0.000      0.  0.707E+00  0.898E-01  0.757E-03  0.477E-04   27   7  15   10  24   9   21  13   9    0.000    0.000       0
+  0   3991 00:55:12.38   0.8750A   2.0570  -0.9631   0.8860  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.758E-03  0.471E-04   28   7  21   10  23   9   21  13   9    0.000    0.000       0
+  0   3998 00:55:18.50   0.8740A   2.0592   0.9179   0.9355  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.764E-03  0.509E-04   25  12  36   12  15   9   20  14   9    0.000    0.000       0
+  0   4005 00:55:24.65   0.8800A   2.0459   0.9186  -0.8206  0.078  0.00   0.000      0.  0.706E+00  0.897E-01  0.771E-03  0.488E-04   32  12   3   12  16   9   17  17   9    0.000    0.000       0
+  0   4012 00:55:30.81   0.8800A   2.0461   0.8779  -0.8635  0.078  0.00   0.000      0.  0.706E+00  0.896E-01  0.777E-03  0.491E-04   34  10  22   11  16   9   17  16   9    0.000    0.000       0
+  0   4018 00:55:36.07   0.8710A   2.0662  -0.9093  -0.8866  0.079  0.00   0.000      0.  0.706E+00  0.897E-01  0.769E-03  0.499E-04   26  14  32   19  10   9   16  16   9    0.000    0.000       0
+  0   4025 00:55:42.19   0.8800A   2.0443  -1.1417  -1.0284  0.080  0.00   0.000      0.  0.706E+00  0.899E-01  0.772E-03  0.499E-04   28  25  35   20  15   8   17  14   9    0.000    0.000       0
+  0   4032 00:55:48.32   0.8770A   2.0530  -0.8611  -0.8974  0.082  0.00   0.000      0.  0.707E+00  0.901E-01  0.773E-03  0.481E-04   24  25  34   17  10   9   17  13   9    0.000    0.000       0
+  0   4039 00:55:54.46   0.8770A   2.0523  -0.7174  -1.0735  0.082  0.00   0.000      0.  0.707E+00  0.900E-01  0.764E-03  0.417E-04   24  25  39    9  26   9   17  19   9    0.000    0.000       0
+  0   4046 00:56:00.61   0.8790A   2.0484  -0.6903  -1.0242  0.081  0.00   0.000      0.  0.707E+00  0.898E-01  0.759E-03  0.389E-04   24  23  37    9  25   9   16  21   9    0.000    0.000       0
+  0   4053 00:56:06.69   0.8620A   2.0873  -0.7238  -0.9666  0.080  0.00   0.000      0.  0.706E+00  0.894E-01  0.738E-03  0.356E-04   24  23   2   14  28   9   17  16   9    0.000    0.000       0
+  0   4060 00:56:12.71   0.8430A   2.1359  -0.8499  -0.9455  0.079  0.00   0.000      0.  0.705E+00  0.888E-01  0.716E-03  0.328E-04   22  10   1   14  27   9   17  15   9    0.000    0.000       0
+  0   4067 00:56:18.56   0.8360A   2.1531  -0.8476  -0.8144  0.078  0.00   0.000      0.  0.704E+00  0.885E-01  0.712E-03  0.336E-04   22  10   5   14  26   9   16  15   9    0.000    0.000       0
+  0   4074 00:56:24.33   0.8300A   2.1679  -0.7440  -0.7700  0.077  0.00   0.000      0.  0.703E+00  0.884E-01  0.709E-03  0.387E-04   22  10   8   13  25   9   15  18   9    0.000    0.000       0
+  0   4081 00:56:30.13   0.8260A   2.1793   0.7364   0.7601  0.077  0.00   0.000      0.  0.703E+00  0.886E-01  0.710E-03  0.433E-04   38   2  20   15  12   9   20  26   9    0.000    0.000       0
+  0   4089 00:56:36.77   0.8320A   2.1645   0.8803  -0.9768  0.077  0.00   0.000      0.  0.704E+00  0.891E-01  0.716E-03  0.464E-04   38   2  25   19  21   9   17  18   9    0.000    0.000       0
+  0   4096 00:56:42.48   0.7990A   2.2538   0.7560  -1.0245  0.078  0.00   0.000      0.  0.705E+00  0.895E-01  0.697E-03  0.443E-04   24  14  21   19  22   9   16  18   9    0.000    0.000       0
+  0   4103 00:56:48.12   0.8040A   2.2384   0.6744  -0.9466  0.079  0.00   0.000      0.  0.706E+00  0.898E-01  0.694E-03  0.416E-04   24  14  25   19  30   9   14  18   9    0.000    0.000       0
+  0   4111 00:56:54.74   0.8240A   2.1833   0.8165  -0.8557  0.081  0.00   0.000      0.  0.706E+00  0.899E-01  0.708E-03  0.397E-04   24  14  30   19  30   9   14  15   9    0.000    0.000       0
+  0   4118 00:57:00.62   0.8590A   2.0947  -0.7850  -0.8143  0.082  0.00   0.000      0.  0.706E+00  0.896E-01  0.724E-03  0.383E-04   24  14  34    8  28   9   11  19   9    0.000    0.000       0
+  0   4125 00:57:06.59   0.8560A   2.1034  -0.9209  -0.8248  0.082  0.00   0.000      0.  0.706E+00  0.890E-01  0.715E-03  0.364E-04   24  14  39    8  27   9   18  24   9    0.000    0.000       0
+  0   4132 00:57:12.70   0.8780A   2.0498  -0.9207  -0.9762  0.081  0.00   0.000      0.  0.705E+00  0.883E-01  0.724E-03  0.373E-04   22  25  15    6  27   9   17  23   9    0.000    0.000       0
+  0   4139 00:57:18.78   0.8770A   2.0523  -0.8623  -0.9892  0.080  0.00   0.000      0.  0.704E+00  0.878E-01  0.717E-03  0.391E-04   36   7  38    6  26   9   16  23   9    0.000    0.000       0
+  0   4145 00:57:24.02   0.8690A   2.0712  -0.8074  -0.9513  0.080  0.00   0.000      0.  0.703E+00  0.873E-01  0.701E-03  0.368E-04   36   7   2    5  25   9   15  23   9    0.000    0.000       0
+  0   4152 00:57:30.11   0.8720A   2.0635  -0.8491  -0.9097  0.079  0.00   0.000      0.  0.702E+00  0.868E-01  0.696E-03  0.358E-04   36   7   7   15  27   9   14  23   9    0.000    0.000       0
+  0   4159 00:57:36.16   0.8630A   2.0850  -0.8430  -0.8590  0.080  0.00   0.000      0.  0.702E+00  0.863E-01  0.680E-03  0.341E-04   36  34  30   14  26   9   13  23   9    0.000    0.000       0
+  0   4166 00:57:42.17   0.8610A   2.0895  -0.7615  -0.7758  0.080  0.00   0.000      0.  0.701E+00  0.859E-01  0.677E-03  0.363E-04   36  34  35   13  25   9   12  22   9    0.000    0.000       0
+  0   4173 00:57:48.16   0.8510A   2.1142   0.7385  -0.7258  0.080  0.00   0.000      0.  0.701E+00  0.858E-01  0.673E-03  0.385E-04   25  27  13   17  15   9   14  22   9    0.000    0.000       0
+  0   4180 00:57:54.06   0.8300A   2.1690   0.7753  -0.7327  0.080  0.00   0.000      0.  0.702E+00  0.858E-01  0.650E-03  0.368E-04   22  27  11    9  13   9   17  18   9    0.000    0.000       0
+  0   4188 00:58:00.51   0.7970A   2.2582   0.8146  -0.7767  0.081  0.00   0.000      0.  0.702E+00  0.861E-01  0.627E-03  0.379E-04   22  27  16    9  14   9   18  16   9    0.000    0.000       0
+  0   4196 00:58:06.62   0.7570A   2.3766  -0.8739  -0.7881  0.081  0.00   0.000      0.  0.703E+00  0.865E-01  0.597E-03  0.372E-04   22  27  20   19  27   9   17  16   9    0.000    0.000       0
+  0   4204 00:58:12.69   0.7550A   2.3853   0.7532  -0.7423  0.082  0.00   0.000      0.  0.703E+00  0.868E-01  0.594E-03  0.382E-04   22  27  25    9  16   9   11  20   8    0.000    0.000       0
+  0   4211 00:58:18.14   0.7890A   2.2809   0.6988  -0.7303  0.082  0.00   0.000      0.  0.703E+00  0.870E-01  0.614E-03  0.366E-04   22  27  29    7  12   9   10  20   7    0.000    0.000       0
+  0   4219 00:58:24.81   0.8690A   2.0709   0.8373  -0.7429  0.081  0.00   0.000      0.  0.703E+00  0.869E-01  0.663E-03  0.364E-04   22  27  34    7  13   9    7  20   7    0.000    0.000       0
+  0   4225 00:58:30.08   0.8830A   2.0392   0.8591   0.7582  0.081  0.00   0.000      0.  0.702E+00  0.866E-01  0.666E-03  0.365E-04   36   8  15    7  14   9   20  28   9    0.000    0.000       0
+  0   4232 00:58:36.27   0.8930A   2.0163   0.8148  -0.6916  0.081  0.00   0.000      0.  0.702E+00  0.862E-01  0.668E-03  0.355E-04   36   8  20    7  15   9   17  18   9    0.000    0.000       0
+  0   4239 00:58:42.50   0.8770A   2.0526   0.7179  -0.8403  0.081  0.00   0.000      0.  0.701E+00  0.857E-01  0.651E-03  0.330E-04   22  26   2    8  15   9   17  19   9    0.000    0.000       0
+  0   4246 00:58:48.54   0.8490A   2.1203   0.6419  -0.8482  0.080  0.00   0.000      0.  0.700E+00  0.854E-01  0.625E-03  0.303E-04   22  26   6    7  17   9   16  19   9    0.000    0.000       0
+  0   4253 00:58:54.73   0.8940A   2.0124   0.5768  -0.7735  0.080  0.00   0.000      0.  0.700E+00  0.852E-01  0.653E-03  0.340E-04   31  38  28    8  17   9   15  20   9    0.000    0.000       0
+  0   4259 00:59:00.06   0.8860A   2.0319  -0.5720  -0.6924  0.081  0.00   0.000      0.  0.700E+00  0.854E-01  0.643E-03  0.345E-04   22  25  17   11  24   9   14  20   9    0.000    0.000       0
+  0   4266 00:59:06.30   0.8980A   2.0049  -0.5901  -0.6850  0.081  0.00   0.000      0.  0.700E+00  0.860E-01  0.658E-03  0.395E-04   25   8   3   11  23   9    7  19   7    0.000    0.000       0
+  0   4273 00:59:12.58   0.8960A   2.0093   0.6045   0.7273  0.082  0.00   0.000      0.  0.701E+00  0.867E-01  0.649E-03  0.360E-04   33  36  36    4  23   6   19  29   8    0.000    0.000       0
+  0   4280 00:59:18.84   0.8950A   2.0118   0.5864   0.7813  0.081  0.00   0.000      0.  0.701E+00  0.872E-01  0.656E-03  0.366E-04   33  36   1    4  24   5   20  11   9    0.000    0.000       0
+  0   4286 00:59:24.24   0.8970A   2.0078  -0.5906   0.9619  0.080  0.00   0.000      0.  0.702E+00  0.876E-01  0.669E-03  0.395E-04   24   8  14    8  21   9   20  11   9    0.000    0.000       0
+  0   4293 00:59:30.47   0.8870A   2.0300   0.7130   0.8190  0.079  0.00   0.000      0.  0.702E+00  0.878E-01  0.661E-03  0.370E-04   37  10  27   19  13   9   20  12   9    0.000    0.000       0
+  0   4300 00:59:36.70   0.8890A   2.0256   0.7492   0.6171  0.078  0.00   0.000      0.  0.701E+00  0.876E-01  0.653E-03  0.332E-04   37  10  31   15  13   9   20  28   9    0.000    0.000       0
+  0   4306 00:59:42.07   0.8930A   2.0148   0.7306  -0.7354  0.077  0.00   0.000      0.  0.701E+00  0.872E-01  0.659E-03  0.360E-04   37  10  35   15  14   9   18  22   9    0.000    0.000       0
+  0   4313 00:59:48.42   0.9090A   1.9792   0.7895  -0.7391  0.076  0.00   0.000      0.  0.700E+00  0.867E-01  0.670E-03  0.370E-04   28  26  23   14  13   9   17  22   9    0.000    0.000       0
+  0   4320 00:59:54.71   0.9000A   2.0010   0.8613  -0.6746  0.076  0.00   0.000      0.  0.699E+00  0.865E-01  0.673E-03  0.432E-04   38  28   2   11  14   9   16  22   9    0.000    0.000       0
+  0   4327 01:00:00.86   0.8670A   2.0766  -0.9611  -0.6679  0.077  0.00   0.000      0.  0.700E+00  0.866E-01  0.669E-03  0.484E-04   38  28   7   20  10   9   18  12   9    0.000    0.000       0
+  0   4333 01:00:06.07   0.8600A   2.0935  -0.8795  -0.8526  0.078  0.00   0.000      0.  0.700E+00  0.869E-01  0.667E-03  0.461E-04   38  28  11   19  10   9   18  15   9    0.000    0.000       0
+  0   4340 01:00:12.13   0.8670A   2.0767  -0.7155  -0.9154  0.079  0.00   0.000      0.  0.701E+00  0.871E-01  0.670E-03  0.437E-04   38  28  16   18  10   9   17  15   9    0.000    0.000       0
+  0   4347 01:00:18.28   0.8920A   2.0175  -0.6887  -0.8865  0.079  0.00   0.000      0.  0.701E+00  0.873E-01  0.691E-03  0.441E-04   38  27  19   15  10   9   17  17   9    0.000    0.000       0
+  0   4354 01:00:24.51   0.8910A   2.0195   0.6632   0.9947  0.078  0.00   0.000      0.  0.701E+00  0.875E-01  0.692E-03  0.451E-04   38  27  24   12  18   8   20  11   9    0.000    0.000       0
+  0   4361 01:00:30.78   0.8950A   2.0119  -0.8241   0.9794  0.077  0.00   0.000      0.  0.701E+00  0.876E-01  0.697E-03  0.452E-04   29  26  18   10  27   9   20  12   9    0.000    0.000       0
+  0   4367 01:00:36.14   0.8940A   2.0141  -0.8637   0.9683  0.076  0.00   0.000      0.  0.701E+00  0.876E-01  0.708E-03  0.456E-04   29  26  23   10  26   9   20  12   9    0.000    0.000       0
+  0   4374 01:00:42.38   0.8880A   2.0270  -0.8764   0.9106  0.076  0.00   0.000      0.  0.701E+00  0.877E-01  0.717E-03  0.486E-04   29  25  28   12  26   9   20  13   9    0.000    0.000       0
+  0   4381 01:00:48.60   0.8890A   2.0242  -0.8611   0.8950  0.075  0.00   0.000      0.  0.701E+00  0.878E-01  0.727E-03  0.512E-04   31  12  12   12  25   9   20  14   9    0.000    0.000       0
+  0   4388 01:00:54.75   0.8710A   2.0668  -0.8731  -0.7911  0.075  0.00   0.000      0.  0.702E+00  0.881E-01  0.724E-03  0.529E-04   26  31  23    9  27   9   10  18   9    0.000    0.000       0
+  0   4394 01:01:00.03   0.8790A   2.0483  -1.2840  -0.8003  0.076  0.00   0.000      0.  0.703E+00  0.884E-01  0.738E-03  0.555E-04   29  25   4   20  13   8    9  19   8    0.000    0.000       0
+  0   4401 01:01:06.20   0.8810A   2.0427  -1.0335  -0.8317  0.078  0.00   0.000      0.  0.704E+00  0.888E-01  0.734E-03  0.498E-04   29  25   9   19  10   9    8  19   8    0.000    0.000       0
+  0   4408 01:01:12.42   0.8910A   2.0208  -0.8497  -1.0069  0.080  0.00   0.000      0.  0.704E+00  0.889E-01  0.729E-03  0.445E-04   29  25  14    8  24   9   18  18   9    0.000    0.000       0
+  0   4415 01:01:18.67   0.8860A   2.0320   0.8839  -1.0741  0.080  0.00   0.000      0.  0.704E+00  0.888E-01  0.720E-03  0.434E-04   26  31   2   20  13   8   16  18   9    0.000    0.000       0
+  0   4421 01:01:24.03   0.8960A   2.0090   0.8764  -1.0270  0.080  0.00   0.000      0.  0.705E+00  0.888E-01  0.723E-03  0.435E-04   25   6  24   20  14   8   15  19   9    0.000    0.000       0
+  0   4428 01:01:30.21   0.8730A   2.0608   0.8425  -0.9215  0.079  0.00   0.000      0.  0.705E+00  0.887E-01  0.715E-03  0.443E-04   25   6  29   18  13   9   14  19   9    0.000    0.000       0
+  0   4435 01:01:36.32   0.8690A   2.0711   0.8198  -0.8837  0.079  0.00   0.000      0.  0.705E+00  0.886E-01  0.715E-03  0.453E-04   25   6  34   16  14   9   15  20   9    0.000    0.000       0
+  0   4442 01:01:42.44   0.8760A   2.0537  -0.9487  -0.8309  0.078  0.00   0.000      0.  0.706E+00  0.883E-01  0.713E-03  0.436E-04   25   6  39   10  27   9   14  19   9    0.000    0.000       0
+  0   4449 01:01:48.65   0.8920A   2.0180  -0.9789  -0.7891  0.077  0.00   0.000      0.  0.705E+00  0.879E-01  0.715E-03  0.415E-04   25   6   4   10  26   9   13  19   9    0.000    0.000       0
+  0   4456 01:01:54.82   0.8750A   2.0570  -0.9137  -0.7516  0.077  0.00   0.000      0.  0.705E+00  0.873E-01  0.697E-03  0.393E-04   25   6  10    7  26   9   12  16   7    0.000    0.000       0
+  0   4462 01:02:00.01   0.8620A   2.0886  -0.9005  -0.7347  0.077  0.00   0.000      0.  0.705E+00  0.869E-01  0.686E-03  0.375E-04   25   6  15    9  25   9    5  11   9    0.000    0.000       0
+  0   4469 01:02:06.06   0.8730A   2.0622  -0.8406  -0.7038  0.077  0.00   0.000      0.  0.704E+00  0.864E-01  0.696E-03  0.379E-04   25   6  20    9  25   9    5  12   9    0.000    0.000       0
+  0   4476 01:02:12.22   0.8810A   2.0431   0.8417  -0.6878  0.077  0.00   0.000      0.  0.704E+00  0.859E-01  0.706E-03  0.393E-04   36   4   3   11  15   9    9  17   5    0.000    0.000       0
+  0   4483 01:02:18.47   0.9000A   1.9996   0.8229  -0.6874  0.077  0.00   0.000      0.  0.704E+00  0.856E-01  0.718E-03  0.397E-04   35   4   9   10  16   9   16  18   9    0.000    0.000       0
+  0   4490 01:02:24.77   0.8900A   2.0230   0.7646  -0.6544  0.078  0.00   0.000      0.  0.704E+00  0.853E-01  0.708E-03  0.384E-04   36  18   4    9  17   9   15  18   9    0.000    0.000       0
+  0   4496 01:02:30.05   0.8760A   2.0550   0.7184  -0.6972  0.078  0.00   0.000      0.  0.704E+00  0.852E-01  0.705E-03  0.394E-04   36  18   8    8  17   9   18  21   9    0.000    0.000       0
+  0   4503 01:02:36.22   0.8860A   2.0317   0.6547  -0.7590  0.078  0.00   0.000      0.  0.704E+00  0.851E-01  0.719E-03  0.405E-04   36  18  13    7  17   9   17  21   9    0.000    0.000       0
+  0   4510 01:02:42.46   0.8820A   2.0419  -0.6653  -0.7200  0.078  0.00   0.000      0.  0.704E+00  0.851E-01  0.721E-03  0.412E-04   22  13  11   13  27   9   16  21   9    0.000    0.000       0
+  0   4517 01:02:48.73   0.8960A   2.0085  -0.7367   0.7072  0.077  0.00   0.000      0.  0.704E+00  0.852E-01  0.732E-03  0.424E-04   34  12  28   12  26   9   17  29   9    0.000    0.000       0
+  0   4523 01:02:54.12   0.8970A   2.0074  -0.8685   0.7263  0.078  0.00   0.000      0.  0.705E+00  0.853E-01  0.740E-03  0.467E-04   33  14  32   10  27   9   17  28   9    0.000    0.000       0
+  0   4530 01:03:00.30   0.8710A   2.0661  -0.9294  -0.9314  0.078  0.00   0.000      0.  0.706E+00  0.857E-01  0.736E-03  0.506E-04   33  14  37   10  26   9   18  14   9    0.000    0.000       0
+  0   4537 01:03:06.38   0.8650A   2.0803  -0.9389  -0.9857  0.078  0.00   0.000      0.  0.706E+00  0.860E-01  0.733E-03  0.472E-04   33  14   2   11  24   9   17  15   9    0.000    0.000       0
+  0   4544 01:03:12.50   0.8780A   2.0510  -0.9212  -0.9115  0.078  0.00   0.000      0.  0.707E+00  0.860E-01  0.742E-03  0.450E-04   25  29  10   10  24   9   16  16   9    0.000    0.000       0
+  0   4551 01:03:18.69   0.8900A   2.0234   0.8877  -0.8392  0.077  0.00   0.000      0.  0.707E+00  0.858E-01  0.747E-03  0.413E-04   26   7   2   13  14   9   16  15   9    0.000    0.000       0
+  0   4558 01:03:24.89   0.8950A   2.0114  -0.8367  -0.6968  0.077  0.00   0.000      0.  0.706E+00  0.854E-01  0.746E-03  0.370E-04   26   7   8   10  23   9   17  11   9    0.000    0.000       0
+  0   4564 01:03:30.24   0.8910A   2.0198  -0.8935   0.7460  0.076  0.00   0.000      0.  0.706E+00  0.849E-01  0.744E-03  0.343E-04   26   7  12    8  27   9   18  31  39    0.000    0.000       0
+  0   4571 01:03:36.49   0.8950A   2.0111  -0.9011   0.7459  0.075  0.00   0.000      0.  0.705E+00  0.842E-01  0.750E-03  0.367E-04   26   7  18    9  25   9   19  31   2    0.000    0.000       0
+  0   4578 01:03:42.74   0.8870A   2.0287  -0.8522   0.6988  0.074  0.00   0.000      0.  0.704E+00  0.837E-01  0.748E-03  0.414E-04   23   7  23    9  24   9   18  30   4    0.000    0.000       0
+  0   4584 01:03:48.11   0.8940A   2.0130  -0.7727   0.7960  0.074  0.00   0.000      0.  0.704E+00  0.836E-01  0.756E-03  0.485E-04   32  26  18    9  23   9   19  30   6    0.000    0.000       0
+  0   4591 01:03:54.36   0.8940A   2.0136  -0.7190   0.9790  0.074  0.00   0.000      0.  0.704E+00  0.838E-01  0.746E-03  0.457E-04   30  25  21    5  22   9   19  29   8    0.000    0.000       0
+  0   4598 01:04:00.61   0.8920A   2.0173   0.6765   1.2389  0.075  0.00   0.000      0.  0.705E+00  0.842E-01  0.749E-03  0.485E-04   32  26  29   20  19   9   20  29   9    0.000    0.000       0
+  0   4605 01:04:06.84   0.8890A   2.0258  -0.7795   1.1176  0.074  0.00   0.000      0.  0.706E+00  0.848E-01  0.744E-03  0.480E-04   31  22  33   14  27   9   21  28   9    0.000    0.000       0
+  0   4611 01:04:12.18   0.8930A   2.0158  -0.9206   0.9058  0.074  0.00   0.000      0.  0.707E+00  0.852E-01  0.744E-03  0.459E-04   31  22  38   14  26   9   20  27   9    0.000    0.000       0
+  0   4618 01:04:18.45   0.9000A   2.0002  -0.9763  -0.8436  0.074  0.00   0.000      0.  0.708E+00  0.855E-01  0.740E-03  0.419E-04   31  22   3   15  25   9   20  27   8    0.000    0.000       0
+  0   4625 01:04:24.77   0.9070A   1.9853  -0.9405  -0.7913  0.073  0.00   0.000      0.  0.708E+00  0.856E-01  0.729E-03  0.417E-04   22   1  34   14  24   9   19  27   8    0.000    0.000       0
+  0   4631 01:04:30.16   0.8910A   2.0201   0.9409   0.7466  0.073  0.00   0.000      0.  0.708E+00  0.854E-01  0.707E-03  0.387E-04   22   1  38    8  15   9   20  24   9    0.000    0.000       0
+  0   4638 01:04:36.38   0.8860A   2.0312   0.8912  -0.6149  0.073  0.00   0.000      0.  0.708E+00  0.850E-01  0.705E-03  0.384E-04   22   1   3    7  16   9   17  27   8    0.000    0.000       0
+  0   4645 01:04:42.61   0.8890A   2.0248   0.8479  -0.6009  0.073  0.00   0.000      0.  0.707E+00  0.847E-01  0.707E-03  0.375E-04   22   9  12    5  13   9   18  26   9    0.000    0.000       0
+  0   4652 01:04:48.83   0.9050A   1.9897   0.8062  -0.6331  0.074  0.00   0.000      0.  0.706E+00  0.842E-01  0.706E-03  0.318E-04   22   9  17    4  14   9   17  21   9    0.000    0.000       0
+  0   4658 01:04:54.29   0.9100A   1.9775   0.7715  -0.6814  0.074  0.00   0.000      0.  0.705E+00  0.836E-01  0.711E-03  0.322E-04   33  34  11    3  15   9   17  22   9    0.000    0.000       0
+  0   4665 01:05:00.64   0.8990A   2.0023   0.7716  -0.7386  0.074  0.00   0.000      0.  0.704E+00  0.831E-01  0.708E-03  0.376E-04   33  34  16   12  13   9   17  24   9    0.000    0.000       0
+  0   4671 01:05:06.02   0.8910A   2.0209   0.7005  -0.7447  0.074  0.00   0.000      0.  0.704E+00  0.831E-01  0.711E-03  0.458E-04   33  34  20    2  16   9   17  24   9    0.000    0.000       0
+  0   4678 01:05:12.23   0.8820A   2.0415   0.6580   0.8987  0.074  0.00   0.000      0.  0.705E+00  0.835E-01  0.703E-03  0.490E-04   33  34  25    2  17   9   19  29   8    0.000    0.000       0
+  0   4685 01:05:18.40   0.8760A   2.0552  -0.6631   1.0026  0.075  0.00   0.000      0.  0.706E+00  0.842E-01  0.697E-03  0.507E-04   33  34  30   20  10   9   20  29   8    0.000    0.000       0
+  0   4692 01:05:24.53   0.8740A   2.0595  -0.7806   1.0903  0.077  0.00   0.000      0.  0.707E+00  0.848E-01  0.700E-03  0.498E-04   33  34  35   20  10   9   21  29   9    0.000    0.000       0
+  0   4699 01:05:30.67   0.8780A   2.0499  -0.6697   1.0756  0.078  0.00   0.000      0.  0.707E+00  0.854E-01  0.705E-03  0.448E-04   33  34   0   20  10   9   21  28   9    0.000    0.000       0
+  0   4706 01:05:36.86   0.8900A   2.0226  -0.7183  -1.0377  0.078  0.00   0.000      0.  0.708E+00  0.857E-01  0.715E-03  0.420E-04   33  34   5   14  27   9   17  19   9    0.000    0.000       0
+  0   4712 01:05:42.23   0.9010A   1.9978   0.7173  -1.0549  0.078  0.00   0.000      0.  0.708E+00  0.858E-01  0.725E-03  0.416E-04   33  34  10    8  13   9   16  19   9    0.000    0.000       0
+  0   4719 01:05:48.54   0.8980A   2.0037  -0.7761  -0.9681  0.078  0.00   0.000      0.  0.708E+00  0.861E-01  0.726E-03  0.425E-04   33  33  15   17  27   9   15  19   9    0.000    0.000       0
+  0   4726 01:05:54.83   0.9030A   1.9937  -0.7681   0.9524  0.077  0.00   0.000      0.  0.708E+00  0.863E-01  0.724E-03  0.432E-04   33  33  20   17  26   9   20  26   9    0.000    0.000       0
+  0   4732 01:06:00.24   0.9020A   1.9963   0.7393   1.0322  0.077  0.00   0.000      0.  0.708E+00  0.864E-01  0.718E-03  0.432E-04   33  33  25   17  13   9   21  26   9    0.000    0.000       0
+  0   4739 01:06:06.59   0.9060A   1.9869  -0.7398   0.8289  0.076  0.00   0.000      0.  0.708E+00  0.862E-01  0.717E-03  0.459E-04   31  34  26   13  24   9   20  25   9    0.000    0.000       0
+  0   4745 01:06:12.06   0.9160A   1.9642   0.7193   0.7410  0.076  0.00   0.000      0.  0.707E+00  0.859E-01  0.723E-03  0.471E-04   34  29  12   16  15   9   20  24   9    0.000    0.000       0
+  0   4752 01:06:18.42   0.9060A   1.9869   0.7153  -0.7627  0.075  0.00   0.000      0.  0.706E+00  0.856E-01  0.722E-03  0.468E-04   34  29  18   16  15   9    9  19   8    0.000    0.000       0
+  0   4759 01:06:24.73   0.9010A   1.9980   0.6900  -0.7689  0.074  0.00   0.000      0.  0.706E+00  0.854E-01  0.731E-03  0.476E-04   34  30  22   15  16   9    8  19   8    0.000    0.000       0
+  0   4765 01:06:30.13   0.8980A   2.0048   0.6913  -0.7745  0.074  0.00   0.000      0.  0.706E+00  0.854E-01  0.730E-03  0.451E-04   34  30  26   20  29   8    7  19   7    0.000    0.000       0
+  0   4772 01:06:36.43   0.8980A   2.0037   0.7018  -0.7292  0.075  0.00   0.000      0.  0.706E+00  0.853E-01  0.723E-03  0.423E-04   26   8   6   20  26   8    6  19   5    0.000    0.000       0
+  0   4779 01:06:42.67   0.8910A   2.0207   0.6912  -0.7166  0.076  0.00   0.000      0.  0.706E+00  0.853E-01  0.718E-03  0.416E-04   26   8  10   20  28   9    5  18   4    0.000    0.000       0
+  0   4785 01:06:48.00   0.8940A   2.0138   0.8601  -0.7132  0.078  0.00   0.000      0.  0.706E+00  0.855E-01  0.731E-03  0.458E-04   26   8  14   20  28   9    4  18   3    0.000    0.000       0
+  0   4792 01:06:54.29   0.8960A   2.0097   0.7404  -1.0366  0.080  0.00   0.000      0.  0.706E+00  0.859E-01  0.759E-03  0.525E-04   32  28   9   19  27   9   17  23   9    0.000    0.000       0
+  0   4799 01:07:00.54   0.8890A   2.0248   0.7984  -1.2926  0.082  0.00   0.000      0.  0.707E+00  0.863E-01  0.759E-03  0.476E-04   32  28  14   19  30   9   16  21   9    0.000    0.000       0
+  0   4806 01:07:06.61   0.8410A   2.1398   0.6755  -1.1699  0.084  0.00   0.000      0.  0.707E+00  0.864E-01  0.720E-03  0.431E-04   22  10   6   18  30   9   15  20   9    0.000    0.000       0
+  0   4813 01:07:12.57   0.8570A   2.1009   0.9880  -1.0758  0.084  0.00   0.000      0.  0.707E+00  0.865E-01  0.746E-03  0.465E-04   22  10  10   14  13   9   16  19   9    0.000    0.000       0
+  0   4820 01:07:18.55   0.8700A   2.0683   1.0847  -1.0172  0.083  0.00   0.000      0.  0.707E+00  0.865E-01  0.767E-03  0.520E-04   22   9  14   15  14   9   15  19   9    0.000    0.000       0
+  0   4827 01:07:24.75   0.8990A   2.0013   1.0337  -0.9797  0.084  0.00   0.000      0.  0.707E+00  0.867E-01  0.794E-03  0.566E-04   26   4  22   14  16   9   11  20   8    0.000    0.000       0
+  0   4833 01:07:30.13   0.8950A   2.0108   1.0133  -1.0106  0.084  0.00   0.000      0.  0.708E+00  0.869E-01  0.801E-03  0.584E-04   31  28   0   13  15   9    9  20   8    0.000    0.000       0
+  0   4840 01:07:36.39   0.8940A   2.0144   1.0301  -0.9668  0.084  0.00   0.000      0.  0.708E+00  0.871E-01  0.798E-03  0.562E-04   34  37  25   11  16   9    7  20   8    0.000    0.000       0
+  0   4847 01:07:42.64   0.8890A   2.0237   1.0327   0.9340  0.082  0.00   0.000      0.  0.708E+00  0.871E-01  0.778E-03  0.527E-04   34  37  30   10  15   9   20  26   9    0.000    0.000       0
+  0   4854 01:07:48.87   0.8880A   2.0265   0.9979   0.9677  0.082  0.00   0.000      0.  0.708E+00  0.872E-01  0.775E-03  0.534E-04   31  28  16    9  16   9   20  27   9    0.000    0.000       0
+  0   4860 01:07:54.17   0.8690A   2.0706   0.9490   0.8735  0.081  0.00   0.000      0.  0.708E+00  0.874E-01  0.750E-03  0.464E-04   27   6  34    9  16   9   20  27   9    0.000    0.000       0
+  0   4867 01:08:00.13   0.8360A   2.1532   0.9970  -0.8843  0.082  0.00   0.000      0.  0.708E+00  0.875E-01  0.717E-03  0.364E-04   27   6  39    9  18   8    8  24   7    0.000    0.000       0
+  0   4875 01:08:06.83   0.8360A   2.1539   0.9474  -0.8853  0.083  0.00   0.000      0.  0.707E+00  0.875E-01  0.722E-03  0.385E-04   27   6   4    9  19   8    7  24   6    0.000    0.000       0
+  0   4882 01:08:12.83   0.8730A   2.0629  -0.7847  -0.8523  0.083  0.00   0.000      0.  0.707E+00  0.875E-01  0.757E-03  0.426E-04   27   6   9   10  25   9   17  20   9    0.000    0.000       0
+  0   4888 01:08:18.07   0.8700A   2.0681  -0.7922  -0.8842  0.084  0.00   0.000      0.  0.707E+00  0.877E-01  0.756E-03  0.457E-04   26   6  13   10  26   8    4  24   4    0.000    0.000       0
+  0   4895 01:08:24.17   0.8720A   2.0636  -0.8114  -0.7977  0.083  0.00   0.000      0.  0.708E+00  0.879E-01  0.760E-03  0.462E-04   26   6  18    8  26   9   16  22   9    0.000    0.000       0
+  0   4902 01:08:30.32   0.8760A   2.0558  -0.8820  -0.8247  0.083  0.00   0.000      0.  0.708E+00  0.878E-01  0.761E-03  0.426E-04   26   3  23    8  26   9   17  19   9    0.000    0.000       0
+  0   4909 01:08:36.44   0.8720A   2.0647  -0.8811  -0.8614  0.082  0.00   0.000      0.  0.707E+00  0.874E-01  0.762E-03  0.404E-04   26   3  28    7  25   9   16  19   9    0.000    0.000       0
+  0   4916 01:08:42.54   0.8700A   2.0680  -0.8259  -0.8197  0.081  0.00   0.000      0.  0.706E+00  0.869E-01  0.758E-03  0.414E-04   26   6  35    6  25   9   15  20   9    0.000    0.000       0
+  0   4923 01:08:48.61   0.8550A   2.1055  -0.8016  -0.7929  0.080  0.00   0.000      0.  0.705E+00  0.863E-01  0.754E-03  0.426E-04   36   0  33   19  10   9   14  20   9    0.000    0.000       0
+  0   4930 01:08:54.49   0.8330A   2.1596   0.7527  -0.7608  0.080  0.00   0.000      0.  0.705E+00  0.860E-01  0.736E-03  0.420E-04   36   0  38   15  14   9   12  20   9    0.000    0.000       0
+  0   4937 01:09:00.37   0.8520A   2.1135   0.7779   0.8626  0.079  0.00   0.000      0.  0.704E+00  0.857E-01  0.738E-03  0.378E-04   36   0   3   14  15   9   19  10   8    0.000    0.000       0
+  0   4944 01:09:06.35   0.8530A   2.1108   0.7520   0.8829  0.079  0.00   0.000      0.  0.704E+00  0.855E-01  0.736E-03  0.368E-04   36   0   9   12  16   9   20  10   9    0.000    0.000       0
+  0   4951 01:09:12.35   0.8610A   2.0896   0.6948   0.8508  0.079  0.00   0.000      0.  0.704E+00  0.854E-01  0.747E-03  0.404E-04   38   3  25   13  16   9   20  11   9    0.000    0.000       0
+  0   4958 01:09:18.43   0.8710A   2.0659  -0.7936   0.9135  0.079  0.00   0.000      0.  0.704E+00  0.853E-01  0.765E-03  0.448E-04   24   6  26   15  26   9   16  29   9    0.000    0.000       0
+  0   4965 01:09:24.48   0.8660A   2.0781  -0.8833   0.8002  0.079  0.00   0.000      0.  0.704E+00  0.854E-01  0.758E-03  0.468E-04   24   6  30   16  26   9   18  29   9    0.000    0.000       0
+  0   4972 01:09:30.53   0.8670A   2.0757  -0.9214   0.8729  0.078  0.00   0.000      0.  0.705E+00  0.855E-01  0.762E-03  0.511E-04   24   6  35   14  25   9   20  26   9    0.000    0.000       0
+  0   4979 01:09:36.69   0.8810A   2.0425  -0.8410   0.8396  0.078  0.00   0.000      0.  0.705E+00  0.856E-01  0.769E-03  0.514E-04   28   4   0   14  24   9   20  26   9    0.000    0.000       0
+  0   4986 01:09:42.80   0.8750A   2.0578   0.8422  -0.7559  0.078  0.00   0.000      0.  0.705E+00  0.857E-01  0.764E-03  0.517E-04   29   5   8   20  30   9   15  18   9    0.000    0.000       0
+  0   4993 01:09:48.81   0.8500A   2.1183   1.0091  -0.7927  0.077  0.00   0.000      0.  0.706E+00  0.859E-01  0.749E-03  0.552E-04   29   5  14   19  30   8   17  22   9    0.000    0.000       0
+  0   5000 01:09:54.73   0.8390A   2.1446  -0.9103  -0.7155  0.077  0.00   0.000      0.  0.707E+00  0.863E-01  0.726E-03  0.507E-04   29   5  19   20  30   8   16  21   9    0.000    0.000       0
+  0   5007 01:10:00.62   0.8390A   2.1449   0.9268   0.6727  0.075  0.00   0.000      0.  0.708E+00  0.867E-01  0.708E-03  0.419E-04   29   5  24   10  15   9   15  12   9    0.000    0.000       0
+  0   5014 01:10:06.52   0.8440A   2.1332   0.8720  -0.6900  0.074  0.00   0.000      0.  0.709E+00  0.869E-01  0.698E-03  0.360E-04   29   5  29   10  16   9    7  22   3    0.000    0.000       0
+  0   5021 01:10:12.45   0.8530A   2.1107   0.7892  -0.6684  0.073  0.00   0.000      0.  0.709E+00  0.869E-01  0.702E-03  0.354E-04   29   5  34    8  17   9    6  22   3    0.000    0.000       0
+  0   5028 01:10:18.42   0.8590A   2.0955  -0.7956   0.6452  0.072  0.00   0.000      0.  0.708E+00  0.867E-01  0.706E-03  0.364E-04   29   5   0    7  26   9   20  13   9    0.000    0.000       0
+  0   5035 01:10:24.49   0.8700A   2.0696  -0.8694   0.6676  0.072  0.00   0.000      0.  0.707E+00  0.864E-01  0.727E-03  0.421E-04   36   2  10    7  26   9   18  29   9    0.000    0.000       0
+  0   5042 01:10:30.57   0.8700A   2.0696  -0.7997   0.7847  0.073  0.00   0.000      0.  0.707E+00  0.861E-01  0.723E-03  0.420E-04   36   2  15    7  25   9   20  29   9    0.000    0.000       0
+  0   5049 01:10:36.63   0.8640A   2.0825   0.7061  -0.6607  0.075  0.00   0.000      0.  0.706E+00  0.858E-01  0.716E-03  0.414E-04   36   2  19    5  12   9   16  19   9    0.000    0.000       0
+  0   5056 01:10:42.74   0.8760A   2.0549   0.7606  -0.7177  0.078  0.00   0.000      0.  0.705E+00  0.855E-01  0.725E-03  0.432E-04   36   2  24    4  12   9   16  19   9    0.000    0.000       0
+  0   5063 01:10:48.87   0.8790A   2.0480   0.7445  -0.8601  0.080  0.00   0.000      0.  0.705E+00  0.852E-01  0.722E-03  0.413E-04   36   3  26    4  13   9   17  22   9    0.000    0.000       0
+  0   5069 01:10:54.14   0.8790A   2.0474   0.6980  -0.9137  0.082  0.00   0.000      0.  0.705E+00  0.850E-01  0.716E-03  0.394E-04   27   1  21    3  13   9   17  16   9    0.000    0.000       0
+  0   5076 01:11:00.33   0.8860A   2.0326  -0.6339  -0.9054  0.084  0.00   0.000      0.  0.705E+00  0.849E-01  0.719E-03  0.403E-04   22  38  36   19  32   2   16  16   9    0.000    0.000       0
+  0   5083 01:11:06.50   0.8870A   2.0303  -0.6290  -0.8048  0.084  0.00   0.000      0.  0.705E+00  0.850E-01  0.714E-03  0.395E-04   26  39  35   19  31   5   15  16   9    0.000    0.000       0
+  0   5090 01:11:12.70   0.8860A   2.0327  -0.9809   1.1061  0.083  0.00   0.000      0.  0.706E+00  0.852E-01  0.729E-03  0.434E-04   26   1  37   19  28   9   20  28   9    0.000    0.000       0
+  0   5097 01:11:18.85   0.8740A   2.0593  -1.0237   0.8566  0.081  0.00   0.000      0.  0.706E+00  0.854E-01  0.732E-03  0.448E-04   31   8  12   14  27   9   21  27   9    0.000    0.000       0
+  0   5104 01:11:24.75   0.8250A   2.1829  -1.1013   0.7906  0.080  0.00   0.000      0.  0.706E+00  0.855E-01  0.685E-03  0.382E-04   22  29   8   14  26   9   20  11   9    0.000    0.000       0
+  0   5111 01:11:30.70   0.8440A   2.1324  -1.0419   0.8043  0.078  0.00   0.000      0.  0.706E+00  0.854E-01  0.696E-03  0.362E-04   32  13  29   16  25   9   20  11   9    0.000    0.000       0
+  0   5118 01:11:36.58   0.8440A   2.1315  -0.9787  -0.7771  0.077  0.00   0.000      0.  0.706E+00  0.850E-01  0.694E-03  0.354E-04   32  13  33   16  24   9   12  15   8    0.000    0.000       0
+  0   5125 01:11:42.50   0.8510A   2.1155  -0.8540  -0.7367  0.077  0.00   0.000      0.  0.705E+00  0.845E-01  0.690E-03  0.347E-04   32  13  38   12  25   9   12  15   7    0.000    0.000       0
+  0   5132 01:11:48.59   0.8730A   2.0613  -0.8610  -0.6950  0.077  0.00   0.000      0.  0.705E+00  0.840E-01  0.711E-03  0.394E-04   26  26  38   15  23   8   10  15   7    0.000    0.000       0
+  0   5139 01:11:54.79   0.8920A   2.0171  -0.8031  -0.7041  0.078  0.00   0.000      0.  0.704E+00  0.836E-01  0.733E-03  0.426E-04   29   7  39   15  22   8   18  23   9    0.000    0.000       0
+  0   5145 01:12:00.15   0.8930A   2.0155   0.7348  -0.8901  0.078  0.00   0.000      0.  0.704E+00  0.834E-01  0.735E-03  0.409E-04   32   9  11   19  30   9   18  22   9    0.000    0.000       0
+  0   5152 01:12:06.33   0.8630A   2.0862  -0.6990  -0.9603  0.078  0.00   0.000      0.  0.704E+00  0.831E-01  0.720E-03  0.408E-04   22   8  37   15  20   7   17  22   9    0.000    0.000       0
+  0   5159 01:12:12.37   0.8550A   2.1050  -0.6573  -0.9055  0.077  0.00   0.000      0.  0.704E+00  0.829E-01  0.721E-03  0.441E-04   32  16  38   13  27   9   16  20   9    0.000    0.000       0
+  0   5166 01:12:18.38   0.8600A   2.0942  -0.7340   0.8845  0.076  0.00   0.000      0.  0.703E+00  0.828E-01  0.729E-03  0.453E-04   32  16   3   14  27   9   20  27   9    0.000    0.000       0
+  0   5173 01:12:24.44   0.8680A   2.0728  -0.7646   0.8390  0.076  0.00   0.000      0.  0.703E+00  0.827E-01  0.732E-03  0.430E-04   32  16   8   13  26   9   21  27   9    0.000    0.000       0
+  0   5180 01:12:30.54   0.8690A   2.0725  -0.7925   0.8653  0.075  0.00   0.000      0.  0.703E+00  0.827E-01  0.733E-03  0.443E-04   32  16  13   15  27   9   19  29   8    0.000    0.000       0
+  0   5187 01:12:36.62   0.8680A   2.0726  -0.8471   0.9726  0.075  0.00   0.000      0.  0.704E+00  0.829E-01  0.734E-03  0.451E-04   32  16  18   16  27   9   20  29   9    0.000    0.000       0
+  0   5194 01:12:42.64   0.8580A   2.0978  -0.8659   0.7114  0.075  0.00   0.000      0.  0.704E+00  0.830E-01  0.718E-03  0.419E-04   27   6  21   14  26   9   20  12   9    0.000    0.000       0
+  0   5201 01:12:48.54   0.8400A   2.1435  -0.9050  -0.6801  0.075  0.00   0.000      0.  0.704E+00  0.830E-01  0.696E-03  0.385E-04   27   6  26   19  25   9    4  16   2    0.000    0.000       0
+  0   5208 01:12:54.50   0.8590A   2.0953   0.9796  -0.8735  0.077  0.00   0.000      0.  0.705E+00  0.830E-01  0.700E-03  0.361E-04   23   7   0   20  30   9   18  25   9    0.000    0.000       0
+  0   5215 01:13:00.49   0.8540A   2.1074   0.9235  -0.9480  0.078  0.00   0.000      0.  0.704E+00  0.828E-01  0.678E-03  0.315E-04   21   7  39   19  30   9   17  24   9    0.000    0.000       0
+  0   5222 01:13:06.42   0.8440A   2.1337   0.7922  -0.9623  0.079  0.00   0.000      0.  0.704E+00  0.824E-01  0.658E-03  0.313E-04   21   7   3   12  15   9   16  23   9    0.000    0.000       0
+  0   5229 01:13:12.29   0.8360A   2.1533   0.6762  -0.9086  0.079  0.00   0.000      0.  0.703E+00  0.821E-01  0.634E-03  0.303E-04   25   5   8    9  15   9   15  22   9    0.000    0.000       0
+  0   5236 01:13:18.20   0.8370A   2.1496   0.6003  -0.8564  0.078  0.00   0.000      0.  0.703E+00  0.817E-01  0.621E-03  0.283E-04   24   6  16   12  13   9   14  22   9    0.000    0.000       0
+  0   5243 01:13:24.04   0.8340A   2.1571   0.5763   0.7147  0.077  0.00   0.000      0.  0.702E+00  0.814E-01  0.621E-03  0.302E-04   24   6  21   12  14   9   19  28   8    0.000    0.000       0
+  0   5251 01:13:30.77   0.8480A   2.1225  -0.6089   0.9217  0.076  0.00   0.000      0.  0.702E+00  0.813E-01  0.647E-03  0.380E-04   24   6  26   16  28   9   20  28   9    0.000    0.000       0
+  0   5258 01:13:36.73   0.8570A   2.1001  -0.8138   0.9555  0.076  0.00   0.000      0.  0.702E+00  0.813E-01  0.656E-03  0.414E-04   24   6  31   16  28   9   21  27   9    0.000    0.000       0
+  0   5265 01:13:42.73   0.8610A   2.0907  -0.8361   0.7690  0.075  0.00   0.000      0.  0.702E+00  0.812E-01  0.647E-03  0.397E-04   26   4  33   15  27   9   20  25   9    0.000    0.000       0
+  0   5272 01:13:48.70   0.8490A   2.1204   0.9123  -0.8474  0.075  0.00   0.000      0.  0.702E+00  0.810E-01  0.635E-03  0.387E-04   26   4  38   20  30   9   17  18   9    0.000    0.000       0
+  0   5279 01:13:54.66   0.8490A   2.1199   0.9807  -0.8483  0.076  0.00   0.000      0.  0.702E+00  0.808E-01  0.629E-03  0.367E-04   26   4   3   19  30   9   18  27   9    0.000    0.000       0
+  0   5286 01:14:00.67   0.8560A   2.1028   0.7654  -0.8005  0.077  0.00   0.000      0.  0.702E+00  0.807E-01  0.623E-03  0.343E-04   25   5  10   18  30   9   15  17   9    0.000    0.000       0
+  0   5293 01:14:06.61   0.8430A   2.1345  -0.7293  -0.7197  0.077  0.00   0.000      0.  0.702E+00  0.807E-01  0.605E-03  0.335E-04   25   5  15    9  25   9   17  25   9    0.000    0.000       0
+  0   5300 01:14:12.61   0.8650A   2.0799  -0.7424   0.8174  0.076  0.00   0.000      0.  0.702E+00  0.807E-01  0.622E-03  0.378E-04   25   5  20   13  22   9   20  11   9    0.000    0.000       0
+  0   5307 01:14:18.61   0.8570A   2.1004   0.7480   0.7640  0.075  0.00   0.000      0.  0.702E+00  0.809E-01  0.625E-03  0.408E-04   26   5  25   19  12   9   20  12   9    0.000    0.000       0
+  0   5314 01:14:24.60   0.8600A   2.0934   0.8388   0.7898  0.075  0.00   0.000      0.  0.703E+00  0.812E-01  0.633E-03  0.419E-04   26   5  30   19  13   9   20  13   9    0.000    0.000       0
+  0   5321 01:14:30.70   0.8770A   2.0524  -0.7731   0.7889  0.074  0.00   0.000      0.  0.703E+00  0.816E-01  0.647E-03  0.420E-04   21  39   3   11  21   8   20  13   9    0.000    0.000       0
+  0   5328 01:14:36.83   0.8800A   2.0457   0.7422  -0.7593  0.074  0.00   0.000      0.  0.703E+00  0.819E-01  0.645E-03  0.389E-04   21  39   8   15  15   9   13  21   9    0.000    0.000       0
+  0   5334 01:14:42.09   0.8760A   2.0537   0.7575  -0.7177  0.074  0.00   0.000      0.  0.703E+00  0.820E-01  0.641E-03  0.367E-04   29  11  31   17  15   9    9  21   9    0.000    0.000       0
+  0   5341 01:14:48.20   0.8680A   2.0749   0.7446   0.7738  0.074  0.00   0.000      0.  0.703E+00  0.821E-01  0.632E-03  0.370E-04   29  11  36   17  16   9   15  11   8    0.000    0.000       0
+  0   5348 01:14:54.29   0.8710A   2.0663   0.7293   0.6993  0.073  0.00   0.000      0.  0.704E+00  0.823E-01  0.629E-03  0.388E-04   29  11   1   16  13   9   16  11   8    0.000    0.000       0
+  0   5355 01:15:00.44   0.8800A   2.0464   0.7328  -0.7146  0.074  0.00   0.000      0.  0.704E+00  0.827E-01  0.636E-03  0.409E-04   29  11   6   15  14   9   10  19   7    0.000    0.000       0
+  0   5362 01:15:06.64   0.8890A   2.0258   0.7622  -0.7960  0.074  0.00   0.000      0.  0.705E+00  0.832E-01  0.638E-03  0.408E-04   29  11  11   15  14   9   17  18   9    0.000    0.000       0
+  0   5369 01:15:12.84   0.8830A   2.0388   0.8025  -0.7895  0.075  0.00   0.000      0.  0.706E+00  0.836E-01  0.635E-03  0.405E-04   23   8  10   14  14   9   16  18   9    0.000    0.000       0
+  0   5375 01:15:18.19   0.8910A   2.0191   0.8033  -0.7194  0.075  0.00   0.000      0.  0.706E+00  0.838E-01  0.633E-03  0.390E-04   28  11  21   13  14   9   16  17   9    0.000    0.000       0
+  0   5382 01:15:24.35   0.8610A   2.0910   0.8112  -0.7038  0.075  0.00   0.000      0.  0.706E+00  0.838E-01  0.609E-03  0.369E-04   28  12  26   18  13   9   16  20   9    0.000    0.000       0
+  0   5389 01:15:30.40   0.8770A   2.0514   0.8957  -0.7053  0.075  0.00   0.000      0.  0.706E+00  0.836E-01  0.621E-03  0.366E-04   28  12  31   18  14   9    7  21   2    0.000    0.000       0
+  0   5396 01:15:36.61   0.8820A   2.0403   0.9334  -0.6925  0.075  0.00   0.000      0.  0.706E+00  0.834E-01  0.620E-03  0.347E-04   28  12  37   18  14   9   14  19   9    0.000    0.000       0
+  0   5403 01:15:42.69   0.8560A   2.1016   0.9226  -0.6793  0.075  0.00   0.000      0.  0.706E+00  0.833E-01  0.602E-03  0.322E-04   28  12   2   18  15   9   13  18   9    0.000    0.000       0
+  0   5410 01:15:48.70   0.8620A   2.0889   0.8055  -0.6899  0.075  0.00   0.000      0.  0.705E+00  0.831E-01  0.610E-03  0.334E-04   28  12   7   17  16   9   10  17   8    0.000    0.000       0
+  0   5417 01:15:54.78   0.8750A   2.0575  -0.8245  -0.6748  0.074  0.00   0.000      0.  0.705E+00  0.831E-01  0.621E-03  0.338E-04   28  12  12   19  27   9    7  18   8    0.000    0.000       0
+  0   5423 01:16:00.03   0.8740A   2.0585  -0.7421  -0.6751  0.075  0.00   0.000      0.  0.705E+00  0.832E-01  0.626E-03  0.366E-04   28  12  17   19  26   9    7  18   7    0.000    0.000       0
+  0   5430 01:16:06.15   0.8780A   2.0504  -0.7061  -0.7815  0.075  0.00   0.000      0.  0.706E+00  0.835E-01  0.640E-03  0.440E-04   28  12  22   11  27   9   18  20   9    0.000    0.000       0
+  0   5437 01:16:12.34   0.8890A   2.0246  -0.8906   0.8795  0.075  0.00   0.000      0.  0.707E+00  0.841E-01  0.661E-03  0.522E-04   31  11  28   12  27   9   20  11   9    0.000    0.000       0
+  0   5444 01:16:18.49   0.8650A   2.0821  -0.9141  -1.0810  0.075  0.00   0.000      0.  0.708E+00  0.846E-01  0.651E-03  0.485E-04   26  11  36   12  26   9   18  22   9    0.000    0.000       0
+  0   5451 01:16:24.59   0.8760A   2.0557  -0.8356  -1.2269  0.076  0.00   0.000      0.  0.708E+00  0.848E-01  0.655E-03  0.441E-04   26  11   1   12  25   9   16  22   9    0.000    0.000       0
+  0   5458 01:16:30.69   0.8650A   2.0810   0.8763  -1.1363  0.076  0.00   0.000      0.  0.708E+00  0.849E-01  0.653E-03  0.472E-04   31  12   3   18  14   9   15  22   9    0.000    0.000       0
+  0   5465 01:16:36.78   0.8680A   2.0734   0.8888  -1.0053  0.076  0.00   0.000      0.  0.709E+00  0.853E-01  0.659E-03  0.492E-04   31  12   8   16  15   9   14  22   9    0.000    0.000       0
+  0   5472 01:16:42.85   0.8630A   2.0860   0.8466  -0.8537  0.076  0.00   0.000      0.  0.709E+00  0.855E-01  0.651E-03  0.442E-04   24  29   6   13  14   9   13  22   9    0.000    0.000       0
+  0   5478 01:16:48.02   0.8690A   2.0713   0.8278  -0.7791  0.075  0.00   0.000      0.  0.709E+00  0.855E-01  0.648E-03  0.410E-04   31  13  16   13  15   9   16  25   9    0.000    0.000       0
+  0   5485 01:16:54.08   0.8750A   2.0582   0.8205  -0.7585  0.074  0.00   0.000      0.  0.709E+00  0.854E-01  0.643E-03  0.369E-04   31  13  22   13  16   9   15  25   9    0.000    0.000       0
+  0   5492 01:17:00.18   0.8740A   2.0588   0.8141  -0.7400  0.074  0.00   0.000      0.  0.709E+00  0.853E-01  0.637E-03  0.341E-04   31  13  27   13  16   9   12  21   8    0.000    0.000       0
+  0   5499 01:17:06.34   0.8820A   2.0412   0.7817  -0.7315  0.074  0.00   0.000      0.  0.709E+00  0.851E-01  0.637E-03  0.327E-04   31  13  32   11  17   9   10  21   7    0.000    0.000       0
+  0   5506 01:17:12.56   0.8920A   2.0189   0.8629  -0.7319  0.073  0.00   0.000      0.  0.709E+00  0.847E-01  0.642E-03  0.339E-04   28  31  26    9  20   9    8  21   6    0.000    0.000       0
+  0   5513 01:17:18.80   0.8890A   2.0254   0.9428  -0.7756  0.072  0.00   0.000      0.  0.709E+00  0.845E-01  0.663E-03  0.402E-04   28  24  11    8  20   9    7  22   8    0.000    0.000       0
+  0   5519 01:17:24.07   0.8720A   2.0646  -0.7850  -0.7601  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.666E-03  0.441E-04   28  24  16   16  27   9    6  22   6    0.000    0.000       0
+  0   5526 01:17:30.16   0.8720A   2.0650  -0.7603   0.8382  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.680E-03  0.447E-04   28  24  21   15  26   9   20  29   9    0.000    0.000       0
+  0   5533 01:17:36.32   0.8820A   2.0400  -0.7600   0.7462  0.072  0.00   0.000      0.  0.709E+00  0.844E-01  0.688E-03  0.428E-04   31  13  19   19  27   9   20  26   9    0.000    0.000       0
+  0   5540 01:17:42.46   0.8680A   2.0728  -0.7287  -0.7145  0.072  0.00   0.000      0.  0.710E+00  0.845E-01  0.669E-03  0.407E-04   31  13  24   18  26   9    5  25   3    0.000    0.000       0
+  0   5547 01:17:48.55   0.8680A   2.0740   0.7241  -0.7793  0.073  0.00   0.000      0.  0.710E+00  0.847E-01  0.655E-03  0.379E-04   31  13  29    9  14   9   17  22   9    0.000    0.000       0
+  0   5554 01:17:54.68   0.8880A   2.0277  -0.6967  -0.8582  0.073  0.00   0.000      0.  0.710E+00  0.849E-01  0.674E-03  0.397E-04   29  12  34   16  25   9   16  22   9    0.000    0.000       0
+  0   5561 01:18:00.85   0.8820A   2.0419  -0.7970  -0.9003  0.074  0.00   0.000      0.  0.711E+00  0.851E-01  0.672E-03  0.376E-04   28  29  25   12  27   9   15  21   9    0.000    0.000       0
+  0   5567 01:18:06.05   0.8600A   2.0936  -0.8201  -0.8662  0.074  0.00   0.000      0.  0.711E+00  0.852E-01  0.657E-03  0.368E-04   28  29  30   13  27   9   14  20   9    0.000    0.000       0
+  0   5574 01:18:12.06   0.8550A   2.1060  -0.8612  -0.7777  0.074  0.00   0.000      0.  0.711E+00  0.852E-01  0.653E-03  0.355E-04   28  29  35   12  26   9   13  19   9    0.000    0.000       0
+  0   5581 01:18:18.10   0.8690A   2.0723  -0.8697   0.7232  0.074  0.00   0.000      0.  0.711E+00  0.851E-01  0.672E-03  0.373E-04   28  29   0   12  25   9   20  10   9    0.000    0.000       0
+  0   5588 01:18:24.29   0.8930A   2.0168  -0.8295  -0.7326  0.074  0.00   0.000      0.  0.711E+00  0.850E-01  0.697E-03  0.403E-04   28  26   7   12  24   9    7  20   8    0.000    0.000       0
+  0   5595 01:18:30.46   0.8750A   2.0566  -0.8068   0.7285  0.074  0.00   0.000      0.  0.711E+00  0.849E-01  0.684E-03  0.380E-04   28  26  13   11  23   9   20  11   9    0.000    0.000       0
+  0   5602 01:18:36.54   0.8640A   2.0838  -0.7401  -0.7717  0.073  0.00   0.000      0.  0.711E+00  0.847E-01  0.688E-03  0.347E-04   28  26  18   12  26   9   17  15   9    0.000    0.000       0
+  0   5609 01:18:42.59   0.8640A   2.0841  -0.7485  -0.7541  0.073  0.00   0.000      0.  0.710E+00  0.843E-01  0.697E-03  0.328E-04   28  26  23   11  27   9   17  15   9    0.000    0.000       0
+  0   5616 01:18:48.62   0.8590A   2.0944  -0.8275  -0.7187  0.072  0.00   0.000      0.  0.710E+00  0.838E-01  0.698E-03  0.353E-04   28  26  29   11  27   9    4  19   3    0.000    0.000       0
+  0   5623 01:18:54.62   0.8560A   2.1018  -0.8883  -0.6770  0.072  0.00   0.000      0.  0.709E+00  0.836E-01  0.705E-03  0.408E-04   28  26  34   11  26   9    3  19   3    0.000    0.000       0
+  0   5630 01:19:00.60   0.8560A   2.1026  -0.8660  -0.6099  0.072  0.00   0.000      0.  0.710E+00  0.837E-01  0.716E-03  0.448E-04   28  26   0   11  25   9    3  19   2    0.000    0.000       0
+  0   5637 01:19:06.60   0.8520A   2.1139  -0.8501  -0.5849  0.072  0.00   0.000      0.  0.710E+00  0.840E-01  0.719E-03  0.465E-04   28  27   3   12  25   9   17  20   9    0.000    0.000       0
+  0   5644 01:19:12.48   0.8330A   2.1608  -0.8061  -0.6232  0.072  0.00   0.000      0.  0.711E+00  0.842E-01  0.701E-03  0.449E-04   28  27   9   12  24   9   18  22   9    0.000    0.000       0
+  0   5651 01:19:18.22   0.8150A   2.2098  -0.7413  -0.6877  0.071  0.00   0.000      0.  0.711E+00  0.845E-01  0.685E-03  0.426E-04   28  27  14   11  24   9   18  23   9    0.000    0.000       0
+  0   5659 01:19:24.73   0.8130A   2.2131  -0.7103   0.6550  0.069  0.00   0.000      0.  0.711E+00  0.849E-01  0.687E-03  0.422E-04   28  27  20   11  24   9   14  10   9    0.000    0.000       0
+  0   5666 01:19:30.45   0.8190A   2.1974  -0.7367   0.6950  0.068  0.00   0.000      0.  0.712E+00  0.854E-01  0.701E-03  0.483E-04   28  27  25   11  27   9   14  12   9    0.000    0.000       0
+  0   5673 01:19:36.22   0.8280A   2.1751  -0.7901   0.7293  0.067  0.00   0.000      0.  0.713E+00  0.862E-01  0.712E-03  0.509E-04   28  27  31   12  26   9   16  12   9    0.000    0.000       0
+  0   5680 01:19:42.08   0.8450A   2.1307  -0.8172  -0.7096  0.067  0.00   0.000      0.  0.714E+00  0.868E-01  0.709E-03  0.425E-04   28  27  37   12  25   9   18  17   9    0.000    0.000       0
+  0   5687 01:19:48.03   0.8550A   2.1042  -0.8199  -0.8539  0.067  0.00   0.000      0.  0.714E+00  0.872E-01  0.720E-03  0.411E-04   28  27   2   11  25   9    3  11   9    0.000    0.000       0
+  0   5694 01:19:54.04   0.8640A   2.0838  -0.8038  -0.8238  0.068  0.00   0.000      0.  0.714E+00  0.876E-01  0.751E-03  0.467E-04   28  27   8   12  24   9    3  12   9    0.000    0.000       0
+  0   5701 01:20:00.11   0.8720A   2.0648  -0.7821  -0.7765  0.068  0.00   0.000      0.  0.714E+00  0.881E-01  0.761E-03  0.454E-04   28  27  14   12  23   9    3  11   9    0.000    0.000       0
+  0   5708 01:20:06.27   0.8830A   2.0395  -0.7678  -0.7226  0.068  0.00   0.000      0.  0.714E+00  0.886E-01  0.762E-03  0.413E-04   28  27  20   10  27   9    3  14   8    0.000    0.000       0
+  0   5715 01:20:12.42   0.8710A   2.0669  -0.8309  -0.6073  0.070  0.00   0.000      0.  0.715E+00  0.891E-01  0.747E-03  0.379E-04   27  28  22    9  24   9    3  16   7    0.000    0.000       0
+  0   5722 01:20:18.50   0.8670A   2.0758  -0.8624  -0.6174  0.071  0.00   0.000      0.  0.715E+00  0.895E-01  0.742E-03  0.346E-04   27  28  27   10  23   9    6  28   9    0.000    0.000       0
+  0   5729 01:20:24.59   0.8700A   2.0700  -0.8237  -0.6327  0.073  0.00   0.000      0.  0.715E+00  0.898E-01  0.742E-03  0.330E-04   34  20  22   10  22   9    6  27   9    0.000    0.000       0
+  0   5736 01:20:30.68   0.8740A   2.0594  -0.7676  -0.6168  0.074  0.00   0.000      0.  0.715E+00  0.900E-01  0.751E-03  0.350E-04   34  20  28    9  22   9    6  24   9    0.000    0.000       0
+  0   5743 01:20:36.78   0.8700A   2.0681  -0.7917   0.5689  0.075  0.00   0.000      0.  0.715E+00  0.900E-01  0.754E-03  0.359E-04   34  20  33    8  26   8   18  10   9    0.000    0.000       0
+  0   5750 01:20:42.72   0.8240A   2.1843  -0.7693   0.6312  0.075  0.00   0.000      0.  0.714E+00  0.898E-01  0.723E-03  0.359E-04   24  12  20    8  25   8   18  10   9    0.000    0.000       0
+  0   5757 01:20:48.68   0.8720A   2.0642  -0.7121   0.6115  0.075  0.00   0.000      0.  0.713E+00  0.893E-01  0.764E-03  0.378E-04   23  28   1    8  24   8   18  11   9    0.000    0.000       0
+  0   5764 01:20:54.63   0.8390A   2.1450   0.6918   0.6685  0.075  0.00   0.000      0.  0.711E+00  0.887E-01  0.739E-03  0.355E-04   23  28   6    6   7  35   16  10   6    0.000    0.000       0
+  0   5771 01:21:00.54   0.8570A   2.1010   0.7274   0.8082  0.075  0.00   0.000      0.  0.710E+00  0.884E-01  0.766E-03  0.409E-04   23  28  10    5   7  36   16  10   8    0.000    0.000       0
+  0   5778 01:21:06.50   0.8490A   2.1201   0.7870   0.7991  0.075  0.00   0.000      0.  0.710E+00  0.883E-01  0.768E-03  0.442E-04   34   0  18   14  13   9   16  10   9    0.000    0.000       0
+  0   5785 01:21:12.45   0.8520A   2.1136   0.9403   0.7952  0.075  0.00   0.000      0.  0.710E+00  0.884E-01  0.786E-03  0.527E-04   34   0  23   11  13   9   16  11   9    0.000    0.000       0
+  0   5792 01:21:18.45   0.8540A   2.1073   0.9594  -0.9897  0.075  0.00   0.000      0.  0.710E+00  0.888E-01  0.796E-03  0.546E-04   25  25  29   15  15   9   17  21   9    0.000    0.000       0
+  0   5799 01:21:24.42   0.8550A   2.1043   0.9205  -1.1160  0.075  0.00   0.000      0.  0.710E+00  0.892E-01  0.806E-03  0.561E-04   34  39  33   13  16   9   16  21   9    0.000    0.000       0
+  0   5806 01:21:30.40   0.8570A   2.1001   0.8610  -1.1728  0.075  0.00   0.000      0.  0.711E+00  0.896E-01  0.811E-03  0.532E-04   34  39  38   15  16   9   15  22   9    0.000    0.000       0
+  0   5813 01:21:36.46   0.8730A   2.0614   0.8043  -1.0143  0.076  0.00   0.000      0.  0.712E+00  0.901E-01  0.829E-03  0.536E-04   34  38   4   11  17   9   14  22   9    0.000    0.000       0
+  0   5820 01:21:42.45   0.8500A   2.1188   0.8824   0.8822  0.077  0.00   0.000      0.  0.712E+00  0.905E-01  0.806E-03  0.455E-04   34  38   9   16  17   8   20  27   9    0.000    0.000       0
+  0   5827 01:21:48.49   0.8680A   2.0726   0.6939   0.8743  0.077  0.00   0.000      0.  0.712E+00  0.904E-01  0.822E-03  0.429E-04   25  24  15    8  15   9   20  27   9    0.000    0.000       0
+  0   5834 01:21:54.56   0.8680A   2.0734   0.7547   0.8827  0.076  0.00   0.000      0.  0.711E+00  0.902E-01  0.828E-03  0.418E-04   25  24  20   13  14   9   20  26   9    0.000    0.000       0
+  0   5841 01:22:00.64   0.8710A   2.0672   0.7342  -0.9108  0.075  0.00   0.000      0.  0.710E+00  0.899E-01  0.818E-03  0.401E-04   33  39  24   13  14   9   17  17   9    0.000    0.000       0
+  0   5848 01:22:06.76   0.8760A   2.0550   0.9313  -0.8211  0.075  0.00   0.000      0.  0.709E+00  0.894E-01  0.822E-03  0.443E-04   25  24  31   20  30   9   16  17   9    0.000    0.000       0
+  0   5854 01:22:12.00   0.8710A   2.0660   1.0978  -0.9714  0.075  0.00   0.000      0.  0.709E+00  0.893E-01  0.844E-03  0.498E-04   25  24  39   19  30   9   17  27   9    0.000    0.000       0
+  0   5861 01:22:18.10   0.8740A   2.0603  -0.8389  -1.0297  0.075  0.00   0.000      0.  0.709E+00  0.892E-01  0.847E-03  0.440E-04   34  37   1   21  10   8   17  26   9    0.000    0.000       0
+  0   5868 01:22:24.18   0.8700A   2.0700  -0.7166  -1.0246  0.075  0.00   0.000      0.  0.708E+00  0.891E-01  0.837E-03  0.421E-04   25  24   9   21   9   9   16  26   9    0.000    0.000       0
+  0   5875 01:22:30.26   0.8650A   2.0809   0.6878  -0.9724  0.076  0.00   0.000      0.  0.708E+00  0.891E-01  0.852E-03  0.477E-04   34  36  11   14  30   9   15  24   9    0.000    0.000       0
+  0   5882 01:22:36.32   0.8610A   2.0899   0.6714   0.9556  0.077  0.00   0.000      0.  0.709E+00  0.896E-01  0.872E-03  0.619E-04   35  38  22   14  31   9   20  12   9    0.000    0.000       0
+  0   5889 01:22:42.33   0.8560A   2.1037   0.7577   1.1446  0.078  0.00   0.000      0.  0.710E+00  0.905E-01  0.865E-03  0.650E-04   35  38  27   17  14   9   20  13   9    0.000    0.000       0
+  0   5896 01:22:48.36   0.8630A   2.0857  -0.8046   1.1737  0.079  0.00   0.000      0.  0.712E+00  0.914E-01  0.869E-03  0.631E-04   34  32   3   14  27   9   20  14   9    0.000    0.000       0
+  0   5903 01:22:54.33   0.8530A   2.1091  -0.8759   0.9569  0.080  0.00   0.000      0.  0.712E+00  0.917E-01  0.849E-03  0.506E-04   24  32   7   12  27   9   20  29   9    0.000    0.000       0
+  0   5910 01:23:00.21   0.8310A   2.1661  -0.9046  -0.9997  0.080  0.00   0.000      0.  0.712E+00  0.915E-01  0.809E-03  0.402E-04   24  32  12   11  27   9   15  20   9    0.000    0.000       0
+  0   5917 01:23:06.03   0.8350A   2.1566  -0.9356  -0.9260  0.080  0.00   0.000      0.  0.711E+00  0.909E-01  0.797E-03  0.407E-04   24  32  17   10  27   9   14  20   9    0.000    0.000       0
+  0   5925 01:23:12.63   0.8400A   2.1422  -0.8440  -0.8406  0.080  0.00   0.000      0.  0.710E+00  0.903E-01  0.789E-03  0.435E-04   24  32  22    9  25   9   12  21   9    0.000    0.000       0
+  0   5932 01:23:18.61   0.8640A   2.0828   0.9485  -0.8087  0.080  0.00   0.000      0.  0.709E+00  0.900E-01  0.800E-03  0.449E-04   37   2   0   10  14   9    9  21   9    0.000    0.000       0
+  0   5939 01:23:24.66   0.8650A   2.0817   1.0114  -0.8636  0.080  0.00   0.000      0.  0.709E+00  0.898E-01  0.800E-03  0.463E-04   33  33  34   10  15   9    8  21   8    0.000    0.000       0
+  0   5946 01:23:30.66   0.8620A   2.0872   0.9503   0.9143  0.081  0.00   0.000      0.  0.709E+00  0.898E-01  0.808E-03  0.541E-04   33  33  39   10  16   9   18  29   9    0.000    0.000       0
+  0   5953 01:23:36.56   0.8400A   2.1439  -0.8753   0.9912  0.081  0.00   0.000      0.  0.709E+00  0.901E-01  0.794E-03  0.546E-04   39  36  32   17  27   9   19  28   9    0.000    0.000       0
+  0   5960 01:23:42.49   0.8430A   2.1345   0.8325   1.2088  0.082  0.00   0.000      0.  0.710E+00  0.902E-01  0.793E-03  0.502E-04   39  36  36   10  16   9   20  27   9    0.000    0.000       0
+  0   5967 01:23:48.48   0.8650A   2.0806   0.7558   0.9741  0.083  0.00   0.000      0.  0.710E+00  0.902E-01  0.809E-03  0.482E-04   22  22   6   10  17   9   20  26   9    0.000    0.000       0
+  0   5974 01:23:54.54   0.8630A   2.0857   0.7752  -0.9292  0.084  0.00   0.000      0.  0.710E+00  0.901E-01  0.803E-03  0.445E-04   22  22  11    9  13   9   16  22   9    0.000    0.000       0
+  0   5981 01:24:00.59   0.8640A   2.0822   0.8842  -0.8967  0.084  0.00   0.000      0.  0.709E+00  0.899E-01  0.802E-03  0.444E-04   26  24  19    9  14   9   16  21   9    0.000    0.000       0
+  0   5988 01:24:06.60   0.8550A   2.1057   0.8967  -0.9123  0.085  0.00   0.000      0.  0.709E+00  0.897E-01  0.802E-03  0.512E-04   26  24  24    9  15   9   16  21   9    0.000    0.000       0
+  0   5995 01:24:12.61   0.8580A   2.0974   0.8444  -0.9399  0.084  0.00   0.000      0.  0.708E+00  0.896E-01  0.798E-03  0.505E-04   26  24  29    9  14   9   16  20   9    0.000    0.000       0
+  0   6002 01:24:18.66   0.8700A   2.0678   0.8132  -0.8769  0.084  0.00   0.000      0.  0.708E+00  0.893E-01  0.794E-03  0.468E-04   34  25  34    9  15   9   15  19   9    0.000    0.000       0
+  0   6009 01:24:24.68   0.8590A   2.0954   0.8616  -0.7710  0.083  0.00   0.000      0.  0.708E+00  0.891E-01  0.779E-03  0.453E-04   34  25  39   20  30   9   13  19   9    0.000    0.000       0
+  0   6016 01:24:30.67   0.8570A   2.1009   0.8975  -0.7204  0.083  0.00   0.000      0.  0.708E+00  0.887E-01  0.772E-03  0.414E-04   34  25   4   20  21   8    5  23   1    0.000    0.000       0
+  0   6023 01:24:36.68   0.8640A   2.0844  -0.7394  -0.7869  0.083  0.00   0.000      0.  0.708E+00  0.883E-01  0.769E-03  0.391E-04   34  25   9   13  26   9   18  13   9    0.000    0.000       0
+  0   6030 01:24:42.68   0.8560A   2.1021  -0.7470  -0.7421  0.082  0.00   0.000      0.  0.707E+00  0.878E-01  0.756E-03  0.411E-04   34  25  15    7  27   9   18  24   9    0.000    0.000       0
+  0   6037 01:24:48.65   0.8550A   2.1060  -0.7176  -0.8473  0.081  0.00   0.000      0.  0.707E+00  0.875E-01  0.750E-03  0.424E-04   34  25  20    6  25   9   18  25   9    0.000    0.000       0
+  0   6044 01:24:54.67   0.8610A   2.0908  -0.6684  -0.7767  0.081  0.00   0.000      0.  0.707E+00  0.875E-01  0.761E-03  0.477E-04   34  25  25    5  22   9   17  24   9    0.000    0.000       0
+  0   6051 01:25:00.70   0.8590A   2.0943  -0.7971  -0.8123  0.080  0.00   0.000      0.  0.708E+00  0.877E-01  0.757E-03  0.490E-04   28  16  19   10  27   9   17  19   9    0.000    0.000       0
+  0   6058 01:25:06.75   0.8660A   2.0776  -0.8985   0.9648  0.080  0.00   0.000      0.  0.708E+00  0.878E-01  0.758E-03  0.484E-04   28  16  24   11  27   9   21  11   9    0.000    0.000       0
+  0   6065 01:25:12.81   0.8650A   2.0800  -0.8375  -0.8971  0.079  0.00   0.000      0.  0.708E+00  0.878E-01  0.753E-03  0.466E-04   28  36  22   11  26   9   15  20   9    0.000    0.000       0
+  0   6072 01:25:18.72   0.8350A   2.1555  -0.7538  -0.8858  0.079  0.00   0.000      0.  0.708E+00  0.876E-01  0.726E-03  0.452E-04   22  28   4   11  25   9   13  20   9    0.000    0.000       0
+  0   6079 01:25:24.52   0.8320A   2.1631   0.8376  -0.9595  0.078  0.00   0.000      0.  0.708E+00  0.872E-01  0.719E-03  0.407E-04   22  28   8   12  13   9   16  23   9    0.000    0.000       0
+  0   6086 01:25:30.54   0.8590A   2.0960   0.8486  -0.9276  0.078  0.00   0.000      0.  0.707E+00  0.866E-01  0.746E-03  0.426E-04   28  36  39   13  14   9   16  24   9    0.000    0.000       0
+  0   6093 01:25:36.55   0.8560A   2.1028   0.8574  -0.8827  0.078  0.00   0.000      0.  0.707E+00  0.862E-01  0.749E-03  0.454E-04   28  36   4   12  15   9   15  25   9    0.000    0.000       0
+  0   6100 01:25:42.54   0.8560A   2.1025   0.7940  -0.7902  0.078  0.00   0.000      0.  0.707E+00  0.860E-01  0.758E-03  0.485E-04   28  36  10   12  16   9   14  25   9    0.000    0.000       0
+  0   6107 01:25:48.52   0.8540A   2.1084   0.9398  -0.8023  0.078  0.00   0.000      0.  0.707E+00  0.862E-01  0.775E-03  0.555E-04   28  36  15   10  14   9    6  12   9    0.000    0.000       0
+  0   6114 01:25:54.52   0.8590A   2.0946   1.0588   0.8533  0.078  0.00   0.000      0.  0.708E+00  0.869E-01  0.810E-03  0.671E-04   28  36  20   10  15   9   20  29   9    0.000    0.000       0
+  0   6121 01:26:00.53   0.8590A   2.0961   1.0458   0.9002  0.078  0.00   0.000      0.  0.710E+00  0.878E-01  0.816E-03  0.671E-04   28  36  26   10  16   9   20  28   9    0.000    0.000       0
+  0   6128 01:26:06.54   0.8580A   2.0991  -1.0164   0.8735  0.078  0.00   0.000      0.  0.711E+00  0.885E-01  0.813E-03  0.650E-04   28  36  32   12  25   9   20  27   9    0.000    0.000       0
+  0   6135 01:26:12.55   0.8600A   2.0942   0.9507  -0.8261  0.078  0.00   0.000      0.  0.713E+00  0.892E-01  0.794E-03  0.596E-04   28  36  38   10  18   9    7  22   9    0.000    0.000       0
+  0   6142 01:26:18.56   0.8600A   2.0929   0.9152  -0.7940  0.080  0.00   0.000      0.  0.713E+00  0.895E-01  0.780E-03  0.538E-04   28  36   3    9  17   9    6  12   9    0.000    0.000       0
+  0   6149 01:26:24.61   0.8680A   2.0741   0.8724  -0.7509  0.081  0.00   0.000      0.  0.714E+00  0.897E-01  0.789E-03  0.531E-04   28  36   8   10  17   9    8  22   5    0.000    0.000       0
+  0   6156 01:26:30.70   0.8740A   2.0601   0.7930  -0.7552  0.081  0.00   0.000      0.  0.713E+00  0.897E-01  0.796E-03  0.494E-04   28  36  14   10  17   9   10  29   8    0.000    0.000       0
+  0   6163 01:26:36.86   0.8820A   2.0412   0.7947   0.7255  0.082  0.00   0.000      0.  0.713E+00  0.895E-01  0.815E-03  0.522E-04   27  36  18   20  23   9   19  30   8    0.000    0.000       0
+  0   6169 01:26:42.02   0.8480A   2.1228  -0.8730  -0.8220  0.083  0.00   0.000      0.  0.712E+00  0.894E-01  0.784E-03  0.471E-04   24  26  29   20  10   9   18  19   9    0.000    0.000       0
+  0   6176 01:26:48.02   0.8690A   2.0708  -0.8012  -0.8932  0.084  0.00   0.000      0.  0.712E+00  0.892E-01  0.809E-03  0.469E-04   24  26  33   19  10   9   17  19   9    0.000    0.000       0
+  0   6183 01:26:54.08   0.8640A   2.0836  -0.8217  -1.2222  0.084  0.00   0.000      0.  0.711E+00  0.889E-01  0.811E-03  0.467E-04   29   6   9   12  27   9   18  15   9    0.000    0.000       0
+  0   6190 01:27:00.15   0.8720A   2.0642  -0.8470  -1.1588  0.083  0.00   0.000      0.  0.711E+00  0.888E-01  0.835E-03  0.529E-04   30  19  33   13  26   9   17  15   9    0.000    0.000       0
+  0   6197 01:27:06.22   0.8660A   2.0779  -0.8616  -1.0828  0.082  0.00   0.000      0.  0.712E+00  0.889E-01  0.842E-03  0.555E-04   30  19  39   13  25   9   15  15   9    0.000    0.000       0
+  0   6204 01:27:12.27   0.8600A   2.0930  -0.9005  -0.9524  0.081  0.00   0.000      0.  0.712E+00  0.892E-01  0.836E-03  0.538E-04   30  19   4   13  27   9   14  15   9    0.000    0.000       0
+  0   6211 01:27:18.26   0.8540A   2.1087  -1.0243   1.0241  0.080  0.00   0.000      0.  0.713E+00  0.893E-01  0.824E-03  0.486E-04   30  19  10   14  26   9   20  10   9    0.000    0.000       0
+  0   6218 01:27:24.19   0.8450A   2.1304  -0.9775   1.0508  0.079  0.00   0.000      0.  0.713E+00  0.894E-01  0.819E-03  0.497E-04   30  19  15   13  26   9   20  11   9    0.000    0.000       0
+  0   6225 01:27:30.13   0.8480A   2.1232  -0.9424   0.8949  0.079  0.00   0.000      0.  0.713E+00  0.894E-01  0.819E-03  0.541E-04   30  19  20   12  25   9   20  25   9    0.000    0.000       0
+  0   6232 01:27:36.11   0.8620A   2.0875  -0.8671   0.8813  0.079  0.00   0.000      0.  0.714E+00  0.894E-01  0.818E-03  0.514E-04   30  19  25   12  24   9   20  24   9    0.000    0.000       0
+  0   6239 01:27:42.17   0.8680A   2.0731   1.0155  -0.9474  0.079  0.00   0.000      0.  0.714E+00  0.892E-01  0.819E-03  0.513E-04   30  19  31   20  31   9    9  17   7    0.000    0.000       0
+  0   6246 01:27:48.22   0.8650A   2.0803   0.9362  -0.9878  0.080  0.00   0.000      0.  0.714E+00  0.888E-01  0.823E-03  0.518E-04   28  36  36   12  15   9    8  17   6    0.000    0.000       0
+  0   6253 01:27:54.22   0.8580A   2.0970  -0.9253   0.9722  0.081  0.00   0.000      0.  0.713E+00  0.884E-01  0.837E-03  0.561E-04   33  19  26   20  10   9   21  28   9    0.000    0.000       0
+  0   6260 01:28:00.20   0.8540A   2.1086   0.9431  -1.0918  0.081  0.00   0.000      0.  0.713E+00  0.878E-01  0.838E-03  0.527E-04   33  19  31   10  14   9   18  14   9    0.000    0.000       0
+  0   6267 01:28:06.17   0.8500A   2.1176  -1.0227  -1.2798  0.081  0.00   0.000      0.  0.712E+00  0.871E-01  0.827E-03  0.512E-04   28  37  13   18  27   9   17  15   9    0.000    0.000       0
+  0   6274 01:28:12.14   0.8560A   2.1023   0.9001  -1.1611  0.082  0.00   0.000      0.  0.712E+00  0.865E-01  0.813E-03  0.521E-04   28  37  19   10  16   9   15  15   9    0.000    0.000       0
+  0   6281 01:28:18.14   0.8550A   2.1043  -0.7979  -1.0516  0.082  0.00   0.000      0.  0.712E+00  0.862E-01  0.803E-03  0.539E-04   28  37  25   16  25   9   14  15   9    0.000    0.000       0
+  0   6288 01:28:24.11   0.8520A   2.1119  -0.7430  -0.9084  0.083  0.00   0.000      0.  0.712E+00  0.861E-01  0.792E-03  0.541E-04   26  37  28   14  10   9   14  15   8    0.000    0.000       0
+  0   6295 01:28:30.07   0.8500A   2.1183  -0.6723   0.9316  0.082  0.00   0.000      0.  0.712E+00  0.861E-01  0.775E-03  0.509E-04   26  37  33    4  12   3   18  29   8    0.000    0.000       0
+  0   6302 01:28:36.01   0.8480A   2.1224  -0.6502  -0.8880  0.082  0.00   0.000      0.  0.713E+00  0.862E-01  0.771E-03  0.506E-04   26  37  39    4  11   3   16  23   9    0.000    0.000       0
+  0   6310 01:28:42.85   0.8610A   2.0918   0.6430   0.9336  0.081  0.00   0.000      0.  0.714E+00  0.865E-01  0.779E-03  0.510E-04   26  37   5   17  12   9   20  11   9    0.000    0.000       0
+  0   6316 01:28:48.02   0.8600A   2.0939   0.7825   0.9655  0.080  0.00   0.000      0.  0.715E+00  0.868E-01  0.783E-03  0.485E-04   29  36   5   17  13   9   20  11   9    0.000    0.000       0
+  0   6323 01:28:54.00   0.8480A   2.1232   0.8120   1.0705  0.080  0.00   0.000      0.  0.716E+00  0.870E-01  0.789E-03  0.505E-04   36  36  30   19  14   9   20  28   9    0.000    0.000       0
+  0   6331 01:29:00.82   0.8540A   2.1083   0.9065   0.9173  0.081  0.00   0.000      0.  0.716E+00  0.873E-01  0.807E-03  0.516E-04   29  36  16   14  15   9   20  28   9    0.000    0.000       0
+  0   6338 01:29:06.73   0.8390A   2.1451   0.9355  -0.8162  0.082  0.00   0.000      0.  0.717E+00  0.874E-01  0.797E-03  0.467E-04   35  35  38   14  16   9   10  20   8    0.000    0.000       0
+  0   6345 01:29:12.66   0.8510A   2.1156   0.9591  -0.8518  0.083  0.00   0.000      0.  0.717E+00  0.874E-01  0.806E-03  0.460E-04   30  34  26   11  13   9    8  20   8    0.000    0.000       0
+  0   6352 01:29:18.62   0.8490A   2.1198   0.9885  -0.8859  0.083  0.00   0.000      0.  0.717E+00  0.873E-01  0.802E-03  0.481E-04   31  32  30   10  14   9    7  20   8    0.000    0.000       0
+  0   6359 01:29:24.56   0.8490A   2.1195   0.9062  -0.8445  0.084  0.00   0.000      0.  0.717E+00  0.871E-01  0.787E-03  0.455E-04   31  32  35   10  15   9    6  20   8    0.000    0.000       0
+  0   6366 01:29:30.53   0.8540A   2.1080   0.7941  -0.8574  0.084  0.00   0.000      0.  0.717E+00  0.868E-01  0.781E-03  0.419E-04   31  32   0    9  17   9   16  21   9    0.000    0.000       0
+  0   6373 01:29:36.55   0.8630A   2.0860   0.6954  -0.8480  0.085  0.00   0.000      0.  0.716E+00  0.865E-01  0.783E-03  0.421E-04   32  32   3    9  18   9   16  20   9    0.000    0.000       0
+  0   6380 01:29:42.59   0.8610A   2.0895   0.6367  -0.8536  0.085  0.00   0.000      0.  0.716E+00  0.860E-01  0.775E-03  0.433E-04   37  29  38    4  20   8   16  19   9    0.000    0.000       0
+  0   6387 01:29:48.65   0.8660A   2.0778  -0.6212  -0.8578  0.085  0.00   0.000      0.  0.715E+00  0.855E-01  0.771E-03  0.426E-04   35  32  12   19  28   9   15  19   9    0.000    0.000       0
+  0   6394 01:29:54.69   0.8570A   2.1001  -0.6899  -0.8306  0.083  0.00   0.000      0.  0.714E+00  0.850E-01  0.768E-03  0.438E-04   37  30   9   18  27   9   14  19   9    0.000    0.000       0
+  0   6401 01:30:00.62   0.8420A   2.1383  -0.7976   1.0621  0.082  0.00   0.000      0.  0.714E+00  0.847E-01  0.775E-03  0.505E-04   37  30  13   14  10   9   20  12   9    0.000    0.000       0
+  0   6408 01:30:06.47   0.8290A   2.1724   0.8409   1.0342  0.080  0.00   0.000      0.  0.714E+00  0.845E-01  0.777E-03  0.537E-04   37  30  18   14  10   8   20  13   9    0.000    0.000       0
+  0   6415 01:30:12.32   0.8400A   2.1418   0.9024   0.9769  0.080  0.00   0.000      0.  0.714E+00  0.845E-01  0.790E-03  0.534E-04   37  30  23   15  15   9   20  11   9    0.000    0.000       0
+  0   6422 01:30:18.23   0.8570A   2.1006   0.9705  -0.8688  0.080  0.00   0.000      0.  0.714E+00  0.847E-01  0.811E-03  0.591E-04   37  30  27   17  15   9    7  11   9    0.000    0.000       0
+  0   6429 01:30:24.25   0.8680A   2.0737   0.9744  -0.8668  0.080  0.00   0.000      0.  0.715E+00  0.853E-01  0.833E-03  0.668E-04   35  33   4   15  16   9    7  12   9    0.000    0.000       0
+  0   6436 01:30:30.30   0.8610A   2.0896   0.9948   1.0441  0.080  0.00   0.000      0.  0.717E+00  0.862E-01  0.835E-03  0.685E-04   36  32   8   16  17   9   20  29   9    0.000    0.000       0
+  0   6443 01:30:36.34   0.8680A   2.0745   0.9504   1.1934  0.080  0.00   0.000      0.  0.719E+00  0.870E-01  0.840E-03  0.690E-04   36  33  13   14  14   9   20  27   9    0.000    0.000       0
+  0   6450 01:30:42.39   0.8590A   2.0957   1.0198   1.1135  0.080  0.00   0.000      0.  0.720E+00  0.879E-01  0.827E-03  0.685E-04   29  34  31   14  15   9   20  25   9    0.000    0.000       0
+  0   6457 01:30:48.37   0.8520A   2.1119   0.9984   1.0143  0.079  0.00   0.000      0.  0.721E+00  0.886E-01  0.809E-03  0.631E-04   29  34  37   15  17   9   21  25   9    0.000    0.000       0
+  0   6464 01:30:54.29   0.8400A   2.1440   0.9090   1.0858  0.079  0.00   0.000      0.  0.722E+00  0.891E-01  0.791E-03  0.564E-04   28  31  12   16  17   9   20  11   9    0.000    0.000       0
+  0   6471 01:31:00.06   0.8180A   2.1999   1.0309   0.9266  0.078  0.00   0.000      0.  0.722E+00  0.893E-01  0.765E-03  0.516E-04   28  31  17   19  16   9   20  11   9    0.000    0.000       0
+  0   6479 01:31:06.63   0.8270A   2.1765  -0.9287   0.9135  0.078  0.00   0.000      0.  0.722E+00  0.895E-01  0.766E-03  0.467E-04   28  31  22    7  25   9   20  11   9    0.000    0.000       0
+  0   6486 01:31:12.52   0.8410A   2.1415  -0.8755   0.8279  0.078  0.00   0.000      0.  0.722E+00  0.897E-01  0.775E-03  0.457E-04   28  32  21    7  25   9   20  11   9    0.000    0.000       0
+  0   6493 01:31:18.31   0.8260A   2.1786  -0.8323   0.8795  0.078  0.00   0.000      0.  0.722E+00  0.898E-01  0.765E-03  0.416E-04   28  32  26    6  25   9   20  11   9    0.000    0.000       0
+  0   6500 01:31:24.08   0.8190A   2.1984  -0.8105   0.8526  0.078  0.00   0.000      0.  0.722E+00  0.900E-01  0.772E-03  0.428E-04   28  31  28    4  24   9   20  11   9    0.000    0.000       0
+  0   6508 01:31:30.67   0.8200A   2.1950   0.7294   0.8577  0.079  0.00   0.000      0.  0.722E+00  0.902E-01  0.790E-03  0.496E-04   28  32  38   17  15   9   20  16   9    0.000    0.000       0
+  0   6515 01:31:36.38   0.8150A   2.2077  -0.7127  -0.8661  0.080  0.00   0.000      0.  0.722E+00  0.906E-01  0.795E-03  0.519E-04   28  32   2    5  25   9   16  26   9    0.000    0.000       0
+  0   6522 01:31:42.15   0.8370A   2.1508  -0.8951  -0.8265  0.081  0.00   0.000      0.  0.722E+00  0.910E-01  0.820E-03  0.514E-04   28  32   7   19   9   9   15  27   9    0.000    0.000       0
+  0   6530 01:31:48.82   0.8330A   2.1604  -0.8194  -0.8505  0.082  0.00   0.000      0.  0.722E+00  0.910E-01  0.820E-03  0.463E-04   29  30   6   19   9   9   12  28   4    0.000    0.000       0
+  0   6537 01:31:54.75   0.8510A   2.1142  -0.7677  -0.9205  0.083  0.00   0.000      0.  0.722E+00  0.909E-01  0.847E-03  0.430E-04   28  33  16   20  28   9   11  29   9    0.000    0.000       0
+  0   6544 01:32:00.68   0.8370A   2.1496  -0.7898   0.9323  0.082  0.00   0.000      0.  0.721E+00  0.907E-01  0.848E-03  0.465E-04   26  27  26   14  30   6   20  27   9    0.000    0.000       0
+  0   6551 01:32:06.48   0.8230A   2.1870  -0.8761   1.1785  0.080  0.00   0.000      0.  0.720E+00  0.906E-01  0.867E-03  0.537E-04   26  27  31   16  27   9   21  26   9    0.000    0.000       0
+  0   6558 01:32:12.26   0.8180A   2.2015  -1.0478   1.0961  0.077  0.00   0.000      0.  0.720E+00  0.906E-01  0.881E-03  0.548E-04   25  31  30   16  26   9   21  25   9    0.000    0.000       0
+  0   6565 01:32:18.07   0.8320A   2.1643  -1.0981  -0.9874  0.076  0.00   0.000      0.  0.720E+00  0.907E-01  0.920E-03  0.592E-04   25  31  34   15  25   9   10  28   9    0.000    0.000       0
+  0   6573 01:32:24.79   0.8530A   2.1105   1.3313  -0.9395  0.076  0.00   0.000      0.  0.719E+00  0.909E-01  0.959E-03  0.638E-04   26  26   6   19  31   9   18  20   9    0.000    0.000       0
+  0   6580 01:32:30.71   0.8440A   2.1336   1.2002  -1.0533  0.077  0.00   0.000      0.  0.719E+00  0.908E-01  0.944E-03  0.615E-04   22  19  20   18  31   9   17  20   9    0.000    0.000       0
+  0   6587 01:32:36.74   0.8610A   2.0907  -1.0905  -1.1327  0.078  0.00   0.000      0.  0.719E+00  0.907E-01  0.961E-03  0.648E-04   37   3  35   11  24   9   17  21   9    0.000    0.000       0
+  0   6594 01:32:42.77   0.8650A   2.0811  -0.9716  -1.2508  0.078  0.00   0.000      0.  0.720E+00  0.908E-01  0.961E-03  0.676E-04   28  24  30   10  23   9   15  21   9    0.000    0.000       0
+  0   6601 01:32:48.83   0.8660A   2.0793   0.8060  -1.2675  0.078  0.00   0.000      0.  0.720E+00  0.910E-01  0.961E-03  0.680E-04   26  18   1   17  15   9   14  21   9    0.000    0.000       0
+  0   6607 01:32:54.02   0.8640A   2.0835  -0.9598  -1.2324  0.077  0.00   0.000      0.  0.720E+00  0.911E-01  0.954E-03  0.642E-04   29  24  36   21  11   8   12  22   9    0.000    0.000       0
+  0   6614 01:33:00.02   0.8620A   2.0884  -0.9285  -1.1724  0.076  0.00   0.000      0.  0.720E+00  0.911E-01  0.939E-03  0.567E-04   37   4  16   21  11   8   10  22   9    0.000    0.000       0
+  0   6621 01:33:06.03   0.8610A   2.0903   0.9274  -1.0885  0.076  0.00   0.000      0.  0.720E+00  0.908E-01  0.919E-03  0.503E-04   37   4  21   14  16   9    9  19   9    0.000    0.000       0
+  0   6628 01:33:12.11   0.8810A   2.0431   0.9316  -1.0193  0.076  0.00   0.000      0.  0.719E+00  0.904E-01  0.926E-03  0.493E-04   37  31  15   13  17   9    9  23   8    0.000    0.000       0
+  0   6635 01:33:18.17   0.8510A   2.1147   0.8294  -0.9958  0.076  0.00   0.000      0.  0.718E+00  0.901E-01  0.887E-03  0.444E-04   26  29   7   12  18   9    7  23   7    0.000    0.000       0
+  0   6642 01:33:24.08   0.8410A   2.1413   0.7754   0.9734  0.076  0.00   0.000      0.  0.717E+00  0.901E-01  0.880E-03  0.468E-04   26  29  11   14  14   9   20  29   9    0.000    0.000       0
+  0   6649 01:33:30.05   0.8650A   2.0811   0.7423   1.2113  0.076  0.00   0.000      0.  0.717E+00  0.904E-01  0.916E-03  0.540E-04   26  29  16   13  15   9   20  29   9    0.000    0.000       0
+  0   6656 01:33:36.15   0.8650A   2.0806   0.7442   1.1922  0.076  0.00   0.000      0.  0.717E+00  0.910E-01  0.908E-03  0.566E-04   28  24  33   13  16   9   20  28   9    0.000    0.000       0
+  0   6663 01:33:42.18   0.8620A   2.0872  -0.7340   1.0500  0.077  0.00   0.000      0.  0.718E+00  0.916E-01  0.899E-03  0.582E-04   28  24  39   20  15   8   20  29   9    0.000    0.000       0
+  0   6670 01:33:48.23   0.8670A   2.0749  -0.6634   0.9959  0.079  0.00   0.000      0.  0.718E+00  0.921E-01  0.893E-03  0.574E-04   33  25   5    1  16   7   20  29   9    0.000    0.000       0
+  0   6677 01:33:54.28   0.8610A   2.0903  -0.7008   0.8940  0.080  0.00   0.000      0.  0.718E+00  0.925E-01  0.877E-03  0.550E-04   33  25  10   20  10   9   20  27   9    0.000    0.000       0
+  0   6684 01:34:00.33   0.8640A   2.0830  -0.8367  -0.8552  0.081  0.00   0.000      0.  0.718E+00  0.926E-01  0.868E-03  0.463E-04   28  24  17   20  15   8   17  29   8    0.000    0.000       0
+  0   6691 01:34:06.34   0.8570A   2.1013  -0.7235  -0.7751  0.081  0.00   0.000      0.  0.717E+00  0.923E-01  0.842E-03  0.417E-04   28  24  23   19   9   9   16  29   9    0.000    0.000       0
+  0   6698 01:34:12.34   0.8580A   2.0987  -0.7341  -0.7525  0.082  0.00   0.000      0.  0.716E+00  0.919E-01  0.826E-03  0.401E-04   28  24  28   19   9   9   16  19   9    0.000    0.000       0
+  0   6705 01:34:18.30   0.8480A   2.1217  -0.7931   0.7900  0.082  0.00   0.000      0.  0.715E+00  0.917E-01  0.804E-03  0.395E-04   28  24  34   18  10   9   20  29   0    0.000    0.000       0
+  0   6712 01:34:24.24   0.8470A   2.1264  -0.8008   0.9222  0.081  0.00   0.000      0.  0.715E+00  0.915E-01  0.789E-03  0.352E-04   27  30  27    8  27   9   20  29   2    0.000    0.000       0
+  0   6719 01:34:30.15   0.8430A   2.1350  -0.7867   0.7879  0.080  0.00   0.000      0.  0.714E+00  0.911E-01  0.776E-03  0.347E-04   27  31  31    8  26   9   21  29   4    0.000    0.000       0
+  0   6726 01:34:36.11   0.8530A   2.1092  -0.6955   0.7652  0.080  0.00   0.000      0.  0.713E+00  0.908E-01  0.783E-03  0.377E-04   32  26  11   19  10   9   17  10   9    0.000    0.000       0
+  0   6733 01:34:42.06   0.8460A   2.1287   0.7708   0.7683  0.079  0.00   0.000      0.  0.713E+00  0.907E-01  0.783E-03  0.407E-04   27  30   3   14  13   9   17  11   9    0.000    0.000       0
+  0   6741 01:34:48.79   0.8440A   2.1317   0.8836  -0.7995  0.078  0.00   0.000      0.  0.713E+00  0.908E-01  0.786E-03  0.412E-04   31  25  20   11  13   9   14  26   9    0.000    0.000       0
+  0   6748 01:34:54.64   0.8320A   2.1631   0.9769  -0.8312  0.077  0.00   0.000      0.  0.713E+00  0.908E-01  0.771E-03  0.392E-04   22  36  23   12  15   9   20  29   8    0.000    0.000       0
+  0   6755 01:35:00.48   0.8370A   2.1509   0.9732  -0.7891  0.077  0.00   0.000      0.  0.712E+00  0.906E-01  0.767E-03  0.377E-04   22  36  28   12  16   9   12  25   8    0.000    0.000       0
+  0   6762 01:35:06.36   0.8380A   2.1475   0.9122  -0.7738  0.076  0.00   0.000      0.  0.711E+00  0.904E-01  0.765E-03  0.390E-04   28  30  29   13  17   9   17  21   9    0.000    0.000       0
+  0   6769 01:35:12.05   0.8040A   2.2385   0.8716  -0.7579  0.076  0.00   0.000      0.  0.711E+00  0.902E-01  0.728E-03  0.380E-04   28  30  34   13  18   9   10  25   6    0.000    0.000       0
+  0   6777 01:35:18.48   0.8160A   2.2050   0.8523  -0.7456  0.076  0.00   0.000      0.  0.710E+00  0.902E-01  0.733E-03  0.403E-04   28  30   0   11  15   9    8  25   5    0.000    0.000       0
+  0   6784 01:35:24.19   0.8230A   2.1874   0.8916  -0.7980  0.075  0.00   0.000      0.  0.710E+00  0.903E-01  0.732E-03  0.383E-04   28  30   4   10  16   9   16  21   9    0.000    0.000       0
+  0   6792 01:35:30.83   0.8430A   2.1341   0.8446  -0.8949  0.076  0.00   0.000      0.  0.709E+00  0.904E-01  0.755E-03  0.402E-04   28  32   2    9  17   9   16  21   9    0.000    0.000       0
+  0   6799 01:35:36.73   0.8450A   2.1292   0.7893  -0.9335  0.077  0.00   0.000      0.  0.709E+00  0.906E-01  0.771E-03  0.439E-04   29  32  11   19  24   9   15  21   9    0.000    0.000       0
+  0   6806 01:35:42.64   0.8470A   2.1260   0.8398  -0.9324  0.078  0.00   0.000      0.  0.709E+00  0.909E-01  0.772E-03  0.435E-04   29  32  16   19  25   9   14  21   9    0.000    0.000       0
+  0   6813 01:35:48.56   0.8410A   2.1398   0.7252  -0.8631  0.079  0.00   0.000      0.  0.709E+00  0.912E-01  0.762E-03  0.420E-04   28  32  23   18  26   9   13  21   9    0.000    0.000       0
+  0   6820 01:35:54.48   0.8470A   2.1244  -0.6546  -0.7622  0.079  0.00   0.000      0.  0.709E+00  0.915E-01  0.759E-03  0.403E-04   28  32  28   20  22   4   14  18   8    0.000    0.000       0
+  0   6827 01:36:00.40   0.8390A   2.1444  -0.6839  -0.7292  0.079  0.00   0.000      0.  0.709E+00  0.919E-01  0.749E-03  0.416E-04   34  34  39   20  20   4   13  18   8    0.000    0.000       0
+  0   6834 01:36:06.25   0.8330A   2.1597   0.6663  -0.6741  0.079  0.00   0.000      0.  0.709E+00  0.924E-01  0.743E-03  0.428E-04   34  34   4   19  30   9   11  19   8    0.000    0.000       0
+  0   6841 01:36:12.06   0.8270A   2.1765   0.7407   0.9348  0.079  0.00   0.000      0.  0.709E+00  0.929E-01  0.732E-03  0.407E-04   34  34  10   19  30   9   20  12   9    0.000    0.000       0
+  0   6849 01:36:18.63   0.8240A   2.1851  -0.6636   1.0125  0.079  0.00   0.000      0.  0.709E+00  0.935E-01  0.733E-03  0.408E-04   34  34  15    9  23   7   21  13   9    0.000    0.000       0
+  0   6856 01:36:24.39   0.8290A   2.1723  -0.7048   0.8071  0.079  0.00   0.000      0.  0.709E+00  0.941E-01  0.746E-03  0.420E-04   34  34  20   11  27   9   19  29   8    0.000    0.000       0
+  0   6863 01:36:30.19   0.8350A   2.1560  -0.8646   0.7226  0.078  0.00   0.000      0.  0.709E+00  0.945E-01  0.752E-03  0.404E-04   34  34  26   11  26   9   20  29   8    0.000    0.000       0
+  0   6870 01:36:36.07   0.8400A   2.1417  -0.9735   0.6766  0.078  0.00   0.000      0.  0.709E+00  0.949E-01  0.760E-03  0.418E-04   34  34  31   13  26   9   21  29   9    0.000    0.000       0
+  0   6878 01:36:42.81   0.8470A   2.1250  -0.9258  -0.7260  0.078  0.00   0.000      0.  0.709E+00  0.950E-01  0.776E-03  0.388E-04   34  34  37   13  25   9   18  17   9    0.000    0.000       0
+  0   6885 01:36:48.77   0.8500A   2.1176  -0.8334  -0.8282  0.079  0.00   0.000      0.  0.709E+00  0.948E-01  0.787E-03  0.367E-04   29  25  19    6  28   9   17  17   9    0.000    0.000       0
+  0   6892 01:36:54.74   0.8530A   2.1104  -0.7944  -0.8078  0.080  0.00   0.000      0.  0.708E+00  0.943E-01  0.794E-03  0.370E-04   29  25  24    6  28   9   16  19   9    0.000    0.000       0
+  0   6899 01:37:00.61   0.8260A   2.1787  -0.7404  -0.7659  0.081  0.00   0.000      0.  0.707E+00  0.938E-01  0.767E-03  0.361E-04   29  24  28   14  26   9   17  19   9    0.000    0.000       0
+  0   6906 01:37:06.38   0.8270A   2.1768   0.8604  -0.7448  0.081  0.00   0.000      0.  0.706E+00  0.933E-01  0.766E-03  0.369E-04   29  24  33   11  14   9   17  18   9    0.000    0.000       0
+  0   6913 01:37:12.19   0.8350A   2.1569   0.8933   0.6888  0.082  0.00   0.000      0.  0.705E+00  0.930E-01  0.777E-03  0.395E-04   25  25  22   12  14   9   20  13   9    0.000    0.000       0
+  0   6921 01:37:18.80   0.8180A   2.2015   0.8132  -1.0238  0.082  0.00   0.000      0.  0.704E+00  0.928E-01  0.769E-03  0.404E-04   25  25  27   12  15   9   18  24   9    0.000    0.000       0
+  0   6928 01:37:24.57   0.8250A   2.1807   0.7956  -1.1598  0.083  0.00   0.000      0.  0.704E+00  0.927E-01  0.787E-03  0.422E-04   25  25  32   11  13   9   17  24   9    0.000    0.000       0
+  0   6935 01:37:30.41   0.8520A   2.1132   0.7858  -1.0775  0.082  0.00   0.000      0.  0.703E+00  0.929E-01  0.820E-03  0.483E-04   25  25  36   11  14   9   16  24   9    0.000    0.000       0
+  0   6942 01:37:36.36   0.8490A   2.1201  -0.7969  -0.9118  0.081  0.00   0.000      0.  0.703E+00  0.932E-01  0.813E-03  0.500E-04   31  29  18   13  25   9   16  25   9    0.000    0.000       0
+  0   6949 01:37:42.34   0.8570A   2.1004  -0.7492  -0.7935  0.080  0.00   0.000      0.  0.704E+00  0.938E-01  0.818E-03  0.523E-04   31  29  23   13  25   9   14  23   9    0.000    0.000       0
+  0   6956 01:37:48.37   0.8580A   2.0979   0.7239  -0.8527  0.080  0.00   0.000      0.  0.704E+00  0.944E-01  0.823E-03  0.519E-04   25  22  11   20  25   9   17  20   9    0.000    0.000       0
+  0   6963 01:37:54.36   0.8590A   2.0960   0.7376  -1.0029  0.080  0.00   0.000      0.  0.704E+00  0.949E-01  0.833E-03  0.521E-04   25  22  17   19  26   9   16  21   9    0.000    0.000       0
+  0   6970 01:38:00.36   0.8590A   2.0964   0.8575  -1.0952  0.081  0.00   0.000      0.  0.704E+00  0.953E-01  0.832E-03  0.552E-04   25  22  22   18  30   9   15  21   9    0.000    0.000       0
+  0   6977 01:38:06.35   0.8420A   2.1377   0.9323  -1.0806  0.083  0.00   0.000      0.  0.705E+00  0.958E-01  0.823E-03  0.549E-04   34  22  28   20  28   9   14  21   9    0.000    0.000       0
+  0   6984 01:38:12.22   0.8380A   2.1469   0.9473  -1.1294  0.085  0.00   0.000      0.  0.705E+00  0.960E-01  0.811E-03  0.491E-04   34  22  32   19  28   9   17  24   9    0.000    0.000       0
+  0   6991 01:38:18.00   0.8230A   2.1872   0.9745  -1.1755  0.087  0.00   0.000      0.  0.705E+00  0.959E-01  0.771E-03  0.404E-04   34  22  37   18  30   9   16  24   9    0.000    0.000       0
+  0   6999 01:38:24.65   0.8280A   2.1736  -0.8623  -1.0744  0.087  0.00   0.000      0.  0.705E+00  0.956E-01  0.760E-03  0.407E-04   34  22   2   10  26   9   14  23   9    0.000    0.000       0
+  0   7006 01:38:30.54   0.8530A   2.1107  -0.8442  -0.9678  0.087  0.00   0.000      0.  0.705E+00  0.957E-01  0.765E-03  0.409E-04   34  22   7   10  26   9   13  22   9    0.000    0.000       0
+  0   7013 01:38:36.53   0.8540A   2.1067  -0.7427  -0.8568  0.086  0.00   0.000      0.  0.705E+00  0.957E-01  0.750E-03  0.393E-04   35  36   7   15  24   7   12  21   9    0.000    0.000       0
+  0   7020 01:38:42.53   0.8590A   2.0966  -0.7970  -0.8799  0.085  0.00   0.000      0.  0.705E+00  0.958E-01  0.742E-03  0.394E-04   35  36  12    7  27   9    7  20   8    0.000    0.000       0
+  0   7027 01:38:48.57   0.8620A   2.0893  -0.8123  -0.8802  0.084  0.00   0.000      0.  0.705E+00  0.957E-01  0.739E-03  0.386E-04   34  21  22    7  27   9    5  20   8    0.000    0.000       0
+  0   7034 01:38:54.62   0.8670A   2.0760  -0.8071  -0.8702  0.083  0.00   0.000      0.  0.704E+00  0.954E-01  0.744E-03  0.384E-04   35   2  23    7  26   9    4  20   7    0.000    0.000       0
+  0   7041 01:39:00.66   0.8630A   2.0847  -0.7892  -0.7628  0.082  0.00   0.000      0.  0.703E+00  0.952E-01  0.753E-03  0.416E-04   31  32  31    7  25   9    4  20   9    0.000    0.000       0
+  0   7048 01:39:06.73   0.8660A   2.0797  -0.7516  -0.7813  0.083  0.00   0.000      0.  0.702E+00  0.952E-01  0.767E-03  0.442E-04   35   3  32    9  27   9    3  20   8    0.000    0.000       0
+  0   7055 01:39:12.80   0.8740A   2.0585   0.9328  -0.8857  0.084  0.00   0.000      0.  0.702E+00  0.953E-01  0.789E-03  0.478E-04   29   4  17   20  30   9   18  25   9    0.000    0.000       0
+  0   7061 01:39:18.03   0.8730A   2.0629   0.9205  -0.9289  0.086  0.00   0.000      0.  0.703E+00  0.955E-01  0.808E-03  0.518E-04   29   4  21   19  30   9   17  25   9    0.000    0.000       0
+  0   7068 01:39:24.20   0.8800A   2.0463   0.8911  -1.0803  0.088  0.00   0.000      0.  0.703E+00  0.959E-01  0.834E-03  0.552E-04   31  30   8   18  30   9   17  17   9    0.000    0.000       0
+  0   7075 01:39:30.28   0.8570A   2.1000  -0.9378  -1.1352  0.090  0.00   0.000      0.  0.704E+00  0.961E-01  0.813E-03  0.528E-04   38  34   6   20  10   9   16  17   9    0.000    0.000       0
+  0   7082 01:39:36.32   0.8710A   2.0676   0.9529  -1.0626  0.090  0.00   0.000      0.  0.704E+00  0.961E-01  0.823E-03  0.510E-04   26  36   2   13  13   9   16  17   9    0.000    0.000       0
+  0   7089 01:39:42.47   0.8820A   2.0406   0.9674  -1.0340  0.089  0.00   0.000      0.  0.704E+00  0.959E-01  0.838E-03  0.496E-04   29  36   6   13  14   9   15  20   9    0.000    0.000       0
+  0   7096 01:39:48.58   0.8750A   2.0573  -0.9504  -0.9474  0.087  0.00   0.000      0.  0.704E+00  0.956E-01  0.849E-03  0.533E-04   29  36  10   16  27   9   14  20   9    0.000    0.000       0
+  0   7103 01:39:54.65   0.8630A   2.0849  -1.0248  -0.9582  0.084  0.00   0.000      0.  0.704E+00  0.955E-01  0.859E-03  0.550E-04   19   8   4   14  26   9   10  20   8    0.000    0.000       0
+  0   7110 01:40:00.73   0.8790A   2.0472   1.0865  -0.9554  0.082  0.00   0.000      0.  0.704E+00  0.951E-01  0.878E-03  0.515E-04   29  36  20   10  14   9    7  20   8    0.000    0.000       0
+  0   7116 01:40:06.05   0.8870A   2.0286   1.0354  -0.9506  0.080  0.00   0.000      0.  0.704E+00  0.946E-01  0.887E-03  0.523E-04   28  35  25    9  15   9    7  20   7    0.000    0.000       0
+  0   7123 01:40:12.22   0.8780A   2.0507   0.9247  -0.9442  0.079  0.00   0.000      0.  0.703E+00  0.941E-01  0.865E-03  0.458E-04   29  36  32    9  16   9    6  21   7    0.000    0.000       0
+  0   7130 01:40:18.35   0.8740A   2.0602   0.8197  -0.8856  0.080  0.00   0.000      0.  0.702E+00  0.935E-01  0.851E-03  0.413E-04   29  36  37   19  13   9    5  21   6    0.000    0.000       0
+  0   7137 01:40:24.51   0.8820A   2.0408  -0.7227  -0.8957  0.082  0.00   0.000      0.  0.702E+00  0.931E-01  0.852E-03  0.397E-04   29  36   2   14  23   7   15  23   9    0.000    0.000       0
+  0   7144 01:40:30.65   0.8670A   2.0750  -0.6913  -0.9441  0.084  0.00   0.000      0.  0.701E+00  0.927E-01  0.845E-03  0.463E-04   22  31  31   13  22   7   17  21   9    0.000    0.000       0
+  0   7151 01:40:36.61   0.8370A   2.1509  -0.7487  -0.9798  0.085  0.00   0.000      0.  0.702E+00  0.928E-01  0.840E-03  0.540E-04   22  31  35   13  21   6   17  17   9    0.000    0.000       0
+  0   7158 01:40:42.46   0.8330A   2.1596  -0.8249  -1.0501  0.085  0.00   0.000      0.  0.703E+00  0.930E-01  0.847E-03  0.575E-04   22  31  39   16  28   9   17  17   9    0.000    0.000       0
+  0   7165 01:40:48.51   0.8710A   2.0657  -1.0091  -0.9687  0.085  0.00   0.000      0.  0.703E+00  0.929E-01  0.878E-03  0.539E-04   23  29   8   15  27   9   13  16   9    0.000    0.000       0
+  0   7172 01:40:54.64   0.8770A   2.0525  -1.0761   1.3333  0.083  0.00   0.000      0.  0.703E+00  0.927E-01  0.887E-03  0.560E-04   29  37  29   14  26   9   20  12   9    0.000    0.000       0
+  0   7179 01:41:00.71   0.8530A   2.1111  -1.0470   1.3693  0.082  0.00   0.000      0.  0.703E+00  0.925E-01  0.874E-03  0.608E-04   22  29  15   12  26   9   21  13   9    0.000    0.000       0
+  0   7186 01:41:06.74   0.8450A   2.1303   1.0650   1.0030  0.080  0.00   0.000      0.  0.703E+00  0.924E-01  0.858E-03  0.563E-04   23  29  16   13  15   9   20  15   9    0.000    0.000       0
+  0   7193 01:41:12.76   0.8670A   2.0764   1.1773  -0.9193  0.079  0.00   0.000      0.  0.703E+00  0.919E-01  0.864E-03  0.505E-04   22  29  24   13  16   9   11  18   8    0.000    0.000       0
+  0   7200 01:41:18.73   0.8330A   2.1609   1.1870  -0.9236  0.078  0.00   0.000      0.  0.703E+00  0.914E-01  0.824E-03  0.471E-04   22  29  28   11  14   9    9  18   8    0.000    0.000       0
+  0   7207 01:41:24.58   0.8300A   2.1693   1.1210  -0.8938  0.078  0.00   0.000      0.  0.702E+00  0.910E-01  0.828E-03  0.515E-04   22  29  32   10  15   9    7  12   9    0.000    0.000       0
+  0   7214 01:41:30.50   0.8450A   2.1301   0.9919  -0.8406  0.079  0.00   0.000      0.  0.702E+00  0.906E-01  0.826E-03  0.482E-04   22  28  36   14  16   9    6  14   9    0.000    0.000       0
+  0   7221 01:41:36.47   0.8520A   2.1117   0.8731  -0.7889  0.080  0.00   0.000      0.  0.702E+00  0.903E-01  0.810E-03  0.459E-04   22  28   0   14  17   9    5  14   9    0.000    0.000       0
+  0   7228 01:41:42.36   0.8450A   2.1304  -0.8656   0.8574  0.081  0.00   0.000      0.  0.703E+00  0.901E-01  0.798E-03  0.497E-04   22  29   5   19  19   9   15  11   0    0.000    0.000       0
+  0   7235 01:41:48.31   0.8430A   2.1361   0.8891  -1.0903  0.081  0.00   0.000      0.  0.703E+00  0.899E-01  0.786E-03  0.454E-04   22  30   8   19  26   9   17  20   9    0.000    0.000       0
+  0   7242 01:41:54.29   0.8540A   2.1068   0.7090  -1.2811  0.082  0.00   0.000      0.  0.703E+00  0.895E-01  0.786E-03  0.465E-04   22  30  12   17  25   9   16  20   9    0.000    0.000       0
+  0   7249 01:42:00.30   0.8540A   2.1076  -0.9283  -1.1523  0.084  0.00   0.000      0.  0.703E+00  0.892E-01  0.791E-03  0.512E-04   22  29  17   20  25   8   14  20   9    0.000    0.000       0
+  0   7256 01:42:06.33   0.8640A   2.0828  -0.7669  -1.0554  0.084  0.00   0.000      0.  0.703E+00  0.889E-01  0.804E-03  0.519E-04   28  18  31   20  25   9   18  27   9    0.000    0.000       0
+  0   7263 01:42:12.47   0.8780A   2.0499   0.7443  -1.0457  0.084  0.00   0.000      0.  0.703E+00  0.886E-01  0.808E-03  0.507E-04   27  19   0   12  14   9   17  26   9    0.000    0.000       0
+  0   7270 01:42:18.60   0.8740A   2.0596   0.8128  -0.8755  0.084  0.00   0.000      0.  0.702E+00  0.884E-01  0.798E-03  0.510E-04   27  19   5   12  16   9   13  23   8    0.000    0.000       0
+  0   7277 01:42:24.75   0.8820A   2.0404   0.8282  -0.8083  0.084  0.00   0.000      0.  0.703E+00  0.883E-01  0.806E-03  0.558E-04   21  31  28   11  17   9    8  12   9    0.000    0.000       0
+  0   7284 01:42:30.78   0.8520A   2.1137   0.7527  -0.8266  0.085  0.00   0.000      0.  0.703E+00  0.882E-01  0.776E-03  0.508E-04   21  31  33   11  17   9   18  16   9    0.000    0.000       0
+  0   7291 01:42:36.82   0.8610A   2.0916  -0.8634  -0.8107  0.085  0.00   0.000      0.  0.703E+00  0.881E-01  0.775E-03  0.515E-04   21  31  37   17  26   9   17  17   9    0.000    0.000       0
+  0   7297 01:42:42.02   0.8670A   2.0770  -0.9372  -0.7516  0.084  0.00   0.000      0.  0.704E+00  0.882E-01  0.780E-03  0.546E-04   21  31   1   13  26   9    7  20   8    0.000    0.000       0
+  0   7304 01:42:48.08   0.8670A   2.0767  -0.9366   0.9861  0.083  0.00   0.000      0.  0.705E+00  0.883E-01  0.776E-03  0.560E-04   28  16  33   14  25   9   20  11   9    0.000    0.000       0
+  0   7311 01:42:54.16   0.8690A   2.0702   0.9741   0.9682  0.082  0.00   0.000      0.  0.705E+00  0.883E-01  0.766E-03  0.530E-04   28  16  37   19  14   9   20  11   9    0.000    0.000       0
+  0   7318 01:43:00.28   0.8800A   2.0455   0.9450   0.9690  0.080  0.00   0.000      0.  0.705E+00  0.882E-01  0.764E-03  0.473E-04   29  12   4   16  16   9   20  12   9    0.000    0.000       0
+  0   7325 01:43:06.45   0.8810A   2.0435   0.9914   0.8689  0.079  0.00   0.000      0.  0.705E+00  0.879E-01  0.761E-03  0.459E-04   33  12   3   19  17   9   20  12   9    0.000    0.000       0
+  0   7332 01:43:12.62   0.8760A   2.0543   1.0014  -0.7880  0.079  0.00   0.000      0.  0.704E+00  0.875E-01  0.767E-03  0.475E-04   26  17  18   13  17   8    6  20   6    0.000    0.000       0
+  0   7339 01:43:18.74   0.8720A   2.0654   1.0623  -0.8088  0.079  0.00   0.000      0.  0.704E+00  0.872E-01  0.767E-03  0.479E-04   26  17  23   12  15   9   16  10   8    0.000    0.000       0
+  0   7345 01:43:23***   0.8800A   2.0461   0.9955  -0.7207  0.079  0.00   0.000      0.  0.704E+00  0.872E-01  0.758E-03  0.470E-04   26  33  37   11  16   9   10  14   9    0.000    0.000       0
+  0   7352 01:43:30.16   0.8820A   2.0415   0.9196   0.7474  0.079  0.00   0.000      0.  0.705E+00  0.872E-01  0.741E-03  0.468E-04   26  33   2   10  18   9   20  11   9    0.000    0.000       0
+  0   7359 01:43:36.17   0.8590A   2.0956   0.8926   0.7690  0.078  0.00   0.000      0.  0.705E+00  0.875E-01  0.725E-03  0.487E-04   22  34   9   12  15   9   20  11   9    0.000    0.000       0
+  0   7366 01:43:42.15   0.8650A   2.0811   0.8526   0.7683  0.077  0.00   0.000      0.  0.706E+00  0.878E-01  0.742E-03  0.550E-04   22  34  14    6  13   9   20  29   9    0.000    0.000       0
+  0   7373 01:43:48.27   0.8710A   2.0655   0.9767   0.8107  0.076  0.00   0.000      0.  0.707E+00  0.882E-01  0.756E-03  0.566E-04   33  14  37    6  15   9   20  28   9    0.000    0.000       0
+  0   7380 01:43:54.37   0.8700A   2.0687   1.0185  -0.6581  0.075  0.00   0.000      0.  0.707E+00  0.884E-01  0.745E-03  0.522E-04   33  14   2   11  15   9    3  21   9    0.000    0.000       0
+  0   7387 01:44:00.42   0.8580A   2.0972   0.9992   0.7183  0.075  0.00   0.000      0.  0.707E+00  0.884E-01  0.732E-03  0.451E-04   21  34  30   11  16   9   13  29   8    0.000    0.000       0
+  0   7394 01:44:06.38   0.8470A   2.1260   0.9498  -0.6750  0.075  0.00   0.000      0.  0.707E+00  0.880E-01  0.714E-03  0.384E-04   25  34  32   10  17   9    3  22   5    0.000    0.000       0
+  0   7401 01:44:12.27   0.8480A   2.1230   0.8850   0.7462  0.075  0.00   0.000      0.  0.707E+00  0.875E-01  0.707E-03  0.361E-04   25  34  37   10  18   9   12  10   8    0.000    0.000       0
+  0   7408 01:44:18.24   0.8660A   2.0797  -0.8137   0.7701  0.075  0.00   0.000      0.  0.706E+00  0.870E-01  0.723E-03  0.398E-04   25  34   3   12  28   9   13  11   8    0.000    0.000       0
+  0   7415 01:44:24.32   0.8650A   2.0812  -0.8407  -0.6990  0.075  0.00   0.000      0.  0.705E+00  0.866E-01  0.721E-03  0.428E-04   24  21   1   12  27   9   16  19   9    0.000    0.000       0
+  0   7422 01:44:30.41   0.8700A   2.0688   0.8884   0.6943  0.074  0.00   0.000      0.  0.705E+00  0.863E-01  0.721E-03  0.450E-04   30  16  38   13  12   9   20  10   9    0.000    0.000       0
+  0   7429 01:44:36.48   0.8640A   2.0829   0.9263   0.7766  0.073  0.00   0.000      0.  0.705E+00  0.861E-01  0.708E-03  0.445E-04   30  16   3   13  14   9   21  11   9    0.000    0.000       0
+  0   7436 01:44:42.53   0.8610A   2.0903  -0.9155   0.8316  0.073  0.00   0.000      0.  0.705E+00  0.861E-01  0.715E-03  0.471E-04   30  15   8   15  26   9   20  13   9    0.000    0.000       0
+  0   7443 01:44:48.56   0.8620A   2.0877  -0.9353   0.9189  0.072  0.00   0.000      0.  0.705E+00  0.863E-01  0.741E-03  0.554E-04   30  15  13   15  26   9   20  14   9    0.000    0.000       0
+  0   7450 01:44:54.52   0.8460A   2.1265  -0.9422   0.8253  0.073  0.00   0.000      0.  0.706E+00  0.869E-01  0.733E-03  0.532E-04   24  36  32   15  25   9   21  14   9    0.000    0.000       0
+  0   7457 01:45:00.43   0.8510A   2.1163  -0.9143  -0.7369  0.073  0.00   0.000      0.  0.707E+00  0.875E-01  0.742E-03  0.510E-04   24  36  37   14  25   9   15  18   9    0.000    0.000       0
+  0   7464 01:45:06.45   0.8650A   2.0811  -0.9020   0.8232  0.074  0.00   0.000      0.  0.708E+00  0.881E-01  0.754E-03  0.494E-04   31  15  28   14  25   9   20  14   9    0.000    0.000       0
+  0   7471 01:45:12.47   0.8590A   2.0963  -0.8312   0.8477  0.074  0.00   0.000      0.  0.709E+00  0.885E-01  0.737E-03  0.432E-04   31  15  33   17  24   9   20  14   9    0.000    0.000       0
+  0   7478 01:45:18.51   0.8630A   2.0859   0.9004   0.7727  0.074  0.00   0.000      0.  0.709E+00  0.886E-01  0.727E-03  0.387E-04   31  15  38   12  13   9   20  14   9    0.000    0.000       0
+  0   7485 01:45:24.59   0.8760A   2.0555   0.9108  -0.7647  0.073  0.00   0.000      0.  0.709E+00  0.883E-01  0.737E-03  0.400E-04   31  15   4   12  14   9    8  18   8    0.000    0.000       0
+  0   7492 01:45:30.71   0.8700A   2.0688   0.8359  -0.7316  0.073  0.00   0.000      0.  0.708E+00  0.880E-01  0.733E-03  0.393E-04   37  37  14   11  15   9    7  18   7    0.000    0.000       0
+  0   7499 01:45:36.84   0.8770A   2.0533  -0.7711  -0.7136  0.073  0.00   0.000      0.  0.708E+00  0.875E-01  0.738E-03  0.392E-04   37  37  19   13  24   8    6  19   8    0.000    0.000       0
+  0   7505 01:45:42.14   0.8890A   2.0243  -0.7238  -0.7168  0.072  0.00   0.000      0.  0.707E+00  0.872E-01  0.746E-03  0.417E-04   37  37  24    9  25   9    6  19   7    0.000    0.000       0
+  0   7512 01:45:48.35   0.8880A   2.0278  -0.7631   0.7393  0.072  0.00   0.000      0.  0.706E+00  0.868E-01  0.744E-03  0.432E-04   31  16  26   20  15   9   18  10   9    0.000    0.000       0
+  0   7519 01:45:54.53   0.8740A   2.0601   0.8136   0.8869  0.072  0.00   0.000      0.  0.706E+00  0.865E-01  0.744E-03  0.458E-04   21  34  32   14  12   9   20  11   9    0.000    0.000       0
+  0   7526 01:46:00.73   0.8930A   2.0162   0.9620  -0.8738  0.072  0.00   0.000      0.  0.706E+00  0.862E-01  0.764E-03  0.447E-04   31  16  37   13  13   9   16  20   9    0.000    0.000       0
+  0   7532 01:46:06.09   0.8910A   2.0198   0.8956  -0.8064  0.073  0.00   0.000      0.  0.705E+00  0.859E-01  0.770E-03  0.452E-04   37  36   1   13  14   9   16  21   9    0.000    0.000       0
+  0   7539 01:46:12.30   0.8930A   2.0146   0.7860   0.8246  0.074  0.00   0.000      0.  0.705E+00  0.856E-01  0.783E-03  0.519E-04   37  36   7   13  15   9   21  14   9    0.000    0.000       0
+  0   7546 01:46:18.53   0.8930A   2.0157   0.7127   0.8562  0.074  0.00   0.000      0.  0.706E+00  0.858E-01  0.793E-03  0.568E-04   37  36  12   20  14   9   16  30   6    0.000    0.000       0
+  0   7553 01:46:24.71   0.8740A   2.0605   0.7692   1.0153  0.075  0.00   0.000      0.  0.707E+00  0.863E-01  0.787E-03  0.595E-04   28   7   3   16  30   9   17  30   8    0.000    0.000       0
+  0   7560 01:46:30.80   0.8680A   2.0740   0.7857   1.1123  0.075  0.00   0.000      0.  0.708E+00  0.869E-01  0.785E-03  0.607E-04   25   1  14   18  30   9   19  29   8    0.000    0.000       0
+  0   7567 01:46:36.85   0.8610A   2.0901   0.7866   1.0802  0.074  0.00   0.000      0.  0.710E+00  0.875E-01  0.773E-03  0.537E-04   25   1  19   15  13   9   20  10   9    0.000    0.000       0
+  0   7574 01:46:42.85   0.8620A   2.0870   0.8484   0.8744  0.074  0.00   0.000      0.  0.711E+00  0.878E-01  0.758E-03  0.442E-04   25   1  24   15  13   9   20  11   9    0.000    0.000       0
+  0   7580 01:46:48.02   0.8610A   2.0917  -0.9043  -1.0112  0.073  0.00   0.000      0.  0.712E+00  0.878E-01  0.744E-03  0.403E-04   27  30   0    9  29   6   15  29   8    0.000    0.000       0
+  0   7587 01:46:54.05   0.8570A   2.1007   0.9776  -0.9459  0.072  0.00   0.000      0.  0.712E+00  0.875E-01  0.741E-03  0.419E-04   27  30   5   13  13   9    5  28   9    0.000    0.000       0
+  0   7594 01:47:00.09   0.8670A   2.0762  -0.9996  -0.7929  0.072  0.00   0.000      0.  0.711E+00  0.870E-01  0.739E-03  0.422E-04   27  30  10    7  27   8    6  27   9    0.000    0.000       0
+  0   7601 01:47:06.21   0.8760A   2.0558  -0.9203  -0.7970  0.072  0.00   0.000      0.  0.710E+00  0.864E-01  0.740E-03  0.440E-04   25  16   6    9  24   9    6  26   9    0.000    0.000       0
+  0   7608 01:47:12.39   0.8910A   2.0202  -0.9142  -0.7387  0.073  0.00   0.000      0.  0.709E+00  0.858E-01  0.741E-03  0.435E-04   25  16  11    8  26   9   15  15   9    0.000    0.000       0
+  0   7615 01:47:18.59   0.8880A   2.0262  -0.8338  -0.7165  0.074  0.00   0.000      0.  0.709E+00  0.854E-01  0.725E-03  0.440E-04   36  17  11    7  25   9   14  16   9    0.000    0.000       0
+  0   7622 01:47:24.81   0.8870A   2.0293  -0.7186  -0.8047  0.075  0.00   0.000      0.  0.709E+00  0.851E-01  0.720E-03  0.446E-04   36  17  17   20  30   8   18  23   9    0.000    0.000       0
+  0   7628 01:47:30.13   0.8890A   2.0245   0.6846  -0.9935  0.074  0.00   0.000      0.  0.709E+00  0.850E-01  0.716E-03  0.437E-04   36  17  22   19  26   9   18  22   9    0.000    0.000       0
+  0   7635 01:47:36.36   0.8910A   2.0195  -0.6711  -1.0678  0.075  0.00   0.000      0.  0.709E+00  0.848E-01  0.698E-03  0.372E-04   36  17  27   20  10   9   17  21   9    0.000    0.000       0
+  0   7642 01:47:42.61   0.8930A   2.0166  -0.6340  -1.0041  0.075  0.00   0.000      0.  0.708E+00  0.845E-01  0.693E-03  0.354E-04   36  17  33   20  23   6   15  21   9    0.000    0.000       0
+  0   7649 01:47:48.77   0.8790A   2.0475  -0.6906  -0.9181  0.075  0.00   0.000      0.  0.708E+00  0.843E-01  0.677E-03  0.362E-04   26  12  30   20  22   6   14  20   9    0.000    0.000       0
+  0   7656 01:47:54.86   0.8730A   2.0607  -0.5672  -0.8729  0.075  0.00   0.000      0.  0.707E+00  0.842E-01  0.674E-03  0.386E-04   26  12  35   14  24   8   13  20   9    0.000    0.000       0
+  0   7662 01:48:00.10   0.8720A   2.0641  -0.5797  -0.8078  0.075  0.00   0.000      0.  0.707E+00  0.842E-01  0.676E-03  0.396E-04   26  12  39    3   1  22   12  20   9    0.000    0.000       0
+  0   7669 01:48:06.28   0.8910A   2.0203   0.5973  -0.7938  0.076  0.00   0.000      0.  0.707E+00  0.845E-01  0.700E-03  0.423E-04   27  35  29   15  13   9    8   9   8    0.000    0.000       0
+  0   7676 01:48:12.50   0.8900A   2.0233   0.7421   0.7175  0.076  0.00   0.000      0.  0.708E+00  0.851E-01  0.709E-03  0.442E-04   28  18  33   15  13   9   18  27   9    0.000    0.000       0
+  0   7683 01:48:18.71   0.8850A   2.0337   0.9369   0.8348  0.076  0.00   0.000      0.  0.709E+00  0.857E-01  0.725E-03  0.488E-04   38  34  18   14  13   9   20  27   9    0.000    0.000       0
+  0   7690 01:48:24.81   0.8640A   2.0828   0.9938   0.9579  0.075  0.00   0.000      0.  0.710E+00  0.864E-01  0.725E-03  0.510E-04   38  34  23   13  14   9   20  27   9    0.000    0.000       0
+  0   7697 01:48:30.78   0.8390A   2.1464   0.9588  -0.8550  0.075  0.00   0.000      0.  0.711E+00  0.867E-01  0.712E-03  0.446E-04   38  34  27   13  15   9    8  18   8    0.000    0.000       0
+  0   7704 01:48:36.70   0.8400A   2.1421   0.8736  -0.7930  0.075  0.00   0.000      0.  0.711E+00  0.867E-01  0.712E-03  0.427E-04   38  34  31   11  16   9    7  18   8    0.000    0.000       0
+  0   7711 01:48:42.65   0.8660A   2.0785  -0.7836  -0.7479  0.076  0.00   0.000      0.  0.711E+00  0.864E-01  0.723E-03  0.382E-04   28  18  18    5  26   9   15  16   8    0.000    0.000       0
+  0   7718 01:48:48.58   0.8410A   2.1391  -0.7696  -0.7555  0.077  0.00   0.000      0.  0.710E+00  0.859E-01  0.699E-03  0.357E-04   38  34   0    6  26   9   18  20   9    0.000    0.000       0
+  0   7725 01:48:54.55   0.8530A   2.1111  -0.7819  -0.8777  0.078  0.00   0.000      0.  0.709E+00  0.853E-01  0.707E-03  0.365E-04   38  34   4    6  26   9   17  20   9    0.000    0.000       0
+  0   7732 01:49:00.55   0.8660A   2.0784  -0.7399  -0.8825  0.078  0.00   0.000      0.  0.708E+00  0.848E-01  0.714E-03  0.372E-04   28  18  33    5  25   9   16  20   9    0.000    0.000       0
+  0   7739 01:49:06.64   0.8840A   2.0354  -0.6919  -0.8573  0.078  0.00   0.000      0.  0.708E+00  0.845E-01  0.721E-03  0.370E-04   25  36  24    6  27   8   16  20   9    0.000    0.000       0
+  0   7746 01:49:12.79   0.8750A   2.0580  -0.6297  -0.8224  0.077  0.00   0.000      0.  0.708E+00  0.843E-01  0.715E-03  0.379E-04   26  35  31    6  26   8   15  20   9    0.000    0.000       0
+  0   7753 01:49:18.74   0.8310A   2.1654   0.6180  -0.7966  0.077  0.00   0.000      0.  0.708E+00  0.842E-01  0.686E-03  0.363E-04   24  33  28   17  23   9   15  21   9    0.000    0.000       0
+  0   7760 01:49:24.61   0.8460A   2.1283   0.7427   0.8525  0.077  0.00   0.000      0.  0.708E+00  0.841E-01  0.698E-03  0.371E-04   24  33  33    8  12   9    9  10   9    0.000    0.000       0
+  0   7767 01:49:30.59   0.8610A   2.0901   0.7951  -0.6777  0.076  0.00   0.000      0.  0.708E+00  0.839E-01  0.706E-03  0.378E-04   27  33   2    8  13   9   13  22   9    0.000    0.000       0
+  0   7774 01:49:36.58   0.8540A   2.1070   0.7332  -0.6808  0.074  0.00   0.000      0.  0.708E+00  0.836E-01  0.695E-03  0.373E-04   27  33   7    9  15   9    6  18   5    0.000    0.000       0
+  0   7781 01:49:42.58   0.8610A   2.0917   0.7098  -0.6570  0.073  0.00   0.000      0.  0.707E+00  0.834E-01  0.698E-03  0.391E-04   27  33  11   10  15   9    5  18   5    0.000    0.000       0
+  0   7788 01:49:48.64   0.8700A   2.0688   0.8148   0.6410  0.073  0.00   0.000      0.  0.707E+00  0.833E-01  0.703E-03  0.399E-04   27  33  16   12  12   9   20  11   9    0.000    0.000       0
+  0   7795 01:49:54.77   0.8770A   2.0535   0.9060   0.7078  0.073  0.00   0.000      0.  0.707E+00  0.833E-01  0.713E-03  0.449E-04   27  36  23   12  13   9   20  11   9    0.000    0.000       0
+  0   7801 01:50:00.02   0.8750A   2.0574   0.8734   0.6631  0.074  0.00   0.000      0.  0.708E+00  0.835E-01  0.710E-03  0.455E-04   27  36  27   13  14   9   20  11   9    0.000    0.000       0
+  0   7808 01:50:06.16   0.8800A   2.0464   0.8402  -0.7561  0.076  0.00   0.000      0.  0.708E+00  0.839E-01  0.713E-03  0.442E-04   27  36  32   18  30   9    6  28   9    0.000    0.000       0
+  0   7815 01:50:12.32   0.8780A   2.0508  -0.9387  -0.7743  0.076  0.00   0.000      0.  0.709E+00  0.843E-01  0.700E-03  0.404E-04   38  38  27    9  26   9    5  27   9    0.000    0.000       0
+  0   7822 01:50:18.52   0.8930A   2.0156  -0.9464  -0.7091  0.077  0.00   0.000      0.  0.710E+00  0.845E-01  0.712E-03  0.410E-04   25  36   5   10  25   9    4  27   9    0.000    0.000       0
+  0   7829 01:50:24.76   0.8930A   2.0148  -0.9742  -0.6607  0.077  0.00   0.000      0.  0.710E+00  0.847E-01  0.721E-03  0.461E-04   27  36  10   11  24   9   14  10   8    0.000    0.000       0
+  0   7835 01:50:30.11   0.8910A   2.0191  -1.0257   0.7830  0.076  0.00   0.000      0.  0.710E+00  0.848E-01  0.727E-03  0.495E-04   27  36  15    9  26   9   21  11   9    0.000    0.000       0
+  0   7842 01:50:36.29   0.8760A   2.0536  -1.1249   0.7025  0.075  0.00   0.000      0.  0.710E+00  0.847E-01  0.709E-03  0.463E-04   35  21  14    8  25   9   20  11   9    0.000    0.000       0
+  0   7849 01:50:42.32   0.8370A   2.1516  -1.0549   0.7759  0.073  0.00   0.000      0.  0.709E+00  0.844E-01  0.669E-03  0.394E-04   23   8  15    8  23   9   18  10   8    0.000    0.000       0
+  0   7856 01:50:48.12   0.8370A   2.1505  -0.8949   0.6634  0.072  0.00   0.000      0.  0.708E+00  0.840E-01  0.663E-03  0.361E-04   23   8  19    8  22   9   18  10   9    0.000    0.000       0
+  0   7863 01:50:54.08   0.8540A   2.1069  -0.7823   0.7101  0.071  0.00   0.000      0.  0.707E+00  0.837E-01  0.678E-03  0.378E-04   23   8  24    9  24   9   20  11   9    0.000    0.000       0
+  0   7870 01:51:00.22   0.8790A   2.0472   0.8949   0.7531  0.071  0.00   0.000      0.  0.707E+00  0.836E-01  0.704E-03  0.415E-04   33  31  19   11  13   9   20  11   9    0.000    0.000       0
+  0   7877 01:51:06.35   0.8700A   2.0693   0.9078  -0.7200  0.071  0.00   0.000      0.  0.707E+00  0.838E-01  0.706E-03  0.486E-04   33  31  24   13  13   9   11  22   4    0.000    0.000       0
+  0   7884 01:51:12.44   0.8690A   2.0725   0.9074  -0.7540  0.072  0.00   0.000      0.  0.707E+00  0.844E-01  0.720E-03  0.536E-04   33  31  29   13  14   9   10  22   4    0.000    0.000       0
+  0   7891 01:51:18.53   0.8720A   2.0654   0.8887  -0.7447  0.074  0.00   0.000      0.  0.708E+00  0.854E-01  0.738E-03  0.547E-04   34  34  30   15  14   9   18  24   9    0.000    0.000       0
+  0   7898 01:51:24.58   0.8560A   2.1039   0.7666  -0.7897  0.075  0.00   0.000      0.  0.710E+00  0.865E-01  0.733E-03  0.483E-04   24  36  27   16  14   9   17  23   9    0.000    0.000       0
+  0   7905 01:51:30.56   0.8510A   2.1155   0.7372  -0.7769  0.076  0.00   0.000      0.  0.711E+00  0.875E-01  0.737E-03  0.452E-04   24  36  32    5   9   0   17  21   9    0.000    0.000       0
+  0   7912 01:51:36.50   0.8510A   2.1160  -0.9450   0.8757  0.075  0.00   0.000      0.  0.712E+00  0.884E-01  0.747E-03  0.440E-04   24  36  38   11  26   9   20  28   9    0.000    0.000       0
+  0   7919 01:51:42.49   0.8590A   2.0944  -1.0774   0.8660  0.074  0.00   0.000      0.  0.712E+00  0.891E-01  0.766E-03  0.470E-04   24  36   3   11  25   9   20  27   9    0.000    0.000       0
+  0   7926 01:51:48.49   0.8570A   2.0998  -1.0236   0.8600  0.073  0.00   0.000      0.  0.712E+00  0.896E-01  0.763E-03  0.451E-04   23  36   6    9  24   9   21  27   9    0.000    0.000       0
+  0   7933 01:51:54.44   0.8470A   2.1259  -0.9849   0.7525  0.073  0.00   0.000      0.  0.712E+00  0.898E-01  0.751E-03  0.394E-04   23  36  12    9  25   9    6  11   1    0.000    0.000       0
+  0   7940 01:52:00.38   0.8520A   2.1119  -0.9549  -0.8114  0.073  0.00   0.000      0.  0.712E+00  0.898E-01  0.763E-03  0.394E-04   24  31  14   20  12   9   18  16   9    0.000    0.000       0
+  0   7947 01:52:06.41   0.8700A   2.0684  -0.8284  -0.8103  0.073  0.00   0.000      0.  0.711E+00  0.897E-01  0.783E-03  0.425E-04   24  31  19   10  22   9   11  10   8    0.000    0.000       0
+  0   7954 01:52:12.35   0.8290A   2.1714   0.7663  -0.7806  0.073  0.00   0.000      0.  0.711E+00  0.898E-01  0.753E-03  0.411E-04   24  31  23    3  12   9   10  10   8    0.000    0.000       0
+  0   7961 01:52:18.30   0.8630A   2.0860  -0.7408   0.8133  0.074  0.00   0.000      0.  0.710E+00  0.899E-01  0.787E-03  0.450E-04   24  31  27    7  27   9   18  10   9    0.000    0.000       0
+  0   7968 01:52:24.32   0.8480A   2.1233  -0.7181   0.9021  0.074  0.00   0.000      0.  0.710E+00  0.902E-01  0.788E-03  0.486E-04   27  30  24    7  25   9   19  11   9    0.000    0.000       0
+  0   7975 01:52:30.27   0.8610A   2.0897   0.8299   0.9451  0.074  0.00   0.000      0.  0.710E+00  0.907E-01  0.791E-03  0.484E-04   21   8   3   17  12   9   20  11   9    0.000    0.000       0
+  0   7982 01:52:36.21   0.8690A   2.0720   1.0147   0.9187  0.075  0.00   0.000      0.  0.710E+00  0.913E-01  0.805E-03  0.493E-04   21   8   8   17  13   9   21  12   9    0.000    0.000       0
+  0   7989 01:52:42.30   0.8610A   2.0903   0.9940   0.9165  0.076  0.00   0.000      0.  0.710E+00  0.919E-01  0.801E-03  0.500E-04   28  29  38   15  14   9   21  13   9    0.000    0.000       0
+  0   7996 01:52:48.29   0.8520A   2.1117   0.9727   0.8074  0.077  0.00   0.000      0.  0.710E+00  0.926E-01  0.802E-03  0.543E-04   28  29   2   16  15   9   20  14   9    0.000    0.000       0
+  0   8003 01:52:54.24   0.8510A   2.1162   0.9495   0.8241  0.078  0.00   0.000      0.  0.711E+00  0.933E-01  0.799E-03  0.545E-04   28  29   2   15  16   9   20  28   9    0.000    0.000       0
+  0   8010 01:53:00.29   0.8690A   2.0721  -0.8855  -0.9458  0.078  0.00   0.000      0.  0.711E+00  0.938E-01  0.793E-03  0.479E-04   28  29  11   14  25   9   18  16   9    0.000    0.000       0
+  0   8017 01:53:06.30   0.8430A   2.1355  -0.9026  -1.0096  0.078  0.00   0.000      0.  0.711E+00  0.940E-01  0.765E-03  0.441E-04   27   8   3   13  25   9   17  19   9    0.000    0.000       0
+  0   8024 01:53:12.26   0.8650A   2.0802  -0.8460  -0.9386  0.078  0.00   0.000      0.  0.711E+00  0.942E-01  0.794E-03  0.471E-04   27   8   7   12  27   9   16  19   9    0.000    0.000       0
+  0   8031 01:53:18.20   0.8330A   2.1601  -0.8830   0.8268  0.077  0.00   0.000      0.  0.711E+00  0.944E-01  0.780E-03  0.476E-04   27   8  12   13  26   9   20  10   6    0.000    0.000       0
+  0   8038 01:53:24.08   0.8440A   2.1328  -0.8619   0.8710  0.075  0.00   0.000      0.  0.711E+00  0.945E-01  0.787E-03  0.458E-04   27   8  16   13  25   9   20  10   8    0.000    0.000       0
+  0   8045 01:53:30.14   0.8700A   2.0692   0.9543   0.9467  0.074  0.00   0.000      0.  0.710E+00  0.944E-01  0.810E-03  0.451E-04   21  36  15   20  27   8   21  10   9    0.000    0.000       0
+  0   8052 01:53:36.25   0.8810A   2.0434   0.8644   0.9813  0.074  0.00   0.000      0.  0.709E+00  0.942E-01  0.820E-03  0.458E-04   31  38   4   20  26   9   21  11   9    0.000    0.000       0
+  0   8059 01:53:42.40   0.8770A   2.0534  -0.8370  -0.9875  0.073  0.00   0.000      0.  0.708E+00  0.938E-01  0.804E-03  0.416E-04   31  38  10   13  22   7   18  24   9    0.000    0.000       0
+  0   8066 01:53:48.44   0.8540A   2.1077  -0.7790  -0.9468  0.074  0.00   0.000      0.  0.708E+00  0.935E-01  0.776E-03  0.380E-04   29  27   9   14  23   8   17  23   9    0.000    0.000       0
+  0   8073 01:53:54.33   0.8350A   2.1558  -0.7044  -0.9403  0.075  0.00   0.000      0.  0.707E+00  0.934E-01  0.758E-03  0.381E-04   29  27  14   13  22   8   16  22   9    0.000    0.000       0
+  0   8080 01:54:00.17   0.8330A   2.1597  -0.7371  -0.8881  0.076  0.00   0.000      0.  0.707E+00  0.935E-01  0.749E-03  0.393E-04   29  27  19   13  21   7   15  21   9    0.000    0.000       0
+  0   8087 01:54:06.04   0.8390A   2.1461  -0.6276  -0.8078  0.077  0.00   0.000      0.  0.708E+00  0.937E-01  0.752E-03  0.402E-04   29  26  24   11  21   9   13  21   9    0.000    0.000       0
+  0   8095 01:54:12.79   0.8450A   2.1297  -0.7833  -0.7462  0.077  0.00   0.000      0.  0.708E+00  0.941E-01  0.766E-03  0.461E-04   38  32  33   14  27   9   13  20   9    0.000    0.000       0
+  0   8102 01:54:18.69   0.8420A   2.1378  -0.8267   0.8011  0.078  0.00   0.000      0.  0.709E+00  0.944E-01  0.755E-03  0.440E-04   38  32  38   13  26   9   20  11   9    0.000    0.000       0
+  0   8109 01:54:24.55   0.8360A   2.1524  -0.8251   0.7983  0.079  0.00   0.000      0.  0.709E+00  0.947E-01  0.736E-03  0.398E-04   30  29  38   12  26   9   20  11   9    0.000    0.000       0
+  0   8116 01:54:30.36   0.8320A   2.1632  -0.7564  -0.7452  0.080  0.00   0.000      0.  0.708E+00  0.947E-01  0.723E-03  0.357E-04   30  29   3   12  24   9    9  22   8    0.000    0.000       0
+  0   8123 01:54:36.14   0.8350A   2.1569  -0.7242   0.7900  0.081  0.00   0.000      0.  0.708E+00  0.945E-01  0.723E-03  0.339E-04   30  29   7   20  11   8   20  27   9    0.000    0.000       0
+  0   8131 01:54:42.82   0.8440A   2.1338  -0.7353   0.9833  0.083  0.00   0.000      0.  0.707E+00  0.943E-01  0.739E-03  0.402E-04   23  36  26   16  25   9   20  27   9    0.000    0.000       0
+  0   8138 01:54:48.80   0.8610A   2.0908   0.7690  -0.8860  0.083  0.00   0.000      0.  0.707E+00  0.942E-01  0.760E-03  0.453E-04   30  23  19   21  29   8   16  18   9    0.000    0.000       0
+  0   8145 01:54:54.85   0.8660A   2.0786   0.9462  -0.8858  0.084  0.00   0.000      0.  0.707E+00  0.941E-01  0.754E-03  0.416E-04   30  23  24   20  30   9   15  17   9    0.000    0.000       0
+  0   8151 01:55:00.08   0.8720A   2.0642   0.9240  -0.9227  0.086  0.00   0.000      0.  0.707E+00  0.940E-01  0.758E-03  0.417E-04   35  38  22   20  30   9   18  24   9    0.000    0.000       0
+  0   8158 01:55:06.14   0.8610A   2.0899  -0.5961  -1.1101  0.087  0.00   0.000      0.  0.707E+00  0.938E-01  0.754E-03  0.401E-04   32  35  29   20  28   8   17  23   9    0.000    0.000       0
+  0   8165 01:55:12.14   0.8520A   2.1138   0.7446  -1.0912  0.087  0.00   0.000      0.  0.706E+00  0.934E-01  0.735E-03  0.351E-04   35  38  33   16  12   9   16  22   9    0.000    0.000       0
+  0   8172 01:55:18.10   0.8490A   2.1194   0.8812  -1.0297  0.086  0.00   0.000      0.  0.706E+00  0.931E-01  0.740E-03  0.392E-04   35  38  38   16  13   9   15  21   9    0.000    0.000       0
+  0   8179 01:55:24.07   0.8570A   2.1004   1.0167  -0.9224  0.084  0.00   0.000      0.  0.706E+00  0.929E-01  0.751E-03  0.411E-04   35  38   3   14  13   9   13  20   9    0.000    0.000       0
+  0   8186 01:55:30.08   0.8560A   2.1037   0.9941  -0.8659  0.083  0.00   0.000      0.  0.706E+00  0.927E-01  0.758E-03  0.455E-04   32  36   7   13  14   9   12  19   9    0.000    0.000       0
+  0   8193 01:55:36.05   0.8500A   2.1167   0.9354  -0.8360  0.083  0.00   0.000      0.  0.706E+00  0.927E-01  0.765E-03  0.507E-04   32  36  12   13  13   9   11  18   9    0.000    0.000       0
+  0   8201 01:55:42.85   0.8480A   2.1215   0.9586  -0.8729  0.084  0.00   0.000      0.  0.706E+00  0.926E-01  0.744E-03  0.416E-04   32  36  18   13  15   9    9  18   8    0.000    0.000       0
+  0   8208 01:55:48.79   0.8500A   2.1183   0.8720  -0.8163  0.085  0.00   0.000      0.  0.705E+00  0.921E-01  0.737E-03  0.377E-04   35  37  28   12  16   9    9  19   8    0.000    0.000       0
+  0   8215 01:55:54.76   0.8550A   2.1044   0.8227  -0.8468  0.084  0.00   0.000      0.  0.704E+00  0.916E-01  0.746E-03  0.400E-04   32  36  29   14  14   9    7  20   8    0.000    0.000       0
+  0   8222 01:56:00.75   0.8570A   2.0999   0.8292  -0.9228  0.084  0.00   0.000      0.  0.704E+00  0.913E-01  0.755E-03  0.454E-04   36  37  37   14  14   9   18  17   9    0.000    0.000       0
+  0   8229 01:56:06.76   0.8620A   2.0874  -0.8302  -0.9092  0.083  0.00   0.000      0.  0.704E+00  0.911E-01  0.751E-03  0.465E-04   36  37   2   10  25   9   17  17   9    0.000    0.000       0
+  0   8236 01:56:12.83   0.8700A   2.0682  -0.8200  -0.7958  0.083  0.00   0.000      0.  0.705E+00  0.911E-01  0.747E-03  0.447E-04   32  36   5   10  24   9   16  18   9    0.000    0.000       0
+  0   8242 01:56:18.03   0.8660A   2.0791  -0.7453  -0.7331  0.082  0.00   0.000      0.  0.705E+00  0.911E-01  0.740E-03  0.431E-04   32  36  10    9  22   9   15  19   9    0.000    0.000       0
+  0   8249 01:56:24.10   0.8600A   2.0924   0.7134  -0.9274  0.081  0.00   0.000      0.  0.704E+00  0.909E-01  0.729E-03  0.404E-04   29   6  35   19  30   9   17  24   9    0.000    0.000       0
+  0   8256 01:56:30.13   0.8550A   2.1060   0.7004  -1.0432  0.081  0.00   0.000      0.  0.704E+00  0.907E-01  0.722E-03  0.413E-04   28   2   0   19  30   9   16  24   9    0.000    0.000       0
+  0   8263 01:56:36.11   0.8570A   2.1006   0.8092  -0.9881  0.080  0.00   0.000      0.  0.704E+00  0.905E-01  0.721E-03  0.444E-04   28   2   5   12  13   9   15  22   9    0.000    0.000       0
+  0   8270 01:56:42.08   0.8580A   2.0984   0.8817  -0.9147  0.079  0.00   0.000      0.  0.705E+00  0.904E-01  0.721E-03  0.468E-04   28   2  10   11  13   9   14  23   9    0.000    0.000       0
+  0   8277 01:56:48.06   0.8520A   2.1139   0.8889  -0.8179  0.078  0.00   0.000      0.  0.705E+00  0.903E-01  0.710E-03  0.457E-04   28   2  15   11  14   9   13  23   9    0.000    0.000       0
+  0   8284 01:56:54.05   0.8550A   2.1057   0.8367  -0.7073  0.077  0.00   0.000      0.  0.706E+00  0.902E-01  0.709E-03  0.455E-04   28   2  20   11  15   9   12  22   9    0.000    0.000       0
+  0   8291 01:57:00.08   0.8660A   2.0796   0.7683  -0.6841  0.076  0.00   0.000      0.  0.706E+00  0.900E-01  0.712E-03  0.445E-04   28   2  25   10  16   9    3  18   2    0.000    0.000       0
+  0   8298 01:57:06.16   0.8780A   2.0495   0.7134  -0.6561  0.076  0.00   0.000      0.  0.706E+00  0.898E-01  0.726E-03  0.469E-04   36  37  20   10  17   9    4  19   9    0.000    0.000       0
+  0   8305 01:57:12.27   0.8760A   2.0557  -0.8176  -0.8408  0.076  0.00   0.000      0.  0.707E+00  0.899E-01  0.739E-03  0.483E-04   36  37  25    9  26   9   18  18   9    0.000    0.000       0
+  0   8312 01:57:18.39   0.8830A   2.0382  -0.8612  -1.0766  0.077  0.00   0.000      0.  0.707E+00  0.897E-01  0.739E-03  0.421E-04   36  37  30    9  26   9   17  19   9    0.000    0.000       0
+  0   8319 01:57:24.57   0.8800A   2.0462  -0.8296  -1.0594  0.078  0.00   0.000      0.  0.707E+00  0.892E-01  0.724E-03  0.389E-04   34  39  29   10  24   9   16  19   9    0.000    0.000       0
+  0   8326 01:57:30.72   0.8780A   2.0504  -0.8070  -0.9199  0.078  0.00   0.000      0.  0.707E+00  0.887E-01  0.714E-03  0.404E-04   34  39  34    8  23   9   15  19   9    0.000    0.000       0
+  0   8332 01:57:36.01   0.8840A   2.0353  -0.7451  -0.8287  0.078  0.00   0.000      0.  0.708E+00  0.883E-01  0.714E-03  0.431E-04   34  39  39    8  22   9   13  19   9    0.000    0.000       0
+  0   8339 01:57:42.23   0.8940A   2.0123   0.7536  -0.8250  0.079  0.00   0.000      0.  0.708E+00  0.878E-01  0.718E-03  0.440E-04   34  39   4   15  13   9   14  17   8    0.000    0.000       0
+  0   8346 01:57:48.53   0.9030A   1.9931   0.8448   0.8601  0.079  0.00   0.000      0.  0.708E+00  0.873E-01  0.727E-03  0.463E-04   36  37   8   16  13   9   18  11   9    0.000    0.000       0
+  0   8353 01:57:54.85   0.9030A   1.9938   0.8109  -0.9055  0.078  0.00   0.000      0.  0.707E+00  0.868E-01  0.734E-03  0.494E-04   35  38  17   16  14   9   17  24   9    0.000    0.000       0
+  0   8359 01:58:00.09   0.8520A   2.1139   1.0056  -1.0204  0.077  0.00   0.000      0.  0.707E+00  0.863E-01  0.703E-03  0.512E-04   22  19   4   13  13   9   16  24   9    0.000    0.000       0
+  0   8367 01:58:06.82   0.8400A   2.1418   1.0354  -1.0113  0.076  0.00   0.000      0.  0.707E+00  0.860E-01  0.703E-03  0.569E-04   22  19   9   14  14   9   15  24   9    0.000    0.000       0
+  0   8374 01:58:12.64   0.8470A   2.1254   1.0058  -0.8726  0.076  0.00   0.000      0.  0.708E+00  0.859E-01  0.705E-03  0.559E-04   22  19  14   14  15   9   14  24   9    0.000    0.000       0
+  0   8381 01:58:18.67   0.8780A   2.0498   0.9655  -0.7861  0.075  0.00   0.000      0.  0.708E+00  0.859E-01  0.731E-03  0.611E-04   22  19  18   14  17   9   14  23   9    0.000    0.000       0
+  0   8387 01:58:24.03   0.8950A   2.0105   0.9365   0.8640  0.075  0.00   0.000      0.  0.710E+00  0.861E-01  0.751E-03  0.666E-04   35  38   3   15  18   9   20  28   9    0.000    0.000       0
+  0   8394 01:58:30.22   0.8770A   2.0513   0.8451   1.0864  0.075  0.00   0.000      0.  0.711E+00  0.866E-01  0.737E-03  0.647E-04   35  38   9   14  18   9   20  26   9    0.000    0.000       0
+  0   8401 01:58:36.33   0.8680A   2.0731   0.7844   0.9665  0.074  0.00   0.000      0.  0.713E+00  0.871E-01  0.734E-03  0.620E-04   35  38  14   14  19   9   21  25   9    0.000    0.000       0
+  0   8408 01:58:42.42   0.8690A   2.0724   0.8811   0.7882  0.074  0.00   0.000      0.  0.714E+00  0.874E-01  0.727E-03  0.579E-04   35  38  19   13  14   9   21  25   9    0.000    0.000       0
+  0   8415 01:58:48.54   0.8770A   2.0520   0.8627  -0.7481  0.074  0.00   0.000      0.  0.715E+00  0.875E-01  0.726E-03  0.550E-04   35  38  24   12  15   9   10  23   7    0.000    0.000       0
+  0   8422 01:58:54.67   0.8700A   2.0691   0.8630  -0.8003  0.074  0.00   0.000      0.  0.715E+00  0.873E-01  0.715E-03  0.485E-04   26   8  34   20  30   9    6  23   6    0.000    0.000       0
+  0   8429 01:59:00.85   0.8910A   2.0204   0.8655  -0.8207  0.075  0.00   0.000      0.  0.715E+00  0.871E-01  0.722E-03  0.494E-04   35  38  35   10  15   9    5  23   6    0.000    0.000       0
+  0   8435 01:59:06.25   0.9040A   1.9922  -0.9061  -0.8374  0.075  0.00   0.000      0.  0.715E+00  0.869E-01  0.725E-03  0.466E-04   35  38  39   14  25   9    5  23   5    0.000    0.000       0
+  0   8442 01:59:12.55   0.9010A   1.9974  -0.8815  -0.9018  0.075  0.00   0.000      0.  0.714E+00  0.865E-01  0.716E-03  0.438E-04   36   0   7   12  26   9   12  10   9    0.000    0.000       0
+  0   8449 01:59:18.83   0.8920A   2.0169  -0.8659  -0.8238  0.074  0.00   0.000      0.  0.714E+00  0.859E-01  0.704E-03  0.435E-04   29  34  37   13  26   9   12  11   9    0.000    0.000       0
+  0   8455 01:59:24.22   0.9000A   2.0008  -0.8136  -0.6946  0.073  0.00   0.000      0.  0.714E+00  0.855E-01  0.706E-03  0.450E-04   29  34   1   10  24   8    7  25   2    0.000    0.000       0
+  0   8462 01:59:30.51   0.9010A   1.9973  -0.7665  -0.7974  0.072  0.00   0.000      0.  0.713E+00  0.852E-01  0.711E-03  0.489E-04   35  39  21   10  23   8   17  21   9    0.000    0.000       0
+  0   8469 01:59:36.71   0.8810A   2.0430   0.7636  -0.9413  0.071  0.00   0.000      0.  0.713E+00  0.850E-01  0.708E-03  0.514E-04   18   8  28   18  13   9   16  20   9    0.000    0.000       0
+  0   8476 01:59:42.83   0.8670A   2.0752   0.6993  -0.9932  0.070  0.00   0.000      0.  0.713E+00  0.848E-01  0.707E-03  0.512E-04   24  30   8    8  25   4   15  19   9    0.000    0.000       0
+  0   8482 01:59:48.07   0.8760A   2.0547   0.7566  -0.9892  0.069  0.00   0.000      0.  0.713E+00  0.848E-01  0.712E-03  0.510E-04   24  30  12   19  13   9   14  19   9    0.000    0.000       0
+  0   8489 01:59:54.25   0.8830A   2.0385   0.9673   1.0398  0.068  0.00   0.000      0.  0.714E+00  0.849E-01  0.723E-03  0.541E-04   37  38   2   19  14   9   20  13   9    0.000    0.000       0
+  0   8496 02:00:00.40   0.8780A   2.0494   1.0051   1.0478  0.067  0.00   0.000      0.  0.714E+00  0.853E-01  0.733E-03  0.567E-04   37  38   7   19  15   9   20  11   9    0.000    0.000       0
Index: palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_topo
===================================================================
--- palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_topo	(revision 393)
+++ palm/tags/release-3.7/EXAMPLES/topo_file/example_topo_file_topo	(revision 393)
@@ -0,0 +1,40 @@
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
Index: palm/tags/release-3.7/INSTALL/example_cbl_p3d
===================================================================
--- palm/tags/release-3.7/INSTALL/example_cbl_p3d	(revision 393)
+++ palm/tags/release-3.7/INSTALL/example_cbl_p3d	(revision 393)
@@ -0,0 +1,39 @@
+ &inipar nx = 39, ny = 39, nz = 40,
+         dx = 50.0, dy = 50.0, dz = 50.0,
+         dz_stretch_level = 1200.0,
+
+         fft_method = 'temperton-algorithm',
+
+         initializing_actions = 'set_constant_profiles',
+         ug_surface = 0.0, vg_surface = 0.0,
+         pt_vertical_gradient       = 0.0, 1.0,
+         pt_vertical_gradient_level = 0.0, 800.0,
+
+
+	 surface_heatflux = 0.1, bc_pt_b = 'neumann',  /
+
+
+ &d3par  end_time = 3600.0,
+
+         create_disturbances = .T.,
+         dt_disturb = 150.0, disturbance_energy_limit = 0.01,
+
+         dt_run_control = 0.0,
+
+         data_output = 'w_xy', 'w_xz', 'w_xz_av', 'pt_xy', 'pt_xz',
+
+         dt_data_output = 900.0,
+         dt_data_output_av = 1800.0,
+         averaging_interval = 900.0,
+         dt_averaging_input = 10.0,
+
+         section_xy = 2, 10, section_xz = 20,
+
+         data_output_2d_on_each_pe = .F.,
+
+         dt_dopr = 900.0,
+         averaging_interval_pr = 600.0, dt_averaging_input_pr = 10.0,
+         data_output_pr = '#pt', 'w"pt"', 'w*pt*', 'wpt', 'w*2', 'pt*2',
+         z_max_do1d = 1500.0, /
+
+
Index: palm/tags/release-3.7/INSTALL/example_cbl_rc
===================================================================
--- palm/tags/release-3.7/INSTALL/example_cbl_rc	(revision 393)
+++ palm/tags/release-3.7/INSTALL/example_cbl_rc	(revision 393)
@@ -0,0 +1,479 @@
+
+ ***************************         ------------------------------------------
+ * PALM 3.7  Rev: 392      *         atmosphere - 3D - run without 1D - prerun
+ ***************************         ------------------------------------------
+
+ Date:              24-09-09         Run:       example_cbl         
+ Time:              11:55:57         Run-No.:   00
+ Run on host:         lcsgih
+ Number of PEs:            8         Processor grid (x,y): (  2,  4) calculated
+ ------------------------------------------------------------------------------
+
+ Numerical Schemes:
+ -----------------
+
+ --> Solve perturbation pressure via FFT using temperton-algorithm routines
+     perturbation pressure is calculated at every Runge-Kutta step
+ --> Momentum advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Scalar advection via Piascek-Williams-Scheme (Form C3) or Upstream
+ --> Loop optimization method: cache
+ --> Time differencing scheme: runge-kutta-3       
+ ------------------------------------------------------------------------------
+
+
+ Run time and time step information:
+ ----------------------------------
+
+ Timestep:          variable     maximum value: 20.000 s    CFL-factor: 0.90
+ Start time:           0.000 s
+ End time:          3600.000 s
+
+
+ Computational grid and domain size:
+ ----------------------------------
+
+ Grid length:      dx =     50.000 m    dy =     50.000 m    dz =     50.000 m
+ Domain size:       x =   2000.000 m     y =   2000.000 m  z(u) =   2862.511 m
+
+ dz constant up to   1200.000 m (k=  25), then stretched by factor: 1.080
+ maximum dz not to be exceeded is dz_max = ********** m
+
+ Number of gridpoints (x,y,z):  (0:  39, 0:  39, 0:  41)
+ Subdomain size (x,y,z):        (    20,     10,     42)
+
+ Subdomains have equal size
+
+
+ Topography informations:
+ -----------------------
+
+ Topography: flat                                    
+
+
+ Boundary conditions:
+ -------------------
+
+                     p                    uv                                pt
+
+ B. bound.: p(0)     = p(1)   | uv(0)     = -uv(1)                | pt(0)   = pt(1)              
+ T. bound.: p(nzt+1) = 0      | uv(nzt+1) = ug(nzt+1), vg(nzt+1)  | pt(nzt+1) = pt(nzt) + dpt/dz_
+
+                     e
+
+ B. bound.: e(0)     = e(1)                                                                      
+ T. bound.: e(nzt+1) = e(nzt) = e(nzt-1)                                                         
+
+ Bottom surface fluxes are used in diffusion terms at k=1
+       Predefined constant heatflux:    0.100000 K m/s
+
+
+    Prandtl-Layer between bottom surface and first computational u,v-level:
+
+       zp =  25.00 m   z0 = 0.1000 m   kappa = 0.40
+       Rif value range:    -5.00 <= rif <=  1.00
+
+
+ Lateral boundaries:
+       left/right:  cyclic              
+       north/south: cyclic              
+
+
+ List output:
+ -----------
+
+    1D-Profiles:
+       Output every             ******** s
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+
+ Data output:
+ -----------
+
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+    1D-Profiles:
+       Output format: netcdf                                  
+
+
+       Profile: pt, w"pt", w*pt*, wpt, w*2, pt*2,                            
+       Output every               900.00 s
+       Time averaged over         600.00 s
+       Averaging input every       10.00 s
+
+    2D-Arrays:
+       Output format: netcdf                                  
+
+
+       XY-cross-section  Arrays:  w, pt,                                                               
+       Output every               900.00 s  
+       Cross sections at k = /2/10/
+       scalar-coordinates:   /75.0/475.0/ m
+
+
+       XZ-cross-section  Arrays:  w, pt,                                                               
+       Output every               900.00 s  
+       Cross sections at j = /20/
+       scalar-coordinates:   /1000.0/ m
+
+
+    2D-Arrays(time-averaged):
+       Output format: netcdf                                  
+
+
+       XZ-cross-section  Arrays:  w,                                                                   
+       Output every              1800.00 s  
+       Time averaged over         900.00 s
+       Averaging input every       10.00 s
+       Cross sections at j = /20/
+       scalar-coordinates:   /1000.0/ m
+
+
+    Time series:
+       Output format: netcdf                                  
+
+       Output every                 0.00 s
+
+ ------------------------------------------------------------------------------
+
+
+ Physical quantities:
+ -------------------
+
+    Angular velocity    :   omega = 0.729E-04 rad/s
+    Geograph. latitude  :   phi   = 55.0 degr
+    Coriolis parameter  :   f     =  0.000119 1/s
+                            f*    =  0.000084 1/s
+
+    Gravity             :   g     =  9.8 m/s**2
+
+    Characteristic levels of the geo. wind component ug:
+
+       Height:         0.0     0.0  m
+       ug:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the geo. wind component vg:
+
+       Height:         0.0     0.0  m
+       vg:            0.00    0.00  m/s
+       Gradient:    ------    0.00  1/100s
+       Gridpoint:        0       0
+
+    Characteristic levels of the initial temperature profile:
+
+       Height:           0.0     0.0   800.0  m
+       Temperature:   300.00  300.00  300.00  K
+       Gradient:      ------    0.00    1.00  K/100m
+       Gridpoint:          0       0      16
+
+
+ LES / Turbulence quantities:
+ ---------------------------
+
+   Mixing length is limited to 1.80 * z
+
+
+ Actions during the simulation:
+ -----------------------------
+
+    Disturbance impulse (u,v) every :   150.00 s
+    Disturbance amplitude           :     0.25 m/s
+    Lower disturbance level         :   125.00 m (GP    3)
+    Upper disturbance level         :   625.00 m (GP   13)
+    Disturbances cease as soon as the disturbance energy exceeds 0.010 m**2/s**2
+    Random number generator used    : numerical-recipes
+
+
+
+ *** no user-defined variables found
+
+ ------------------------------------------------------------------------------
+
+
+
+Run-control output:
+------------------
+
+RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIVNEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   MGCYC
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  0      0 00:00:00.00  20.0000A  -0.2192D -0.2169D -0.1214  0.000  1.38   0.000    800.  0.106E-02  0.106E-02  0.000E+00  0.000E+00   11  32   5    5  37  29    4  26   0    0.000    0.000       0
+  0      1 00:00:20.00  20.0000A  -0.2192  -0.2169  -0.1214  0.001  0.79  ******    150.  0.106E-02  0.106E-02  0.437E-05  0.287E-15   11  32   5    5  37  29    4  26   0    0.000    0.000       0
+  0      2 00:00:40.00  20.0000D  -0.2170  -0.2168  -0.1216  0.001  0.79  ******    150.  0.106E-02  0.106E-02  0.439E-05  0.295E-15   11  32   5    5  37  29    4  26   0    0.000    0.000       0
+  0      3 00:01:00.00  20.0000D  -0.2146  -0.2174  -0.1218  0.001  0.79  ******    150.  0.106E-02  0.106E-02  0.442E-05  0.301E-15   11  32   5    4   5   2    4  26   0    0.000    0.000       0
+  0      4 00:01:20.00  20.0000D  -0.2119  -0.2192  -0.1220  0.001  1.29  ******    650.  0.106E-02  0.106E-02  0.444E-05  0.307E-15   11  32   5    4   5   2    4  26   0    0.000    0.000       0
+  0      5 00:01:40.00  20.0000D  -0.2090  -0.2207  -0.1221  0.001  1.05  ******    350.  0.106E-02  0.105E-02  0.445E-05  0.312E-15   11  32   5    4   5   2    4  26   0    0.000    0.000       0
+  0      6 00:02:00.00  20.0000D  -0.2059  -0.2220  -0.1222  0.001  1.05  ******    350.  0.106E-02  0.105E-02  0.446E-05  0.316E-15   11  32   5    4   5   2    4  26   0    0.000    0.000       0
+  0      7 00:02:20.00  20.0000D  -0.2026  -0.2230  -0.1223  0.001  1.05  ******    350.  0.106E-02  0.105E-02  0.445E-05  0.320E-15   11  32   5    4   5   2    4  26   0    0.000    0.000       0
+  0      8 00:02:40.00  20.0000D  -0.2048D -0.2236D -0.1223  0.002  1.05  ******    350.  0.211E-02  0.210E-02  0.502E-03  0.735E-13    6   0  13    4   5   2    4  26   0    0.000    0.000       0
+  0      9 00:03:00.00  20.0000D   0.3655  -0.2781  -0.1545  0.002  1.05  ******    350.  0.210E-02  0.210E-02  0.645E-05  0.629E-15    4  35   4    5   3  15    5  10  39    0.000    0.000       0
+  0     10 00:03:20.00  20.0000D   0.3644  -0.2782  -0.1534  0.002  1.05  ******    350.  0.210E-02  0.209E-02  0.643E-05  0.635E-15    4  35   4    7  14  12    5  10  39    0.000    0.000       0
+  0     11 00:03:40.00  20.0000D   0.3618  -0.2787  -0.1522  0.002  1.05  ******    350.  0.210E-02  0.209E-02  0.641E-05  0.644E-15    4  35   4    7  14  12    5  10  39    0.000    0.000       0
+  0     12 00:04:00.00  20.0000D   0.3577  -0.2783  -0.1508  0.002  1.05  ******    350.  0.209E-02  0.209E-02  0.640E-05  0.655E-15    4  35   4    7  14  12    5  10  39    0.000    0.000       0
+  0     13 00:04:20.00  20.0000D   0.3521  -0.2784  -0.1492  0.002  1.05  ******    350.  0.209E-02  0.208E-02  0.639E-05  0.666E-15    4  35   4    7  13  38    5  10  39    0.000    0.000       0
+  0     14 00:04:40.00  20.0000D   0.3451  -0.2830  -0.1475  0.002  1.05  ******    350.  0.208E-02  0.208E-02  0.639E-05  0.679E-15    4  35   4    7  13  38    5  10  39    0.000    0.000       0
+  0     15 00:05:00.00  20.0000D   0.3369D -0.2870D -0.1492  0.002  1.09  ******    400.  0.315E-02  0.314E-02  0.500E-03  0.720E-13    4  35   4    7  13  38    5  14  27    0.000    0.000       0
+  0     16 00:05:20.00  20.0000D   0.4067  -0.3928  -0.2200  0.003  1.09  ******    400.  0.314E-02  0.313E-02  0.834E-05  0.984E-15   11  16  39    7  13  12    8  21  26    0.000    0.000       0
+  0     17 00:05:40.00  20.0000D   0.4077  -0.3940  -0.2210  0.003  1.09  ******    400.  0.313E-02  0.313E-02  0.837E-05  0.100E-14   11  16  39    7  13  12    8  21  26    0.000    0.000       0
+  0     18 00:06:00.00  20.0000D   0.4066  -0.3929  -0.2218  0.003  1.09  ******    400.  0.313E-02  0.312E-02  0.843E-05  0.102E-14   11  16  39    7  13  12    8  21  26    0.000    0.000       0
+  0     19 00:06:20.00  20.0000D   0.4033  -0.3896  -0.2223  0.003  1.09  ******    400.  0.313E-02  0.312E-02  0.854E-05  0.105E-14   11  16  39    7  13  12    8  21  26    0.000    0.000       0
+  0     20 00:06:40.00  20.0000D   0.3979  -0.3842  -0.2226  0.004  1.09  ******    400.  0.313E-02  0.312E-02  0.870E-05  0.108E-14   11  16  39    7  13  12    8  21  26    0.000    0.000       0
+  0     21 00:07:00.00  20.0000D   0.3905  -0.3783  -0.2225  0.004  1.09  ******    400.  0.314E-02  0.313E-02  0.891E-05  0.112E-14   11  16  39    8  34  19    8  21  26    0.000    0.000       0
+  0     22 00:07:20.00  20.0000D  -0.3882  -0.3787  -0.2221  0.005  1.28  ******    650.  0.315E-02  0.315E-02  0.919E-05  0.116E-14    8   2  33    8  34  19    8  21  26    0.000    0.000       0
+  0     23 00:07:40.00  20.0000D  -0.3895D -0.3795D  0.2353  0.005  1.28  ******    650.  0.427E-02  0.426E-02  0.510E-03  0.750E-13    8   2  33    7  14  26    2  15  28    0.000    0.000       0
+  0     24 00:08:00.00  20.0000D  -0.4530   0.4560   0.2930  0.006  1.28  ******    650.  0.431E-02  0.429E-02  0.120E-04  0.156E-14    5  15  27   10  34  34    2  15  28    0.000    0.000       0
+  0     25 00:08:20.00  20.0000D  -0.4651   0.4519   0.3245  0.007  1.28  ******    650.  0.437E-02  0.435E-02  0.125E-04  0.164E-14    5  15  27   10  34  34    2  15  28    0.000    0.000       0
+  0     26 00:08:40.00  20.0000D  -0.4754   0.4441   0.3621  0.008  1.28  ******    650.  0.445E-02  0.444E-02  0.132E-04  0.173E-14    5  15  27   10  34  34    2  15  28    0.000    0.000       0
+  0     27 00:09:00.00  20.0000D  -0.4838   0.4329   0.4063  0.009  1.28  ******    650.  0.458E-02  0.457E-02  0.140E-04  0.184E-14    5  15  27   10  34  34    2  15  28    0.000    0.000       0
+  0     28 00:09:20.00  20.0000D  -0.4902  -0.4216   0.4578  0.010  1.28  ******    650.  0.476E-02  0.475E-02  0.151E-04  0.198E-14    5  15  27    9  21  22    2  15  28    0.000    0.000       0
+  0     29 00:09:40.00  20.0000D  -0.4950  -0.4329   0.5173  0.012  1.28  ******    650.  0.502E-02  0.501E-02  0.163E-04  0.215E-14    5  15  27    9  21  22    2  15  28    0.000    0.000       0
+  0     30 00:10:00.00  20.0000D  -0.4983D -0.4412D  0.5854  0.014  1.28  ******    650.  0.641E-02  0.639E-02  0.507E-03  0.730E-13    5  15  27    9  21  22    2  15  28    0.000    0.000       0
+  0     31 00:10:20.00  20.0000D  -0.4993   0.4599  -0.6463  0.016  1.28  -9.855    650.  0.690E-02  0.687E-02  0.215E-04  0.285E-14    6  12  30    9  19  25    1  29  23    0.000    0.000       0
+  0     32 00:10:40.00  20.0000D  -0.4953   0.4539  -0.7423  0.018  1.28  -8.537    650.  0.756E-02  0.754E-02  0.237E-04  0.315E-14    5  15  27    9  20  25    1  29  23    0.000    0.000       0
+  0     33 00:11:00.00  20.0000D  -0.4984   0.4588  -0.8476  0.021  1.28  -7.414    650.  0.848E-02  0.846E-02  0.265E-04  0.353E-14    6  11  30    9  20  25    1  29  23    0.000    0.000       0
+  0     34 00:11:20.00  20.0000D  -0.5445   0.5029  -0.9605  0.024  1.28  -6.452    650.  0.972E-02  0.970E-02  0.298E-04  0.398E-14    1  15  30    1  19  22    1  29  23    0.000    0.000       0
+  0     35 00:11:40.00  20.0000D  -0.6120   0.5755   1.1044  0.028  1.28  -5.663    650.  0.114E-01  0.114E-01  0.338E-04  0.452E-14    1  15  30    1  19  22    3  15  28    0.000    0.000       0
+  0     36 00:12:00.00  20.0000D  -0.6819   0.6543   1.2707  0.032  1.28  -5.140    650.  0.136E-01  0.136E-01  0.386E-04  0.517E-14    1  15  30    1  19  22    3  15  28    0.000    0.000       0
+  0     37 00:12:20.00  20.0000A  -0.7674   0.7365   1.4378  0.036  1.28  -4.418    650.  0.165E-01  0.165E-01  0.443E-04  0.596E-14    1  16  29    1  19  22    3  15  28    0.000    0.000       0
+  0     38 00:12:40.00  20.0000A  -0.8782   0.8165   1.6034  0.041  1.28  -3.847    650.  0.203E-01  0.203E-01  0.512E-04  0.689E-14    1  16  29    1  19  22    3  20  36    0.000    0.000       0
+  0     39 00:13:00.00  20.0000A  -0.9918   0.9104   1.8192  0.046  1.28  -3.440    650.  0.251E-01  0.250E-01  0.593E-04  0.800E-14    1  16  29    1  29  28    4  14  27    0.000    0.000       0
+  0     40 00:13:20.00  20.0000A  -1.1014   1.0205   2.1168  0.051  1.28  -3.076    650.  0.311E-01  0.311E-01  0.690E-04  0.930E-14    1  16  29    1  29  28    4  20  36    0.000    0.000       0
+  0     41 00:13:39.30  19.3000A  -1.1998   1.1269   2.3260  0.056  1.28  -2.718    650.  0.382E-01  0.381E-01  0.771E-04  0.104E-13    1  16  29    1  29  28    4  20  36    0.000    0.000       0
+  0     42 00:13:56.40  17.1000A  -1.2772   1.2196   2.6253  0.061  1.28  -2.548    650.  0.456E-01  0.456E-01  0.777E-04  0.105E-13    1  16  29    1  29  28    5  20  36    0.000    0.000       0
+  0     43 00:14:12.40  16.0000A  -1.3269   1.2891   2.8099  0.065  1.28  -2.335    650.  0.536E-01  0.536E-01  0.815E-04  0.111E-13    1  16  29    1  29  28    6  19  36    0.000    0.000       0
+  0     44 00:14:27.00  14.6000A  -1.3550   1.3401   3.0854  0.068  1.28  -2.264    650.  0.618E-01  0.618E-01  0.821E-04  0.112E-13    1  16  29    1  29  28    6  20  36    0.000    0.000       0
+  0     45 00:14:40.60  13.6000A  -1.3646   1.3728   3.3039  0.071  1.28  -2.070    650.  0.702E-01  0.702E-01  0.835E-04  0.114E-13    1  16  29    1  29  28    7  19  36    0.000    0.000       0
+  0     46 00:14:53.60  13.0000A   1.4368   1.3912   3.4633  0.073  1.29  -2.004    650.  0.788E-01  0.788E-01  0.865E-04  0.118E-13    1  31  18    1  29  28    7  20  36    0.000    0.000       0
+  0     47 00:15:05.70  12.1000A   1.5208   1.3985   3.7290  0.075  1.29  -2.029    650.  0.874E-01  0.874E-01  0.866E-04  0.119E-13    1  31  18    1  29  28    8  19  36    0.000    0.000       0
+  0     48 00:15:17.40  11.7000A   1.5862  -1.4043   3.8464  0.077  1.38  -1.949    800.  0.961E-01  0.961E-01  0.894E-04  0.123E-13    1  31  18    1   9  25    8  20  36    0.000    0.000       0
+  0     49 00:15:28.40  11.0000A   1.6354  -1.4536   4.0883  0.078  1.38  -1.897    800.  0.105E+00  0.105E+00  0.893E-04  0.123E-13    1  31  18    1   9  25    9  19  36    0.000    0.000       0
+  0     50 00:15:39.40  11.0000A   1.6674  -1.4874   4.0973  0.079  1.38  -1.895    800.  0.113E+00  0.113E+00  0.944E-04  0.130E-13    1  31  18    1   9  25   10  19  36    0.000    0.000       0
+  0     51 00:15:49.60  10.2000A   1.6849   1.5460   4.3987  0.080  1.38  -1.861    800.  0.122E+00  0.122E+00  0.920E-04  0.127E-13    1  31  18    7   2   7   10  19  36    0.000    0.000       0
+  0     52 00:15:59.80  10.2000A   1.6882   1.5301   4.3910  0.080  1.38  -1.845    800.  0.131E+00  0.130E+00  0.966E-04  0.133E-13    1  31  18    7   2   7   11  19  36    0.000    0.000       0
+  0     53 00:16:09.48   9.6800A   1.6920   1.5476   4.6501  0.081  1.38  -1.836    800.  0.139E+00  0.139E+00  0.956E-04  0.132E-13    1  30  18    1  27   0   11  19  36    0.000    0.000       0
+  0     54 00:16:19.25   9.7700A   1.7001   1.6588   4.6038  0.081  1.38  -1.855    800.  0.147E+00  0.147E+00  0.100E-03  0.138E-13    1  30  18    8   2   7   12  19  36    0.000    0.000       0
+  0     55 00:16:28.46   9.2100A   1.7113   1.6954   4.8862  0.081  1.38  -2.006    800.  0.155E+00  0.155E+00  0.981E-04  0.135E-13    1  29  18    8   2   7   11  15  27    0.000    0.000       0
+  0     56 00:16:37.78   9.3200A   1.7467   1.5928   4.8267  0.082  1.38  -1.846    800.  0.163E+00  0.163E+00  0.103E-03  0.142E-13    1  29  18    1   5   2   13  19  36    0.000    0.000       0
+  0     57 00:16:46.73   8.9500A   1.7738   1.5961   5.0262  0.082  1.38  -1.831    800.  0.171E+00  0.171E+00  0.102E-03  0.140E-13    1  29  18    1   5   2   12  15  27    0.000    0.000       0
+  0     58 00:16:55.71   8.9800A   1.7910   1.6309   5.0086  0.082  1.38  -1.812    800.  0.179E+00  0.179E+00  0.105E-03  0.145E-13    1  29  18    9   2   7   14  19  36    0.000    0.000       0
+  0     59 00:17:04.42   8.7100A   1.8008   1.6142   5.1658  0.082  1.41  -1.830    850.  0.186E+00  0.186E+00  0.105E-03  0.145E-13    1  29  18   11  16   1   13  15  27    0.000    0.000       0
+  0     60 00:17:13.15   8.7300A   1.8013   1.5596   5.1533  0.082  1.41  -1.801    850.  0.193E+00  0.193E+00  0.108E-03  0.148E-13    1  29  18    1   5   2   15  19  36    0.000    0.000       0
+  0     61 00:17:21.69   8.5400A   1.7933   1.7481   5.2679  0.082  1.41  -1.819    850.  0.200E+00  0.200E+00  0.108E-03  0.149E-13    1  29  18   12  16   1   14  15  27    0.000    0.000       0
+  0     62 00:17:30.33   8.6400A   1.7780   1.6715   5.2091  0.083  1.41  -1.863    850.  0.207E+00  0.207E+00  0.111E-03  0.153E-13    1  29  18   12  16   1   16  19  36    0.000    0.000       0
+  0     63 00:17:38.54   8.2100A   1.7561   1.7127   5.4818  0.083  1.41  -1.814    850.  0.213E+00  0.213E+00  0.108E-03  0.149E-13    1  29  18   13  16   1   14  14  28    0.000    0.000       0
+  0     64 00:17:47.28   8.7400A   1.7305   1.8276   5.1470  0.083  1.41  -1.821    850.  0.219E+00  0.219E+00  0.117E-03  0.161E-13    1  29  18   13  16   1   14  14  28    0.000    0.000       0
+  0     65 00:17:55.25   7.9700A   1.7343   1.5790   5.6487  0.083  1.41  -1.794    850.  0.225E+00  0.225E+00  0.108E-03  0.149E-13    1  29  19    1   6   2   15  14  28    0.000    0.000       0
+  0     66 00:18:03.50   8.2500A   1.7553   1.8618   5.4538  0.083  1.41  -1.777    850.  0.231E+00  0.230E+00  0.114E-03  0.156E-13    1  29  19   14  16   1   15  14  28    0.000    0.000       0
+  0     67 00:18:11.45   7.9500A   1.7706   1.7070   5.6604  0.083  1.41  -1.769    850.  0.236E+00  0.236E+00  0.111E-03  0.153E-13    1  29  19   14  16   1   16  14  28    0.000    0.000       0
+  0     68 00:18:19.32   7.8700A   1.7815   1.7253   5.7157  0.084  1.41  -1.783    850.  0.240E+00  0.240E+00  0.112E-03  0.153E-13    1  37  16   15  16   1   16  14  28    0.000    0.000       0
+  0     69 00:18:27.49   8.1700A  -1.8513   1.8089   5.5078  0.084  1.41  -1.939    850.  0.245E+00  0.245E+00  0.118E-03  0.161E-13    5  11  13   15  16   1   11  35  25    0.000    0.000       0
+  0     70 00:18:35.36   7.8700A  -1.9667   1.6669   5.7156  0.084  1.43  -1.800    900.  0.249E+00  0.249E+00  0.115E-03  0.156E-13    5  11  13    9  10  14   17  14  28    0.000    0.000       0
+  0     71 00:18:43.36   8.0000A  -2.0240   1.7632   5.6231  0.084  1.43  -1.756    900.  0.253E+00  0.253E+00  0.119E-03  0.160E-13    5  11  13   15  17   1   12  35  25    0.000    0.000       0
+  0     72 00:18:51.50   8.1400A  -2.0264  -1.6139   5.5294  0.084  1.43  -1.749    900.  0.257E+00  0.257E+00  0.122E-03  0.164E-13    5  11  13    9   4   1   12  35  25    0.000    0.000       0
+  0     73 00:18:59.43   7.9300A  -1.9739   1.7939   5.6780  0.085  1.43  -1.755    900.  0.260E+00  0.260E+00  0.120E-03  0.162E-13    5  11  13   10  10  14   13  35  25    0.000    0.000       0
+  0     74 00:19:07.40   7.9700A  -1.8719   1.8494   5.6487  0.085  1.43  -1.763    900.  0.264E+00  0.263E+00  0.122E-03  0.164E-13    5  11  13   10  10  14   13  35  25    0.000    0.000       0
+  0     75 00:19:15.33   7.9300A  -1.8078   1.7593   5.6757  0.085  1.43  -1.751    900.  0.266E+00  0.266E+00  0.123E-03  0.164E-13    6  19  34   10  10  14   14  35  25    0.000    0.000       0
+  0     76 00:19:23.20   7.8700A  -1.8404  -1.7352   5.7179  0.085  1.43  -1.753    900.  0.269E+00  0.269E+00  0.123E-03  0.164E-13   14  36  38   12   4  39   14  35  25    0.000    0.000       0
+  0     77 00:19:31.21   8.0100A  -1.9565   1.8225   5.6210  0.086  1.41  -1.750    850.  0.271E+00  0.271E+00  0.126E-03  0.168E-13    6  11  13   11  10  14   15  35  25    0.000    0.000       0
+  0     78 00:19:39.05   7.8400A  -2.0902   1.7671   5.7405  0.086  1.41  -1.727    850.  0.273E+00  0.273E+00  0.125E-03  0.165E-13    6  11  13   11  10  14   15  35  25    0.000    0.000       0
+  0     79 00:19:47.29   8.2400A  -2.1670  -1.7722   5.4610  0.086  1.41  -1.718    850.  0.275E+00  0.275E+00  0.132E-03  0.175E-13    6  11  13   13   4  39   16  35  25    0.000    0.000       0
+  0     80 00:19:55.22   7.9300A  -2.1873  -1.7058   5.6739  0.087  1.41  -1.718    850.  0.276E+00  0.276E+00  0.128E-03  0.169E-13    6  11  13   14   0   7   16  35  25    0.000    0.000       0
+  0     81 00:20:04.02   8.8000A  -2.1483  -1.6951   5.1165  0.087  1.41  -1.710    850.  0.278E+00  0.278E+00  0.143E-03  0.188E-13    6  11  13   14   0   7   17  35  25    0.000    0.000       0
+  0     82 00:20:12.32   8.3000A  -2.0425  -1.6644   5.4190  0.087  1.41  -1.685    850.  0.279E+00  0.279E+00  0.136E-03  0.179E-13    6  11  13    1   8  26   17  35  25    0.000    0.000       0
+  0     83 00:20:21.45   9.1300A  -2.1086  -1.6522   4.9285  0.088  1.41  -1.669    850.  0.280E+00  0.280E+00  0.150E-03  0.197E-13   18  15  27    1   8  26   17  35  25    0.000    0.000       0
+  0     84 00:20:30.64   9.1900A  -2.1742   1.6593   4.8980  0.088  1.41  -1.680    850.  0.281E+00  0.280E+00  0.151E-03  0.199E-13   18  15  27    3   8  16   18  35  25    0.000    0.000       0
+  0     85 00:20:40.59   9.9500A  -2.0638   1.6841   4.5224  0.089  1.41  -1.630    850.  0.281E+00  0.281E+00  0.164E-03  0.216E-13   18  15  27    3   8  16   18  35  25    0.000    0.000       0
+  0     86 00:20:50.17   9.5800A  -1.9358  -1.6683   4.6992  0.089  1.41  -1.599    850.  0.281E+00  0.281E+00  0.159E-03  0.209E-13    7  11  13   16   8  23   16  38  15    0.000    0.000       0
+  0     87 00:21:00.47  10.3000A  -2.0100  -1.7970   4.3825  0.090  1.41  -1.592    850.  0.282E+00  0.282E+00  0.172E-03  0.226E-13    7  11  13   15  39   7   16  38  15    0.000    0.000       0
+  0     88 00:21:10.03   9.5600A  -2.0134  -1.8233   4.7061  0.090  1.41  -1.625    850.  0.282E+00  0.282E+00  0.161E-03  0.212E-13    7  11  13   15  39   7   15   8  22    0.000    0.000       0
+  0     89 00:21:20.00   9.9700A  -1.9486  -1.7695   4.5120  0.091  1.41  -1.783    850.  0.282E+00  0.282E+00  0.169E-03  0.223E-13    7  11  13    1  22  28   15   8  22    0.000    0.000       0
+  0     90 00:21:29.91   9.9100A  -1.8235  -1.8360   4.5387  0.091  1.41  -1.594    850.  0.282E+00  0.282E+00  0.168E-03  0.223E-13    7  11  13    1  22  28   14  35  16    0.000    0.000       0
+  0     91 00:21:39.87   9.9600A  -1.8463  -1.8880   4.5186  0.092  1.38  -1.587    800.  0.282E+00  0.282E+00  0.170E-03  0.225E-13    1  19  35    1  22  28   16   8  22    0.000    0.000       0
+  0     92 00:21:49.76   9.8900A  -1.8532  -1.9237   4.5523  0.093  1.38  -1.625    800.  0.282E+00  0.282E+00  0.169E-03  0.225E-13    1  19  35    1  22  28   15  35  16    0.000    0.000       0
+  0     93 00:22:00.36  10.6000A  -1.8235  -1.9408   4.2301  0.093  1.38  -1.624    800.  0.282E+00  0.282E+00  0.182E-03  0.242E-13    1  19  35    1  22  28   15  35  16    0.000    0.000       0
+  0     94 00:22:10.96  10.6000A  -1.7941  -1.9378   4.2289  0.094  1.38  -1.563    800.  0.282E+00  0.282E+00  0.183E-03  0.243E-13   14   5  33    1  22  28   16  35  16    0.000    0.000       0
+  0     95 00:22:21.66  10.7000A  -1.8189   1.9166   4.1889  0.095  1.38  -1.519    800.  0.282E+00  0.282E+00  0.185E-03  0.247E-13    1  19  34    1  10  16   14  23  12    0.000    0.000       0
+  0     96 00:22:32.66  11.0000A  -1.8023   1.8928   4.0856  0.096  1.38  -1.617    800.  0.281E+00  0.281E+00  0.191E-03  0.255E-13    1  19  34    1  10  16   14  23  12    0.000    0.000       0
+  0     97 00:22:43.86  11.2000A   1.7672  -1.8559   4.0101  0.097  1.38  -1.461    800.  0.281E+00  0.281E+00  0.195E-03  0.261E-13    3  38  17    1  22  27   13  23   6    0.000    0.000       0
+  0     98 00:22:54.96  11.1000A   1.7436  -1.9172   4.0383  0.098  1.38  -1.406    800.  0.281E+00  0.281E+00  0.194E-03  0.259E-13    3  38  17    1  22  27   14  23   6    0.000    0.000       0
+  0     99 00:23:05.16  10.2000A   1.7442  -1.9598   4.4019  0.099  1.38  -1.411    800.  0.280E+00  0.280E+00  0.179E-03  0.239E-13    3  38  18    1  22  27   14  23   6    0.000    0.000       0
+  0    100 00:23:15.96  10.8000A   1.8368  -1.9796   4.1483  0.099  1.38  -1.378    800.  0.280E+00  0.279E+00  0.190E-03  0.254E-13    3  38  18    1  22  27   14  23   6    0.000    0.000       0
+  0    101 00:23:26.06  10.1000A   1.8680  -1.9785   4.4351  0.100  1.38  -1.353    800.  0.279E+00  0.279E+00  0.178E-03  0.238E-13    3  38  18    1  22  27   15  23   6    0.000    0.000       0
+  0    102 00:23:36.26  10.2000A   1.8379  -1.9567   4.4325  0.101  1.38  -1.349    800.  0.278E+00  0.278E+00  0.180E-03  0.241E-13    3  38  18    1  22  27   15  23   6    0.000    0.000       0
+  0    103 00:23:47.76  11.5000A   1.7579   1.9314   3.9017  0.102  1.35  -1.324    750.  0.277E+00  0.277E+00  0.202E-03  0.271E-13    3  38  18    2   7  15   15  23   6    0.000    0.000       0
+  0    104 00:23:58.66  10.9000A   1.6581   1.9983   4.1414  0.103  1.35  -1.318    750.  0.276E+00  0.276E+00  0.192E-03  0.257E-13    3  37  19    1   7  14   16  23   6    0.000    0.000       0
+  0    105 00:24:10.46  11.8000A   1.7109   2.0561   3.8294  0.104  1.35  -1.325    750.  0.275E+00  0.275E+00  0.207E-03  0.277E-13    3  37  19    1   7  14   16  23   6    0.000    0.000       0
+  0    106 00:24:21.86  11.4000A   1.7475   2.0914   3.9581  0.104  1.35  -1.369    750.  0.274E+00  0.274E+00  0.200E-03  0.267E-13    1  15  27    1   7  14   15  36  27    0.000    0.000       0
+  0    107 00:24:33.26  11.4000A   1.7710   2.0983   3.9350  0.105  1.35  -1.318    750.  0.273E+00  0.273E+00  0.200E-03  0.267E-13    1  15  27    1   7  14   15  36  27    0.000    0.000       0
+  0    108 00:24:45.36  12.1000A   1.7710   2.0825   3.7110  0.106  1.35  -1.316    750.  0.271E+00  0.271E+00  0.212E-03  0.282E-13    1  15  27    1   7  14    9  12   1    0.000    0.000       0
+  0    109 00:24:56.86  11.5000A   1.7459  -2.1039   3.9096  0.107  1.35  -1.324    750.  0.270E+00  0.270E+00  0.202E-03  0.268E-13    1  15  27    1  22  29   16  36  27    0.000    0.000       0
+  0    110 00:25:08.26  11.4000A   1.7640  -2.2132   3.9612  0.107  1.35  -1.315    750.  0.269E+00  0.268E+00  0.200E-03  0.265E-13    3  36  19    1  22  29   10  12   1    0.000    0.000       0
+  0    111 00:25:19.66  11.4000A  -1.7833  -2.3093   3.9446  0.108  1.35  -1.353    750.  0.267E+00  0.267E+00  0.199E-03  0.264E-13    1  37  20    1  22  29   10  12   1    0.000    0.000       0
+  0    112 00:25:31.26  11.6000A  -1.8000  -2.3792   3.8649  0.108  1.35  -1.302    750.  0.266E+00  0.266E+00  0.203E-03  0.268E-13    1  37  20    1  22  29   11  12   1    0.000    0.000       0
+  0    113 00:25:42.36  11.1000A  -1.7944  -2.4111   4.0672  0.108  1.35  -1.329    750.  0.264E+00  0.264E+00  0.194E-03  0.256E-13    1  37  20    1  22  29   11  12   1    0.000    0.000       0
+  0    114 00:25:54.56  12.2000A  -1.7934  -2.3983   3.6932  0.109  1.35  -1.323    750.  0.263E+00  0.262E+00  0.213E-03  0.281E-13    1  12  21    1  22  29   11  12   1    0.000    0.000       0
+  0    115 00:26:06.06  11.5000A  -1.8449  -2.3800   3.9181  0.109  1.38  -1.295    800.  0.261E+00  0.261E+00  0.200E-03  0.264E-13    1  12  21    1  21  29   11  32  24    0.000    0.000       0
+  0    116 00:26:17.66  11.6000A  -1.8804  -2.4513   3.8880  0.110  1.38  -1.336    800.  0.260E+00  0.259E+00  0.201E-03  0.266E-13    1  12  21    1  21  29   11  32  24    0.000    0.000       0
+  0    117 00:26:29.96  12.3000A  -1.9025  -2.4791   3.6448  0.110  1.38  -1.309    800.  0.258E+00  0.258E+00  0.213E-03  0.281E-13    1  12  21    1  21  29   11  31  25    0.000    0.000       0
+  0    118 00:26:41.86  11.9000A  -1.9073  -2.4559   3.7902  0.111  1.32  -1.295    700.  0.257E+00  0.256E+00  0.206E-03  0.271E-13    1  12  21    1  21  29   12  32  24    0.000    0.000       0
+  0    119 00:26:53.46  11.6000A  -1.8935  -2.3881   3.8706  0.111  1.38  -1.273    800.  0.255E+00  0.255E+00  0.200E-03  0.263E-13    1  12  21    1  21  29   12  32  24    0.000    0.000       0
+  0    120 00:27:05.66  12.2000A  -1.8633   2.3882   3.6871  0.112  1.38  -1.268    800.  0.254E+00  0.253E+00  0.210E-03  0.276E-13    1  12  21    1   9  14    6  17  31    0.000    0.000       0
+  0    121 00:27:17.46  11.8000A   1.8938   2.3993   3.8077  0.112  1.38  -1.268    800.  0.252E+00  0.252E+00  0.203E-03  0.267E-13    1  18  21    1   9  14    7  17  31    0.000    0.000       0
+  0    122 00:27:28.76  11.3000A   1.9646   2.3703   3.9777  0.113  1.38  -1.337    800.  0.251E+00  0.250E+00  0.195E-03  0.255E-13    1  18  21    1   9  14    7  17  31    0.000    0.000       0
+  0    123 00:27:40.56  11.8000A   1.9893   2.3826   3.8265  0.113  1.38  -1.277    800.  0.249E+00  0.249E+00  0.203E-03  0.266E-13    1  18  21    1  10  14    8  17  31    0.000    0.000       0
+  0    124 00:27:51.36  10.8000A   1.9667   2.4155   4.1629  0.114  1.38  -1.254    800.  0.248E+00  0.247E+00  0.186E-03  0.243E-13    1  18  21    1  10  14    8  17  31    0.000    0.000       0
+  0    125 00:28:02.96  11.6000A   1.9072   2.4170   3.8947  0.114  1.38  -1.242    800.  0.246E+00  0.246E+00  0.199E-03  0.260E-13    1  18  21    1  10  14    8  17  31    0.000    0.000       0
+  0    126 00:28:14.06  11.1000A   2.0148   2.3774   4.0403  0.114  1.35  -1.256    750.  0.245E+00  0.244E+00  0.190E-03  0.249E-13    1  17  21    1  10  14    9  17  31    0.000    0.000       0
+  0    127 00:28:25.76  11.7000A   2.1052   2.2994   3.8428  0.115  1.35  -1.341    750.  0.243E+00  0.243E+00  0.199E-03  0.261E-13    1  17  21    1  10  14    9  17  31    0.000    0.000       0
+  0    128 00:28:37.86  12.1000A   2.1155   2.1898   3.7201  0.115  1.35  -1.235    750.  0.241E+00  0.241E+00  0.205E-03  0.270E-13    1  17  21    1  11  13   10  17  31    0.000    0.000       0
+  0    129 00:28:50.46  12.6000A   2.0344   2.2051   3.5720  0.115  1.35  -1.230    750.  0.239E+00  0.239E+00  0.212E-03  0.280E-13    1  17  21    1  12  13   10  17  31    0.000    0.000       0
+  0    130 00:29:04.06  13.6000A   1.9584   2.2644   3.3129  0.115  1.35  -1.225    750.  0.237E+00  0.237E+00  0.227E-03  0.300E-13    1  20  22    1  12  13   15  31  24    0.000    0.000       0
+  0    131 00:29:17.46  13.4000A   2.0022   2.2660   3.3462  0.115  1.41  -1.194    850.  0.235E+00  0.235E+00  0.223E-03  0.294E-13    1  20  22    1  12  13   15  31  24    0.000    0.000       0
+  0    132 00:29:31.96  14.5000A   2.0426   2.2118   3.0937  0.115  1.35  -1.199    750.  0.233E+00  0.232E+00  0.239E-03  0.315E-13    1  20  22    1  12  13   16  31  24    0.000    0.000       0
+  0    133 00:29:45.86  13.9000A   2.0756   2.2156   3.2351  0.115  1.35  -1.226    750.  0.230E+00  0.230E+00  0.228E-03  0.301E-13    1  20  22    1   8  16   16  31  24    0.000    0.000       0
+  0    134 00:30:00.46  14.6000A   2.1525   2.2953   3.0744  0.115  1.35  -1.235    750.  0.228E+00  0.227E+00  0.238E-03  0.313E-13    1  19  22    1   8  16   13  22  13    0.000    0.000       0
+  0    135 00:30:15.26  14.8000A   2.2151   2.2680   3.0463  0.115  1.35  -1.210    750.  0.225E+00  0.225E+00  0.239E-03  0.314E-13    1  19  22    1   8  16   13  22  13    0.000    0.000       0
+  0    136 00:30:30.16  14.9000A   2.2335   2.1720   3.0170  0.114  1.35  -1.213    750.  0.223E+00  0.222E+00  0.238E-03  0.313E-13    1  19  22    1   9  16    5  13  17    0.000    0.000       0
+  0    137 00:30:44.46  14.3000A   2.2071   2.1319   3.1562  0.114  1.41  -1.204    850.  0.221E+00  0.220E+00  0.227E-03  0.298E-13    1  19  22    1   9  16   10  12  34    0.000    0.000       0
+  0    138 00:30:57.76  13.3000A   2.1949   2.1604   3.3871  0.113  1.41  -1.203    850.  0.219E+00  0.218E+00  0.210E-03  0.275E-13    1  19  23    1  14  12   10  12  34    0.000    0.000       0
+  0    139 00:31:11.76  14.0000A   2.2380   2.2258   3.2134  0.113  1.41  -1.243    850.  0.217E+00  0.216E+00  0.219E-03  0.285E-13    1  19  23    1  14  12   11  12  34    0.000    0.000       0
+  0    140 00:31:25.16  13.4000A   2.2421   2.2208   3.3522  0.112  1.38  -1.248    800.  0.215E+00  0.215E+00  0.208E-03  0.270E-13    1  19  23    1  14  12   11  12  34    0.000    0.000       0
+  0    141 00:31:38.86  13.7000A   2.2092   2.1461   3.2847  0.111  1.38  -1.354    800.  0.213E+00  0.213E+00  0.210E-03  0.273E-13    1  19  23    1  14  12   12  11  19    0.000    0.000       0
+  0    142 00:31:53.46  14.6000A   2.1553   2.0825   3.0870  0.111  1.38  -1.270    800.  0.212E+00  0.211E+00  0.221E-03  0.287E-13    1  19  23    2  13  13   12  11  19    0.000    0.000       0
+  0    143 00:32:07.06  13.6000A   2.1737   2.0790   3.3177  0.110  1.38  -1.277    800.  0.210E+00  0.210E+00  0.204E-03  0.264E-13    1  19  24    1  12  12   13  11  19    0.000    0.000       0
+  0    144 00:32:21.16  14.1000A   2.2039   2.1979   3.1947  0.109  1.38  -1.275    800.  0.209E+00  0.208E+00  0.209E-03  0.270E-13    1  19  24    2  14  13   13  11  19    0.000    0.000       0
+  0    145 00:32:34.76  13.6000A   2.1884   2.2596   3.3123  0.108  1.38  -1.299    800.  0.207E+00  0.207E+00  0.200E-03  0.258E-13    1  19  24    2  14  13   14  12  21    0.000    0.000       0
+  0    146 00:32:48.66  13.9000A   2.1318   2.3264   3.2265  0.107  1.38  -1.289    800.  0.206E+00  0.205E+00  0.203E-03  0.261E-13    1  19  24    1  13  12   14  12  21    0.000    0.000       0
+  0    147 00:33:02.76  14.1000A   2.0467   2.3569   3.1984  0.106  1.38  -1.307    800.  0.205E+00  0.204E+00  0.205E-03  0.263E-13    1  19  24    1  13  12   15  12  21    0.000    0.000       0
+  0    148 00:33:17.36  14.6000A   1.9661   2.3139   3.0889  0.106  1.38  -1.320    800.  0.204E+00  0.203E+00  0.210E-03  0.270E-13    1  17  24    1  13  12   15  12  21    0.000    0.000       0
+  0    149 00:33:31.46  14.1000A   2.0307   2.2480   3.1855  0.105  1.38  -1.326    800.  0.203E+00  0.203E+00  0.202E-03  0.259E-13    1  17  24    1  13  13   16  12  21    0.000    0.000       0
+  0    150 00:33:46.26  14.8000A   2.0317   2.2173   3.0309  0.104  1.38  -1.399    800.  0.202E+00  0.202E+00  0.211E-03  0.270E-13    1  17  24    2  13  14   16  12  21    0.000    0.000       0
+  0    151 00:34:00.86  14.6000A   1.9659   2.2494   3.0819  0.104  1.38  -1.390    800.  0.202E+00  0.201E+00  0.207E-03  0.265E-13    1  17  24    1  14  13    6  29  18    0.000    0.000       0
+  0    152 00:34:15.66  14.8000A   2.0115   2.3953   3.0441  0.103  1.38  -1.371    800.  0.202E+00  0.201E+00  0.209E-03  0.267E-13    1  17  25    1  14  13    8  28  17    0.000    0.000       0
+  0    153 00:34:29.66  14.0000A   2.1264   2.4756   3.2230  0.103  1.38  -1.352    800.  0.201E+00  0.201E+00  0.197E-03  0.252E-13    1  17  25    1  14  13    9  28  17    0.000    0.000       0
+  0    154 00:34:42.76  13.1000A   2.1357   2.4793   3.4477  0.102  1.38  -1.354    800.  0.201E+00  0.201E+00  0.184E-03  0.236E-13    1  17  25    1  14  13    9  28  17    0.000    0.000       0
+  0    155 00:34:55.46  12.7000A  -2.1505   2.4129   3.5434  0.102  1.38  -1.375    800.  0.201E+00  0.201E+00  0.179E-03  0.228E-13    1  39   4    1  14  13   10  28  17    0.000    0.000       0
+  0    156 00:35:07.86  12.4000A  -2.1579   2.2846   3.6355  0.102  1.38  -1.407    800.  0.202E+00  0.201E+00  0.174E-03  0.222E-13    1  39   4    1  14  13   10  28  17    0.000    0.000       0
+  0    157 00:35:19.96  12.1000A  -2.1308   2.4130   3.7132  0.101  1.38  -1.393    800.  0.202E+00  0.201E+00  0.170E-03  0.216E-13    1  39   4    1  15  13   11  28  17    0.000    0.000       0
+  0    158 00:35:31.76  11.8000A  -2.0747   2.4962   3.8046  0.101  1.38  -1.389    800.  0.202E+00  0.201E+00  0.166E-03  0.211E-13    1  39   4    1  15  13   12  28  17    0.000    0.000       0
+  0    159 00:35:43.46  11.7000A  -2.0501   2.5211   3.8524  0.101  1.38  -1.395    800.  0.202E+00  0.202E+00  0.165E-03  0.209E-13    1  39   3    1  15  13   13  28  17    0.000    0.000       0
+  0    160 00:35:54.66  11.2000A  -2.0724   2.4894   4.0229  0.100  1.38  -1.398    800.  0.203E+00  0.202E+00  0.158E-03  0.200E-13    1  39   3    1  15  13   13  28  17    0.000    0.000       0
+  0    161 00:36:05.86  11.2000A  -2.0674   2.4080   4.0085  0.100  1.38  -1.414    800.  0.203E+00  0.202E+00  0.158E-03  0.199E-13    1  39   3    1  15  13   14  28  17    0.000    0.000       0
+  0    162 00:36:16.96  11.1000A  -2.0410   2.2824   4.0539  0.100  1.38  -1.372    800.  0.204E+00  0.203E+00  0.157E-03  0.198E-13    1  39   3    1  15  13   14  28  17    0.000    0.000       0
+  0    163 00:36:28.06  11.1000A  -2.0222   2.2155   4.0667  0.100  1.38  -1.360    800.  0.204E+00  0.203E+00  0.157E-03  0.198E-13    1   2   4    2  16  13   15  28  17    0.000    0.000       0
+  0    164 00:36:39.16  11.1000A  -2.0765   2.2292   4.0687  0.100  1.38  -1.356    800.  0.205E+00  0.204E+00  0.157E-03  0.198E-13    1  36   1    2  16  13   15  28  17    0.000    0.000       0
+  0    165 00:36:50.76  11.6000A  -2.1124   2.2114   3.8821  0.100  1.38  -1.336    800.  0.205E+00  0.205E+00  0.164E-03  0.207E-13    1  36   1    2  16  13   15  29  17    0.000    0.000       0
+  0    166 00:37:02.76  12.0000A  -2.1050  -2.1860   3.7383  0.099  1.41  -1.432    850.  0.206E+00  0.205E+00  0.170E-03  0.214E-13    1  36   1    1  33  16   16  29  17    0.000    0.000       0
+  0    167 00:37:14.06  11.3000A  -2.1238  -2.1655   3.9916  0.099  1.41  -1.320    850.  0.207E+00  0.206E+00  0.160E-03  0.202E-13    1  36   0    1  33  16   16  29  17    0.000    0.000       0
+  0    168 00:37:26.56  12.5000A  -2.1869  -2.1422   3.6046  0.099  1.41  -1.317    850.  0.208E+00  0.207E+00  0.177E-03  0.223E-13    1  36   0    1  33  14   16  29  17    0.000    0.000       0
+  0    169 00:37:38.16  11.6000A  -2.2194  -2.1450   3.8919  0.099  1.41  -1.327    850.  0.208E+00  0.208E+00  0.164E-03  0.207E-13    1  36   0    1  33  14   17  29  17    0.000    0.000       0
+  0    170 00:37:50.56  12.4000A  -2.2189  -2.1152   3.6273  0.099  1.41  -1.338    850.  0.209E+00  0.209E+00  0.176E-03  0.221E-13    1  36   0    1  33  14   16  27  16    0.000    0.000       0
+  0    171 00:38:03.76  13.2000A  -2.1924  -2.0833   3.4110  0.100  1.43  -1.350    900.  0.210E+00  0.209E+00  0.187E-03  0.235E-13    1  36   0    1  32  16   16  27  16    0.000    0.000       0
+  0    172 00:38:16.66  12.9000A  -2.1395  -2.1188   3.4766  0.100  1.43  -1.395    900.  0.211E+00  0.210E+00  0.183E-03  0.231E-13    1  36   0    1  32  16   17  27  16    0.000    0.000       0
+  0    173 00:38:29.86  13.2000A  -2.1545  -2.1490   3.4079  0.100  1.43  -1.509    900.  0.212E+00  0.211E+00  0.187E-03  0.236E-13    1  35  39    1  32  17   16  29  18    0.000    0.000       0
+  0    174 00:38:44.16  14.3000A  -2.1748  -2.1692   3.1435  0.100  1.43  -1.399    900.  0.213E+00  0.212E+00  0.203E-03  0.256E-13    1  35  39    1  32  15    7  34  37    0.000    0.000       0
+  0    175 00:38:57.46  13.3000A  -2.1826  -2.2235   3.3757  0.100  1.43  -1.372    900.  0.214E+00  0.214E+00  0.189E-03  0.239E-13    1  35  38    1  32  15   17  29  18    0.000    0.000       0
+  0    176 00:39:10.56  13.1000A  -2.1318  -2.2093   3.4232  0.101  1.43  -1.367    900.  0.216E+00  0.215E+00  0.187E-03  0.236E-13    1  35  38    1  32  15    8  34  37    0.000    0.000       0
+  0    177 00:39:24.06  13.5000A  -2.1918  -2.1672   3.3224  0.101  1.41  -1.364    850.  0.217E+00  0.216E+00  0.194E-03  0.244E-13    1  35  37    1  31  17    9  24  19    0.000    0.000       0
+  0    178 00:39:37.86  13.8000A  -2.2143  -2.2164   3.2641  0.101  1.41  -1.368    850.  0.219E+00  0.218E+00  0.199E-03  0.250E-13    1  35  37    8  25  20    9  24  19    0.000    0.000       0
+  0    179 00:39:50.86  13.0000A  -2.1281  -2.2947   3.4625  0.101  1.41  -1.383    850.  0.220E+00  0.219E+00  0.188E-03  0.237E-13    1  35  37    1  31  15   10  24  19    0.000    0.000       0
+  0    180 00:40:04.56  13.7000A  -1.9795  -2.3085   3.2858  0.101  1.41  -1.419    850.  0.222E+00  0.221E+00  0.199E-03  0.250E-13    1  35  37    1  31  15   10  24  19    0.000    0.000       0
+  0    181 00:40:17.66  13.1000A  -1.9373  -2.2589   3.4453  0.101  1.41  -1.413    850.  0.224E+00  0.223E+00  0.191E-03  0.241E-13    2  35  37    1  31  15   11  24  19    0.000    0.000       0
+  0    182 00:40:31.36  13.7000A  -1.9711  -2.1833   3.2732  0.101  1.41  -1.538    850.  0.226E+00  0.225E+00  0.201E-03  0.253E-13    2  35  37    1  30  17    9   4   1    0.000    0.000       0
+  0    183 00:40:45.16  13.8000A  -1.9441  -2.2071   3.2508  0.101  1.41  -1.462    850.  0.227E+00  0.226E+00  0.203E-03  0.256E-13    2  35  37    1  30  16   12  24  19    0.000    0.000       0
+  0    184 00:40:58.76  13.6000A  -2.0066  -2.2249   3.3079  0.101  1.41  -1.492    850.  0.229E+00  0.228E+00  0.201E-03  0.254E-13    1  33   0    1  30  16    9  24  19    0.000    0.000       0
+  0    185 00:41:12.46  13.7000A  -2.0232  -2.1832   3.2733  0.101  1.41  -1.539    850.  0.231E+00  0.230E+00  0.203E-03  0.258E-13    1  33  39    1  30  16    9  24  19    0.000    0.000       0
+  0    186 00:41:25.86  13.4000A  -2.2303  -2.1265   3.3506  0.101  1.41  -1.507    850.  0.233E+00  0.232E+00  0.200E-03  0.254E-13    1  33  39    1  29  16   10  24  19    0.000    0.000       0
+  0    187 00:41:39.26  13.4000A  -2.2886  -2.1816   3.3703  0.101  1.41  -1.516    850.  0.235E+00  0.234E+00  0.201E-03  0.256E-13    1  33  39    1  29  16   10  24  19    0.000    0.000       0
+  0    188 00:41:52.76  13.5000A  -2.2009  -2.1744   3.3347  0.101  1.41  -1.494    850.  0.238E+00  0.237E+00  0.204E-03  0.260E-13    1  33  39    1  29  16   10  23  20    0.000    0.000       0
+  0    189 00:42:06.16  13.4000A  -2.1721  -2.1085   3.3497  0.101  1.41  -1.492    850.  0.240E+00  0.239E+00  0.203E-03  0.260E-13    1  33  38    1  29  16   11  23  19    0.000    0.000       0
+  0    190 00:42:19.66  13.5000A  -2.1817  -2.0223   3.3444  0.102  1.41  -1.451    850.  0.242E+00  0.241E+00  0.206E-03  0.264E-13    1  33  38    1  28  16   10  27  18    0.000    0.000       0
+  0    191 00:42:32.96  13.3000A  -2.1294  -2.0844   3.3937  0.102  1.41  -1.448    850.  0.244E+00  0.243E+00  0.204E-03  0.262E-13   17   8  10    1  28  16   12  22  19    0.000    0.000       0
+  0    192 00:42:45.66  12.7000A  -2.1296  -2.0822   3.5543  0.102  1.41  -1.417    850.  0.246E+00  0.245E+00  0.196E-03  0.253E-13    1  33  37    1  28  16   11  27  18    0.000    0.000       0
+  0    193 00:42:57.36  11.7000A  -2.1458  -2.0271   3.8564  0.102  1.41  -1.411    850.  0.248E+00  0.247E+00  0.182E-03  0.235E-13    1  33  37    1  28  16   13  22  19    0.000    0.000       0
+  0    194 00:43:09.66  12.3000A  -2.0884  -1.9679   3.6671  0.102  1.41  -1.422    850.  0.250E+00  0.249E+00  0.192E-03  0.248E-13    1  33  37    1  27  17   14  22  19    0.000    0.000       0
+  0    195 00:43:21.36  11.7000A  -2.1086  -2.0237   3.8599  0.102  1.41  -1.394    850.  0.252E+00  0.251E+00  0.184E-03  0.238E-13    3  33  37    1  27  16   14  22  19    0.000    0.000       0
+  0    196 00:43:33.66  12.3000A  -2.1735  -2.0406   3.6481  0.103  1.41  -1.407    850.  0.254E+00  0.253E+00  0.194E-03  0.251E-13    3  33  36    1  27  16   10  25  21    0.000    0.000       0
+  0    197 00:43:45.96  12.3000A  -2.2341  -2.0077   3.6639  0.103  1.41  -1.397    850.  0.256E+00  0.255E+00  0.195E-03  0.252E-13    3  33  36    1  27  16   10  25  21    0.000    0.000       0
+  0    198 00:43:58.56  12.6000A  -2.2301  -2.0332   3.5851  0.103  1.41  -1.370    850.  0.258E+00  0.257E+00  0.200E-03  0.260E-13    4  33  36   15  23  19   10  26  20    0.000    0.000       0
+  0    199 00:44:10.36  11.8000A  -2.2052  -2.0336   3.8014  0.103  1.41  -1.371    850.  0.260E+00  0.259E+00  0.189E-03  0.245E-13    4  33  36   15  23  19   13  24  21    0.000    0.000       0
+  0    200 00:44:22.86  12.5000A  -2.1343  -2.0093   3.6033  0.103  1.41  -1.384    850.  0.261E+00  0.261E+00  0.200E-03  0.260E-13    4  33  35    2  27  15   13  24  21    0.000    0.000       0
+  0    201 00:44:34.56  11.7000A  -2.2181   2.0297   3.8338  0.103  1.41  -1.367    850.  0.263E+00  0.262E+00  0.189E-03  0.245E-13    5  33  35    2  32   8   14  24  21    0.000    0.000       0
+  0    202 00:44:46.96  12.4000A  -2.2045  -2.0797   3.6335  0.103  1.41  -1.360    850.  0.265E+00  0.264E+00  0.200E-03  0.261E-13    5  33  35   16  23  19   14  24  21    0.000    0.000       0
+  0    203 00:44:59.36  12.4000A  -2.2250   2.2320   3.6151  0.103  1.41  -1.338    850.  0.267E+00  0.266E+00  0.201E-03  0.262E-13    7  33  35    2  33   8   15  24  21    0.000    0.000       0
+  0    204 00:45:11.96  12.6000A  -2.3972   2.2934   3.5687  0.103  1.41  -1.327    850.  0.268E+00  0.268E+00  0.205E-03  0.267E-13    7  33  35    2  33   8   13  26  20    0.000    0.000       0
+  0    205 00:45:24.76  12.8000A  -2.2840   2.1535   3.5122  0.103  1.41  -1.323    850.  0.270E+00  0.269E+00  0.209E-03  0.272E-13    7  33  34    2  33   8   13  29  18    0.000    0.000       0
+  0    206 00:45:37.26  12.5000A  -2.4420  -1.9675   3.5925  0.103  1.41  -1.323    850.  0.272E+00  0.271E+00  0.205E-03  0.266E-13    7  33  34    1  29  15   14  29  18    0.000    0.000       0
+  0    207 00:45:49.96  12.7000A  -2.3656   2.0629   3.5571  0.103  1.41  -1.302    850.  0.274E+00  0.273E+00  0.210E-03  0.272E-13    8  33  34   11  16  19   14  29  18    0.000    0.000       0
+  0    208 00:46:02.86  12.9000A  -2.3971   2.0372   3.4773  0.103  1.41  -1.294    850.  0.275E+00  0.275E+00  0.214E-03  0.277E-13    8  33  34   11  16  19   15  29  18    0.000    0.000       0
+  0    209 00:46:15.66  12.8000A  -2.5761  -1.9172   3.5073  0.103  1.41  -1.292    850.  0.277E+00  0.276E+00  0.214E-03  0.276E-13    8  33  33    8  10   3    8  22  14    0.000    0.000       0
+  0    210 00:46:28.76  13.1000A  -2.5922  -1.9544   3.4309  0.103  1.41  -1.302    850.  0.279E+00  0.278E+00  0.219E-03  0.283E-13    8  33  33   19  19  17    8  22  14    0.000    0.000       0
+  0    211 00:46:41.26  12.5000A  -2.4200   2.0192   3.5990  0.103  1.41  -1.307    850.  0.280E+00  0.279E+00  0.210E-03  0.272E-13    9  33  33   15  13   2    9  22  14    0.000    0.000       0
+  0    212 00:46:53.86  12.6000A  -2.4295   1.9384   3.5642  0.103  1.41  -1.314    850.  0.282E+00  0.281E+00  0.213E-03  0.275E-13    9  33  33   15  13   2   10  22  14    0.000    0.000       0
+  0    213 00:47:06.26  12.4000A  -2.3376  -1.9444   3.6189  0.103  1.41  -1.325    850.  0.283E+00  0.282E+00  0.210E-03  0.272E-13    9  33  32   17  20  15   10  22  14    0.000    0.000       0
+  0    214 00:47:18.56  12.3000A  -2.3846  -1.9163   3.6720  0.103  1.41  -1.400    850.  0.284E+00  0.284E+00  0.209E-03  0.271E-13    9  33  32   17  20  15   11  22  14    0.000    0.000       0
+  0    215 00:47:30.86  12.3000A  -2.2467   1.9480   3.6644  0.103  1.41  -1.335    850.  0.286E+00  0.285E+00  0.210E-03  0.272E-13   10  33  32   16  14   2   11  22  14    0.000    0.000       0
+  0    216 00:47:42.96  12.1000A  -2.2899  -1.9777   3.7060  0.103  1.41  -1.322    850.  0.287E+00  0.286E+00  0.207E-03  0.268E-13   10  33  32   18  19  20    9  13  21    0.000    0.000       0
+  0    217 00:47:55.46  12.5000A  -2.1676  -1.9853   3.6045  0.103  1.41  -1.321    850.  0.288E+00  0.287E+00  0.214E-03  0.277E-13   10  33  32   18  19  20    7  32  35    0.000    0.000       0
+  0    218 00:48:07.36  11.9000A  -2.1926   2.0153   3.7891  0.103  1.41  -1.345    850.  0.289E+00  0.289E+00  0.205E-03  0.265E-13   11  33  32   13  37  32    8  32  34    0.000    0.000       0
+  0    219 00:48:19.26  11.9000A  -2.1674   1.9438   3.7737  0.103  1.41  -1.309    850.  0.290E+00  0.290E+00  0.205E-03  0.265E-13   11  33  31   13  37  32   11  32  33    0.000    0.000       0
+  0    220 00:48:30.76  11.5000A  -2.1374  -1.8479   3.8967  0.103  1.41  -1.309    850.  0.291E+00  0.290E+00  0.199E-03  0.257E-13   11  33  31   17  16  17    9  32  34    0.000    0.000       0
+  0    221 00:48:42.56  11.8000A  -2.0739   1.7990   3.8287  0.103  1.41  -1.399    850.  0.292E+00  0.291E+00  0.205E-03  0.264E-13   12  33  31   14  37  32    9  32  34    0.000    0.000       0
+  0    222 00:48:54.56  12.0000A  -2.1521  -1.9176   3.7601  0.103  1.41  -1.319    850.  0.293E+00  0.292E+00  0.209E-03  0.269E-13   12  33  31   18  17  20   12  32  33    0.000    0.000       0
+  0    223 00:49:06.76  12.2000A  -2.0737  -1.9806   3.6980  0.103  1.41  -1.314    850.  0.294E+00  0.293E+00  0.212E-03  0.274E-13   12  33  31   18  17  20   10  32  34    0.000    0.000       0
+  0    224 00:49:18.36  11.6000A  -2.0112  -1.9651   3.8799  0.103  1.41  -1.322    850.  0.294E+00  0.293E+00  0.203E-03  0.261E-13   12  33  30   18  17  20   10  32  36    0.000    0.000       0
+  0    225 00:49:29.96  11.6000A  -2.0121   1.9445   3.8800  0.102  1.41  -1.328    850.  0.295E+00  0.294E+00  0.203E-03  0.262E-13   12  33  30   18  17   2   10  32  36    0.000    0.000       0
+  0    226 00:49:41.06  11.1000A   2.0009   1.8744   4.0400  0.102  1.41  -1.337    850.  0.295E+00  0.294E+00  0.194E-03  0.251E-13    1  11  24    6  22  12   11  32  36    0.000    0.000       0
+  0    227 00:49:52.16  11.1000A   2.1367   2.0042   4.0700  0.102  1.41  -1.367    850.  0.295E+00  0.294E+00  0.195E-03  0.251E-13    1  11  24   18  18   2   11  32  36    0.000    0.000       0
+  0    228 00:50:03.36  11.2000A   2.2063   2.1311   4.0024  0.102  1.41  -1.330    850.  0.296E+00  0.295E+00  0.196E-03  0.253E-13    1  11  24   18  18   2   12  36  35    0.000    0.000       0
+  0    229 00:50:14.36  11.0000A   2.2058   2.1629   4.0987  0.101  1.41  -1.331    850.  0.296E+00  0.295E+00  0.193E-03  0.249E-13    1  11  24   18  18   2   12  32  36    0.000    0.000       0
+  0    230 00:50:25.46  11.1000A   2.1409   2.1038   4.0551  0.101  1.41  -1.347    850.  0.296E+00  0.295E+00  0.195E-03  0.251E-13    1  11  24   18  18   2   13  36  35    0.000    0.000       0
+  0    231 00:50:37.06  11.6000A   2.0657   1.9748   3.8953  0.101  1.41  -1.356    850.  0.296E+00  0.295E+00  0.204E-03  0.263E-13    1  10  23    6  23  12   13  32  36    0.000    0.000       0
+  0    232 00:50:49.06  12.0000A  -2.1495   1.9639   3.7560  0.101  1.41  -1.346    850.  0.296E+00  0.295E+00  0.211E-03  0.272E-13   17  25   9    6  23  12   15  11  37    0.000    0.000       0
+  0    233 00:51:01.36  12.3000A  -2.1556   1.9004   3.6555  0.100  1.41  -1.350    850.  0.296E+00  0.295E+00  0.216E-03  0.279E-13   17  25   9    6  23  12   12  35  36    0.000    0.000       0
+  0    234 00:51:13.16  11.8000A   2.1014   1.8323   3.8041  0.100  1.41  -1.371    850.  0.296E+00  0.295E+00  0.208E-03  0.268E-13    1  11  25   17  28  19   14  36  34    0.000    0.000       0
+  0    235 00:51:25.06  11.9000A   2.0104   1.8111   3.7746  0.100  1.41  -1.411    850.  0.296E+00  0.295E+00  0.210E-03  0.270E-13    1  11  25   17  28  19   16  11  37    0.000    0.000       0
+  0    236 00:51:36.86  11.8000A  -2.2470   1.7889   3.8051  0.100  1.43  -1.488    900.  0.296E+00  0.295E+00  0.208E-03  0.268E-13   15  36  35    1  14  10   11  10  35    0.000    0.000       0
+  0    237 00:51:49.46  12.6000A  -2.2837   1.7935   3.5729  0.100  1.43  -1.452    900.  0.296E+00  0.294E+00  0.221E-03  0.285E-13   15  36  35    1  15  15   11  10  35    0.000    0.000       0
+  0    238 00:52:01.96  12.5000A   2.0938   1.8534   3.5961  0.099  1.43  -1.429    900.  0.295E+00  0.294E+00  0.219E-03  0.283E-13   20  28  18    1  15  15   12  10  35    0.000    0.000       0
+  0    239 00:52:14.66  12.7000A  -2.1747  -1.8591   3.5408  0.099  1.43  -1.409    900.  0.295E+00  0.294E+00  0.222E-03  0.287E-13   19  27  23    1  27  19   10  17  16    0.000    0.000       0
+  0    240 00:52:27.16  12.5000A   2.1700  -1.8821   3.6017  0.099  1.43  -1.407    900.  0.295E+00  0.294E+00  0.218E-03  0.282E-13    1  12  25    1  27  19   11  17  16    0.000    0.000       0
+  0    241 00:52:39.46  12.3000A  -2.2012  -1.8757   3.6704  0.099  1.43  -1.405    900.  0.294E+00  0.293E+00  0.214E-03  0.278E-13   16  36  34    1  27  19   11  17  16    0.000    0.000       0
+  0    242 00:52:51.96  12.5000A  -2.3313  -1.8398   3.5998  0.099  1.41  -1.446    850.  0.294E+00  0.293E+00  0.217E-03  0.282E-13   16  36  34    1  27  19   12  17  16    0.000    0.000       0
+  0    243 00:53:04.26  12.3000A  -2.3180  -1.8860   3.6641  0.099  1.41  -1.416    850.  0.293E+00  0.292E+00  0.213E-03  0.278E-13   16  36  34   18  15  15   11  18  17    0.000    0.000       0
+  0    244 00:53:16.16  11.9000A   2.2540  -1.9866   3.7825  0.099  1.41  -1.432    850.  0.293E+00  0.292E+00  0.206E-03  0.269E-13    1  12  26   18  15  15   11  18  17    0.000    0.000       0
+  0    245 00:53:28.56  12.4000A  -2.2999  -2.0386   3.6161  0.099  1.41  -1.450    850.  0.292E+00  0.291E+00  0.215E-03  0.281E-13   19  27  21   18  15  15   11  18  17    0.000    0.000       0
+  0    246 00:53:40.46  11.9000A  -2.4032  -2.0296   3.7849  0.099  1.41  -1.454    850.  0.292E+00  0.291E+00  0.207E-03  0.270E-13   19  27  21   18  15  15   12  18  17    0.000    0.000       0
+  0    247 00:53:52.36  11.9000A  -2.3187  -1.9517   3.7947  0.099  1.41  -1.462    850.  0.291E+00  0.290E+00  0.208E-03  0.271E-13   19  27  21   18  15  15   12  18  17    0.000    0.000       0
+  0    248 00:54:04.66  12.3000A  -2.1722  -2.0112   3.6474  0.099  1.41  -1.423    850.  0.290E+00  0.289E+00  0.215E-03  0.280E-13   17  18  12   18  15  14   13  18  17    0.000    0.000       0
+  0    249 00:54:16.86  12.2000A  -2.3093  -2.0994   3.6774  0.100  1.41  -1.416    850.  0.289E+00  0.288E+00  0.214E-03  0.278E-13   19  27  20   18  15  14   13  18  17    0.000    0.000       0
+  0    250 00:54:28.96  12.1000A  -2.3032  -2.0612   3.7255  0.100  1.41  -1.437    850.  0.288E+00  0.287E+00  0.212E-03  0.276E-13   19  27  20    1  25  19   14  18  17    0.000    0.000       0
+  0    251 00:54:41.16  12.2000A   2.2824  -2.0456   3.6822  0.100  1.41  -1.401    850.  0.287E+00  0.286E+00  0.214E-03  0.278E-13    1  14  25    1  25  19   15  18  17    0.000    0.000       0
+  0    252 00:54:53.06  11.9000A   2.3572  -2.0268   3.7740  0.100  1.41  -1.404    850.  0.286E+00  0.285E+00  0.209E-03  0.272E-13    1  14  25   20  23  18   12  34  37    0.000    0.000       0
+  0    253 00:55:04.86  11.8000A   2.3303  -2.0809   3.8219  0.100  1.41  -1.448    850.  0.285E+00  0.284E+00  0.208E-03  0.269E-13    1  14  25   18  14  14   16  18  17    0.000    0.000       0
+  0    254 00:55:16.66  11.8000A   2.2175  -2.1872   3.8264  0.100  1.43  -1.416    900.  0.284E+00  0.283E+00  0.208E-03  0.269E-13    1  14  25   16  19  11   16  18  17    0.000    0.000       0
+  0    255 00:55:29.16  12.5000A   2.2940  -2.2015   3.6032  0.100  1.43  -1.436    900.  0.283E+00  0.281E+00  0.220E-03  0.285E-13    1  14  26   16  18  11   14  10  32    0.000    0.000       0
+  0    256 00:55:41.26  12.1000A   2.3718  -2.3008   3.7122  0.100  1.43  -1.418    900.  0.281E+00  0.280E+00  0.212E-03  0.275E-13    1  14  26   16  18  11   17  18  17    0.000    0.000       0
+  0    257 00:55:53.66  12.4000A   2.3478  -2.1482   3.6344  0.100  1.43  -1.420    900.  0.280E+00  0.278E+00  0.217E-03  0.281E-13    1  14  26   18  14  13   14  10  32    0.000    0.000       0
+  0    258 00:56:06.36  12.7000A   2.2370  -2.0676   3.5493  0.100  1.43  -1.432    900.  0.278E+00  0.277E+00  0.222E-03  0.287E-13    1  14  26   18  14  13   15  10  32    0.000    0.000       0
+  0    259 00:56:19.16  12.8000A  -2.3223   2.0152   3.5198  0.100  1.43  -1.450    900.  0.277E+00  0.275E+00  0.223E-03  0.288E-13   18  17  10    1  12  24   16  10  32    0.000    0.000       0
+  0    260 00:56:32.06  12.9000A  -2.3982   2.0502   3.4828  0.100  1.43  -1.459    900.  0.275E+00  0.273E+00  0.225E-03  0.290E-13   18  17  10    1  12  24   10  17  18    0.000    0.000       0
+  0    261 00:56:45.06  13.0000A  -2.3386   2.1164   3.4532  0.100  1.43  -1.433    900.  0.273E+00  0.272E+00  0.226E-03  0.292E-13   18  17  10    1  13  24   10  17  18    0.000    0.000       0
+  0    262 00:56:57.96  12.9000A  -2.1579   2.1727   3.4901  0.100  1.43  -1.394    900.  0.272E+00  0.270E+00  0.224E-03  0.290E-13   18  17  10    2  13  24   11  17  18    0.000    0.000       0
+  0    263 00:57:11.36  13.4000A   2.1470   2.2441   3.3625  0.100  1.43  -1.387    900.  0.270E+00  0.268E+00  0.232E-03  0.300E-13    1  10  22    2  13  24   11  17  18    0.000    0.000       0
+  0    264 00:57:24.66  13.3000A  -2.1098   2.1846   3.3952  0.100  1.43  -1.395    900.  0.268E+00  0.267E+00  0.230E-03  0.297E-13   18  17   9    2  13  24   12  17  18    0.000    0.000       0
+  0    265 00:57:38.16  13.5000A  -2.1554   2.1200   3.3375  0.100  1.43  -1.397    900.  0.267E+00  0.265E+00  0.233E-03  0.301E-13   17   8  32    3  13  24   10  16  19    0.000    0.000       0
+  0    266 00:57:51.36  13.2000A   2.1061   2.0704   3.4124  0.100  1.43  -1.427    900.  0.265E+00  0.264E+00  0.228E-03  0.295E-13    1  11  23    3  13  24   13  16  19    0.000    0.000       0
+  0    267 00:58:04.46  13.1000A   2.1441   1.9618   3.4288  0.100  1.43  -1.382    900.  0.264E+00  0.262E+00  0.227E-03  0.293E-13    1  11  23    1  13  25   13  16  19    0.000    0.000       0
+  0    268 00:58:17.26  12.8000A   2.0847   2.0498   3.5038  0.100  1.43  -1.390    900.  0.263E+00  0.261E+00  0.221E-03  0.286E-13    1  11  23    1  13  25    9  15  20    0.000    0.000       0
+  0    269 00:58:30.26  13.0000A   1.9698   2.0461   3.4527  0.100  1.40  -1.418    850.  0.262E+00  0.260E+00  0.225E-03  0.290E-13    1  13  24    4  14  24   14  16  19    0.000    0.000       0
+  0    270 00:58:42.86  12.6000A   2.0386   2.0792   3.5683  0.100  1.40  -1.441    850.  0.261E+00  0.259E+00  0.218E-03  0.281E-13    1  13  25    2  14  25   10  12  35    0.000    0.000       0
+  0    271 00:58:55.46  12.6000A   2.1029   2.0766   3.5814  0.100  1.40  -1.465    850.  0.260E+00  0.258E+00  0.217E-03  0.281E-13    1  13  25    2  14  25   10  12  35    0.000    0.000       0
+  0    272 00:59:08.26  12.8000A   2.1352   2.0218   3.5264  0.100  1.40  -1.443    850.  0.260E+00  0.258E+00  0.220E-03  0.284E-13    1  13  25    1  31   3   13  18  20    0.000    0.000       0
+  0    273 00:59:21.16  12.9000A   2.1272   2.1171   3.4999  0.100  1.40  -1.404    850.  0.259E+00  0.257E+00  0.221E-03  0.285E-13    1  13  25    3  14  25   11  12  35    0.000    0.000       0
+  0    274 00:59:33.66  12.5000A   2.0749   2.1057   3.5898  0.100  1.40  -1.408    850.  0.258E+00  0.256E+00  0.213E-03  0.275E-13    1  13  25    3  14  25   14  18  20    0.000    0.000       0
+  0    275 00:59:46.26  12.6000A   2.0557   2.0858   3.5638  0.100  1.40  -1.431    850.  0.258E+00  0.256E+00  0.214E-03  0.277E-13    1  12  25    4  14  25    9  32   1    0.000    0.000       0
+  0    276 00:59:58.56  12.3000A   2.1372   2.1282   3.6567  0.100  1.40  -1.454    850.  0.257E+00  0.255E+00  0.209E-03  0.270E-13    1  13  26    1  11  31   11  32   0    0.000    0.000       0
+  0    277 01:00:10.86  12.3000A   2.1736  -2.2677   3.6539  0.100  1.43  -1.530    900.  0.257E+00  0.254E+00  0.209E-03  0.269E-13    1  13  26   20  21  12   11  32   0    0.000    0.000       0
Index: palm/tags/release-3.7/SCRIPTS/.dvrserver.config
===================================================================
--- palm/tags/release-3.7/SCRIPTS/.dvrserver.config	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/.dvrserver.config	(revision 393)
@@ -0,0 +1,8 @@
+SOCKBUF=262144
+MTU=262144
+BASEDIR=<replace by dvr data directory>
+RTSPPORT=1876
+DATAPORT=1878
+UID=<replace by user id>
+GID=<replace by group id>
+# comment
Index: palm/tags/release-3.7/SCRIPTS/.mrun.config.default
===================================================================
--- palm/tags/release-3.7/SCRIPTS/.mrun.config.default	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/.mrun.config.default	(revision 393)
@@ -0,0 +1,123 @@
+#column 1          column 2                                   column 3
+#name of variable  value of variable (~ must not be used)     scope
+#----------------------------------------------------------------------------
+%mainprog          palm.f90
+%base_directory    $HOME/palm/current_version
+%base_data         ~/palm/current_version/JOBS
+%source_path       $base_directory/trunk/SOURCE
+%add_source_path   $base_directory/USER_CODE/$fname
+%depository_path   $base_directory/MAKE_DEPOSITORY
+%use_makefile      true
+#
+# Enter your own host below by adding another line containing in the second
+# column your hostname (as provided by the unix command "hostname") and in the
+# third column the host identifier. Depending on your operating system, the
+# first characters of the host identifier should be "lc" (Linux cluster), "ibm"
+# (IBM-AIX), or "nec" (NEC-SX), respectively.
+#
+# The next line is just an example. Add your own line below or replace this line.
+%host_identifier   myhostname  lcmy
+#
+#
+# The next block contains all informations for compiling the PALM code
+# and for generating and running the PALM executable using MPI. Replace all
+# required paths (given in <>) by the respective paths valid on your host.
+# Also replace <hi> by your host identifier (see above) in each line!
+# Compilernames, cpp-options and compiler-options are assuming
+# an Intel-Compiler and mpich2 on this host! Please change
+# appropriately, if you are using a different compiler / MPI-Version.
+#
+%tmp_user_catalog  /tmp                                          <hi> parallel
+%compiler_name     mpif90                                        <hi> parallel
+%compiler_name_ser ifort                                         <hi> parallel
+%cpp_options       -D__mpi2:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   <hi> parallel
+%netcdf_inc        -I:<replace by netcdf include path>           <hi> parallel
+%netcdf_lib        -L<replace by netcdf library path>:-lnetcdf   <hi> parallel
+%fopts             -axW:-cpp:-r8:-nbs:-convert:little_endian:-I:<replace by mpi include path>   <hi> parallel
+%lopts             -axW:-cpp:-r8:-nbs:-Vaxlib:-L:<replace by mpi library path>                  <hi> parallel
+# if you want to use your own hostfile, uncomment next line
+#%hostfile          $base_directory/.hostfile                    <hi> parallel
+# if you want this host to be used as a remote host, uncomment next line
+#%remote_username   <replace by your username on this host>      <hi> parallel
+#
+%write_binary                true                             restart
+#
+#----------------------------------------------------------------------------
+# INPUT-commands, executed before running PALM - lines must start with "IC:" 
+#----------------------------------------------------------------------------
+#IC:
+#
+#----------------------------------------------------------------------------
+# ERROR-commands - executed when program terminates abnormally
+#----------------------------------------------------------------------------
+EC:[[ \$locat = execution ]]  &&  cat  RUN_CONTROL
+EC:pwd; ls -al
+#
+#----------------------------------------------------------------------------
+# OUTPUT-commands - executed when program terminates normally
+#----------------------------------------------------------------------------
+#
+# Combine 1D- and 3D-profile output (these files are not usable for plotting)
+OC:[[ -f LIST_PROFIL_1D     ]]  &&  cat  LIST_PROFIL_1D  >>  LIST_PROFILE
+OC:[[ -f LIST_PROFIL        ]]  &&  cat  LIST_PROFIL     >>  LIST_PROFILE
+#
+# Combine all particle information files
+OC:[[ -f PARTICLE_INFOS/_0000 ]]  &&  cat  PARTICLE_INFOS/* >> PARTICLE_INFO
+#
+# Collect plot data (2d/3d) into one file
+OC:combine_plot_fields.x
+#
+#----------------------------------------------------------------------------
+# List of input-files
+#----------------------------------------------------------------------------
+PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
+PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
+TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
+BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
+DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
+DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
+DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
+DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
+DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
+DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
+DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
+DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
+DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
+DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
+#
+#----------------------------------------------------------------------------
+# List of output-files
+#----------------------------------------------------------------------------
+BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
+#
+RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
+RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
+HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
+HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
+CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
+CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
+#
+DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
+DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp     nc
+DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts     nc
+DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts    nc
+DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy     nc
+DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av  nc
+DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz     nc
+DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av  nc
+DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz     nc
+DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av  nc
+DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d     nc
+DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av  nc
+DATA_PRT_NETCDF      out:loc:pe   prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr 
+#
+DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
+DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
+PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
+
Index: palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk
===================================================================
--- palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk	(revision 393)
@@ -0,0 +1,206 @@
+#column 1          column 2                                   column 3
+#name of variable  value of variable (~ must not be used)     scope
+#----------------------------------------------------------------------------
+%mainprog          palm.f90
+%base_directory    $HOME/palm/current_version
+%base_data         ~/palm/current_version/JOBS
+%source_path       $base_directory/trunk/SOURCE
+%add_source_path   $base_directory/USER_CODE/$fname
+%depository_path   $base_directory/MAKE_DEPOSITORY
+%use_makefile      true
+#
+# Enter your own host below by adding another line containing in the second
+# column your hostname (as provided by the unix command "hostname") and in the
+# third column the host identifier. Depending on your operating system, the
+# first characters of the host identifier should be "lc" (Linux cluster), "ibm"
+# (IBM-AIX), or "nec" (NEC-SX), respectively.
+%host_identifier   service100  lcsgih
+%host_identifier   r1*         lcsgih
+%host_identifier   h01*        lcsgih
+%host_identifier   r2*         lcsgib
+%host_identifier   b01*        lcsgib
+%host_identifier   gallego     lcmuk
+%host_identifier   nid00*      lcxt4
+#
+%remote_username   maronga     lcmuk parallel
+%tmp_user_catalog  /tmp                                          lcmuk parallel
+%compiler_name     mpif90                                        lcmuk parallel
+%compiler_name_ser ifort                                         lcmuk parallel
+%cpp_options       -D__mpi2:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcmuk parallel
+%netcdf_inc        -I:/muksoft_64/packages/netcdf/3.6.2/include            lcmuk parallel
+%netcdf_lib        -L/muksoft_64/packages/netcdf/3.6.2/lib:-lnetcdf        lcmuk parallel
+%fopts             -axW:-cpp:-r8:-nbs:-convert:little_endian:-I:/muksoft_64/packages/mpich2/2.1.0.5/include     lcmuk parallel
+%lopts             -axW:-cpp:-r8:-nbs:-Vaxlib:-L:/muksoft_64/packages/mpich2/2.1.0.5/lib                    lcmuk parallel
+#%hostfile          $base_directory/.hostfile                    lcmuk parallel
+#
+#%remote_username  maronga      lcmuk
+%tmp_user_catalog  /tmp                                          lcmuk
+%compiler_name     ifort                                         lcmuk
+%cpp_options       -D__netcdf:-D__netcdf_64bit                   lcmuk
+%netcdf_inc        -I:/muksoft_64/packages/netcdf/3.6.2/include       lcmuk
+%netcdf_lib        -L/muksoft_64/packages/netcdf/3.6.2/lib:-lnetcdf   lcmuk
+%fopts             -axW:-cpp:-r8:-nbs:-convert:little:endian     lcmuk
+%lopts             -axW:-cpp:-r8:-nbs:-Vaxlib                    lcmuk
+#
+%remote_username  maronga                                        lcmuk trace
+%tmp_user_catalog  /tmp                                          lcmuk trace
+%compiler_name     ifort                                         lcmuk trace
+%cpp_options       -D__netcdf:-D__netcdf_64bit                   lcmuk trace
+%netcdf_inc        -I:/muksoft_64/packages/netcdf/3.6.2/include       lcmuk trace
+%netcdf_lib        -L/muksoft_64/packages/netcdf/3.6.2/lib:-lnetcdf   lcmuk trace
+%fopts             -axW:-cpp:-g:-CB:-inline_debug_info:-r8:-nbs:-convert:little:endian     lcmuk trace
+%lopts             -axW:-cpp:-g:-CB:-inline_debug_info:-r8:-nbs:-Vaxlib                    lcmuk trace
+#
+%sgi_feature       ice                                        lcsgih parallel
+%remote_username   nikmaron                                   lcsgih parallel
+%compiler_name     mpif90                                     lcsgih parallel
+%compiler_name_ser ifort                                      lcsgih parallel
+%mpilib            mvapich2/1.2.0-intel                       lcsgih parallel
+%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcsgih parallel
+%netcdf_inc        -I:/sw/dataformats/netcdf/3.6.2/include    lcsgih parallel
+%netcdf_lib        -L/sw/dataformats/netcdf/3.6.2/lib:-lnetcdf:-lnetcdff      lcsgih parallel
+%fopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgih parallel
+%lopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib   lcsgih parallel
+#%tmp_data_catalog  /gfs1/work/nikmaron/palm_restart_data                             lcsgih parallel
+#%tmp_user_catalog  /gfs1/tmp/nikmaron                                                lcsgih parallel
+#
+%sgi_feature       ice                                        lcsgih parallel debug
+%remote_username   nikmaron                                   lcsgih parallel debug
+%totalview         true                                       lcsgih parallel debug
+%compiler_name     mpif90                                     lcsgih parallel debug
+%compiler_name_ser ifort                                      lcsgih parallel debug
+%mpilib            mvapich2/1.2.0-intel                       lcsgih parallel debug
+%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcsgih parallel debug
+%netcdf_inc        -I:/sw/dataformats/netcdf/3.6.2/include    lcsgih parallel debug
+%netcdf_lib        -L/sw/dataformats/netcdf/3.6.2/lib:-lnetcdf:-lnetcdff      lcsgih parallel debug
+%fopts             -C:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgih parallel debug
+%lopts             -C:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib           lcsgih parallel debug
+#%tmp_data_catalog  /gfs1/work/nikmaron/palm_restart_data      lcsgih parallel debug
+#%tmp_user_catalog  /gfs1/tmp/nikmaron                         lcsgih parallel debug
+#
+%sgi_feature       ice                                        lcsgib parallel
+%remote_username   nikmaron                                   lcsgib parallel
+%compiler_name     mpif90                                     lcsgib parallel
+%compiler_name_ser ifort                                      lcsgib parallel
+%mpilib            mvapich2/1.2.0-intel                       lcsgib parallel
+%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcsgib parallel
+%netcdf_inc        -I:/sw/dataformats/netcdf/3.6.2/include    lcsgib parallel
+%netcdf_lib        -L/sw/dataformats/netcdf/3.6.2/lib:-lnetcdf:-lnetcdff      lcsgib parallel
+
+%fopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgib parallel
+%lopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib   lcsgib parallel
+#%tmp_data_catalog  /gfs1/work/nikmaron/palm_restart_data                             lcsgib parallel
+#%tmp_user_catalog  /gfs1/tmp/nikmaron                                                lcsgib parallel
+#
+%sgi_feature       ice                                        lcsgib parallel debug
+%remote_username   nikmaron                                   lcsgib parallel debug
+%compiler_name     mpif90                                     lcsgib parallel debug
+%compiler_name_ser ifort                                      lcsgib parallel debug
+%mpilib            mvapich2/1.2.0-intel                       lcsgib parallel debug
+%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcsgib parallel debug
+%netcdf_inc        -I:/sw/dataformats/netcdf/3.6.2/include    lcsgib parallel debug
+%netcdf_lib        -L/sw/dataformats/netcdf/3.6.2/lib:-lnetcdf:-lnetcdff      lcsgib parallel debug
+%fopts             -C:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgib parallel debug
+%lopts             -C:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib           lcsgib parallel debug
+#%tmp_data_catalog  /gfs1/work/nikmaron/palm_restart_data      lcsgib parallel debug
+#%tmp_user_catalog  /gfs1/tmp/nikmaron                         lcsgib parallel debug
+
+#
+%remote_username     bjornm         lcxt4 parallel
+%tmp_user_catalog    /work/bjornm   lcxt4 parallel
+%tmp_data_catalog    /work/bjornm/PALM_RESTART_DATA  lcxt4 parallel
+#%job_catalog         /work/bjornm/job_queue lcxt4 parallel
+%compiler_name       ftn           lcxt4 parallel
+%compiler_name_ser   ftn           lcxt4 parallel
+%cpp_options        -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__intel_openmp_bug   lcxt4 parallel
+%netcdf_inc         -I/work/apps/netcdf-3.6.2-cnl-pgi/include      lcxt4 parallel
+%netcdf_lib         -L/work/apps/netcdf-3.6.2-cnl-pgi/lib:-lnetcdf lcxt4 parallel
+%fopts              -fastsse:-Mpreprocess:-r8:-Mnobackslash        lcxt4 parallel
+%lopts              -fastsse:-Mpreprocess:-r8:-Mnobackslash        lcxt4 parallel
+#%fopts              -Mbounds:-fastsse:-Mpreprocess:-r8:-Mnobackslash        lcxt4 parallel
+#%lopts              -Mbounds:-fastsse:-Mpreprocess:-r8:-Mnobackslash        lcxt4 parallel
+
+%email_notification  maronga@muk.uni-hannover.de                 lcxt4 parallel
+#
+%write_binary                true                             restart
+#
+#----------------------------------------------------------------------------
+# INPUT-commands, executed before running PALM - lines must start with "IC:" 
+#----------------------------------------------------------------------------
+#IC:
+#
+#----------------------------------------------------------------------------
+# ERROR-commands - executed when program terminates abnormally
+#----------------------------------------------------------------------------
+EC:[[ \$locat = execution ]]  &&  cat  RUN_CONTROL
+EC:pwd; ls -al
+#
+#----------------------------------------------------------------------------
+# OUTPUT-commands - executed when program terminates normally
+#----------------------------------------------------------------------------
+#
+# Combine 1D- and 3D-profile output (these files are not usable for plotting)
+OC:[[ -f LIST_PROFIL_1D     ]]  &&  cat  LIST_PROFIL_1D  >>  LIST_PROFILE
+OC:[[ -f LIST_PROFIL        ]]  &&  cat  LIST_PROFIL     >>  LIST_PROFILE
+#
+# Combine all particle information files
+OC:[[ -f PARTICLE_INFOS/_0000 ]]  &&  cat  PARTICLE_INFOS/* >> PARTICLE_INFO
+#
+# Collect plot data (2d/3d) into one file
+OC:combine_plot_fields.x
+#
+#----------------------------------------------------------------------------
+# List of input-files
+#----------------------------------------------------------------------------
+PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
+PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
+TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
+BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
+DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
+DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
+DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
+DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
+DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
+DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
+DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
+DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
+DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
+DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
+#
+#----------------------------------------------------------------------------
+# List of output-files
+#----------------------------------------------------------------------------
+BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
+#
+RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
+RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
+HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
+HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
+CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
+CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
+#
+DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
+#DATA_1D_PR_NETCDF    out:loc      pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
+DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp     nc
+DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts     nc
+DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts    nc
+DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy     nc
+DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av  nc
+DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz     nc
+DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av  nc
+DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz     nc
+DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av  nc
+DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d     nc
+DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av  nc
+DATA_PRT_NETCDF      out:loc:pe   prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr 
+#
+DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
+DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
+PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
+
Index: palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk_hlrn
===================================================================
--- palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk_hlrn	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/.mrun.config.imuk_hlrn	(revision 393)
@@ -0,0 +1,141 @@
+#column 1          column 2                                   column 3
+#name of variable  value of variable (~ must not be used)     scope
+#----------------------------------------------------------------------------
+%mainprog          palm.f90
+%base_directory    $HOME/palm/current_version
+%base_data         ~/palm/current_version/JOBS
+%source_path       $base_directory/trunk/SOURCE
+%add_source_path   $base_directory/USER_CODE/$fname
+%depository_path   $base_directory/MAKE_DEPOSITORY
+%use_makefile      true
+#
+# Enter your own host below by adding another line containing in the second
+# column your hostname (as provided by the unix command "hostname") and in the
+# third column the host identifier. Depending on your operating system, the
+# first characters of the host identifier should be "lc" (Linux cluster), "ibm"
+# (IBM-AIX), or "nec" (NEC-SX), respectively.
+%host_identifier   service100  lcsgih
+%host_identifier   r1*         lcsgih
+%host_identifier   h01*        lcsgih
+%host_identifier   r2*         lcsgib
+%host_identifier   b01*        lcsgib
+%host_identifier   gallego     lcmuk
+#
+# The following blocks contain all information for compiling the PALM code
+# and for generating and running the PALM executable using MPI. Replace all
+# required paths (given in <>) by the respective paths valid on your host.
+# Please adjust compilernames, cpp-options, compiler-options etc. 
+# appropriately for your own system(s), and please delete or comment out
+# blocks for unused systems.
+#
+# The following 'lcmuk parallel' block assumes PALM compilation and execution
+# on host gallego. Please note that other hosts within the IMUK linux cluster,
+# e.g. maestro or bora, may have require different settings.
+#
+#%remote_username   <replace by your IMUK username>              lcmuk parallel
+%tmp_user_catalog  /tmp                                          lcmuk parallel
+%compiler_name     mpif90                                        lcmuk parallel
+%compiler_name_ser ifort                                         lcmuk parallel
+%cpp_options       -D__mpi2:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcmuk parallel
+%netcdf_inc        -I:/muksoft_64/packages/netcdf/3.6.2/include            lcmuk parallel
+%netcdf_lib        -L/muksoft_64/packages/netcdf/3.6.2/lib:-lnetcdf        lcmuk parallel
+%fopts             -axW:-cpp:-r8:-nbs:-convert:little_endian:-I:/muksoft_64/packages/mpich2/2.1.0.5/include     lcmuk parallel
+%lopts             -axW:-cpp:-r8:-nbs:-Vaxlib:-L:/muksoft_64/packages/mpich2/2.1.0.5/lib                    lcmuk parallel
+#%hostfile          $base_directory/.hostfile                    lcmuk parallel
+#
+#
+%sgi_feature       ice                                        lcsgih parallel
+#%remote_username  <replace by your HLRN username>            lcsgih parallel
+%compiler_name     mpif90                                     lcsgih parallel
+%compiler_name_ser ifort                                      lcsgih parallel
+%mpilib            mvapich2/1.2.0-intel                       lcsgih parallel
+%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit   lcsgih parallel
+%netcdf_inc        -I:/sw/dataformats/netcdf/3.6.2/include    lcsgih parallel
+%netcdf_lib        -L/sw/dataformats/netcdf/3.6.2/lib:-lnetcdf:-lnetcdff      lcsgih parallel
+%fopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  lcsgih parallel
+%lopts             -g:-w:-xT:-O3:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib   lcsgih parallel
+#%tmp_data_catalog  /gfs1/work/<replace by your HLRN username>/palm_restart_data      lcsgih parallel
+#%tmp_user_catalog  /gfs1/tmp/<replace by your HLRN username>                         lcsgih parallel
+#
+#
+%write_binary                true                             restart
+#
+#----------------------------------------------------------------------------
+# INPUT-commands, executed before running PALM - lines must start with "IC:" 
+#----------------------------------------------------------------------------
+#IC:
+#
+#----------------------------------------------------------------------------
+# ERROR-commands - executed when program terminates abnormally
+#----------------------------------------------------------------------------
+EC:[[ \$locat = execution ]]  &&  cat  RUN_CONTROL
+EC:pwd; ls -al
+#
+#----------------------------------------------------------------------------
+# OUTPUT-commands - executed when program terminates normally
+#----------------------------------------------------------------------------
+#
+# Combine 1D- and 3D-profile output (these files are not usable for plotting)
+OC:[[ -f LIST_PROFIL_1D     ]]  &&  cat  LIST_PROFIL_1D  >>  LIST_PROFILE
+OC:[[ -f LIST_PROFIL        ]]  &&  cat  LIST_PROFIL     >>  LIST_PROFILE
+#
+# Combine all particle information files
+OC:[[ -f PARTICLE_INFOS/_0000 ]]  &&  cat  PARTICLE_INFOS/* >> PARTICLE_INFO
+#
+# Collect plot data (2d/3d) into one file
+OC:combine_plot_fields.x
+#
+#----------------------------------------------------------------------------
+# List of input-files
+#----------------------------------------------------------------------------
+PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
+PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
+TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
+BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
+DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
+DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
+DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
+DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
+DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
+DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
+DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
+DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
+DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
+DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
+#
+#----------------------------------------------------------------------------
+# List of output-files
+#----------------------------------------------------------------------------
+BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
+#
+RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
+RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
+HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
+HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
+CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
+CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
+#
+DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
+DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp     nc
+DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts     nc
+DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts    nc
+DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy     nc
+DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av  nc
+DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz     nc
+DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av  nc
+DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz     nc
+DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av  nc
+DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d     nc
+DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av  nc
+DATA_PRT_NETCDF      out:loc:pe   prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr 
+#
+DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
+DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
+PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
+
Index: palm/tags/release-3.7/SCRIPTS/.mrun.config.riam
===================================================================
--- palm/tags/release-3.7/SCRIPTS/.mrun.config.riam	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/.mrun.config.riam	(revision 393)
@@ -0,0 +1,127 @@
+#column 1          column 2                                   column 3
+#name of variable  value of variable (~ must not be used)     scope
+#----------------------------------------------------------------------------
+%mainprog          palm.f90
+%base_directory    $HOME/palm/current_version
+%base_data         ~/palm/current_version/JOBS
+%source_path       $base_directory/trunk/SOURCE
+%add_source_path   $base_directory/USER_CODE/$fname
+%depository_path   $base_directory/MAKE_DEPOSITORY
+%use_makefile      true
+#
+# Enter your own host below by adding another line containing in the second
+# column your hostname (as provided by the unix command "hostname") and in the
+# third column the host identifier. Depending on your operating system, the
+# first characters of the host identifier should be "lc" (Linux cluster), "ibm"
+# (IBM-AIX), or "nec" (NEC-SX), respectively.
+#
+# The next line is just an example. Add your own line below or replace this line.
+%host_identifier   sx-*                                       necriam
+#
+#
+# The next block contains all informations for compiling the PALM code
+# and for generating and running the PALM executable using MPI. Replace all
+# required paths (given in <>) by the respective paths valid on your host.
+# Also replace <hi> by your host identifier (see above) in each line!
+# Compilernames, cpp-options and compiler-options are assuming
+# an Intel-Compiler and mpich2 on this host! Please change
+# appropriately, if you are using a different compiler / MPI-Version.
+#
+#
+%compiler_name     sxmpif90                                   necriam parallel
+%compiler_name_ser sxf90                                      necriam parallel
+%cpp_options       -Ep:-D__mpi2:-DMPI_REAL=MPI_REAL8:-DMPI_2REAL=MPI_2REAL8:-DSCFFT=DZFFT:-DCSFFT=ZDFFT:-D__netcdf:-D__netcdf_64bit  necriam parallel
+%netcdf_inc        -I:/home/COAR/NC/tatuyama/pub/netcdf-3.6.0-p1/include      necriam parallel
+%netcdf_lib        -L/home/COAR/NC/tatuyama/pub/netcdf-3.6.0-p1/lib:-lnetcdf  necriam parallel
+%dvr_inc           -I:/home/COAR/NC/raasch/dvr/lib           necriam parallel
+%dvr_lib           -L/home/COAR/NC/raasch/dvr/lib:-lDVRP2:-lftp  necriam parallel
+%fopts             -C:hopt:-Wf:\'-init:stack=nan:-init:heap=nan:-A:idbl4:-pvctl:fullmsg\':-ftrace:-P:stack:-pi:auto:-pi:line=1000  necriam parallel
+%lopts             -C:hopt:-Wf:\'-init:stack=nan:-init:heap=nan:-A:idbl4\':-ftrace:-P:stack:-pi:auto:-pi:line=1000:-L/SX/opt/mathkeisan/MK3_0/lib0/:-l:fft  necriam parallel
+%memory            4000                                       necriam parallel
+%cpumax            1000                                       necriam parallel
+%numprocs          4                                          necriam parallel
+%tmp_data_catalog  /work/<replace by your username>/restart_data  necriam parallel
+%tmp_user_catalog  /work/<replace by your username>               necriam parallel
+%remote_username   <replace by your username>                     necriam parallel
+#
+%write_binary                true                             restart
+#
+#----------------------------------------------------------------------------
+# INPUT-commands, executed before running PALM - lines must start with "IC:" 
+#----------------------------------------------------------------------------
+#IC:
+#
+#----------------------------------------------------------------------------
+# ERROR-commands - executed when program terminates abnormally
+#----------------------------------------------------------------------------
+EC:[[ \$locat = execution ]]  &&  cat  RUN_CONTROL
+EC:pwd; ls -al
+#
+#----------------------------------------------------------------------------
+# OUTPUT-commands - executed when program terminates normally
+#----------------------------------------------------------------------------
+#
+# Combine 1D- and 3D-profile output (these files are not usable for plotting)
+OC:[[ -f LIST_PROFIL_1D     ]]  &&  cat  LIST_PROFIL_1D  >>  LIST_PROFILE
+OC:[[ -f LIST_PROFIL        ]]  &&  cat  LIST_PROFIL     >>  LIST_PROFILE
+#
+# Combine all particle information files
+OC:[[ -f PARTICLE_INFOS/_0000 ]]  &&  cat  PARTICLE_INFOS/* >> PARTICLE_INFO
+#
+# Collect plot data (2d/3d) into one file
+OC:combine_plot_fields.x
+#
+#----------------------------------------------------------------------------
+# List of input-files
+#----------------------------------------------------------------------------
+PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
+PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
+TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
+BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
+DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
+DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
+DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
+DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
+DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
+DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
+DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
+DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
+DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
+DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
+#
+#----------------------------------------------------------------------------
+# List of output-files
+#----------------------------------------------------------------------------
+BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
+#
+RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
+RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
+HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
+HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
+CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
+CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
+#
+DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
+DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp     nc
+DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts     nc
+DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts    nc
+DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy     nc
+DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av  nc
+DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz     nc
+DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av  nc
+DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz     nc
+DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av  nc
+DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d     nc
+DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av  nc
+DATA_PRT_NETCDF      out:loc:pe   prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
+DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr
+#
+DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
+DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
+PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
+
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/.ncl_preferences
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/.ncl_preferences	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/.ncl_preferences	(revision 393)
@@ -0,0 +1,129 @@
+___Parameter list_______________________________________________________________________________________
+___Please write your values/strings(wihtout " ") below the corresponding parameter line_________________
+________________________________________________________________________________________________________
+___parameter name__________example____________________________________default value______________used by
+________________________________________________________________________________________________________
+
+___'file_1'________________[path/name.nc; i.e. ~/.../example.nc]______default = File in_________[ALL]
+File in
+___'format_out'____________[ncgm; ps; eps; epsi; pdf; x11]____________default = x11_____________[ALL]
+x11
+___'file_out'______________[path/name; i.e. ~/.../test]_______________default = test____________[ALL]
+test
+___start_time_step_________[0;1;...]__________________________________default = t(0)____________[ALL]
+t(0)
+___end_time_step___________[1;2;...]__________________________________default = t(end)__________[ALL]
+t(end)
+___no_columns______________[1;2;...]__________________________________default = 1_______________[ALL]
+1
+___no_lines________________[1;2;...]__________________________________default = 2_______________[ALL]
+2
+___'var'___________________[,E,dt,umax,;...]__________________________default = variables_______[ALL]
+variables
+___combine_________________[0] or [1]_________________________________default = 0_______________[PR]
+0
+___number_comb_____________[2] or [3]_________________________________default = 0_______________[PR]
+0
+___'c_var'_________________[,us2,vs2,ws2,;...]________________________default = c_variables_____[PR]
+c_variables
+___dash____________________[0] or [1]_________________________________default = 0_______________[PR+SP]
+0
+___black___________________[0] or [1]_________________________________default = 0_______________[PR+SP]
+0
+___min_z___________________[0;10;...]_________________________________default = 0_______________[PR]
+0
+___max_z___________________[100;1000;...]_____________________________default = max(z_u)________[PR] 
+max(z_u)
+___over____________________[0] or [1]_________________________________default = 0_______________[PR+TS]
+0
+___vector__________________[0] or [1]_________________________________default = 0_______________[CS]
+0
+___'vec1'__________________[,u,;,v,;...]______________________________default = vec1____________[CS]
+vec1
+___'vec2'__________________[,u,;,v,;...]______________________________default = vec2____________[CS]
+vec2
+__'plotvec'________________[,u,;,v,;...]______________________________default = plotvec_________[CS]
+plotvec
+___ref_mag_________________[0.1;0.02;...]_____________________________default = 0.05____________[CS]
+0.05
+___'mode'__________________[Fill], [Line] or [Both]___________________default = Fill____________[CS]
+Fill
+___'sort'__________________[time] or [layer]__________________________default = layer___________[CS+SP]
+layer
+___'fill_mode'_____________[AreaFill], [RasterFill] or [CellFill]_____default = AreaFill________[CS]
+AreaFill
+___shape___________________[0] or [1]_________________________________default = 1_______________[CS]
+1
+___xyc_____________________[0] or [1]_________________________________default = 0_______________[CS]
+0
+___xzc_____________________[0] or [1]_________________________________default = 0_______________[CS]
+0
+___yzc_____________________[0] or [1]_________________________________default = 0_______________[CS]
+0
+___xs______________________[0,1,...]__________________________________default = x0______________[CS+PR]
+x0
+___xe______________________[1;2;...]__________________________________default = xdim____________[CS+PR]
+xdim
+___ys______________________[0;1;...]__________________________________default = y0______________[CS]
+y0
+___ye______________________[1;2;...]__________________________________default = ydim____________[CS]
+ydim
+___zs______________________[0;1;...]__________________________________default = z0______________[CS]
+z0
+___ze______________________[1;2;...]__________________________________default = zdim____________[CS]
+zdim
+___prof3d__________________[0] or [1]_________________________________default = 0_______________[PR]
+0
+___logy____________________[0] or [1]_________________________________default = 0_______________[PR+SP]
+0
+___norm____________________[1;5.4;233;...]____________________________default = 1_______________[PR+SP]
+1
+___no_files________________[1;2,3;...]________________________________default = 1_______________[PR]
+1
+___'name_legend_1'_________[i.e. File 2]______________________________default = File 1__________[PR]
+File 1
+___'file_2'________________[path/name.nc; i.e. ~/.../example.2.nc]____default = File in_________[PR]
+File in
+___'name_legend_2'_________[i.e. File 2]______________________________default = File 2__________[PR]
+File 2
+___'file_3'________________[path/name.nc; i.e. ~/.../example.3.nc]____default = File in_________[PR]
+File in
+___'name_legend_3'_________[i.e. File 3]______________________________default = File 3__________[PR]
+File 3
+___'file_4'________________[path/name.nc; i.e. ~/.../example.4.nc]____default = File in_________[PR]
+File in
+___'name_legend_4'_________[i.e. File 4]______________________________default = File 4__________[PR]
+File 4
+___'file_5'________________[path/name.nc; i.e. ~/.../example.5.nc]____default = File in_________[PR]
+File in
+___'name_legend_5'_________[i.e. File 5]______________________________default = File 5__________[PR]
+File 5
+___'file_6'________________[path/name.nc; i.e. ~/.../example.6.nc]____default = File in_________[PR]
+File in
+___'name_legend_6'_________[i.e. File 6]______________________________default = File 6__________[PR]
+File 6
+___'file_7'________________[path/name.nc; i.e. ~/.../example.7.nc]____default = File in_________[PR]
+File in
+___'name_legend_7'_________[i.e. File 7]______________________________default = File 7__________[PR]
+File 7
+___'file_8'________________[path/name.nc; i.e. ~/.../example.8.nc]____default = File in_________[PR]
+File in
+___'name_legend_8'_________[i.e. File 8]______________________________default = File 8__________[PR]
+File 8
+___'file_9'________________[path/name.nc; i.e. ~/.../example.9.nc]____default = File in_________[PR]
+File in
+___'name_legend_9'_________[i.e. File 9]______________________________default = File 9__________[PR]
+File 9
+___'file_10'_______________[path/name.nc; i.e. ~/.../example.10.nc]___default = File in_________[PR]
+File in
+___'name_legend_10'________[i.e. File 10]_____________________________default = File 10_________[PR]
+File 10
+___'file_11'_______________[path/name.nc; i.e. ~/.../example.11.nc]___default = File in_________[PR]
+File in
+___'name_legend_11'________[i.e. File 11]_____________________________default = File 11_________[PR]
+File 11
+___'file_12'_______________[path/name.nc; i.e. ~/.../example.12.nc]___default = File in_________[PR]
+File in
+___'name_legend_12'________[i.e. File 12]_____________________________default = File 12_________[PR]
+File 12
+___end of file ".ncl_preferences"_______________________________________________________________________
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.ncl	(revision 393)
@@ -0,0 +1,154 @@
+load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
+
+; cross-sections
+; last change: $Id: crosssections.ncl 127 2007-10-23 11:05:25Z letzel $
+
+begin
+;
+; set default value(s) for shell script variables assigned on command line
+  if ( .not. isvar("cm") ) then     ; colormap
+    cm = "ncview_default"
+  end if
+  if ( .not. isvar("di") ) then     ; input directory (with final /)
+    di = ""
+  end if
+  if ( .not. isvar("d") ) then      ; output directory (with final /)
+    d = di
+  end if
+  if ( .not. isvar("fi") ) then     ; base name of input file (without suffix)
+    fi = "example_xy"
+  end if
+  if ( .not. isvar("fill_mode") ) then ; "AreaFill", "RasterFill" or "CellFill"
+    fill_mode = "AreaFill"
+  end if
+  if ( .not. isvar("fo") ) then     ; base name of output files (without suffix)
+    fo = ""
+  end if
+  if ( .not. isvar("mode") ) then   ; output mode ("Fill" or "Line")
+    mode = "Fill"
+  end if
+  if ( .not. isvar("t") ) then      ; output time step
+    t = 0
+  end if
+  if ( .not. isvar("var") ) then    ; variable to be output
+    var = "u_xy"
+  end if
+  if ( .not. isvar("xs") ) then     ; output x-coordinate range start (in m)
+    xs = -1e+38
+  end if
+  if ( .not. isvar("xe") ) then     ; output x-coordinate range end (in m)
+    xe = 1e+38
+  end if
+  if ( .not. isvar("ys") ) then     ; output y-coordinate range start (in m)
+    ys = -1e+38
+  end if
+  if ( .not. isvar("ye") ) then     ; output y-coordinate range end (in m)
+    ye = 1e+38
+  end if
+  if ( .not. isvar("zs") ) then     ; output z-coordinate range start (in m)
+    zs = -1e+38
+  end if
+  if ( .not. isvar("ze") ) then     ; output z-coordinate range end (in m)
+    ze = 1e+38
+  end if
+;
+; open input file
+  f  = addfile( di + fi  + ".nc", "r" )
+;
+; open workstation(s) and set colormap
+  wks_x11 = gsn_open_wks("x11","cross-section") ; X11 workstation
+  gsn_define_colormap(wks_x11,cm)
+  if ( isvar("fo") ) then
+    wks_pdf = gsn_open_wks("pdf",d+fo)  ; optional workstations
+    gsn_define_colormap(wks_pdf,cm)
+    wks_eps = gsn_open_wks("eps",d+fo)  ; for output on file
+    gsn_define_colormap(wks_eps,cm)
+    wks_ps  = gsn_open_wks("ps",d+fo)
+    gsn_define_colormap(wks_ps,cm)
+  end if
+;
+; read input data using 'coordinate subscripting'
+; NCL uses the closest corresponding values (in case of two equally distant 
+; values NCL chooses the smaller one)
+  raw_data = f->$var$(t:t,{zs:ze},{ys:ye},{xs:xe})
+  raw_data!0 = "t"
+  raw_data!1 = "z"
+  raw_data!2 = "y"
+  raw_data!3 = "x"
+  time = raw_data&t
+;
+; reduce variable dimensions from 4D to 2D according to output ranges
+  if ( zs .eq. ze ) then
+    data = raw_data(0,0,:,:)
+    x_axis = "x"
+    y_axis = "y"
+    plane  = "z"
+    if ( raw_data&z .eq. -1 ) then
+      level = "-average"
+    else
+      level = "=" + raw_data&z + "m"
+    end if
+  else
+    if ( ys .eq. ye ) then
+      data = raw_data(0,:,0,:)
+      x_axis = "x"
+      y_axis = "z"
+      plane  = "y"
+      if ( raw_data&y .eq. -1 ) then
+        level = "-average"
+      else
+        level = "=" + raw_data&y + "m"
+      end if
+    else
+      if ( xs .eq. xe ) then
+        data = raw_data(0,:,:,0)
+        x_axis = "y"
+        y_axis = "z"
+        plane  = "x"
+        if ( raw_data&x .eq. -1 ) then
+          level = "-average"
+        else
+          level = "=" + raw_data&x + "m"
+        end if
+      end if
+    end if
+  end if
+  delete( raw_data )
+;
+; set up resources
+  cs_res                         = True
+  cs_res@gsnMaximize             = True 
+  cs_res@gsnPaperOrientation     = "portrait"
+  cs_res@gsnPaperWidth           = 8.27
+  cs_res@gsnPaperHeight          = 11.69
+  cs_res@gsnPaperMargin          = 0.79
+  cs_res@tiMainFuncCode          = "~"
+  cs_res@tiMainFontHeightF       = 0.015
+  cs_res@tiMainString            = f@title
+  cs_res@tiXAxisString           = x_axis + " [m]"
+  cs_res@tiYAxisString           = y_axis + " [m]"
+;  cs_res@gsnLeftString           = ""   ; gsn_csm_* scripts use default data
+  cs_res@gsnCenterString         = "t=" + time + "s  " + plane + level
+;  cs_res@gsnRightString          = ""   ; gsn_csm_* scripts use default data
+  cs_res@tmXBMode                ="Automatic"
+  cs_res@tmYLMode                ="Automatic"
+  if ( mode .eq. "Fill" ) then
+    cs_res@cnFillOn                = True
+    cs_res@gsnSpreadColors         = True
+    cs_res@cnFillMode              = fill_mode
+    cs_res@lbOrientation           = "Vertical"  ; vertical label bar
+    cs_res@cnLinesOn               = False
+    cs_res@cnLineLabelsOn          = False
+  end if
+;
+; data output
+  plot_x11 = gsn_csm_contour(wks_x11,data,cs_res)
+  if ( isvar("fo") ) then
+    plot_pdf = gsn_csm_contour(wks_pdf,data,cs_res)
+    plot_eps = gsn_csm_contour(wks_eps,data,cs_res)
+    plot_ps  = gsn_csm_contour(wks_ps, data,cs_res)
+  end if
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.usage.txt
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.usage.txt	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections.usage.txt	(revision 393)
@@ -0,0 +1,58 @@
+Usage of PALM NCL script crosssections.ncl
+==========================================
+Last change: $Id: crosssections.usage.txt 127 2007-10-23 11:05:25Z letzel $
+Marcus Letzel, 17 July 2007
+
+Command-line syntax
+===================
+ncl crosssections.ncl [parameters]
+
+The parameter syntax depends on their data type:
+A) numeric data    : parameter=value      (for example t=0)
+B) character string: 'parameter="string"' (for example 'var="u_xy"')
+
+Alphabetical parameter list
+===========================
+Name	Default value		Meaning
+-----------------------------------------------------------------------------
+cm	"ncview_default"	colormap
+di	""			input directory (with final /)
+d	=di			output directory (with final /)
+fi	"example_xy"		base name of input file (without suffix)
+fo	""			base name of output files (without suffix)
+fill_mode "AreaFill"		fill mode for mode="Fill":
+				"AreaFill", "RasterFill" or "CellFill"
+mode	"Fill"			output mode ("Fill" or "Line")
+t	0			output time step
+var	"u_xy"			variable to be output
+xs	-1e+38			output x-coordinate range start (in m)
+xe	+1e+38			output x-coordinate range end   (in m)
+ys	-1e+38			output y-coordinate range start (in m)
+ye	+1e+38			output y-coordinate range end   (in m)
+zs	-1e+38			output z-coordinate range start (in m)
+ze	+1e+38			output z-coordinate range end   (in m)
+
+Usage
+=====
+This script draws NCL contour plots from two-dimensional cross-sections of 
+NetCDF data produced by PALM. Instantaneous or time-averaged xy-, xz-, yz- or 
+3D-data can be used with this script.
+
+The sectional plane has neither a default orientation nor a default position.
+Both must be specified together using the coordinate range parameters:
+- For xy cross-sections specify zs and ze (with zs=za).
+- For xz cross-sections specify ys and ye (with ys=ya).
+- For yz cross-sections specify xs and xe (with xs=xa).
+
+The remaining coordinate range parameters can optionally be used to restrict 
+the output coordinate range.
+
+By default, only screen output is produced. Additional file output is optional
+and requires to specify the parameter fo. This will create three files: fo.pdf,
+fo.eps and fo.ps.
+
+Input and output files can optionally be preceeded by an input and output
+directory di and d, respectively. If not specified, this scripts expects the
+input file to reside in the current directory.
+
+The contours can be drawn either in "Fill" (default) or "Line" mode.
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.ncl	(revision 393)
@@ -0,0 +1,473 @@
+load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
+
+; cross-sections
+; last change: $Id: crosssections_new.ncl 127 2007-10-23 11:05:25Z letzel $
+
+begin
+;
+; set default value(s) for shell script variables assigned on command line
+  if ( .not. isvar("cm") ) then     ; colormap
+    cm = "ncview_default"
+  end if
+  if ( .not. isvar("di") ) then     ; input directory (with final /)
+    di = ""
+  end if
+  if ( .not. isvar("d") ) then      ; output directory (with final /)
+    d = di
+  end if
+  if ( .not. isvar("fi") ) then     ; base name of input file (without suffix)
+    fi = "example_xy"
+  end if
+  if ( .not. isvar("fill_mode") ) then ; "AreaFill", "RasterFill" or "CellFill"
+    fill_mode = "AreaFill"
+  end if
+  if ( .not. isvar("fo") ) then     ; base name of output files (without suffix)
+    fo = ""
+  end if
+  if ( .not. isvar("mode") ) then   ; output mode ("Fill" or "Line")
+    mode = "Fill"
+  end if
+  if ( .not. isvar("t") ) then      ; output time step
+    t = 0
+  end if
+  if ( .not. isvar("var") ) then    ; variable to be output
+    var = "u_xy"
+  end if
+  if ( .not. isvar("xs") ) then     ; output x-coordinate range start (in m)
+    xs = -1e+38
+  end if
+  if ( .not. isvar("xe") ) then     ; output x-coordinate range end (in m)
+    xe = 1e+38
+  end if
+  if ( .not. isvar("ys") ) then     ; output y-coordinate range start (in m)
+    ys = -1e+38
+  end if
+  if ( .not. isvar("ye") ) then     ; output y-coordinate range end (in m)
+    ye = 1e+38
+  end if
+  if ( .not. isvar("zs") ) then     ; output z-coordinate range start (in m)
+    zs = -1e+38
+  end if
+  if ( .not. isvar("ze") ) then     ; output z-coordinate range end (in m)
+    ze = 1e+38
+  end if
+;
+; open input file
+  f  = addfile( di + fi  + ".nc", "r" )
+;
+; open workstation(s) and set colormap
+  wks_x11 = gsn_open_wks("x11","cross-section") ; X11 workstation
+  gsn_define_colormap(wks_x11,cm)
+  if ( isvar("fo") ) then
+    wks_pdf = gsn_open_wks("pdf",d+fo)  ; optional workstations
+    gsn_define_colormap(wks_pdf,cm)
+    wks_eps = gsn_open_wks("eps",d+fo)  ; for output on file
+    gsn_define_colormap(wks_eps,cm)
+    wks_ps  = gsn_open_wks("ps",d+fo)
+    gsn_define_colormap(wks_ps,cm)
+  end if
+;
+; read input data using 'coordinate subscripting'
+; NCL uses the closest corresponding values (in case of two equally distant 
+; values NCL chooses the smaller one)
+  raw_data = f->$var$(t:t,{zs:ze},{ys:ye},{xs:xe})
+  raw_data!0 = "t"
+  raw_data!1 = "z"
+  raw_data!2 = "y"
+  raw_data!3 = "x"
+  time = raw_data&t
+;
+; reduce variable dimensions from 4D to 2D according to output ranges
+  if ( zs .eq. ze ) then
+    data = raw_data(0,0,:,:)
+    x_axis = "x"
+    y_axis = "y"
+    plane  = "z"
+
+    dx =  f->x(1)
+    dy =  f->y(1)
+
+    if ( raw_data&z .eq. -1 ) then
+      level = "-average"
+    else
+      level = "=" + raw_data&z + "m"
+    end if
+  else
+    if ( ys .eq. ye ) then
+      data = raw_data(0,:,0,:)
+      x_axis = "x"
+      y_axis = "z"
+      plane  = "y"
+
+      dx =  f->x(1)
+      if (isfilevar(f, "zw_3d")) then
+        dz =  f->zw_3d(1)
+      else
+        dz =  f->zw(1)
+      end if
+
+      if ( raw_data&y .eq. -1 ) then
+        level = "-average"
+      else
+        level = "=" + raw_data&y + "m"
+      end if
+    else
+      if ( xs .eq. xe ) then
+        data = raw_data(0,:,:,0)
+        x_axis = "y"
+        y_axis = "z"
+        plane  = "x"
+
+        dy =  f->y(1)
+        if (isfilevar(f, "zw_3d")) then
+          dz =  f->zw_3d(1)
+        else
+          dz =  f->zw(1)
+        end if
+
+        if ( raw_data&x .eq. -1 ) then
+          level = "-average"
+        else
+          level = "=" + raw_data&x + "m"
+        end if
+      end if
+    end if
+  end if
+  delete( raw_data )
+;
+; set up resources
+  cs_res                         = True
+  cs_res@gsnDraw                 = False  
+  cs_res@gsnFrame                = False 
+  cs_res@gsnMaximize             = True 
+  cs_res@gsnPaperOrientation     = "portrait"
+  cs_res@gsnPaperWidth           = 8.27
+  cs_res@gsnPaperHeight          = 11.69
+  cs_res@gsnPaperMargin          = 0.79
+  cs_res@tiMainFuncCode          = "~"
+  cs_res@tiMainFontHeightF       = 0.015
+  cs_res@tiMainString            = f@title
+  cs_res@tiXAxisString           = x_axis + " [m]"
+  cs_res@tiYAxisString           = y_axis + " [m]"
+;  cs_res@gsnLeftString           = ""   ; gsn_csm_* scripts use default data
+  cs_res@gsnCenterString         = "t=" + time + "s  " + plane + level
+;  cs_res@gsnRightString          = ""   ; gsn_csm_* scripts use default data
+  cs_res@tmXBMode                ="Automatic"
+  cs_res@tmYLMode                ="Automatic"
+  if ( mode .eq. "Fill" ) then
+    cs_res@cnFillOn                = True
+    cs_res@gsnSpreadColors         = True
+    cs_res@cnFillMode              = fill_mode
+    cs_res@lbOrientation           = "Vertical"  ; vertical label bar
+    cs_res@cnLinesOn               = False
+    cs_res@cnLineLabelsOn          = False
+  end if
+
+  vector     = True
+  co_overlay = True
+
+  if ( .not. isvar("wv1") ) then
+    vector = False
+  end if
+  if ( .not. isvar("wv2") ) then
+    vector = False
+  end if
+  if ( .not. isvar("co") ) then
+    co_overlay = False
+  end if
+
+  if ( vector .eq. True ) then
+
+    if ( wv1 .eq. "u_xy" .or.  wv1 .eq. "u_xz" .or. wv1 .eq. "u_yz" ) then
+
+      raw_data = f->$wv1$(t:t,{zs:ze},{ys:ye},{xs-(0.5*dx):xe-(0.5*dx)}) 
+      raw_data!0 = "t"
+      raw_data!1 = "z"
+      raw_data!2 = "y"
+      raw_data!3 = "x"
+      time = raw_data&t
+
+    else
+
+      if ( wv1 .eq. "v_xy" .or.  wv1 .eq. "v_xz" .or. wv1 .eq. "v_yz" ) then
+
+        raw_data = f->$wv1$(t:t,{zs:ze},{ys-(0.5*dy):ye-(0.5*dy)},{xs:xe}) 
+        raw_data!0 = "t"
+        raw_data!1 = "z"
+        raw_data!2 = "y"
+        raw_data!3 = "x"
+        time = raw_data&t
+
+      else
+
+        if ( wv1 .eq. "w_xy" .or.  wv1 .eq. "w_xz" .or. wv1 .eq. "w_yz" ) then
+
+          raw_data = f->$wv1$(t:t,{zs+(0.5*dz):ze+(0.5*dz)},{ys:ye},{xs:xe}) 
+          raw_data!0 = "t"
+          raw_data!1 = "z"
+          raw_data!2 = "y"
+          raw_data!3 = "x"
+          time = raw_data&t
+
+        end if
+      end if
+    end if
+
+    if ( zs .eq. ze ) then
+      data_u = raw_data(0,0,:,:)
+    else
+      if ( ys .eq. ye ) then
+        data_u = raw_data(0,:,0,:)
+      else
+        if ( xs .eq. xe ) then
+          data_u = raw_data(0,:,:,0)
+        end if
+      end if
+    end if
+    delete( raw_data )
+
+    if ( wv2 .eq. "u_xy" .or.  wv2 .eq. "u_xz" .or. wv2 .eq. "u_yz" ) then
+
+      raw_data = f->$wv2$(t:t,{zs:ze},{ys:ye},{xs-(0.5*dx):xe-(0.5*dx)}) 
+      raw_data!0 = "t"
+      raw_data!1 = "z"
+      raw_data!2 = "y"
+      raw_data!3 = "x"
+      time = raw_data&t
+
+    else
+
+      if ( wv2 .eq. "v_xy" .or.  wv2 .eq. "v_xz" .or. wv2 .eq. "v_yz" ) then
+
+        raw_data = f->$wv2$(t:t,{zs:ze},{ys-(0.5*dy):ye-(0.5*dy)},{xs:xe}) 
+        raw_data!0 = "t"
+        raw_data!1 = "z"
+        raw_data!2 = "y"
+        raw_data!3 = "x"
+        time = raw_data&t
+
+      else
+
+        if ( wv2 .eq. "w_xy" .or.  wv2 .eq. "w_xz" .or. wv2 .eq. "w_yz" ) then
+
+          raw_data = f->$wv2$(t:t,{zs+(0.5*dz):ze+(0.5*dz)},{ys:ye},{xs:xe}) 
+          raw_data!0 = "t"
+          raw_data!1 = "z"
+          raw_data!2 = "y"
+          raw_data!3 = "x"
+          time = raw_data&t
+
+        end if
+      end if
+    end if
+
+
+    if ( zs .eq. ze ) then
+      data_v = raw_data(0,0,:,:)
+    else
+      if ( ys .eq. ye ) then
+        data_v = raw_data(0,:,0,:)
+      else
+        if ( xs .eq. xe ) then
+          data_v = raw_data(0,:,:,0)
+        end if
+      end if
+    end if
+    delete( raw_data )
+
+    wv_res                     = True
+    wv_res@gsnDraw             = False  
+    wv_res@gsnFrame            = False
+    wv_res@gsnRightString      = ""
+    wv_res@gsnLeftString       = ""
+    wv_res@gsnCenterString     = ""
+    wv_res@vpClipOn            = True
+
+  end if
+
+  if ( co_overlay .eq. True ) then
+
+    raw_data = f->$co$(t:t,{zs:ze},{ys:ye},{xs:xe}) 
+    raw_data!0 = "t"
+    raw_data!1 = "z"
+    raw_data!2 = "y"
+    raw_data!3 = "x"
+    time = raw_data&t
+
+    if ( zs .eq. ze ) then
+      data2 = raw_data(0,0,:,:)
+    else
+      if ( ys .eq. ye ) then
+        data2 = raw_data(0,:,0,:)
+      else
+        if ( xs .eq. xe ) then
+          data2 = raw_data(0,:,:,0)
+        end if
+      end if
+    end if
+    delete( raw_data )
+
+    co_res                              = True
+    co_res@cnLineThicknessF             = 1.0
+    co_res@gsnDraw                      = False
+    co_res@gsnFrame                     = False
+    co_res@gsnContourZeroLineThicknessF = 2.0
+    co_res@gsnContourNegLineDashPattern = 4
+    co_res@cnLineColor                  = "Black"
+    co_res@gsnRightString   = ""
+    co_res@gsnLeftString    = ""
+    co_res@gsnCenterString  = ""
+
+;    co_res1@cnLevelSelectionMode = "ManualLevels"     ; set manual contour levels
+;    co_res1@cnMinLevelValF       = -5.                ; set min contour level
+;    co_res1@cnMaxLevelValF       =  5.                ; set max contour level
+;    co_res1@cnLevelSpacingF      =  0.5               ; set contour spacing
+     co_res@cnLineLabelsOn        = True
+     co_res@cnLineLabelPlacementMode   = "constant"
+;    co_res@cnLineLabelBackgroundColor = "white"
+
+  end if
+
+  if ( co_overlay .eq. True .and. vector .eq. True ) then 
+
+    if ( isvar("fo") ) then
+
+      plot_pdf2 = gsn_csm_contour(wks_pdf,data2,co_res)
+      plot_pdf1 = gsn_csm_contour(wks_pdf,data,cs_res)
+      plot_pdf3 = gsn_csm_vector(wks_pdf,data_u,data_v,wv_res)
+      overlay(plot_pdf1,plot_pdf2)
+      overlay(plot_pdf1,plot_pdf3)
+      draw(plot_pdf1)
+      frame(wks_pdf)
+
+      plot_eps2 = gsn_csm_contour(wks_eps,data2,co_res)
+      plot_eps1 = gsn_csm_contour(wks_eps,data,cs_res)
+      plot_eps3 = gsn_csm_vector(wks_eps,data_u,data_v,wv_res)
+      overlay(plot_eps1,plot_eps2)
+      overlay(plot_eps1,plot_eps3)
+      draw(plot_eps1)
+      frame(wks_eps)
+
+      plot_ps2 = gsn_csm_contour(wks_ps,data2,co_res)
+      plot_ps1 = gsn_csm_contour(wks_ps,data,cs_res)
+      plot_ps3 = gsn_csm_vector(wks_ps,data_u,data_v,wv_res)
+      overlay(plot_ps1,plot_ps2)
+      overlay(plot_ps1,plot_ps3)
+      draw(plot_ps1)
+      frame(wks_ps)
+
+    end if
+
+    plot1 = gsn_csm_contour(wks_x11,data,cs_res)
+    plot2 = gsn_csm_contour(wks_x11,data2,co_res)
+    plot3 = gsn_csm_vector(wks_x11,data_u,data_v,wv_res)
+
+    overlay(plot1,plot2)
+    overlay(plot1,plot3)
+
+    draw(plot1)
+    frame(wks_x11)
+
+  else
+
+    if ( co_overlay .eq. True .and. vector .ne. True ) then
+
+      if ( isvar("fo") ) then
+
+        plot_pdf2 = gsn_csm_contour(wks_pdf,data2,co_res)
+        plot_pdf1 = gsn_csm_contour(wks_pdf,data,cs_res)
+        overlay(plot_pdf1,plot_pdf2)
+        draw(plot_pdf1)       
+        frame(wks_pdf)
+
+        plot_eps2 = gsn_csm_contour(wks_eps,data2,co_res)
+        plot_eps1 = gsn_csm_contour(wks_eps,data,cs_res)
+        overlay(plot_eps1,plot_eps2)
+        draw(plot_eps1)
+        frame(wks_eps)
+
+        plot_ps2 = gsn_csm_contour(wks_ps,data2,co_res)
+        plot_ps1 = gsn_csm_contour(wks_ps,data,cs_res)
+        overlay(plot_ps1,plot_ps2)
+        draw(plot_ps1)
+        frame(wks_ps)
+
+      end if 
+
+      plot1 = gsn_csm_contour(wks_x11,data,cs_res)
+      plot2 = gsn_csm_contour(wks_x11,data2,co_res)
+
+      overlay(plot1,plot2)
+
+      draw(plot1)
+      frame(wks_x11)
+
+    else
+
+    if ( co_overlay .ne. True .and. vector .eq. True ) then 
+
+      if ( isvar("fo") ) then
+
+        plot_pdf1 = gsn_csm_contour(wks_pdf,data,cs_res)
+        plot_pdf3 = gsn_csm_vector(wks_pdf,data_u,data_v,wv_res)
+        overlay(plot_pdf1,plot_pdf3)
+        draw(plot_pdf1)
+        frame(wks_pdf)
+
+        plot_eps1 = gsn_csm_contour(wks_eps,data,cs_res)
+        plot_eps3 = gsn_csm_vector(wks_eps,data_u,data_v,wv_res)
+        overlay(plot_eps1,plot_eps3)
+        draw(plot_eps1)
+        frame(wks_eps)
+
+        plot_ps1 = gsn_csm_contour(wks_ps,data,cs_res)
+        plot_ps3 = gsn_csm_vector(wks_ps,data_u,data_v,wv_res)
+        overlay(plot_ps1,plot_ps3)
+        draw(plot_ps1)
+        frame(wks_ps)
+
+      end if 
+
+      plot1 = gsn_csm_contour(wks_x11,data,cs_res)
+      plot3 = gsn_csm_vector(wks_x11,data_u,data_v,wv_res)
+
+      overlay(plot1,plot3)
+
+      draw(plot1)
+      frame(wks_x11)
+
+    else
+
+    if ( co_overlay .ne. True .and. vector .ne. True) then 
+
+      if ( isvar("fo") ) then
+
+        plot_pdf1 = gsn_csm_contour(wks_pdf,data,cs_res)
+        draw(plot_pdf1)
+        frame(wks_pdf)
+
+        plot_eps1 = gsn_csm_contour(wks_eps,data,cs_res)
+        draw(plot_eps1)
+        frame(wks_eps)
+
+        plot_ps1 = gsn_csm_contour(wks_ps,data,cs_res)
+        draw(plot_ps1)
+        frame(wks_ps)
+
+      end if 
+
+      plot1 = gsn_csm_contour(wks_x11,data,cs_res)
+
+      draw(plot1)
+      frame(wks_x11)
+
+    end if
+    end if
+    end if
+
+  end if
+
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.usage.txt
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.usage.txt	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/crosssections_new.usage.txt	(revision 393)
@@ -0,0 +1,65 @@
+Usage of PALM NCL script crosssections_new.ncl
+==============================================
+Last change: $Id: crosssections_new.usage.txt 127 2007-10-23 11:05:25Z letzel $
+initial version: Marcus Letzel, 17 July 2007
+contour and vector overlay: Theres Franke/Marcus Letzel, 26 July 2007
+
+Command-line syntax
+===================
+ncl crosssections_new.ncl [parameters]
+
+The parameter syntax depends on their data type:
+A) numeric data    : parameter=value      (for example t=0)
+B) character string: 'parameter="string"' (for example 'var="u_xy"')
+
+Alphabetical parameter list
+===========================
+Name	Default value		Meaning
+-----------------------------------------------------------------------------
+cm	"ncview_default"	colormap
+di	""			input directory (with final /)
+d	=di			output directory (with final /)
+fi	"example_xy"		base name of input file (without suffix)
+fo	""			base name of output files (without suffix)
+fill_mode "AreaFill"		fill mode for mode="Fill":
+				"AreaFill", "RasterFill" or "CellFill"
+mode	"Fill"			output mode ("Fill" or "Line")
+t	0			output time step
+var	"u_xy"			variable to be output
+xs	-1e+38			output x-coordinate range start (in m)
+xe	+1e+38			output x-coordinate range end   (in m)
+ys	-1e+38			output y-coordinate range start (in m)
+ye	+1e+38			output y-coordinate range end   (in m)
+zs	-1e+38			output z-coordinate range start (in m)
+ze	+1e+38			output z-coordinate range end   (in m)
+co                              variable to be output as contour overlay
+wv1                             first component of wind vector overlay
+wv2                             second component of wind vector overlay
+
+Usage
+=====
+This script draws NCL contour plots from two-dimensional cross-sections of 
+NetCDF data produced by PALM. Instantaneous or time-averaged xy-, xz-, yz- or 
+3D-data can be used with this script.
+
+The sectional plane has neither a default orientation nor a default position.
+Both must be specified together using the coordinate range parameters:
+- For xy cross-sections specify zs and ze (with zs=za).
+- For xz cross-sections specify ys and ye (with ys=ya).
+- For yz cross-sections specify xs and xe (with xs=xa).
+
+The remaining coordinate range parameters can optionally be used to restrict 
+the output coordinate range.
+
+By default, only screen output is produced. Additional file output is optional
+and requires to specify the parameter fo. This will create three files: fo.pdf,
+fo.eps and fo.ps.
+
+Input and output files can optionally be preceeded by an input and output
+directory di and d, respectively. If not specified, this scripts expects the
+input file to reside in the current directory.
+
+The contours can be drawn either in "Fill" (default) or "Line" mode.
+
+The parameter co activates an optional contour overlay; the parameters wv1 and
+wv2 activate an optional vector overlay.
Index: palm/tags/release-3.7/SCRIPTS/NCL/Archive/plotts.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/Archive/plotts.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/Archive/plotts.ncl	(revision 393)
@@ -0,0 +1,111 @@
+load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
+
+; time series
+; last change: $Id: plotts.ncl 127 2007-10-23 11:05:25Z letzel $
+
+begin
+;
+; set default value(s) for shell script variables assigned on command line
+  if ( .not. isvar("cm") ) then     ; colormap
+    cm = "ncview_default"
+  end if
+  if ( .not. isvar("di") ) then     ; input directory (with final /)
+    di = ""
+  end if
+  if ( .not. isvar("d") ) then      ; output directory (with final /)
+    d = di
+  end if
+  if ( .not. isvar("fi") ) then     ; base name of input file (without suffix)
+    fi = "example_xy"
+  end if
+  if ( .not. isvar("fo") ) then     ; base name of output files (without suffix)
+    fo = ""
+  end if
+  if ( .not. isvar("ts") ) then      ; output time step
+    ts = 0
+  end if
+  if ( .not. isvar("te") ) then     ; output x-coordinate range start (in m)
+    te = 0
+  end if
+;
+; open input file
+  f  = addfile( di + fi  + ".nc", "r" )
+;
+; open workstation(s) and set colormap
+  wks_x11 = gsn_open_wks("x11","cross-section") ; X11 workstation
+  gsn_define_colormap(wks_x11,cm)
+  if ( isvar("fo") ) then
+    wks_pdf = gsn_open_wks("pdf",d+fo)  ; optional workstations
+    gsn_define_colormap(wks_pdf,cm)
+    wks_eps = gsn_open_wks("eps",d+fo)  ; for output on file
+    gsn_define_colormap(wks_eps,cm)
+    wks_ps  = gsn_open_wks("ps",d+fo)
+    gsn_define_colormap(wks_ps,cm)
+  end if
+;
+; read input data using 'coordinate subscripting'
+; NCL uses the closest corresponding values (in case of two equally distant 
+; values NCL chooses the smaller one)
+
+  if ( .not. isvar("var1") .and. .not. isvar("var2") .and. .not. isvar("var3")  .and. .not. isvar("var4") .and. .not. isvar("var5") .and. .not. isvar("var6")) then
+    vNam = getfilevarnames(f)
+    n2 = dimsizes(vNam)-1
+
+    print(vNam)
+
+  else
+
+    vNam = new((/6/), string)
+
+    vNam(0) = var1
+    vNam(1) = var2
+    vNam(2) = var3
+    vNam(3) = var4
+    vNam(4) = var5
+    vNam(5) = var6
+    n2 = 6
+  end if
+
+  t= f ->time({ts:te})
+
+  res=True
+  res@gsnDraw=False
+  res@gsnFrame=False
+
+  resP = True
+  resP@txString="time series"
+
+  res@vpWidthF=4
+
+  plot=new(40,graphic)                 ; create a plot array
+  plot_pdf=new(40,graphic)             ; create a plot array
+  plot_ps=new(40,graphic)              ; create a plot array
+  plot_eps=new(40,graphic)             ; create a plot array
+
+  n = 0
+
+  do while ( n .lt. n2)
+    data = f ->$vNam(n)$({ts:te})
+    plot(n) = gsn_csm_xy(wks_x11,t,data,res)
+    plot_pdf(n) = gsn_csm_xy(wks_pdf,t,data,res)
+    plot_eps(n) = gsn_csm_xy(wks_eps,t,data,res)
+    plot_ps(n) = gsn_csm_xy(wks_ps,t,data,res)
+    n = n + 1
+  end do
+
+  pa = 0
+  pb = 5
+
+  do while ( pa .lt. dimsizes(plot) )
+    gsn_panel(wks_pdf,plot_pdf(pa:pb),(/6,1/),resP) ; Panel the plots, first using rows x columns, then using number of plots per row
+    gsn_panel(wks_eps,plot_eps(pa:pb),(/6,1/),resP)
+    gsn_panel(wks_ps,plot_ps(pa:pb),(/6,1/),resP)
+    gsn_panel(wks_x11,plot(pa:pb),(/6,1/),resP)
+    pa = pa + 6
+    pb = pb + 6
+  end do
+
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/cross_sections.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/cross_sections.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/cross_sections.ncl	(revision 393)
@@ -0,0 +1,1809 @@
+load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
+
+;***************************************************
+; load ncl_preferences.ncl
+;***************************************************
+
+function which_script()
+local script 
+begin 
+   script="cross_section"
+   return(script)
+end
+       
+if (isfilepresent("~/ncl_preferences.ncl")) then
+   loadscript("~/ncl_preferences.ncl")
+else
+  if (isfilepresent("~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")) then
+     loadscript( "~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")
+  else
+      print(" ")
+      print("'ncl_preferences.ncl' does not exist in $home or $home/palm/current_version/trunk/SCRIPTS/NCL/")
+      print(" ")
+      exit
+   end if
+end if
+
+begin
+
+   ; ***************************************************
+   ; set default parameter values and strings if not assigned in prompt or parameter list
+   ; ***************************************************
+   
+   if (file_1 .EQ. "File in") then
+      print(" ")
+      print("Declare input file 'file_1=' in 'ncl_preferences.ncl' or prompt")
+      print(" ")
+      exit 
+   else
+      file_in = file_1   
+   end if
+
+   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm")then
+      print(" ")
+      print("'format_out = "+format_out+"' is invalid and set to'x11'")
+      print(" ")
+      format_out="x11"
+   end if
+
+   if (sort .NE. "layer" .AND. sort .NE. "time") then  
+      print(" ")
+      print("'sort'= "+sort+" is invalid and set to 'layer'")
+      print(" ")
+      sort = "layer"  
+   end if
+   
+   if (mode .NE. "Fill" .AND. mode .NE. "Line" .AND. mode .NE. "Both") then
+      print(" ")
+      print("'mode'= "+mode+" is invalid and set to 'Fill'")
+      print(" ")
+      mode = "Fill"
+   end if
+
+   if (fill_mode .NE. "AreaFill" .AND. fill_mode .NE. "RasterFill" .AND. fill_mode .NE. "CellFill") then
+      print(" ")
+      print("'fill_mode'= "+fill_mode+" is invalid and set to 'AreaFill'")
+      print(" ")
+      fill_mode = "AreaFill"
+   end if
+   
+   if (shape .NE. 0 .AND. shape .NE. 1) then
+      print(" ")
+      print("'shape'= "+shape+" is invalid and set to 1")
+      print(" ")
+      shape = 1
+   end if 
+   
+   if (xyc .NE. 0 .AND. xyc .NE. 1)then
+      print(" ")
+      print("'xyc'= "+xyc+" is invalid and set to 0")
+      print(" ")
+      xyc = 0  
+   end if
+   
+   if (xzc .NE. 0 .AND. xzc .NE. 1)then
+      print(" ")
+      print("'xzc'= "+xzc+" is invalid and set to 0")
+      print(" ")
+      xyc = 0  
+   end if
+   
+   if (yzc .NE. 0 .AND. yzc .NE. 1)then
+      print(" ")
+      print("'yzc'= "+yzc+" is invalid and set to 0")
+      print(" ")
+      xyc = 0  
+   end if
+   
+   if (xyc .EQ. 0 .AND. xzc .EQ. 0 .AND. yzc .EQ. 0) then
+      print(" ")
+      print("Select one crossection (xyc=1 or xzc=1 or yzc=1)")
+      print(" ")
+      exit
+   end if
+   if (xyc .EQ. 1 ) then 
+      if (xzc .EQ. 1 .OR. yzc .EQ. 1) then
+         print(" ")
+         print("Select just one crossection (xyc=1 or xzc=1 or yzc=1)")
+         print(" ") 
+         exit
+      end if
+   end if
+   if (xzc .EQ. 1) then
+      if (xyc .EQ. 1 .OR. yzc .EQ. 1) then
+         print(" ")
+         print("Select just one crossection (xyc=1 or xzc=1 or yzc=1)")
+         print(" ")
+         exit
+      end if
+   end if
+   if (yzc .EQ. 1) then
+      if (xyc .EQ. 1 .OR. xzc .EQ. 1) then
+         print(" ")
+         print("Select just one crossection (xyc=1 or xzc=1 or yzc=1)")
+         print(" ")
+         exit
+      end if
+   end if
+
+   if (vector .NE. 0 .AND. vector .NE. 1) then
+      print(" ")
+      print("Set 'vector' to 0 or 1")
+      print(" ")
+      exit
+   end if  
+   
+   if (norm_x .EQ. 0) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_x' is set to 1.0")
+      print(" ")
+      norm_x = 1.0
+   end if
+   if (norm_y .EQ. 0) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_y' is set to 1.0")
+      print(" ")
+      norm_y = 1.0
+   end if 
+   if (norm_z .EQ. 0) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_z' is set to 1.0")
+      print(" ")
+      norm_z = 1.0
+   end if 
+ 
+   ; ***************************************************
+   ; open input file
+   ; ***************************************************
+   
+   file_in_1 = False
+   if (isStrSubset(file_in, ".nc"))then
+      start_f = -2
+      end_f = -2 
+      file_in_1 = True     
+   end if
+
+   if (start_f .EQ. -1)then
+      print(" ")
+      print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+   if (end_f .EQ. -1)then
+      print(" ")
+      print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+
+   files=new(end_f-start_f+1,string)
+
+   if (file_in_1)then
+      if (isfilepresent(file_in))then
+         files(0)=file_in
+      else
+         print(" ")
+         print("1st input file: '"+file_in+"' does not exist")
+         print(" ")
+         exit
+      end if
+   else   
+      if (start_f .EQ. 0)then
+         if (isfilepresent(file_in+".nc"))then
+            files(0)=file_in+".nc"
+            do i=1,end_f
+	       if (isfilepresent(file_in+"."+i+".nc"))then    
+                  files(i)=file_in+"."+i+".nc"
+	       else
+	          print(" ")
+                  print("Input file: '"+file_in+"."+i+".nc' does not exist")
+                  print(" ")
+                  exit  
+	       end if	    
+            end do         
+         else
+            print(" ")
+            print("Input file: '"+file_in+".nc' does not exist")
+            print(" ")
+            exit
+         end if
+      else
+         do i=start_f,end_f
+            if (isfilepresent(file_in+"."+i+".nc"))then    
+               files(i-start_f)=file_in+"."+i+".nc"
+	    else
+	       print(" ")
+               print("Input file: '"+file_in+"."+i+".nc' does not exist")
+               print(" ")
+               exit  
+	    end if
+         end do
+      end if
+   end if
+   
+   f=addfiles(files,"r")
+   f_att=addfile(files(0),"r")
+   ListSetType(f,"cat")
+
+   vNam  = getfilevarnames(f_att) 
+   print(" ")
+   print("Variables in input file:")
+   print("- "+ vNam)
+   print(" ")
+   dim   = dimsizes(vNam)
+
+   ; ***************************************************
+   ; check for kind of input file
+   ; ***************************************************
+
+   check_3d = True
+   do varn=0,dim-1
+      checkxy = isStrSubset( vNam(varn),"xy")
+      checkxz = isStrSubset( vNam(varn),"xz")
+      checkyz = isStrSubset( vNam(varn),"yz")
+      if (checkxy .OR. checkxz .OR. checkyz) then
+         check_3d = False
+         break
+      end if
+   end do
+   if (.not. check_3d) then
+      if (xyc .EQ. 1)then
+         if (.not. checkxy) then
+            print(" ")
+            print("Your input file doesn't have values for xy cross-sections")
+            if (checkxz)then
+               print("Select another input file or xz cross-sections")
+            else
+               print("Select another input file or yz cross-sections")
+            end if
+            print(" ")
+            exit
+         else
+            print(" ")
+            print("Your input file contains xy data")
+            print(" ") 
+	 end if
+      end if
+      if (xzc .EQ. 1)then
+         if (.not. checkxz) then
+            print(" ")
+            print("Your input file doesn't have values for xz cross-sections")
+            if (checkxy)then
+               print("Select another input file or xy cross-sections")
+            else
+               print("Select another input file or yz cross-sections")
+            end if
+            print(" ")
+            exit
+         else
+            print(" ")
+            print("Your input file contains xz data")
+            print(" ")
+	 end if
+      end if
+      if (yzc .EQ. 1)then
+         if (.not. checkyz) then
+            print(" ")
+            print("Your input file doesn't have values for yz cross-sections")
+            if (checkxy)then
+               print("Select another input file or xy cross-sections")
+            else
+               print("Select another input file or xz cross-sections")
+            end if
+            print(" ")
+            exit
+         else
+            print(" ")
+            print("Your input file contains yz data")
+            print(" ")
+	 end if
+      end if
+   else
+      print(" ")
+      print("Your input file contains 3d or other data")
+      print(" ")
+   end if
+   
+   if (dim .EQ. 0) then
+      print(" ")
+      print("There is no data on file")
+      print(" ")
+      exit
+   end if
+
+   ; ***************************************************
+   ; set up recourses
+   ; ***************************************************
+
+   cs_res                          = True
+   vecres                          = True
+   cs_res@gsnYAxisIrregular2Linear = True  
+  
+   cs_res@gsnDraw                 = False
+   cs_res@gsnFrame                = False
+   cs_res@gsnMaximize             = True 
+   
+   cs_res@tmXBLabelFontHeightF   = font_size
+   cs_res@tmYLLabelFontHeightF   = font_size
+   cs_res@tiXAxisFontHeightF     = font_size
+   cs_res@tiYAxisFontHeightF     = font_size
+   cs_res@tmXBMode                ="Automatic"
+   cs_res@tmYLMode                ="Automatic"
+  
+   cs_res@cnLevelSelectionMode    = "ManualLevels"
+   cs_res@lbLabelFontHeightF = font_size_legend
+   cs_res@lbLabelStride = legend_label_stride
+   
+
+   cs_resP = True
+   cs_resP@txString               = f_att@title
+   cs_resP@txFuncCode             = "~"         	
+   cs_resP@txFontHeightF          = 0.015        
+  
+   if ( mode .eq. "Fill" ) then
+      cs_res@cnFillOn             = True
+      cs_res@gsnSpreadColors      = True
+      cs_res@cnFillMode           = fill_mode	
+      cs_res@cnLinesOn            = False	
+      cs_res@cnLineLabelsOn       = False
+   end if
+
+   if ( mode .eq. "Both" ) then
+      cs_res@cnFillOn             = True
+      cs_res@gsnSpreadColors      = True
+      cs_res@cnFillMode           = fill_mode 
+      cs_res@cnLinesOn            = True
+      cs_res@cnLineLabelsOn       = True
+   end if
+
+   ; *********************************************
+   ; set up of start_time_step and end_time_step
+   ; *********************************************
+
+   t_all = f[:]->time
+   nt = dimsizes(t_all)
+   delta_t = t_all(nt-1)/nt
+
+   ; ****************************************************	
+   ; start of time step and different types of mistakes that could be done
+   ; ****************************************************
+
+   if (start_time_step .EQ. -1.) then   	
+      start_time_step=t_all(0)/3600      
+   else 
+      if (start_time_step .GT. t_all(nt-1)/3600)
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+      if (start_time_step .LT. t_all(0)/3600)
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+   do i=0,nt-1    
+      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         st=i
+         break
+      end if
+   end do
+   
+   if (.not. isvar("st"))then
+      print(" ")
+      print("'start_time_step' = "+ start_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'start_time_step'")
+      print(" ")
+      exit
+   end if
+        
+   ; ****************************************************
+   ; end of time step and different types of mistakes that could be done
+   ; ****************************************************
+
+   if (end_time_step .EQ. -1.) then     	
+      end_time_step = t_all(nt-1)/3600  
+   else  
+      if (end_time_step .LT. t_all(0)/3600)
+         print(" ")
+         print("'end_time_step' = "+end_time_step+ "h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")
+         print(" ")
+         exit
+      end if
+      if (end_time_step .GT. t_all(nt-1)/3600)
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")  
+         print(" ")
+         exit
+      end if
+      if (end_time_step .LT. start_time_step/3600)
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
+         print(" ")
+         print("Select another 'start_time_step' or 'end_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+   do i=0,nt-1     
+      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         et=i
+         break
+      end if
+   end do 
+   
+   if (.not. isvar("et"))then
+      print(" ")
+      print("'end_time_step' = "+ end_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'end_time_step'")
+      print(" ")
+      exit
+   end if
+  
+   delete(start_time_step)
+   start_time_step=round(st,3)
+   delete(end_time_step)
+   end_time_step=round(et,3)
+
+   print(" ")
+   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
+   print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
+   print(" ")
+  
+   no_time=(end_time_step-start_time_step)+1
+
+   ; ****************************************************
+   ; set up variables for vector plot if required
+   ; ****************************************************   
+
+   if (vector .EQ. 1) then
+      if (vec1 .EQ. "component1") then
+         print(" ")
+         print("Indicate Vector 1 ('vec1') for Vector-Plot or set 'vector' to 0")
+         print(" ")
+         exit
+      end if
+      if (vec2 .EQ. "component2") then
+         print(" ")
+         print("Indicate Vector 2 ('vec2') for Vector-Plot or set 'vector' to 0")
+         print(" ")
+         exit
+      end if            
+   end if 
+
+   check_vec1 = False
+   check_vec2 = False
+   check_vecp = False
+
+   ; ****************************************************
+   ; get data for plots
+   ; ****************************************************
+
+   if (xyc .EQ. 1) then
+      do varn=0,dim-1
+         if (vNam(varn) .eq. "xu" .OR. vNam(varn) .eq. "x")then    
+            x_d     = f_att->$vNam(varn)$
+            xdim    = dimsizes(x_d)-1
+            delta_x = x_d(1)-x_d(0)
+            break
+         end if
+      end do 
+      do varn=0,dim-1
+         if (vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "y")then   
+            y_d     = f_att->$vNam(varn)$
+            ydim    = dimsizes(y_d)-1
+            delta_y = y_d(1)-y_d(0)
+            break
+         end if
+      end do
+      do varn=0,dim-1
+         if (vNam(varn) .eq. "zu_3d" .OR. vNam(varn) .eq. "zw_3d")then
+            z_d     = f_att->$vNam(varn)$
+            zdim    = dimsizes(z_d)-1
+            delta_z = 0
+            break
+         else
+            if (vNam(varn) .eq. "zu_xy" .OR. vNam(varn) .eq. "zw_xy") then
+               z_d     = f_att->$vNam(varn)$
+               zdim    = dimsizes(z_d)-1 
+               delta_z = -1.d
+               break
+            else
+               zdim    = 0
+               delta_z = -1.d
+            end if
+         end if
+         if (vNam(varn) .eq. "zu1_xy") then
+            zu1    = f_att->$vNam(varn)$
+         end if
+      end do
+   end if
+   if (xzc .EQ. 1) then
+      do varn=0,dim-1
+         if (vNam(varn) .eq. "xu"  .OR. vNam(varn) .eq. "x") then 
+            x_d     = f_att->$vNam(varn)$
+            xdim    = dimsizes(x_d)-1
+            delta_x = x_d(1)-x_d(0)
+            break
+         end if
+      end do
+      do varn=0,dim-1   
+         if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
+            z_d     = f_att->$vNam(varn)$
+            zdim    = dimsizes(z_d)-1 
+            delta_z = z_d(1)-z_d(0)
+            break
+         end if
+      end do
+      do varn=0,dim-1 
+         if (vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "y") then
+            y_d     = f_att->$vNam(varn)$
+            ydim    = dimsizes(y_d)-1
+            delta_y = y_d(1)-y_d(0)
+            break
+         else
+            if (vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz") then
+               y_d     = f_att->$vNam(varn)$
+               ydim    = dimsizes(y_d)-1 
+               delta_y = -1.d
+               break
+            else
+               ydim    = 0
+               delta_y = -1.d
+            end if
+         end if 
+      end do
+   end if
+   if (yzc .EQ. 1) then
+      do varn=0,dim-1  
+         if (vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "y") then
+            y_d     = f_att->$vNam(varn)$
+            ydim    = dimsizes(y_d)-1
+            delta_y = y_d(1)-y_d(0)
+            break
+         end if
+      end do
+      do varn=0,dim-1 
+         if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
+            z_d     = f_att->$vNam(varn)$
+            zdim    = dimsizes(z_d)-1 
+            delta_z = z_d(1)-z_d(0)
+            break
+         end if
+      end do
+      do varn=0,dim-1 
+         if (vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "x")
+            x_d     = f_att->$vNam(varn)$
+            xdim    = dimsizes(x_d)-1 
+            delta_x = x_d(1)-x_d(0)
+            break
+         else
+            if (vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "x_yz" ) then
+               x_d     = f_att->$vNam(varn)$
+               xdim    = dimsizes(x_d)-1 
+               delta_x = -1.d
+               break
+            else
+               xdim    = 0
+               delta_x = -1.d
+            end if
+         end if 
+      end do
+   end if
+ 
+   ; ****************************************************
+   ; set up ranges of x-, y- and z-coordinates
+   ; ****************************************************         
+                    
+   if (xs .EQ. -1.d) then     		
+      xs = x_d(0)
+      if (delta_x .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for x, there are preseted layers for x")
+         print(" ")
+         xstart=0
+      end if
+   else 
+      if (delta_x .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for x, there are preseted layers for x")
+         print(" ")
+         xstart=0
+      else
+         if (xs .LT. 0-delta_x/2) then
+            print(" ")
+            print("range start for x-coordinate = "+xs+"m is lower than first value = "+(0-delta_x/2)+"m")
+            print(" ")
+            exit
+         end if
+         if (xyc .EQ. 1 .OR. xzc .EQ. 1) then
+            if (xs .GE. xdim*delta_x) then
+               print(" ")
+               print("range start for x-coordinate = "+xs+"m is equal or greater than last value = "+xdim*delta_x+"m")
+               print(" ")
+               exit
+            end if 
+         else
+            if (xs .GT. xdim*delta_x) then
+               print(" ")
+               print("range start for x-coordinate = "+xs+"m is greater than last value = "+xdim*delta_x+"m")
+               print(" ")
+               exit
+            end if 
+         end if
+      end if
+   end if 
+
+   if (ys .EQ. -1.d) then    
+      ys = y_d(0)
+      if (delta_y .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for y, there are preseted layers for y")
+         print(" ")
+         ystart=0
+      end if
+   else
+      if (delta_y .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for y, there are preseted layers for y")
+         print(" ")
+         ystart=0
+      else
+         if (ys .LT. 0-delta_y/2) then
+            print(" ")
+            print("range start for y-coordinate = "+ys+"m is lower than first value = "+0-delta_y/2+"m")
+            print(" ")
+            exit
+         end if
+         if (xyc .EQ. 1 .OR. yzc .EQ. 1) then
+            if (ys .GE. ydim*delta_y) then
+               print(" ")
+               print("range start for y-coordinate = "+ys+"m is equal or greater than last value = "+ydim*delta_y+"m")
+               print(" ")
+               exit
+            end if
+         else
+            if (ys .GT. ydim*delta_y) then
+               print(" ")
+               print("range start for y-coordinate = "+ys+"m is greater than last value = "+ydim*delta_y+"m")
+               print(" ")
+               exit
+            end if
+         end if
+      end if
+   end if
+  
+   if (zs .EQ. -1) then     			
+      zs = 0
+      if (delta_z .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for z, there are preseted layers for z")
+         print(" ")
+      end if
+   else
+      if (delta_z .EQ. -1) then
+         print(" ") 
+         print("You cannot choose a start value for z, there are preseted layers for z")
+         print(" ")
+         zs = 0
+      else
+         if (zs .LT. 0) then
+            print(" ")
+            print("range start for z-coordinate = "+zs+" is lower than first gridpoint = 0")
+            print(" ")
+            exit
+         end if
+         if (xzc .EQ. 1 .OR. yzc .EQ. 1) then
+            if (zs .GE. zdim) then
+               print(" ")
+               print("range start for z-coordinate = "+zs+" is equal or greater than last gridpoint = "+zdim)
+               print(" ")
+               exit
+            end if
+         else
+            if (zs .GT. zdim) then
+               print(" ")
+               print("range start for z-coordinate = "+zs+" is greater than last gridpoint = "+zdim)
+               print(" ")
+               exit
+            end if
+         end if
+      end if
+   end if  
+
+   if (xe .EQ. -1) then    
+      xe = x_d(xdim)
+      if (delta_x .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for x, there are preseted layers for x")
+         print(" ")
+         xend=xdim
+      end if
+   else
+      if (delta_x .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for x, there are preseted layers for x")
+         print(" ")
+         xend=xdim
+      else
+         if (xe .GT. xdim*delta_x) then
+            print(" ")
+            print("range end for x-coordinate = "+xe+"m is greater than last value = "+xdim*delta_x+"m")
+            print(" ") 
+            exit 
+         end if 
+         if (xyc .EQ. 1 .OR. xzc .EQ. 1) then
+            if (xe .LE. 0-delta_x/2)
+               print(" ")
+               print("range end for x-coordinate = "+xe+"m is equal or lower than first value = "+(0-delta_x/2)+"m")
+               print(" ")
+               exit
+            end if
+            if (xe .LE. xs) then
+               print(" ")
+               print("range end for x-coordinate = "+xe+"m is equal or lower than start range = "+xs+"m")
+               print(" ")
+               exit
+            end if
+            if (xe .EQ. xs+1) then
+               print(" ")
+               print("range end for x-coordinate = "+xe+"m must be at least two more gridpoints greater than start range = "+xs+"m")
+               print(" ")
+               exit
+            end if
+         else
+            if (xe .LT. 0-delta_x/2)
+               print(" ")
+               print("range end for x-coordinate = "+xe+"m is lower than first value = "+(0-delta_x/2)+"m")
+               print(" ")
+               exit
+            end if
+            if (xe .LT. xs) then
+               print(" ")
+               print("range end for x-coordinate = "+xe+"m is lower than start range = "+xs+"m")
+               print(" ")
+               exit
+            end if
+         end if 
+      end if               
+   end if
+   
+   if (ye .EQ. -1) then  
+      ye = y_d(ydim)
+      if (delta_y .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for y, there are preseted layers for y")
+         print(" ")
+         yend=ydim
+      end if
+   else
+      if (delta_y .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for y, there are preseted layers for y")
+         print(" ")
+         yend=ydim
+      else
+         if (ye .GT. ydim*delta_y) then
+            print(" ")
+            print("range end for y-coordinate = "+ye+"m is greater than last value = "+ydim*delta_y+"m")
+            print(" ") 
+            exit 
+         end if 
+         if (xyc .EQ. 1 .OR. yzc .EQ. 1) then
+            if (ye .LE. 0-delta_y/2)
+               print(" ")
+               print("range end for y-coordinate = "+ye+"m is equal or lower than first value = "+(0-delta_y/2)+"m")
+               print(" ")
+               exit
+            end if
+            if (ye .LE. ys) then
+               print(" ")
+               print("range end for y-coordinate = "+ye+"m is equal or lower than start range = "+ys+"m")
+               print(" ")
+               exit
+            end if
+            if (ye .EQ. ys+1) then
+               print(" ")
+               print("range end for y-coordinate = "+ye+"m must be at least two more gridpoints greater than start range = "+ys+"m")
+               print(" ")
+               exit
+            end if
+         else
+            if (ye .LT. 0-delta_y/2)
+               print(" ")
+               print("range end for y-coordinate = "+ye+"m is lower than first value = "+(0-delta_y/2)+"m")
+               print(" ")
+               exit
+            end if
+            if (ye .LT. ys) then
+               print(" ")
+               print("range end for y-coordinate = "+ye+"m is lower than start range = "+ys+"m")
+               print(" ")
+               exit
+            end if
+         end if
+      end if
+   end if 
+ 
+   if (ze .EQ. -1) then  
+      ze = zdim
+      if (delta_z .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for z, there are preseted layers for z")
+         print(" ")
+         ze = zdim
+      end if
+   else
+      if (delta_z .EQ. -1) then
+         print(" ") 
+         print("You cannot choose an end value for z, there are preseted layers for z")
+         print(" ")
+         ze = zdim
+      else
+         if (ze .GT. zdim) then
+            print(" ")
+            print("range end for z-coordinate = "+ze+" is greater than last gridpoint = "+zdim)
+            print(" ") 
+            exit 
+         end if 
+         if (xzc .EQ. 1 .OR. yzc .EQ. 1) then
+            if (ze .LE. 0)
+               print(" ")
+               print("range end for z-coordinate = "+ze+" is equal or lower than first gridpoint = 0")
+               print(" ")
+               exit
+            end if
+            if (ze .LE. zs) then
+               print(" ")
+               print("range end for z-coordinate = "+ze+" is equal or lower than start range = "+zs)
+               print(" ")
+               exit
+            end if
+            if (ze .EQ. zs+1) then
+               print(" ")
+               print("range end for z-coordinate = "+ze+" must be at least two more gridpoints greater than start range = "+zs)
+               print(" ")
+               exit
+            end if
+         else
+            if (ze .LT. 0)
+               print(" ")
+               print("range end for z-coordinate = "+ze+" is lower than first gridpoint = 0")
+               print(" ")
+               exit
+            end if
+            if (ze .LT. zs) then
+               print(" ")
+               print("range end for z-coordinate = "+ze+" is lower than start range = "+zs)
+               print(" ")
+               exit
+            end if
+         end if
+      end if
+   end if 
+
+   if (delta_x .NE. -1) then
+      do i=0,xdim    
+         if (xs .GT. x_d(i)-delta_x/2 .AND. xs .LE. x_d(i)+delta_x/2)then
+            xstart=i
+            break
+         end if
+      end do 
+      do i=0,xdim    
+         if (xe .GT. x_d(i)-delta_x/2 .AND. xe .LE. x_d(i)+delta_x/2)then
+            xend=i
+            break
+         end if
+      end do
+   end if
+   if (delta_y .NE. -1) then
+      do i=0,ydim    
+         if (ys .GT. y_d(i)-delta_y/2 .AND. ys .LE. y_d(i)+delta_y/2)then
+            ystart=i
+            break
+         end if
+      end do 
+      do i=0,ydim    
+         if (ye .GT. y_d(i)-delta_y/2 .AND. ye .LE. y_d(i)+delta_y/2)then
+            yend=i
+            break
+         end if
+      end do 
+   end if
+
+   if( shape .eq. 1 ) then 
+      if (xyc .EQ. 1)then
+         cs_res@vpWidthF    = (xe-xs)/(ye-ys)        
+         cs_res@vpHeightF   = 1
+	 vecres@vpWidthF    = (xe-xs)/(ye-ys)        
+         vecres@vpHeightF   = 1
+	 if (xe-xs .GT. ye-ys)then
+	    if (no_rows .LE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal" 
+	    else 
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical"
+	    end if  
+	 else
+	    if (no_rows .GE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical" 
+	    else
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal"
+	    end if
+	 end if
+      end if
+      if (xzc .EQ. 1)then
+         cs_res@vpWidthF    = (xe-xs)/(delta_x*(ze-zs))        
+         cs_res@vpHeightF   = 1
+	 vecres@vpWidthF    = (xe-xs)/(delta_x*(ze-zs))        
+         vecres@vpHeightF   = 1
+	 if (xe-xs .GT. (delta_x*(ze-zs)))then
+	    if (no_rows .LE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal" 
+	    else 
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical"
+	    end if  
+	 else
+	    if (no_rows .GE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical" 
+	    else
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal"
+	    end if
+	 end if
+      end if
+      if (yzc .EQ. 1)then
+         cs_res@vpWidthF    = (ye-ys)/(delta_y*(ze-zs))        
+         cs_res@vpHeightF   = 1
+	 vecres@vpWidthF    = (ye-ys)/(delta_y*(ze-zs))        
+         vecres@vpHeightF   = 1
+	 if (ye-ys .GT. (delta_y*(ze-zs)))then
+            if (no_rows .LE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal" 
+	    else 
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical"
+	    end if  
+	 else
+	    if (no_rows .GE. no_columns)then
+	       cs_res@gsnPaperOrientation     = "portrait"
+	       vecres@gsnPaperOrientation     = "portrait"
+	       cs_res@lbOrientation = "Vertical" 
+	    else
+	       cs_res@gsnPaperOrientation     = "landscape"
+	       vecres@gsnPaperOrientation     = "landscape"
+	       cs_res@lbOrientation = "Horizontal"
+	    end if
+	 end if
+      end if
+   end if
+
+   delete(xs)
+   delete(xe)   
+   delete(ys)
+   delete(ye)
+
+   xs=xstart
+   xe=xend
+   ys=ystart
+   ye=yend
+
+   if (xyc .EQ. 1) then
+      d= (ye-ys+1)/(major_ticks_y-1)
+      e=(xe-xs+1)/(major_ticks_x-1)
+      array_yl       =new(major_ticks_y,integer)
+      array_yl_labels=new(major_ticks_y,double)
+      array_minor_yl =new((major_ticks_y-1)*4,double)
+      array_xb       =new(major_ticks_x,integer)
+      array_xb_labels=new(major_ticks_x,double)
+      array_minor_xb =new((major_ticks_x-1)*4,double)
+      array_yl(0)=ys
+      array_xb(0)=xs
+      array_yl_labels(0)=y_d(ys)
+      array_xb_labels(0)=x_d(xs)
+      do ar=1,major_ticks_y-1
+         array_yl(ar)=d*(ar-1)+d-1
+	 array_yl_labels(ar) = y_d(array_yl(ar))
+	 if (ar .GT. 0)
+	    do min_ar=0,3
+                array_minor_yl(4*(ar-1)+min_ar)= y_d(array_yl(ar-1))+(y_d(array_yl(ar))-y_d(array_yl(ar-1)))/5*(min_ar+1)
+	    end do 
+	 end if	 
+      end do 
+      do br=1,major_ticks_x-1
+         array_xb(br)=e*(br-1)+e-1 
+	 array_xb_labels(br) = x_d(array_xb(br)) 
+	 if (br .GT. 0)
+	    do min_br=0,3
+	       array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+(x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
+	    end do 
+	 end if	
+      end do 
+   end if
+ 
+   if (xzc .EQ. 1) then
+      d=(ze-zs+1)/(major_ticks_y-1)
+      e=(xe-xs+1)/(major_ticks_x-1)
+      array_yl       =new(major_ticks_y,integer)
+      array_yl_labels=new(major_ticks_y,double)
+      array_minor_yl =new((major_ticks_y-1)*4,double)
+      array_xb       =new(major_ticks_x,integer)
+      array_xb_labels=new(major_ticks_x,double)
+      array_minor_xb =new((major_ticks_x-1)*4,double)
+      array_yl(0)=zs
+      array_xb(0)=xs
+      array_yl_labels(0)=z_d(zs)
+      array_xb_labels(0)=x_d(xs)
+      do ar=1,major_ticks_y-1
+         array_yl(ar)=d*(ar-1)+d-1
+	 array_yl_labels(ar) = z_d(array_yl(ar))
+	 if (ar .GT. 0)
+	    do min_ar=0,3
+	       array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+(z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
+	    end do 
+	 end if	 
+      end do 
+      do br=1,major_ticks_x-1
+         array_xb(br)=e*(br-1)+e-1 
+	 array_xb_labels(br) = x_d(array_xb(br)) 
+	 if (br .GT. 0)
+	    do min_br=0,3
+	       array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+(x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
+	    end do 
+	 end if	
+      end do 
+   end if
+
+   if (yzc .EQ. 1) then
+      d=(ze-zs+1)/(major_ticks_y-1)
+      e=(ye-ys+1)/(major_ticks_x-1)
+      array_yl       =new(major_ticks_y,integer)
+      array_yl_labels=new(major_ticks_y,double)
+      array_minor_yl =new((major_ticks_y-1)*4,double)
+      array_xb       =new(major_ticks_x,integer)
+      array_xb_labels=new(major_ticks_x,double)
+      array_minor_xb =new((major_ticks_x-1)*4,double)
+      array_yl(0)=zs
+      array_xb(0)=ys
+      array_yl_labels(0)=z_d(zs)
+      array_xb_labels(0)=y_d(ys)
+      do ar=1,major_ticks_y-1
+         array_yl(ar)=d*(ar-1)+d-1
+	 array_yl_labels(ar) = z_d(array_yl(ar))
+	 if (ar .GT. 0)
+	    do min_ar=0,3
+               array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+(z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
+	    end do 
+	 end if	 
+      end do 
+      do br=1,major_ticks_x-1
+         array_xb(br)=e*(br-1)+e-1 
+	 array_xb_labels(br) = y_d(array_xb(br)) 
+	 if (br .GT. 0)
+	    do min_br=0,3
+	       array_minor_xb(4*(br-1)+min_br)= y_d(array_xb(br-1))+(y_d(array_xb(br))-y_d(array_xb(br-1)))/5*(min_br+1)
+	    end do 
+	 end if	
+      end do
+   end if
+ 
+   if (axes_explicit .EQ. 1)then
+      cs_res@tmYLMode = "Explicit"
+      cs_res@tmXBMode = "Explicit"
+      if (xyc .EQ. 1)then 
+         cs_res@tmYLValues = y_d(array_yl) 
+         cs_res@tmXBValues = x_d(array_xb)      
+         cs_res@tmYLLabels = array_yl_labels/norm_y
+	 cs_res@tmXBLabels = array_xb_labels/norm_x
+	 if (norm_x .NE. 1.)then
+	    cs_res@tiXAxisString = "x ["+unit_x+"]"
+	 else
+	    cs_res@tiXAxisString = "x [m]"
+	 end if 
+	 if (norm_y .NE. 1.)then
+            cs_res@tiYAxisString = "y ["+unit_y+"]"
+	 else
+	    cs_res@tiYAxisString = "y [m]"
+	 end if   
+      end if
+      if (xzc .EQ. 1)then
+         cs_res@tmYLValues = z_d(array_yl) 
+         cs_res@tmXBValues = x_d(array_xb)  
+         cs_res@tmYLLabels = array_yl_labels/norm_z
+	 cs_res@tmXBLabels = array_xb_labels/norm_x
+	 if (norm_x .NE. 1.)then
+	    cs_res@tiXAxisString = "x ["+unit_x+"]"
+	 else
+	    cs_res@tiXAxisString = "x [m]"
+	 end if 
+	 if (norm_z .NE. 1.)then
+            cs_res@tiYAxisString = "z ["+unit_z+"]"
+	 else
+	    cs_res@tiYAxisString = "z [m]"
+	 end if
+      end if
+      if (yzc .EQ. 1)then
+         cs_res@tmYLValues = z_d(array_yl) 
+         cs_res@tmXBValues = y_d(array_xb)  
+         cs_res@tmYLLabels = array_yl_labels/norm_z
+	 cs_res@tmXBLabels = array_xb_labels/norm_y
+	 if (norm_y .NE. 1.)then
+	    cs_res@tiXAxisString = "y ["+unit_y+"]"
+	 else
+	    cs_res@tiXAxisString = "y [m]"
+	 end if 
+	 if (norm_z .NE. 1.)then
+            cs_res@tiYAxisString = "z ["+unit_z+"]"
+	 else
+	    cs_res@tiYAxisString = "z [m]"
+	 end if
+      end if
+      cs_res@tmYLMinorValues = array_minor_yl
+      cs_res@tmXBMinorValues = array_minor_xb
+   else 
+      if (axes_explicit .EQ. 0)then  
+         cs_res@tmYLMinorPerMajor = 4
+         cs_res@tmXBMinorPerMajor = 4
+      else
+         print(" ")
+	 print("'axes_explicit' is invalid and set to 0")
+	 print(" ")
+	 axes_explicit = 0
+	 cs_res@tmYLMinorPerMajor = 4
+         cs_res@tmXBMinorPerMajor = 4
+      end if
+      if (xyc .EQ. 1)then
+         cs_res@tiXAxisString = "x [m]"
+         cs_res@tiYAxisString = "y [m]"
+      end if
+      if (xzc .EQ. 1)then
+         cs_res@tiXAxisString = "x [m]"
+         cs_res@tiYAxisString = "z [m]"
+      end if
+      if (yzc .EQ. 1)then
+         cs_res@tiXAxisString = "y [m]"
+         cs_res@tiYAxisString = "z [m]"
+      end if
+   end if
+
+   if (xyc .EQ. 1 .OR. xzc .EQ.1)then
+      if (xe .EQ. xs+1) then
+         print(" ")
+         print("range end for x-coordinate="+xe*delta_x+"m) must be at least two") 
+         print("more gridpoints(="+2*delta_x+"m) greater than start range="+xs*delta_x+"m)")
+         print(" ")
+         exit
+      end if 
+   end if
+   if (xyc .EQ. 1 .OR. yzc .EQ.1)then
+      if (ye .EQ. ys+1) then
+         print(" ")
+         print("range end for y-coordinate="+ye*delta_y+"m) must be at least two") 
+         print("more gridpoints(="+2*delta_y+"m) greater than start range="+ys*delta_y+"m)")
+         print(" ")
+         exit
+      end if 
+   end if
+   if (xzc .EQ. 1 .OR. yzc .EQ.1)then
+      if (ze .EQ. zs+1) then
+         print(" ")
+         print("range end for x-coordinate="+ze+") must be at least two") 
+         print("more gridpoints greater than start range="+zs+")")
+         print(" ")
+         exit
+      end if 
+   end if
+  
+   if (xyc .EQ. 1) then
+      no_layer = (ze-zs)+1
+      data = new((/dim,nt,(ze-zs)+1,(ye-ys)+1,(xe-xs)+1/),float)
+   end if
+   if (xzc .EQ. 1) then
+      no_layer = (ye-ys)+1
+      data = new((/dim,nt,(ze-zs)+1,(ye-ys)+1,(xe-xs)+1/),float)
+   end if
+   if (yzc .EQ. 1) then
+      no_layer = (xe-xs)+1
+      data = new((/dim,nt,(ze-zs)+1,(ye-ys)+1,(xe-xs)+1/),float)
+   end if
+
+   MinVal = new(dim,float)
+   MaxVal = new(dim,float)
+   unit   = new(dim,string) 
+
+   ; ****************************************************
+   ; define inner and outer loops depending on "sort"
+   ; ****************************************************       
+    
+   if ( xyc .eq. 1 ) then
+      lays = zs
+      laye = ze
+   end if
+   if ( xzc .eq. 1 ) then
+      lays = ys
+      laye = ye
+   end if
+   if ( yzc .eq. 1) then
+      lays = xs
+      laye = xe
+   end if
+
+   if ( sort .eq. "time" ) then
+      lis = start_time_step
+      lie = end_time_step
+      los = lays
+      loe = laye
+   else
+      lis = lays
+      lie = laye
+      los = start_time_step 
+      loe = end_time_step
+   end if 
+
+   check = True
+   v1=0
+   v2=0
+   no_var=0
+   n=0
+   no_zu1=0
+
+   do varn=dim-1,0,1        
+    
+      if (vector .EQ. 1) then    
+         check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
+         check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
+      end if
+           
+      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
+         check = False
+      else
+         check = True
+      end if  
+
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," ) 
+      end if
+
+      if(check) then
+      
+         no_var=no_var+1
+
+         if (vector .EQ. 1) then
+            if (","+vNam(varn)+"," .EQ. vec1) then
+               v1=v1+1
+            end if
+            if (","+vNam(varn)+"," .EQ. vec2) then
+               v2=v2+1
+            end if
+         end if 
+
+         if (xyc .EQ. 1) then
+	    temp = f[:]->$vNam(varn)$
+	    data_att = f_att->$vNam(varn)$
+            if(vNam(varn) .eq. "ts_xy" .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy")
+              ;these variables depend zu1_xy and that's why they have only one z-layer
+              data(varn,:,0,:,:)=temp(:,0,ys:ye,xs:xe) 
+              no_zu1=no_zu1+1
+            else
+              data(varn,:,:,:,:)=temp(:,zs:ze,ys:ye,xs:xe) 
+            end if
+            delete(temp)	    	
+         end if
+         if ( xzc .eq. 1 ) then
+	    temp = f[:]->$vNam(varn)$
+	    data_att = f_att->$vNam(varn)$
+            data(varn,:,:,:,:)=temp(:,zs:ze,ys:ye,xs:xe) 
+            delete(temp)
+         end if
+         if ( yzc .eq. 1) then
+	    temp = f[:]->$vNam(varn)$
+	    data_att = f_att->$vNam(varn)$
+            data(varn,:,:,:,:)=temp(:,zs:ze,ys:ye,xs:xe) 
+            delete(temp)
+         end if
+         if (check_vec1) then
+            vect1=data(varn,:,:,:,:)
+         end if
+         if (check_vec2) then
+            vect2=data(varn,:,:,:,:)
+         end if
+
+         data!0 = "var"
+   	 data!1 = "t"
+   	 data!2 = "z"
+   	 data!3 = "y"
+   	 data!4 = "x"  
+
+         MinVal(varn) = min(data(varn,:,:,:,:))
+         MaxVal(varn) = max(data(varn,:,:,:,:))
+	 
+	 unit(varn) = data_att@units
+         delete(data_att)
+
+      end if
+
+   end do
+
+   if (no_var .EQ. 0) then
+      print(" ")
+      print("The variables var='"+var+"' do not exist on your input file;")
+      print("be sure to have one comma before and after each variable")
+      print(" ")
+      exit
+   end if
+
+   var_input=new(no_var,string)
+   numb=0
+   no_var=0
+   
+   do varn=dim-1,0,1   
+    
+      if (vector .EQ. 1) then    
+         check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
+         check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
+      end if
+           
+      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
+         check = False
+      else
+         check = True
+      end if  
+
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," ) 
+      end if
+
+      if(check) then     
+         var_input(numb)=vNam(varn) 
+	 numb=numb+1     
+      end if
+      
+      if (check) then
+         no_var = no_var+1
+      end if
+      
+   end do
+
+   if (no_var .EQ. 0) then
+      print(" ")
+      print("The variables var='"+var+"' do not exist on your input file;")
+      print("be sure to have one comma before and after each variable")
+      print(" ")
+      exit
+   end if
+
+   if (vector .EQ. 1) then
+      if (v1 .EQ. 0)then
+         print(" ")
+         print("Component 1 for the vector-plot ('vec1') must be one of the varibles on the input file:")
+	 print("- "+var_input)
+	 print("be sure to have one comma before and after the variable")
+         print(" ")
+         exit
+      end if
+
+      if (v2 .EQ. 0)then
+         print(" ")
+         print("Component 2 for the vector-plot ('vec2') must be one of the varibles on the input file:")
+	 print("- "+var_input)
+	 print("be sure to have one comma before and after the variable")
+         print(" ")
+         exit
+      end if
+   end if
+
+   ; ***************************************************
+   ; open workstation(s) 
+   ; ***************************************************
+
+   wks_ps  = gsn_open_wks(format_out,file_out)
+   gsn_define_colormap(wks_ps,"rainbow+white")
+
+   if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec") then
+      plot=new((/no_time*no_layer*no_var - no_time*(no_layer-1)*no_zu1 \
+                                         + no_time*no_layer/),graphic)
+   else
+      plot=new((/no_time*no_layer*no_var - no_time*(no_layer-1)*no_zu1/),graphic)
+   end if
+   dim_plot=dimsizes(plot)
+
+   page = 0
+   n=0
+   print(" ")
+   print("Plots sorted by '"+sort+"'")
+   print(" ")
+
+   ; ***************************************************
+   ; create plots 
+   ; ***************************************************
+
+
+   if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec") then
+      do lo = los, loe           				
+         do li = lis, lie
+	    if (xyc .EQ. 1)then
+	       if (sort .EQ. "time")then
+                  if(z_d(lo) .eq. -1.d) then
+                    level = "z-average"
+                  else
+                    level = "z=" + z_d(lo) + "m"
+                  end if
+	       else
+                  if(z_d(li) .eq. -1.d) then
+                    level = "z-average"
+                  else
+	            level = "z=" + z_d(li) + "m"
+                  end if
+	       end if
+	    end if
+	    if (xzc .EQ. 1)then
+	       if (sort .EQ. "time")then
+                 if(y_d(lo) .eq. -1.d) then
+                   level = "y-average"
+                 else
+                   level = "y=" + y_d(lo) + "m" 
+                 end if
+	       else
+                  if(y_d(li) .eq. -1.d) then
+                    level = "y-average"
+                  else
+	            level = "y=" + y_d(li) + "m"
+                  end if
+	       end if
+	    end if
+	    if (yzc .EQ. 1)then
+	       if (sort .EQ. "time")then
+                 if(x_d(lo) .eq. -1.d) then
+                    level = "x-average"
+                 else
+                    level = "x=" + x_d(lo) + "m" 
+                 end if
+	       else
+                 if(x_d(li) .eq. -1.d) then
+                    level = "x-average"
+                 else
+	            level = "x=" + x_d(li) + "m" 
+                 end if
+	       end if
+	    end if	    	  
+            vecres                  = True            ; vector only resources
+            vecres@gsnDraw          = False           ; don't draw
+  	    vecres@gsnFrame         = False           ; don't advance frame
+            vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  	    vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  	    vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  	    vecres@gsnRightString   = "Vector plot of "+vec1+" and "+vec2
+	    vecres@tmXBLabelFontHeightF   = font_size
+            vecres@tmYLLabelFontHeightF   = font_size
+            vecres@tiXAxisFontHeightF     = font_size
+            vecres@tiYAxisFontHeightF     = font_size
+	    if (sort .EQ. "time")then
+               vecres@gsnLeftString = "t=" + decimalPlaces(t_all(li)/3600,2,True) +"h   "+level	
+	    else
+	       vecres@gsnLeftString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) +"h   "+level	
+	    end if
+	    vecres@tiXAxisString    = " " 
+	    if (xyc .EQ. 1)then  
+	       if (sort .EQ. "time")then                                          
+                  plot(n) = gsn_csm_vector(wks_ps,vect1(li,lo-los,:,:),vect2(li,lo-los,:,:),vecres)
+	       else
+	          plot(n) = gsn_csm_vector(wks_ps,vect1(lo,li-lis,:,:),vect2(lo,li-lis,:,:),vecres)
+	       end if
+	    end if
+	    if (xzc .EQ. 1) then
+	       if (sort .EQ. "time")then 
+	          plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),vect2(li,:,lo-los,:),vecres)
+	       else
+	          plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),vect2(lo,:,li-lis,:),vecres)
+	       end if
+	    end if
+	    if (yzc .EQ. 1) then
+	       if (sort .EQ. "time")then 
+	          plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),vect2(li,:,:,lo-los),vecres)
+	       else
+	          plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),vect2(lo,:,:,li-lis),vecres)
+	       end if
+	    end if
+            n=n+1
+         end do
+      end do
+   end if
+ 
+   do varn=dim-1,0,1 
+
+      if (vector .EQ. 1) then    
+         check_vecp = isStrSubset( plotvec,","+vNam(varn)+",") 
+      end if 
+     
+      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
+         check = False 
+      else
+         check = True
+      end if   
+  
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," ) 
+      end if 
+    
+      if(check) then
+
+         space=(MaxVal(varn)-MinVal(varn))/24
+  
+         cs_res@cnMinLevelValF = MinVal(varn)
+         cs_res@cnMaxLevelValF = MaxVal(varn) 
+
+         cs_res@cnLevelSpacingF = space
+      
+         ; ****************************************************
+         ; loops over time and layer
+         ; **************************************************** 
+
+         
+         do lo = los, loe           				
+            do li = lis, lie
+
+               ; ****************************************************
+               ; xy cross section
+               ; ****************************************************
+
+               if ( xyc .eq. 1 ) then 
+          
+                  cs_res@gsnLeftString = "Plot of "+vNam(varn)
+		  cs_res@gsnRightString = unit(varn)
+                  
+                  if ( sort .eq. "time" ) then
+                     if ( z_d(lo) .eq. -1)then
+		        if (delta_z .EQ. -1) then
+                           level = "-average"
+			else
+			   level = "=" + z_d(lo) + "m"
+			end if
+                     else 
+                        level = "=" + z_d(lo) + "m"
+                     end if
+
+                     if(vNam(varn) .eq. "ts_xy" .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy")then
+                         loe = 0
+                         level = "=" + zu1(0) + "m"
+                     end if
+                    
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level		                       
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,li,lo-los,:,:),cs_res) 
+                     if (vector .EQ. 1 .AND. check_vecp) then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  	                vecres@gsnFrame         = False           ; don't advance frame
+  	                vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  		        vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  		        vecres@vcRefLengthF     = 0.05            ; define length of vec ref  
+                        vecres@gsnRightString   = " "
+                        vecres@gsnLeftString    = " " 
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(li,lo-los,:,:),vect2(li,lo-los,:,:),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if                         
+                  end if
+                 
+                  if ( sort .eq. "layer" ) then
+		     if (z_d(zs+li) .eq. -1) then
+		        if (delta_z .EQ. -1) then
+                           level = "-average"
+			else
+			   level = "=" + z_d(li) + "m"
+			end if
+                     else 
+                        level = "=" + z_d(li) + "m"
+                     end if 
+       
+                     if(vNam(varn) .eq. "ts_xy" .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy")then
+                         lie = 0
+                         level = "=" + zu1(0) + "m"
+                     end if
+                
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  z"+ level
+                     
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,li-lis,:,:),cs_res)
+                     if (vector .EQ. 1 .AND. check_vecp) then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  			vecres@gsnFrame         = False           ; don't advance frame
+  			vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  			vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  			vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  			vecres@gsnRightString   = " "             ; turn off right string
+  			vecres@gsnLeftString    = " "             ; turn off left string
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,li,:,:),vect2(lo,li,:,:),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if
+                  end if
+               end if
+
+               ; ****************************************************
+               ; xz cross section
+               ; ****************************************************
+
+               if ( xzc .eq. 1 ) then
+                  
+		  cs_res@gsnLeftString = "Plot of "+vNam(varn)
+               
+                  if ( sort .eq. "time" ) then
+                     if ( y_d(lo) .eq. -1 ) then
+                        level = "-average"
+                     else 
+                        level = "=" + y_d(lo) + "m"
+                     end if
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) + "h  y"+ level
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,li,:,lo-los,:),cs_res)
+                     if (vector .EQ. 1 .AND. check_vecp) then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  			vecres@gsnFrame         = False           ; don't advance frame
+  			vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  			vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  			vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  			vecres@gsnRightString   = " "             ; turn off right string
+  			vecres@gsnLeftString    = " "             ; turn off left string
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),vect2(li,:,lo-los,:),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if
+                  end if
+
+                  if ( sort .eq. "layer" ) then
+                     if ( y_d(li) .eq. -1 ) then
+                        level = "-average"
+                     else 
+                        level = "=" + y_d(li) + "m"
+                     end if
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  y"+ level
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,:,li-lis,:),cs_res)
+                     if (vector .EQ. 1 .AND. check_vecp) then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  			vecres@gsnFrame         = False           ; don't advance frame
+  			vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  			vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  			vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  			vecres@gsnRightString   = " "             ; turn off right string
+  			vecres@gsnLeftString    = " "             ; turn off left string
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),vect2(lo,:,li-lis,:),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if
+                  end if                  
+               end if
+
+               ; ****************************************************
+               ; yz cross section
+               ; ****************************************************
+
+               if ( yzc .eq. 1 ) then
+                                  
+		  cs_res@gsnLeftString = "Plot of "+vNam(varn)
+
+                  if ( sort .eq. "time" ) then
+                     if ( x_d(xs+lo) .eq. -1 ) then
+                        level = "-average"
+                     else 
+                        level = "=" + x_d(lo) + "m"
+                     end if
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) + "h  x"+ level
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,li,:,:,lo-los),cs_res)
+    	             if (vector .EQ. 1 .AND. check_vecp) then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  			vecres@gsnFrame         = False           ; don't advance frame
+  			vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  			vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  			vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  			vecres@gsnRightString   = " "             ; turn off right string
+  			vecres@gsnLeftString    = " "             ; turn off left string
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),vect2(li,:,:,lo-los),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if
+                  end if
+
+                  if ( sort .eq. "layer" ) then
+                     if ( x_d(xs+li) .eq. -1 ) then
+                        level = "-average"
+                     else 
+                        level = "=" + x_d(li) + "m"
+                     end if
+                     cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  x"+ level
+                     plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,:,:,li-lis),cs_res)
+                     if (vector .EQ. 1 .AND. check_vecp)then
+                        vecres                  = True            ; vector only resources
+  			vecres@gsnDraw          = False           ; don't draw
+  			vecres@gsnFrame         = False           ; don't advance frame
+  			vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
+  			vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
+  			vecres@vcRefLengthF     = 0.05            ; define length of vec ref
+  			vecres@gsnRightString   = " "             ; turn off right string
+  			vecres@gsnLeftString    = " "             ; turn off left string
+  			vecres@tiXAxisString    = " "   
+                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),vect2(lo,:,:,li-lis),vecres)
+                        overlay(plot(n), plot_vec)
+                     end if 
+                  end if
+               end if	      
+               n=n+1  
+            end do 	
+         end do  
+      end if
+   end do
+
+   ; ***************************************************
+   ; merge plots onto one page 
+   ; ***************************************************   
+   if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec")then 
+      if (format_out .EQ. "eps" .OR. format_out .EQ. "epsi") then
+         gsn_panel(wks_ps,plot(0:(no_time*no_layer*(no_var+1))-1),(/no_var+1,no_layer*no_time/),cs_resP)
+         print(" ")
+         print("Outputs to .eps or .epsi have only one frame")
+         print(" ")
+      else
+         do np = 0,dim_plot-1,no_rows*no_columns   
+            if ( np + no_rows*no_columns .gt. dim_plot-1) then 
+               gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),cs_resP)
+            else
+               gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),cs_resP)
+            end if
+         end do
+      end if
+   else       
+      if (format_out .EQ. "eps" .OR. format_out .EQ. "epsi") then
+         gsn_panel(wks_ps,plot(0:dim_plot-1),(/dim_plot,1/),cs_resP)
+         print(" ")
+         print("Outputs to .eps or .epsi have only one frame")
+         print(" ")
+      else
+         do np = 0,dim_plot-1,no_rows*no_columns  
+            if ( np + no_rows*no_columns .gt. dim_plot-1) then
+               gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),cs_resP)
+            else
+               gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),cs_resP)
+            end if
+         end do
+      end if
+   end if
+
+   print(" ")
+   print("Output to: " + file_out +"."+ format_out)
+   print(" ")  	
+ 
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/ncl_preferences.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/ncl_preferences.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/ncl_preferences.ncl	(revision 393)
@@ -0,0 +1,2291 @@
+begin
+
+;********************************************************* 
+
+script=which_script
+   
+;*********************************************************
+   
+   ;******************************************************
+   ; parameters used by CROSS_SECTIONS
+   ;******************************************************
+   
+   if (script .EQ. "cross_section")then
+   
+      ;***************************************************
+      ; REQUIRED --file_1-- INPUT FILE
+      ;
+      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_1 = "/path_to_file/file_xy_av"      if you use more than one cycle number
+      ;          file_1 = "/path_to_file/file_xy_av.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_1"))then
+
+
+         file_1 = "File in"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   start_f = 3 (if first file: example_xy_av.3.nc) and 0 (if first file: example_xy_av.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f"))then  
+      
+          
+         start_f = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   end_f = 48 (if last file: example_xy_av.48.nc) and 0 (if last file: example_xy_av.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f"))then  
+      
+          
+         end_f = -1
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED --xyc--xzc--yzc-- SELECTION of XY or XZ or YZ CROSS SECTIONS
+      ;
+      ; desired section has to be set to 1; e.g.: xyc=1, xzc=0 and yzc=0 for xy-section
+      ;
+      ; data type: integer
+      ;
+      ; example: xyc = 1
+      ;	         xzc = 0
+      ;	         yzc = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if(.not. isvar("xyc"))then      
+       
+         xyc = 0
+	
+      end if
+      if (.not. isvar("xzc"))then
+      
+	 xzc = 0
+	
+      end if
+      if (.not. isvar("yzc"))then
+      
+	 yzc = 0
+	 	 
+      end if	 	 
+      ;***************************************************
+      ; OPTIONAL --format_out-- OUTPUT FORMAT
+      ;
+      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm 
+      ;
+      ; data type: string
+      ;
+      ; example: format_out = "pdf"
+      ;
+      ; default:   "x11" 
+      ;***************************************************
+      if(.not. isvar("format_out"))then	 
+      
+      
+         format_out = "x11"
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --file_out-- OUTPUT FILE
+      ;
+      ; path and name of the output file
+      ;
+      ; data type: string
+      ;
+      ; example: file_out = "/home/path_to_output/test_cs"
+      ;
+      ; default:   "~/test_cs" 
+      ;***************************************************
+      if(.not. isvar("file_out"))then	 
+      
+      
+         file_out = "~/test_cs"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
+      ;
+      ; number of plots in one row 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_columns = 1
+      ;
+      ; default:   1
+      ;***************************************************
+      if(.not. isvar("no_columns"))then	 
+      
+      
+         no_columns = 1
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --no_rows-- NUMBER OF ROWS
+      ;
+      ; number of plots in one column 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_rows = 2
+      ;
+      ; default:   2 
+      ;***************************************************
+      if(.not. isvar("no_rows"))then	 
+      
+      
+         no_rows = 2
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --sort-- TYPE OF SORTING 
+      ;
+      ; sequence of plots; sorting either by time step [="time"] or by layer/height [="layer"]
+      ;
+      ; data type: string
+      ;
+      ; example: sort = "layer"
+      ;
+      ; default:   "layer" 
+      ;***************************************************
+      if(.not. isvar("sort"))then	 
+      
+      
+         sort = "layer"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --var-- OUTPUT VARIABLES
+      ;
+      ; names of output variables; inidcate them with one comma before and after each variable
+      ;
+      ; data type: string 
+      ; 
+      ; example: var = ",u,v,w,"
+      ;
+      ; default:   "all" (all available variables are plotted)
+      ;***************************************************
+      if(.not. isvar("var"))then
+      
+      	 
+         var = "all"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --start_time_step-- FIRST TIME STEP
+      ;
+      ; first time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'start_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   start_time_step = 0.5 
+      ;
+      ; default:   -1.d (first available time step)
+      ;***************************************************
+      if(.not. isvar("start_time_step"))then
+      
+      	 
+         start_time_step = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --end_time_step-- LAST TIME STEP
+      ;
+      ; last time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'end_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   end_time_step = 2.0
+      ;
+      ; default:   -1.d (last available time step)
+      ;***************************************************
+      if(.not. isvar("end_time_step"))then	 
+      
+      
+         end_time_step = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --xs-- MINIMUM X-AXIS 
+      ;
+      ; value for minimum of x-axis, selectable if there are NO preseted layers for x (as for XY or XZ 2D-DATA);
+      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
+      ;
+      ; data type: double; dimension: [meter]
+      ;
+      ; example: xs = 150.0
+      ;
+      ; default:   -1.d (minimum of range)
+      ;***************************************************
+      if(.not. isvar("xs"))then      
+      
+      
+         xs = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --xe-- MAXIMUM X-AXIS 
+      ;
+      ; value for maximum of x-axis, selectable if there are NO preseted layers for x (as for XY or XZ 2D-DATA);
+      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
+      ;
+      ; data type: double; dimension: [meter] 
+      ;
+      ; example: xe = 300.0
+      ;
+      ; default:   -1.d (maximum of range)
+      ;***************************************************
+      if(.not. isvar("xe"))then      
+      
+      
+         xe = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --ys-- MINIMUM Y-AXIS 
+      ;
+      ; value for minimum of y-axis, selectable if there are NO preseted layers for y (as for XY or YZ 2D-DATA);
+      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
+      ;
+      ; data type: double; dimension: [meter]
+      ;
+      ; example: ys = 150.0
+      ;
+      ; default:   -1.d (minimum of range)
+      ;***************************************************
+      if(.not. isvar("ys"))then      
+      
+      
+         ys = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --ye-- MAXIMUM Y-AXIS 
+      ;
+      ; value for maximum of y-axis, selectable if there are NO preseted layers for y (as for XY or YZ 2D-DATA);
+      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value 
+      ;
+      ; data type: double; dimension: [meter]
+      ;
+      ; example: ye = 300.0
+      ;
+      ; default:   -1.d (maximum of range)
+      ;***************************************************
+      if(.not. isvar("ye"))then   
+      
+         
+         ye = -1.d
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --zs-- MINIMUM Z-AXIS 
+      ;
+      ; index for minimum of z-axis, selectable if there are NO preseted layers for z (as for XZ or YZ 2D-DATA);
+      ; you cannot specify a meter value from the input file due to grid stretching  
+      ;
+      ; data type: integer
+      ;
+      ; example: zs = 0
+      ;
+      ; default:   -1 (minimum of range)
+      ;***************************************************
+      if(.not. isvar("zs"))then      
+      
+      
+         zs = -1
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --ze-- MAXIMUM Z-AXIS 
+      ;
+      ; index for maximum of z-axis, selectable if there are NO preseted layers for z (as for XZ or YZ 2D-DATA);
+      ; you cannot specify a meter value from the input file due to grid stretching  
+      ;
+      ; data type: integer
+      ;
+      ; example: ze = 15
+      ;
+      ; default:   -1 (maximum of range)
+      ;***************************************************
+      if(.not. isvar("ze"))then
+      
+            
+         ze = -1
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --mode-- TYPE OF PLOT 
+      ;
+      ; isoline plots [="Line"], contour plots [="Fill"] or both [="Both"] can be choosen 
+      ;
+      ; data type: string
+      ;
+      ; example: mode = "Fill"
+      ;
+      ; default:   "Fill" 
+      ;***************************************************
+      if(.not. isvar("mode"))then	 
+      
+      
+         mode = "Fill"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --fill_mode-- TYPE OF FILLING 
+      ;
+      ; area fill [="AreaFill"], raster fill [="RasterFill"] or cell fill [="CellFill"] can be choosen 
+      ;
+      ; data type: string
+      ;
+      ; example: fill_mode = "AreaFill"
+      ;
+      ; default:   "AreaFill" 
+      ;***************************************************
+      if(.not. isvar("fill_mode"))then	 
+      
+      
+         fill_mode = "AreaFill"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --shape-- ASPECT RATIO 
+      ;
+      ; aspect ratio of axis is kept [=1] or not[=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: shape = 1
+      ;
+      ; default:   1 
+      ;***************************************************
+      if(.not. isvar("shape"))then
+      
+      	 
+         shape = 1
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS 
+      ;
+      ; font size can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size = 0.04
+      ;
+      ; default:   0.04 
+      ;***************************************************
+      if(.not. isvar("font_size"))then
+      
+      	 
+         font_size = 0.04
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS 
+      ;
+      ; font size of the legend can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size_legend = 0.02
+      ;
+      ; default:   0.02 
+      ;***************************************************
+      if(.not. isvar("font_size_legend"))then
+      
+      	 
+         font_size_legend = 0.02
+	 
+	 
+      end if	
+      ;***************************************************
+      ; OPTIONAL --legend_label_stride-- REDUCTION OF THE NUMBER OF LABELS IN THE LEGEND
+      ;
+      ; if legend_label_stride is set to 1 every label is shown; if set to 2 every second,...
+      ;
+      ; data type: integer
+      ;
+      ; example: legend_label_stride = 2
+      ;
+      ; default:   2 
+      ;***************************************************
+      if(.not. isvar("legend_label_reduction"))then
+      
+      	 
+         legend_label_stride = 2
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --axes_explicit-- EXPLICIT SETTINGS OF X- AND Y-AXES ARE SWITCHED ON
+      ;
+      ; to use several parameters to set up the axes, 'axes_explicit' must be switched [=1]; if switched off [=0] units of axes are [gridpoints]
+      ;
+      ; data type: integer
+      ;
+      ; example: axes_explicit = 0
+      ;
+      ; default:   0 
+      ;***************************************************
+      if(.not. isvar("axes_explicit"))then
+      
+      	 
+         axes_explicit = 0
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL if axes_explicit = 1 --major_ticks_x-- NUMBER OF MAJOR TICK MARKS AT X-AXIS
+      ;
+      ; major_ticks_x can be set to any integer, best segmentation of x-axis can be achieved, if 
+      ; (number of gripdpoints in x-direction)/(major_ticks_x-1)=INTEGER, e.g. 128/8 = 16 -> major_ticks_x should be set to 9
+      ;
+      ; data type: integer
+      ;
+      ; example: major_ticks_x = 6
+      ;
+      ; default:   6 
+      ;***************************************************
+      if(.not. isvar("major_ticks_x"))then
+      
+      	 
+         major_ticks_x = 6
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL if axes_explicit = 1 --major_ticks_y-- NUMBER OF MAJOR TICK MARKS AT Y-AXIS
+      ;
+      ; major_ticks_y can be set to any integer, best segmentation of y-axis can be achieved, if 
+      ; (number of gripdpoints in y-direction)/(major_ticks_y-1)=INTEGER, e.g. 128/8 = 16 -> major_ticks_y should be set to 9
+      ;
+      ; data type: integer
+      ;
+      ; example: major_ticks_y = 6
+      ;
+      ; default:   6 
+      ;***************************************************
+      if(.not. isvar("major_ticks_y"))then
+      
+      	 
+         major_ticks_y = 6
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL if axes_explicit = 1 --norm_x--norm_y--norm_z-- NORMALISE X-, Y- and Z-AXES
+      ;
+      ; normalising the axes with the given value; units can explicitly set; by default no normalising is used and units are [meter]
+      ;
+      ; data type: float
+      ;
+      ; default:   1. 
+      ;***************************************************
+      if(.not. isvar("norm_x"))then      
+      	 
+         norm_x = 1.	 
+	 
+      end if
+      if(.not. isvar("norm_y"))then      
+      	 
+         norm_y = 1.	 
+	 
+      end if
+      if(.not. isvar("norm_z"))then      
+      	 
+         norm_z = 1.	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL if axes_explicit = 1 --unit_x--unit_y--unit_z-- UNITS OF X-, Y- and Z-AXES
+      ;
+      ; units of the axes can be set; by default no units are given, if norm_x, norm_y or norm_z are unequal 1., otherwise units are [meter]
+      ;
+      ; data type: string, 
+      ;
+      ; example: unit_x = "m/s"
+      ;
+      ; default:   " " 
+      ;***************************************************
+      if(.not. isvar("unit_x"))then      
+      	 
+         unit_x = " "	 
+	 
+      end if
+      if(.not. isvar("unit_y"))then      
+      	 
+         unit_y = " "	 
+	 
+      end if
+      if(.not. isvar("unit_z"))then      
+      	 
+         unit_z = " "	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --vector-- VECTOR PLOT 
+      ;
+      ; a vector plot for one defined vector is switched on [=1] or off [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: vector = 0
+      ;
+      ; default:   0 
+      ;***************************************************
+      if(.not. isvar("vector"))then
+      
+      	 
+         vector = 0
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; REQUIRED IF vector=1 --vec1, vec2-- VECTOR FOR VECTOR PLOT 
+      ;
+      ; variables for the vector, vec1 hast to be set to component 1 and vec2 to component 2;
+      ; inidcate them with one comma before and after each variable;
+      ;
+      ; data type: string
+      ;
+      ; example: vec1=",u,"
+      ;          vec2=",v,"
+      ;
+      ; default:   vec1 = "component1", vec2 = "component2" 
+      ;***************************************************
+      if(.not. isvar("vec1"))then     
+      	 
+         vec1 = "component1"
+	 
+      end if
+      if (.not. isvar("vec2"))then 
+      
+	 vec2 = "component2"	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --plotvec-- VARIABLE FOR EXTRA VECTOR PLOT
+      ;
+      ; the vector plot can be combined with other plots of variables; if this is desired inidcate the variables, 
+      ; where a vector plot shall overlay; inidcate them with one comma before and after each variable
+      ;
+      ; data type: string
+      ;
+      ; example: plotvec = ",u,w,"
+      ;
+      ; default:   "plotvec" (no combining, the vector plot is created seperately) 
+      ;***************************************************
+      if(.not. isvar("plotvec"))then
+      
+      	 
+         plotvec = "plotvec"
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --ref_mag-- REFERENCE VECTOR 
+      ;
+      ; length of the reference vector in a vector plot
+      ;
+      ; data type: float
+      ;
+      ; example: ref_mag = 0.05
+      ;
+      ; default:   0.05 
+      ;***************************************************
+      if(.not. isvar("ref_mag"))then
+      
+      	 
+         ref_mag = 0.05 
+	 
+	 
+      end if      	 
+      ;***************************************************
+
+   end if 
+
+   ;******************************************************
+   ; parameters used by PROFILES
+   ;******************************************************
+   
+   if (script .EQ. "profiles")then
+
+      ;***************************************************
+      ; REQUIRED --file_1-- 1ST INPUT FILE
+      ;
+      ; 1st input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_1 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_1 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_1"))then
+
+
+         file_1 = "File in"
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_1-- START OF CYCLIC NUMBER OF THE 1ST INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_pr.3.nc) and 0 (if first file: example_pr.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_1"))then  
+      
+          
+         start_f_1 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_1-- END OF CYCLIC NUMBER OF THE 1ST INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_pr.48.nc) and 0 (if last file: example_pr.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_1"))then  
+      
+          
+         end_f_1 = -1
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --format_out-- OUTPUT FORMAT
+      ;
+      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm 
+      ;
+      ; data type: string
+      ;
+      ; default:   "x11" 
+      ;***************************************************
+      if (.not. isvar("format_out"))then	 
+      
+      
+         format_out = "x11"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --file_out-- OUTPUT FILE
+      ;
+      ; declare path and name of the output file
+      ;
+      ; data type: string
+      ;
+      ; default:   "~/test_pr" 
+      ;***************************************************
+      if (.not. isvar("file_out"))then	
+      
+       
+         file_out = "~/test_pr"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
+      ;
+      ; number of plots in one row 
+      ;
+      ; data type: integer
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("no_columns"))then	 
+      
+      
+         no_columns = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_rows-- NUMBER OF ROWS
+      ;
+      ; number of plots in one column 
+      ;
+      ; data type: integer
+      ;
+      ; default:   2 
+      ;***************************************************
+      if (.not. isvar("no_rows"))then	
+      
+       
+         no_rows = 2
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --var-- OUTPUT VARIABLES
+      ;
+      ; names of output variables; inidcate them with one comma before and after each variable
+      ;
+      ; data type: string 
+      ; 
+      ; example: var = ",u,v,w,"; 
+      ;
+      ; default:   "all" (all available variables are plotted)
+      ;***************************************************
+      if (.not. isvar("var"))then
+      
+      	 
+         var = "all"
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --legend-- SWITCHES ON A LEGEND
+      ;
+      ; a legend is switched on [=1] or off [=0]
+      ;
+      ; data type: integer 
+      ; 
+      ; example: legend = 1 
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("legend"))then
+      
+      	 
+         legend = 1 
+	 
+	 
+      end if    
+      ;***************************************************
+      ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES
+      ;
+      ; up to 6 input files of different runs can be used; all input files must contain the same variables and dimensionalties;
+      ; identical variables are merged in one plot;
+      ; combining or overlaying of any variables is not feasible;
+      ; an extra legend (besides the time step legend) is drawn where you can explicitily name the items
+      ;
+      ; data type: integer
+      ;
+      ; default:   1 
+      ;***************************************************
+      if (.not. isvar("no_files"))then
+      
+      	 
+         no_files = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --name_legend_1-- 1st LEGEND ITEM
+      ;
+      ; if no_files > 1: name of 1st item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 1" 
+      ;***************************************************
+      if (.not. isvar("name_legend_1"))then 
+      
+           
+         name_legend_1 = "File 1"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if no_files > 1 --file_2-- 2ND INPUT FILE
+      ;
+      ; 2nd input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_2 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_2 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_2"))then
+
+
+         file_2 = "File in" 
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_2-- START OF CYCLIC NUMBER OF THE 2ND INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_ts.3.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_2"))then  
+      
+          
+         start_f_2 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_2-- END OF CYCLIC NUMBER OF THE 2ND INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_ts.48.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_2"))then  
+      
+          
+         end_f_2 = -1 
+	 
+	 
+      end if 	 	 
+      ;***************************************************
+      ; OPTIONAL --name_legend_2-- 2nd LEGEND ITEM
+      ;
+      ; if no_files > 1: name of 2nd item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 2" 
+      ;***************************************************
+      if (.not. isvar("name_legend_2"))then   
+      
+         
+         name_legend_2 = "File 2"
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED if no_files > 2 --file_3-- 3RD INPUT FILE
+      ;
+      ; 3rd input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_3 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_3 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_3"))then
+
+
+         file_3 = "File in" 
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_3-- START OF CYCLIC NUMBER OF THE 3RD INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_ts.3.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_3"))then  
+      
+          
+         start_f_3 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_3-- END OF CYCLIC NUMBER OF THE 3RD INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_ts.48.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_3"))then  
+      
+          
+         end_f_3 = -1 
+	 
+	 
+      end if   
+      ;***************************************************
+      ; OPTIONAL --name_legend_3-- 3rd LEGEND ITEM
+      ;
+      ; if no_files > 2: name of 3rd item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 3" 
+      ;***************************************************
+      if (.not. isvar("name_legend_3"))then 
+      
+           
+         name_legend_3 = "File 3"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if no_files > 3 --file_4-- 4TH INPUT FILE
+      ;
+      ; 4th input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_4 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_4 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_4"))then
+
+
+         file_4 = "File in" 
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_4-- START OF CYCLIC NUMBER OF THE 4TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_ts.3.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_4"))then  
+      
+          
+         start_f_4 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_4-- END OF CYCLIC NUMBER OF THE 4TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_ts.48.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_4"))then  
+      
+          
+         end_f_4 = -1 
+	 
+	 
+      end if  
+      ;***************************************************
+      ; OPTIONAL --name_legend_4-- 4th LEGEND ITEM
+      ;
+      ; if no_files > 3: name of 4th item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 4" 
+      ;***************************************************
+      if (.not. isvar("name_legend_4"))then    
+      
+        
+         name_legend_4 = "File 4"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if no_files > 4 --file_5-- 5TH INPUT FILE
+      ;
+      ; 5th input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_5 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_5 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_5"))then
+
+
+         file_5 = "File in" 
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_5-- START OF CYCLIC NUMBER OF THE 5TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_ts.3.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_5"))then  
+      
+          
+         start_f_5 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_5-- END OF CYCLIC NUMBER OF THE 5TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_ts.48.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_5"))then  
+      
+          
+         end_f_5 = -1 
+	 
+	 
+      end if   	 
+      ;***************************************************
+      ; OPTIONAL --name_legend_5-- 5th LEGEND ITEM
+      ;
+      ; if no_files > 4: name of 5th item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 5" 
+      ;***************************************************
+      if (.not. isvar("name_legend_5"))then 
+      
+           
+         name_legend_5 = "File 5"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if no_files > 5 --file_6-- 6TH INPUT FILE
+      ;
+      ; 6th input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_6 = "/path_to_file/file_pr"      if you use more than one cycle number
+      ;          file_6 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_6"))then
+
+
+         file_6 = "File in" 
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --start_f_6-- START OF CYCLIC NUMBER OF THE 6TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   3 (if first file: example_ts.3.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f_6"))then  
+      
+          
+         start_f_6 = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED --end_f_6-- END OF CYCLIC NUMBER OF THE 6TH INPUT FILE
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   48 (if last file: example_ts.48.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f_6"))then  
+      
+          
+         end_f_6 = -1 
+	 
+	 
+      end if       	  	 
+      ;***************************************************
+      ; OPTIONAL --name_legend_6-- 6TH LEGEND ITEM
+      ;
+      ; if no_files > 5: name of 6th item in extra legend
+      ;
+      ; data type: string
+      ;
+      ; default:   "File 6" 
+      ;***************************************************
+      if (.not. isvar("name_legend_6"))then 
+      
+           
+         name_legend_6 = "File 6"
+	 
+	 
+      end if 	  	 
+      ;***************************************************
+      ; OPTIONAL --start_time_step-- FIRST TIME STEP
+      ;
+      ; first time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'start_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   start_time_step = 0.5
+      ;
+      ; default:   -1.d (first available time step)
+      ;***************************************************
+      if (.not. isvar("start_time_step"))then	
+      
+       
+         start_time_step = -1.d
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --end_time_step-- LAST TIME STEP
+      ;
+      ; last time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'end_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   end_time_step = 2.0
+      ;
+      ; default:   -1.d (last available time step)
+      ;***************************************************
+      if (.not. isvar("end_time_step"))then
+      
+      	 
+         end_time_step = -1.d    
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --time_stride-- TEMPORAL STRIDE 
+      ;
+      ; temporal stride for the plots; if time_stride=1 all the profiles between first_time_step
+      ; and end_time_step are plotted (including first_time_step and end_time_step), 
+      ; if time_stride=3 every third time step between start_time_step and end_time_step is plotted
+      ;
+      ; data type: integer
+      ;
+      ; example:   time_stride = 3
+      ;
+      ; default:   1 
+      ;***************************************************
+      if (.not. isvar("time_stride"))then	
+      
+       
+         time_stride = 1
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION  
+      ;
+      ; if 3D data is used for profiles you can choose a startvalue in x-direction for horizontal averaging 
+      ;
+      ; data type: integer; dimension [grippoint]
+      ;
+      ; example: start_x = 0
+      ;
+      ; default:   0 (minimum of range)
+      ;***************************************************
+      if (.not. isvar("start_x"))then   
+      
+         
+         start_x = 0
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION  
+      ;
+      ; if 3D data is used for profiles you can choose an endvalue in x-direction for horizontal averaging 
+      ;
+      ; data type: integer; dimension [grippoint]
+      ;
+      ; example: end_x = 200
+      ;
+      ; default:   -1 (maximum of range excluding ghostpoint)
+      ;***************************************************
+      if (.not. isvar("end_x"))then   
+      
+         
+         end_x = -1
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION  
+      ;
+      ; if 3D data is used for profiles you can choose a startvalue in y-direction for horizontal averaging 
+      ;
+      ; data type: integer; dimension [grippoint]
+      ;
+      ; example: start_y = 0
+      ;
+      ; default:   0 (minimum of range)
+      ;***************************************************
+      if (.not. isvar("start_y"))then   
+      
+         
+         start_y = 0
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION  
+      ;
+      ; if 3D data is used for profiles you can choose an endvalue in y-direction for horizontal averaging 
+      ;
+      ; data type: integer; dimension [grippoint]
+      ;
+      ; example: end_y = 200
+      ;
+      ; default:   -1 (maximum of range excluding ghostpoint)
+      ;***************************************************
+      if (.not. isvar("end_y"))then   
+      
+         
+         end_y = -1
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --xs-- MINIMUM X-AXIS 
+      ;
+      ; value for minimum of x-axis
+      ;
+      ; data type: float; dimension of variable
+      ;
+      ; example: xs = 300. (e.g. if var=",pt")
+      ;
+      ; default:   -1. (minimum of range)
+      ;***************************************************
+      if (.not. isvar("xs"))then   
+      
+         
+         xs = -1.
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --xe-- MAXIMUM X-AXIS 
+      ;
+      ; value for maximum of x-axis
+      ;
+      ; data type: float; dimension of variable
+      ;
+      ; example: xe = 302. (e.g. if var=",pt")
+      ;
+      ; default:   -1. (maximum of range)
+      ;***************************************************
+      if (.not. isvar("xe"))then  
+      
+          
+         xe = -1.
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --min_z-- MINIMUM Z-AXIS 
+      ;
+      ; value for minimum height of z-axis
+      ;
+      ; data type: double; dimension: [meter]
+      ;
+      ; example: min_z = 0.0
+      ;
+      ; default:   -1.d (related to the minimum of z-axis in input file)
+      ;***************************************************
+      if (.not. isvar("min_z"))then   
+      
+         
+         min_z = -1.d
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --max_z-- MAXIMUM Z-AXIS 
+      ;
+      ; value for maximum height of z-axis
+      ;
+      ; data type: double; dimension: [meter]
+      ;
+      ; example: max_z = 1000.0
+      ;
+      ; default:   -1.d (related to the maximum of z-axis in input file)
+      ;***************************************************
+      if (.not. isvar("max_z"))then   
+      
+         
+         max_z = -1.d
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS 
+      ;
+      ; logarithmic scale for z-axis is switched on [=1] or off [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: log_z = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("log_z"))then 
+      
+           
+         log_z = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --norm_z-- NORMALISING Z-AXIS 
+      ;
+      ; value for normalising the z-axis
+      ;
+      ; data type: float
+      ;
+      ; example: norm_z = 1.
+      ;
+      ; default:   1. (no normalising)
+      ;***************************************************
+      if (.not. isvar("norm_z"))then 
+      
+           
+         norm_z = 1.
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --over-- OVERLAYING
+      ;
+      ; predefined overlaying of standard variables is switched on [=1] or off [=0];
+      ; this feature cannot be used with statistic regions
+      ;
+      ; data type: integer
+      ;
+      ; example: over = 0
+      ;
+      ; default:   0 
+      ;***************************************************
+      if (.not. isvar("over"))then
+      
+      	 
+         over = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --combine-- COMBINING 
+      ;
+      ; combining of two or three individual variables is possible and switched on [=1] or off[=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: combine = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("combine"))then  
+      
+          
+         combine = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING 
+      ;
+      ; number of variables for combining; 2 or 3 is valid 
+      ;
+      ; data type: integer
+      ;
+      ; example: number_comb = 2
+      ;
+      ; default:   -1
+      ;***************************************************
+      if (.not. isvar("number_comb"))then 
+      
+           
+         number_comb = -1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING 
+      ;
+      ; names of variables; inidcate them with one comma before and after each variable;
+      ;
+      ; data type: string
+      ;
+      ; example: c_var = ",u,v,"
+      ;
+      ; default:   "c_variables"
+      ;***************************************************
+      if (.not. isvar("c_var"))then 
+      
+           
+         c_var = "c_variables"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --black-- BLACK OR COLOR LINES
+      ;
+      ; colored [=0] or black and white [=1] plots
+      ;
+      ; data type: integer
+      ;
+      ; example: black = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("black"))then 
+      
+           
+         black = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --dash-- DASHED LINES 
+      ;
+      ; use of different line patterns [=1] or continous lines [=0] for different time steps
+      ;
+      ; data type: integer
+      ;
+      ; example: dash = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("dash"))then     
+      
+       
+         dash = 0      
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS 
+      ;
+      ; font size can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size = 0.02
+      ;
+      ; default:   0.02 
+      ;***************************************************
+      if(.not. isvar("font_size"))then
+      
+      	 
+         font_size = 0.02
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS 
+      ;
+      ; font size of the legend can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size_legend = 0.2
+      ;
+      ; default:   0.2 
+      ;***************************************************
+      if(.not. isvar("font_size_legend"))then
+      
+      	 
+         font_size_legend = 0.2
+	 
+	 
+      end if 	 
+      ;***************************************************
+       
+   end if
+
+   ;******************************************************
+   ; parameters used by SPECTRA
+   ;******************************************************
+   
+   if (script .EQ. "spectra") then
+
+      ;***************************************************
+      ; REQUIRED --file_1-- INPUT FILE
+      ;
+      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_1 = "/path_to_file/file_sp"      if you use more than one cycle number
+      ;          file_1 = "/path_to_file/file_sp.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_1"))then
+
+
+         file_1 = "File in" 
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   start_f = 3 (if first file: example_sp.3.nc) and 0 (if first file: example_sp.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f"))then  
+      
+          
+         start_f = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   end_f = 48 (if last file: example_sp.48.nc) and 0 (if last file: example_sp.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f"))then  
+      
+          
+         end_f = -1
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --format_out-- OUTPUT FORMAT
+      ;
+      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm 
+      ;
+      ; data type: string
+      ;
+      ; example: format_out = "pdf"
+      ;
+      ; default:   "x11" 
+      ;***************************************************
+      if (.not. isvar("format_out"))then	
+      
+       
+         format_out = "x11"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --file_out-- OUTPUT FILE
+      ;
+      ; path and name of the output file
+      ;
+      ; data type: string
+      ;
+      ; example: file_out = "/home/path_to_output/test_sp"
+      ;
+      ; default:   "~/test_sp" 
+      ;***************************************************
+      if (.not. isvar("file_out"))then	
+      
+       
+         file_out = "~/test_sp"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
+      ;
+      ; number of plots in one row 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_columns = 1
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("no_columns"))then	 
+      
+      
+         no_columns = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_rows-- NUMBER OF ROWS
+      ;
+      ; number of plots in one column 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_rows = 2
+      ;
+      ; default:   2 
+      ;***************************************************
+      if (.not. isvar("no_rows"))then
+      
+      	 
+         no_rows = 2
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --var-- OUTPUT VARIABLES
+      ;
+      ; names of output variables; inidcate them with one comma before and after each variable
+      ;
+      ; data type: string 
+      ; 
+      ; example: var = ",u,v,w,"
+      ;
+      ; default:   "all" (all available variables are plotted)
+      ;***************************************************
+      if (.not. isvar("var"))then
+      
+      	 
+         var = "all"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --height_level-- HEIGHT LEVELS 
+      ;
+      ; defines if all levels or selected levels are output; a 1D array with up to 100 elements
+      ; from 0 to 99 must be indicated
+      ;
+      ; data type: integer array
+      ;
+      ; example: height_level=(/0,3,7/)
+      ;
+      ; default:   (/-1/) (all levels are output)
+      ;***************************************************
+      if (.not. isvar("height_level"))then
+      
+      	 
+         height_level = (/-1/)
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --sort-- TYPE OF SORTING 
+      ;
+      ; defines if all heights [="height"] or all timesteps [="time"] are merged in one plot
+      ;
+      ; data type: string
+      ;
+      ; example: sort = "height"
+      ;
+      ; default:   "height" 
+      ;***************************************************
+      if (.not. isvar("sort"))then
+      
+      	 
+         sort = "height"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --start_time_step-- FIRST TIME STEP
+      ;
+      ; first time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'start_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   start_time_step = 0.5 
+      ;
+      ; default:   -1.d (first available time step)
+      ;***************************************************
+      if (.not. isvar("start_time_step"))then
+      
+      	 
+         start_time_step = -1.d
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --end_time_step-- LAST TIME STEP
+      ;
+      ; last time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'end_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   end_time_step = 2.0
+      ;
+      ; default:   -1.d (last available time step)
+      ;***************************************************
+      if (.not. isvar("end_time_step"))then
+      
+      	 
+         end_time_step = -1.d
+	 
+	 
+      end if    
+      ;***************************************************
+      ; OPTIONAL --black-- BLACK OR COLOR LINES
+      ;
+      ; colored [=0] or black and white [=1] plots
+      ;
+      ; data type: integer
+      ;
+      ; example: black = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("black"))then 
+      
+           
+         black = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --dash-- DASHED LINES 
+      ;
+      ; use of different line patterns [=1] or continous lines [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: dash = 0
+      ;
+      ; default:   0
+      ;***************************************************
+      if (.not. isvar("dash"))then   
+      
+         
+         dash = 0
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS
+      ;
+      ; logarithmic scale for x-axis is switched on [=1] or off [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: log_x = 1
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("log_x"))then   
+      
+         
+         log_x = 1
+	 
+	 
+      end if	 
+      ;***************************************************
+      ; OPTIONAL --log_y-- LOGARITHMIC SCALE Y-AXIS 
+      ;
+      ; logarithmic scale for y-axis is switched on [=1] or off [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: log_y = 1
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("log_y"))then   
+      
+         
+         log_y = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --norm_x-- NORMALISING X-AXIS 
+      ;
+      ; value for normalising the x-axis
+      ;
+      ; data type: float
+      ;
+      ; example: norm_x = 1
+      ;
+      ; default:   1. (no normalising)
+      ;***************************************************
+      if (.not. isvar("norm_x"))then   
+      
+         
+         norm_x = 1.
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
+      ;
+      ; normalising the x-axis with the height of each spectra is switched on [=1] or off [=0]
+      ;
+      ; data type: integer
+      ;
+      ; example: norm_height = 0
+      ;
+      ; default:   0 (no normalising)
+      ;***************************************************
+      if (.not. isvar("norm_height"))then   
+      
+         
+         norm_height = 0
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --norm_y-- NORMALISE Y-AXIS 
+      ;
+      ; value for normalising the y-axis
+      ;
+      ; data type: float
+      ;
+      ; example: norm_y = 1.
+      ;
+      ; default:   1. (no normalising)
+      ;***************************************************
+      if (.not. isvar("norm_y"))then     
+      
+       
+         norm_y = 1.
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --unit_x--unit_y-- UNITS OF X-, Y-AXES
+      ;
+      ; unit of the x-axis can be set if norm_x is unequal 1, otherwise the unit is [1/m]; by default no unit is set for the y-axis 
+      ; 
+      ; data type: string, 
+      ;
+      ; example: unit_x = "100/m"
+      ;
+      ; default:   " " 
+      ;***************************************************
+      if(.not. isvar("unit_x"))then      
+      	 
+         unit_x = " "	 
+	 
+      end if
+      if(.not. isvar("unit_y"))then      
+      	 
+         unit_y = " "	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS 
+      ;
+      ; font size can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size = 0.02
+      ;
+      ; default:   0.02 
+      ;***************************************************
+      if(.not. isvar("font_size"))then
+      
+      	 
+         font_size = 0.02
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS 
+      ;
+      ; font size of the legend can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size_legend = 0.2
+      ;
+      ; default:   0.2 
+      ;***************************************************
+      if(.not. isvar("font_size_legend"))then
+      
+      	 
+         font_size_legend = 0.2
+	 
+	 
+      end if	 
+      ;***************************************************
+     
+   end if
+
+   ;******************************************************
+   ; parameters used by TIMESERIES
+   ;******************************************************
+
+   if (script .EQ. "timeseries") then
+
+      ;***************************************************
+      ; REQUIRED --file_1-- INPUT FILE
+      ;
+      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain, 
+      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f'); 
+      ; otherwise declare path and full file name
+      ;
+      ; data type: string
+      ;
+      ; example: file_1 = "/path_to_file/file_ts"      if you use more than one cycle number
+      ;          file_1 = "/path_to_file/file_ts.4.nc" if you use one file (e.g. with cycle number 4)
+      ;
+      ; default:   "File in" 
+      ;***************************************************
+      if(.not. isvar("file_1"))then
+
+
+         file_1 = "File in"
+	 
+	 
+      end if
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   start_f = 3 (if first file: example_ts.3.nc) and 0 (if first file: example_ts.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("start_f"))then  
+      
+          
+         start_f = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
+      ;
+      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
+      ;
+      ; data type: integer
+      ;
+      ; example:   end_f = 48 (if last file: example_ts.48.nc) and 0 (if last file: example_ts.nc)
+      ;
+      ; default:   -1  
+      ;***************************************************
+      if (.not. isvar("end_f"))then  
+      
+          
+         end_f = -1
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --format_out-- OUTPUT FORMAT
+      ;
+      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm 
+      ;
+      ; data type: string
+      ;
+      ; example: format_out = "pdf"
+      ;
+      ; default:   "x11" 
+      ;***************************************************
+      if (.not. isvar("format_out"))then	 
+      
+      
+         format_out = "x11"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --file_out-- OUTPUT FILE
+      ;
+      ; path and name of the output file
+      ;
+      ; data type: string
+      ;
+      ; example: file_out = "/home/path_to_output/test_ts"
+      ;
+      ; default:   "~/test_ts" 
+      ;***************************************************
+      if (.not. isvar("file_out"))then	
+      
+       
+         file_out = "~/test_ts"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
+      ;
+      ; number of plots in one row 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_columns = 1
+      ;
+      ; default:   1
+      ;***************************************************
+      if (.not. isvar("no_columns"))then	
+      
+       
+         no_columns = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --no_rows-- NUMBER OF ROWS
+      ;
+      ; number of plots in one column 
+      ;
+      ; data type: integer
+      ; 
+      ; example: no_rows = 2
+      ;
+      ; default:   2 
+      ;***************************************************
+      if (.not. isvar("no_rows"))then
+      
+      	 
+         no_rows = 1
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --var-- OUTPUT VARIABLES
+      ;
+      ; names of output variables; inidcate them with one comma before and after each variable
+      ;
+      ; data type: string 
+      ; 
+      ; example: var = ",u,v,w,"
+      ;
+      ; default:   "all" (all available variables are plotted)
+      ;***************************************************
+      if (.not. isvar("var"))then
+      
+      	 
+         var = "all"
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --start_time_step-- FIRST TIME STEP
+      ;
+      ; first time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'start_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   start_time_step = 0.5 
+      ;
+      ; default:   -1.d (first available time step)
+      ;***************************************************
+      if (.not. isvar("start_time_step"))then
+      
+      	 
+         start_time_step = -1.d
+	 
+	 
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --end_time_step-- LAST TIME STEP
+      ;
+      ; last time step of plot; there is no need to specify a precise time value from the input file,
+      ; 'end_time_step' is rounded to the next existent time step
+      ;
+      ; data type: double; dimension: [hour]
+      ;
+      ; example:   end_time_step = 2.0
+      ;
+      ; default:   -1.d (last available time step)
+      ;***************************************************
+      if (.not. isvar("end_time_step"))then
+      
+      	 
+         end_time_step = -1.d
+	 
+
+      end if 	 
+      ;***************************************************
+      ; OPTIONAL --over-- OVERLAYING
+      ;
+      ; predefined overlaying of standard variables are switched on [=1] or off [=0];
+      ; this feature cannot be used with statistic regions
+      ;
+      ; data type: integer
+      ;
+      ; example: over = 0
+      ;
+      ; default:   0 
+      ;***************************************************
+      if (.not. isvar("over"))then
+      
+      	 
+         over = 0
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS 
+      ;
+      ; font size can be changed to fit to the current plot
+      ;
+      ; data type: float
+      ;
+      ; example: font_size = 0.07
+      ;
+      ; default:   0.07 
+      ;***************************************************
+      if(.not. isvar("font_size"))then
+      
+      	 
+         font_size = 0.07
+	 
+	 
+      end if 
+      ;***************************************************
+      ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
+      ;
+      ; normalising the x-axis with the given value; the unit can explicitly set; by default no normalising and unit is set to [s]
+      ;
+      ; data type: float
+      ;
+      ; example: norm_t = 3600
+      ;
+      ; default:   1. 
+      ;***************************************************
+      if(.not. isvar("normt"))then
+      
+      	 
+         norm_t = 1.
+	 
+	 
+      end if
+      ;***************************************************
+      ; OPTIONAL --unit_t-- UNIT OF X-AXIS OF TIMESERIES PLOTS (T-AXIS)
+      ;
+      ; unit of the x-axis can be set; by default unit is set to [s]
+      ;
+      ; data type: string
+      ;
+      ; example: unit_t = "h"
+      ;
+      ; default:   " " 
+      ;***************************************************
+      if(.not. isvar("unitt"))then
+      
+      	 
+         unit_t = " "
+	 
+	 
+      end if
+      ;***************************************************
+
+   end if
+	 
+;*********************************************************	 
+   
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/profiles.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/profiles.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/profiles.ncl	(revision 393)
@@ -0,0 +1,4054 @@
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+
+;***************************************************
+; load ncl_preferences.ncl
+;***************************************************
+
+function which_script()
+local script 
+begin 
+   script="profiles"
+   return(script)
+end
+   
+if (isfilepresent("~/ncl_preferences.ncl")) then
+   loadscript("~/ncl_preferences.ncl")
+else
+  if (isfilepresent("~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")) then
+     loadscript( "~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")
+  else
+      print(" ")
+      print("'ncl_preferences.ncl' does not exist in $home or $home/palm/current_version/trunk/SCRIPTS/NCL/")
+      print(" ")
+      exit
+   end if
+end if
+    
+begin
+
+   ;***************************************************
+   ; set up default parameter values and strings 
+   ;***************************************************
+
+   if (no_files .LT. 1 .OR. no_files .GT. 6) then
+      print(" ")
+      print("Assign 'no_files' between 1 and 6")  
+      print(" ")
+      exit
+   end if
+   
+   file_in   = new(no_files,string)
+   file_in_1 = new(no_files,logical)
+   start_f   = new(no_files,integer)
+   end_f = new(no_files,integer)
+   
+   if (file_1 .EQ. "File in") then
+      print(" ")
+      print("Declare 1st input file 'file_1=' in 'ncl_preferences.ncl' or prompt")
+      print(" ")
+      exit 
+   else
+      file_in(0) = file_1   
+   end if      
+   file_in_1(0) = False
+   if (isStrSubset(file_in(0), ".nc"))then
+      start_f_1 = -2
+      end_f_1 = -2 
+      file_in_1(0) = True     
+   end if  
+   if (start_f_1 .EQ. -1)then
+      print(" ")
+      print("'start_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+   if (end_f_1 .EQ. -1)then
+      print(" ")
+      print("'end_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if            
+   start_f(0) = start_f_1 
+   end_f(0) = end_f_1    
+ 
+   if (no_files .GT. 1) then
+      if (file_2 .EQ. "File in") then
+         print(" ")
+         print("Declare 2nd input file 'file_2=' in 'ncl_preferences.ncl' or prompt")
+         print(" ")
+         exit 
+      else
+         file_in(1) = file_2   
+      end if      
+      file_in_1(1) = False
+      if (isStrSubset(file_in(1), ".nc"))then
+         start_f_2 = -2
+         end_f_2 = -2 
+         file_in_1(1) = True     
+      end if
+      if (start_f_2 .EQ. -1)then
+         print(" ")
+         print("'start_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if 
+      if (end_f_2 .EQ. -1)then
+         print(" ")
+         print("'end_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if      
+      start_f(1) = start_f_2 
+      end_f(1) = end_f_2   
+   end if    
+    
+   if (no_files .GT. 2) then
+      if (file_3 .EQ. "File in") then
+         print(" ")
+         print("Declare 3rd input file 'file_3=' in 'ncl_preferences.ncl' or prompt")
+         print(" ")
+         exit 
+      else
+         file_in(2) = file_3   
+      end if      
+      file_in_1(2) = False
+      if (isStrSubset(file_in(2), ".nc"))then
+         start_f_3 = -2
+         end_f_3 = -2 
+         file_in_1(2) = True     
+      end if
+      if (start_f_3 .EQ. -1)then
+         print(" ")
+         print("'start_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if 
+      if (end_f_3 .EQ. -1)then
+         print(" ")
+         print("'end_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if      
+      start_f(2) = start_f_3 
+      end_f(2) = end_f_3  
+   end if 
+   
+   if (no_files .GT. 3) then
+      if (file_4 .EQ. "File in") then
+         print(" ")
+         print("Declare 4th input file 'file_4=' in 'ncl_preferences.ncl' or prompt")
+         print(" ")
+         exit 
+      else
+         file_in(3) = file_4   
+      end if      
+      file_in_1(3) = False
+      if (isStrSubset(file_in(3), ".nc"))then
+         start_f_4 = -2
+         end_f_4 = -2 
+         file_in_1(3) = True     
+      end if
+      if (start_f_4 .EQ. -1)then
+         print(" ")
+         print("'start_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if 
+      if (end_f_4 .EQ. -1)then
+         print(" ")
+         print("'end_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if      
+      start_f(3) = start_f_4 
+      end_f(3) = end_f_4 
+   end if 
+   
+   if (no_files .GT. 4) then
+      if (file_5 .EQ. "File in") then
+         print(" ")
+         print("Declare 5th input file 'file_5=' in 'ncl_preferences.ncl' or prompt")
+         print(" ")
+         exit 
+      else
+         file_in(4) = file_5   
+      end if      
+      file_in_1(4) = False
+      if (isStrSubset(file_in(4), ".nc"))then
+         start_f_5 = -2
+         end_f_5 = -2 
+         file_in_1(4) = True     
+      end if
+      if (start_f_5 .EQ. -1)then
+         print(" ")
+         print("'start_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if 
+      if (end_f_5 .EQ. -1)then
+         print(" ")
+         print("'end_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if      
+      start_f(4) = start_f_5 
+      end_f(4) = end_f_5    
+   end if 
+   
+   if (no_files .GT. 5) then
+      if (file_6 .EQ. "File in") then
+         print(" ")
+         print("Declare 6th input file 'file_6=' in 'ncl_preferences.ncl' or prompt")
+         print(" ")
+         exit 
+      else
+         file_in(5) = file_6   
+      end if      
+      file_in_1(5) = False
+      if (isStrSubset(file_in(5), ".nc"))then
+         start_f_6 = -2
+         end_f_6 = -2 
+         file_in_1(5) = True     
+      end if
+      if (start_f_6 .EQ. -1)then
+         print(" ")
+         print("'start_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if 
+      if (end_f_6 .EQ. -1)then
+         print(" ")
+         print("'end_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)")
+         print(" ")  
+         exit
+      end if      
+      start_f(5) = start_f_6 
+      end_f(5) = end_f_6    
+   end if 
+
+   
+   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm")then
+      print(" ")
+      print("'format_out = "+format_out+"' is invalid and set to'x11'")
+      print(" ")
+      format_out="x11"
+   end if  
+
+   if (over .NE. 0 .AND. over .NE. 1) then
+      print(" ")
+      print("'over'= "+over+" is invalid and set to 0")
+      print(" ")
+      over = 0
+   end if
+   if (no_files .GT. 1) then
+      over = 0
+      print(" ")
+      print("If you have more than one input file - you cannot overlay variables: over is set to 0")
+      print(" ")
+   end if
+   
+   if (combine .NE. 0 .AND. combine .NE. 1)then
+      print(" ")
+      print("Your 'combine'= "+combine+" is invalid and set to 0")
+      print(" ")
+      combine = 0
+   end if
+   if (no_files .GT. 1) then
+      combine = 0
+      print(" ")
+      print("If you have more than one input file you cannot combine variables: combine is set to 0")
+      print(" ")
+   end if   
+   if (combine .EQ. 1 .AND. number_comb .EQ. -1) then
+      print(" ") 
+      print("Set 'number_comb' to 2 or 3 or combine to 0")
+      print(" ")
+      exit
+   end if 
+   if (combine .EQ. 1)then
+      if (number_comb .EQ. -1) then
+         print(" ") 
+         print("Set 'number_comb' to 2 or 3 or combine to 0")
+         print(" ")
+         exit
+      end if
+      if (number_comb .NE. 2 .AND. number_comb .NE. 3) then
+         print(" ") 
+         print("Set 'number_comb' to 2 or 3 or combine to 0")
+         print(" ")
+         exit
+      end if
+   end if  
+   if (combine .EQ. 1 .AND. c_var .EQ. "c_variables") then
+      print(" ") 
+      print("Select variables for overlaying ('c_var') or set combine to 0")
+      print(" ")
+      exit
+   end if
+
+   if (log_z .NE. 0 .AND. log_z .NE. 1)then
+      print(" ")
+      print("'log_z'= "+log_z+" is invalid and set to 0")
+      print(" ")
+      log_z = 0
+   end if    
+  
+   if (norm_z .EQ. 0) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_z' is set to 1.0")
+      print(" ")
+      norm_z = 1.0
+   end if
+
+   ;***************************************************
+   ; open input file
+   ;***************************************************
+
+   do nof=0,no_files-1
+
+   files=new(end_f(nof)-start_f(nof)+1,string)
+   if (file_in_1(nof))then
+      if (isfilepresent(file_in(nof)))then
+         files(0)=file_in(nof)
+      else
+         print(" ")
+         print("1st input file: '"+file_in(nof)+"' does not exist")
+         print(" ")
+         exit
+      end if
+   else
+      if (start_f(nof) .EQ. 0)then
+         if (isfilepresent(file_in(nof)+".nc"))then
+            files(0)=file_in(nof)+".nc"
+            do i=1,end_f(nof)
+   	       if (isfilepresent(file_in(nof)+"."+i+".nc"))then    
+                  files(i)=file_in(nof)+"."+i+".nc"
+	       else
+	          print(" ")
+                  print("Input file: '"+file_in(nof)+"."+i+".nc' does not exist")
+                  print(" ")
+                  exit  
+	       end if	    
+            end do         
+         else
+            print(" ")
+            print("Input file: '"+file_in(nof)+".nc' does not exist")
+            print(" ")
+            exit
+         end if
+      else
+         do i=start_f(nof),end_f(nof)
+            if (isfilepresent(file_in(nof)+"."+i+".nc"))then    
+               files(i-start_f(nof))=file_in(nof)+"."+i+".nc"
+   	    else
+	       print(" ")
+               print("Input file: '"+file_in(nof)+"."+i+".nc' does not exist")
+               print(" ")
+               exit  
+	    end if
+         end do
+      end if
+   end if
+
+   f=addfiles(files,"r")
+   f_att=addfile(files(0),"r")
+   ListSetType(f,"cat")
+   
+   vNam = getfilevarnames(f_att)    
+   
+   if (nof .EQ. 0)then
+      vNam0=vNam
+   end if
+   if (nof .NE. 0)then
+      if (dim0 .NE. dim)then
+         print(" ")
+	 print("There are 'no_files'="+no_files+" input files but they do not contain the same variables")
+         print(" ")
+         exit
+      else
+         do i=0,dim0-1
+            if (vNam0(i) .NE. vNam(i))then
+               print(" ")
+               print("There are 'no_files'="+no_files+" input files but they do not contain the same variables")
+               print(" ")
+               exit
+            end if
+         end do
+      end if
+   end if
+   nof=nof+1
+   print(" ")
+   print("Variables in input file "+nof+":")
+   print("- "+ vNam)
+   print(" ")
+   nof=nof-1
+   dim = dimsizes(vNam)
+   dim0=dim
+  
+   if (dim .EQ. 0) then
+      print(" ")
+      print("There is no data on file")
+      print(" ")
+   end if
+   
+   prof3d = 0
+   do varn = dim-1,0,1
+      if ( isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
+         prof3d = 1
+	 break
+      end if
+   end do
+  
+   if (var .NE. "all") then
+      ;rearrange the order of the variables in vNam so that the variables 
+      ;specified by "var" are in the top of vNam
+
+      vNam_static = new((/dim/),string)
+      vNam_temp   = new((/dim/),string)
+
+      var_char    = stringtocharacter(var)
+      no_char     = dimsizes(var_char)
+      comma       = 0
+       
+      do j=0,no_char-1
+         if(var_char(j) .eq. ",")
+            comma = comma + 1
+         end if
+      end do
+
+      if(comma .le. 1)
+          print(" ")
+          print("The variables 'var="+var+"'" )
+          print("do not exist on your input file;")
+          print("be sure to have one comma before and after each variable")
+          print(" ")
+          exit
+      end if
+
+      indices = new((/comma/),integer)
+      comma   = 0
+        
+      do j=0,no_char-1
+         if(var_char(j) .eq. ",")
+           indices(comma) = j
+           comma          = comma + 1
+         end if
+      end do
+
+      do j=0,comma-2
+         vNam_temp(j) = charactertostring(var_char(indices(j)+1:indices(j+1)-1))
+      end do
+
+      do j=0,comma-2
+        count_check = 0
+        do varn=0,dim-1 
+           if(vNam_temp(j) .ne. vNam(varn)) 
+             count_check=count_check+1
+           end if
+        end do    
+
+        if(count_check .eq. dim)
+            print(" ")
+            print("The variables 'var="+var+"'" )
+            print("do not exist on your input file;")
+            print("be sure to have one comma before and after each variable")
+            print(" ")
+            exit
+        end if
+
+        vNam_static(j) = vNam_temp(comma - 2 - j)
+      end do
+
+      vNam_temp   = vNam_static
+      vNam_static = ""
+
+      if (prof3d .EQ. 0) then
+         i = 0
+         do j=0,dim-1,2
+            vNam_static(j)   = vNam_temp(i)
+            vNam_static(j+1) = "z" + vNam_static(j)
+            i = i+1
+            if(i .eq. comma-1)
+                break
+            end if
+         end do
+
+         delete(vNam_temp)
+         count_variable = 2*(comma-1) 
+      else
+         i = 0
+          do j=0,dim-1,1
+             vNam_static(j) = vNam_temp(i)
+             i = i+1
+             if(i .eq. comma-1)
+                 break
+             end if
+          end do
+
+          delete(vNam_temp)
+          count_variable = comma-1 
+      end if
+
+      counter  = 0
+      counter2 = 0
+      do j=0,dim-1
+         counter = 0
+         do i = 0, count_variable - 1        
+            if(vNam_static(i) .ne. vNam(j))
+               counter = counter + 1
+            end if
+         end do
+      
+         if (counter .eq. count_variable)
+            vNam_static(count_variable + counter2) = vNam(j)
+            counter2 = counter2 + 1
+         end if
+      end do
+     
+      vNam = vNam_static 
+      delete(vNam_static)
+    end if
+
+   ;-----------------------------------------------------below steps only for first file -> nof=0
+   if (nof .EQ. 0) then
+
+      plot = new(dim,graphic)
+      plot_ = new(dim,graphic)
+      if (no_files .GT. 1) then
+         multi_plot = new((/no_files,dim/),graphic)
+         max_nof = new((/no_files,dim/),float)
+         min_nof = new((/no_files,dim/),float)
+         name    = new((/no_files,dim/),string)
+         unit_   = new((/no_files,dim/),string)
+      end if
+
+   if (prof3d .EQ. 0) then
+ 
+   do varn=0,dim-1
+      if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+         continue
+      end if
+      if (vNam(varn) .EQ. "u" .OR. isStrSubset(vNam(varn), "u_"))then
+         z_u = f_att->$vNam(varn+1)$
+         break
+      else
+         if (vNam(varn) .EQ. "v" .OR. isStrSubset(vNam(varn), "v_"))then  
+            z_u = f_att->$vNam(varn+1)$
+            break
+         else
+            if(vNam(varn) .EQ. "pt" .OR. isStrSubset(vNam(varn), "pt_"))then
+               z_u = f_att->$vNam(varn+1)$
+               break
+            else
+               if(vNam(varn) .EQ. "vpt" .OR. isStrSubset(vNam(varn), "vpt_"))then
+                  z_u = f_att->$vNam(varn+1)$
+                  break
+               else
+                  if(vNam(varn) .EQ. "lpt" .OR. isStrSubset(vNam(varn), "lpt_"))then
+                     z_u = f_att->$vNam(varn+1)$ 
+                     break
+                  else   
+                     if(vNam(varn) .EQ. "q" .OR. isStrSubset(vNam(varn), "q_") )then
+                        z_u = f_att->$vNam(varn+1)$ 
+                        break
+                     else
+                        if(vNam(varn) .EQ. "qv" .OR. isStrSubset(vNam(varn), "qv_"))then
+                           z_u = f_att->$vNam(varn+1)$ 
+                           break
+                        else
+                           if(vNam(varn) .EQ. "ql" .OR. isStrSubset(vNam(varn), "ql_"))then
+                              z_u = f_att->$vNam(varn+1)$ 
+                              break
+                           else
+                              if(vNam(varn) .EQ. "rho" .OR. isStrSubset(vNam(varn), "rho_"))then
+                                 z_u = f_att->$vNam(varn+1)$ 
+                                 break
+                              else
+                                 if(vNam(varn) .EQ. "s" .OR. isStrSubset(vNam(varn), "s_") )then
+                                    z_u = f_att->$vNam(varn+1)$ 
+                                    break
+                                 else
+                                    if(vNam(varn) .EQ. "sa" .OR. isStrSubset(vNam(varn), "sa_"))then
+                                       z_u = f_att->$vNam(varn+1)$ 
+                                       break
+                                    else
+                                       if(vNam(varn) .EQ. "e" .OR. isStrSubset(vNam(varn), "e_"))then
+                                          z_u = f_att->$vNam(varn+1)$ 
+                                          break
+                                       else
+                                          if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_"))then
+                                             z_u = f_att->$vNam(varn+1)$ 
+                                             break
+                                          else
+                                             if(vNam(varn) .EQ. "km" .OR. isStrSubset(vNam(varn), "km_"))then
+                                                z_u = f_att->$vNam(varn+1)$ 
+                                                break
+                                             else
+                                                if(vNam(varn) .EQ. "kh" .OR. isStrSubset(vNam(varn), "kh_"))then
+                                                   z_u = f_att->$vNam(varn+1)$ 
+                                                   break
+                                                else
+                                                   if(vNam(varn) .EQ. "l" .OR. isStrSubset(vNam(varn), "l_"))then
+                                                      z_u = f_att->$vNam(varn+1)$ 
+                                                      break
+                                                   else
+                                                      if(vNam(varn) .EQ. "us2" .OR. isStrSubset(vNam(varn), "us2_"))then
+                                                         z_u = f_att->$vNam(varn+1)$ 
+                                                         break
+                                                      else
+                                                         if(vNam(varn) .EQ. "vs2" .OR. isStrSubset(vNam(varn), "vs2_") )then
+                                                            z_u = f_att->$vNam(varn+1)$ 
+                                                            break
+                                                         else
+                                                            if(vNam(varn) .EQ. "pts2" .OR. isStrSubset(vNam(varn), "pts2_"))then
+                                                               z_u = f_att->$vNam(varn+1)$ 
+                                                               break
+                                                            else
+                                                               if(vNam(varn) .EQ. "wsususodz" .OR. isStrSubset(vNam(varn), "wsususodz_"))then
+                                                                  z_u = f_att->$vNam(varn+1)$ 
+                                                                  break
+                                                               else
+                                                                  if(vNam(varn) .EQ. "wspsodz" .OR. isStrSubset(vNam(varn), "wspsodz_"))then
+                                                                     z_u = f_att->$vNam(varn+1)$ 
+                                                                     break
+                                                                  else
+                                                                     if(vNam(varn) .EQ. "wpeodz" .OR. isStrSubset(vNam(varn), "wpeodz_"))then
+                                                                        z_u = f_att->$vNam(varn+1)$
+                                                                        break                                                                        
+                                                                     end if
+                                                                  end if
+                                                               end if
+                                                            end if
+                                                         end if
+                                                      end if
+                                                   end if
+                                                end if
+                                             end if
+                                          end if
+                                       end if
+                                    end if
+                                 end if
+                              end if
+                           end if
+                        end if
+                     end if
+                  end if
+               end if
+            end if 
+         end if
+      end if
+   end do
+
+   do varn=0,dim-1
+      if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+         continue
+      end if 
+      if (vNam(varn) .EQ. "w" .OR. isStrSubset(vNam(varn), "w_"))then
+         z_w = f_att->$vNam(varn+1)$
+         break
+      else
+         if (vNam(varn) .EQ. "wpup" .OR. isStrSubset(vNam(varn), "wpup_"))then
+            z_w = f_att->$vNam(varn+1)$
+            break
+         else
+            if(vNam(varn) .EQ. "wsus" .OR. isStrSubset(vNam(varn), "wsus_"))then
+               z_w = f_att->$vNam(varn+1)$
+               break
+            else
+               if(vNam(varn) .EQ. "wu" .OR. isStrSubset(vNam(varn), "wu_"))then
+                  z_w = f_att->$vNam(varn+1)$ 
+                  break
+               else
+                  if(vNam(varn) .EQ. "wpvp" .OR. isStrSubset(vNam(varn), "wpvp_"))then
+                     z_w = f_att->$vNam(varn+1)$ 
+                     break
+                  else   
+                     if(vNam(varn) .EQ. "wsvs" .OR. isStrSubset(vNam(varn), "wsvs_"))then
+                        z_w = f_att->$vNam(varn+1)$ 
+                        break
+                     else
+                        if(vNam(varn) .EQ. "wv" .OR. isStrSubset(vNam(varn), "wv_"))then
+                           z_w = f_att->$vNam(varn+1)$ 
+                           break
+                        else
+                           if(vNam(varn) .EQ. "wptpp" .OR. isStrSubset(vNam(varn), "wptpp_"))then
+                              z_w = f_att->$vNam(varn+1)$ 
+                              break
+                           else
+                              if(vNam(varn) .EQ. "wspts" .OR. isStrSubset(vNam(varn), "wspts_"))then
+                                 z_w = f_att->$vNam(varn+1)$ 
+                                 break
+                              else
+                                 if(vNam(varn) .EQ. "wpt" .OR. isStrSubset(vNam(varn), "wpz_"))then
+                                    z_w = f_att->$vNam(varn+1)$
+                                    break
+                                 else
+                                    if(vNam(varn) .EQ. "wsptsBC" .OR. isStrSubset(vNam(varn), "wsptsBC_"))then
+                                       z_w = f_att->$vNam(varn+1)$ 
+                                       break
+                                    else
+                                       if(vNam(varn) .EQ. "wptBC" .OR. isStrSubset(vNam(varn), "wptBC_"))then
+                                          z_w = f_att->$vNam(varn+1)$ 
+                                          break
+                                       else
+                                          if(vNam(varn) .EQ. "wpvptp" .OR. isStrSubset(vNam(varn), "wpvptp_"))then
+                                             z_w = f_att->$vNam(varn+1)$ 
+                                             break
+                                          else
+                                             if(vNam(varn) .EQ. "wsvpts" .OR. isStrSubset(vNam(varn), "wsvpts_"))then
+                                                z_w = f_att->$vNam(varn+1)$
+                                                break
+                                             else
+                                                if(vNam(varn) .EQ. "wvpt" .OR. isStrSubset(vNam(varn), "wvpt_"))then
+                                                   z_w = f_att->$vNam(varn+1)$ 
+                                                   break
+                                                else
+                                                   if(vNam(varn) .EQ. "wpqp" .OR. isStrSubset(vNam(varn), "wpqp_"))then
+                                                      z_w = f_att->$vNam(varn+1)$ 
+                                                      break
+                                                   else
+                                                      if(vNam(varn) .EQ. "wsqs" .OR. isStrSubset(vNam(varn), "wsqs_"))then
+                                                         z_w = f_att->$vNam(varn+1)$ 
+                                                         break
+                                                      else
+                                                         if(vNam(varn) .EQ. "wq" .OR. isStrSubset(vNam(varn), "wq_"))then
+                                                            z_w = f_att->$vNam(varn+1)$ 
+                                                            break
+                                                         else
+                                                            if(vNam(varn) .EQ. "wpqvp" .OR. isStrSubset(vNam(varn), "wpqvp_"))then
+                                                               z_w = f_att->$vNam(varn+1)$ 
+                                                               break
+                                                            else
+                                                               if(vNam(varn) .EQ. "wsqvs" .OR. isStrSubset(vNam(varn), "wsqvs_"))then
+                                                                  z_w = f_att->$vNam(varn+1)$ 
+                                                                  break
+                                                               else
+                                                                  if(vNam(varn) .EQ. "wqv" .OR. isStrSubset(vNam(varn), "wqv_"))then
+                                                                     z_w = f_att->$vNam(varn+1)$ 
+                                                                     break
+                                                                  else
+                                                                     if(vNam(varn) .EQ. "wpsp" .OR. isStrSubset(vNam(varn), "wpsp_"))then
+                                                                        z_w = f_att->$vNam(varn+1)$
+                                                                        break 
+                                                                     else
+                                                                        if(vNam(varn) .EQ. "wsss" .OR. isStrSubset(vNam(varn), "wsss_"))then
+                                                                           z_w = f_att->$vNam(varn+1)$
+                                                                           break 
+                                                                        else
+                                                                           if(vNam(varn) .EQ. "ws" .OR. isStrSubset(vNam(varn), "ws_"))then
+                                                                              z_w = f_att->$vNam(varn+1)$
+                                                                              break 
+                                                                           else
+                                                                              if(vNam(varn) .EQ. "wpsap" .OR. isStrSubset(vNam(varn), "wpsap_"))then
+                                                                                 z_w = f_att->$vNam(varn+1)$
+                                                                                 break 
+                                                                              else
+                                                                                 if(vNam(varn) .EQ. "wssas" .OR. isStrSubset(vNam(varn), "wssas_") )then
+                                                                                    z_w = f_att->$vNam(varn+1)$
+                                                                                    break 
+                                                                                 else
+                                                                                    if(vNam(varn) .EQ. "wsa" .OR. isStrSubset(vNam(varn), "wsa_"))then
+                                                                                       z_w = f_att->$vNam(varn+1)$
+                                                                                       break 
+                                                                                    else
+                                                                                       if(vNam(varn) .EQ. "wses" .OR. isStrSubset(vNam(varn), "wses_"))then
+                                                                                          z_w = f_att->$vNam(varn+1)$
+                                                                                          break 
+                                                                                       else
+                                                                                          if(vNam(varn) .EQ. "ws2" .OR. isStrSubset(vNam(varn), "ws2_"))then
+                                                                                             z_w = f_att->$vNam(varn+1)$
+                                                                                             break 
+                                                                                          else
+                                                                                             if(vNam(varn) .EQ. "ws3" .OR. isStrSubset(vNam(varn), "ws3_"))then
+                                                                                                z_w = f_att->$vNam(varn+1)$
+                                                                                                break 
+                                                                                             else
+                                                                                                if(vNam(varn) .EQ. "Sw" .OR. isStrSubset(vNam(varn), "Sw_"))then
+                                                                                                   z_w = f_att->$vNam(varn+1)$
+                                                                                                   break 
+                                                                                                else
+                                                                                                   if(vNam(varn) .EQ. "ws2pts".OR. isStrSubset(vNam(varn), "ws2pts_") )then
+                                                                                                      z_w = f_att->$vNam(varn+1)$
+                                                                                                      break 
+                                                                                                   else
+                                                                                                      if(vNam(varn) .EQ. "wspts2" .OR. isStrSubset(vNam(varn), "wspts2_"))then
+                                                                                                         z_w = f_att->$vNam(varn+1)$
+                                                                                                         break                                            
+                                                                                                      end if
+                                                                                                   end if 
+                                                                                                end if
+                                                                                             end if
+                                                                                          end if
+                                                                                       end if
+                                                                                    end if
+                                                                                 end if
+                                                                              end if
+                                                                           end if
+                                                                        end if    
+                                                                     end if
+                                                                  end if
+                                                               end if
+                                                            end if
+                                                         end if
+                                                      end if
+                                                   end if
+                                                end if
+                                             end if
+                                          end if
+                                       end if
+                                    end if
+                                 end if
+                              end if
+                           end if
+                        end if
+                     end if
+                  end if
+               end if
+            end if 
+         end if
+      end if
+   end do
+   
+   if (.not. isvar("z_u") .AND. .not. isvar ("z_w")) then
+      co=0
+      do varn=0,dim-1      
+         if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+            check = False
+         else
+            check = True
+            if (var .NE. "all") then
+               check = isStrSubset( var,","+vNam(varn)+"," )
+            end if          
+         end if
+         if (check)then
+            co=co+1
+            z = f_att->$vNam(varn+1)$
+	    if (getvardims(z) .EQ. "zu")then
+	       z_u = z
+	    else
+	       if (getvardims(z) .EQ. "zw")then
+	          z_w = z
+	       end if
+	    end if
+            dimz = dimsizes(z)
+            break
+         end if   
+      end do
+      if (co .EQ. 0) then
+         print(" ")
+         print("The variables 'var="+var+"'" )
+         print("do not exist on your input file;")
+         print("be sure to have one comma before and after each variable")
+         print(" ")
+         exit           
+      end if
+   end if
+
+   if (isvar("z_u") ) then 
+      dimz  = dimsizes(z_u)
+   else
+      if (isvar("z_w"))then 
+         dimz  = dimsizes(z_w)
+      end if
+   end if
+
+   else
+
+      do varn = dim-1,0,1
+         if (vNam(varn) .EQ. "zu_3d")then
+            z_u = f_att->zu_3d  
+            dimz  = dimsizes(z_u)         
+         else 
+            if (vNam(varn) .EQ. "zw_3d")then
+               z_w = f_att->zw_3d
+               dimz  = dimsizes(z_w)
+            end if
+         end if
+	 if (vNam(varn) .EQ. "x")then
+	    x = f_att->x
+	    dimx=dimsizes(x)
+	 else
+	    if (vNam(varn) .EQ. "xu")then
+	       x = f_att->xu
+	       dimx=dimsizes(x)
+	    end if
+	 end if
+	 if (vNam(varn) .EQ. "y")then
+	    y = f_att->y
+	    dimy=dimsizes(y)
+	 else
+	    if (vNam(varn) .EQ. "yv")then
+	       y = f_att->yv
+	       dimy=dimsizes(y)
+	    end if
+	 end if
+      end do
+
+   end if
+   
+   if(.not. isvar("z_u") .AND. .not. isvar("z_w"))then
+      print(" ")
+      print("Program aborts - there are no z-variables available")
+      print("Be sure if 'plot_3d' is set correctly")
+      print(" ")
+      exit
+   end if
+  
+
+   t_all = f[:]->time
+   nt    = dimsizes(t_all)
+
+   
+   if (nt .EQ. 1)then
+      delta_t=t_all(nt-1)/nt
+   else
+      delta_t=(t_all(nt-1)-t_all(0))/(nt-1)
+   end if
+
+   ; ****************************************************	
+   ; start of time step and different types of mistakes that could be done
+   ; ****************************************************
+   
+   if (start_time_step .EQ. -1.) then   	
+      start_time_step=t_all(0)/3600      
+   else 
+      if (start_time_step .GT. t_all(nt-1)/3600)then
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+      if (start_time_step .LT. t_all(0)/3600)then
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
+         print(" ")
+         exit
+      end if
+   end if
+
+   do i=0,nt-1    
+      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         st=i
+         break
+      end if
+   end do
+   if (.not. isvar("st"))then
+      print(" ")
+      print("'start_time_step' = "+ start_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'start_time_step'")
+      print(" ")
+      exit
+   end if
+   
+   ; ****************************************************
+   ; end of time step and different types of mistakes that could be done
+   ; ****************************************************
+
+   if (end_time_step .EQ. -1.) then     	
+      end_time_step = t_all(nt-1)/3600  
+   else
+      if (end_time_step .GT. t_all(nt-1)/3600)then
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")  
+         print(" ")
+         exit
+      end if
+      if (end_time_step .LT. start_time_step/3600)then
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
+         print(" ")
+         print("Select another 'start_time_step' or 'end_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+
+   do i=0,nt-1     
+      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         et=i
+         break
+      end if
+   end do 
+   if (.not. isvar("et"))then
+      print(" ")
+      print("'end_time_step' = "+ end_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'end_time_step'")
+      print(" ")
+      exit
+   end if   
+
+   delete(start_time_step)
+   start_time_step=round(st,3)
+   delete(end_time_step)
+   end_time_step=round(et,3)
+
+   no_time = end_time_step-start_time_step+1
+   
+   ; ****************************************************
+   ; time_stride and different types of mistakes that could be done
+   ; ****************************************************
+ 
+   if(time_stride .LT. 1)
+      print(" ")
+      print("'time_stride' has to be positive and is set to 1")
+      print(" ")
+      time_stride = 1
+   end if
+
+   if(time_stride .GE. no_time)
+      print(" ")
+      print("'time_stride' is greater equal than number of available time steps,")
+      print("only start time step will be plotted then")
+      print(" ")
+      time_stride = no_time
+   end if
+
+   ti_in = ispan(start_time_step,end_time_step,time_stride) ;ti_in contents the time indices to plot
+   np    = dimsizes(ti_in)  
+
+   print(" ")
+   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
+   print("                     till "+t_all(ti_in(np-1))/3600+" h = "+t_all(ti_in(np-1))+" s => index = "+end_time_step)
+   print("                     with temporal stride = "+time_stride)
+   print(" ")
+
+
+   ; ****************************************************
+   ; set up legend and colors 
+   ; ****************************************************
+   
+   legend_label=new(np,double)
+   do p=0, np-1
+      legend_label(p)=decimalPlaces(t_all(ti_in(p))/3600,3,True)         
+   end do
+   
+
+   ; ***************************************************
+   ; set up recourses
+   ; ***************************************************
+
+   res                         = True
+   res@gsnDraw                 = False
+   res@gsnFrame                = False
+   res@gsnPaperOrientation     = "portrait"
+   res@gsnPaperWidth           = 8.27
+   res@gsnPaperHeight          = 11.69
+   res@gsnPaperMargin          = 0.79
+   res@txFont                  = "helvetica"
+   res@tiMainFont              = "helvetica"
+   res@tiXAxisFont             = "helvetica"
+   res@tiYAxisFont             = "helvetica"
+   res@tmXBLabelFont           = "helvetica"
+   res@tmYLLabelFont           = "helvetica"
+   res@lgLabelFont             = "helvetica"
+   res@tmLabelAutoStride       = True
+   if (legend .EQ. 1)then
+      res@pmLegendDisplayMode     = "Always"
+   end if
+   res@pmLegendSide            = "Top"
+   res@xyExplicitLegendLabels  = legend_label
+   res@pmLegendParallelPosF    = 1.15
+   res@pmLegendOrthogonalPosF  = -1.0
+   res@pmLegendWidthF          = 0.12
+   res@pmLegendHeightF         = 0.05*np
+   res@lgLabelFontHeightF     = font_size
+   res@lgTitleString      = "Time [h]"
+   res@lgTitleFontHeightF = font_size   
+   res@txFontHeightF      = font_size
+   res@tiXAxisFontHeightF = font_size
+   res@tiYAxisFontHeightF = font_size
+   res@tmXBLabelFontHeightF = font_size
+   res@tmYLLabelFontHeightF = font_size
+   res@tiXAxisString      = " " 
+   if ( black .eq. 0 ) then  
+      res@xyLineColors = -(ispan(-237,-2,235/np))
+   end if
+   if (norm_z .EQ. 1)then
+      res@tiYAxisString      = "Height [m]"
+   else   
+      res@tiYAxisString      = "Height / "+norm_z+" [m]"
+   end if
+    
+   if (log_z .EQ. 1) then
+      res@trYLog = True 
+   end if
+
+   if (dash .EQ. 0 ) then
+      res@xyMonoDashPattern       = True 
+   else
+      res@xyMonoDashPattern       = False
+      if (no_files .GT. 1)
+         res@xyMonoDashPattern       = True  
+         print(" ") 
+         print("If you use more than one file, patterns for different timesteps cannot be used")
+         print(" ") 
+      end if       
+   end if 
+
+   res@tmXBMinorPerMajor = 4
+   res@tmYLMinorPerMajor = 4
+
+   resP                        = True
+   resP@txFont                 = "helvetica"
+   resP@txString               = f_att@title
+   resP@txFuncCode             = "~"
+   resP@txFontHeightF          = 0.015
+
+   ; ***************************************************
+   ; set up graphics for plot
+   ; ***************************************************
+
+   if (combine .EQ. 1) then
+      plot_o = new(number_comb,graphic)    
+      label=new(number_comb,string)
+      color_o=new(number_comb,integer)
+      mini=new(number_comb,float)
+      maxi=new(number_comb,float)
+   end if
+ 
+   wks=gsn_open_wks(format_out,file_out)
+   gsn_define_colormap(wks,"rainbow+white") 
+
+   ; ***************************************************
+   ; set up minimum and maximum height
+   ; *************************************************** 
+
+   if (log_z .EQ. 1)then
+      if (min_z .EQ. -1)then
+         if (isvar("z_u"))then
+            min_z=z_u(1)
+         else
+            min_z=z_w(1)
+         end if       
+      else
+         if (isvar("z_w"))then
+            if (min_z .GE. max(z_w) ) then
+               print(" ")
+               print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_w)+")")
+               print(" ")
+               exit
+            end if	    
+	 else
+	    if (min_z .GE. max(z_u) ) then
+               print(" ")
+               print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_u)+")")
+               print(" ")
+               exit
+            end if 
+	 end if
+	 if (isvar("z_u"))then   
+            if (min_z .LT. z_u(1) ) then
+               print(" ")
+               print("Begin height 'min_z' at least at level k=1 (="+z_u(1)+"m) due to the logarithmic scale of the y-axis")
+               print(" ")
+               exit
+            end if
+	 else
+	    if (min_z .LT. z_w(1) ) then
+               print(" ")
+               print("Begin height 'min_z' at least at level k=1 (="+z_w(1)+"m) due to the logarithmic scale of the y-axis")
+               print(" ")
+               exit
+            end if   
+         end if
+      end if
+   else
+      if (isvar("z_u"))then
+         if (min_z .EQ. -1)then
+            min_z=z_u(0)
+         end if 
+      else
+         if (min_z .EQ. -1)then
+            min_z=z_w(0)
+         end if    
+      end if
+   
+      if (isvar("z_w"))then
+         if (min_z .GE. max(z_w) ) then
+            print(" ")
+            print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_w)+")")
+            print(" ")
+            exit
+         end if
+      else
+         if (min_z .EQ. -1)then
+            min_z=z_u(0)
+         end if
+	 if (min_z .GE. max(z_u) ) then
+            print(" ")
+            print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_u)+")")
+            print(" ")
+            exit
+         end if 
+      end if
+   end if
+   
+   if (isvar("z_w"))then
+      if (max_z .EQ. -1)then
+         max_z=max(z_w)
+      end if 
+   else
+      if (max_z .EQ. -1)then
+         max_z=max(z_u)
+      end if    
+   end if
+   
+   if (isvar("z_w"))then
+      if (max_z .GT. max(z_w) ) then
+         print(" ")
+         print("Maximum of height ('max_z'="+max_z+") is greater than available heights (="+max(z_w)+")")
+         print(" ")
+         exit
+      end if
+   end if
+
+   min_z=min_z/norm_z
+   max_z=max_z/norm_z
+
+   ; ***************************************************
+   ; read data and create plots
+   ; ***************************************************
+      
+   do ti =0,np-1
+      if( t_all(ti_in(ti)) .lt. 10^36) then
+         start_time_step = ti
+         break
+      end if
+   end do  
+   
+   if (log_z .EQ. 1) then
+      data   = new((/dim,np,dimz-1/),float) 
+      data@_FillValue=9.96921e+36
+      data_0 = new((/np,dimz-1/),float)
+      data_0 = 0.1
+      t      = new((/np,dimz-1/),float) 
+      t      = 0.0
+      unit   = new(dim,string)
+      if (isvar("z_u"))then
+         if (typeof(z_u) .EQ. "double")then
+            z_v    = new((/dim,dimz/),double)
+            z_     = new((/dim,dimz-1/),double)
+         else
+            if (typeof(z_u) .EQ. "float")then 
+               z_v    = new((/dim,dimz/),float)
+               z_     = new((/dim,dimz-1/),float)
+            end if
+         end if
+      else
+         if (isvar("z_w"))then
+            if (typeof(z_w) .EQ. "double")then
+               z_v    = new((/dim,dimz/),double)
+               z_     = new((/dim,dimz-1/),double)
+            else
+               if (typeof(z_w) .EQ. "float")then 
+                  z_v    = new((/dim,dimz/),float)
+                  z_     = new((/dim,dimz-1/),float)
+               end if
+            end if
+         end if
+      end if
+   else
+      data   = new((/dim,np,dimz/),float) 
+      data@_FillValue=9.96921e+36
+      data_0 = new((/np,dimz/),float)
+      data_0 = 0.0
+      t      = new((/np,dimz/),float) 
+      t      = 0.0
+      unit   = new(dim,string)
+      if (isvar("z_u"))then
+         if (typeof(z_u) .EQ. "double")then
+            z_v    = new((/dim,dimz/),double)
+            z_     = new((/dim,dimz/),double)
+         else
+            if (typeof(z_u) .EQ. "float")then 
+               z_v    = new((/dim,dimz/),float)
+               z_     = new((/dim,dimz/),float)
+            end if
+         end if
+      else
+         if (isvar("z_w"))then
+            if (typeof(z_w) .EQ. "double")then
+               z_v    = new((/dim,dimz/),double)
+               z_     = new((/dim,dimz/),double)
+            else
+               if (typeof(z_w) .EQ. "float")then 
+                  z_v    = new((/dim,dimz/),float)
+                  z_     = new((/dim,dimz/),float)
+               end if
+            end if
+         end if
+      end if
+   end if
+
+   end if
+   ;------------------------------------------------------ above steps only for first file
+
+   ; ***************************************************
+   ; indicate plot number 
+   ; ***************************************************
+   
+   if (combine .EQ. 1) then
+      n = 1
+   else
+      n = 0
+   end if
+
+   if (over .EQ. 1) then 
+      plot_u         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniu = 1.E27
+      maxiu =-1.E27
+      plot_v         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniv = 1.E27
+      maxiv =-1.E27
+      plot_w         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniw = 1.E27
+      maxiw =-1.E27
+      plot_pt        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minipt = 1.E27
+      maxipt =-1.E27
+      plot_vpt       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minivpt = 1.E27
+      maxivpt =-1.E27
+      plot_lpt       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minilpt = 1.E27
+      maxilpt =-1.E27
+      plot_q         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniq = 1.E27
+      maxiq =-1.E27
+      plot_qv        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniqv = 1.E27
+      maxiqv =-1.E27
+      plot_ql        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniql = 1.E27
+      maxiql =-1.E27
+      plot_rho       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_s         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_sa        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_e         = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minie = 1.E27
+      maxie =-1.E27
+      plot_es        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minie = 1.E27
+      maxie =-1.E27
+      plot_km        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minie = 1.E27
+      maxie =-1.E27
+      plot_kh        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minie = 1.E27
+      maxie =-1.E27
+      plot_l         = gsn_csm_xy(wks,t,data_0(:,:),res)     
+      plot_wpup      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpup = 1.E27
+      maxiwpup =-1.E27
+      plot_wsus      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsus = 1.E27
+      maxiwsus =-1.E27
+      plot_wu        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwu = 1.E27
+      maxiwu =-1.E27
+      plot_wpvp      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpvp = 1.E27
+      maxiwpvp =-1.E27
+      plot_wsvs      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsvs = 1.E27
+      maxiwsvs =-1.E27
+      plot_wv        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwv = 1.E27
+      maxiwv =-1.E27
+      plot_wpptp     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpptp = 1.E27
+      maxiwpptp =-1.E27
+      plot_wspts     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwspts = 1.E27
+      maxiwspts =-1.E27
+      plot_wpt       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpt = 1.E27
+      maxiwpt =-1.E27
+      plot_wsptsBC   = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsptsBC = 1.E27
+      maxiwsptsBC =-1.E27 
+      plot_wptBC     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwptBC = 1.E27
+      maxiwptBC =-1.E27 
+      plot_wpvptp    = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpvptp = 1.E27
+      maxiwpvptp =-1.E27
+      plot_wsvpts    = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsvpts = 1.E27
+      maxiewsvpts=-1.E27
+      plot_wvpt      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwvpt = 1.E27
+      maxiwvpt =-1.E27 
+      plot_wpqp      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpqp = 1.E27
+      maxiwpqp =-1.E27
+      plot_wsqs      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsqs = 1.E27
+      maxiwsqs =-1.E27
+      plot_wq        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwq = 1.E27
+      maxiwq =-1.E27 
+      plot_wpqvp     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpqvp = 1.E27
+      maxiwpqvp =-1.E27
+      plot_wsqvs     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsqvs = 1.E27
+      maxiwsqvs =-1.E27
+      plot_wqv       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwqv = 1.E27
+      maxiwqv =-1.E27
+      plot_wpsp      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpsp = 1.E27
+      maxiwpsp =-1.E27
+      plot_wsss      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsss = 1.E27
+      maxiwsss =-1.E27
+      plot_ws        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniws = 1.E27
+      maxiws =-1.E27
+      plot_wpsap     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpsap = 1.E27
+      maxiwpsap =-1.E27
+      plot_wssas     = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwssas = 1.E27
+      maxiwssas =-1.E27 
+      plot_wsa       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsa = 1.E27
+      maxiwsa =-1.E27
+      plot_wses      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_us2       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minius2 = 1.E27
+      maxius2 =-1.E27
+      plot_vs2       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      minivs2 = 1.E27
+      maxivs2 =-1.E27
+      plot_ws2       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniws2 = 1.E27
+      maxiws2 =-1.E27
+      plot_pts2      = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_ws3       = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_Sw        = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_ws2pts    = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_wspts2    = gsn_csm_xy(wks,t,data_0(:,:),res)
+      plot_wsususodz = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwsususodz = 1.E27
+      maxiwsususodz =-1.E27
+      plot_wspsodz   = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwspsodz = 1.E27
+      maxiwspsodz =-1.E27
+      plot_wpeodz    = gsn_csm_xy(wks,t,data_0(:,:),res)
+      miniwpeodz = 1.E27
+      maxiwpeodz =-1.E27
+   end if
+
+   if (prof3d .EQ. 1)then
+
+   if (end_x .EQ. -1) then 
+      end_x=dimx-2
+   end if
+   if (end_y .EQ. -1)then
+      end_y=dimy-2
+   end if
+   if (start_x .LT. 0)then
+      print(" ")
+      print("'start_x' is lower than 0 and set to 0")
+      print(" ")
+      start_x=0
+   end if
+   if (start_x .GT. dimx-1)then
+      print(" ")
+      print("'start_x' is greater than available x-range and set to maximum of x-range (excluding ghostpoint)")
+      print(" ")
+      start_x=dimx-2
+   end if
+   if (end_x .EQ. dimx-1)then
+      print(" ")
+      print("'end_x' = "+end_x+" and includes the ghostpoint")
+      print(" ")
+   end if
+   if (end_x .GT. dimx-1)then
+      print(" ")
+      print("'end_x' = "+end_x+" is greater than available x-range and set to maximum of x-range (excluding ghostpoint)")
+      print(" ")
+      end_x=dimx-2
+   end if
+   if (end_x .LT. start_x)then
+      print(" ")
+      print("'end_x' = "+end_x+" is lower than 'start_x' = "+start_x+" and set to maximum of x-range (excluding ghostpoint)")
+      print(" ")
+      end_x=dimx-2
+   end if
+   if (start_y .LT. 0)then
+      print(" ")
+      print("'start_y' is lower than 0 and set to 0")
+      print(" ")
+      start_y=0
+   end if
+   if (start_y .GT. dimy-1)then
+      print(" ")
+      print("'start_y' is greater than available y-range and set to maximum of y-range (excluding ghostpoint)")
+      print(" ")
+      start_x=dimy-2
+   end if
+   if (end_y .EQ. dimy-1)then
+      print(" ")
+      print("'end_y' = "+end_y+" and includes the ghostpoint")
+      print(" ")
+   end if
+   if (end_y .GT. dimy-1)then
+      print(" ")
+      print("'end_y' = "+end_y+" is greater than available y-range and set to maximum of y-range (excluding ghostpoint)")
+      print(" ")
+      end_x=dimy-2
+   end if
+   if (end_y .LT. start_y)then
+      print(" ")
+      print("'end_y' = "+end_y+" is lower than 'start_y' = "+start_y+" and set to maximum of y-range (excluding ghostpoint)")
+      print(" ")
+      end_y=dimy-2
+   end if
+   
+   end if
+  
+   n_o=0
+   count_var=0
+
+   res@xyDashPattern = 1*nof
+
+   over_remind = False
+   if ( over .eq. 1)then
+     over_remind = True
+   end if 
+   
+   do varn = 0,dim-1 
+
+      check = True
+      
+      if (prof3d .EQ. 0) then
+         if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+            check = False
+         end if
+      else
+         if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
+            check = False
+         end if
+      end if
+
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," )
+      end if
+
+      if (combine .EQ. 1) then         
+         com=isStrSubset(c_var,","+vNam(varn)+"," )      
+         if (com) then      
+            if (prof3d .EQ. 0) then	      	     
+	       temp     = f[:]->$vNam(varn)$	      
+	       temp_att = f_att->$vNam(varn)$ 
+               if (log_z .EQ. 1) then
+                  do j=0,np-1
+                     data(varn,j,:) = temp(ti_in(j),1:dimz-1)
+                  end do
+               else
+                  do j=0,np-1
+                     data(varn,j,:) = temp(ti_in(j),0:dimz-1)
+                  end do
+               end if
+            else
+               if (log_z .EQ. 1) then
+                  do i=1,dimz-1
+                     do j=0,np-1
+                        temp= f[:]->$vNam(varn)$
+			temp_att = f_att->$vNam(varn)$ 
+	                data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
+			data(varn,j,i-1) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
+                     end do
+                  end do
+               else
+                  do i=0,dimz-1
+                     do j=0,np-1
+                        temp= f[:]->$vNam(varn)$
+			temp_att = f_att->$vNam(varn)$ 
+			data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
+                        data(varn,j,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
+                     end do
+                  end do
+               end if
+               print(" ")
+               print("Variable for combine '"+vNam(varn)+"' is read")
+               print(" ")
+            end if                 
+            unit(varn) = temp_att@units
+            if (n_o .GT. number_comb-1) then
+               print(" ")
+               print("Set 'number_comb' to the number of overlaying variables ('c_var' = "+c_var+")")
+               print(" ")
+               exit
+            end if 
+	    if (abs(min(data(varn,:,:))) .GT. 10)then
+	       min_value = abs(0.01*min(data(varn,:,:)))
+	       max_value = abs(0.01*max(data(varn,:,:)))
+	    else
+	       if (abs(min(data(varn,:,:))) .LT. 0.01 .AND. abs(max(data(varn,:,:))) .GT. 0.01)then
+	          min_value = abs(0.1*max(data(varn,:,:)))
+	          max_value = abs(0.1*max(data(varn,:,:)))
+	       else
+	          if (abs(max(data(varn,:,:))) .LT. 0.01 .AND. abs(min(data(varn,:,:))) .GT. 0.01)then
+	             min_value = abs(0.1*min(data(varn,:,:)))
+	             max_value = abs(0.1*min(data(varn,:,:)))
+	          else
+	             min_value = abs(0.1*min(data(varn,:,:)))
+	             max_value = abs(0.1*max(data(varn,:,:)))
+	          end if
+	       end if
+	    end if 
+	    if (min(data(varn,:,:)) .EQ. 0 .AND. max(data(varn,:,:)) .EQ. 0)then
+	       min_value = 0.1
+	       max_value = 0.1
+	    end if
+            mini(n_o)=min(data(varn,:,:))
+            maxi(n_o)=max(data(varn,:,:)) 
+            n_o=n_o+1
+         end if
+      end if
+
+      if(check) then
+         
+         count_var=count_var+1
+
+         if (prof3d .EQ. 0) then	  
+	    temp = f[:]->$vNam(varn)$
+	    temp_att = f_att->$vNam(varn)$ 
+         else
+             if (log_z .EQ. 1) then
+               do i=1,dimz-1
+                  do j=0,np-1
+                     temp= f[:]->$vNam(varn)$
+		     temp_att = f_att->$vNam(varn)$ 
+		     data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
+                     data(varn,j,i-1) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
+                     delete(data_temp)
+                  end do
+               end do
+            else
+               do i=0,dimz-1
+                  do j=0,np-1
+                     temp= f[:]->$vNam(varn)$
+		     temp_att = f_att->$vNam(varn)$ 
+		     data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
+		     data_temp!0 = "t"
+		     data_temp!1 = "z"
+                     data(varn,j,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
+                     delete(data_temp)
+                  end do
+               end do
+            end if
+            print(" ")
+            print("Variable '"+vNam(varn)+"' is read")
+            print(" ")
+            unit(varn) = temp_att@units
+            a=getvardims(temp_att)
+            b=dimsizes(a)
+         end if
+
+         if (prof3d .EQ. 0) then
+            if (log_z .EQ. 1) then
+               z = f_att->$vNam(varn+1)$(1:dimz-1) 
+               unit(varn) = temp_att@units
+               do j=0,np-1
+                  data(varn,j,:) = temp(ti_in(j),1:dimz-1) 
+               end do
+            else
+               z = f_att->$vNam(varn+1)$ 
+               unit(varn) = temp_att@units
+               do j=0,np-1
+                  data(varn,j,:) = temp(ti_in(j),:) 
+               end do
+            end if
+         else 
+            do i=0,b-1           
+               if (isStrSubset( a(i),"zu_3d" ))then
+                  z_v(varn,:) = z_u
+                  if (log_z .EQ. 1) then
+                     z = z_v(varn,1:dimz-1)
+                  else
+                     z = z_v(varn,:)
+                  end if 
+               else
+                  if (isStrSubset( a(i),"zw_3d" ))then
+                     z_v(varn,:) = z_w
+                     if (log_z .EQ. 1) then
+                        z = z_v(varn,1:dimz-1)
+                     else
+                        z = z_v(varn,:)
+                     end if
+                  end if                   
+               end if
+            end do            
+         end if
+
+         if (isStrSubset(data@long_name," SR " ) ) then
+           over = 0
+         end if 
+	 
+         if (nof .EQ. 0) then
+            z_(n,:)=z/norm_z
+            z    = z_(n,:)
+         else
+            z=z/norm_z
+         end if
+
+         delta_z = z(1) - z(0)
+
+         max_z_int=doubletoint(max_z/delta_z)
+         min_z_int=doubletoint(min_z/delta_z)
+
+         if(max_z_int .eq. min_z_int)
+             print(" ")
+             print("Please increase 'max_z' or decrease 'min_z' so that there are")
+             print("at least two layers for the z-axis to plot")
+             print(" ")
+             exit
+         end if
+
+         if(min_z_int .gt. max_z_int)
+            print(" ")
+            print("'min_z' is greater than 'max_z',")
+            print("please change this")
+            print(" ")
+            exit
+         end if
+
+         if (max_z_int .gt. dimz-1)
+            max_z_int = dimz-1
+            if (log_z .EQ. 1) then
+             max_z_int = max_z_int - 1
+            end if
+         end if
+
+         if (min_z_int .lt. 0)
+            min_z_int = 0
+            if (log_z .EQ. 1) then
+              min_z_int = min_z_int + 1
+            end if
+         end if         
+         
+	 
+	 if (abs(min(data(varn,:,min_z_int:max_z_int))) .GT. 10)then
+	    min_value = abs(0.001*min(data(varn,:,min_z_int:max_z_int)))
+	    max_value = abs(0.001*max(data(varn,:,min_z_int:max_z_int)))
+	 else
+	    if (abs(min(data(varn,:,min_z_int:max_z_int))) .LT. 0.01 .AND. \
+                abs(max(data(varn,:,min_z_int:max_z_int))) .GT. 0.01)then
+	       min_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	       max_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	    else
+	       if (abs(max(data(varn,:,min_z_int:max_z_int))) .LT. 0.01 .AND.\
+                   abs(min(data(varn,:,min_z_int:max_z_int))) .GT. 0.01)then
+	          min_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	          max_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	       else
+	          min_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	          max_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	       end if
+	    end if
+	 end if 
+	 if (min(data(varn,:,min_z_int:max_z_int)) .EQ. 0 .AND. \
+             max(data(varn,:,min_z_int:max_z_int)) .EQ. 0)then
+	    min_value = 0.1
+	    max_value = 0.1
+	 end if
+    
+         if (over .EQ. 0) then  
+            res@gsnLeftString      = vNam(varn)
+	    res@tiXAxisString      = "["+unit(varn)+"]"
+            res@gsnRightString     = " "
+            res@trYMinF            = min_z
+            res@trYMaxF            = max_z 
+            if (xs .EQ. -1) then 
+               res@trXMinF            = min(data(varn,:,min_z_int:max_z_int))-min_value
+            else 
+               res@trXMinF            = xs
+            end if
+            if (xe .EQ. -1) then 
+               res@trXMaxF            = max(data(varn,:,min_z_int:max_z_int))+max_value 
+            else 
+               res@trXMaxF            = xe  
+            end if         
+            plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)  
+         end if
+  
+     
+         if (vNam(varn) .EQ. "u" ) then
+               miniu=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiu=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_u = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "                 
+                  if (xs .EQ. -1) then  
+                     res@trXMinF            = miniu
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiu 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if                
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)  
+               end if
+            end if
+            if (vNam(varn) .EQ. "v") then 
+               miniv=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiv=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyMonoDashPattern = True
+                  res@xyDashPattern  = 1
+                  plot_v = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "                  
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = miniv
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF            = maxiv
+                  else 
+                     res@trXMaxF            = xe  
+                  end if                
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if  
+            end if
+            if (vNam(varn) .EQ. "w") then
+               miniw=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiw=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern = 2
+                  plot_w = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = miniw
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF            = maxiw
+                  else 
+                     res@trXMaxF            = xe  
+                  end if           
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if   
+            end if
+
+            if (vNam(varn) .EQ. "pt") then
+               minipt=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxipt=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_pt = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minipt
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then       
+                     res@trXMaxF            = maxipt 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if  
+            end if
+            if (vNam(varn) .EQ. "vpt") then
+               minivpt=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxivpt=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_vpt = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minivpt 
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then       
+                     res@trXMaxF            = maxivpt 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if 
+            end if
+            if (vNam(varn) .EQ. "lpt") then
+               minilpt=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxilpt=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_lpt = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minilpt
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxilpt
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+
+            if (vNam(varn) .EQ. "q") then
+               miniq=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiq=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_q = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minilq
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxilq
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "qv") then
+               miniqv=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiqv=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then 
+                  res@xyDashPattern  = 1
+                  plot_qv = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minilqv
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then         
+                     res@trXMaxF            = maxilqv 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "ql") then
+               miniql=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiql=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_ql = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniql
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then       
+                     res@trXMaxF            = maxiql 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "e") then
+               minie=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxie=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_e = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minie
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then       
+                     res@trXMaxF            = maxie 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+            if (vNam(varn) .EQ. "es") then
+               minies=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxies=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_es = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = minies
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxies
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "km") then
+               minikm=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxikm=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_km = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = minikm
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then      
+                     res@trXMaxF            = maxikm
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+            if (vNam(varn) .EQ. "kh") then
+               minikh=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxikh=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_kh = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minikh
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then     
+                     res@trXMaxF            = maxikh
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpup") then
+               miniwpup=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpup=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpup = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpup
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF            = maxiwpup 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsus") then
+               miniwsus=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsus=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wsus = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsus
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then      
+                     res@trXMaxF            = maxiwsus 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wu") then
+               miniwu=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwu=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_wu = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = miniwu
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then 
+                     res@trXMaxF            = maxiwu 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpvp") then
+               miniwpvp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpvp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpvp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpvp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then     
+                     res@trXMaxF            = maxiwpvp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsvs") then
+               miniwsvs=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsvs=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wsvs = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF            = miniwsvs
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then      
+                     res@trXMaxF            = maxiwsvs 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wv") then
+               miniwv=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwv=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_wv = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwv
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwv 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpptp") then
+               miniwpptp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpptp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpptp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpptp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpptp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "wspts") then
+               miniwspts=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwspts=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wspts = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwspts
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwspts 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpt") then       
+               miniwpt=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpt=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_wpt = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpt
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpt 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wsptsBC") then
+               miniwsptsBC=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsptsBC=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wsptsBC = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsptsBC
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsptsBC 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if             
+            if (vNam(varn) .EQ. "wptBC") then
+               miniwptBC=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwptBC=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wptBC = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwptBC
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwptBC 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpvptp") then
+               miniwpvptp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpvptp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpvptp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpvptp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpvptp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsvpts") then
+               miniwsvpts=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsvpts=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wsvpts = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsvpts
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsvpts 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wvpt") then
+               miniwvpt=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwvpt=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_wvpt = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwvpt
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwvpt 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpqp") then
+               miniwpqp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpqp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpqp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpqp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpqp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsqs") then
+               miniwsqs=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsqs=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wsqs = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsqs
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsqs 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wq") then
+               miniwq=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwq=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_wq = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwq
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwq 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpqvp") then
+               miniwpqvp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpqvp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0 
+                  plot_wpqvp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpqvp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpqvp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+            if (vNam(varn) .EQ. "wsqvs") then
+               miniwsqvs=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsqvs=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wsqvs = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsqvs
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsqvs 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wqv") then
+               miniwqv=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwqv=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_wqv = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwqv
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwqv 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wpsp") then
+               miniwpsp=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpsp=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpsp = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpsp
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpsp 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if 
+            if (vNam(varn) .EQ. "wsss") then
+               miniwsss=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsss=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1 
+                  plot_wsss = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsss
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsss 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "ws") then
+               miniws=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiws=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_ws = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniws
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiws 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+
+            if (vNam(varn) .EQ. "wpsap") then
+               miniwpsap=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpsap=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wpsap = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpsap
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpsap 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+            if (vNam(varn) .EQ. "wssas") then
+               miniwssas=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwssas=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wssas = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwssas
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwssas 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsa") then
+               miniwsa=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsa=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2
+                  plot_wsa = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsa
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsa 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "us2") then
+               minius2=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxius2=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_us2 = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minius2
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxius2 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if 
+            end if
+            if (vNam(varn) .EQ. "vs2") then
+               minivs2=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxivs2=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_vs2 = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = minivs2
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxivs2 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if
+            end if
+            if (vNam(varn) .EQ. "ws2") then
+               miniws2=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiws2=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_ws2 = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniws2
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiws2 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "wsususodz") then
+               miniwsususodz=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwsususodz=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 0
+                  plot_wsususodz = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwsususodz
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwsususodz 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if  
+            end if
+            if (vNam(varn) .EQ. "wspsodz") then
+               miniwspsodz=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwspsodz=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 1
+                  plot_wspsodz = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwspsodz
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwspsodz 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               end if 
+            end if
+            if (vNam(varn) .EQ. "wpeodz") then
+               miniwpeodz=min(data(varn,:,min_z_int:max_z_int))-min_value
+               maxiwpeodz=max(data(varn,:,min_z_int:max_z_int))+max_value
+               if (over .EQ. 1) then
+                  res@xyDashPattern  = 2 
+                  plot_wpeodz = gsn_csm_xy(wks,data(varn,:,:),z,res)
+               else
+                  res@gsnLeftString      = vNam(varn)
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then 
+                     res@trXMinF            = miniwpeodz
+                  else 
+                     res@trXMinF            = xs
+                  end if
+                  if (xe .EQ. -1) then        
+                     res@trXMaxF            = maxiwpeodz 
+                  else 
+                     res@trXMaxF            = xe  
+                  end if
+                  plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               end if
+            end if 
+         if (no_files .GT. 1) then
+	    print("nof="+nof+" und n="+n)
+            multi_plot(nof,n)=plot(n) 
+            max_nof(nof,n)=max(data(varn,:,:))
+            min_nof(nof,n)=min(data(varn,:,:))
+            name(nof,n)   =vNam(varn)
+            unit_(nof,n)  =unit(varn)
+         end if
+         if (over .EQ. 0) then
+            n=n+1  
+         end if  
+         if (prof3d .EQ. 0)then    
+            varn=varn+1
+         end if
+         delete(temp) 
+	 delete(temp_att)
+      end if          
+   end do
+   if (no_files .GT. 1) then
+      delete(vNam)
+      delete(files)
+   end if
+   
+   end do
+   ;#########ENDE DO LOOP FOR no_files GT 1#############
+
+   if (isStrSubset(data@long_name," SR " ) .and. over_remind) then
+      print(" ")
+      print("If you have outputs of statistic regions you cannot overlay variables;")
+      print("'over' is set to 0" )
+      print(" ")
+      over = 0
+   end if 
+
+   if (count_var .EQ. 0) then
+      print(" ")
+      print("The variables 'var="+var+"'" )
+      print("do not exist on your input file;")
+      print("be sure to have one comma before and after each variable")
+      print(" ")
+      exit        
+   end if
+   
+   if (no_files .GT. 1) then 
+      multi_legend=new(6,string)
+      string_len=new(6,integer)
+      multi_dash=new(no_files,string)
+      multi_legend(0)="  "+name_legend_1
+      string_len(0)=strlen(multi_legend(0))
+      multi_legend(1)="  "+name_legend_2 
+      string_len(1)=strlen(multi_legend(1))
+      multi_legend(2)="  "+name_legend_3
+      string_len(2)=strlen(multi_legend(2))
+      multi_legend(3)="  "+name_legend_4 
+      string_len(3)=strlen(multi_legend(3))
+      multi_legend(4)="  "+name_legend_5 
+      string_len(4)=strlen(multi_legend(4))
+      multi_legend(5)="  "+name_legend_6 
+      string_len(5)=strlen(multi_legend(5))
+      do ml=1,no_files
+         multi_dash(ml-1)=ml-1
+      end do
+      delete(plot)
+      plot = new(dim,graphic)
+      do pl=0,n-1
+         plot0 = new(1,graphic)
+         res@trXMinF = min(min_nof(:,pl))
+         res@trXMaxF = max(max_nof(:,pl))
+         res@gsnLeftString  = name(0,pl)
+         res@gsnRightString = unit_(0,pl) 
+         
+	 data_0(:,:) = min(min_nof(:,pl))
+         plot0 = gsn_csm_xy(wks,data_0(:,:),z_(pl,:),res)
+
+         ; ***************************************************
+         ; legend for combined plot
+         ; ***************************************************
+
+         lgres                    = True
+         lgMonoDashIndex          = False
+         lgres@lgLabelFont        = "helvetica"    
+         lgres@lgLabelFontHeightF = font_size_legend            
+         lgres@vpWidthF           = max(string_len)*0.015           
+         lgres@vpHeightF          = 0.03*no_files          
+         lgres@lgDashIndexes      = multi_dash(no_files-1:0)
+         lbid = gsn_create_legend(wks,no_files,multi_legend(no_files-1:0),lgres)       
+
+         amres = True
+         amres@amParallelPosF   = max(string_len)*0.012+0.78		    
+         amres@amOrthogonalPosF = -0.0315*no_files+0.431         
+         annoid1 = gsn_add_annotation(plot0,lbid,amres) 
+
+         do plo=0,no_files-1
+            overlay(plot0,multi_plot(plo,pl))
+            plot(pl)=plot0
+         end do
+         delete(plot0)
+      end do
+   end if
+
+   if (count_var .EQ. 0) then
+      print(" ")
+      print("Select a variable 'var=' or use the default value")
+      print(" ")
+      print("Your selection '"+var+"' does not exist on the input file")
+      print(" ")
+      exit
+   end if
+
+   if (over .EQ. 1 ) then
+
+      overlay(plot_u,plot_v)
+      overlay(plot_u,plot_w)
+      u=0
+      overlay(plot_pt,plot_vpt)
+      overlay(plot_pt,plot_lpt)
+      pt=0
+      overlay(plot_q,plot_qv)
+      overlay(plot_q,plot_ql)
+      q=0
+      overlay(plot_e,plot_es)
+      e=0
+      overlay(plot_km,plot_kh)
+      km=0
+      overlay(plot_wpup,plot_wsus)
+      overlay(plot_wpup,plot_wu)
+      wpup=0
+      overlay(plot_wpvp,plot_wsvs)
+      overlay(plot_wpvp,plot_wv)
+      wpvp=0
+      overlay(plot_wpptp,plot_wspts)
+      overlay(plot_wpptp,plot_wpt)
+      wpptp=0
+      overlay(plot_wsptsBC,plot_wptBC)
+      wsptsBC=0
+      overlay(plot_wpvptp,plot_wsvpts)
+      overlay(plot_wpvptp,plot_wvpt)
+      wpvptp=0
+      overlay(plot_wpqp,plot_wsqs)
+      overlay(plot_wpqp,plot_wq)
+      wpqp=0
+      overlay(plot_wpqvp,plot_wsqvs)
+      overlay(plot_wpqvp,plot_wqv)
+      wpqvp=0
+      overlay(plot_wpsp,plot_wsss)
+      overlay(plot_wpsp,plot_ws)
+      wpsp=0
+      overlay(plot_wpsap,plot_wssas)
+      overlay(plot_wpsap,plot_wsa)
+      wpsap=0
+      overlay(plot_us2,plot_vs2)
+      overlay(plot_us2,plot_ws2)
+      us2=0
+      overlay(plot_wsususodz,plot_wspsodz)
+      overlay(plot_wsususodz,plot_wpeodz)
+      wsususodz=0
+
+   end if
+
+   if (over .EQ. 1) then 
+   
+      do varn = 0,dim-1    
+         
+         check = True
+      
+         if (prof3d .EQ. 0) then
+            if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+               check = False
+            end if
+         else
+            if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
+               check = False
+            end if
+         end if
+
+         if (var .NE. "all") then      
+            check = isStrSubset( var,","+vNam(varn)+"," )
+         end if      
+
+         if (check)then
+
+            if (prof3d .EQ. 0) then
+               if (log_z .EQ. 1) then
+                  z = f_att->$vNam(varn+1)$(1:dimz-1) 
+               else
+                  z = f_att->$vNam(varn+1)$               
+               end if
+            else 
+               do i=0,b-1            
+                  if (isStrSubset( a(i),"zu_3d" ))then
+                     z_v(varn,:) = z_u
+                     if (log_z .EQ. 1) then
+                        z = z_v(varn,1:dimz-1)
+                     else
+                        z = z_v(varn,:)
+                     end if 
+                  else
+                     if (isStrSubset( a(i),"zw_3d" ))then
+                        z_v(varn,:) = z_w
+                        if (log_z .EQ. 1) then
+                           z = z_v(varn,1:dimz-1)
+                        else
+                           z = z_v(varn,:)
+                        end if
+                     end if                   
+                  end if
+               end do            
+            end if
+
+            z=z/norm_z
+	    
+	    if (abs(min(data(varn,:,min_z_int:max_z_int))) .GT. 10)then
+	       min_value = abs(0.01*min(data(varn,:,min_z_int:max_z_int)))
+	       max_value = abs(0.01*max(data(varn,:,min_z_int:max_z_int)))
+	    else
+	       if (abs(min(data(varn,:,min_z_int:max_z_int))) .LT. 0.01 .AND. \
+                   abs(max(data(varn,:,min_z_int:max_z_int))) .GT. 0.01)then
+	          min_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	          max_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	       else
+	          if (abs(max(data(varn,:,:))) .LT. 0.01 .AND. \
+                      abs(min(data(varn,:,min_z_int:max_z_int))) .GT. 0.01)then
+	             min_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	             max_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	          else
+	             min_value = abs(0.1*min(data(varn,:,min_z_int:max_z_int)))
+	             max_value = abs(0.1*max(data(varn,:,min_z_int:max_z_int)))
+	          end if
+	       end if
+	    end if 
+	    if (min(data(varn,:,min_z_int:max_z_int)) .EQ. 0 .AND.\
+                max(data(varn,:,min_z_int:max_z_int)) .EQ. 0)then
+	       min_value = 0.1
+	       max_value = 0.1
+	    end if
+
+            res@gsnLeftString      = vNam(varn)
+	    res@tiXAxisString      = "["+unit(varn)+"]"
+            res@gsnRightString     = " "
+            res@trYMinF            = min_z
+            res@trYMaxF            = max_z  
+	    res@xyDashPattern = 0
+
+            if (xs .EQ. -1) then 
+               res@trXMinF = min(data(varn,:,min_z_int:max_z_int))-min_value
+            else 
+               res@trXMinF = xs
+            end if
+            if (xe .EQ. -1) then 
+               res@trXMaxF = max(data(varn,:,min_z_int:max_z_int))+max_value
+            else 
+               res@trXMaxF = xe  
+            end if 
+            plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res)  
+            
+            if (vNam(varn) .EQ. "u" .OR. vNam(varn) .EQ. "v" .OR. vNam(varn) .EQ. "w") then
+               if (u .EQ. 0) then
+                  res@gsnLeftString      = "u, v and w"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniu,miniv,miniw/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiu,maxiv,maxiw/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if  
+		  if (vNam(varn) .EQ. "v")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "w")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.06           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"u","v","w"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_u)
+                  u=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue
+               end if        
+            end if  
+     
+            if (vNam(varn) .EQ. "pt" .OR. vNam(varn) .EQ. "vpt" .OR. vNam(varn) .EQ. "lpt") then
+               if (pt .EQ. 0) then
+                  res@gsnLeftString      = "pt, vpt and lpt"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/minipt,minivpt,minilpt/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxipt,maxivpt,maxilpt/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if
+                  if (vNam(varn) .EQ. "vpt")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "lpt")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend          
+                  lgres@vpWidthF           = 0.07           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"pt","vpt","lpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_pt)
+                  pt=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue       
+               end if
+            end if            
+            if (vNam(varn) .EQ. "q" .OR. vNam(varn) .EQ. "qv" .OR. vNam(varn) .EQ. "ql") then
+               if (q .EQ. 0) then
+                  res@gsnLeftString      = "q, qv and ql"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniq,miniqv,miniql/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiq,maxiqv,maxiql/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "qv")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "ql")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.06          
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"q","qv","ql"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_q)
+                  q=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if    
+           
+            if (vNam(varn) .EQ. "e" .OR. vNam(varn) .EQ. "es") then
+               if (e .EQ. 0) then
+                  res@gsnLeftString      = "e and es"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/minie,minies/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxie,maxies/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+		  if (vNam(varn) .EQ. "es")then
+		     res@xyDashPattern = 1
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend           
+                  lgres@vpWidthF           = 0.06           
+                  lgres@vpHeightF          = 0.08          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,2,(/"e","es"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_e)
+                  e=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if            
+            if (vNam(varn) .EQ. "km" .OR. vNam(varn) .EQ. "kh") then
+               if (km .EQ. 0) then
+                  res@gsnLeftString      = "km and kh"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/minikm,minikh/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxikm,maxikh/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "kh")then
+		     res@xyDashPattern = 1
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend           
+                  lgres@vpWidthF           = 0.06           
+                  lgres@vpHeightF          = 0.08          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,2,(/"km","kh"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_km) 
+                  km=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if           
+           
+            if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "wsus" .OR. vNam(varn) .EQ. "wu") then
+               if (wpup .EQ. 0) then
+                  res@gsnLeftString      = "wpup, wsus and wu"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpup,miniwsus,miniwu/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpup,maxiwsus,maxiwu/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if  
+                  if (vNam(varn) .EQ. "wsus")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wu")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.08           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpup","wsus","wu"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpup)
+                  wpup=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue    
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "wsvs" .OR.vNam(varn) .EQ. "wv") then
+               if (wpvp .EQ. 0) then
+                  res@gsnLeftString      = "wpvp, wsvs and wv"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpvp,miniwsvs,miniwv/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpvp,maxiwsvs,maxiwv/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if
+		  if (vNam(varn) .EQ. "wsvs")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wv")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.08          
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpvp","wsvs","wv"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpvp)
+                  wpvp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "wpt") then
+               if (wpptp .EQ. 0) then
+                  res@gsnLeftString      = "wpptp, wspts and wpt"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpptp,miniwspts,miniwpt/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpptp,maxiwspts,maxiwpt/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "wspts")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wpt")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.09           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpptp","wspts","wpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpptp)
+                  wpptp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue    
+               end if
+            end if
+            if (vNam(varn) .EQ. "wsptsBC" .OR. vNam(varn) .EQ. "wptBC") then
+               if (wsptsBC .EQ. 0) then
+                  res@gsnLeftString      = "wsptsBC and wptBC"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwsptsBC,miniwptBC/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwsptsBC,maxiwptBC/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "wptBC")then
+		     res@xyDashPattern = 1
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.1           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wsptsBC","wptBC"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wsptsBC)
+                  wsptsBC=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if  
+            end if             
+            if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "wsvpts" .OR. vNam(varn) .EQ. "wvpt") then
+               if (wpvptp .EQ. 0) then
+                  res@gsnLeftString      = "wpvptp, wsvpts and wvpt"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpvptp,miniwsvpts,miniwvpt/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpvptp,maxiwsvpts,maxiwvpt/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+		  if (vNam(varn) .EQ. "wsvpts")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wvpt")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.1           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpvptp","wsvpts","wvpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpvptp)
+                  wpvptp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "wsqs" .OR. vNam(varn) .EQ. "wq") then
+               if (wpqp .EQ. 0) then 
+                  res@gsnLeftString      = "wpqp, wsqs and wq"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpqp,miniwsqs,miniwq/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpqp,maxiwsqs,maxiwq/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if  
+		  if (vNam(varn) .EQ. "wsqs")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wq")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend           
+                  lgres@vpWidthF           = 0.08           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpqp","wsqs","wq"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpqp)
+                  wpqp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if 
+                  continue   
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "wsqvs" .OR. vNam(varn) .EQ. "wqv") then
+               if (wpqvp .EQ. 0) then
+                  res@gsnLeftString      = "wpqvp, wsqvs and wqv"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpqp,miniwsqvs,miniwqv/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpqp,maxiwsqvs,maxiwqv/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+		  if (vNam(varn) .EQ. "wsqvs")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wqv")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.09           
+                  lgres@vpHeightF          = 0.12         
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpqvp","wsqvs","wqv"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpqvp) 
+                  wpqvp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if
+            if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "wsss" .OR. vNam(varn) .EQ. "ws") then
+               if (wpsp .EQ. 0) then
+                  res@gsnLeftString      = "wpsp, wsss and ws"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpsp,miniwsss,miniws/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpsp,maxiwsss,maxiws/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "wsss")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "ws")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.08           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpsp","wsss","ws"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpsp)
+                  wpsp=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if 
+            if (vNam(varn) .EQ. "wpsap" .OR.vNam(varn) .EQ. "wssas" .OR. vNam(varn) .EQ. "wsa") then
+               if (wpsap .EQ. 0) then
+                  res@gsnLeftString      = "wpsap, wssas and wsa"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwpsap,miniwssas,miniwsa/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwpsap,maxiwssas,maxiwsa/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+                  if (vNam(varn) .EQ. "wssas")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wsa")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.09           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wpsap","wssas","wsa"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wpsap)
+                  wpsap=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if
+          
+            if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "vs2" .OR. vNam(varn) .EQ. "ws2") then
+               if (us2 .EQ. 0) then
+                  res@gsnLeftString      = "us2, vs2 and ws2"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/minius2,minivs2,miniws2/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxius2,maxivs2,maxiws2/))
+		  else 
+                     res@trXMaxF = xe  
+                  end if 
+		  if (vNam(varn) .EQ. "vs2")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "ws2")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend            
+                  lgres@vpWidthF           = 0.07           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"us2","vs2","ws2"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_us2)
+                  us2=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if
+           
+            if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "wspsodz" .OR. vNam(varn) .EQ. "wpeodz" ) then
+               if (wsususodz .EQ. 0) then 
+                  res@gsnLeftString      = "wsususodz, wspsodz and wpeodz"
+		  res@tiXAxisString      = "["+unit(varn)+"]"
+                  res@gsnRightString     = " "
+                  if (xs .EQ. -1) then
+                     res@trXMinF = min((/miniwsususodz,miniwspsodz,miniwpeodz/))
+                  else 
+                     res@trXMinF = xs
+                  end if
+                  if (xe .EQ. -1) then
+                     res@trXMaxF = max((/maxiwsususodz,maxiwspsodz,maxiwpeodz/))
+                  else 
+                     res@trXMaxF = xe  
+                  end if 
+		  if (vNam(varn) .EQ. "wspsodz")then
+		     res@xyDashPattern = 1
+		  end if
+		  if (vNam(varn) .EQ. "wpeodz")then
+		     res@xyDashPattern = 2
+		  end if
+                  plot(n) =  gsn_csm_xy(wks,data(varn,:,:),z,res) 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = font_size_legend           
+                  lgres@vpWidthF           = 0.12           
+                  lgres@vpHeightF          = 0.12          
+                  lgres@lgDashIndexes      = (/0,1,2/)
+                  lbid = gsn_create_legend(wks,3,(/"wsususodz","wspsodz","wpeodz"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.65		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)                  
+                  overlay(plot(n),plot_wsususodz)
+                  wsususodz=1
+               else
+                  if (prof3d .EQ. 0)then
+                     varn=varn+1
+                  end if
+                  continue   
+               end if
+            end if     
+            n=n+1 
+            if (prof3d .EQ. 0)then
+               varn=varn+1
+            end if   
+         end if
+      end do 
+   end if 
+   
+   com_var_avail=new(count_var,string)    
+
+   if (combine .EQ. 1) then
+      co=0     
+      n_o=0
+      do varn = 0,dim-1
+ 
+         check = True
+      
+         if (prof3d .EQ. 0) then
+            if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
+               check = False
+            end if
+         else
+            if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
+               check = False
+            end if
+         end if
+
+         if (var .NE. "all") then         
+            check = isStrSubset( var,","+vNam(varn)+"," )
+         end if      
+
+         if (check)then
+            
+            if (prof3d .EQ. 0) then
+               if (log_z .EQ. 1) then
+                  z = f_att->$vNam(varn+1)$(1:dimz-1) 
+               else
+                  z = f_att->$vNam(varn+1)$               
+               end if
+            else 
+               do i=0,b-1            
+                  if (isStrSubset( a(i),"zu_3d" ))then
+                     z_v(varn,:) = z_u
+                     if (log_z .EQ. 1) then
+                        z = z_v(varn,1:dimz-1)
+                     else
+                        z = z_v(varn,:)
+                     end if 
+                  else
+                     if (isStrSubset( a(i),"zw_3d" ))then
+                        z_v(varn,:) = z_w
+                        if (log_z .EQ. 1) then
+                           z = z_v(varn,1:dimz-1)
+                        else
+                           z = z_v(varn,:)
+                        end if
+                     end if                   
+                  end if
+               end do            
+            end if
+
+            z=z/norm_z
+	    
+	    com_var_avail(n_o)=vNam(varn)
+	    
+            com=isStrSubset( c_var,","+vNam(varn)+"," )
+            if (com)then 
+               co = co+1           
+               if (n_o .EQ. 1) then
+                  res@xyDashPattern  = 1                                   
+               else            
+                  if (n_o .EQ. 2) then
+                     res@xyDashPattern  = 2
+                  else
+                     res@xyDashPattern  = 0
+                     res@gsnLeftString  = "Combined Plot of "+c_var
+		     res@tiXAxisString      = "["+unit(varn)+"]"
+                     res@gsnRightString     = " "
+                     if (xs .EQ. -1) then 
+                        res@trXMinF = min(mini)
+                     else 
+                        res@trXMinF = xs
+                     end if
+                     if (xe .EQ. -1) then 
+                        res@trXMaxF = max(maxi)
+                     else 
+                        res@trXMaxF = xe  
+                     end if 
+                  end if
+               end if
+               label(n_o)=vNam(varn)
+               color_o(n_o)=237
+               plot_o(n_o)=gsn_csm_xy(wks,data(varn,:,:),z,res) 
+               n_o=n_o+1
+            end if 
+            if (prof3d .EQ. 0)then
+               varn=varn+1
+            end if           
+         end if
+      end do
+   
+      if(number_comb .EQ. 2)then
+         if (co .EQ. 2)then 
+            overlay(plot_o(0),plot_o(1))
+         else
+            print(" ")
+	    print("combining is not possible,")
+            print("'c_var'(= "+c_var+") must include two variables of the general plots = ")
+	    print("- "+com_var_avail)
+	    print("be sure to have one comma before and after the variable")
+            print(" ")
+            exit  
+         end if 
+      end if
+      if(number_comb .EQ. 3)then
+         if (co .EQ. 3)then 
+            overlay(plot_o(0),plot_o(1))
+            overlay(plot_o(0),plot_o(2))
+         else
+            print(" ")
+	    print("combining is not possible,")
+            print("'c_var'(= "+c_var+") must include three variables of the general plots = ")
+	    print("- "+com_var_avail)
+	    print("be sure to have one comma before and after the variable")
+            print(" ")
+            exit
+         end if 
+      end if
+
+      ; ***************************************************
+      ; legend for combined plot
+      ; ***************************************************
+      
+      lgres                    = True
+      lgMonoDashIndex          = False
+      lgres@lgDashIndexes      = (/0,1,2/)
+      lgres@lgLabelFont        = "helvetica"    
+      lgres@lgLabelFontHeightF = font_size_legend           
+      lgres@vpWidthF           = 0.12           
+      lgres@vpHeightF          = 0.1           
+  
+      lbid = gsn_create_legend(wks,number_comb,label,lgres)       
+
+      amres = True
+      amres@amParallelPosF   = 0.65		    
+      amres@amOrthogonalPosF = -0.2            
+      annoid1 = gsn_add_annotation(plot_o(0),lbid,amres) 
+    
+      plot(0) = plot_o(0)
+
+   end if
+
+   ; ***************************************************
+   ; merge plots onto one page 
+   ; ***************************************************
+
+   do m=0,n-1
+      plot_(m)=plot(n-1-m)
+   end do
+
+   if (format_out .EQ. "eps" .OR. format_out .EQ. "epsi") then
+      gsn_panel(wks,plot_,(/n,1/),resP)
+      print(" ")
+      print("Outputs to .eps or .epsi have only one frame")
+      print(" ")
+   else    
+      do i = 0,n-1, no_rows*no_columns
+         if( (i+no_rows*no_columns) .gt. (n-1)) then
+            gsn_panel(wks,plot_(i:n-1),(/no_rows,no_columns/),resP)
+         else
+            gsn_panel(wks,plot_(i:i+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
+         end if
+      end do
+   end if
+
+   print(" ")
+   print("Output to: " + file_out +"."+ format_out)
+   print(" ")
+
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/spectra.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/spectra.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/spectra.ncl	(revision 393)
@@ -0,0 +1,660 @@
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+
+;***************************************************
+; load ncl_preferences.ncl
+;***************************************************
+
+function which_script()
+local script 
+begin 
+   script="spectra"
+   return(script)
+end
+   
+if (isfilepresent("~/ncl_preferences.ncl")) then
+   loadscript("~/ncl_preferences.ncl")
+else
+  if (isfilepresent("~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")) then
+     loadscript( "~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")
+  else
+      print(" ")
+      print("'ncl_preferences.ncl' does not exist in $home or $home/palm/current_version/trunk/SCRIPTS/NCL/")
+      print(" ")
+      exit
+   end if
+end if
+
+begin
+
+   ;***************************************************
+   ; set up default parameter values and strings
+   ;***************************************************
+  
+   if (file_1 .EQ. "File in") then
+      print(" ")
+      print("Declare input file 'file_1=' in 'ncl_preferences.ncl' or prompt")
+      print(" ")
+      exit 
+   else
+      file_in = file_1   
+   end if
+
+   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm")then
+      print(" ")
+      print("'format_out = "+format_out+"' is invalid and set to'x11'")
+      print(" ")
+      format_out="x11"
+   end if 
+   
+   if (log_x .NE. 0 .AND. log_x .NE. 1)then
+      print(" ")
+      print("'log_x'= "+log_x+" is invalid and set to 1")
+      print(" ")
+      log_x = 1
+   end if  
+   
+   if (log_y .NE. 0 .AND. log_y .NE. 1)then
+      print(" ")
+      print("'log_y'= "+log_y+" is invalid and set to 1")
+      print(" ")
+      log_y = 1
+   end if    
+  
+   if (norm_y .EQ. 0.) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_y' is set to 1.0")
+      print(" ")
+      norm_y = 1.0
+   end if
+   if (norm_x .EQ. 0.) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_x' is set to 1.0")
+      print(" ")
+      norm_x= 1.0
+   end if
+   
+   if (sort .NE. "height" .AND. sort .NE. "time") then  
+      print(" ")
+      print("'sort'= "+sort+" is invalid and set to 'height'")
+      print(" ")
+      sort = "height"  
+   end if
+   
+   if (black .NE. 0 .AND. black .NE. 1)then
+      print(" ")
+      print("'black'= "+black+" is invalid and set to 0")
+      print(" ")
+      black = 0
+   end if
+ 
+   if (dash .NE. 0 .AND. dash .NE. 1)then
+      print(" ")
+      print("'dash'= "+dash+" is invalid and set to 0")
+      print(" ")
+      dash = 0
+   end if
+
+   ;***************************************************
+   ; open input file
+   ;***************************************************
+   
+   file_in_1 = False
+   if (isStrSubset(file_in, ".nc"))then
+      start_f = -2
+      end_f = -2 
+      file_in_1 = True     
+   end if
+
+   if (start_f .EQ. -1)then
+      print(" ")
+      print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+   if (end_f .EQ. -1)then
+      print(" ")
+      print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+
+   files=new(end_f-start_f+1,string)
+   
+   if (file_in_1)then
+      if (isfilepresent(file_in))then
+         files(0)=file_in
+      else
+         print(" ")
+         print("1st input file: '"+file_in+"' does not exist")
+         print(" ")
+         exit
+      end if
+   else   
+      if (start_f .EQ. 0)then
+         if (isfilepresent(file_in+".nc"))then
+            files(0)=file_in+".nc"
+            do i=1,end_f
+	       if (isfilepresent(file_in+"."+i+".nc"))then    
+                  files(i)=file_in+"."+i+".nc"
+	       else
+	          print(" ")
+                  print("Input file: '"+file_in+"."+i+".nc' does not exist")
+                  print(" ")
+                  exit  
+	       end if	    
+            end do         
+         else
+            print(" ")
+            print("Input file: '"+file_in+".nc' does not exist")
+            print(" ")
+            exit
+         end if
+      else
+         do i=start_f,end_f
+            if (isfilepresent(file_in+"."+i+".nc"))then    
+               files(i-start_f)=file_in+"."+i+".nc"
+	    else
+	       print(" ")
+               print("Input file: '"+file_in+"."+i+".nc' does not exist")
+               print(" ")
+               exit  
+	    end if
+         end do
+      end if
+   end if
+
+   f=addfiles(files,"r")
+   f_att=addfile(files(0),"r")
+   ListSetType(f,"cat")
+   
+   vNam = getfilevarnames(f_att) 
+   print(" ")
+   print("Variables in input file:")
+   print("- "+ vNam)
+   print(" ")
+   dim = dimsizes(vNam)
+   vDim = getfiledimsizes(f_att) 
+ 
+   t_all = f[:]->time
+   nt    = dimsizes(t_all)
+   delta_t=t_all(nt-1)/nt
+   
+   k_x=f_att->k_x
+   dimx=dimsizes(k_x)
+   k_y=f_att->k_y
+   dimy=dimsizes(k_y)
+   
+   
+   dim_level=dimsizes(height_level)
+
+   do i=0,dim-1
+      if (vNam(i) .EQ. "zu_sp")then
+         zu=f_att->zu_sp	 
+	 if (height_level(0) .EQ. -1)then
+	    dimz=dimsizes(zu)
+	 else
+	    if (dim_level .GT. dimsizes(zu))then
+               print(" ")
+               print("'height_level' has more elements than available height levels in input file (= "+dimz+")")
+               print(" ")
+               exit
+	    else
+	       zuh=new(dim_level,double)
+	       do le=0,dim_level-1
+	          zuh(le)=zu(height_level(le))
+	       end do
+	       dimz=dim_level
+            end if   
+	 end if	 
+      else 
+         if (vNam(i) .EQ. "zw_sp")then
+	    zw=f_att->zw_sp
+	    if (height_level(0) .EQ. -1)then              
+               dimz=dimsizes(zw)
+	    else
+	       if (dim_level .GT. dimsizes(zw))then
+                  print(" ")
+                  print("'height_level' has more elements than available height levels in input file (= "+dimz+")")
+                  print(" ")
+                  exit
+	       else
+	          zwh=new(dim_level,double)
+	          do le=0,dim_level-1
+	             zwh(le)=zw(height_level(le))
+	          end do
+	          dimz=dim_level
+               end if   
+	    end if
+         end if
+      end if
+   end do
+
+   ;****************************************************	
+   ; start of time step and different types of mistakes that could be done
+   ;****************************************************
+   
+   if (start_time_step .EQ. -1.d) then   	
+      start_time_step=t_all(0)/3600
+   else
+      if (start_time_step .GT. t_all(nt-1)/3600)then
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+      if (start_time_step .LT. t_all(0)/3600)then
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")        
+         exit
+      end if
+   end if
+
+   do i=0,nt-1     
+      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         st=i
+         break
+      end if
+   end do
+   
+   if (.not. isvar("st"))then
+      print(" ")
+      print("'start_time_step' = "+ start_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'start_time_step'")
+      print(" ")
+      exit
+   end if
+   
+   ;****************************************************
+   ; end of time step and different types of mistakes that could be done
+   ;****************************************************
+
+   if (end_time_step .EQ. -1.d) then     	
+      end_time_step = t_all(nt-1)/3600
+   else
+      if (end_time_step .GT. t_all(nt-1)/3600)then
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")  
+         print(" ")
+         exit
+      end if
+      if (end_time_step .LT. start_time_step/3600)then
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
+         print(" ")
+         print("Select another 'start_time_step' or 'end_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+
+   do i=0,nt-1     
+      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         et=i
+         break
+      end if
+   end do 
+   
+   if (.not. isvar("et"))then
+      print(" ")
+      print("'end_time_step' = "+ end_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'end_time_step'")
+      print(" ")
+      exit
+   end if
+
+   delete(start_time_step)
+   start_time_step=round(st,3)
+   delete(end_time_step)
+   end_time_step=round(et,3)
+
+   print(" ")
+   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
+   print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
+   print(" ")
+
+   dimt = end_time_step-start_time_step+1
+ 
+   ;***************************************************
+   ; set up recourses
+   ;***************************************************
+     
+   res = True
+   res@gsnDraw                 = False
+   res@gsnFrame                = False
+   res@gsnPaperOrientation     = "portrait"
+   res@gsnPaperWidth           = 8.27
+   res@gsnPaperHeight          = 11.69
+   res@gsnPaperMargin          = 0.79
+   res@txFont                  = "helvetica"
+   res@tiMainFont              = "helvetica"
+   res@tiXAxisFont             = "helvetica"
+   res@tiYAxisFont             = "helvetica"
+   res@tmXBLabelFont           = "helvetica"
+   res@tmYLLabelFont           = "helvetica"
+   res@lgLabelFont             = "helvetica"
+   res@tmLabelAutoStride       = True
+   
+   res@lgLabelFontHeightF     = font_size_legend 
+   res@lgTitleFontHeightF     = font_size
+   res@txFontHeightF      = font_size
+   res@tiXAxisFontHeightF = font_size
+   res@tiYAxisFontHeightF = font_size
+   res@tmXBLabelFontHeightF = font_size
+   res@tmYLLabelFontHeightF = font_size
+   
+   res@tmXBMinorPerMajor = 4
+   res@tmYLMinorPerMajor = 4
+   
+   if (log_x .EQ. 1) then
+      res@trXLog = True 
+   else
+      res@trXLog = False 
+   end if
+   if (log_y .EQ. 1)then
+      res@trYLog = True 
+   else  
+      res@trYLog = False
+   end if
+
+   legend_label=new(dimt,double)
+   legend_label_zu=new(dimz,double)
+   legend_label_zw=new(dimz,double)
+   legend_label_z=new(dimz,double)
+   do p=start_time_step,end_time_step
+      if (t_all(p)/3600 .LT. 1) then
+         legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,2,True)
+      else
+         legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,0,True)
+      end if
+   end do  
+   if (sort .EQ. "time")
+      plot  = new(dim*dimz,graphic)
+      np=dimt
+      res@lgTitleString = "Time [h]"
+   else
+      plot  = new(dim*dimt,graphic)
+      np=dimz
+      
+      do p=0,dimz-1
+         if (height_level(0) .EQ. -1)then
+            legend_label_zu(p)=round(zu(p),3)
+            legend_label_zw(p)=round(zw(p),3)
+	 else
+	    legend_label_zu(p)=round(zuh(p),3)
+	    legend_label_zw(p)=round(zwh(p),3)
+	 end if
+      end do
+   end if
+
+   if (black .eq. 0 ) then 
+      if (np .EQ. 1)then
+         color = 237
+      else   
+         step=round(235/(np-1),3) 
+         color = ispan(2,237,step)
+      end if
+   else
+      color = 2
+   end if
+   if ( dash .eq. 0 ) then
+      res@xyMonoDashPattern = True 
+   end if
+
+   wks=gsn_open_wks(format_out,file_out)
+   gsn_define_colormap(wks,"rainbow+white") 
+
+   n=0
+   do varn =dim-1,0,1 
+      
+      check = True
+
+      if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zu_sp") .OR. isStrSubset( vNam(varn), "zw_sp") .OR. isStrSubset( vNam(varn), "k_x") .OR. isStrSubset( vNam(varn), "k_y")) then
+            check = False
+      end if
+
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," )
+      end if
+
+      if(check) then 
+
+         temp = f[:]->$vNam(varn)$
+	 data = temp(start_time_step:end_time_step,0:dimz-1,:)
+
+         temp_att = f_att->$vNam(varn)$
+         a=getvardims(temp_att)
+         b=dimsizes(a)
+
+         if (height_level(0) .NE. -1)then
+	    do te=0,dimz-1
+	    print(height_level(te))
+	       data(:,te,:) = temp(start_time_step:end_time_step,height_level(te),:)	       
+	    end do
+	 end if
+
+         data=data/(norm_y*norm_x)  ;SMOOTHING: #temp=smth9(temp/norm, 0.50, -0.25, False)#
+            
+         do i=0,b-1            
+            if (isStrSubset( a(i),"zu_sp" ))then
+               legend_label_z=legend_label_zu
+	       if (height_level(0) .NE. -1)then
+	          z=zuh
+	       else
+	          z=zu
+	       end if
+            else
+               if (isStrSubset( a(i),"zw_sp" ))then
+                  legend_label_z=legend_label_zw 
+		  if (height_level(0) .NE. -1)then
+	             z=zwh
+	          else
+	             z=zw
+	          end if   
+               end if
+            end if
+         end do  
+	 
+         min_x=new(dimz,double)
+	 max_x=new(dimz,double)
+	 min_y=new(dimz,float)
+	 max_y=new(dimz,float)
+	 plot_h  = new(dimz,graphic)
+	 
+         if (isStrSubset(vNam(varn),"x"))then
+	    x_axis = new((/dimz,dimx/),double)
+	    do q=0,dimz-1
+               x_axis(q,:) = f_att->k_x
+	       x_axis = x_axis/norm_x
+	    end do
+	    if (norm_x .NE. 1.)then
+               res@tiXAxisString = "k~B~x~N~ ["+unit_x+"]"
+	    else
+	       if (norm_height .EQ. 1)then
+	          res@tiXAxisString = "k~B~x~N~ x z [1]"
+	       else
+	          res@tiXAxisString = "k~B~x~N~ [1/m]"
+	       end if
+	    end if
+	    dim_r=dimx
+         else
+	    x_axis=new((/dimz,dimy/),double)
+	    do q=0,dimz-1
+               x_axis(q,:) = f_att->k_y 
+	       x_axis = x_axis/norm_x
+	    end do
+	    if (norm_x .NE. 1.)then
+               res@tiXAxisString = "k~B~x~N~ ["+unit_x+"]"
+	    else
+	       if (norm_height .EQ. 1)then
+	          res@tiXAxisString = "k~B~x~N~ x z [1]"
+	       else
+	          res@tiXAxisString = "k~B~x~N~ [1/m]"
+	       end if 
+	    end if
+	    dim_r=dimy
+         end if
+        
+         if (sort .EQ. "time")
+	    res@xyLineColors = color
+	    res@pmLegendDisplayMode     = "Always"
+            res@pmLegendSide            = "Top"
+            res@pmLegendParallelPosF    = 1.2
+            res@pmLegendOrthogonalPosF  = -1.0
+            res@pmLegendWidthF          = 0.12
+            res@pmLegendHeightF         = 0.04*(end_time_step-start_time_step+1)
+            do p=dimz-1,0,1
+	       if (log_y .EQ. 1)then  
+                  do q=0,dimt-1
+                     do r=0,dim_r-1 
+                        if (data(q,p,r) .EQ. 0)then
+                           st=p+start_time_step
+                           print(" ")
+                           print("'"+vNam(varn)+"("+st+","+q+","+r+")' is equal 0; Logarithmic scale for y-axis and height "+z(p)+" cannot be used")
+                           print(" ")
+                           res@trYLog = False
+                        end if
+                     end do
+                  end do
+	       end if
+               res@gsnLeftString      = vNam(varn)
+               res@gsnRightString     = "Height = "+z(p)+"m"               
+               res@tiYAxisString      = "["+unit_y+"]"           
+               res@xyExplicitLegendLabels  = legend_label	       
+	       if (norm_height .EQ. 1)then
+	          data(:,p,:)=data(:,p,:)*doubletofloat(z(p))
+		  x_axis(p,:) = x_axis(p,:)*z(p)
+	       end if
+	       res@trXMinF = min(x_axis(p,:))
+               res@trXMaxF = max(x_axis(p,:))
+               plot(n)  = gsn_csm_xy(wks,x_axis(p,:),data(:,p,:),res)
+               n=n+1
+            end do
+         else
+            if (sort .EQ. "height")
+               do p=0,dimt-1 	       
+                  do q=0,dimz-1
+                     do r=0,dim_r-1 
+                        if (data(p,q,r) .EQ. 0)then
+                           st=p+start_time_step
+                           print(" ")
+                           print("'"+vNam(varn)+"("+st+","+q+","+r+")' is equal 0; Logarithmic scale for y-axis and time "+legend_label(p)+" cannot be used")
+                           print(" ")
+                           res@trYLog = False
+                        end if
+                     end do
+		     if (norm_height .EQ. 1 .AND. p .EQ. 0)then
+		        data(p,q,:) = data(p,q,:)*doubletofloat(legend_label_z(q))
+			x_axis(q,:) = x_axis(q,:)*doubletofloat(legend_label_z(q))
+		     end if
+	             max_y(q)=max(data(p,q,:))
+		     min_y(q)=min(data(p,q,:))
+		     min_x(q)=min(x_axis(q,:))
+		     max_x(q)=max(x_axis(q,:))                                    
+                  end do 
+		  do q=0,dimz-1
+		     res@xyLineColor = color(q)
+		     if (dash .EQ. 1)then
+		        res@xyDashPattern = q
+	             end if
+		     if (q .EQ. 0)then
+		        res@tiYAxisString      = "["+unit_y+"]"		        
+		        res@gsnLeftString      = vNam(varn)
+                        res@gsnRightString     = "Time = "+legend_label(p)+"h"
+		        res@trXMinF = min(min_x)
+                        res@trXMaxF = max(max_x)
+                        res@trYMinF = min(min_y)
+                        res@trYMaxF = max(max_y)
+			
+			plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),data(p,q,:),res)
+			
+			lgres = True
+			if (dash .EQ. 0)then
+                           lgres@lgMonoDashIndex = True
+			else
+                           lgres@lgDashIndexes   = ispan(0,dimz-1,1)
+			end if
+			if (black .EQ. 1)then
+			   lgres@lgMonoLineColors = True
+			else
+			   lgres@lgLineColors = color
+			end if
+			lgres@lgTitleString = "Height [m]"  
+                        lgres@lgLabelFont        = "helvetica"
+			lgres@lgLabelFontHeightF     = font_size_legend 
+                        lgres@lgTitleFontHeightF     = font_size      
+                        lgres@vpWidthF           = 0.12           
+                        lgres@vpHeightF          = font_size_legend/5*dimz           
+  
+                        lbid = gsn_create_legend(wks,dimz,legend_label_z,lgres)       
+
+                        amres = True
+                        amres@amParallelPosF   = 0.75		    
+                        amres@amOrthogonalPosF = 0.15            
+                        annoid1 = gsn_add_annotation(plot_h(q),lbid,amres)
+		     else
+		        plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),data(p,q,:),res) 
+			overlay(plot_h(0),plot_h(q))
+		     end if
+		  end do              
+		  plot(n)=plot_h(0)
+		  n=n+1
+               end do
+            end if
+	 end if
+         delete(data)
+	 delete(temp)
+         delete(x_axis)
+	 delete(min_x)
+	 delete(max_x)
+	 delete(min_y)
+	 delete(max_y)
+	 delete(plot_h)
+      end if
+   end do
+
+   if (n .EQ. 0) then
+      print(" ")
+      print("The variables 'var="+var+"' do not exist on your input file;")
+      print("be sure to have one comma berfore and after each variable")
+      print(" ")
+      exit
+   end if
+  
+   ; ***************************************************
+   ; merge plots onto one page 
+   ; ***************************************************
+
+   resP                        = True
+   resP@txFont                 = "helvetica"
+   resP@txString               = f_att@title
+   resP@txFuncCode             = "~"
+   resP@txFontHeightF          = 0.015
+
+   if (format_out .EQ. "eps" .OR. format_out .EQ. "epsi") then
+      gsn_panel(wks,plot,(/n,1/),resP)
+      print(" ")
+      print("Outputs to .eps or .epsi have only one frame")
+      print(" ")
+   else    
+      do i = 0,n-1, no_rows*no_columns
+         if( (i+no_rows*no_columns) .gt. (n-1)) then
+            gsn_panel(wks,plot(i:n-1),(/no_rows,no_columns/),resP)
+         else
+           gsn_panel(wks,plot(i:i+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
+         end if
+      end do
+   end if
+
+   print(" ")
+   print("Output to: " + file_out +"."+ format_out)
+   print(" ")
+   
+end
Index: palm/tags/release-3.7/SCRIPTS/NCL/timeseries.ncl
===================================================================
--- palm/tags/release-3.7/SCRIPTS/NCL/timeseries.ncl	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/NCL/timeseries.ncl	(revision 393)
@@ -0,0 +1,1336 @@
+load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
+load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
+ 
+;***************************************************
+; load ncl_preferences.ncl
+;***************************************************
+
+function which_script()
+local script 
+begin 
+   script="timeseries"
+   return(script)
+end
+   
+if (isfilepresent("~/ncl_preferences.ncl")) then
+   loadscript("~/ncl_preferences.ncl")
+else
+  if (isfilepresent("~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")) then
+     loadscript( "~/palm/current_version/trunk/SCRIPTS/NCL/ncl_preferences.ncl")
+  else
+      print(" ")
+      print("'ncl_preferences.ncl' does not exist in $home or $home/palm/current_version/trunk/SCRIPTS/NCL/")
+      print(" ")
+      exit
+   end if
+end if
+   
+begin
+
+   ;***************************************************
+   ; set up default parameter values and strings
+   ;***************************************************
+   
+   if (file_1 .EQ. "File in") then
+      print(" ")
+      print("Declare input file 'file_1=' in 'ncl_preferences.ncl' or prompt")
+      print(" ")
+      exit 
+   else
+      file_in = file_1   
+   end if
+
+   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm")then
+      print(" ")
+      print("'format_out = "+format_out+"' is invalid and set to'x11'")
+      print(" ")
+      format_out="x11"
+   end if  
+
+   if (over .NE. 0 .AND. over .NE. 1) then
+      print(" ")
+      print("'over'= "+over+" is invalid and set to 0")
+      print(" ")
+      over = 0
+   end if  
+   
+   if (norm_t .EQ. 0) then 
+      print(" ")
+      print("Normalising with 0 is not allowed, 'norm_t' is set to 1.0")
+      print(" ")
+      norm_t = 1.0
+   end if 
+ 
+
+   ;***************************************************
+   ; open input file
+   ;***************************************************
+   
+   file_in_1 = False
+   if (isStrSubset(file_in, ".nc"))then
+      start_f = -2
+      end_f = -2 
+      file_in_1 = True     
+   end if
+
+   if (start_f .EQ. -1)then
+      print(" ")
+      print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+   if (end_f .EQ. -1)then
+      print(" ")
+      print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
+      print(" ")  
+      exit
+   end if 
+
+   files=new(end_f-start_f+1,string)
+
+   if (file_in_1)then
+      if (isfilepresent(file_in))then
+         files(0)=file_in
+      else
+         print(" ")
+         print("1st input file: '"+file_in+"' does not exist")
+         print(" ")
+         exit
+      end if
+   else   
+      if (start_f .EQ. 0)then
+         if (isfilepresent(file_in+".nc"))then
+            files(0)=file_in+".nc"
+            do i=1,end_f
+	       if (isfilepresent(file_in+"."+i+".nc"))then    
+                  files(i)=file_in+"."+i+".nc"
+	       else
+	          print(" ")
+                  print("Input file: '"+file_in+"."+i+".nc' does not exist")
+                  print(" ")
+                  exit  
+	       end if	    
+            end do         
+         else
+            print(" ")
+            print("Input file: '"+file_in+".nc' does not exist")
+            print(" ")
+            exit
+         end if
+      else
+         do i=start_f,end_f
+            if (isfilepresent(file_in+"."+i+".nc"))then    
+               files(i-start_f)=file_in+"."+i+".nc"
+	    else
+	       print(" ")
+               print("Input file: '"+file_in+"."+i+".nc' does not exist")
+               print(" ")
+               exit  
+	    end if
+         end do
+      end if
+   end if
+
+   f=addfiles(files,"r")
+   f_att=addfile(files(0),"r")
+   ListSetType(f,"cat")
+
+   vNam=getfilevarnames(f_att)
+   vNam_static=vNam
+
+   print(" ")
+   print("Variables in input file:")
+   print("- "+ vNam)
+   print(" ")
+   dim = dimsizes(vNam)
+   if (dim .EQ. 0) then
+      print(" ")
+      print("There is no data on file")
+      print(" ")
+   end if
+
+   t_all   = f[:]->time
+   nt      = dimsizes(t_all)
+   delta_t = t_all(nt-1)/nt
+
+   ;****************************************************	
+   ; start of time step and different types of mistakes that could be done
+   ;****************************************************
+
+   if (start_time_step .EQ. -1.) then   	
+      start_time_step=t_all(0)/3600      
+   else 
+      if (start_time_step .GE. t_all(nt-1)/3600)
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is equal or greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+      if (start_time_step .LT. t_all(0)/3600)
+         print(" ")
+         print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
+         print(" ")
+         print("Select another 'start_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+   do i=0,nt-2     
+      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         st=i
+         break
+      end if
+   end do
+   if (start_time_step .GE. t_all(nt-1)-delta_t/2 .AND. start_time_step .LT. t_all(nt-1)) then
+      st=nt-2   
+   end if
+   if (.not. isvar("st"))then
+      print(" ")
+      print("'start_time_step' = "+ start_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'start_time_step'")
+      print(" ")
+      exit
+   end if
+      
+   ;****************************************************
+   ; end of time step and different types of mistakes that could be done
+   ;****************************************************
+
+   if (end_time_step .EQ. -1.) then     	
+      end_time_step = t_all(nt-1)/3600  
+   else
+      if (end_time_step .LE. t_all(0)/3600)
+         print(" ")
+         print("'end_time_step' = "+end_time_step+ "h is lower or equal than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")
+         print(" ")
+         exit
+      end if
+      if (end_time_step .GT. t_all(nt-1)/3600)
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
+         print(" ")
+         print("Select another 'end_time_step'")  
+         print(" ")
+         exit
+      end if
+      if (end_time_step .LE. start_time_step/3600)
+         print(" ")
+         print("'end_time_step' = "+ end_time_step +"h is equal or lower than 'start_time_step' = "+start_time_step+"h")
+         print(" ")
+         print("Select another 'start_time_step' or 'end_time_step'")
+         print(" ")
+         exit
+      end if
+   end if
+   do i=0,nt-1     
+      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
+         et=i
+         break
+      end if
+   end do 
+   
+   if (.not. isvar("et"))then
+      print(" ")
+      print("'end_time_step' = "+ end_time_step +"h is invalid")
+      print(" ")
+      print("Select another 'end_time_step'")
+      print(" ")
+      exit
+   end if
+ 
+   delete(start_time_step)
+   start_time_step=round(st,3)
+   delete(end_time_step)
+   end_time_step=round(et,3)
+
+   print(" ")
+   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
+   print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
+   print(" ")
+
+   t = t_all(start_time_step:end_time_step)/norm_t
+  
+   ; ***************************************************
+   ; set up recourses
+   ; ***************************************************
+
+   res                         = True
+   res@gsnDraw                 = False
+   res@gsnFrame                = False
+   res@gsnPaperOrientation     = "portrait"
+   res@gsnPaperWidth           = 8.27
+   res@gsnPaperHeight          = 11.69
+   res@gsnPaperMargin          = 0.79
+   res@tmXBMode                = True
+   res@tmYLMode                = True
+   res@txFont                  = "helvetica"
+   res@tiMainFont              = "helvetica"
+   res@tiXAxisFont             = "helvetica"
+   res@tiYAxisFont             = "helvetica"
+   res@tmXBLabelFont           = "helvetica"
+   res@tmYLLabelFont           = "helvetica" 
+   res@xyLineColors            = (/237/) 
+   
+   res@lgLabelFontHeightF     = 0.02
+
+   resP                        = True
+   resP@txFont                 = "helvetica"
+   resP@txString               = f_att@title+" time series "
+   resP@txFuncCode             = "~" 
+   resP@txFontHeightF          = 0.015
+
+   res@tmXBMinorPerMajor = 4
+   res@tmYLMinorPerMajor = 4
+
+   res@vpWidthF=4
+
+   txres = True
+
+   ; ***************************************************
+   ; read data and create plots
+   ; ***************************************************
+   
+   wks_ps = gsn_open_wks(format_out,file_out)		
+   gsn_define_colormap(wks_ps,"rainbow+white") 
+   plot_ps=new(dim,graphic) 
+                           	 
+   n=0 
+   minE=1.E27
+   maxE=-1.E27
+   minus=1.E27
+   maxus=-1.E27
+   minu=1.E27
+   maxu=-1.E27
+   minz=1.E27
+   maxz=-1.E27
+   minw=1.E27
+   maxw=-1.E27
+   minp=1.E27
+   maxp=-1.E27
+   mins=1.E27
+   maxs=-1.E27
+
+   data   = new((/dim,(end_time_step-start_time_step)+1/),float)
+   unit   = new(dim,string)
+   data_0 = new((end_time_step-start_time_step)+1,float)
+   data_0 = 0.0
+   mini   = new(dim,float)
+   maxi   = new(dim,float)
+   
+   if (over .EQ. 1) then 
+      plot_E       = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_Es      = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_us      = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_ws      = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_umax    = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_vmax    = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_wmax    = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_z_i_wpt = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_z_i_pt  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_wpptp0  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_wpptp   = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_wpt     = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_pt_0_   = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_pt_zp_  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_splptx  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_splpty  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+      plot_splptz  = gsn_csm_xy(wks_ps,t,data_0(:),res)
+   end if
+
+
+   if (var .NE. "all") then
+      vNam_temp = new((/dim/),string)
+      comma     = 0
+      var_char  = stringtocharacter(var)
+      no_char   = dimsizes(var_char)
+       
+      do j = 0, no_char-1
+         if(var_char(j) .eq. ",")
+            comma = comma + 1
+         end if
+      end do
+
+      if(comma .eq. 0 .or. comma .eq. 1)
+          print(" ")
+          print("The variables 'var="+var+"'" )
+          print("do not exist on your input file;")
+          print("be sure to have one comma before and after each variable")
+          print(" ")
+          exit
+      end if
+
+      indices = new((/comma/), integer)
+      comma   = 0
+        
+      do j = 0, no_char-1
+         if(var_char(j) .eq. ",")
+           indices(comma) = j
+           comma = comma + 1
+         end if
+      end do
+
+      do j = 0, comma -2
+         vNam_temp(j) = charactertostring(var_char(indices(j)+1:indices(j+1)-1))
+      end do
+     
+      delete(vNam)
+      vNam = new((/comma-1/),string)
+      do varn = 0, comma - 2
+         vNam(varn) = vNam_temp(comma - 2 - varn)
+      end do
+     
+      do j = 0, comma-2
+        count_check = 0
+        do varn = 0, dim-1 
+           if(vNam(j) .ne. vNam_static(varn)) 
+             count_check=count_check+1
+           end if
+        end do    
+
+        if(count_check .eq. dim)
+            print(" ")
+            print("The variables 'var="+var+"'" )
+            print("do not exist on your input file;")
+            print("be sure to have one comma before and after each variable")
+            print(" ")
+            exit
+        end if
+      end do
+
+      dim = comma-1
+    end if
+
+
+   do varn = dim-1, 0, 1 
+
+      if( isStrSubset (vNam(varn), "time") )
+         check = False
+      else
+         check = True
+      end if
+     
+      if(check) then
+
+         data_all = f[:]->$vNam(varn)$ 
+	 data_att = f_att->$vNam(varn)$
+         unit(varn) = data_att@units
+  
+      
+         data(varn,:)=data_all(start_time_step:end_time_step)
+         
+         if (over .EQ. 1) then
+
+            mini(varn) = min(data(varn,:))
+            maxi(varn) = max(data(varn,:))
+           
+            if (vNam(varn) .EQ. "E" .OR. vNam(varn) .EQ. "Es") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minE=min((/minE,mini(varn)/))
+               maxE=max((/maxE,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "ws") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minus=min((/minus,mini(varn)/))
+               maxus=max((/maxus,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "umax" .OR. vNam(varn) .EQ. "vmax" .OR. vNam(varn) .EQ. "wmax") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (mini(varn) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (mini(varn) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (mini(varn) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minu=min((/minu,mini(varn)/))
+               maxu=max((/maxu,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "z_i_wpt" .OR. vNam(varn) .EQ. "z_i_pt") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minz=min((/minz,mini(varn)/))
+               maxz=max((/maxz,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wpt") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minw=min((/minw,mini(varn)/))
+               maxw=max((/maxw,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt_zp_") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               minp=min((/minp,mini(varn)/))
+               maxp=max((/maxp,maxi(varn)/))
+            end if
+
+            if (vNam(varn) .EQ. "splptx" .OR. vNam(varn) .EQ. "splpty" .OR. vNam(varn) .EQ. "splptz") then
+               if (mini(varn) .EQ. maxi(varn)) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     mini(varn)= mini(varn)-0.1
+                     maxi(varn)= maxi(varn)+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     mini(varn)= mini(varn)-1.+(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.-(maxi(varn))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     mini(varn)= mini(varn)-1.-(mini(varn))/2
+                     maxi(varn)= maxi(varn)+1.+(maxi(varn))/2
+                  end if
+               end if
+               mins=min((/mins,mini(varn)/))
+               maxs=max((/maxs,maxi(varn)/))
+            end if
+            
+         end if
+      end if
+   end do
+ 
+  if (isStrSubset(data@long_name," SR " ))then
+      print(" ")
+      print("If you have outputs of statistic regions you cannot overlay variables;")
+      print("'over' is set to 0" )
+      print(" ")
+      over = 0
+   end if
+
+   do varn = dim-1, 0, 1 
+      
+      if( isStrSubset (vNam(varn), "time") )
+         check = False
+      else
+         check = True
+      end if     
+    
+      if (var .NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," ) 
+      end if 
+  
+      if(check) then
+       
+        if (over .EQ. 1) then
+ 
+            res@gsnLeftString       = "overlayed plot"
+            res@gsnRightString      = unit(varn)
+	    if (norm_t .NE. 1.)then
+               res@tiXAxisString        = "t ["+unit_t+"]"
+	    else
+	       res@tiXAxisString        = "t [s]"
+	    end if
+	    res@tiYAxisString = " "
+            res@tiXAxisFontHeightF   = font_size
+            res@txFontHeightF        = font_size
+            res@tiYAxisFontHeightF   = font_size            
+
+            if (vNam(varn) .EQ. "E")
+               E=0
+               res@xyLineColors     = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxE
+               res@trYMinF           = minE
+               plot_E = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+            if (vNam(varn) .EQ. "Es")
+               Es=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_Es = gsn_csm_xy(wks_ps,t,data(varn,:),res) 
+            end if 
+             
+            if (vNam(varn) .EQ. "us")
+               us=0
+               res@xyLineColors            = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxus
+               res@trYMinF           = minus
+               plot_us = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if             
+            if (vNam(varn) .EQ. "ws")
+               ws=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_ws = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+             
+            if (vNam(varn) .EQ. "umax")
+               u=0
+               res@xyLineColors            = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxu
+               res@trYMinF           = minu
+               plot_umax = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+            if (vNam(varn) .EQ. "vmax")
+               v=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_vmax = gsn_csm_xy(wks_ps,t,data(varn,:),res) 
+            end if
+            if (vNam(varn) .EQ. "wmax")
+               w=0
+               res@xyLineColors            = (/80/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 80
+               plot_wmax = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if 
+   
+            if (vNam(varn) .EQ. "z_i_wpt")
+               zw=0
+               res@xyLineColors            = (/237/) 
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxz
+               res@trYMinF           = minz 
+               plot_z_i_wpt = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+            if (vNam(varn) .EQ. "z_i_pt")
+               z=0
+               res@xyLineColors            = (/144/)  
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144 
+               plot_z_i_pt = gsn_csm_xy(wks_ps,t,data(varn,:),res) 
+            end if
+
+            if (vNam(varn) .EQ. "wpptp0")
+               w0=0
+               res@xyLineColors            = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxw
+               res@trYMinF           = minw
+               plot_wpptp0 = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+            if (vNam(varn) .EQ. "wpptp")
+               wp=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_wpptp = gsn_csm_xy(wks_ps,t,data(varn,:),res)  
+            end if
+            if (vNam(varn) .EQ. "wpt")
+               wt=0
+               res@xyLineColors            = (/80/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 80
+               plot_wpt = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+
+            if (vNam(varn) .EQ. "pt_0_")
+               p=0
+               res@xyLineColors            = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxp
+               res@trYMinF           = minp
+               plot_pt_0_ = gsn_csm_xy(wks_ps,t,data(varn,:),res)  
+            end if
+            if (vNam(varn) .EQ. "pt_zp_")
+               pz=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_pt_zp_ = gsn_csm_xy(wks_ps,t,data(varn,:),res) 
+            end if
+
+            if (vNam(varn) .EQ. "splptx")
+               x=0
+               res@xyLineColors            = (/237/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 237
+               res@trYMaxF           = maxs
+               res@trYMinF           = mins
+               plot_splptx = gsn_csm_xy(wks_ps,t,data(varn,:),res)    
+            end if
+            if (vNam(varn) .EQ. "splpty")
+               y=0
+               res@xyLineColors            = (/144/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 144
+               plot_splpty = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+            end if
+            if (vNam(varn) .EQ. "splptz")
+               z=0
+               res@xyLineColors            = (/80/)
+               res@xyLineLabelFontHeightF = 0.05 
+               res@xyLineLabelFontColor   = 80
+               plot_splptz = gsn_csm_xy(wks_ps,t,data(varn,:),res)         
+            end if
+
+         end if
+      end if
+   end do
+
+
+   do varn = dim-1, 0, 1 
+   
+      if( isStrSubset (vNam(varn), "time") )
+         check = False
+      else 
+         check = True
+      end if    
+  
+      if (var.NE. "all") then
+         check = isStrSubset( var,","+vNam(varn)+"," ) 
+      end if 
+    
+      if(check) then
+        
+         if (over .EQ. 1) then       
+   	
+            if (vNam(varn) .EQ. "E" .AND. Es .NE. 1) then 
+               E=1   
+               overlay(plot_E,plot_Es)
+               n=n+1
+               plot_ps(n) = plot_E    
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"E","Es"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)            
+            end if
+            if (vNam(varn) .EQ. "Es" .AND. E .NE. 1) then
+               Es=1
+               overlay(plot_E,plot_Es)
+               n=n+1
+               plot_ps(n) = plot_E  
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"E","Es"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)         
+            end if
+
+            if (vNam(varn) .EQ. "us" .AND. ws .NE. 1) then
+               us=1
+               overlay(plot_us,plot_ws)
+               n=n+1
+               plot_ps(n) = plot_us
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1           
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"us","ws"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+            end if
+            if (vNam(varn) .EQ. "ws" .AND. us .NE. 1) then
+               ws=1
+               overlay(plot_us,plot_ws)
+               n=n+1
+               plot_ps(n) = plot_us
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"us","ws"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+            end if
+         
+            if (vNam(varn) .EQ. "umax" .AND. v .NE. 1)
+               if (w .NE. 1) then 
+                  u=1          
+                  overlay(plot_umax,plot_vmax)
+                  overlay(plot_umax,plot_wmax)
+                
+                  n=n+1
+                  plot_ps(n) = plot_umax
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if
+            end if
+            if (vNam(varn) .EQ. "vmax" .AND. u .NE. 1)
+               if (w .NE. 1) then
+                  v=1  
+                  overlay(plot_umax,plot_vmax)
+                  overlay(plot_umax,plot_wmax)
+                  n=n+1
+                  plot_ps(n) = plot_umax
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1          
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if
+            end if
+            if (vNam(varn) .EQ. "wmax" .AND. v .NE. 1)
+               if(u .NE. 1) then  
+                  w=1        
+                  overlay(plot_umax,plot_vmax)
+                  overlay(plot_umax,plot_wmax)
+                  n=n+1
+                  plot_ps(n) = plot_umax
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if
+            end if
+            
+            if (vNam(varn) .EQ. "z_i_wpt" .AND. z .NE. 1) then
+               zw=1       
+               overlay(plot_z_i_wpt,plot_z_i_pt)
+               n=n+1
+               plot_ps(n) = plot_z_i_wpt 
+       
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)          
+            end if 
+            if (vNam(varn) .EQ. "z_i_pt" .AND. zw .NE. 1) then
+               z=1      
+               overlay(plot_z_i_wpt,plot_z_i_pt)
+               n=n+1
+               plot_ps(n) = plot_z_i_wpt
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)           
+            end if    
+         
+            if (vNam(varn) .EQ. "wpptp0" .AND. wp .NE. 1)
+               if (wt .NE. 1) then
+                  w0=1
+                  overlay(plot_wpptp0,plot_wpptp)
+                  overlay(plot_wpptp0,plot_wpt) 
+                  n=n+1
+                  plot_ps(n) = plot_wpptp0 
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if            
+            end if
+            if (vNam(varn) .EQ. "wpptp" .AND. w0 .NE. 1)
+               if (wt .NE. 1) then
+                 wp=1
+                 overlay(plot_wpptp0,plot_wpptp)
+                 overlay(plot_wpptp0,plot_wpt) 
+                 n=n+1
+                 plot_ps(n) = plot_wpptp0
+                 
+                 ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)  
+               end if           
+            end if
+            if (vNam(varn) .EQ. "wpt" .AND. wp .NE. 1)
+               if (w0 .NE. 1) then
+                  wt=1
+                  overlay(plot_wpptp0,plot_wpptp)
+                  overlay(plot_wpptp0,plot_wpt) 
+                  n=n+1
+                  plot_ps(n) = plot_wpptp0
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if
+            end if
+
+            if (vNam(varn) .EQ. "pt_0_" .AND. pz .NE. 1) then
+               p=1      
+               overlay(plot_pt_0_,plot_pt_zp_)
+               n=n+1 
+               plot_ps(n) = plot_pt_0_  
+      
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+            end if 
+            if (vNam(varn) .EQ. "pt_zp_" .AND. p .NE. 1) then
+               pz=1        
+               overlay(plot_pt_0_,plot_pt_zp_)
+               n=n+1 
+               plot_ps(n) = plot_pt_0_   
+
+               ; ***************************************************
+               ; legend for combined plot
+               ; ***************************************************
+      
+               lgres                    = True
+               lgMonoDashIndex          = False
+               lgres@lgLabelFont        = "helvetica"    
+               lgres@lgLabelFontHeightF = .1            
+               lgres@vpWidthF           = 0.4           
+               lgres@vpHeightF          = 0.4          
+               lgres@lgDashIndexes      = (/0,0,0/)
+               lgres@lgLineColors       = (/237,144,80/)
+               lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)       
+
+               amres = True
+               amres@amParallelPosF   = 0.6		    
+               amres@amOrthogonalPosF = -0.2            
+               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+            end if
+            
+            if (vNam(varn) .EQ. "splptx" .AND. y .NE. 1)
+               if (z .NE.1 ) then
+                  x=1      
+                  overlay(plot_splptx,plot_splpty)
+                  overlay(plot_splptx,plot_splptz)
+                  n=n+1
+                  plot_ps(n) = plot_splptx    
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if
+            end if 
+            if (vNam(varn) .EQ. "splpty" .AND. x .NE. 1)
+               if(z .NE.1 ) then
+                  y=1         
+                  overlay(plot_splptx,plot_splpty)
+                  overlay(plot_splptx,plot_splptz)
+                  n=n+1
+                  plot_ps(n) = plot_splptx
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if           
+            end if 
+            if (vNam(varn) .EQ. "splptz" .AND. y .NE. 1)
+               if(x .NE.1 ) then
+                  z=1          
+                  overlay(plot_splptx,plot_splpty)
+                  overlay(plot_splptx,plot_splptz)
+                  n=n+1
+                  plot_ps(n) = plot_splptx  
+
+                  ; ***************************************************
+                  ; legend for combined plot
+                  ; ***************************************************
+      
+                  lgres                    = True
+                  lgMonoDashIndex          = False
+                  lgres@lgLabelFont        = "helvetica"    
+                  lgres@lgLabelFontHeightF = .1            
+                  lgres@vpWidthF           = 0.4           
+                  lgres@vpHeightF          = 0.4          
+                  lgres@lgDashIndexes      = (/0,0,0/)
+                  lgres@lgLineColors       = (/237,144,80/)
+                  lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres)       
+
+                  amres = True
+                  amres@amParallelPosF   = 0.6		    
+                  amres@amOrthogonalPosF = -0.2            
+                  annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+               end if       
+            end if
+
+            if(vNam(varn) .NE. "splptz" .AND. vNam(varn) .NE. "splpty" .AND. vNam(varn) .NE. "splptx" .AND. vNam(varn) .NE. "pt_zp_" .AND. vNam(varn) .NE. "pt_0_" .AND. vNam(varn) .NE. "wpt" .AND. vNam(varn) .NE. "wpptp" .AND. vNam(varn) .NE. "wpptp0" .AND. vNam(varn) .NE. "z_i_pt" .AND. vNam(varn) .NE. "z_i_wpt" .AND. vNam(varn) .NE. "wmax" .AND. vNam(varn) .NE. "vmax" .AND. vNam(varn) .NE. "umax" .AND. vNam(varn) .NE. "ws" .AND.  vNam(varn) .NE. "us" .AND. vNam(varn) .NE. "Es" .AND. vNam(varn) .NE. "E") then
+               n=n+1
+               res@xyLineColors   = (/237/)
+               res@xyLabelMode    = False
+               res@gsnLeftString  = vNam(varn)
+               res@gsnRightString = unit(varn) 
+               res@trYMaxF        = max(data(varn,:))
+               res@trYMinF        = min(data(varn,:))
+               if (min(data(varn,:)) .EQ. max(data(varn,:))) then
+                  if (min(data(varn,:)) .EQ. 0)then
+                     res@trYMaxF = max(data(varn,:))-0.1
+                     res@trYMinF = min(data(varn,:))+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     res@trYMaxF = max(data(varn,:))+(min(data(varn,:)))/2
+                     res@trYMinF = min(data(varn,:))-(max(data(varn,:)))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     res@trYMaxF = max(data(varn,:))-(min(data(varn,:)))/2
+                     res@trYMinF = min(data(varn,:))+(max(data(varn,:)))/2
+                  end if
+               end if
+               plot_ps(n) = gsn_csm_xy(wks_ps,t,data(varn,:),res)  
+            end if
+
+            ; ***************************************************
+            ; transparent legend as placeholder for single plots
+            ; ***************************************************
+            lgresmono                    = True
+            lgMonoDashIndex              = False
+            lgresmono@lgMonoLineColor    = True
+            lgresmono@lgLabelFont        = "helvetica"    
+            lgresmono@lgLabelFontHeightF = .1            
+            lgresmono@vpWidthF           = 0.4           
+            lgresmono@vpHeightF          = 0.4          
+            lgresmono@lgLineColor        = 0
+            lgresmono@lgPerimOn          = False
+            lbid = gsn_create_legend(wks_ps,1,(/""/),lgresmono)       
+
+            amres = True
+            amres@amParallelPosF   = 0.6		    
+            amres@amOrthogonalPosF = -0.2            
+            annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
+       
+         else
+            
+            print("plot of " + vNam(varn)) 
+            
+            n=n+1
+            res@xyLineColors            = (/237/)
+            res@gsnLeftString       = vNam(varn)
+            res@gsnRightString      = unit(varn)
+        
+	    if (norm_t .NE. 1.)then
+               res@tiXAxisString        = "t ["+unit_t+"]"
+	    else
+	       res@tiXAxisString        = "t [s]"
+	    end if
+	    res@tiYAxisString = " "
+            res@tiXAxisFontHeightF   = font_size
+            res@txFontHeightF        = font_size
+            res@tiYAxisFontHeightF   = font_size
+	    res@tmXBLabelFontHeightF = font_size
+            res@tmYLLabelFontHeightF = font_size
+            res@trYMaxF        = max(data(varn,:))
+            res@trYMinF        = min(data(varn,:)) 
+            if (min(data(varn,:)) .EQ. max(data(varn,:))) then
+               if (min(data(varn,:)) .EQ. 0)then
+                     res@trYMaxF = max(data(varn,:))-0.1
+                     res@trYMinF = min(data(varn,:))+0.1
+                  end if
+                  if (min(data(varn,:)) .LT. 0)then
+                     res@trYMaxF = max(data(varn,:))+(min(data(varn,:)))/2
+                     res@trYMinF = min(data(varn,:))-(max(data(varn,:)))/2
+                  end if
+                  if (min(data(varn,:)) .GT. 0)then
+                     res@trYMaxF = max(data(varn,:))-(min(data(varn,:)))/2
+                     res@trYMinF = min(data(varn,:))+(max(data(varn,:)))/2
+                  end if
+            end if
+            plot_ps(n) = gsn_csm_xy(wks_ps,t,data(varn,:),res)
+           
+         end if     
+      end if
+   end do
+  
+   ; ***************************************************
+   ; merge plots onto one page 
+   ; ***************************************************
+ 
+   if (format_out .EQ. "eps" .OR. format_out .EQ. "epsi") then
+      gsn_panel(wks_ps,plot_ps(1:n),(/n,1/),resP)
+      print(" ")
+      print("Outputs to .eps or .epsi have only one frame")
+      print(" ")
+   else
+      do np = 1,n,no_rows*no_columns    
+         if ( np + no_rows*no_columns .gt. n) then   
+            gsn_panel(wks_ps, plot_ps(np:n),(/no_rows,no_columns/),resP)
+         else
+            gsn_panel(wks_ps, plot_ps(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
+         end if
+      end do
+   end if
+
+   print(" ")
+   print("Output to: " + file_out +"."+ format_out)
+   print(" ")
+ 
+end
Index: palm/tags/release-3.7/SCRIPTS/batch_scp
===================================================================
--- palm/tags/release-3.7/SCRIPTS/batch_scp	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/batch_scp	(revision 393)
@@ -0,0 +1,692 @@
+#! /bin/ksh
+# batch_scp - Shellskript         Version:  @(#)batch_scp 1.0a     25/10/05
+# $Id$
+
+     # Prozedur zum automatischen Transfer von Dateien mittels scp
+     #
+     # batch_scp hat 4 Argumente:
+     #         $1 = IP-Adresse des Zielrechners
+     #         $2 = zu uebertragende Datei
+     #         $3 = Verzeichnis, in das kopiert werden soll
+     #         $4 = Dateiname der Zieldatei
+
+
+     #                 ACHTUNG!!!!!!!!
+     #
+     # batch_scp hat noch folgenden grossen Mangel: wenn die Verzeichnisse
+     # auf den jeweiligen Remote-Rechnern aeltere Dateien beinhalten,
+     # die beim "ls -al" eine Jahreszahl und keine Uhrzeit (aa:bb) liefern,
+     # dann kann batch_scp die Dateinamen nicht ueberpruefen und findet
+     # z.B. bei -g die entsprechende Datei nicht!
+     #
+     #
+
+
+     # letzte Aenderung:
+     # 29/11/01 - Siggi - Entwicklungsbeginn
+     # 04/01/02 - Siggi - Version 1.0 funktionsfaehig
+     # 15/02/02 - Siggi - Verzeichnis-Listing umgestellt von "ls -al" auf "ls -1"
+     # 30/05/02 - Siggi - Abbruch mit exit 1 bei scp- oder ssh-Fehler
+     # 12/06/02 - Siggi - Version 1.0a, parent directories are also created, if
+     #                    directory on remote host does not exist
+     # 18/09/02 - Siggi - Fehlerabfragen korrigiert (waren wegen Klammerung
+     #                    unwirksam)
+     # 12/03/03 - Siggi - errfile and filelist are not stored in /tmp any more
+     #                    errors in execution of ssh does not lead
+     #                    to an abort on the NEC-system at DKRZ
+     # 01/04/03 - Siggi - small error concerning creation of catalogs removed
+     # 23/01/04 - Siggi - additional test output for scp on hurrikan
+     # 02/12/04 - Siggi - additional check of file size on remote host after scp.
+     #                    If the file sizes on local and remote host are equal,
+     #                    the scp exit status is ignored
+     # 03/12/04 - Siggi - additional checks of ssh actions independent of the
+     #                    ssh exit status
+     # 11/03/05 - Siggi - arguments are output in case of error exit
+     # 25/10/05 - Siggi - put of catalogs realized
+     # 27/04/09 - Marcus- use option -p for all scp calls
+
+
+ 
+    # VARIABLENVEREINBARUNGEN + DEFAULTWERTE 
+ random=$RANDOM
+
+ absolut=false
+ append=false
+ catalog_copy=false
+ check=false
+ delete=false
+ errfile=ftpcopy.errfile.$random
+ filelist=filelist.$random
+ get=false
+ local_host=`hostname`
+ locat=normal
+ make_catalog=false
+ overwrite=false
+ print_local_filename=false
+ quote_wait=false
+ remote_user=""
+ silent=false
+ transfermode=binary
+ zyklusnr=""
+ typeset -i iii icycle maxcycle=0 wait=0
+
+    # FEHLERBEHANDLUNG
+    # BEI EXIT:
+ trap 'if [[ $locat != normal ]]
+       then
+          cat $filelist $errfile
+          rm -rf $filelist $errfile
+          printf " +++ BATCH_SCP terminated \n"
+          printf "     locat     = $locat \n"
+          printf "     arguments = $1 $2 $3 $4 \n\n"
+          exit 1
+       fi' exit
+
+
+    # BEI TERMINAL-BREAK:
+ trap 'rm -rf $filelist $errfile
+       printf " +++ BATCH_SCP terminated \n\n"
+       exit 1
+      ' 2
+
+
+    # SHELLSCRIPT-OPTIONEN EINLESEN
+ while  getopts  :aAbcCdgmnoqsu:w:  option
+ do
+   case  $option  in
+       (a)   absolut=true;;
+       (A)   append=true;;
+       (b)   transfermode=binary;;
+       (c)   catalog_copy=true;;
+       (C)   check=true;;
+       (d)   delete=true;;
+       (g)   get=true;;
+       (m)   make_catalog=true;;
+       (n)   print_local_filename=true;;  # Option ist nicht dokumentiert !
+       (o)   overwrite=true;;
+       (q)   quote_wait=true;;
+       (s)   silent=true;;
+       (u)   remote_user=$OPTARG;;
+       (w)   wait=$OPTARG;;
+       (\?)  printf "  +++ option $OPTARG unknown \n"
+             printf "  --> call: batch_scp [-aAbcCdgmnoqsuw] <IP-adress> <localfile> <remotepath> <remotefile>\n"
+             locat=parameter;exit;;
+   esac
+ done
+ shift OPTIND-1
+
+
+ 
+    # KURZE AUFRUFBESCHREIBUNG WIRD HIER AUSGEGEBEN
+ if [ "$1" = "?" ]
+ then
+   (printf "\n  *** batch_scp can be called as follows:\n"
+    printf "\n      batch_scp -a -b -d -g -o -q -s -u.. -w..  <param1> <param2> <param3> <param4>\n"
+    printf "\n      Description of available options:\n"
+    printf "\n      Option  Description                            Default-Value"
+    printf "\n        -a    Filenames are absolute. No cycle-      ---"
+    printf "\n              numbers will be determined"
+    printf "\n        -A    append to destination file             ---"
+    printf "\n        -b    use binary-modus for transfer          ASCII-modus"
+    printf "\n        -c    transfer of directory                  ---"
+    printf "\n        -C    check-Modus, no transfer               ---"
+    printf "\n        -d    file to be transferred will be         ---"
+    printf "\n              deleted after successful transfer"
+    printf "\n        -g    change of transfer direction, i.e.     ---"
+    printf "\n              file will be transferred from"
+    printf "\n              destination host"
+    printf "\n        -o    any existing file will be overwritten  ---"
+    printf "\n        -q    switch on  \"quote wait\"  on          ---"
+    printf "\n              estination host"
+    printf "\n        -s    do not display informative messages    ---"
+    printf "\n        -u    username on remote machine             <username>"
+    printf "\n        -w    waiting time in seconds, before trans- 0"
+    printf "\n              fer will be initiated"
+    printf "\n "
+    printf "\n      The positional parameters <param1> - <param4> must be provided at"
+    printf "\n      any time and have the following meaning:"
+    printf "\n        <param1>  -  IP-adress of destination host"
+    printf "\n                     or \"?\"  (creates this outline)"
+    printf "\n        <param2>  -  abs. or rel. path of file to be transferred"
+    printf "\n        <param3>  -  directory (abs.!) on destination host. Special cahracters"
+    printf "\n                     like \~ are allowed but must be quoted by \"."
+    printf "\n        <param4>  -  filename (without path!) on destination host; must not"
+    printf "\n                     be given, if option -c is used."
+    printf "\n      When using option -g, file will be copied from destination host to file"
+    printf "\n      <param2>. In this case, no overwriting is possible.") | more
+    exit
+ fi
+
+
+    # PRUEFEN, OB ALLE ARGUMENTE VORLIEGEN
+ if [[ "$1" = "" ]]
+ then
+    printf " +++ 1. argument missing \n"
+    locat=argument; exit
+ elif [[ "$2" = "" ]]
+ then
+    printf " +++ 2. argument missing \n"
+    locat=argument; exit
+ elif [[ "$3" = "" ]]
+ then
+    printf " +++ 3. argument missing \n"
+    locat=argument; exit
+ elif [[ "$4" = "" ]]
+ then
+    printf " +++ 4. argument missing \n"
+    locat=argument; exit
+ fi
+
+
+    # USER-NAME AUF ZIELRECHNER AUS .NETRC-DATEI ERMITTELN
+ if [[ -z $remote_user ]]
+ then
+
+       # PRUEFEN, OB NETRC-DATEI VORHANDEN
+    if [[ ! -f ~/.netrc ]]
+    then
+       printf " +++ option -u not given; \n"
+       printf "     getting remote-username from password file failed \n"
+       printf "     because ~/.netrc does not exist \n"
+       locat=netrc; exit
+    fi
+    grep  $1  ~/.netrc | read dum dum dum remote_user dum dum
+ fi
+
+
+    # APPEND IST NUR BEI TRANSFER EINZELNER DATEIEN OHNE UEBERSCHREIBEN
+    # ERLAUBT. GET IST DABEI EBENFALLS NICHT ERLAUBT
+ if [[ $append = true  &&  ( $get = true || $catalog_copy = true || $overwrite = true ) ]]
+ then
+    printf " +++ options -g, -c and -o are not allowed, if -A is given \n"
+    locat=parameter; exit
+ fi
+
+
+    # DATEINAME IM 4. ARGUMENT DARF NUR BEIM UEBERSCHREIBEN ODER IM ABSOLUT-
+    # MODUS PUNKTE ENTHALTEN
+ if [[ $overwrite = false  &&  $absolut = false  &&  $(echo $4 | grep -c "\.") != 0 ]]
+ then
+    printf " +++ 4th argument may only contain dots (".") , if one of the \n"
+    printf "     options -a or -o are given \n"
+    locat=argument; exit
+ fi
+
+
+    # QUOTE WAIT FUNKTIONIERT NICHT BEIM KOPIEREN GANZER VERZEICHNISSE
+ if [[ $quote_wait = true  &&  $catalog_copy = true ]]
+ then
+    printf " +++ options  -c  and  -q  must not be used simultaneously\n"
+    locat=parameter; exit
+ fi
+
+
+    # IM CHECK-MODUS WIRD SCRIPT HIER BEENDET
+ [[ $check = true ]]  &&  exit
+
+
+    # BESTIMMTE ZEIT WARTEN, BIS WEITERGEMACHT WIRD (NOETIG Z.B. BEI TRANSFER
+    # VON JOBPROTOKOLLEN AUS JOBS HERAUS)
+ sleep  $wait
+
+
+    # PRUEFEN, OB LOKALE DATEI/LOKALES VERZEICHNIS VORHANDEN BZW. NICHT VORHANDEN
+ if [[ $get = false ]]
+ then
+    if [[ $catalog_copy = false ]]
+    then
+       if [[ ! -f $2 ]]
+       then
+          printf " +++ file \"$2\" to be transferred does not exist \n"
+          locat=localfile; exit
+       fi
+    else
+       if [[ ! -d $2 ]]
+       then
+          printf " +++ directory \"$2\" to be transferred does not exist\n"
+          printf "     or is not a directory \n"
+          locat=localfile; exit
+       fi
+    fi
+ else
+    if [[ $catalog_copy = false ]]
+    then
+       if [[ -f $2 ]]
+       then
+          if [[ $overwrite = true ]]
+          then
+             rm  $2
+          else
+             printf " +++ local file \"$2\" is already existing \n"
+             locat=localfile; exit
+          fi
+       else
+
+             # PRUEFEN, OB SICH LOKALE DATEI ANLEGEN LAESST
+          local_dirname=`dirname $2`
+          if [[ ! -d $local_dirname ]]
+          then
+             printf " +++ local directory \"$local_dirname\" \n"
+             printf "     does not exist or is not a directory \n"
+             printf " +++ cannot copy file \"$3/$4\" \n"
+             printf "     from \"$1\" to \"$local_host\" \n"
+             locat=localfile; exit
+          fi
+       fi
+    else
+       if [[ -d $2  ||  -f $2 ]]
+       then
+          printf " +++ local directory \"$2\" is already existing, \n"
+          printf "     or a file with the same name exists \n"
+          locat=localfile; exit
+       fi
+    fi
+ fi
+
+
+    # VERZEICHNISLSTE DES ZIELRECHNERS ERSTELLEN
+ ssh $1 -l $remote_user "cd $3; ls -1; echo '*** list complete'" > $filelist  2>&1
+ ssh_status=$?
+
+ if [[ $ssh_status != 0 ]]
+ then
+    if [[ ! -f $filelist ]]
+    then
+       echo " local_host = $local_host   ssh_status = $ssh_status"
+       locat=ssh_failed_1; exit
+    else
+       if [[ $(grep -c "*** list complete" $filelist) = 0 ]]
+       then
+          echo " local_host = $local_host   ssh_status = $ssh_status"
+          locat=ssh_failed_2; exit
+       fi
+    fi
+ fi
+
+
+    # PRUEFEN, OB VERZEICHNIS VORHANDEN IST. WENN GANZES VERZEICHNISS ZUM
+    # ZIELRECHNER KOPIERT WERDEN SOLL, DARF DORT NOCH KEIN ENTSPRECHENDES
+    # VERZEICHNIS VORHANDEN SEIN
+ if [[ $(cat $filelist | grep -c "not found") != 0  || \
+       $(cat $filelist | grep -c "No such file or directory") != 0 ]]
+ then
+    if [[ ! ( $catalog_copy = true  &&  $get = false ) ]]
+    then
+       if [[ $make_catalog = false ]]
+       then
+          printf " +++ directory \"$3\" does not exist on destination host (\"$1\") \n"
+          locat=directory; exit
+       else
+          if [[ $silent = false ]]
+          then
+             printf "  >>> directory \"$3\" does not exist on destination host (\"$1\")"
+             printf "\n      trying to create \"$3\" \n"
+          fi
+
+          make_catalog=force
+       fi
+    fi
+ fi
+
+
+    # PRUEFEN, OB DATEI/VERZEICHNIS VORHANDEN, WENN JA, HOECHSTEN ZYKLUS
+    # ERMITTELN (BZW. IM ABSOLUT-MODUS PRUEFEN, OB DATEI VORHANDEN IST)
+    # DAS GANZE ABER NUR, WENN NICHT OVERWRITE-MODUS GEWAEHLT WURDE, DIE
+    # EVENTUELL VORHANDENE DATEI ALSO UEBERSCHRIEBEN WERDEN SOLL
+ found=false
+ if [[ ( $overwrite = false   &&  $get = false )  ||  $get = true ]]
+ then
+    while  read zeile
+    do
+       if [[ $absolut = false ]]
+       then
+          text=$(echo $zeile | cut -f1 -d".")
+          if [[ "$text" = "$4" ]]
+          then
+             found=true
+             cycle=$(echo $zeile | cut -f2 -d".")
+             if [[ "$cycle" = "$text" ]]
+             then
+                (( icycle = 0 ))
+             else
+
+                   # PRUEFEN, OB CYCLE EINE ZAHL IST
+                (( iii = 1 ))
+                character=`echo $cycle | cut -c$iii`
+                character_found=false
+                while [[ "$character" != ""  &&  $character_found = false ]]
+                do
+                   case  $character  in
+                      (0|1|2|3|4|5|6|7|8|9)  true;;
+                      (*)  character_found=true
+                   esac
+                   (( iii = iii + 1 ))
+                   character=`echo $cycle | cut -c$iii`
+                done
+
+                if [[ $character_found = false ]]
+                then
+                   (( icycle = $cycle ))
+                fi
+             fi >|$errfile 2>&1    # AUSGABE FEHLER AUF ERRFILE WENN CYCLE NICHTNUMERISCH
+
+
+                # INFORMATIVE AUSGABE, WENN DATEI NICHTNUMERISCHE EXTENSION HAT
+                # if [[ $(cat $errfile | grep -c "bad number") != 0 ]]
+             if [[ $character_found = true ]]
+             then
+                if [[ $cycle != "$5" ]]
+                then
+                   printf "  +++ file \"$text\" has non-numerical extension \".$cycle\" \n"
+                   locat=file; exit
+                else
+                   if [[ $silent = false ]]
+                   then
+                      printf "  >>> file \"$text\" has non-numerical extension \".$cycle\" \n"
+                   fi
+                fi
+             fi
+
+             if (( icycle > maxcycle ))
+             then
+                (( maxcycle = icycle ))
+             fi
+          fi
+
+       else
+
+             # IM ABSOLUT-MODUS MUSS NUR GEPRUEFT WERDEN, OB DIE DATEI
+             # VORHANDEN IST
+          [[ $4 = $zeile ]]  &&  found=true
+       fi
+
+    done <$filelist
+ fi
+
+ if [[ $found = true ]]
+ then
+    if [[ $get = false ]]
+    then
+       if [[ $absolut = false ]]
+       then
+          if [[ $append = false ]]
+          then
+             (( maxcycle = maxcycle + 1 ))
+             zyklusnr=".$maxcycle"
+          else
+             if (( maxcycle == 0 ))
+             then
+                zyklusnr=""
+             else
+                zyklusnr=".$maxcycle"
+             fi
+          fi
+       else
+          if [[ $overwrite = false ]]
+          then
+             printf "  +++ file \"$3/$4\" \n"
+             printf "      already exists on destination host (use -o, if necessary) \n"
+             locat=file; exit
+          fi
+       fi
+    else
+       if [[ $absolut = false ]]
+       then
+          if (( maxcycle == 0 ))
+          then
+             zyklusnr=""
+          else
+             zyklusnr=".$maxcycle"
+             (( maxcycle = 0 ))
+          fi
+       else
+          zyklusnr=""
+       fi
+    fi
+ else
+    zyklusnr=""
+
+       # ABBRUCH, WENN DATEI VON ZIELRECHNER GEHOLT WERDEN SOLL, DORT ABER
+       # NICHT VORHANDEN IST
+    if [[ $get = true ]]
+    then
+       printf " +++ file \"$3/$4\" \n"
+       printf "     does not exist on destination host (\"$1\") \n"
+       locat=remotefile; exit
+    fi
+ fi
+
+
+    # FALLS KATALOG ERZEUGT WIRD, DARF DIE DATEI IN KEINEM FALL EINE
+    # ZYKLUSNUMMER BESITZEN, DA SIE JA NOCh GARNICHT EXISTIEREN KANN
+ if [[ $make_catalog = force ]]
+ then
+    zyklusnr=""
+    (( maxcycle = 0 ))
+ fi
+
+ 
+    # FALLS NAMENSOPTION (-n) GEWAEHLT WURDE, NUR DEN ERMITTELTEN LOKALEN
+    # DATEINAMEN DES ZIELRECHNERS AUSGEBEN UND SCRIPT BEENDEN
+ if [[ $print_local_filename = true ]]
+ then
+    printf "$4$zyklusnr\n"
+    rm -r $filelist
+    exit
+ fi
+
+
+    # FALLS 5. ARGUMENT ANGEGEBEN WURDE, WIRD DIES ALS FILE-EXTENSION
+    # HINTER DIE ZYKLUS-NUMMER GEHAENGT (FUNKTIONIERT NUR BEI KOPIEREN EINER
+    # DATEI AUF ZIELRECHNER
+ if [[ "$5" != ""  &&  $get = false ]]
+ then
+    zyklusnr=${zyklusnr}.$5
+ fi
+
+
+    # BEI VERZEICHNISTRANSFER VON ZIELRECHNER AUF LOKALEN RECHNER PRUEFEN, OB
+    # $3 AUF ZIELRECHNER WIRKLICH EIN VERZEICHNIS IST
+ if [[ $catalog_copy = true  &&  $get = true ]]
+ then
+    rm -rf $filelist
+    ssh $1 -l $remote_user "cd $3" > $filelist
+    if [[ $? != 0 ]]
+    then
+       locat=ssh_failed_3; exit
+    fi
+
+    if [[ $(cat $filelist | grep -c "Not a directory") != 0 ]]
+    then
+       printf " +++ \"$3\" on destination host is not a directory \n"
+       locat=directory; exit
+    fi
+ fi
+
+
+    # BEI KATALOGTRANSFER AUF LOKALEN RECHNER ENTSPRECHENDES VERZEICHNIS
+    # ANLEGEN
+ if [[ $catalog_copy = true ]]
+ then
+    if [[ $get = true ]]
+    then
+       mkdir $2
+    fi
+ fi
+
+
+    # Auf IBM-Rechnern (HLRN) Tilde aus Katalognamen entfernen, da scp
+    # diese nicht versteht
+ catalog_name=$3
+ if [[ $(hostname | cut -c1-4) = hreg  ||  $(hostname | cut -c1-4) = breg ]]
+ then
+    catalog_name=${catalog_name#"~/"}
+    catalog_name=${catalog_name#"~"}
+ fi
+ [[ "$catalog_name" != "" ]]  &&  catalog_name=${catalog_name}/
+
+
+    # DATEI/VERZEICHNIS PER SCP UEBERTRAGEN
+ if [[ $get = false ]]
+ then
+    if [[ $make_catalog != force ]]
+    then
+       if [[ $append = false ]]
+       then
+          if [[ $(echo $local_host | cut -c1-2) = cs ]]
+          then
+             if [[ $catalog_copy = false ]]
+             then
+                scp -p -q -v $2 $remote_user@$1:$catalog_name$4$zyklusnr
+             else
+                scp -p -r -q -v $2 $remote_user@$1:$catalog_name$4$zyklusnr
+             fi
+          else
+             if [[ $catalog_copy = false ]]
+             then
+                scp -p $2 $remote_user@$1:$catalog_name$4$zyklusnr  > /dev/null
+             else
+                scp -p -r $2 $remote_user@$1:$catalog_name$4$zyklusnr  > /dev/null
+             fi
+          fi
+          scp_status=$?
+
+          if [[ $scp_status != 0 ]]
+          then
+                # CHECK, OB DATEIGROESSEN AUF LOKALEM UND REMOTERECHNER
+                # UEBEREINSTIMMEN
+             local_size=`ls -al  $2`
+             local_size=`echo $local_size | cut -d" " -f5`
+
+             remote_size=`ssh $1 -l $remote_user "ls -al $catalog_name$4$zyklusnr"`
+             remote_size=`echo $remote_size | cut -d" " -f5`
+
+             if [[ "$remote_size" != "$local_size" ]]
+             then
+                echo " +++ scp failed on host \"$local_host\" with exit $scp_status"
+                echo "     local size = \"$local_size\"  remote size = \"$remote_size\" "
+                date
+                locat=scp_failed; exit
+             fi
+          fi
+       else
+          scp -p $2 $remote_user@$1:${catalog_name}batch_scp_append_file.$random  > /dev/null
+          if [[ $? != 0 ]]
+          then
+                # CHECK, OB DATEIGROESSEN AUF LOKALEM UND REMOTERECHNER
+                # UEBEREINSTIMMEN
+             local_size=`ls -al  $2`
+             local_size=`echo $local_size | cut -d" " -f5`
+
+             remote_size=`ssh $1 -l $remote_user "ls -al ${catalog_name}batch_scp_append_file.$random"`
+             remote_size=`echo $remote_size | cut -d" " -f5`
+
+             if [[ "$remote_size" != "$local_size" ]]
+             then
+                echo " +++ scp failed on host \"$local_host\" with exit $scp_status"
+                echo "     local size = \"$local_size\"  remote size = \"$remote_size\" "
+                date
+                locat=scp_for_append_failed; exit
+             fi
+          fi
+
+          rm  $filelist
+
+          ssh $1 -l $remote_user "cd $3; cat batch_scp_append_file.$random >> $4$zyklusnr; rm batch_scp_append_file.$random; echo '*** append complete'" > $filelist
+          if [[ $? != 0 ]]
+          then
+             if [[ ! -f $filelist ]]
+             then
+                locat=append_via_ssh_failed; exit
+             else
+                if [[ $(grep -c "*** append complete" $filelist) = 0 ]]
+                then
+                   locat=append_via_ssh_failed; exit
+                fi
+             fi
+          fi
+       fi
+    else
+       ssh $1 -l $remote_user "mkdir -p $3"
+       if [[ $? != 0 ]]
+       then
+          locat=ssh_failed_4; exit
+       fi
+       scp -p $2 $remote_user@$1:$catalog_name$4$zyklusnr  > /dev/null
+       if [[ $? != 0 ]]
+       then
+          locat=scp_failed; exit
+       fi
+    fi
+
+ else
+
+    if [[ $catalog_copy = false ]]
+    then
+       if [[ $quote_wait = true ]]
+       then
+
+          printf " +++ quote wait not realized with BATCH_SCP"
+          locat=unavailable_feature; exit
+
+       else
+
+          scp -p $remote_user@$1:$catalog_name$4$zyklusnr $2  > /dev/null
+          if [[ $? != 0 ]]
+          then
+             locat=scp_failed; exit
+          fi
+
+       fi
+    else
+
+       printf " +++ get of whole cataloges not realized with BATCH_SCP so far"
+       locat=unavailable_feature; exit
+
+#       ftp -i $1 << %END%  > /dev/null
+#$transfermode
+#cd $3
+#mget *
+#quit
+#%END%
+    fi
+ fi
+
+
+
+    # EVTL. TRANSFERIERTE DATEI AUF LOKALEM RECHNER LOESCHEN
+ if [[ $delete = true  &&  $get = false ]]
+ then
+    rm -rf  $2
+ fi
+
+
+
+    # ABSCHLUSSMELDUNG
+ if [[ $silent = false ]]
+ then
+    if (( maxcycle == 0 ))
+    then
+       if [[ $append = false ]]
+       then
+          printf "  >>> transfer successful \n"
+       else
+          printf "  >>> file was appended \n"
+       fi
+    else
+       printf "  >>> transfer successful \n"
+       if [[ $append = false ]]
+       then
+          if [[ $catalog_copy = false ]]
+          then
+             printf "      new file has cycle number $maxcycle \n"
+          else
+             printf "      new catalog has cycle number $maxcycle \n"
+          fi
+       else
+          printf "      append to cycle number $maxcycle \n"
+       fi
+    fi
+ fi
+
+ rm -rf  $filelist  $errfile
Index: palm/tags/release-3.7/SCRIPTS/mbuild
===================================================================
--- palm/tags/release-3.7/SCRIPTS/mbuild	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/mbuild	(revision 393)
@@ -0,0 +1,1351 @@
+#!/bin/ksh
+# mbuild - Programmuebersetzungsscript
+# $Id$
+
+     # Prozedur zur Uebersetzung von Programmteilen mittels make-Mechanismus
+     # auf einem Remote-Rechner, ausgehend von Quellcode auf einem lokalen
+     # Rechner
+
+     # Folgende Probleme existieren unter Linux, wenn keine AT&T-Korn-Shell
+     # verwendet wird:
+     # Wertzuweisungen an Variablen innerhalb von DO-Schleifen werden nicht
+     # nach aussen weitergegeben. "while read line" funktioniert nicht
+     # innerhalb einer Pipe.
+
+     # letzte Aenderung:
+     # 06/05/02 - Siggi - Beginn der Entwicklung
+     # 12/06/02 - Siggi - Abschluss der Entwicklungsarbeiten
+     # 23/06/02 - Siggi - voerst kein make-clean, Abbruch bei batch-mode
+     # 24/07/02 - Siggi - Keine Verwendung der temporaeren Datei tmp_mbuild
+     #                    unter linux mehr noetig, da nun AT&T-Korn-Shell
+     #                    benutzt wird
+     # 12/09/02 - Siggi - ibmh (hanni.hlrn.de) validiert
+     # 19/12/02 - Siggi - ibmb validiert
+     # 05/02/03 - Siggi - hostname nobela included
+     # 04/03/03 - Siggi - host nech included
+     # 06/03/03 - Siggi - make_call_string is echoed without '' to
+     #                    file LAST_MAKE_CALL (otherwise error on NEC, because
+     #                    '' are part of compiler options
+     # 16/03/03 - Siggi - Two underscores are placed in front of every define
+     #                    string, in case that palm.f90 version contains
+     #                    such strings
+     # 16/04/03 - Siggi - First extensions for linux machines
+     # 24/06/03 - Siggi - host orkan included
+     # 17/07/03 - Siggi - IP adress set to new "cross" machine at DKRZ
+     # 24/07/03 - Siggi - host maestro admitted
+     # 06/08/03 - Siggi - host gregale admitted
+     # 05/11/03 - Siggi - hosts irifi and quanero are now belonging to lcmuk
+     # 19/11/03 - Heiko - on lcmuk, mbuild does not tar the *.i files
+     # 08/01/04 - Siggi - additional preprocessor directive for ibm included
+     #                    (-D$OMP=OMP) in order to avoid problems with
+     #                    OMP_NUM_THREADS
+     # 09/01/04 - Siggi - action above cancelled
+     # 28/01/04 - Siggi - action above re-cancelled
+     # 08/03/04 - Siggi - host scirocco admitted
+     # 26/03/04 - Siggi - .o and .mod files are also deleted in depository, if
+     #                    the respective .f90 file is not listed in the makefile
+     #                    and deletion is demanded by the user
+     # 12/04/04 - Siggi - scp2 instead of scp used for transfer from decalpha
+     #                    due to error in ssh installation (otherwise a prompt
+     #                    for the password appears)
+     # 23/07/04 - Siggi - changes due to the new berni configuration
+     #                    (federation switch)
+     # 08/09/04 - Siggi - hanni IP address changed to 130.75.4.10
+     # 23/09/04 - Joerg - correction of IP-Address for 'cross' (DKRZ)
+     # 09/03/05 - Siggi - on nech, mbuild does not tar the *.i files
+     # 31/03/05 - Siggi - mbuild does not tar *.i files any more
+     # 24/04/05 - Siggi - netcdf support on lcmuk
+     # 25/04/05 - Siggi - netcdf support on gfdl3 (decalpha)
+     # 12/05/05 - Siggi - netcdf support on ibm
+     #                    set OBJECT_MODE=64 for compiling on ibmb, ibmh
+     # 18/05/05 - Siggi - netcdf support on nec
+     # 19/05/05 - Siggi - IP addres 134.75.155.74 changed to 165.132.26.56
+     # 23/05/05 - Siggi - netcdf support on ibms
+     # 01/06/05 - Siggi - reset of cpp_options to "" on lcmuk
+     # 30/06/05 - Siggi - netcdf support on bora
+     # 20/10/05 - Siggi - update of netcdf-version on decalpha (gfdl3)
+     # 04/11/05 - Siggi - netcdf 3.6.0-p1 on ibmh/ibmb
+     # 30/12/05 - Siggi - change of IP adresses in subnet 130.75.105
+     #                    host gfdl5 (ibmy) admitted
+     # 10/01/06 - Siggi - cpp directive for NetCDF 64bit support
+     # 20/01/06 - Siggi - cpp directive for ibmy
+     # 09/02/06 - Marcus- compile only once on lcmuk (as on ibmh/ibmb)
+     # 10/02/06 - Siggi - modifications for scp on decalpha
+     # 13/04/06 - Siggi - ostria admitted
+     # 19/04/06 - Siggi - preprocessor directive -D$OMP=OMP for ibm removed
+     # 23/05/05 - Siggi - lctit (SUN Fire X4600) admitted
+     # 29/05/05 - Siggi - atmos (lcide) admitted
+     # 23/08/06 - Siggi - netcdf support for scirocco (notebook)
+     # 24/11/06 - Siggi - breva and levanto admitted
+     # 07/02/07 - Siggi - adapted for RIAM (neck)
+     # 10/02/07 - Siggi - all hpmuk-related code removed
+     # 02/03/07 - Siggi - compilation of utility programs and transfer of
+     #                    scripts to remote hosts added (option -u)
+     # 14/03/07 - Siggi - fimm admitted, revision number added to terminal
+     #                    output
+     # 16/03/07 - Siggi - adjustments (netcdf) for lctit
+     #                    adjustments for running under pdksh, local ip-addres
+     #                    is not determined any more
+     # 30/03/07 - Siggi - cpp-directives/options + netcdf-options are read
+     #                    from configuration file
+     #                    host identifier (local_host) is read from config file
+     # 10/10/07 - Siggi - bugfix: handling of comment lines
+     # 18/07/08 - Siggi - adapted for lcsgih
+     # 21/07/08 - Siggi - mainprog (executable) is added to the tar-file
+     #                    ({mainprog}_current_version)
+     # 02/10/08 - Siggi - adapted for lcxt4
+     # 14/11/08 - Siggi - update mechanism completely revised: source tarfile
+     #                    remains in source directory, one depository per block
+     #                    (given in the config-file) is created, allways all
+     #                    files from the source directory are copied to the
+     #                    respective depository, no additional file checks are
+     #                    done any more (version 2.1)
+     # 13/01/09 - Marcus- re-enable compilation more than once on lcmuk (as on 
+     #                    other machines)
+     # 21/03/09 - Siggi - -u copies also copies process_dvr_output and
+     #                    .dvrserver.config
+     # 21/04/09 - Siggi - adjustments for new IBM at DKRZ, which is now ibmh
+     # 25/08/09 - BjornM- adapted for lck
+
+
+
+    # VARIABLENVEREINBARUNGEN + DEFAULTWERTE
+ compile_utility_programs=false
+ config_file=.mrun.config
+ fimm=false
+ host=all
+ host_found=false
+ locat=normal
+ makefile=""
+ remote_mode=interactive
+ scirocco=false
+ silent=false
+ suf=f90
+ update=false
+ working_directory=`pwd`
+
+ typeset -i  ih ihost=0
+
+ typeset  -R30 calltime
+ typeset  -L20 column1
+ typeset  -L50 column2
+ typeset  -L70 column3
+ typeset  -L40 version="MBUILD  2.1  Rev$Rev$"
+
+    # FEHLERBEHANDLUNG
+    # BEI EXIT:
+ trap 'rm -rf  $working_directory/tmp_mbuild
+       if [[ $locat != normal ]]
+       then
+          printf "\n\n +++ mbuild killed \n\n"
+       else
+          printf "\n\n *** mbuild finished \n\n"
+       fi' exit
+
+
+    # BEI TERMINAL-BREAK:
+ trap 'rm -rf  $working_directory/tmp_mbuild
+       printf "\n\n +++ mbuild killed by \"^C\" \n\n"
+       exit
+      ' 2
+
+
+ tmp_mbuild=${working_directory}/tmp_mbuild
+
+    # SHELLSCRIPT-OPTIONEN EINLESEN
+ while  getopts  :c:h:m:rs:u  option
+ do
+   case  $option  in
+       (c)   config_file=$OPTARG;;
+       (h)   host=$OPTARG;;
+       (m)   makefile=$OPTARG;;
+       (r)   remote_mode=batch;;
+       (s)   suf=$OPTARG;;
+       (u)   compile_utility_programs=true;;
+       (\?)  printf "\n  +++ unknown option $OPTARG \n";
+             locat=parameter; exit;;
+   esac
+ done
+
+
+
+    # BATCH-MODE IST ZUR ZEIT NICHT FUNKTIONSFAEHIG
+ if [[ $remote_mode = batch ]]
+ then
+    printf "\n  +++ sorry, batch mode does not work! \n"
+    locat=parameter; exit
+ fi
+
+
+
+    # PRUEFEN, OB KONFIGURATIONS-DATEI VORHANDEN
+ if [[ ! -f $config_file ]]
+ then
+    printf "\n  +++ configuration file: "
+    printf "\n           $config_file"
+    printf "\n      does not exist"
+    locat=configuration; exit  
+ fi
+
+
+
+    # LOKALEN RECHNER ERMITTELN
+ local_host_real_name=$(hostname)
+# local_addres=$(nslookup `hostname` 2>&1 | grep "Address:" | tail -1 | awk '{print $2}')
+
+
+
+    # HOST-IDENTIFIER (local_host) AUS KONFIGURATIONSDATEI BESTIMMEN
+ line=""
+ grep  "%host_identifier"  $config_file  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       HOSTNAME=`echo $line | cut -d" " -s -f2`
+       host_identifier=`echo $line | cut -d" " -s -f3`
+       if [[ $local_host_real_name = $HOSTNAME ]]
+       then
+          local_host=$host_identifier
+          break
+       fi
+    fi
+ done < $tmp_mbuild
+
+ if [[ "$local_host" = "" ]]
+ then
+    printf "\n  +++ no host identifier found in configuration file \"$config_file\""
+    printf "\n      for local host \"$local_host_real_name\"."
+    printf "\n      Please add line"
+    printf "\n      \"\%host_identifier $local_host_real_name <identifier>\""
+    printf "\n      to the configuration file."
+    locat=local_host; exit
+ fi
+
+
+
+ [[ $local_host_real_name = scirocco ]]  &&  scirocco=true
+ [[ $local_host_real_name = fimm.bccs.uib.no ]]  &&  fimm=true
+
+
+
+ if [[ $local_host != ibms ]]
+ then
+    config_file=$PWD/$config_file
+ else
+    config_file=`pwd`/$config_file
+ fi
+
+
+ 
+    # BENUTZERNAMEN AUF LOKALEM RECHNER AUS KONFIGURATIONSDATEI ERMITTELN
+ line=""
+ grep  " $local_host" $config_file | grep "%remote_username"  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       local_username=`echo $line | cut -d" " -s -f2`
+    fi
+ done < $tmp_mbuild
+
+
+ if [[ "$local_username" = "" ]]
+ then
+    printf "\n  +++ no user name found in configuration file"
+    printf "\n      for local host \"$local_host\" "
+    locat=config_file; exit
+ fi
+
+
+    # LOKALEN QUELLTEXTPFAD ERMITTELN.
+    # ZUERST PRUEFEN, OB EIN GLOBALER QUELLTEXTPFAD FUER ALLE RECHNER
+    # VEREINBART WURDE.
+    # DAZU ZUNAECHST ALLE IN DER KONFIGURATIONSDATEI VEREINBARTEN GLOBALEN
+    # VARIABLEN SETZEN, WEIL DIESE EVTL. IN PFADNAMEN VERWENDET WERDEN
+ line=""
+ grep "%" $config_file  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  "$(echo $line | cut -d" " -s -f3)" = ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       var=`echo $line | cut -d" " -s -f1 | cut -c2-`
+       value=`echo $line | cut -d" " -s -f2`
+       eval export $var=\$value
+#       eval echo \"   $var=\$$var \"   # AUSGABE ZU TESTZWECKEN
+    fi
+ done < $tmp_mbuild
+
+    # NUN PRUEFEN, OB EIN GLOBALER QUELLTEXTPFAD VEREINBART WURDE
+ line=""
+ grep "%source_path" $config_file  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       if [[ "$(echo $line | cut -d" " -s -f3)" = "" ]]
+       then
+          global_source_path=`echo $line | cut -d" " -s -f2`
+       fi
+    fi
+ done < $tmp_mbuild
+
+ line=""
+ grep  " $local_host" $config_file | grep "%source_path"  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       local_source_path=`echo $line | cut -d" " -s -f2`
+    fi
+ done < $tmp_mbuild
+
+ if [[ "$local_source_path" = "" ]]
+ then
+    if [[ "$global_source_path" != "" ]]
+    then
+       local_source_path=$global_source_path
+    else
+       printf "\n  +++ no source path found in configuration file"
+       printf "\n      for local host \"$local_host\" "
+       printf "\n      please set \"\%source_path\" in configuration file"
+       locat=config_file; exit
+    fi
+ fi
+ eval local_source_path=$local_source_path
+ eval local_source_path=$local_source_path
+
+
+
+    # GLOBALEN DEPOSITORY-PFAD ERMITTELN
+ line=""
+ grep "%depository_path" $config_file  >  $tmp_mbuild
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       if [[ "$(echo $line | cut -d" " -s -f3)" = "" ]]
+       then
+          global_depository_path=`echo $line | cut -d" " -s -f2`
+       fi
+    fi
+ done < $tmp_mbuild
+
+
+
+    # PRUEFEN, OB IN KONFIGURATIONSDATEI EIN HAUPTPROGRAMM
+    # VEREINBART WURDE
+ if [[ $(grep -c "%mainprog" $config_file) != 1 ]]
+ then
+    printf "\n  +++ no main program or more than one main program defined"
+    printf "\n      in configuration file"
+    locat=configuration; exit
+ else
+    line=`grep "%mainprog" $config_file`
+    if [[ "$line" = ""  ||  $(echo $line | cut -c1) = "#" ]]
+    then
+       printf "\n  +++ no main program defined in configuration file"
+       locat=configuration; exit
+    fi
+    mainprog=`echo $line | cut -d" " -s -f2 | cut -d"." -f1`
+ fi
+
+
+
+    # MAKEFILE vorhanden
+ [[ "$makefile" = "" ]]  &&  makefile=$local_source_path/Makefile
+ if [[ ! -f $makefile ]]
+ then
+    printf "\n  +++ makefile: "
+    printf "\n           $makefile"
+    printf "\n      does not exist"
+    locat=makefile; exit  
+ fi
+
+
+    # HEADER-AUSGABE (TEIL1: MELDUNGEN UEBER LOKALEN RECHNER)
+ calltime=$(date)
+ printf "\n"
+ printf "#------------------------------------------------------------------------# \n"
+ printf "| $version$calltime | \n"
+ printf "|                                                                        | \n"
+ column1="called on:"; column2=$local_host_real_name
+ printf "| $column1$column2 | \n"
+ column1="local username:"; column2=$local_username
+ printf "| $column1$column2 | \n"
+ column1="local IP-addres:"; column2=$local_addres
+ printf "| $column1$column2 | \n"
+ column1="config file:"; column2=$config_file
+ printf "| $column1$column2 | \n"
+ column1="makefile:"; column2=$makefile
+ printf "| $column1$column2 | \n"
+ column1="local source path:"; column2=$local_source_path
+ printf "| $column1$column2 | \n"
+ printf "#------------------------------------------------------------------------# \n"
+
+# printf "|                                                                        | \n"
+
+
+ if [[ $compile_utility_programs = false ]]
+ then
+
+       # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF
+       # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT
+    cd  $local_source_path
+    printf "\n\n  *** tar of makefile and source files in $local_source_path"  
+    tar -cf  ${mainprog}_sources.tar  Makefile  *.$suf
+    printf "\n"
+
+ fi
+
+
+
+    # BESTAETIGUNG ZUM WEITERMACHEN EINHOLEN
+ if [[ $host = all ]]
+ then
+    printf "\n  *** updates will be made for ALL hosts found in"
+    printf "\n      the configuration file"
+ else
+    printf "\n  *** update will be made for host \"$host\" "
+ fi
+
+ if [[ $silent = false ]]
+ then
+    answer=dummy
+    printf "\n\n"
+    while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
+    do
+       printf " >>> continue (y/n) ?  "
+       read  answer
+    done
+    if [[ $answer = n  ||  $answer = N ]]
+    then
+       locat=user_abort; exit
+    fi
+ fi
+ 
+ 
+
+    
+    # GENERIERUNG DER AKTUELLEN MODELLVERSION FUER ALLE RECHNER-/UEBERSETZUNGS-
+    # VERSIONEN, DIE IN DER KONFIGURATIONSDATEI GEFUNDEN WERDEN
+ printf "\n  *** scanning configuration file for host(s) ..."
+
+ grep  %fopts  $config_file  >  $tmp_mbuild
+ while read line
+ do
+       # KOMMENTARZEILEN UEBERSPRINGEN
+    [[ $(echo $line | cut -c1) = "#" ]]  &&  continue
+    (( ihost = ihost + 1 ))
+    hostline[$ihost]="$line"
+ done < $tmp_mbuild
+
+ 
+ while (( ih < ihost ))
+ do
+
+    (( ih = ih + 1 ))
+
+       # REMOTE-RECHNER UND UEBERSETZUNGS-VERSION FESTSTELLEN
+       # NUR WEITERMACHEN, WENN ENTSPRECHENDER REMOTE-RECHNER MITTELS
+       # SHELLSCRIPT-OPTION AUCH AUSGEWAEHLT WURDE
+    remote_host_string=`echo ${hostline[$ih]} | cut -d" " -s -f3-`
+    remote_host=`echo $remote_host_string | cut -d" " -f1`
+    if [[ $host != all ]]
+    then
+       [[ $remote_host != $host ]]  &&  continue
+    fi
+    host_found=true
+    condition1=`echo $remote_host_string | cut -d" " -s -f2`
+    if [[ $condition1 = $remote_host ]]
+    then
+       condition1=""
+    else
+       condition2=`echo $remote_host_string | cut -d" " -s -f3`
+    fi
+
+    netcdf_inc=""
+    netcdf_lib=""
+
+       # IP-ADRESSE DES REMOTE-RECHNERS BESTIMMEN
+    case  $remote_host  in
+        (lcmuk)          remote_addres=130.75.105.2;;
+        (lcsgib)         remote_addres=130.73.232.102;;
+        (lcsgih)         remote_addres=130.75.4.102;;
+        (lck)            remote_addres=165.132.26.61;;
+        (lctit)          remote_addres=172.17.75.161;;
+        (lcxt4)          remote_addres=129.177.20.113;;
+        (decalpha)       remote_addres=165.132.26.56;;
+        (ibmh)           remote_addres=136.172.40.15;;
+        (ibms)           remote_addres=150.183.5.101;;
+        (ibmy)           remote_addres=165.132.26.58;;
+        (nech)           remote_addres=136.172.44.192;;
+        (neck)           remote_addres=133.5.178.11;;
+        (ground.yonsei.ac.kr) remote_addres=134.75.155.33;;
+        (*)              if [[ $local_host != $remote_host ]]
+                         then
+                            printf "\n  +++ remote host \"$remote_host\" unknown";
+                            printf "\n      please inform S. Raasch!"
+                         fi;;
+    esac
+
+
+       # REMOTE-USERNAMEN ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%remote_username"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          remote_username=`echo $line | cut -d" " -s -f2`
+          found=true
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ $found = false ]]
+    then
+       printf "\n  +++ no remote username found in configuration file"
+       printf "\n      for \"$remote_host_string\" "
+       locat=config_file; exit
+    fi
+
+
+       # REMOTE-QUELLTEXTPFAD ERMITTELN
+    line=""
+    remote_source_path=""
+    grep  "$remote_host_string" $config_file | grep "%source_path"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          remote_source_path=`echo $line | cut -d" " -s -f2`
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ "$remote_source_path" = "" ]]
+    then
+       if [[ "$global_source_path" != "" ]]
+       then
+          remote_source_path=$global_source_path
+       else
+          printf "\n  +++ no source path found in configuration file"
+          printf "\n      for \"$remote_host_string\" "
+          locat=config_file; exit
+       fi
+    fi
+
+    remote_ud=${remote_source_path}/../UTIL
+    remote_ud=$(eval echo $remote_ud)
+
+
+       # REMOTE-PFAD FUER MAKE-DEPOSITORY ERMITTELN
+    remote_md=""
+    line=""
+    grep  "$remote_host_string" $config_file | grep "%depository_path"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          remote_md=`echo $line | cut -d" " -s -f2`
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ "$remote_md" = "" ]]
+    then
+       if [[ "$global_depository_path" != "" ]]
+       then
+          remote_md=$global_depository_path
+       else
+          printf "\n  +++ no depository path found in configuration file"
+          printf "\n      for \"$remote_host_string\" "
+          printf "\n      please set \"\%depository_path\" in configuration file"
+          locat=config_file; exit
+       fi
+    fi
+
+    remote_md=$(eval echo $remote_md)
+    [[ "$condition1" != "" ]]  &&  remote_md=${remote_md}_$condition1
+    [[ "$condition2" != "" ]]  &&  remote_md=${remote_md}_$condition2
+
+
+       # COMPILERNAMEN ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%compiler_name "  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          compiler_name=`echo $line | cut -d" " -s -f2`
+          found=true
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ $found = false ]]
+    then
+       printf "\n  +++ no compiler name found in configuration file"
+       printf "\n      for \"$remote_host_string\" "
+       locat=config_file; exit
+    fi
+
+
+       # BEI BENUTZUNG EINES PARALLELEN COMPILERS MUSS AUCH EIN
+       # SERIELLER COMPILERNAME ERMITTELT WERDEN
+    if [[ $(echo $remote_host_string | grep -c parallel) = 1 ]]
+    then
+       line=""
+       found=false
+       grep  "$remote_host_string" $config_file | grep "%compiler_name_ser"  >  $tmp_mbuild
+       while read line1
+       do
+
+          if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+          then
+             line="$line1"
+          fi
+
+          if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+          then
+             compiler_name_ser=`echo $line | cut -d" " -s -f2`
+             found=true
+          fi
+
+       done < $tmp_mbuild
+
+       if [[ $found = false ]]
+       then
+          printf "\n  +++ no serial compiler name found in configuration file"
+          printf "\n      for \"$remote_host_string\" "
+          locat=config_file; exit
+       fi
+    else
+       compiler_name_ser=$compiler_name
+    fi
+
+
+
+       # PRAEPROZESSOR-OPTIONEN/DIREKTIVEN ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%cpp_options"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS OPTIONSSTRING ENTFERNEN
+          cpp_options=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+          found=true
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ $found = false ]]
+    then
+       printf "\n  +++ no preprocessor options found in configuration file"
+       printf "\n      for \"$remote_host_string\" "
+       locat=config_file; exit
+    fi
+
+
+       # RECHNERSPEZIFISCHE CPP-DIREKTIVEN HINZUFUEGEN
+    for  string  in  $remote_host_string
+    do
+       if [[ $(echo $remote_host | cut -c1-2) = lc  &&  $(echo $string | cut -c1-2) = lc ]]
+       then
+          cpp_options="$cpp_options -D__lc "
+       elif [[ $(echo $remote_host | cut -c1-3) = ibm  &&  $(echo $string | cut -c1-3) = ibm ]]
+       then
+          cpp_options="${cpp_options},-D__ibm"
+       elif [[ $(echo $remote_host | cut -c1-3) = nec  &&  $(echo $string | cut -c1-3) = nec ]]
+       then
+          cpp_options="${cpp_options} -D__nec"
+       else
+          if [[ $(echo $remote_host | cut -c1-3) = ibm ]]
+          then
+             cpp_options="${cpp_options},-D__$string"
+          else
+             cpp_options="$cpp_options -D__$string "
+          fi
+       fi
+    done
+
+
+
+       # NETCDF-OPTIONEN ERMITTELN
+    line=""
+    grep  "$remote_host_string" $config_file | grep "%netcdf_inc"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS OPTIONSSTRING ENTFERNEN
+          netcdf_inc=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+       fi
+
+    done < $tmp_mbuild
+
+    line=""
+    grep  "$remote_host_string" $config_file | grep "%netcdf_lib"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS OPTIONSSTRING ENTFERNEN
+          netcdf_lib=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+       fi
+
+    done < $tmp_mbuild
+
+
+
+       # COMPILEROPTIONEN ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%fopts"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN
+          compiler_options=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+          found=true
+
+             # NETCDF-INCLUDEVERZEICHNIS HINZUFUEGEN
+          compiler_options="$compiler_options $netcdf_inc"
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ $found = false ]]
+    then
+       printf "\n  +++ no compiler options found in configuration file"
+       printf "\n      for \"$remote_host_string\" "
+       locat=config_file; exit
+    fi
+
+
+
+       # MPI LIBRARY ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%mpilib"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN
+          mpilib=`echo $line | cut -d" " -s -f2`
+          found=true
+       fi
+
+    done < $tmp_mbuild
+
+    [[ $found = false ]]  &&  mpilib=mpt
+
+
+
+
+       # LADER-OPTIONEN ERMITTELN
+    line=""
+    found=false
+    grep  "$remote_host_string" $config_file | grep "%lopts"  >  $tmp_mbuild
+    while read line1
+    do
+
+       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
+       then
+          line="$line1"
+       fi
+
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+             # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN
+          loader_options=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+          found=true
+
+             # NETCDF-LIBRARY HINZUFUEGEN
+          loader_options="$loader_options $netcdf_lib"
+       fi
+
+    done < $tmp_mbuild
+
+    if [[ $found = false ]]
+    then
+       printf "\n  +++ no loader options found in configuration file"
+       printf "\n      for \"$remote_host_string\" "
+       locat=config_file; exit
+    fi
+
+
+    printf "\n\n#------------------------------------------------------------------------# \n"
+    if [[ $remote_host = $local_host ]]
+    then
+       column1="remote_host:"; column2="$remote_host (= local host!)"
+    else
+       column1="remote_host:"; column2=$remote_host
+    fi
+    printf "| $column1$column2 | \n"
+    printf "|                                                                        | \n"
+    column1="conditions:"; column2="$condition1 $condition2"
+    printf "| $column1$column2 | \n"
+    column1="make depository:"; column2=$remote_md
+    printf "| $column1$column2 | \n"
+    line=$(echo "$remote_md" | cut -c51-)
+    while [[ "$line" != "" ]]
+    do
+       column1=""
+       column2=$line
+       printf "| $column1$column2 | \n"
+       line=$(echo "$line" | cut -c51-)
+    done
+    if [[ $compile_utility_programs = true ]]
+    then
+       column1="utility directory:"; column2=$remote_ud
+       printf "| $column1$column2 | \n"
+    fi
+    column1="username:"; column2=$remote_username
+    printf "| $column1$column2 | \n"
+    column1="addres:"; column2=$remote_addres
+    printf "| $column1$column2 | \n"
+    column1="compiler:"; column2=$compiler_name
+    printf "| $column1$column2 | \n"
+    if [[ $compile_utility_programs = true ]]
+    then
+       column1="serial compiler:"; column2=$compiler_name_ser
+       printf "| $column1$column2 | \n"
+    fi
+    column1="cpp options:"; column2=$cpp_options
+    printf "| $column1$column2 | \n"
+    line=$(echo "$cpp_options" | cut -c51-)
+    while [[ "$line" != "" ]]
+    do
+       column1=""
+       column2=$line
+       printf "| $column1$column2 | \n"
+       line=$(echo "$line" | cut -c51-)
+    done
+    column1="compiler options:"; column2=$compiler_options
+    printf "| $column1$column2 | \n"
+    line=$(echo "$compiler_options" | cut -c51-)
+    while [[ "$line" != "" ]]
+    do
+       column1=""
+       column2=$line
+       printf "| $column1$column2 | \n"
+       line=$(echo "$line" | cut -c51-)
+    done
+    if [[ $( echo $remote_host | cut -c1-5 ) = lcsgi ]]
+    then
+       column1="mpi library:"; column2=$mpilib
+       printf "| $column1$column2 | \n"
+    fi
+    column1="loader options:"; column2=$loader_options
+    printf "| $column1$column2 | \n"
+    line=$(echo "$loader_options" | cut -c51-)
+    while [[ "$line" != "" ]]
+    do
+       column1=""
+       column2=$line
+       printf "| $column1$column2 | \n"
+       line=$(echo "$line" | cut -c51-)
+    done
+    printf "#------------------------------------------------------------------------# \n"
+
+    if [[ $silent = false ]]
+    then
+       answer=dummy
+       printf "\n\n"
+       while [[ "$answer" != y  &&  "$answer" != Y  && "$answer" != c  &&  "$answer" != C  && "$answer" != s  &&  "$answer" != S  &&  "$answer" != a  &&  "$answer" != A ]]
+       do
+          printf " >>> continue (y(es)/c(ontinue)/a(bort)/s(skip)) ?  "
+          read  answer
+       done
+       if [[ $answer = a  ||  $answer = A ]]
+       then
+          locat=user_abort; exit
+       fi
+       if [[ $answer = c  ||  $answer = C ]]
+       then
+          silent=false
+       fi
+       if [[ $answer = s  ||  $answer = S ]]
+       then
+          continue
+       fi
+    fi
+
+
+    if [[ $remote_mode = batch ]]
+    then
+
+          # BATCH-JOB PARAMETER SETZEN
+       case  $remote_host  in
+           (t3eb)           queue=berte; memory=60; cputime=1000; xoption="-X 0";;
+           (t3eh)           queue=comp_t3e; memory=60; cputime=360;;
+           (t3ej2)          queue=normal; memory=60; cputime=1000; xoption="-X 0";;
+           (t3ej5|ground.yonsei.ac.kr)  printf "\n  --- remote host \"$remote_host\" does not allow batch jobs"; continue;;
+       esac
+
+
+          # BATCH-JOB ZUSAMMENSTELLEN
+       printf "\n  *** creating batch-job for remote host"
+       echo " "  >  mbuild_job
+
+          # AUF CRAY-RECHNERN IN JUELICH WIRD KEIN BENUTZER-PROFILE AUSGEFUEHRT
+          # DIES WIRD HIER GETAN, UM PFADE USW. ZU SETZEN
+       if [[ $remote_host = t3ej2 ]]
+       then
+          echo "set +vx"                       >>  mbuild_job
+          echo ". .profile"                    >>  mbuild_job
+          echo "set -x"                        >>  mbuild_job
+       fi
+
+          # AUF CRAY-RECHNERN GELADENE MODULE AUFLISTEN
+       if [[ $host = t3eb  || $host = t3eh  ||  $host = t3ej2 ]]
+       then
+          echo "module list"                   >>  mbuild_job
+       fi
+
+
+          # WECHSEL IN TEMPORAERES VERZEICHNIS
+       echo "cd ${remote_md}"  >>  mbuild_job
+
+
+          # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
+       echo  "scp  ${local_username}@${local_addres}:~/modell/code_3dp/palm_current_version/${mainprog}_sources.tar  ${mainprog}_sources.tar"  >>  mbuild_job
+#       echo  "[[ \$? != 0 ]]  &&  (echo "+++ scp failed"; exit)"  >>  mbuild_job
+
+
+          # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
+       echo  "[[ -f ${mainprog}_current_version.tar ]]  &&  tar -xvf  ${mainprog}_current_version.tar"  >>  mbuild_job
+
+
+          # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
+       echo  "tar -xvf  ${mainprog}_sources.tar"              >>  mbuild_job
+
+
+          # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
+       echo  "make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "  >>  mbuild_job
+       echo  "chmod  u+w  *"                                  >>  mbuild_job
+
+          # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
+       echo  "tar -cvf  ${mainprog}_current_version.tar  *.f90  *.o"  >>  mbuild_job
+
+
+          # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
+       echo  "make  clean"                                    >>  mbuild_job
+       echo  "rm ${mainprog}_sources.tar"                     >>  mbuild_job
+       echo  "rm *.f90 Makefile"                              >>  mbuild_job
+
+
+
+          # JOB MITTELS SUBJOB STARTEN
+       printf "\n  *** sending batch job to remote host"
+#       subjob  $xoption  -h $remote_host  -q $queue  -m $memory  -t $cputime  -v  mbuild_job
+
+
+          # JOBFILE LOESCHEN
+#       rm  aljob
+
+    else
+
+       if [[ $remote_host != $local_host ]]
+       then
+
+          if [[ $compile_utility_programs = false ]]
+          then
+
+                # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
+                # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
+             echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
+             fi
+             if [[ $local_host = decalpha ]]
+             then
+                   # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
+                   # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
+                   # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
+                remote_md=`echo $remote_md | sed 's/\$HOME\///'`
+                /bin/scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
+             else
+                scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
+             fi
+
+
+
+                # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
+             echo "  *** untar previous update on remote host, if existing"
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
+             echo "  *** untar actual sources on remote host"
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
+                # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
+                # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
+                # Z.B. DIE PFADE ZUM COMPILER)
+             echo "  *** execute \"make\" on remote host"
+
+             if [[ $remote_host = nech ]]
+             then
+                make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             else
+                make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             fi
+
+             if [[ $remote_host = t3eh ]]
+             then
+       
+                print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+
+             elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
+             then
+
+                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
+
+             elif [[ $remote_host = ibmh ]]
+             then
+
+                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
+
+             elif [[ $remote_host = lcsgib  ||  $remote_host = lcsgih ]]
+             then
+
+                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
+#                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
+#                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
+
+             elif [[ $remote_host = lctit ]]
+             then
+
+                echo  " "  >  ${remote_host}_last_make_protokoll
+                while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
+                do
+                   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
+                done
+
+             elif [[ $remote_host = lcxt4 ]]
+             then
+
+                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
+
+             else
+
+                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
+
+             fi
+
+             if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
+             then
+                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
+                if [[ $silent = false ]]
+                then
+                   answer=dummy
+                   printf "\n"
+                   while [[ "$answer" != c  &&  "$answer" != k ]]
+                   do
+                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
+                      read  answer
+                      if [[ "$answer" = l ]]
+                      then
+                         more ${remote_host}_last_make_protokoll
+                      fi
+                   done
+                   if [[ $answer = k ]]
+                   then
+                      locat=user_abort; exit
+                   fi
+                fi
+             fi
+
+
+
+                # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
+             printf "\n  *** tar update on remote host ..."
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
+#             printf "\n  *** \"make clean\" on remote host ..."
+#             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
+#             printf "\n"
+
+
+
+
+             # GLEICHE AKTIONEN FUER DIE UTILITY-PROGRAMME DURCHFUEHREN
+             # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
+             # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
+          elif [[ $compile_utility_programs = true ]]
+          then
+
+             printf "\n\n"
+             echo "  *** copying scripts and utility programs to \"${remote_addres}:${remote_ud}/\" "
+             cd  ${local_source_path}/../SCRIPTS
+
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p ${remote_ud}/../SCRIPTS)"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p  ${remote_ud}/../SCRIPTS)"  |  ssh ${remote_username}@${remote_addres}  2>&1
+             fi
+
+                # KOPIEREN DER SCRIPTE
+             if [[ $local_host = decalpha ]]
+             then
+                   # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
+                   # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
+                   # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
+                remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
+                /bin/scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
+             else
+                scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
+             fi
+
+             cd  -  > /dev/null
+             cd  ${local_source_path}/../UTIL
+
+
+                # KOPIEREN DER UTILITY-PROGRAMME
+             if [[ $local_host = decalpha ]]
+             then
+                   # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
+                   # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
+                   # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
+                remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
+                /bin/scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
+             else
+                scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
+             fi
+
+
+
+                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
+                # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
+                # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
+                # Z.B. DIE PFADE ZUM COMPILER)
+             echo "  *** execute \"make\" on remote host"
+
+             if [[ $remote_host = nech ]]
+             then
+                make_call_string="sxmake  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             else
+                make_call_string="make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             fi
+
+             if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
+             then
+
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"
+
+             elif [[ $remote_host = ibmh ]]
+             then
+
+                print "export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres}
+
+             elif [[ $remote_host = lctit ]]
+             then
+
+                echo  " "  >  ${remote_host}_last_make_protokoll
+                while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
+                do
+                   print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+                done
+
+             else
+
+                print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+
+             fi
+
+          fi    # ENDE UEBERSETZUNG DER UTILITY-PROGRAMME
+
+          rm -rf  ${remote_host}_last_make_protokoll
+
+       else
+
+          if [[ $compile_utility_programs = false ]]
+          then
+
+                # DEPOSITORY VERZEICHNIS ERZEUGEN, FALLS NOCH NICHT VORHANDEN
+             eval remote_md=$remote_md
+             if [[ ! -d $remote_md ]]
+             then
+                if  mkdir $remote_md
+                then
+                   printf "\n\n  *** directory for make depository:"
+                   printf "\n           $remote_md"
+                   printf "\n      was created\n"
+                else
+                   printf "\n  +++ directory for make depository:"
+                   printf "\n           $remote_md"
+                   printf "\n      cannot be created"
+                   locat=local_depository_path; exit
+                fi
+             fi
+
+                # QUELLTEXT-DATEIEN AUS REPOSITORY INS DEPOSITORY KOPIEREN
+             echo " "
+             echo "  *** updating sources in $remote_md"
+             cd  $remote_md
+             cp  $local_source_path/${mainprog}_sources.tar  .
+             tar xf  ${mainprog}_sources.tar
+
+                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
+             echo " "
+             echo "  *** execute \"make\" on local host"
+
+             make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
+
+             if [[ $? != 0 ]]
+             then
+                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
+                if [[ $silent = false ]]
+                then
+                   answer=dummy
+                   printf "\n"
+                   while [[ "$answer" != c  &&  "$answer" != k ]]
+                   do
+                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
+                      read  answer
+                      if [[ "$answer" = l ]]
+                      then
+                         more ${remote_host}_last_make_protokoll
+                      fi
+                   done
+                   if [[ $answer = k ]]
+                   then
+                      locat=user_abort; exit
+                   fi
+                fi
+             fi
+
+
+                # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
+             printf "\n  *** tar update on local host ..."
+             tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
+
+
+             # COMPILE THE UTILITY PROGRAMS
+          elif [[ $compile_utility_programs = true ]]
+          then
+             printf "\n\n"
+             echo "  *** compiling the utility programs ..."
+             cd ${local_source_path}/../UTIL
+             make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"
+             cd  -  > /dev/null
+          fi
+
+       fi
+
+    fi
+ done
+
+
+ if [[ $host_found = false ]]
+ then
+    if [[ $host = all ]]
+    then
+       printf "\n  +++ no hosts found in configuration file"
+    else
+       printf "\n  +++ host \"$host\" not found in configuration file"
+    fi
+    locat=config_file; exit
+ fi
+
+
+
+    # ABSCHLIESSENDE ARBEITEN
+ rm -f  hosts_found_in_config_file
+
Index: palm/tags/release-3.7/SCRIPTS/mrun
===================================================================
--- palm/tags/release-3.7/SCRIPTS/mrun	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/mrun	(revision 393)
@@ -0,0 +1,4380 @@
+#!/bin/ksh
+# mrun - Plot-Shellskript
+# $Id$
+
+     # Prozedur zum Starten von Modellaeufen
+
+     # letzte Aenderung:
+     # 03/03/94 - Siggi - Entwicklungsbeginn
+     # 21/03/94 - Siggi - Entwicklungsabschluss (Version 1.0)
+     # 09/12/94 - Siggi - allexport unterbunden; statt dessen werden jetzt ein-
+     #                    zelne Variable exportiert. Dies ist noetig, weil an-
+     #                    sonsten irgendein Speicher ueberlaeuft und von mrun
+     #                    aufgerufene Programme (z.B. stageout) mit Fehlern
+     #                    abbrechen (too many arguments)
+     # 20/06/95 - Siggi - noclobber muss explizit abgeschaltet, da jetzt
+     #                    defaultmaessig im RRZN-Profile eingeschaltet
+     # 10/06/97 - Siggi - Zusaetzliche Option -C bei cpp, damit // nicht
+     #                    wegfallen
+     # 25/04/00 - Siggi - Version 1.5
+     #                    remote_addres und remote_user in return_addres bzw.
+     #                    return_username umbenannt, return_username wird dem
+     #                    mrun-Aufruf im Job ueber Option -U mitgegeben.
+     #                    Neue Variable remote_username, die beim interaktiven
+     #                    mrun-Aufruf zwingend ueber die neue Option -u oder
+     #                    in der Konfigurationsdatei angegeben werden muss.
+     # 08/02/01 - Siggi - Alle mrun-Meldungen ins englische uebersetzt,
+     #                    Version 1.7
+     # 05/05/02 - Siggi - Uebersetzungen mittels make-Mechanismus moeglich
+     # 21/11/02 - Siggi - ENV-Variable XLFRTEOPTS wird vor Ausfuehrung auf
+     #                    IBM gesetzt, um Record-Laenge der NAMELIST-Dateien,
+     #                    zu bestimmen; Praeprozessoroptionen haben nun alle
+     #                    die Form -Dtext=text, weil auf IBM sonst text durch
+     #                    die leere Zeichenkette ersetzt wird
+     # 01/08/03 - Siggi  - Test of implementing dvrp+1PE on ibm
+     # 07/01/04 - Siggi  - additional preprocessor directive for ibm included
+     #                     (-D$OMP=OMP) in order to avoid problems with
+     #                     OMP_NUM_THREADS
+     # 04/01/05 - Siggi  - archiving on hanni and berni is done in separate
+     #                     tar files, one for each node used
+     # 07/01/04 - Siggi  - old code for t3e, vpp and hpcs eliminated
+     # 09/01/05 - Siggi  - workaround for getting the IP address on gfdl3
+     # 17/01/05 - Siggi  - job for data transfer to local machine now within
+     #                     job class c1 (HLRN)
+     # 27/01/05 - Siggi  - IP address workaround for gfdl3 removed
+     # 28/01/05 - Siggi  - tar-filenames on $PERM (HLRN) now include the
+     #                     base filename and cycle number
+     # 16/02/05 - Gerald - hababai validated
+     # 14/03/05 - Siggi  - abort on NEC after first runtime error (F_ERRCNT)
+     # 29/03/05 - Marcus - berni*-en0 validated
+     # 21/04/05 - Siggi  - transfer-job-protocol for avs-data is no more stored
+     # 24/04/05 - Siggi  - netcdf support on lcmuk
+     # 25/04/05 - Siggi  - netcdf support on gfld3 (decalpha)
+     # 11/05/05 - Siggi  - files with non-numeric extensions (.xxx after cycle
+     #                     number) can now be used within interactive runs
+     # 12/05/05 - Siggi  - netcdf support on ibm
+     # 13/05/05 - Siggi  - error in tar-filenames on $PERM (HLRN) removed
+     # 18/05/05 - Siggi  - netcdf support on nec
+     # 24/05/05 - Siggi  - netcdf support on ibms
+     # 14/06/05 - Siggi  - sleep interval after submit of restart job increased
+     #                     to 30 seconds
+     # 28/06/05 - Siggi  - bora adjusted to new intel compiler (LD_LIBRARY_
+     #                     PATH is temporarily set)
+     # 07/09/05 - Siggi  - setting of MP_EAGER_LIMIT switched off because it
+     #                     caused warnings in the job protocol
+     # 20/10/05 - Siggi  - update of netcdf-version on decalpha (gfdl3)
+     # 25/10/05 - Siggi  - error in listing files for getting the cycle number
+     #                     removed
+     # 26/10/05 - Siggi  - new paths for dvrp-library, transfer of catalogs
+     #                     realized by file attribute trpe
+     # 28/10/05 - Siggi  - if existing, the file extension is output in case
+     #                     of missing input file - no job abort in case of
+     #                     missing input files with file extensions
+     #                     (preliminary solution)
+     # 31/10/05 - Siggi  - data transfer from nech now within seperate job
+     # 04/11/05 - Siggi  - netcdf 3.6.0-p1 on ibmh/ibmb
+     # 07/12/05 - Siggi  - gallego and elephanta admitted
+     # 30/12/05 - Siggi  - gfdl5 (ibmy) admitted
+     # 10/01/06 - Siggi  - cpp directive for NetCDF 64bit support
+     # 20/01/06 - Siggi  - cpp directive for ibmy
+     # 09/02/06 - Siggi  - ibmy admitted for batch mode
+     # 13/04/06 - Siggi  - ostria admitted
+     # 18/04/06 - Siggi  - usage of OpenMP implemented (additional option -O)
+     # 10/05/06 - Siggi  - environment variable XLSMPOPTS set on IBM for
+     #                     optimization of OpenMP runs (option stacksize is
+     #                     necessary for large gridpoint numbers because
+     #                     otherwise a segmentation fault occurs)
+     # 23/05/05 - Siggi  - lctit (SUN Fire X4600) admitted
+     # 21/08/06 - Siggi  - standard mrun path on scirocco is as on bora
+     # 23/08/06 - Siggi  - netcdf support for scirocco (notebook)
+     # 20/09/06 - Marcus - add DVRP library on nech
+     # 24/10/06 - Siggi  - Environment variables for PALM steering are written
+     #                     on local NAMELIST file ENVPAR
+     # 24/11/06 - Siggi  - levanto admitted, maestro switched to ifc 9.1
+     # 28/11/06 - Siggi  - call to interpret_config.x_levanto because of SuSe 10
+     # 06/02/07 - Siggi  - add DVRP library on lcmuk
+     # 07/02/07 - Siggi  - revision of source code handling, source code is
+     #                     now expected in directory given by source_path and
+     #                     not in the current working directory, source code
+     #                     files provided in add_source_path are allways
+     #                     compiled, source code to be compiled is allways
+     #                     sampled in SOURCES_FOR_RUN_$fname which is a
+     #                     subdirectory of the current working directory,
+     #                     -s TEST  changed to  -s WRITE_PERMIT  or -s WP,
+     #                     adapted for RIAM (neck)
+     #                     bugfix for cycle number of output file (extout)
+     #                     all hpmuk-related code removed
+     # 14/02/07 - Siggi  - dvrp support for neck added
+     # 28/02/07 - Siggi  - empty lines in configuration file are accepted
+     #                     mrun_path replaced by PALM_BIN,
+     #                     all machines are calling interpret_config.x
+     # 14/03/07 - Siggi  - fimm admitted, revision number added to terminal
+     #                     output
+     # 16/03/07 - Siggi  - adjustments for lctit
+     # 29/03/07 - Siggi  - global revision transfered to batch job by new
+     #                     option -G
+     # 30/03/07 - Siggi  - compilation "by hand" removed, cpp-directives/options
+     #                     + netcdf/dvrp-options are read from configuration
+     #                     file, host identifier (local_host) is read from
+     #                     config file, code related to ftp filetransfer
+     #                     removed (incl. option -f)
+     # 19/06/07 - Siggi  - time limit for cdata jobs increased
+     # 25/07/07 - Siggi  - two sets of executables can be started on lcmuk,
+     #                     if new option -Y (coupling) is given,
+     #                     output of executables to aout_output removed,
+     #                     messages are immediately written to stdout instead
+     # 03/08/07 - Marcus - add XOPT="-X $numprocs" for lcfimm
+     # 09/08/07 - Marcus - workaround on lcfimm to propagate environment 
+     #                     variables out to the nodes in coupled mode -disabled-
+     # 13/08/07 - Marcus - start local restart jobs per ssh on lcfimm
+     # 28/08/07 - Marcus - completely remove workaround on lcfimm to propagate
+     #                     environment variables out to the nodes in coupled mode
+     # 15/10/07 - Siggi  - Preliminary adjustments for lctit, based on Jin's
+     #                     suggestions
+     # 19/10/07 - Marcus - further adjustments for lctit: add new optional 
+     #                     argument -g group_number, admit all sla* node_usage 
+     #                     queues
+     # 30/10/07 - Marcus - further adjustments for queues on lctit
+     # 14/02/08 - Bjoern - link of restart files with long file name possible
+     # 28/02/08 - Marcus - If environment variable link_local_output is set to 
+     #                     true, mrun tries "ln -f" on local output and resorts 
+     #                     to "cp" or "cp -r" on error
+     # 15/04/08 - Siggi  - argument -c introduced to most of the subjob calls,
+     #                     which allows the user to choose his own job catalog
+     #                     by setting job_catalog in the configuration file
+     #                     (default is ~/job_queue),
+     #                     workaround for mpiexec with -env option,
+     #                     adjustments for lcxt4 (Bergen Center for Computational
+     #                     Science)
+     # 22/05/08 - Marcus - If environment variable link_local_input is set to 
+     #                     true, mrun tries "ln -f" on local input and resorts 
+     #                     to "cp" or "cp -r" on error
+     # 27/05/08 - Siggi  - PATH is set to PALM_BIN everywhere (missing so far)
+     # 14/07/08 - Siggi  - adjustments for lcsgih
+     # 08/08/08 - Marcus - typo removed in lcxt4 branch
+     # 17/09/08 - Siggi  - restart mechanism adjusted for lcsgi
+     # 02/10/08 - BjornM - argument "-Y" modified, adjustments for coupled runs
+     # 21/10/08 - Siggi  - bugfix for the case that -K has more than one
+     #                     argument
+     # 08/11/08 - Siggi  - bugfix for depository path settings in configuration
+     #                     file
+     # 11/11/08 - Siggi  - rules for using user code files changed: user
+     #                     code splitted into one file per subroutine,
+     #                     user can provide his/her own makefile, only
+     #                     default source-code filenames are allowed
+     # 14/11/08 - Siggi  - cond1 and cond2 are part of the depository name
+     # 08/01/09 - Siggi  - mpi module on sgi machines to be used can be set
+     #                     with environment variable mpilib
+     # 13/01/09 - Siggi  - totalview on hice/bice can be used in debug mode
+     #                     using environment variable totalview
+     # 25/02/09 - Siggi  - cputime-option (-t) is allowed to be omitted for
+     #                     interactive runs
+     # 05/03/09 - Siggi  - adjustments for new NEC-SX9 at RIAM (necriam)
+     # 16/03/09 - Siggi  - dvrp_lib, dvrp_inc replaced by dvr_lib, dvr_inc,
+     #                     dvr streaming server is automatically started using
+     #                     new variable dvr_server and a configuration file
+     #                     .dvrserver.config,
+     #                     processing of dvr output files using new script
+     #                     process_dvr_output implemented, in order to make
+     #                     dvr application more user friendly
+     # 20/03/09 - Marcus - update of n1ge command for lctit
+     # 16/04/09 - Siggi  - new option -y for precursor (uncoupled) ocean runs
+     #                     to be followed by a coupled atmosphere-ocean run
+     # 21/04/09 - Siggi  - adjustments for new IBM at DKRZ, which is now ibmh
+     # 24/06/09 - BjornM - adjustments for coupled/precursor runs on ibmy
+     # 08/07/09 - Siggi  - default value for email_notification is none,
+     #                     option -e added to subjob
+     # 19/08/09 - Marcus - MPI debug option
+     # 21/08/09 - Marcus - totalview on hice/bice also available for mvapich2
+     # 25/08/09 - BjornM - adpated for lck
+     # 26/08/09 - Siggi  - additional environment variables for mpt on ice2
+     # 26/08/09 - Marcus - adjustment for ice2 on lcsgib
+
+ 
+    # VARIABLENVEREINBARUNGEN + DEFAULTWERTE
+
+ set +o allexport    # SICHERHEITSHALBER UNTERBINDEN, DA SONST EVTL. STAGEOUT
+                     # NICHT LAUEFT (TOO MANY ARGUMENTS - PROBLEM)
+ set +o noclobber    # EXISTIERENDE DATEIEN DUERFEN UEBERSCHRIEBEN WERDEN
+
+ AddFilenames=""
+ additional_conditions=""
+ add_source_path=""
+ afname=""
+ archive_save=true
+ archive_system=none
+ compiler_name=""
+ cond1=""
+ cond2="" 
+ config_file=.mrun.config
+ coupled_dist=""
+ coupled_mode="mpi1"
+ cpp_opts=""
+ cpp_options=""
+ cpumax=0
+ cpurest=0
+ delete_temporary_catalog=true
+ do_batch=false
+ do_compile=true
+ do_remote=false
+ do_stagein=true
+ do_stageout=true
+ do_trace=false
+ email_notification="none"
+ exclude=""
+ executable=""
+ execution_error=false
+ fimm=false
+ fname=test
+ fromhost=""
+ global_revision=""
+ group_number=none
+ host=""
+ host_file=""
+ hp=""
+ ignore_archive_error=false
+ input_list=""
+ interpreted_config_file=""
+ job_catalog="~/job_queue"
+ job_on_file=""
+ keep_data_from_previous_run=false
+ link_local_input=false
+ link_local_output=false
+ localhost_realname=$(hostname)
+ local_compile=false
+ local_dvrserver_running=.FALSE.
+ locat=normal
+ mainprog=""
+ makefile=""
+ mc=$0
+ while [[ $(echo $mc | grep -c "/") != 0 ]]
+ do
+    mc=`echo $mc | cut -f2- -d"/"`
+ done
+ module_files=""
+ mrun_script_name=$mc
+ netcdf_inc=""
+ netcdf_lib=""
+ netcdf_support=false
+ node_usage=default
+ numprocs=""
+ numprocs_atmos=0
+ numprocs_ocean=0
+ OOPT=""
+ openmp=false
+ output_list=""
+ package_list=""
+ punkte="..........................................................."
+ queue=none
+ read_from_config=""
+ restart_run=false
+ return_addres=$(nslookup `hostname` 2>&1 | grep "Address:" | tail -1 | awk '{print $2}')
+ if [[ $return_addres = 130.75.105.158 ]]
+ then
+    return_addres=172.20.25.41
+    echo "+++ WARNING: return_addres changed to $return_addres !!!!!"
+ fi
+ return_password=""
+ return_username=$LOGNAME
+ remotecall=false
+ remote_username=""
+ run_coupled_model=false
+ run_mode=""
+ scirocco=false
+ store_on_archive_system=true
+ striche="  ----------------------------------------------------------------------------"
+ silent=false
+ source_list=""
+ source_path=SOURCE
+ tasks_per_node=""
+ threads_per_task=1
+ tmpcreate=false
+ tmp_data_catalog=""
+ transfer_problems=false
+ usern=$LOGNAME
+ use_openmp=false
+ working_directory=`pwd`
+ TOPT=""
+ XOPT=""
+ zeit=$( date | cut -c 12-19 )
+
+ typeset -i  iec=0 iic=0 iin=0 ioc=0 iout=0 memory=0 stagein_anz=0 stageout_anz=0
+ typeset -i  cputime i ii iia iii iio icycle inode ival jobges jobsek maxcycle minuten nodes pes sekunden tp1
+
+ typeset  -R30 calltime
+ typeset  -L20 spalte1
+ typeset  -L40 spalte2
+ typeset  -L60 spalte3
+ typeset  -L35 string1=`date`
+ typeset  -L12 string2=$usern
+ typeset  -L12 string3=$localhost_realname
+ typeset  -L12 string4
+ typeset  -L12 string5
+ typeset  -L30 version="MRUN  2.0 Rev$Rev$"
+
+
+
+    # EINZELNE VARIABLE FUER HAUPTPROGRAMM EXPORTIEREN
+ export  cpurest fname host localhost return_addres return_username remotecall tasks_per_node
+
+    # FOLGENDE VARIABLEN MUESSEN FUER DIE INTERPRETATION DER KONFIGURATIONSDATEI
+    # EXPORTIERT WERDEN
+ export  afname config_file cpp_opts cpumax do_batch do_trace fname fromhost
+ export  group_number input_list memory numprocs output_list queue run_mode
+
+
+ 
+    # FEHLERBEHANDLUNG
+    # BEI EXIT:
+ trap 'rm -rf  $working_directory/tmp_mrun
+       if [[ $locat != localhost ]]
+       then
+#          if [[ ! -f ${mrun_path}/statistik/mrun_statistik ]]
+#          then
+#             cat  >  ${mrun_path}/statistik/mrun_statistik  <<  %STATEND%
+#MRUN-calls on $localhost
+#
+#date and time                      user        localhost   remotehost  termination mrun-command
+#--------------------------------------------------------------------------------------------------------------------
+#%STATEND%
+#             chmod  666  ${mrun_path}/statistik/mrun_statistik
+#          fi
+#
+#             # EINTRAG IN DIE STATISTIK-DATEI
+#          string4=$host
+#          string5=$locat
+#          if [[ "$job_on_file" = ""  &&  $locat != control_c  &&  $locat != user_abort ]]
+#          then
+#             if [[ $do_batch = true ]]
+#             then
+#                printf "$string1$string2$string3$string4$string5$mrun_com \n"  >>  ${mrun_path}/statistik/mrun_statistik
+#             else
+#                printf "$string1$string2$string3$string4$string5$mc \n"  >>  ${mrun_path}/statistik/mrun_statistik
+#             fi
+#          fi
+          echo " " > /dev/null
+       fi
+
+       if [[ $locat != normal  &&  $locat != control_c  &&  $locat != local_compile ]]
+       then
+
+              # EVENTUELLE ERROR-KOMMANDOS ABARBEITEN
+          (( i = 0 ))
+          while (( i < iec ))
+          do
+             (( i = i + 1 ))
+             printf "\n  *** Execution of ERROR-command:\n"
+             printf "  >>> ${err_command[$i]}\n"
+             eval  ${err_command[$i]}
+          done
+          if [[ -n $interpreted_config_file ]]  then
+             rm -rf  $interpreted_config_file
+          fi
+          if [[ -n .mrun_environment ]]  then
+             rm -rf  .mrun_environment
+          fi
+          if [[ $tmpcreate = true ]]
+          then
+             printf "\n  *** Contents of \"$TEMPDIR\":\n"
+             ls -al; cd
+             [[ $delete_temporary_catalog = true ]]  &&  rm -rf $TEMPDIR
+          fi
+          if [[ "$dvrserver_id" != "" ]]
+          then
+             echo "+++ killing dvrserver_id=$dvrserver_id"
+             kill $dvrserver_id
+          fi
+          if [[ -f ~/job_queue/JOBINFO.$QSUB_REQID ]]
+          then
+             rm -rf  ~/job_queue/JOBINFO.$QSUB_REQID
+          fi
+          printf "\n\n+++ MRUN killed \n\n"
+       elif [[ $locat != control_c ]]
+       then
+          printf "\n\n --> all actions finished\n\n"
+          printf "     Bye, bye $usern !!\n\n"
+       fi' exit
+
+
+    # BEI TERMINAL-BREAK:
+ trap 'rm -rf  $working_directory/tmp_mrun
+       [[ $tmpcreate = true ]]  &&  (cd; rm -rf $TEMPDIR)
+       if [[ -f ~/job_queue/JOBINFO.$QSUB_REQID ]]
+       then
+          rm -rf  ~/job_queue/JOBINFO.$QSUB_REQID
+       fi
+       if [[ "$dvrserver_id" != "" ]]
+       then
+          echo "+++ killing dvrserver_id=$dvrserver_id"
+          kill $dvrserver_id
+       fi
+       printf "\n+++ MRUN killed by \"^C\" \n\n"
+       locat=control_c
+       exit
+      ' 2
+
+
+    # CHECK IF THE PATH FOR THE PALM BINARIES (SCRIPTS+UTILITY-PROGRAMS) HAS
+    # BEEN SET
+ if [[ "$PALM_BIN" = "" ]]
+ then
+    printf "\n  +++ environment variable PALM_BIN has not been set"
+    printf "\n      please set it to the directory where the PALM scripts are located"
+    locat=palm_bin; exit
+ fi
+ export PATH=$PALM_BIN:$PATH
+
+
+
+    # SHELLSCRIPT-OPTIONEN EINLESEN UND KOMMANDO NEU ZUSAMMENSETZEN, FALLS ES
+    # FUER FOLGEJOBS BENOETIGT WIRD
+ while  getopts  :a:AbBc:Cd:D:Fg:G:h:H:i:IkK:m:M:n:o:Op:P:q:r:R:s:St:T:u:U:vxX:yY: option
+ do
+   case  $option  in
+       (a)   afname=$OPTARG;;
+       (A)   store_on_archive_system=false; mc="$mc -A";;
+       (b)   do_batch=true; mc="$mc -b";;
+       (B)   delete_temporary_catalog=false; mc="$mc -B";;
+       (c)   config_file=$OPTARG; mc="$mc -c$OPTARG";;
+       (C)   restart_run=true; mc="$mc -C";;
+       (d)   fname=$OPTARG; mc="$mc -d$OPTARG";;
+       (D)   cpp_opts="$cpp_opts $OPTARG"; mc="$mc -D'$OPTARG'";;
+       (F)   job_on_file="-D"; mc="$mc -F";;
+       (g)   group_number=$OPTARG; mc="$mc -g$OPTARG";;
+       (G)   global_revision=$OPTARG; mc="$mc -G'$OPTARG'";;
+       (h)   host=$OPTARG; mc="$mc -h$OPTARG";;
+       (H)   fromhost=$OPTARG; mc="$mc -H$OPTARG";;
+       (i)   input_list=$OPTARG; mc="$mc -i'$OPTARG'";;
+       (I)   ignore_archive_error=true; mc="$mc -I";;
+       (k)   keep_data_from_previous_run=true; mc="$mc -k";;
+       (K)   additional_conditions="$OPTARG"; mc="$mc -K'$OPTARG'";;
+       (m)   memory=$OPTARG; mc="$mc -m$OPTARG";;
+       (M)   makefile=$OPTARG; mc="$mc -M$OPTARG";;
+       (n)   node_usage=$OPTARG; mc="$mc -n$OPTARG";; 
+       (o)   output_list=$OPTARG; mc="$mc -o'$OPTARG'";;
+       (O)   use_openmp=true; mc="$mc -O";;
+       (p)   package_list=$OPTARG; mc="$mc -p'$OPTARG'";;
+       (P)   return_password=$OPTARG; mc="$mc -P$OPTARG";;
+       (q)   queue=$OPTARG; mc="$mc -q$OPTARG";;
+       (r)   run_mode=$OPTARG; mc="$mc -r'$OPTARG'";;
+       (R)   remotecall=true;return_addres=$OPTARG; mc="$mc -R$OPTARG";;
+       (s)   source_list=$OPTARG; mc="$mc -s'$OPTARG'";;
+       (S)   read_from_config=false; mc="$mc -S";;
+       (t)   cpumax=$OPTARG; mc="$mc -t$OPTARG";;
+       (T)   tasks_per_node=$OPTARG; mc="$mc -T$OPTARG";;
+       (u)   remote_username=$OPTARG; mc="$mc -u$OPTARG";;
+       (U)   return_username=$OPTARG; mc="$mc -U$OPTARG";;
+       (v)   silent=true; mc="$mc -v";;
+       (x)   do_trace=true;set -x; mc="$mc -x";;
+       (X)   numprocs=$OPTARG; mc="$mc -X$OPTARG";;
+       (y)   ocean_file_appendix=true; mc="$mc -y";;
+       (Y)   run_coupled_model=true; coupled_dist=$OPTARG; mc="$mc -Y'$OPTARG'";;
+       (\?)  printf "\n  +++ unknown option $OPTARG \n"
+             printf "\n  --> type \"$0 ?\" for available options \n"
+             locat=parameter;exit;;
+   esac
+ done
+
+
+    # EVTL. POSITIONSPARAMETER EINLESEN
+    # ZUR ZEIT GIBT ES NUR DEN PARAMETER ? (=KURZINFO)
+ shift OPTIND-1
+
+
+    # KURZE AUFRUFBESCHREIBUNG WIRD HIER AUSGEGEBEN
+ if [[ "$1" = "?" ]]
+ then
+   (printf "\n  *** mrun can be called as follows:\n"
+    printf "\n      $mrun_script_name  -b -c.. -d.. -D.. -f.. -F -h.. -i.. -I -K.. -m.. -o.. -p.. -r.. -R -s.. -t.. -T.. -v -x -X.. -y -Y.. <modus>\n"
+    printf "\n      Description of available options:\n"
+    printf "\n      Option  Description                              Default-Value"
+    printf "\n        -a    base name of input files                 equiv. -d"
+    printf "\n        -A    no archiving when using file-attribute fl"
+    printf "\n        -b    batch-job on local machine               ---"
+    printf "\n        -B    do not delete temporary directory at end ---"
+    printf "\n        -c    configuration file                       .mrun.config"
+    printf "\n        -d    base name of files attached to program   test"
+    printf "\n        -D    preprocessor(cpp)-directives             \"\" "
+    printf "\n        -F    create remote job file only              ---"
+    printf "\n        -h    execution host                           $localhost_realname"
+    printf "\n        -i    INPUT control list                       \"\" "
+    printf "\n        -I    archiving errors of previous batch-jobs"
+    printf "\n              will be ignored"
+    printf "\n        -k    keep data from previous run"
+    printf "\n        -K    additional conditions for controling"
+    printf "\n              usage of conditional code and"
+    printf "\n              env-variables in configuration file      \"\" "
+    printf "\n        -m    memory demand in MB (batch-jobs)         0 MB"
+    printf "\n        -M    Makefile name                            Makefile"
+    printf "\n        -n    node usage (shared/not_shared)           depending on -h"
+    printf "\n        -o    OUTPUT control list                      \"\" "
+    printf "\n        -O    use OpenMP                               ---"
+    printf "\n        -p    software package list                    \"\" "
+    printf "\n        -q    queue                                    \"$queue\" "
+    printf "\n        -r    run control list (combines -i -o)        \"\" "
+    printf "\n        -s    filenames of routines to be compiled     \"\" "
+    printf "\n              must end with .f, .f90, .F, or .c !"
+    printf "\n              use \"..\" for more than one file and wildcards"
+    printf "\n              -s TEST compiles all files with w-permit"
+    printf "\n        -S    config file interpreted by shellscript   ---"
+    printf "\n        -t    allowed cpu-time in seconds (batch)      0"
+    printf "\n        -T    tasks per node                           depending on -h"
+    printf "\n        -u    username on remote machine               \"\" "
+    printf "\n        -v    no prompt for confirmation               ---"
+    printf "\n        -x    tracing of mrun for debug purposes       ---"
+    printf "\n        -X    # of processors (on parallel machines)   1"
+    printf "\n        -y    add appendix \"_O\" to all local output"
+    printf "\n              files (ocean precursor runs followed by"
+    printf "\n              coupled atmosphere-ocean runs)           ---"
+    printf "\n        -Y    run coupled model, \"#1 #2\" with" 
+    printf "\n              #1 atmosphere and #2 ocean processors    \"#/2 #/2\" depending on -X"
+    printf "\n "
+    printf "\n      Possible values of positional parameter <modus>:"
+    printf "\n        \"?\"       -  this outline \n\n") | more
+    exit
+ elif [[ "$1" != "" ]]
+ then
+    printf "\n  +++ positional parameter $1 unknown \n"
+    locat=parameter; exit
+ fi
+
+
+
+    # KURZE STARTMELDUNG
+ printf "\n*** $version "
+ printf "\n    will be executed.     Please wait ..."
+
+
+
+    # PRUEFEN, OB KONFIGURATIONS-DATEI VORHANDEN
+ if [[ ! -f $config_file ]]
+ then
+    printf "\n\n  +++ configuration file: "
+    printf "\n           $config_file"
+    printf "\n      does not exist"
+    locat=connect; exit  
+ fi
+
+
+    # HOST-IDENTIFIER (local_host) AUS KONFIGURATIONSDATEI BESTIMMEN
+ line=""
+ grep  "%host_identifier"  $config_file  >  tmp_mrun
+ while read line
+ do
+    if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+    then
+       HOSTNAME=`echo $line | cut -d" " -s -f2`
+       host_identifier=`echo $line | cut -d" " -s -f3`
+       if [[ $localhost_realname = $HOSTNAME ]]
+       then
+          localhost=$host_identifier
+          break
+       fi
+    fi
+ done < tmp_mrun
+
+ if [[ "$localhost" = "" ]]
+ then
+    printf "\n\n  +++ no host identifier found in configuration file \"$config_file\""
+    printf "\n      for local host \"$localhost_realname\"."
+    printf "\n      Please add line"
+    printf "\n      \"\%host_identifier $localhost_realname <identifier>\""
+    printf "\n      to the configuration file."
+    locat=localhost; exit
+ fi
+
+
+    # HOSTSPEZIFISCHE VARIABLEN SETZEN
+ case  $localhost_realname  in
+     (breg*-en0|berni*-en0)  archive_system=tivoli;;
+     (cs*)                   archive_system=ut;;
+     (fimm.bccs.uib.no)      fimm=true;;
+     (gate|n-sx)             PATH=$PALM_BIN:$PATH:/usr/bin/nqsII;;
+     (hreg*-en0|hanni*-en0)  archive_system=tivoli;;
+     (scirocco)              scirocco=true;;
+ esac
+
+
+ 
+    # BASISNAME DER INPUT-DATEIEN GLEICH ALLGEMEINEM BASISNAMEN SETZEN,
+    # WENN NICHT VOM BENUTZER ANDERS BESTIMMT
+ [[ "$afname" = "" ]]  &&  afname=$fname
+
+
+    # EVTL. RUN-MODUS DEN I/O-LISTEN HINZUFUEGEN
+ if [[ "$run_mode" != "" ]]
+ then
+    input_list="$input_list $run_mode"
+    output_list="$output_list $run_mode"
+ fi
+
+
+    # RECHNERNAMEN ABSPEICHERN, VON DEM AUS JOB GESTARTET WIRD,
+    # ALLERDINGS NUR DANN, WENN NICHT PER OPTION -H BEREITS EIN WERT
+    # ZUGEWIESEN WURDE (MRUN MACHT DIES IMMER, WENN ES SELBST BATCH-JOBS
+    # STARTET)
+ if [[ "$fromhost" = "" ]]
+ then
+    fromhost=$localhost
+ fi
+
+
+     # PRUEFEN, OB MRUN NUR TESTWEISE AUF DER LOKALEN MASCHINE KOMPILIEREN SOLL
+ if [[ "$source_list" = LOCAL_COMPILE_TEST ]]
+ then
+    source_list=TEST
+    local_compile=true
+    host=$localhost
+ fi
+    
+
+    # PRUEFEN, OB AUF REMOTE-MASCHINE GERECHNET WERDEN SOLL
+    # WERT VON do_remote WIRD FUER DATEIVERBINDUNGEN BENOETIGT.
+    # WENN AUF REMOTE-MASCHINE GERECHNET WIRD, IST GLEICHZEITIG KLAR,
+    # DASS EIN BATCH-JOB GESTARTET WERDEN MUSS
+ if [[ -n $host  &&  "$host" != $localhost ]]
+ then
+    do_batch=true
+    do_remote=true
+    case  $host  in
+        (ibm|ibmb|ibmh|ibms|ibmy|nech|necriam|lcsgib|lcsgih|lctit|unics|lcxt4|lck)  true;;
+        (*)  printf "\n"
+             printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
+             printf "\n      is not available"
+             locat=nqs; (( iec = 0 )); exit;;
+    esac
+ else
+    host=$localhost
+ fi
+
+
+     # ZUSATZBEDINGUNGEN (OPTION -K) AUSWERTEN
+ if [[ -n $additional_conditions ]]
+ then
+#    echo $additional_conditions | cut -d" " -f1-3 | read  cond1  cond2  dummy
+    cond1=`echo $additional_conditions | cut -d" " -f1`
+    cond2=`echo $additional_conditions | cut -d" " -s -f2`
+    dummy=`echo $additional_conditions | cut -d" " -s -f3`
+    if [[ -n $dummy ]]
+    then
+       printf "\n  +++ more than 2 additional conditions given for Option \"-K\""
+       locat=options; exit
+    fi
+ fi
+
+
+      # KOPPLUNGSEIGENSCHAFTEN (-Y) AUSWERTEN UND coupled_mode BESTIMMEN
+ if [[ $run_coupled_model = true ]] 
+ then
+
+    if  [[ -n $coupled_dist ]]
+    then
+
+       numprocs_atmos=`echo $coupled_dist | cut -d" " -s -f1`
+       numprocs_ocean=`echo $coupled_dist | cut -d" " -s -f2`
+
+       if (( $numprocs_ocean + $numprocs_atmos != $numprocs ))
+       then
+
+          printf "\n  +++ number of processors does not fit to specification by \"-Y\"."
+          printf "\n      PEs (total)     : $numprocs"
+          printf "\n      PEs (atmosphere): $numprocs_atmos"
+          printf "\n      PEs (ocean)     : $numprocs_ocean"
+          locat=coupling; exit
+
+          # REARRANGING BECAUSE CURRENTLY ONLY 1:1 TOPOLOGIES ARE SUPPORTED
+          # THIS SHOULD BE REMOVED IN FUTURE
+       elif (( $numprocs_ocean != $numprocs_atmos ))
+       then
+
+          printf "\n  +++ currently only 1:1 topologies are supported"
+          printf "\n      PEs (total)     : $numprocs"
+          printf "\n      PEs (atmosphere): $numprocs_atmos"
+          printf "\n      PEs (ocean)     : $numprocs_ocean"
+          (( numprocs_atmos = $numprocs / 2 ))
+          (( numprocs_ocean = $numprocs / 2 ))
+          printf "\n  +++ rearranged topology to $numprocs_atmos:$numprocs_ocean"
+
+       fi
+
+    else
+
+       (( numprocs_ocean = $numprocs / 2 ))
+       (( numprocs_atmos = $numprocs / 2 ))
+
+    fi
+    coupled_dist=`echo "$numprocs_atmos $numprocs_ocean"`
+
+       # GET coupled_mode FROM THE CONFIG FILE
+    line=""
+    grep  "%cpp_options.*-D__mpi2.*$host" $config_file  >  tmp_mrun
+    while read line
+    do
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" &&  ( $(echo $line | cut -d" " -s -f4) = $cond1 || $(echo $line | cut -d" " -s -f4)  = $cond2 ) ]]
+       then
+          coupled_mode="mpi2"
+       fi
+    done < tmp_mrun
+
+ fi
+
+
+    # PRUEFEN, OB EVTL. BEI VORHERGEHENDEM LAUF (KETTENJOB) EINE
+    # ARCHIVIERUNG FEHLGESCHLAGEN IST
+ if [[ -f ~/job_queue/ARCHIVE_ERROR_$fname ]]
+ then
+    if [[ $ignore_archive_error = false ]]
+    then
+       printf "\n  +++ data archiving of previous run failed"
+       printf "\n      see directory \~/job_queue on remote machine"
+       locat=archive; exit
+    else
+       printf "\n  +++ warning: data archiving in a previous run failed"
+       printf "\n      MRUN continues, trying to get backup copy"
+    fi
+ fi
+
+
+
+    # LESEN UND INTERPRETIEREN DER KONFIGURATIONS-DATEI VOM SHELLSCRIPT AUS
+    # VORUEBERGEHEND ZWINGEND AUF LINUX-RECHNERN
+ if [[ "$read_from_config" = false ]]
+ then
+
+    [[ $silent = false ]]  &&  printf "\n    Reading the configuration file... "
+    while  read zeile
+    do
+        [[ $silent = false ]]  &&  printf "."
+
+
+          # ZUERST EVENTUELL VORKOMMENDE ENVIRONMENT-VARIABLEN DURCH IHRE WERTE
+          # ERSETZEN
+       eval  zeile=\"$zeile\"
+
+
+          # INTERPRETATION DER ZEILE
+       if [[ "$(echo $zeile)" = "" ]]
+       then
+             # LEERZEILE, KEINE AKTION
+          continue
+
+       elif [[ "$(echo $zeile | cut -c1)"  =  "#" ]]
+       then
+
+             # ZEILE IST KOMMENTARZEILE
+          true
+
+       elif [[ "$(echo $zeile | cut -c1)"  =  "%" ]]
+       then
+
+             # ZEILE DEFINIERT ENVIRONMENT-VARIABLE
+          zeile=$(echo $zeile | cut -c2-)
+#          echo $zeile | cut -d" " -f1-5 | read  var  value  for_host  for_cond1  for_cond2
+          var=`echo $zeile | cut -d" " -f1`
+          value=`echo $zeile | cut -d" " -s -f2`
+          for_host=`echo $zeile | cut -d" " -s -f3`
+          for_cond1=`echo $zeile | cut -d" " -s -f4`
+          for_cond2=`echo $zeile | cut -d" " -s -f5`
+
+          if [[ "$for_host" = ""  ||  ( "$for_host" = $host  &&  "$for_cond1" = "$cond1"  &&  "$for_cond2" = "$cond2" )  ||  $(echo "$input_list$output_list"|grep -c "$for_host") != 0 ]]
+          then
+
+                # BEI COMPILER- CPP- ODER LINKEROPTIONEN EVTL ":" DURCH " "
+                # ERSETZEN. "::" WIRD DURCH ":" ERSETZT.
+             value=`echo $value | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
+
+
+                # ENVIRONMENT-VARIABLE WIRD WERT AUS KONFIGURATIONSDATEI
+                # ZUGEWIESEN, WENN SIE SELBST NOCH KEINEN WERT UEBER DIE
+                # ENTSPRECHENDE SCRIPT-OPTION ERHALTEN HAT. SOLCHE
+                # VARIABLEN HAETTEN DANN DEN WERT "" ODER IM INTEGER-FALL DEN
+                # WERT 0.  ALLGEMEINE REGEL ALSO: SCRIPT-OPTION GEHT UEBER
+                # KONFIGURATIONSDATEI
+             if [[ "$(eval echo \$$var)" = ""  ||  "$(eval echo \$$var)" = "0" ]]
+             then
+                eval  $var=\$value
+
+                   # EVTL. BILDSCHIRMAUSGABEN DER ENVIRONMENT-VARIABLEN
+                if [[ $do_trace = true ]]
+                then
+                   printf "\n*** ENVIRONMENT-VARIABLE $var = $value"
+                fi
+             fi
+
+                # WENN ENVIRONMENT-VARIABLE HOST VEREINBART, DANN SOFORT AUSWERTEN
+                # WERT VON do-remote WIRD BEI DATEIVERBINDUNGEN BENOETIGT
+                # WENN AUF REMOTE-MASCHINE GERECHNET WIRD, IST GLEICHZEITIG KLAR,
+                # DASS EIN BATCH-JOB GESTARTET WERDEN MUSS
+             if [[ $var = host ]]
+             then
+                if [[ -n $host  &&  "$host" != $localhost ]]
+                then
+                   do_batch=true
+                   do_remote=true
+                   case  $host  in
+                       (ibm|ibms|ibmy|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lck)  true;;
+                       (*)  printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
+                            printf "\n      is not available"
+                            locat=nqs; exit;;
+                   esac
+                else
+                   host=$localhost
+                fi
+             fi
+
+                # VOM BENUTZER DEFINIERTE ENVIRONMENT VARIABLEN MUESSEN PRINZIPIELL
+                # EXPORTIERT WERDEN, DA SIE VIELLEICHT IN WEITER UNTEN AUFZURUFEN-
+                # DEN PROGRAMMEN BENOETIGT WERDEN
+             export  $var
+          fi
+
+
+
+
+       elif [[ "$(echo $zeile | cut -c1-3)" = "EC:" ]]
+       then
+
+             # ZEILE DEFINIERT ERROR-KOMMANDO
+          (( iec = iec + 1 ))
+          zeile=$(echo $zeile | cut -c4-)
+          err_command[$iec]="$zeile"
+
+       elif [[ "$(echo $zeile | cut -c1-3)" = "IC:" ]]
+       then
+
+             # ZEILE DEFINIERT INPUT-KOMMANDO
+          (( iic = iic + 1 ))
+          zeile=$(echo $zeile | cut -c4-)
+          in_command[$iic]="$zeile"
+
+       elif [[ "$(echo $zeile | cut -c1-3)" = "OC:" ]]
+       then
+
+             # ZEILE DEFINIERT OUTPUT-KOMMANDO
+          (( ioc = ioc + 1 ))
+          zeile=$(echo $zeile | cut -c4-)
+          out_command[$ioc]="$zeile"
+
+       else
+
+             # ZEILE DEFINIERT DATEIVERBINDUNG. EINLESEN DER DATEIEIGENSCHAFTEN
+             # s2a: in/out - Feld
+             # s2b: loc    - Feld (optional)
+             # s2c: tr/ar  - Feld (optional)
+#          echo $zeile | cut -d" " -f1-2 | read  s1  s2
+          s1=`echo $zeile | cut -d" " -f1`
+          s2=`echo $zeile | cut -d" " -s -f2`
+          s2a=$(echo $s2 | cut -d":" -f1)
+          if [[ $(echo $s2 | grep -c ":") = 0 ]]
+          then
+             s2b=""
+             s2c=""
+          else
+#             echo $s2 | cut -d":" -f2-3 | sed 's/:/ /g' | read  s2b  s2c
+             s2b=`echo $s2 | cut -d":" -f2 | sed 's/:/ /g'`
+             s2c=`echo $s2 | cut -d":" -s -f3 | sed 's/:/ /g'`
+          fi
+#          echo $zeile | cut -d" " -f3-6 | read  s3  s4  s5  s6
+          s3=`echo $zeile | cut -d" " -f3`
+          s4=`echo $zeile | cut -d" " -s -f4`
+          s5=`echo $zeile | cut -d" " -s -f5`
+          s6=`echo $zeile | cut -d" " -s -f6`
+
+       
+             # ABSPEICHERN DER DATEIVERBINDUNG, FALLS IN INPUT- ODER OUTPUT-LIST
+             # VERMERKT. VARIABLE S3 KANN AUCH LISTE ENTHALTEN (FELDTRENNER ":")
+             # DATEIVERBINDUNG WIRD DANN NICHT ABGESPEICHERT UND GEPRUEFT, WENN
+             # PROGRAMMLAUF AUF REMOTE-MASCHINE ERFOLGT UND DATEI NUR LOKAL VOR-
+             # HANDEN SEIN MUSS (D.H. s2b = loc)
+          IFSALT="$IFS"; IFS="$IFS:"
+          if [[ "$s2a" = in  &&  ! ( $do_remote = true  &&  ( "$s2b" = loc  ||  "$s2b" = locopt ) ) ]]
+          then
+             found=false
+             for  actual  in  $input_list
+             do
+                for  formal  in  $s3
+                do
+                   [[ $actual = $formal  ||  "$formal" = "-" ]]  &&  found=true
+                done
+             done
+             if [[ $found = true ]]
+             then
+                (( iin = iin + 1 ))
+                localin[$iin]=$s1; transin[$iin]=$s2b; actionin[$iin]=$s2c;
+                typein[$iin]=$s3; pathin[$iin]=$s4; endin[$iin]=$s5;
+                extin[$iin]=$s6
+             fi
+          elif [[ "$s2a" = out  &&  ! ( $do_remote = true  &&  "$s2b" = loc ) ]]
+          then
+             found=false
+             for  actual  in  $output_list
+             do
+                for  formal  in  $s3  
+                do
+                   [[ $actual = $formal  ||  "$formal" = "-"  ]]  &&  found=true
+                done
+             done
+             if [[ $found = true ]]
+             then
+                (( iout = iout + 1 ))
+                localout[$iout]=$s1; actionout[$iout]=$s2c; typeout[$iout]=$s3;
+                pathout[$iout]=$s4; endout[$iout]=$s5; extout[$iout]=$s6
+             fi
+          elif [[ "$s2a" != in  &&  "$s2a" != out ]]
+          then
+             printf "\n  +++ I/O-attribute in configuration file $config_file has the invalid"
+             printf "\n      value \"$s2\". Only \"in\" and \"out\" are allowed!"
+             locat=connect; exit
+          fi
+          IFS="$IFSALT"
+       fi
+    done < $config_file
+
+ else
+
+
+       # INTERPRETATION DER KONFIGURATIONSDATEI MITTELS FORTRAN 90 - PROGRAMM
+    [[ $silent = false ]]  &&  printf "..."
+    export  cond1 cond2 config_file do_remote do_trace input_list localhost output_list
+    export  interpreted_config_file=.icf.$RANDOM
+
+
+
+       # ENVIRONMENT-VARIABLEN FUER INTERPRET_CONFIG UEBER NAMELIST_DATEI ZUR
+       # VERFUEGUNG STELLEN
+    cat  >  .mrun_environment  <<  %%END%%
+ &mrun_environment  cond1 = '$cond1', cond2 = '$cond2', 
+                    config_file = '$config_file', do_remote = '$do_remote',
+                    do_trace = '$do_trace', host = '$host',
+                    input_list = '$input_list', icf = '$interpreted_config_file',
+                    localhost = '$localhost', output_list = '$output_list' /
+
+%%END%%
+
+       # WERTE VON MRUN-OPTIONEN SICHERN UND DAMIT GEGEBENENFALLS SPAETER DIE
+       # IN DER KONFIGURAIONSDATEI ANGEGEBENEN WERTE UEBERSTEUERN
+    mrun_memory=$memory
+    mrun_group_number=$group_number
+    mrun_cpumax=$cpumax
+    mrun_numprocs=$numprocs
+
+    if [[ $localhost_realname = "sx-fep" ]]
+    then
+       /home/COAR/NC/raasch/pub/interpret_config_necriam.x
+    else
+       interpret_config.x
+    fi
+    rm .mrun_environment
+
+
+       # AUSFUEHRUNG DER GENERIERTEN SHELL-KOMMANDOS IN DIESER SHELL
+    chmod  u+x  $interpreted_config_file
+    export PATH=$PATH:.
+    . $interpreted_config_file
+    rm  $interpreted_config_file
+
+
+       # OPTIONSWERTE UEBERSTEUERN KONFIGURATIONSDATEI
+    [[ $mrun_memory     != 0  ]]  &&  memory=$mrun_memory
+    [[ "$mrun_group_number" != "none" ]]  &&  group_number=$mrun_group_number
+    [[ $mrun_cpumax     != 0  ]]  &&  cpumax=$mrun_cpumax
+    [[ "$mrun_numprocs" != "" ]]  &&  numprocs=$mrun_numprocs
+
+ fi
+
+
+    # QUELLTEXTVERZEICHNIS AUF LOKALER MASCHINE AUS KONFIGURATIONSDATEI
+    # BESTIMMEN (WUERDE SONST EVTL. DAS VERZEICHNIS DES JEWEILS UNTER -h
+    # ANGEGEBENEN REMOTE-RECHNERS SEIN)
+    # BEI BATCH-JOBS SIND DIE ZU UEBERSETZENDEN PROGRAMMTEILE SCHON KOMPLETT
+ if [[ "$SOURCES_COMPLETE" = "" ]]
+ then
+
+       # ZUERST PRUEFEN, OB EIN GLOBALER QUELLTEXTPFAD FUER ALLE RECHNER
+       # VEREINBART WURDE
+    source_path=""
+    line=""
+    grep "%source_path" $config_file  >  tmp_mrun
+    while read line
+    do
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          if [[ "$(echo $line | cut -d" " -f3)" = "" ]]
+          then
+             global_source_path=`echo $line | cut -d" " -f2`
+          fi
+       fi
+    done  <  tmp_mrun
+
+    line=""
+    found=false
+    grep  " $localhost" $config_file | grep "%source_path"  >  tmp_mrun
+    while read line
+    do
+       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+       then
+          if [[ $found = true ]]
+          then
+             printf "\n\n  +++ more than one source path found in configuration file"
+             printf "\n      for local host \"$localhost\" "
+             locat=source_path; exit
+          fi
+          source_path=`echo $line | cut -d" " -f2`
+          found=true
+       fi
+    done  <  tmp_mrun
+    rm  tmp_mrun
+
+    if [[ "$source_path" = "" ]]
+    then
+       if [[ "$global_source_path" != "" ]]
+       then
+          source_path=$global_source_path
+       else
+          printf "\n\n  +++ no source path found in configuration file"
+          printf "\n      for local host \"$localhost\" "
+          locat=source_path; exit
+       fi
+    fi
+    eval source_path=$source_path
+
+    if [[ ! -d $source_path ]]
+    then
+       printf "\n\n  +++ source path \"$source_path\" on local host"
+       printf "\n      \"$localhost\" does not exist"
+       locat=source_path; exit
+    fi
+
+ fi
+
+
+    # GLOBALE REVISIONSNUMMER ERMITTELN (FORTSETZUNGSLAEUFEN WIRD DIESE
+    # DURCH OPTION -G MITGETEILT)
+ if [[ "$global_revision" = "" ]]
+ then
+    global_revision=`svnversion $source_path  2>/dev/null`
+    global_revision="Rev: $global_revision"
+ fi
+
+
+    # NOCHMAL PRUEFEN, OB AUF REMOTE-MASCHINE GERECHNET WERDEN SOLL
+    # (HOST KANN IN KONFIGURATIONSDATEI ANDERS FESTGELEGT WORDEN SEIN)
+    # WERT VON do_remote WIRD FUER DATEIVERBINDUNGEN BENOETIGT.
+    # WENN AUF REMOTE-MASCHINE GERECHNET WIRD, IST GLEICHZEITIG KLAR,
+    # DASS EIN BATCH-JOB GESTARTET WERDEN MUSS
+ if [[ -n $host  &&  "$host" != $localhost ]]
+ then
+    do_batch=true
+    do_remote=true
+    case  $host  in
+        (ibm|ibmb|ibmh|ibms|ibmy|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lck)  true;;
+        (*)  printf "\n"
+             printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
+             printf "\n      is not available"
+             locat=nqs; (( iec = 0 )); exit;;
+    esac
+ else
+    host=$localhost
+ fi
+
+
+    # PRUEFUNG EINIGER PROZESSORZAHLANGABEN BEI RECHNUNGEN AUF PARALLELRECHNERN
+ if [[ "$cond1" = parallel  ||  "$cond2" = parallel ]]
+ then
+
+       # PRUEFEN, OB DIE ANZAHL DER ZU VERWENDENDEN PES ANGEGEBEN WURDE
+    if [[ ! -n $numprocs ]]
+    then
+       printf "\n"
+       printf "\n  +++ option \"-K parallel\" requires additional specification"
+       printf "\n      of the number of processors to be used by"
+       printf "\n      mrun-option \"-X\" or by environment-variable"
+       printf "\n      \"numprocs\" in the configuration file"
+       locat=numprocs; (( iec = 0 )); exit 
+    fi
+
+       # PRUEFEN, OB DIE PROZESSORANZAHL PRO KNOTEN ANGEGEBEN WURDE (GGF.
+       # DEFAULT-WERT SETZEN) UND OB SIE EIN GANZZAHLIGER TEILER DER
+       # GESAMTPROZESSORANZAHL IST
+    if [[ $host = nech  ||  $host = necriam  ||  $host = ibmh  ||  $host = ibmb  ||  $host = ibms ]]
+    then
+       [[ "$tasks_per_node" = "" ]]  &&  tasks_per_node=6
+       (( ival = $tasks_per_node ))
+       (( pes = numprocs ))
+#       if [[ $(echo $package_list | grep -c dvrp_graphics+1PE) = 1 ]]
+#       then
+#          (( pes = pes - 1 ))
+#       fi
+       (( ii = pes / ival ))
+       if (( pes - ii * ival > 0 ))
+       then
+          printf "\n"
+          printf "\n  +++ tasks per node (option \"-T\") must be an integral"
+          printf "\n      divisor of the total number of processors (option \"-X\")"
+          printf "\n      values of this mrun-call: \"-T $tasks_per_node\" \"-X $numprocs\""
+          locat=tasks_per_node; (( iec = 0 )); exit 
+       fi
+    fi
+
+       # IBMY HAT NUR EINEN KNOTEN
+    if [[ $host = ibmy ]]
+    then
+       if [[ "$tasks_per_node" != ""  &&  "$tasks_per_node" != "$numprocs" ]]
+       then
+          printf "\n"
+          printf "\n  +++ on ibmy, tasks per node (option \"-T\") must be equal to the"
+          printf "\n      total number of processors (option \"-X\")"
+          printf "\n      values of this mrun-call: \"-T $tasks_per_node\" \"-X $numprocs\""
+          locat=tasks_per_node; (( iec = 0 )); exit 
+       fi
+    fi
+
+       # FALLS OPENMP PARALLELISIERUNG VERWENDET WERDEN SOLL, ANZAHL VON THREADS
+       # SETZEN UND ZAHL DER TASKS PRO KNOTEN AUF 1 SETZEN
+    if [[ $use_openmp = true ]]
+    then
+       threads_per_task=$tasks_per_node
+       tasks_per_node=1
+    fi
+
+       # SETTINGS FOR SUBJOB-COMMAND
+    if [[ $(echo $host | cut -c1-5) = lcsgi ]]
+    then
+       (( tp1 = tasks_per_node * threads_per_task ))
+       TOPT="-T $tp1"
+    else
+       TOPT="-T $tasks_per_node"
+    fi
+    OOPT="-O $threads_per_task"
+
+       # GESAMTZAHL DER KNOTEN BESTIMMEN
+    if [[ "$tasks_per_node" != "" ]]
+    then
+       (( nodes = numprocs / ( tasks_per_node * threads_per_task ) ))
+    fi
+
+       # PRUEFEN, OB NODE USAGE EINEN ERLAUBTEN WERT HAT BZW. DEN DEFAULT
+       # SETZEN
+    if [[ $node_usage = default ]]
+    then
+       if [[ $host = ibms ]]
+       then
+          node_usage=shared
+       elif [[ $host = lctit ]]
+       then
+          node_usage=RAM64GB
+       elif [[ $(echo $host | cut -c1-5) = lcsgi ]]
+       then
+          node_usage=singlejob
+       else
+          node_usage=not_shared
+       fi
+    fi
+
+    if [[ $node_usage != shared  &&  $node_usage != not_shared  &&  $node_usage != singlejob  &&  "$(echo $node_usage | cut -c1-3)" != "sla"  &&  $node_usage != RAM64GB  ]]
+    then
+       printf "\n"
+       printf "\n  +++ node usage (option \"-n\") is only allowed to be set"
+       printf "\n      \"shared\" or \"not_shared\""
+       locat=tasks_per_node; (( iec = 0 )); exit 
+    fi
+
+ fi
+
+    # PRUEFEN, OB HOSTFILE EXISTIERT
+ if [[ -n $hostfile ]]
+ then
+    if [[ ! -f $hostfile ]]
+    then
+       printf "\n"
+       printf "\n  +++ hostfile \"$hostfile\" does not exist"
+       locat=hostfile; exit
+    fi
+ fi
+
+    # PRUEFEN, OB RHOSTS DATEI EXISTIERT. GEGEBENENFALLS ANLEGEN BZW. ERWEITERN
+ if [[ $host = ibmy  &&  $do_remote = false ]]
+ then
+    if [[ ! -f $HOME/.rhosts ]]
+    then
+       echo  "gfdl5.yonsei.ac.kr"  >  $HOME/.rhosts
+       printf "\n\n  *** file:"
+       printf "\n           $HOME/.rhosts"
+       printf "\n      was created\n"
+    fi
+    if [[ $(grep -c gfdl5.yonsei.ac.kr $HOME/.rhosts) = 0 ]]
+    then
+       echo  "gfdl5.yonsei.ac.kr"  >>  $HOME/.rhosts
+       printf "\n\n  *** file:"
+       printf "\n           $HOME/.rhosts"
+       printf "\n      was extended by the name of the current host\n"
+    fi
+ fi
+
+
+
+    # FALLS NICHT VORGEGEBEN, DEFAULT-QUEUE AUF DER ZIELMASCHINE FESTLEGEN
+ if [[ $queue = none ]]
+ then
+    case  $host  in
+        (ibmb)       if [[ $node_usage = shared ]]
+                     then
+                        queue=cshare
+                     else
+                        queue=csolo
+                     fi;;
+        (ibmh)       queue=no_class;;
+        (ibmy)       queue=parallel;;
+        (lcsgib)     queue=bigq;;
+        (lcsgih)     queue=bigq;;
+        (lctit)      queue=RAM64GB;;
+        (nech)       queue=none;;
+        (necriam)    queue=SP;;
+        (unics)      queue=unics;;
+    esac
+ fi
+
+
+    # VOLLSTAENDIGE DATEINAMEN DER INPUT-FILES BILDEN,
+    # INPUT-DATEIEN AUF VORHANDENSEIN PRUEFEN UND EVTL. HOECHSTE ZYKLUSNUMMER
+    # ERMITTELN
+ (( i = 0 ))
+ while (( i < iin ))
+ do
+    (( i = i + 1 ))
+    (( maxcycle = 0 ))
+
+       # NAMENSBILDUNG (EVTL. IST FESTER DATEINAME VORGEGEBEN)
+    if [[ "${actionin[$i]}" = di ]]
+    then
+       remotepathin[$i]=${pathin[$i]}/${endin[$i]}  # REMOTE-PFAD ERST AUF
+                                                    # REM-MASCHINE AUSWERTEN
+       eval filename=${pathin[$i]}/${endin[$i]}
+    else
+       remotepathin[$i]=${pathin[$i]}/${afname}${endin[$i]}  # REMOTE-PFAD ERST AUF
+                                                             # REM-MASCHINE AUSWERTEN
+       eval filename=${pathin[$i]}/${afname}${endin[$i]}
+    fi
+
+       # PRUEFEN AUF VORHANDENSEIN
+    if [[ $(ls $filename* 2>&1 | grep -c "not found") = 1  || \
+          $(ls $filename* 2>&1 | grep -c "No such file") = 1  || \
+          $(ls $filename* 2>&1 | grep -c "does not exist") = 1 ]]
+    then
+          # DATEIEN MIT EXTENSION (Z.B. NC) MUESSEN NICHT ZWINGEND VORHANDEN
+          # SEIN, DESHALB IN SOLCHEN FAELLEN KEIN ABBRUCH. DIES IST NUR EINE
+          # VORUEBERGEHENDE LOESUNG (OKT 05). NICHT ZWINGEND BENOETIGTE
+          # EINGABEDATEIEN SOLLTEN EINE SPEZIELLE OPTION IN DER DATEI-
+          # VERBINDUNGSANWEISUNG BEKOMMEN (Z.B. inopt?)
+       if [[ "${transin[$i]}" != "locopt" ]]
+       then
+          printf "\n\n  +++ INPUT-file: "
+          if [[ "${extin[$i]}" = "" ]]
+          then
+             printf "\n           $filename"
+          else
+             printf "\n           $filename.${extin[$i]}"
+          fi
+          printf "\n      does not exist\n"
+          locat=input; exit
+       else
+          transin[$i]="unavailable"
+       fi
+    else
+
+          # ZYKLUSNUMMER FESTSTELLEN
+       ls -1 -d $filename    >   filelist  2>/dev/null
+       ls -1 -d $filename.*  >>  filelist  2>/dev/null
+       while  read zeile
+       do
+          cycle=$(print $zeile | cut -f2 -d".")
+          if [[ "$cycle" = "$zeile" ]]
+          then
+             (( icycle = 0 ))
+          elif [[ "$cycle" = "${extin[$i]}" ]]
+          then
+             (( icycle = 0 ))
+          else
+             (( icycle = $cycle ))
+          fi
+          if (( icycle > maxcycle ))
+          then
+             (( maxcycle = icycle ))
+             file_to_be_used=$zeile
+          fi
+       done <filelist
+       rm filelist
+
+          # EVTL. ZYKLUSNUMMER AN DATEINAMEN ANFUEGEN
+       if (( maxcycle > 0 ))
+       then
+          if [[ "${extin[$i]}" != " "  &&   "${extin[$i]}" != "" ]]
+          then
+             filename=${filename}.$maxcycle.${extin[$i]}
+          else
+             filename=${filename}.$maxcycle
+          fi
+       else
+          if [[ "${extin[$i]}" != " "  &&   "${extin[$i]}" != "" ]]
+          then
+             filename=${filename}.${extin[$i]}
+          fi
+       fi
+       
+          # DATEINAMEN OHNE PFAD ABER MIT ZYKLUSNUMMER ABSPEICHERN,
+          # DA SPAETER BEI RUECKSPEICHERN VOM ARCHIVSYSTEM EVTL. BENOETIGT
+       absnamein[$i]=$filename
+       if (( maxcycle > 0 ))
+       then
+          if [[ "${actionin[$i]}" = di ]]
+          then
+             frelin[$i]=${endin[$i]}.$maxcycle
+          else
+             frelin[$i]=${afname}${endin[$i]}.$maxcycle
+          fi
+       else
+          if [[ "${actionin[$i]}" = di ]]
+          then
+             frelin[$i]=${endin[$i]}
+          else
+             frelin[$i]=${afname}${endin[$i]}
+          fi
+       fi
+
+    fi
+ done
+       
+
+    # VOLLSTAENDIGE DATEINAMEN (OHNE $ ODER ~) DER OUTPUT-FILES BILDEN,
+    # OUTPUT-DATEIEN AUF VORHANDENSEIN PRUEFEN UND EVTL. HOECHSTE ZYKLUSNUMMER
+    # ERMITTELN ODER, FALLS NICHT VORHANDEN, PRUEFEN, OB SIE SICH ANLEGEN LASSEN
+    # DIESE AKTIONEN FINDEN NICHT STATT, WENN PROGRAMM AUF REMOTE-MASCHINE
+    # RECHNET UND DATEI ANSCHLIESSEND TRANSFERIERT WERDEN SOLL!
+ (( i = 0 ))
+ while (( i < iout ))
+ do
+    (( i = i + 1 ))
+    if [[ ! ( $fromhost != $localhost  &&  ( "${actionout[$i]}" = tr || "${actionout[$i]}" = tra || "${actionout[$i]}" = trpe ) ) ]]
+    then
+       if [[ "${actionout[$i]}" = tr ]]
+       then
+          actionout[$i]=""
+       elif [[ "${actionout[$i]}" = trpe ]]
+       then
+          actionout[$i]=pe
+       elif [[ "${actionout[$i]}" = tra ]]
+       then
+          actionout[$i]=a
+       fi
+       (( maxcycle = 0 ))
+       eval filename=${pathout[$i]}/${fname}${endout[$i]}
+       eval catalogname=${pathout[$i]}
+       if [[ $(ls $filename* 2>&1 | grep -c "not found") = 1  || \
+             $(ls $filename* 2>&1 | grep -c "No such file") = 1  || \
+             $(ls $filename* 2>&1 | grep -c "does not exist") = 1 ]]
+       then
+      
+             # OUTPUT-DATEI NICHT VORHANDEN. PRUEFEN, OB ANLEGEN MOEGLICH.
+          if  cat /dev/null > $filename  
+          then
+             rm  $filename
+          else
+
+                # PRUEFEN, OB KATALOG VORHANDEN UND EVTL. DIESEN ANLEGEN
+             if [[ ! -d $catalogname ]]
+             then
+                if  mkdir -p  $catalogname
+                then
+                   printf "\n\n  *** directory:"
+                   printf "\n           $catalogname"
+                   printf "\n      was created\n"
+                else
+                   printf "\n\n  +++ OUTPUT-file:"
+                   printf "\n           $filename"
+                   printf "\n      cannot be created, because directory does not exist"
+                   printf "\n      and cannot be created either"
+                   printf "\n"
+                   locat=output  ; exit
+                fi 2>/dev/null 
+             else
+                printf "\n\n  +++ OUTPUT-file:"
+                printf "\n           $filename"
+                printf "\n      cannot be created, although directory exists"
+                printf "\n"
+                locat=output  ; exit
+             fi
+          fi 2>/dev/null
+       else
+
+             # ZYKLUSNUMMER FESTSTELLEN
+          ls -1 -d $filename    >   filelist  2>/dev/null
+          ls -1 -d $filename.*  >>  filelist  2>/dev/null
+          while  read zeile
+          do
+             cycle=$(print $zeile | cut -f2 -d".")
+             if [[ "$cycle" = "$zeile"  ||  "$cycle" = ${extout[$i]} ]]
+             then
+                (( icycle = 1 ))
+             else
+                (( icycle = $cycle + 1 ))
+             fi
+             if (( icycle > maxcycle ))
+             then
+                (( maxcycle = icycle ))
+             fi
+          done <filelist
+          rm filelist
+       fi
+
+          # EVTL. ZYKLUSNUMMER AN DATEINAMEN ANFUEGEN UND PRUEFEN, OB SICH
+          # DATEI AUCH WIRKLICH ANLEGEN LAESST. IM APPEND-FALL MUSS AN DEN
+          # HOECHSTEN VORHANDENEN ZYKLUS-ANGEHAENGT WERDEN. ANLAGEPRUEFUNG
+          # IST DANN NATUERLICH NICHT ZULAESSIG BZW. MOEGLICH
+       if [[ "${actionout[$i]}" != a ]]
+       then
+          if (( maxcycle > 0 ))
+          then
+             filename=${filename}.$maxcycle
+             if  cat /dev/null > $filename 
+             then
+                rm  $filename
+             else
+                printf "\n  +++ OUTPUT-file:"
+                printf "\n           $filename"
+                printf "\n      cannot be created"
+                locat=output  ; exit
+             fi
+          fi
+       else
+          (( maxcycle = maxcycle - 1 ))
+          if (( maxcycle > 0 ))
+          then
+             filename=${filename}.$maxcycle
+          fi
+       fi
+       
+          # DATEINAMEN OHNE PFAD ABER MIT ZYKLUSNUMMER ABSPEICHERN,
+          # DA SPAETER BEI ABLAGE AUF ARCHIVSYSTEM BZW. FUER
+          # DATEI OUTPUT_FILE_CONNECTIONS EVTL. BENOETIGT
+       pathout[$i]=$filename
+       if (( maxcycle > 0 ))
+       then
+          frelout[$i]=${fname}${endout[$i]}.$maxcycle
+       else
+          frelout[$i]=${fname}${endout[$i]}
+       fi
+
+    fi
+ done
+
+
+     # DAS DVR-PAKET ERFORDERT EINE ENTSPRECHENDE BIBLIOTHEK
+ if [[ $(echo $package_list | grep -c dvrp_graphics) != 0 ]]
+ then
+    if [[ "$dvr_inc" = "" ]]
+    then
+       printf "\n\n  +++ no value for \"dvr_inc\" given in configuration file"
+       printf "\n      This is required for the dvrp_graphics package.\n"
+       locat=dvr; exit
+    fi
+    if [[ "$dvr_lib" = "" ]]
+    then
+       printf "\n\n  +++ no value for \"dvr_lib\" given in configuration file"
+       printf "\n      This is required for the dvrp_graphics package.\n"
+       locat=dvr; exit
+    fi
+ fi
+
+
+     # PRUEFEN, OB ENTWEDER HAUPTPROGRAMM ODER NUR EIN AUSFUEHRBARES
+     # PROGRAMM VEREINBART WURDE (IN DIESEM FALL BRAUCHT IM WEITEREN NICHT
+     # UEBERSETZT ZU WERDEN)
+ if [[ "$mainprog" = ""  &&  "$executable" = "" ]]
+ then
+    printf "\n  +++ neither main program nor executable defined"
+    locat=source; exit
+ elif [[ "$mainprog" != ""  &&  "$executable" != "" ]]
+ then
+    printf "\n  +++ main program as well as executable defined"
+    locat=source; exit
+ elif [[ "$mainprog" = ""  &&  "$executable" != "" ]]
+ then
+    do_compile=false
+ fi
+
+
+    # SOURCE-VERZEICHNIS ZUM AUFSAMMELN DER ZU UEBERSETZENDEN PROGRAMMTEILE
+    # ERZEUGEN. HIERHIN WERDEN SPAETER IM FALL VON BATCH-JOBS AUCH DAS MRUN-
+    # SCRIPTS SOWIE DIE KONFIGURATIONSDATEI KOPIERT
+ if [[ $restart_run != true  &&  "$SOURCES_COMPLETE" = "" ]]
+ then
+    rm -rf  SOURCES_FOR_RUN_$fname
+    mkdir   SOURCES_FOR_RUN_$fname
+ fi
+
+
+    # ALLE ZU UEBERSETZENDEN PROGRAMMTEILE ZUSAMMENSAMMELN
+    # BEI BATCH-JOBS IST DIES NICHT NOETIG, WEIL DIE PROGRAMMTEILE BEREITS DURCH
+    # DEN MRUN-AUFRUF ERMITTELT SIND, DER DEN BATCH-JOB GENERIERT HAT, UND
+    # IM VERZEICHNIS SOURCES_FOR_RUN_... ABGELEGT SIND
+ if [[ $do_compile = true  &&  "$SOURCES_COMPLETE" = "" ]]
+ then
+
+    [[ "$source_list" = LM ]]  &&  source_list=LOCALLY_MODIFIED
+    [[ "$source_list" = WP ]]  &&  source_list=WRITE_PERMIT
+
+
+       # EVTL. ZU UEBERSETZENDE PROGRAMMTEILE DADURCH BESTIMMEN, DASS GEPRUEFT
+       # WIRD, WELCHE DATEIEN WRITE-PERMIT BESITZEN (DATEIEN SOLLTEN DESHALB
+       # UNTER RCS-KONTROLLE STEHEN). MIT DER VARIABLEN EXCLUDE KOENNEN
+       # BESTIMMTE DATEIEN GRUNDSAETZLICH VON DER UEBERSETZUNG AUSGESCHLOSSEN
+       # WERDEN. DIES IST NUR BEI MANUELLEM START VON MRUN DURCH DEN BENUTZER
+       # MOEGLICH, DA BEI AUTOMATISCHEN RESTARTS TEST DURCH DIE TATSAECHLICH
+       # ZU UBERSETZENDEN DATEIEN ERSETZT IST.
+       # ALLE ERMITTELTEN DATEIEN WERDEN IM VERZEICHNIS SOURCES_FOR_RUN_...
+       # GESAMMELT
+    if [[ "$source_list" = WRITE_PERMIT ]]
+    then
+
+       source_list=""
+       cd  $source_path
+
+
+          # ALLE MOEGLICHEN QUELLCODEDATEIEN AUFLISTEN
+       Names=$(ls -1 *.f90 2>&1)
+       [[ $(echo $Names | grep -c '*.f90') = 0 ]]  &&  Filenames="$Names"
+       Names=$(ls -1 *.F90 2>&1)
+       [[ $(echo $Names | grep -c '*.F90') = 0 ]]  &&  Filenames="$Filenames $Names"
+       Names=$(ls -1 *.F 2>&1)
+       [[ $(echo $Names | grep -c '*.F') = 0   ]]  &&  Filenames="$Filenames $Names"
+       Names=$(ls -1 *.f 2>&1)
+       [[ $(echo $Names | grep -c '*.f') = 0   ]]  &&  Filenames="$Filenames $Names"
+       Names=$(ls -1 *.c 2>&1)
+       [[ $(echo $Names | grep -c '*.c') = 0   ]]  &&  Filenames="$Filenames $Names"
+
+
+          # DATEIEN MIT WRITE-PERMIT NACH SOURCES_FOR_RUN_... KOPIEREN
+       for  dateiname  in  $Filenames
+       do
+          if [[ -w $dateiname ]]
+          then
+             if [[ "$exclude" = ""  ||  $(echo $exclude | grep -c $dateiname) = 0 ]]
+             then
+                cp  $dateiname  $working_directory/SOURCES_FOR_RUN_$fname
+                source_list=$source_list"$dateiname "
+             fi
+          fi
+       done
+
+       cd -  > /dev/null
+
+
+    elif [[ "$source_list" = LOCALLY_MODIFIED ]]
+    then
+
+          # MODIFIZIERTE DATEIEN DER SVN-ARBEITSKOPIE BESTIMMEN
+       source_list=""
+       cd  $source_path
+
+
+          # PRUEFEN, OB VERZEICHNIS UEBERHAUPT UNTER SVN-KONTROLLE STEHT
+       if [[ ! -d .svn ]]
+       then
+          printf "\n\n  +++ source directory"
+          printf "\n         \"$source_path\" "
+          printf "\n         is not under control of \"subversion\"."
+          printf "\n         Please do not use mrun-option \"-s LOCALLY_MODIFIED\"\n"
+       fi
+
+
+          # ALLE MODIFIZIERTEN QUELLCODEDATEIEN AUFLISTEN
+       Filenames=""
+       svn status  >  tmp_mrun
+       while  read line
+       do
+          firstc=`echo $line | cut -c1`
+          if [[ $firstc = M  ||  $firstc = "?" ]]
+          then
+             Name=`echo "$line" | cut -c8-`
+             extension=`echo $Name | cut -d. -f2`
+             if [[ "$extension" = f90 || "$extension" = F90 || "$extension" = f || "$extension" = F || "$extension" = c ]]
+             then
+                Filenames="$Filenames "$Name
+             fi
+          fi
+       done < tmp_mrun
+
+
+          # DATEIEN NACH SOURCES_FOR_RUN_... KOPIEREN
+       for  dateiname  in  $Filenames
+       do
+          cp  $dateiname  $working_directory/SOURCES_FOR_RUN_$fname
+          source_list=$source_list"$dateiname "
+       done
+
+       cd -  > /dev/null
+
+
+       # MITTELS OPTION -s ANGEGEBENE DATEIEN NACH SOURCES_FOR_RUN_... KOPIEREN
+       # BEI AUTOMATISCHEN FORTSETZUNGSLAEUFEN SIND DORT SCHON ALLE DATEIEN
+       # VORHANDEN
+    elif [[ "$source_list" != ""  &&  $restart_run != true ]]
+    then
+
+       cd  $source_path
+
+       for  filename  in  $source_list
+       do
+
+             # QUELLTEXT-DATEI DARF KEINE PFADE BEINHALTEN
+          if [[ $(print $filename | grep -c "/") != 0 ]]
+          then
+             printf "\n  +++ source code file:  $filename"
+             printf "\n      must not contain (\"/\") "
+             locat=source; exit
+          fi
+
+          if [[ ! -f $filename ]]
+          then
+             printf "\n  +++ source code file:  $filename"
+             printf "\n      does not exist"
+             locat=source; exit
+          else
+             cp  $filename  $working_directory/SOURCES_FOR_RUN_$fname
+          fi
+
+       done
+
+       cd -  > /dev/null
+
+    fi
+
+
+       # PRUEFEN, OB ENTWEDER HAUPTPROGRAMM VORHANDEN UND ES EVTL. IN DER
+       # LISTE DER ZU UEBERSETZENDEN PROGRAMMTEILE MIT ENTHALTEN IST (WENN
+       # NICHT, WIRD ES DIESER LISTE HINZUGEFUEGT)
+    if [[ $restart_run != true ]]
+    then
+
+       if [[ ! -f "$source_path/$mainprog" ]]
+       then
+          printf "\n\n  +++ main program:  $mainprog"
+          printf "\n      does not exist in source directory"
+          printf "\n      \"$source_path\"\n"
+          locat=source; exit
+       else
+          if [[ $(echo $source_list | grep -c $mainprog) = 0 ]]
+          then
+             cp  $source_path/$mainprog  SOURCES_FOR_RUN_$fname
+             source_list=${mainprog}" $source_list"
+          fi
+       fi
+    fi
+
+
+       # MAKEFILE AUF VORHANDENSEIN PRUEFEN UND KOPIEREN
+       # BEI RESTART-LAEUFEN LIEGT ES SCHON IM VERZEICHNIS SOURCES_FOR_RUN...
+    if [[ "$restart_run" != true ]]
+    then
+       [[ "$makefile" = "" ]]  &&  makefile=$source_path/Makefile
+       if [[ ! -f $makefile ]]
+       then
+          printf "\n  +++ file \"$makefile\" does not exist"
+          locat=make; exit
+       else
+          cp  $makefile  SOURCES_FOR_RUN_$fname/Makefile 
+       fi
+    fi
+
+
+       # DATEIEN AUS ZUSAETZLICHEM QUELLVERZEICHNIS HINZUFUEGEN
+    if [[ $restart_run != true  &&  "$add_source_path" != "" ]]
+    then
+
+          # GIBT ES DAS VERZEICHNIS UEBERHAUPT?
+       if [[ ! -d $add_source_path ]]
+       then
+          printf "\n\n  +++ WARNING: additional source code directory"
+          printf "\n      \"$add_source_path\" "
+          printf "\n      does not exist or is not a directory."
+          printf "\n      No source code will be used from this directory!\n"
+          add_source_path=""
+          sleep 3
+       else
+
+          cd $add_source_path
+          found=false
+
+          Names=$(ls -1 *.f90 2>&1)
+          [[ $(echo $Names | grep -c '*.f90') = 0 ]]  &&  AddFilenames="$Names"
+          Names=$(ls -1 *.F90 2>&1)
+          [[ $(echo $Names | grep -c '*.F90') = 0 ]]  &&  AddFilenames="$AddFilenames $Names"
+          Names=$(ls -1 *.F 2>&1)
+          [[ $(echo $Names | grep -c '*.F') = 0   ]]  &&  AddFilenames="$AddFilenames $Names"
+          Names=$(ls -1 *.f 2>&1)
+          [[ $(echo $Names | grep -c '*.f') = 0   ]]  &&  AddFilenames="$AddFilenames $Names"
+          Names=$(ls -1 *.c 2>&1)
+          [[ $(echo $Names | grep -c '*.c') = 0   ]]  &&  AddFilenames="$AddFilenames $Names"
+
+          cd -  > /dev/null
+          cd  SOURCES_FOR_RUN_$fname
+
+             # COPY MAKEFILE IF EXISTING
+          if [[ -f $add_source_path/Makefile ]]
+          then
+             printf "\n\n  *** user Makefile from directory"
+             printf "\n      \"$add_source_path\" is used \n"
+             sleep 1
+             cp  $add_source_path/Makefile  .
+          fi
+
+          for  dateiname  in  $AddFilenames
+          do
+             if [[ -f $dateiname ]]
+             then
+                printf "\n  +++ source code file \"$dateiname\" found in additional"
+                printf "\n      source code directory \"$add_source_path\" "
+                printf "\n      but was also given with option \"-s\" which means that it should be taken"
+                printf "\n      from directory \"$source_path\"."
+                locat=source; exit
+             fi
+
+             cp  $add_source_path/$dateiname  .
+             source_list="$source_list $dateiname"
+
+                # CHECK IF FILE IS CONTAINED IN MAKEFILE
+             if [[ $(grep -c $dateiname Makefile) = 0 ]]
+             then
+                printf "\n\n  +++ user file \"$dateiname\" "
+                printf "\n      is not listed in Makefile \n"
+                locat=source; exit
+             else
+
+                # Default User-Interface von der Liste entfernen, falls Datei
+                # ein User-Interface enthaelt
+#             if [[ $( cat $dateiname | grep -c "END SUBROUTINE user_parin" ) != 0 ]]
+#             then
+#                if [[ $dateiname != user_interface.f90  &&  -f user_interface.f90 ]]
+#                then
+#                   rm -rf  user_interface.f90
+#                   source_list=`echo $source_list | sed -e 's/user_interface.f90//'`
+#                   printf "\n\n  *** default \"user_interface.f90\" removed from the files to be translated"
+#                   printf "\n      since a user-interface is found in file"
+#                   printf "\n      \"$add_source_path/$dateiname\" \n"
+#                   sleep 3
+#                else
+                if [[ $found = false ]]
+                then
+                   found=true
+                   printf "\n\n  *** following user file(s) added to the"
+                   printf " files to be translated:\n      "
+                fi
+                printf "$dateiname  "
+                sleep 0.5
+             fi
+          done
+          [[ $found = true ]]  &&  printf "\n"
+          cd -  > /dev/null
+       fi
+    fi
+
+
+       # ALLE UNTERPROGRAMME, DIE ZU VEREINBARTEN SOFTWAREPAKETEN GEHOEREN,
+       # DER LISTE DER ZU UEBERSETZENDEN DATEIEN HINZUFUEGEN
+    if [[ $restart_run != true  &&  -n $package_list ]]
+    then
+
+       cd  $source_path
+
+       for  package  in  $package_list
+       do
+
+          [[ $package = "dvrp_graphics+1PE" ]]  &&  package=dvrp_graphics
+
+             # ERMITTELE ALLE DATEIEN, DIE ZUM PAKET GEHOEREN
+             # FEHLERMELDUNGEN WERDEN ABGEFANGEN, DA * AUCH VERZEICHNISSNAMEN
+             # LIEFERT
+          package_source_list=`grep "defined( __$package " * 2>/dev/null | cut -f1 -d:`
+
+
+             # FUEGE DIESE DATEIEN DER LISTE DER ZU UEBERSETZENDEN DATEIEN
+             # HINZU, FALLS SIE NOCH NICHT DAZUGEHOEREN
+          for  source_list_name  in  $package_source_list
+          do
+             if [[ $(echo $source_list | grep -c $source_list_name) = 0 ]]
+             then
+
+                    # NUR DATEIEN MIT GUELTIGEN ENDUNGEN VERWENDEN
+                ending=`echo $source_list_name | cut -f2 -d.`
+                if [[ "$ending" = f90  ||  "$ending" = F90  ||  "$ending" = f  ||  "$ending" = F  ||  "$ending" = c ]]
+                then
+                   cp  $source_list_name  $working_directory/SOURCES_FOR_RUN_$fname
+                   source_list="$source_list $source_list_name"
+                fi
+             fi
+          done
+       done
+
+       cd -  > /dev/null
+    fi
+
+
+       # MAKEFILE AUF VORHANDENSEIN PRUEFEN UND KOPIEREN
+       # BEI RESTART-LAEUFEN LIEGT ES SCHON IM VERZEICHNIS SOURCES_FOR_RUN...
+#    if [[ "$restart_run" != true ]]
+#    then
+#       [[ "$makefile" = "" ]]  &&  makefile=$source_path/Makefile
+#       if [[ ! -f $makefile ]]
+#       then
+#          printf "\n  +++ file \"$makefile\" does not exist"
+#          locat=make; exit
+#       else
+#          cp  $makefile  SOURCES_FOR_RUN_$fname/Makefile 
+#       fi
+#    fi
+
+ fi  # do_compile=true
+
+
+    # FALLS PROGRAMMTEILE UEBERSETZT WERDEN SOLLEN, FOLGEN JETZT EINIGE
+    # UEBERPRUEFUNGEN UND DAS SETZEN DER PRAEPROZESSOR-DIREKTIVEN
+ if [[ $do_compile = true ]]
+ then
+
+       # PRAEPROZESSOR-DIREKTIVEN ZUM SELEKTIVEN AUSWAEHLEN VON CODETEILEN
+       # ZUSAMMENSETZEN
+       # DIREKTIVEN ZUM AKTIVIEREN VON RECHNERSPEZIFISCHEM CODE
+    if [[ $(echo $localhost | cut -c1-3) = ibm ]]
+    then
+       cpp_options="${cpp_options},-D__ibm=__ibm"
+    elif [[ $(echo $localhost | cut -c1-3) = nec ]]
+    then
+       cpp_options="$cpp_options -D__nec"
+    elif [[ $(echo $localhost | cut -c1-2) = lc ]]
+    then
+       cpp_options="$cpp_options -D__lc"
+    else
+       cpp_options="$cpp_options -D__$localhost"
+    fi
+
+       # DIREKTIVEN DIE DURCH OPTION -K BESTIMMT WERDEN (Z.B. PARALLEL)
+    if [[ $(echo $localhost | cut -c1-3) = ibm ]]
+    then
+       [[ -n $cond1 ]]  &&  cpp_options="${cpp_options},-D__$cond1=__$cond1"
+       [[ -n $cond2 ]]  &&  cpp_options="${cpp_options},-D__$cond2=__$cond2"
+    else
+       [[ -n $cond1 ]]  &&  cpp_options="$cpp_options -D__$cond1"
+       [[ -n $cond2 ]]  &&  cpp_options="$cpp_options -D__$cond2"
+    fi
+
+       # DIREKTIVEN DIE SOFTWAREPAKETE AKTIVIEREN (OPTION -p)
+    if [[ -n $package_list ]]
+    then
+       for  package  in  $package_list
+       do
+          if [[ $(echo $localhost | cut -c1-3) = ibm ]]
+          then
+             if [[ $package != "dvrp_graphics+1PE" ]]
+             then
+                cpp_options="${cpp_options},-D__$package=__$package"
+             else
+                cpp_options="${cpp_options},-D__dvrp_graphics=__dvrp_graphics"
+                export use_seperate_pe_for_dvrp_output=true
+             fi
+          else
+             if [[ $package != "dvrp_graphics+1PE" ]]
+             then
+                cpp_options="$cpp_options -D__$package"
+             else
+                cpp_options="$cpp_options -D__dvrp_graphics"
+                export use_seperate_pe_for_dvrp_output=true
+             fi
+          fi
+       done
+    fi
+
+       # DIREKTIVEN DIE DURCH OPTION -D FESTGELEGT SIND
+    if [[ -n $cpp_opts ]]
+    then
+       for  popts  in  $cpp_opts
+       do
+          if [[ $(echo $localhost | cut -c1-3) = ibm ]]
+          then
+             cpp_options="${cpp_options},-D__$popts=__$popts"
+          else
+             cpp_options="$cpp_options -D__$popts"
+          fi
+       done
+    fi
+
+ else
+
+
+       # BEI LOKALEN RECHNUNGEN PRUEFEN, OB EXECUTABLE VORHANDEN
+    if [[ $do_remote = false ]]
+    then
+       if [[ ! -f $executable ]]
+       then
+          printf "\n  +++ executable file:  $executable"
+          printf "\n      does not exist"
+          locat=executable; exit
+       fi
+    fi
+ fi
+
+
+    # JOBMODUS FESTSTELLEN 
+ if [[ "$ENVIRONMENT" = BATCH  &&  $localhost != lctit  ||  "$QUEUE" != interactive  &&  $localhost = lctit ]]
+ then
+    jobmo=BATCH
+ else
+    jobmo=INTERACTIVE
+ fi
+
+
+    # HOSTSPEZIFISCHE DEFAULT-COMPILER SETZEN, FALLS NICHT BEREITS
+    # DURCH BENUTZER ANDERWEITIG VEREINBART
+ if [[ "$compiler_name" = "" ]]
+ then
+
+    printf "\n  +++ no compiler specified for \"$host $cond1 $cond2\""
+    locat=compiler_name; exit
+
+ fi
+
+
+    # COMPILER AUF RIAMS NEC UEBERSCHREIBEN
+ [[ $localhost = necriam ]]  &&  compiler_name=mpif90
+
+
+
+    # TEMPORAEREN KATALOGNAMEN BESTIMMEN
+ kennung=$RANDOM
+ if [[ "$tmp_user_catalog" = "" ]]
+ then
+    if [[ $localhost = ibmh ]]
+    then
+       tmp_user_catalog=$SCRATCH
+    elif [[ $localhost = nech ]]
+    then
+       tmp_user_catalog=$WRKSHR
+    else
+       tmp_user_catalog=/tmp
+    fi
+ fi
+ TEMPDIR=$tmp_user_catalog/${usern}.$kennung
+
+
+    # KATALOGNAMEN FUER ZWISCHENSPEICHERUNG VON FORTSETZUNGSLAUFDATEIEN
+    # BESTIMMEN
+ if [[ "$tmp_data_catalog" = "" ]]
+ then
+    if [[ $localhost = ibmb ]]
+    then
+       tmp_data_catalog=$WORK/mrun_restart_data
+    elif [[ $localhost = nech ]]
+    then
+       tmp_data_catalog=$WRKSHR/mrun_restart_data
+    else
+       tmp_data_catalog=/tmp/mrun_restart_data
+    fi
+ fi
+
+
+    # EVENTUELL BEI LOKALEN RECHNUNGEN $-ZEICHEN IN ENVIRONMENT-VARIABLEN
+    # ERSETZEN
+ if [[ $do_remote = false  &&  $do_compile = true ]]
+ then
+    eval  fopts=\"$fopts\"
+    eval  lopts=\"$lopts\"
+ fi
+
+
+
+    # COMPILE- UND LINK-OPTIONEN BESTIMMEN
+ fopts="$fopts $netcdf_inc $dvr_inc"
+ lopts="$lopts $netcdf_lib $dvr_lib"
+ ROPTS="$ropts"
+ if [[ ( $(echo $host | cut -c1-3) = nec  ||  $(echo $host | cut -c1-3) = ibm  ||  $host = lcsgih  ||  $host = lcsgib  ||  $host = lctit  ||  $host = lcfimm  ||  $host = lcxt4 || $host = lck )  &&  -n $numprocs ]]
+ then
+    XOPT="-X $numprocs"
+ fi
+
+
+
+    # PRUEFEN DER CPU-ZEIT. (CPUMAX WIRD ALS ENV-VARIABLE VOM HAUTPRO-
+    # GRAMM BENOETIGT
+ done=false
+ while [[ $done = false ]]
+ do
+    cputime=$cpumax
+    if (( $cputime == 0 ))
+    then
+       if [[ $do_batch = true ]]
+       then
+          printf "\n  +++ cpu-time is undefined"
+          printf "\n  >>> Please type CPU-time in seconds as INTEGER:"
+          printf "\n  >>> "
+          read  cputime  1>/dev/null  2>&1
+       else
+          cputime=10000000   # NO CPU LIMIT FOR INTERACTIVE RUNS
+       fi
+    else
+       done=true
+    fi
+    cpumax=$cputime
+ done
+
+ (( minuten = cputime / 60 ))
+ (( sekunden = cputime - minuten * 60 ))
+
+
+    # PRUEFEN DER KERNSPEICHERANFORDERUNG
+ if [[ $do_batch = true ]]
+ then
+    done=false
+    while [[ $done = false ]]
+    do
+       if (( memory == 0 ))
+       then
+          printf "\n  +++ memory demand is undefined"
+          printf "\n  >>> Please type memory in  MByte per process  as INTEGER:"
+          printf "\n  >>> "
+          read  memory  1>/dev/null  2>&1
+       else
+          done=true
+       fi
+    done
+ fi
+
+
+    # PRUEFEN, OB FUER REMOTE-RECHNUNGEN EIN BENUTZERNAME ANGEGEBEN WURDE
+ if [[ $do_remote = true  &&  -z $remote_username ]]
+ then
+    while [[ -z $remote_username ]]
+    do
+       printf "\n  +++ username on remote host \"$host\" is undefined"
+       printf "\n  >>> Please type username:"
+       printf "\n  >>> "
+       read  remote_username
+    done
+    mc="$mc -u$remote_username"
+ fi
+
+
+    # SET DEFAULT VALUE FOR MPI MODULE TO BE USED ON SGI-ALTIX
+ if [[ $host = lcsgib  ||  $host = lcsgih ]]
+ then
+    [[ "$mpilib" = "" ]]  &&  export mpilib=mpt
+ fi
+
+
+
+###########################################################################
+# HEADER-AUSGABE
+###########################################################################
+
+
+ calltime=$(date)
+ printf "\n"
+# [[ $silent = false ]]  &&  clear
+ printf "#--------------------------------------------------------------# \n"
+ printf "| $version$calltime | \n"
+ printf "|                                                              | \n"
+ spalte1="called on:"; spalte2=$localhost_realname
+ printf "| $spalte1$spalte2 | \n"
+ if [[ $local_compile = false ]]
+ then
+    if [[ $do_remote = true ]]
+    then
+       spalte1="execution on:"; spalte2="$host (username: $remote_username)"
+    else
+       spalte1="execution on:"; spalte2="$host ($localhost_realname)"
+    fi
+ else
+    spalte1="compiling test only!"; spalte2=""
+ fi
+ printf "| $spalte1$spalte2 | \n"
+ if [[ -n $numprocs ]]
+ then
+    spalte1="number of PEs:"; spalte2=$numprocs
+    printf "| $spalte1$spalte2 | \n"
+ fi
+ if [[ -n $tasks_per_node ]]
+ then
+    spalte1="tasks per node:"; spalte2="$tasks_per_node (number of nodes: $nodes)"
+    printf "| $spalte1$spalte2 | \n"
+ fi
+ if [[ $threads_per_task != 1 ]]
+ then
+    spalte1="threads per task:"; spalte2="$threads_per_task"
+    printf "| $spalte1$spalte2 | \n"
+ fi
+ printf "|                                                              | \n"
+ if [[ $do_compile = true ]]
+ then
+    spalte1=cpp-directives:; spalte2=$cpp_options
+    printf "| $spalte1$spalte2 | \n"
+    zeile=$(echo "$cpp_options" | cut -c41-)
+    while [[ "$zeile" != "" ]]
+    do
+       spalte1=""
+       spalte2=$zeile
+       printf "| $spalte1$spalte2 | \n"
+       zeile=$(echo "$zeile" | cut -c41-)
+    done
+
+    spalte1=compiler-options:; spalte2="$fopts"
+    printf "| $spalte1$spalte2 | \n"
+    zeile=$(echo "$fopts" | cut -c41-)
+    while [[ "$zeile" != "" ]]
+    do
+       spalte1=""
+       spalte2=$zeile
+       printf "| $spalte1$spalte2 | \n"
+       zeile=$(echo "$zeile" | cut -c41-)
+    done
+
+    spalte1=linker-options:; spalte2=$lopts
+    printf "| $spalte1$spalte2 | \n"
+    zeile=$(echo "$lopts" | cut -c41-)
+    while [[ "$zeile" != "" ]]
+    do
+       spalte1=""
+       spalte2=$zeile
+       printf "| $spalte1$spalte2 | \n"
+       zeile=$(echo "$zeile" | cut -c41-)
+    done
+
+    spalte1="main program":; spalte2=$mainprog
+    printf "| $spalte1$spalte2 | \n"
+ else
+    spalte1=executable:; spalte2=$executable
+    printf "| $spalte1$spalte2 | \n"
+ fi
+ printf "|                                                              | \n"
+ spalte1="base name of files":; spalte2=$fname
+ printf "| $spalte1$spalte2 | \n"
+ if [[ $fname != $afname ]]
+ then
+    spalte1="base name of input files":; spalte2=$afname
+    printf "| $spalte1$spalte2 | \n"
+ fi
+ spalte1="INPUT control list":; spalte2=$input_list
+ printf "| $spalte1$spalte2 | \n"
+ spalte1="OUTPUT control list":; spalte2=$output_list
+ printf "| $spalte1$spalte2 | \n"
+
+ if [[ $do_batch = true  ||  "$LOADLBATCH" = yes ]]
+ then
+    spalte1="memory demand / PE":; spalte2="$memory MB"
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=CPU-time:; spalte2="$minuten:$sekunden"
+    printf "| $spalte1$spalte2 | \n"
+ fi
+
+ if [[ $do_compile = true ]]
+ then
+    printf "|                                                              | \n"
+    printf "| Files to be compiled:                                        | \n"
+    zeile=$source_list
+    while [[ "$zeile" != "" ]]
+    do
+       spalte3=$zeile
+       printf "| $spalte3 | \n"
+       zeile=$(echo "$zeile" | cut -c61-)
+    done
+ fi
+ printf "#--------------------------------------------------------------#"
+
+
+
+    # BEDINGTE AUSGABE DER DATEIVERBINDUNGEN
+ if [[ $do_trace = true ]]
+ then
+    (( i = 0 ))
+    while (( i < iin ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n >>> INPUT-file assignments:\n"
+       fi
+       printf "\n     ${localin[$i]} :  ${absnamein[$i]}"
+    done
+    (( i = 0 ))
+    while (( i < iout ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n >>> OUTPUT-file assignments:\n"
+       fi
+       printf "\n     ${localout[$i]} :  ${pathout[$i]}"
+    done
+    (( i = 0 ))
+    while (( i < iic ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n >>> INPUT-commands:\n"
+       fi
+       printf "\n     ${in_command[$i]}" 
+    done
+    (( i = 0 ))
+    while (( i < ioc ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n >>> OUTPUT-commands:\n"
+       fi
+       printf "\n     ${out_command[$i]}" 
+    done
+ fi
+
+
+    # ABFRAGEN BEI AUFRUF AUF LOKALER MASCHINE 
+ if [[ $remotecall = false  &&  $silent = false  &&  $jobmo != BATCH ]]
+ then
+    antwort=dummy
+    printf "\n\n"
+    while [[ "$antwort" != y  &&  "$antwort" != Y  &&  "$antwort" != n  &&  "$antwort" != N ]]
+    do
+       printf " >>> everything o.k. (y/n) ?  "
+       read  antwort
+    done
+    if [[ $antwort = n  ||  $antwort = N ]]
+    then
+       locat=user_abort; (( iec = 0 )); exit
+    fi
+    if [[ $do_batch = true ]]
+    then
+       printf " >>> batch-job will be created and submitted"
+    else
+       if [[ $local_compile = false ]]
+       then
+          printf " >>> MRUN will now continue to execute on this machine"
+       else
+          printf " >>> a test compilation will now be carried out on this machine"
+       fi
+    fi
+ fi
+ 
+
+
+
+     # FALLS AUF DIESER MASCHINE GERECHNET WERDEN SOLL, WERDEN JETZT ENTSPRE-
+     # CHENDE AKTIONEN DURCHGEFUEHRT
+ if [[ $do_batch = false ]]
+ then
+
+
+       # TEMPORAEREN KATALOG ERZEUGEN
+    mkdir -p  $TEMPDIR
+    chmod  go+rx  $TEMPDIR
+    tmpcreate=true
+
+
+       # SAEMTLICHE QUELLTEXT-DATEIEN BZW. AUSFUEHRBARES PROGRAMM IN 
+       # TEMPORAERES VERZEICHNIS KOPIEREN
+    if [[ $do_compile = true ]]
+    then
+
+          # ON NEC, COMPILATION IS DONE ON HOST CROSS VIA CROSS COMPILING
+          # CREATE A TEMPORARY DIRECTORY ON THAT MACHINE (HOME MOUNTED VIA NFS)
+       if [[ $localhost = nech ]]
+       then
+          TEMPDIR_COMPILE=$HOME/work/${usern}.$kennung
+          if  mkdir -p  $TEMPDIR_COMPILE
+          then
+             printf "\n  *** \"$TEMPDIR_COMPILE\" "
+             printf "\n      is generated as temporary directory for cross compiling\n"
+          else
+             printf "\n  +++ creating directory \"$TEMPDIR_COMPILE\" "
+             printf "\n      needed for cross compilation failed"
+             locat=compile
+             exit
+          fi
+       else
+          TEMPDIR_COMPILE=$TEMPDIR
+       fi
+
+
+          # PFADNAMEN FUER DAS MAKE-DEPOSITORY ERMITTELN
+       line=""
+       grep "%depository_path" $config_file  >  tmp_mrun
+       while read line
+       do
+          if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+          then
+             if [[ "$(echo $line | cut -d" " -s -f3)" = "" ]]
+             then
+                global_depository_path=`echo $line | cut -d" " -s -f2`
+             fi
+          fi
+       done < tmp_mrun
+
+       line=""
+       grep  " $localhost" $config_file | grep "%depository_path"  >  tmp_mrun
+       while read line
+       do
+          if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
+          then
+             if [[ "$(echo $line | cut -d" " -s -f4)" = "$cond1"  &&  "$(echo $line | cut -d" " -s -f5)" = "$cond2" ]]
+             then
+                local_depository_path=`echo $line | cut -d" " -s -f2`
+             fi
+          fi
+       done < tmp_mrun
+
+       if [[ "$local_depository_path" = "" ]]
+       then
+          if [[ "$global_depository_path" != "" ]]
+          then
+             local_depository_path=$global_depository_path
+          else
+             printf "\n\n  +++ no depository path found in configuration file"
+             printf "\n      for local host \"$localhost\" "
+             printf "\n      please set \"\%depository_path\" in configuration file\n"
+             locat=config_file; exit
+          fi
+       fi
+       eval local_depository_path=$local_depository_path
+       [[ "$cond1" != "" ]]  &&  local_depository_path=${local_depository_path}_$cond1
+       [[ "$cond2" != "" ]]  &&  local_depository_path=${local_depository_path}_$cond2
+
+
+       basename=`print $mainprog | cut -f1 -d"."`
+       eval make_depository=${local_depository_path}/${basename}_current_version.tar
+       if [[ ! -f $make_depository ]]
+       then
+          printf "\n"
+          printf "\n  *** WARNING: make depository \"$make_depository\" not found"
+          printf "\n               \"make\" will fail, if the Makefile or other source files are missing\n"
+       else
+          cp  $make_depository  $TEMPDIR_COMPILE
+          cd  $TEMPDIR_COMPILE
+          tar -xf  $make_depository  >  /dev/null  2>&1
+          cd -  > /dev/null
+       fi
+
+       cp  SOURCES_FOR_RUN_$fname/*  $TEMPDIR_COMPILE
+
+          # FALLS USER-INTERFACE VORHANDEN UND AUF DATEI MIT ANDEREM NAMEN
+          # ALS user_interface.f90 LIEGT, DIESEN GEAENDERTEN NAMEN INS
+          # MAKEFILE EINTRAGEN
+#       cd  $TEMPDIR_COMPILE
+#       interface_file=`grep -l "END SUBROUTINE user_parin" $source_list`
+#       if [[ "$interface_file" != "" ]]
+#       then
+#          interface_file=`echo $interface_file | cut -d"." -f1`
+#          mv  Makefile  Makefile_old
+#          sed "s/user_interface/$interface_file/g"  Makefile_old  >  Makefile
+#       fi
+#       cd -  > /dev/null
+    else
+       cp  $executable   ${TEMPDIR}/a.out
+    fi
+
+
+       # WECHSEL IN TEMPORAEREN KATALOG
+    cd $TEMPDIR
+    printf "\n  *** changed to temporary directory: $TEMPDIR"
+
+
+       # OUTPUT-DATEI-VERBINDUNGEN AUF TEMPORAERER DATEI ABLEGEN
+       # DIESE DATEI KANN VON SPAETER AUFZURUFENDEN BENUTZERPROZEDUREN GELESEN
+       # WERDEN, UM ZU LOKALEN DATEINAMEN GEHOERENDE PERMANENTE NAMEN ZU
+       # ERMITTELN
+    (( i = 0 ))
+    while (( i < iout ))
+    do
+       (( i = i + 1 ))
+       if [[ "${actionout[$i]}" = tr  ||  "${actionout[$i]}" = tra  ||  "${actionout[$i]}" = trpe ]]
+       then
+          printf "${localout[$i]} ${actionout[$i]}\n${pathout[$i]}\n${localhost}_${fname}${endout[$i]}\n" >> OUTPUT_FILE_CONNECTIONS
+       else
+          printf "${localout[$i]} ${actionout[$i]}\n${pathout[$i]}\n${frelout[$i]}\n" >> OUTPUT_FILE_CONNECTIONS
+       fi
+    done
+
+
+       # EVTL. UEBERSETZUNGSAKTIONEN STARTEN
+    if [[ $do_compile = true ]]
+    then
+
+
+          # COMPILING WITH MAKE (ON NEC COMPILER IS CALLED ON HOST CROSS)
+       printf "\n\n\n  *** compilation starts \n$striche\n"
+       printf "  *** compilation with make using following options:\n"
+       printf "      make depository:          $make_depository"
+       printf "      compilername:             $compiler_name\n"
+       printf "      options:                  $fopts\n"
+       printf "      preprocessor-directives:  $cpp_options \n"
+       printf "      linker-options:           $lopts \n"
+       printf "      source code files:        $source_list \n"
+
+       if [[ $localhost = nech ]]
+       then
+          ssh  136.172.44.192 -l $usern ". /SX/opt/etc/initsx.sh; cd \$HOME/work/${usern}.$kennung; sxmake -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
+          cp  $TEMPDIR_COMPILE/a.out  .
+          [[ $? != 0 ]]  &&  compile_error=true
+          rm -rf  $TEMPDIR_COMPILE
+       elif [[ $localhost = ibmh ]]
+       then
+          printf "      compiler is called via ssh on \"plogin1\" \n"
+          ssh  plogin1  -l $usern  "export PATH=/sw/ibm/xlf/12.1.0.3/usr/bin:$PATH; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
+          [[ ! -f a.out ]]  &&  compile_error=true
+          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
+       elif [[ $localhost = lcsgib ]]
+       then
+          printf "      compiler is called via ssh on \"bicegate\" using module \"$mpilib\" \n"
+          ssh  130.73.232.103  -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
+          [[ ! -f a.out ]]  &&  compile_error=true
+          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
+       elif [[ $localhost = lcsgih ]]
+       then
+          printf "      compiler is called via ssh on \"hicegate2\" using module \"$mpilib\" \n"
+          ssh  130.75.4.103  -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
+          [[ ! -f a.out ]]  &&  compile_error=true
+          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
+       else
+          [[ $localhost = lctit ]]  &&  export LM_LICENSE_FILE=27050@tggls
+          make -f Makefile PROG=a.out  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$fopts"  LDFLAGS="$lopts"
+       fi
+
+       if [[ $? != 0  ||  "$compile_error" = true  ||  "$module_compile_error" = true ]]
+       then
+          printf "\n  +++ error occured while compiling or linking"
+          locat=compile
+
+  # WORKAROUND: REMOVE IF CONSTRUCT LATER, BUT KEEP THE EXIT!
+#          if [[ $localhost != lcsgib  &&  $localhost != lcsgih ]]
+#          then
+             exit
+#          else
+#             locat=normal
+#          fi
+       else
+          printf "$striche\n  *** compilation finished \n"
+       fi
+    fi
+
+
+       # FALLS NUR TESTWEISE KOMPILIERT WERDEN SOLLTE, IST MRUN JETZT FERTIG
+    if [[ $local_compile = true ]]
+    then
+       cd  $HOME
+       rm -rf $TEMPDIR
+       locat=local_compile; exit
+    fi
+
+
+       # BEREITSTELLEN DER INPUT-DATEIEN
+       # SCHLEIFE UEBER ALLE VOM BENUTZER ANGEGEBENEN DATEIEN
+    (( i = 0 ))
+    while (( i < iin ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n  *** providing INPUT-files:\n$striche"
+       fi
+
+
+          # OPTIONALE DATEIEN BEI NICHTVORHANDENSEIN UEBERGEHEN
+       if [[ "${transin[$i]}" = unavailable ]]
+       then
+          if [[ "${extin[$i]}" = ""  ||  "${extin[$i]}" = " " ]]
+          then
+             printf "\n  +++ WARNING: input file \"${pathin[$i]}/${afname}${endin[$i]}\" "
+             printf "\n               is not available!"
+          else
+             printf "\n  +++ WARNING: input file \"${pathin[$i]}/${afname}${endin[$i]}.${extin[$i]}\" "
+             printf "\n               is not available!"
+          fi
+          continue
+       fi
+
+          # PRUEFEN, OB EINZELDATEI ODER DATEI PRO PROZESSOR
+       files_for_pes=false; datentyp=file
+       if [[ "${actionin[$i]}" = pe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; datentyp=directory
+          actionin[$i]=""
+       elif [[ "${actionin[$i]}" = pe  &&  ! -n $numprocs ]]
+       then
+          actionin[$i]=""
+       elif [[ "${actionin[$i]}" = arpe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; datentyp=directory
+          actionin[$i]="ar"
+       elif [[ "${actionin[$i]}" = arpe  &&  ! -n $numprocs ]]
+       then
+          actionin[$i]="ar"
+       elif [[ "${actionin[$i]}" = flpe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; datentyp=directory
+          actionin[$i]="fl"
+       elif [[ "${actionin[$i]}" = flpe  &&  ! -n $numprocs ]]
+       then
+          actionin[$i]="fl"
+       fi
+
+       if [[ $files_for_pes = true ]]
+       then
+          printf "\n  >>> INPUT: ${absnamein[$i]}/....  to  ${localin[$i]}"
+       else
+          printf "\n  >>> INPUT: ${absnamein[$i]}  to  ${localin[$i]}"
+       fi
+
+          # INPUT-DATEI FUER EINEN FORTSETZUNGSLAUF. ES WIRD GEPRUEFT,
+          # OB DIESE DATEI NOCH AUF DEM TEMPORAEREN DATENKATALOG VORHANDEN
+          # IST. FALLS NICHT, WIRD VERSUCHT, SIE ANSCHLIESSEND VOM ARCHIV-
+          # SERVER ZU HOLEN
+       if [[ "${actionin[$i]}" = fl ]]
+       then
+          printf "\n      $datentyp will be fetched from temporary directory \"${tmp_data_catalog}\" !"
+          if [[ $files_for_pes = false ]]
+          then
+             if [[ -f "$tmp_data_catalog/${frelin[$i]}" ]]
+             then
+                ln  $tmp_data_catalog/${frelin[$i]}  ${localin[$i]}
+                got_tmp[$i]=true
+             elif [[ -f "$WORK/${frelin[$i]}"  &&  $ignore_archive_error = true ]]
+             then
+                printf "\n  +++ $datentyp not found in \"$tmp_data_catalog\" !"
+                printf "\n  *** trying to use backup copy in \"$WORK\" "
+                cp  $WORK/${frelin[$i]}  ${localin[$i]}
+             else
+                printf "\n  +++ $datentyp not found in \"$tmp_data_catalog\" "
+                printf "\n      or \"$tmp_data_catalog\" does not exist!"
+                printf "\n  *** trying to get copy from archive"
+                actionin[$i]=ar
+             fi
+          else
+             if [[ -d "$tmp_data_catalog/${frelin[$i]}" ]]
+             then
+                mkdir  ${localin[$i]}
+                cd $tmp_data_catalog/${frelin[$i]}
+                for file in $(ls *)
+                do
+                   ln $file $TEMPDIR/${localin[$i]}
+                done
+                cd $TEMPDIR
+                got_tmp[$i]=true
+             elif [[ -d "$WORK/${frelin[$i]}"  &&  $ignore_archive_error = true ]]
+             then
+                printf "\n  +++ $datentyp not found in \"$tmp_data_catalog\" !"
+                printf "\n  *** trying to use backup copy in \"$WORK\" "
+                cp -r  $WORK/${frelin[$i]}  ${localin[$i]}
+             else
+                printf "\n  +++ $datentyp not found in \"$tmp_data_catalog\" "
+                printf "\n      or \"$tmp_data_catalog\" does not exist!"
+                printf "\n  *** trying to get copy from archive"
+                actionin[$i]=ar
+             fi
+          fi
+       fi
+
+
+          # DATEI LIEGT AUF ARCHIV-SERVER
+       if [[ "${actionin[$i]}" = ar ]]
+       then
+
+          if [[ $files_for_pes = false ]]
+          then
+             printf "\n      file will be restored from archive-system ($archive_system)!"
+          else
+             printf "\n      directory will be restored from archive-system ($archive_system)!"
+          fi
+
+          file_restored=false
+
+          if [[ $archive_system = asterix ]]
+          then
+             do_stagein=true
+             (( stagein_anz = 0 ))
+             while [[ $do_stagein = true ]]
+             do
+                if [[ $files_for_pes = false ]]
+                then
+                   stagein  -O  ${frelin[$i]}  >  STAGEIN_OUTPUT
+                else
+                   stagein  -t  -O  ${frelin[$i]}  >  STAGEIN_OUTPUT
+                fi
+                cat  STAGEIN_OUTPUT
+                if [[ $(grep -c "st.msg:i24"  STAGEIN_OUTPUT) != 0 ]]
+                then
+                   file_restored=true
+                   do_stagein=false
+                else
+                   (( stagein_anz = stagein_anz + 1 ))
+                   if (( stagein_anz == 10 ))
+                   then
+                      printf "\n  +++ stagein stoped after 10 tries"
+                      locat=stage
+                      exit
+                   fi
+                   printf "\n  +++ restoring from archive failed, trying again:"
+                   sleep 900
+                fi
+             done
+          elif [[ $archive_system = DMF ]]
+          then
+             if [[ $files_for_pes = false ]]
+             then
+                printf "\n  +++ restoring of single files impossible with $archive_system !\n"
+                locat=DMF
+                exit
+             else
+                find  $ARCHIVE/${frelin[$i]}  -type m  -print  |  dmget
+                cp  -r $ARCHIVE/${frelin[$i]}  $PWD
+                file_restored=true
+             fi
+          elif [[ $archive_system = tivoli ]]
+          then
+             if [[ $files_for_pes = false ]]
+             then
+                if [[ $localhost = ibmh ]]
+                then
+                   ssh  $usern@hdata.hlrn.de  "cp  $PERM/${frelin[$i]}  $PWD"
+                else
+                   ssh  $usern@bdata.hlrn.de  "cp  $PERM/${frelin[$i]}  $PWD"
+                fi
+             else
+                (( inode = 0 ))
+                while (( inode < nodes ))
+                do
+                   if [[ $localhost = ibmh ]]
+                   then
+                      ssh  $usern@hdata.hlrn.de  "cd $PWD; tar  xf  $PERM/${frelin[$i]}/${frelin[$i]}.node_$inode.tar"
+                   else
+                      ssh  $usern@bdata.hlrn.de  "cd $PWD; tar  xf  $PERM/${frelin[$i]}/${frelin[$i]}.node_$inode.tar"
+                   fi
+                   (( inode = inode + 1 ))
+                done
+             fi
+             file_restored=true
+          elif [[ $archive_system = ut ]]
+          then
+             if [[ $files_for_pes = false ]]
+             then
+                cp  $UT/${frelin[$i]}  .
+             else
+                (( inode = 0 ))
+                while (( inode < nodes ))
+                do
+                   tar  xf  $UT/${frelin[$i]}/${frelin[$i]}.node_$inode.tar
+                   (( inode = inode + 1 ))
+                done
+             fi
+             file_restored=true
+          else
+             printf "\n  +++ archive_system=\"$archive_system\"   restore impossible!"
+             locat=rearchive
+             exit
+          fi
+
+          if [[ $file_restored = true ]]
+          then
+
+                # DATEI AUCH AUF TEMPORAERES DATENVERZEICHNIS LEGEN, DAMIT
+                # SIE BEI WEITEREN ZUGRIFFEN NOCH VORHANDEN IST
+             [[ ! -d $tmp_data_catalog ]]  &&  mkdir -p  $tmp_data_catalog; chmod  g+rx  $tmp_data_catalog
+             if [[ $files_for_pes = false ]]
+             then
+                ln  -f  ${frelin[$i]}  $tmp_data_catalog/${frelin[$i]}
+             else
+                mkdir  $tmp_data_catalog/${frelin[$i]}
+                ln  -f  ${frelin[$i]}/*  $tmp_data_catalog/${frelin[$i]}
+             fi
+             got_tmp[$i]=true
+
+                # DATEI UNTER LOKALEM NAMEN ZUR VERFUEGUNG STELLEN
+             mv  ${frelin[$i]}  ${localin[$i]}
+
+          fi
+       fi
+
+
+          # DATEI LIEGT IM VOM BENUTZER ANGEGEBENEN VERZEICHNIS
+       if [[ "${actionin[$i]}" = ""  ||  "${actionin[$i]}" = "di"  ||  "${actionin[$i]}" = "npe" ]]
+       then
+
+          if [[ "${actionin[$i]}" = "npe"  &&  -n $numprocs ]]
+          then
+
+                # DATEI WIRD FUER DIE PROZESSOREN EINES PARALLERECHNERS BEREITGESTELLT
+             printf "\n      file will be provided for $numprocs processors"
+             mkdir  ${localin[$i]}
+             ival=$numprocs
+             (( ii = 0 ))
+             while (( ii <= ival-1 ))
+             do
+                if (( ii < 10 ))
+                then
+                   cp  ${absnamein[$i]}  ${localin[$i]}/_000$ii
+                elif (( ii < 100 ))
+                then
+                   cp  ${absnamein[$i]}  ${localin[$i]}/_00$ii
+                elif (( ii < 1000 ))
+                then
+                   cp  ${absnamein[$i]}  ${localin[$i]}/_0$ii
+                else
+                   cp  ${absnamein[$i]}  ${localin[$i]}/_$ii
+                fi
+                (( ii = ii + 1 ))
+             done
+
+          else
+
+             if [[ $files_for_pes = true ]]
+             then
+
+                   # DIE DEN PROZESSOREN EINES PARALLELRECHNERS ZUGEHOERIGEN
+                   # DATEIEN WERDEN BEREITGESTELLT, INDEM ZUERST DER GESAMTE
+                   # KATALOGINHALT KOPIERT UND DANN DIE EINZELNEN DATEIEN
+                   # PER MOVE UMBENANNT WERDEN
+                printf "\n      providing $numprocs files for the respective processors"
+                mkdir  ${localin[$i]}
+		if [[ $link_local_input = true ]]
+		    then
+		    printf "      using ln -f\n"
+		    cd ${absnamein[$i]}
+		    for file in $(ls *)
+		      do
+		      ln -f $file  ${localin[$i]}
+		    done
+		    cd $TEMPDIR
+		fi
+                # If "ln -f" fails of if "$link_local_input = false" do a normal "cp -r"
+		if [[ ! -f "${localin[$i]}/_0000" ]]
+		    then
+		    if [[ $link_local_input = true ]]
+			then
+			printf "      ln failed for .../_0000, using cp...\n"
+		    fi
+		    cp -r  ${absnamein[$i]}/*  ${localin[$i]}
+		fi
+
+             else
+                   # BEREITSTELLUNG AUF EINPROZESSORRECHNERN
+		if [[ $link_local_input = true ]]
+		then
+		    printf "      using ln -f\n"
+		    ln -f  ${absnamein[$i]}  ${localin[$i]}
+		fi
+		# If "ln -f" fails of if "$link_local_input = false" do a normal "cp"
+		if [[ ! -f "${localin[$i]}" ]]
+                then
+		    if [[ $link_local_input = true ]]
+	            then
+			printf "      ln failed, using cp...\n"
+		    fi
+		    cp  ${absnamein[$i]}  ${localin[$i]}
+                fi
+             fi
+          fi
+       fi
+
+    done
+    if (( i != 0 ))
+    then
+       printf "\n$striche\n  *** all INPUT-files provided \n"
+    fi
+
+
+       # EVENTUELLE INPUT-KOMMANDOS ABARBEITEN
+    (( i = 0 ))
+    while (( i < iic ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n  *** execution of INPUT-commands:\n$striche"
+       fi
+       printf "\n  >>> ${in_command[$i]}"
+       eval  ${in_command[$i]}
+       if (( i == iic ))
+       then
+          printf "\n$striche\n"
+       fi
+    done
+
+
+       # VERBLEIBENDE CPU-ZEIT BERECHNEN
+    cpurest=${cpumax}.
+
+
+       # START DVR STREAMING SERVER
+    if [[ $(echo $package_list | grep -c dvrp_graphics) != 0 ]]
+    then
+       if [[ "$dvr_server" != "" ]]
+       then
+
+          printf "\n\n  *** preparing the dvr streaming server configuration file"
+
+             # Check, if a dvr server is already running
+          running_dvrserver_id=`echo $(ps -edaf | grep .dvrserver.config | grep -v grep) | cut -d" " -f2`
+          if [[ "$running_dvrserver_id" != "" ]]
+          then
+
+             printf "\n\n  +++ WARNING: A dvr server with id=$running_dvrserver_id is already running!"
+             printf "\n      This server is used instead starting a new one!"
+             printf "\n      If required, script \"process_dvr_output\" has to be run manually."
+
+          else
+
+                # COPY CONFIGURATION FILE FOR STREAMING SERVER FROM REPOSITORY TO HERE
+             if [[ -f ${PALM_BIN}/.dvrserver.config ]]
+             then
+                cp  ${PALM_BIN}/.dvrserver.config  .
+
+                   # Entering the BASEDIR, UID and GID into this file
+                user_id=`id -u`
+                group_id=`id -g`
+                   # & is needed as seperator, because TEMPDIR contains /
+                sed "s&<replace by dvr data directory>&${TEMPDIR}&g" .dvrserver.config > .dvrserver.1
+                sed "s/<replace by user id>/$user_id/g"    .dvrserver.1 > .dvrserver.2
+                sed "s/<replace by group id>/$group_id/g"  .dvrserver.2 > .dvrserver.3
+                mv  .dvrserver.3  .dvrserver.config
+                rm  .dvrserver.1  .dvrserver.2
+
+                   # Start dvr server in background, get his id and print on terminal
+                $dvr_server  .dvrserver.config  >>  DVR_LOGFILE  2>&1  &
+                dvrserver_id=`echo $(ps -edaf | grep .dvrserver.config) | cut -d" " -f2`
+                printf "\n  *** streaming server with id=$dvrserver_id is started in background"
+                local_dvrserver_running=.TRUE.
+             else
+                printf "\n  +++ missing file \".dvrserver.config\" in directory:"
+                printf "\n      \"$PALM_BIN\" "
+                locat=dvr
+                exit
+             fi
+
+          fi
+
+       else
+          printf "\n\n  --- INFORMATIVE: no dvr streaming server will be started"
+       fi
+    fi
+
+
+       # NAMELIST-DATEI MIT WERTEN VON ENVIRONMENT-VARIABLEN ERZEUGEN (ZU
+       # LESEN VON PALM)
+    cat  >  ENVPAR  <<  %%END%%
+ &envpar  run_identifier = '$fname', host = '$localhost',
+          write_binary = '$write_binary', tasks_per_node = $tasks_per_node,
+          maximum_cpu_time_allowed = ${cpumax}.,
+          revision = '$global_revision',
+          local_dvrserver_running = $local_dvrserver_running /
+
+%%END%%
+
+
+       # PROGRAMMSTART
+    printf "\n\n  *** execution starts in directory\n      \"`pwd`\"\n$striche\n"
+    PATH=$PATH:$TEMPDIR
+
+       # MPI debug option (argument checking, slows down execution due to increased latency)
+    if [[ "$mpi_debug" = true ]]
+    then
+       export MPI_CHECK_ARGS=1
+       printf "\n  +++ MPI_CHECK_ARGS=$MPI_CHECK_ARGS"
+    fi
+
+    if [[ "$cond1" = debug  ||  "$cond2" = debug ]]
+    then
+       if [[ "$ENVIRONMENT" = BATCH ]]
+       then
+          if [[ $(echo $localhost | cut -c1-5) != lcsgi ]]
+          then
+             printf "\n  +++ debug is allowed in interactive mode only"
+             locat=debug
+             exit
+          fi
+       fi
+       if [[ $localhost = decalpha ]]
+       then
+          dxladebug  a.out
+       elif [[ $localhost = ibmb  ||  $localhost = ibmh ]]
+       then
+
+             # SETUP THE IBM MPI ENVIRONMENT
+          export MP_SHARED_MEMORY=yes
+          export AIXTHREADS_SCOPE=S
+          export OMP_NUM_THREADS=$threads_per_task
+          export AUTHSTATE=files
+          export XLFRTEOPTS="nlwidth=132:err_recovery=no"    # RECORD-LENGTH OF NAMELIST-OUTPUT
+
+             # FOLLOWING OPTIONS ARE MANDATORY FOR TOTALVIEW
+          export MP_ADAPTER_USE=shared
+          export MP_CPU_USE=multiple
+          export MP_TIMEOUT=1200
+
+          unset  MP_TASK_AFFINITY
+
+             # SO FAR, TOTALVIEW NEEDS HOSTFILE MECHANISM FOR EXECUTION
+          #(( ii = 1 ))
+          #while (( ii <= $numprocs ))
+          #do
+          #   echo  $localhost_realname  >>  hostfile
+          #   (( ii = ii + 1 ))
+          #done
+          #export MP_HOSTFILE=hostfile
+
+          if [[ "$LOADLBATCH" = yes ]]
+          then
+             totalview   poe  a.out  $ROPTS
+          else
+             echo totalview   poe  -a a.out  -procs $numprocs  -rmpool 0  -nodes 1   $ROPTS
+             export TVDSVRLAUNCHCMD=ssh
+             totalview   poe  -a a.out  -procs $numprocs  -rmpool 0  -nodes 1   $ROPTS
+          fi
+       elif [[ $(echo $localhost | cut -c1-5) = lcsgi ]]
+       then
+             # CURRENTLY NO DEBUGGER ON LCSGI
+          if [[ $run_coupled_model = true ]]
+          then
+             printf "\n  +++ no debug in coupled mode available on \"$localhost\" "
+             locat=debug
+             exit
+          else
+             echo "no_coupling"  >  runfile_atmos
+          fi
+          (( ii = $numprocs / $threads_per_task ))
+          export OMP_NUM_THREADS=$threads_per_task
+          echo "OMP_NUM_THREADS=$OMP_NUM_THREADS"
+          if [[ $threads_per_task != 1 ]]
+          then
+             printf "\n      threads per task: $threads_per_task"
+          fi
+          printf "\n\n"
+          if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
+          then
+#             export MPI_LAUNCH_TIMEOUT=360
+             if [[ "$totalview" = true ]]
+             then
+                printf "\n     running totalview debugger"
+                mpiexec_mpt -tv -n $ii   ./a.out  $ROPTS  < runfile_atmos
+             else
+                mpiexec_mpt -np $ii   ./a.out  $ROPTS  < runfile_atmos
+             fi
+          elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
+          then
+#             ulimit -s 300000   # A too large stack size causes problems
+#             export MV2_NUM_PORTS=2
+#             export MV2_CPU_MAPPING=0:1:2:3
+             if [[ "$totalview" = true ]]
+             then
+                printf "\n     running totalview debugger"
+                mpiexec -tv ./a.out  $ROPTS  < runfile_atmos
+             else
+                mpiexec    ./a.out  $ROPTS  < runfile_atmos
+             fi
+          fi
+       else 
+          printf "\n  +++ no debug available on \"$localhost\" "
+          printf "\n      or not implemented in mrun so far"
+          locat=debug
+          exit
+       fi
+    else
+       if [[ -n $numprocs ]]
+       then
+             # RUNNING THE PROGRAM ON PARALLEL MACHINES
+          if [[ $(echo $host | cut -c1-3) = ibm ]]
+          then
+                # SETUP THE IBM MPI ENVIRONMENT
+             if [[ $host != ibmh ]]
+             then
+                export MP_SHARED_MEMORY=yes
+                export AIXTHREAD_SCOPE=S
+                export OMP_NUM_THREADS=$threads_per_task
+                export XLSMPOPTS="spins=0:yields=0:stack=20000000"
+                export AUTHSTATE=files
+                export XLFRTEOPTS="nlwidth=132:err_recovery=no"    # RECORD-LENGTH OF NAMELIST-OUTPUT
+                #  export MP_PRINTENV=yes
+
+                   # TUNING-VARIABLEN ZUR VERBESSERUNG DER KOMMUNIKATION
+                   # ZEIGEN ABER DERZEIT (SEP 04, FEDERATION) KAUM WIRKUNG
+                export MP_WAIT_MODE=poll
+                [[ $node_usage = not_shared ]]  &&  export MP_SINGLE_THREAD=yes
+             fi
+             if [[ "$LOADLBATCH" = yes ]]
+             then
+                printf "\n--- Control: OMP_NUM_THREADS = \"$OMP_NUM_THREADS\" \n"
+                if [[ "$cond1" = hpmcount  ||  "$cond2" = hpmcount ]]
+                then
+                   /opt/optibm/HPM_2_4_1/bin/hpmcount  a.out  $ROPTS
+                else
+                   if [[ $run_coupled_model = false ]]
+                   then
+                      if [[ "$ocean_file_appendix" = true ]]
+                      then
+                         echo "precursor_ocean"  >  runfile_atmos
+                      else
+                         echo "precursor_atmos"  >  runfile_atmos
+                      fi
+                   else
+                      (( iia = $numprocs_atmos / $threads_per_task ))
+                      (( iio = $numprocs_ocean / $threads_per_task ))
+                      printf "\n      coupled run ($iia atmosphere, $iio ocean)"
+                      printf "\n      using $coupled_mode coupling"
+                      printf "\n\n"
+                      echo "coupled_run $iia $iio"  >  runfile_atmos
+                   fi
+                   poe ./a.out  $ROPTS  <  runfile_atmos
+                fi
+             else
+                if [[ $localhost = ibmb  ||  $localhost = ibmh  ||  $localhost = ibms ]]
+                then
+                   poe  a.out  -procs $numprocs  -nodes 1  -rmpool 0  $ROPTS
+                elif [[ $localhost = ibmy ]]
+                then
+                   if [[ -f $hostfile ]]
+                   then
+                      cp  $hostfile  hostfile
+                   else
+                      (( ii = 1 ))
+                      while (( ii <= $numprocs ))
+                      do
+                         echo  $localhost_realname  >>  hostfile
+                         (( ii = ii + 1 ))
+                      done
+                   fi
+                   export MP_HOSTFILE=hostfile
+                   if [[ $run_coupled_model = false ]]
+                   then
+                      if [[ "$ocean_file_appendix" = true ]]
+                      then
+                         echo "precursor_ocean"  >  runfile_atmos
+                      else
+                         echo "precursor_atmos"  >  runfile_atmos
+                      fi
+                   else
+                      (( iia = $numprocs_atmos / $threads_per_task ))
+                      (( iio = $numprocs_ocean / $threads_per_task ))
+                      printf "\n      coupled run ($iia atmosphere, $iio ocean)"
+                      printf "\n      using $coupled_mode coupling"
+                      printf "\n\n"
+                      echo "coupled_run $iia $iio"  >  runfile_atmos
+                   fi
+                   ./a.out  -procs $tasks_per_node  $ROPTS  <  runfile_atmos
+
+                else
+                   if [[ "$host_file" = "" ]]
+                   then
+                      printf "\n  +++ no hostfile given in configuration file"
+                      locat=config_file
+                      exit
+                   else
+                      eval host_file=$host_file
+                   fi
+                   export MP_HOSTFILE=$host_file
+                   poe  a.out  -procs $numprocs  -tasks_per_node $numprocs  $ROPTS
+                fi
+             fi
+          elif [[ $host = nech  ||  $host = necriam ]]
+          then
+             (( ii = nodes ))
+             if [[ $ii = 1 ]]
+             then
+                export F_ERRCNT=0        # acceptable number of errors before program is stopped
+                export MPIPROGINF=YES
+                #  export F_TRACE=YES|FMT1|FMT2  # output of ftrace informations to job protocol
+                echo "*** execution on single node with mpirun"
+                mpirun  -np $numprocs  ./a.out  $ROPTS
+             else
+                (( i = 0 ))
+                while (( i < ii ))
+                do
+                   echo "-h $i  -p $tasks_per_node  -e ./mpi_exec_shell"  >>  multinode_config
+                   (( i = i + 1 ))
+                done
+
+                echo "#!/bin/sh"                         >   mpi_exec_shell
+                echo " "                                 >>  mpi_exec_shell
+                echo "set -u"                            >>  mpi_exec_shell
+                echo "F_ERRCNT=0"                        >>  mpi_exec_shell
+                echo "MPIPROGINV=YES"                    >>  mpi_exec_shell
+                echo "OMP_NUM_THREADS=$threads_per_task" >>  mpi_exec_shell 
+                echo "cpurest=$cpurest"                  >>  mpi_exec_shell
+                echo "fname=$fname"                      >>  mpi_exec_shell
+                echo "localhost=$localhost"              >>  mpi_exec_shell
+                echo "return_addres=$return_addres"      >>  mpi_exec_shell
+                echo "return_username=$return_username"  >>  mpi_exec_shell
+                echo "tasks_per_node=$tasks_per_node"    >>  mpi_exec_shell
+                echo "write_binary=$write_binary"        >>  mpi_exec_shell
+                echo "use_seperate_pe_for_dvrp_output=$use_seperate_pe_for_dvrp_output"  >>  mpi_exec_shell
+                echo "  "                                >>  mpi_exec_shell
+                echo "export F_ERRCNT"                   >>  mpi_exec_shell
+                echo "export MPIPROGINV"                 >>  mpi_exec_shell
+                echo "export OMP_NUM_THREADS"            >>  mpi_exec_shell
+                echo "export cpurest"                    >>  mpi_exec_shell
+                echo "export fname"                      >>  mpi_exec_shell
+                echo "export localhost"                  >>  mpi_exec_shell
+                echo "export return_addres"              >>  mpi_exec_shell
+                echo "export return_username"            >>  mpi_exec_shell
+                echo "export tasks_per_node"             >>  mpi_exec_shell
+                echo "export write_binary"               >>  mpi_exec_shell
+                echo "export use_seperate_pe_for_dvrp_output"  >>  mpi_exec_shell
+                echo " "                                 >>  mpi_exec_shell
+                echo "exec  ./a.out"                     >>  mpi_exec_shell
+
+                chmod u+x  mpi_exec_shell
+                export MPIPROGINF=YES
+                mpirun  -f multinode_config  &
+                wait
+
+             fi
+          elif [[ $(echo $host | cut -c1-2) = lc  &&  $host != lctit ]]
+          then
+
+                # COPY HOSTFILE FROM SOURCE DIRECTORY OR CREATE IT, IF IT
+                # DOES NOT EXIST
+             if [[ $host != lcsgih  &&  $host != lcsgib ]]
+             then
+                if [[ -f $hostfile ]]
+                then
+                   cp  $hostfile  hostfile
+                else
+                   (( ii = 1 ))
+                   while (( ii <= $numprocs / $threads_per_task ))
+                   do
+                      echo  $localhost_realname  >>  hostfile
+                      (( ii = ii + 1 ))
+                   done
+                fi
+                eval zeile=\"`head -n $ii  hostfile`\"
+                printf "\n  *** running on: $zeile"
+             fi
+
+             (( ii = $numprocs / $threads_per_task ))
+             export OMP_NUM_THREADS=$threads_per_task
+#             echo "OMP_NUM_THREADS=$OMP_NUM_THREADS"
+             if [[ $threads_per_task != 1 ]]
+             then
+                printf "\n      threads per task: $threads_per_task"
+             fi
+             if [[ $run_coupled_model = false ]]
+             then
+                if [[ "$ocean_file_appendix" = true ]]
+                then
+                   echo "precursor_ocean"  >  runfile_atmos
+                else
+                   echo "precursor_atmos"  >  runfile_atmos
+                fi
+                printf "\n\n"
+                if [[ $host = lcsgih  ||  $host = lcsgib ]]
+                then
+                   if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
+                   then
+                          # MPI_DSM_DISTRIBUTE not necessary when MPI_DSM_CPULIST is set
+                          # export MPI_DSM_DISTRIBUTE=1
+                          # MPI_DSM_CPULIST: pin MPI processes to cores
+                      if [[ $use_openmp = false ]]
+                      then
+                         export MPI_DSM_CPULIST="0,1,4,5,2,3,6,7:allhosts"
+                      fi
+                          # MPI_IB_RAILS: use both IB rails on ICE2
+                      export MPI_BUFS_PER_HOST=512
+                      export MPI_IB_RAILS=2
+                          # NECESSARY, IF MORE THAN 4096 PEs ARE USED
+                      export MPI_CONNECTIONS_THRESHOLD=8192
+                      mpiexec_mpt -np $ii   ./a.out  $ROPTS  < runfile_atmos
+
+                          # next is test for openmp usage
+                      # mpiexec -n $ii -pernode  ./a.out  $ROPTS  < runfile_atmos
+                   elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
+                   then
+                      export MV2_NUM_PORTS=2
+                      #  The default setting of MV2_CPU_MAPPING gives best results
+                      #  export MV2_CPU_MAPPING=0,1,4,5,2,3,6,7
+                      mpiexec -np $ii  ./a.out  $ROPTS  < runfile_atmos
+                   fi
+                elif [[ $host = lcxt4 ]]
+                then
+                   aprun  -n $ii  -N $tasks_per_node  a.out  $ROPTS  < runfile_atmos
+                else
+                   mpiexec  -machinefile hostfile  -n $ii  a.out  < runfile_atmos  $ROPTS
+                fi
+             else
+
+                    # currently there is no full MPI-2 support on ICE and XT4
+                (( iia = $numprocs_atmos / $threads_per_task ))
+                (( iio = $numprocs_ocean / $threads_per_task ))
+                printf "\n      coupled run ($iia atmosphere, $iio ocean)"
+                printf "\n      using $coupled_mode coupling"
+                printf "\n\n"
+
+                if [[ $coupled_mode = "mpi2" ]]
+                then
+                   echo "atmosphere_to_ocean $iia $iio"  >  runfile_atmos
+                   echo "ocean_to_atmosphere $iia $iio"  >  runfile_ocean
+                   if [[ $host = lcsgih  ||  $host = lcsgib ]]
+                   then
+
+                      if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
+                      then
+#                         export MPI_LAUNCH_TIMEOUT=360
+                         mpiexec_mpt -np $iia  ./a.out  $ROPTS < runfile_atmos &
+                         mpiexec_mpt -np $iio  ./a.out  $ROPTS < runfile_ocean &
+                      elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
+                      then
+#                         ulimit -s 300000   # A too large stack size causes problems
+#                         export MV2_NUM_PORTS=2
+#                         export MV2_CPU_MAPPING=0:1:2:3
+                         mpiexec -n $iia  ./a.out  $ROPTS < runfile_atmos &
+                         mpiexec -n $iio  ./a.out  $ROPTS < runfile_ocean &
+                      fi
+
+                   elif [[ $host = lcxt4 ]]
+                   then
+
+                      aprun  -n $iia  -N $tasks_per_node  a.out < runfile_atmos  $ROPTS  &
+                      aprun  -n $iio  -N $tasks_per_node  a.out < runfile_ocean  $ROPTS  &
+
+                   else
+                          # WORKAROUND BECAUSE mpiexec WITH -env option IS NOT AVAILABLE ON SOME SYSTEMS
+                       mpiexec  -machinefile hostfile  -n $iia  a.out  $ROPTS  <  runfile_atmos &
+                       mpiexec  -machinefile hostfile  -n $iio  a.out  $ROPTS  <  runfile_ocean &
+#                       mpiexec  -machinefile hostfile  -n $iia  -env coupling_mode atmosphere_to_ocean  a.out  $ROPTS  &
+#                       mpiexec  -machinefile hostfile  -n $iio  -env coupling_mode ocean_to_atmosphere  a.out  $ROPTS  &
+                   fi
+                   wait
+
+                else
+
+                   echo "coupled_run $iia $iio"  >  runfile_atmos
+                   if [[ $host = lcsgih  ||  $host = lcsgib ]]
+                   then
+
+                      if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
+                      then
+#                         export MPI_LAUNCH_TIMEOUT=360
+                         mpiexec_mpt -np $ii  ./a.out  $ROPTS < runfile_atmos
+                      elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
+                      then
+#                         ulimit -s 300000   # A too large stack size causes problems
+#                         export MV2_NUM_PORTS=2
+#                         export MV2_CPU_MAPPING=0:1:2:3
+                         mpiexec  ./a.out  $ROPTS < runfile_atmos
+                      fi
+
+                   elif [[ $host = lcxt4 ]]
+                   then
+
+                      aprun  -n $ii  -N $tasks_per_node  a.out < runfile_atmos  $ROPTS
+
+                   elif [[ $host = lck ]]
+                   then
+                         mpiexec -n $ii  ./a.out  $ROPTS < runfile_atmos &
+                   fi
+                   wait
+                fi
+
+#             if [[ $scirocco = true ]]
+#             then
+#                mpiexec  -machinefile hostfile  -n $ii  a.out  $ROPTS
+#             else
+#                mpirun  -machinefile hostfile  -np $ii  a.out  $ROPTS
+#             fi
+             fi
+          elif [[ $host = decalpha ]]
+          then
+             dmpirun  -np $numprocs  a.out  $ROPTS
+          elif [[ $host = lctit ]]
+          then
+             export runfile=runfile.$kennung
+
+             echo "cd $PWD"                                  >   $runfile
+             echo "export OMP_NUM_THREADS=$OMP_NUM_THREADS"  >>  $runfile
+             echo "export cpurest=$cpurest"                  >>  $runfile
+             echo "export fname=$fname"                      >>  $runfile
+             echo "export localhost=$localhost"              >>  $runfile
+             echo "export return_addres=$return_addres"      >>  $runfile
+             echo "export return_username=$return_username"  >>  $runfile
+             echo "export tasks_per_node=$tasks_per_node"    >>  $runfile
+             echo "export write_binary=$write_binary"        >>  $runfile
+             echo "export use_seperate_pe_for_dvrp_output=$use_seperate_pe_for_dvrp_output"  >>  $runfile
+             echo "./a.out"                                  >>  $runfile
+             chmod  u+x  $runfile
+
+             if [[ "$QUEUE" = interactive ]]
+             then
+                mpirun  -np $numprocs  a.out  $ROPTS
+             else
+		 (( mem_tsubame = $memory / 1024.0 ))
+		 echo "Memory for Tsubame for each process in GB:", $mem_tsubame
+#                n1ge  -fore  -g 1S060156  -mpi $numprocs  -mem 4  -N palm  -q $queue  a.out  $ROPTS
+#               /n1ge/TITECH_GRID/tools/bin/n1ge -fore -g $group_number -mpi ${numprocs}:$tasks_per_node -mem $mem_tsubame -N palm -rt $minuten -q $queue  a.out  $ROPTS
+                 n1ge -fore -g $group_number -mpi ${numprocs}:$tasks_per_node -mem $mem_tsubame -N palm -rt $minuten -q $queue  a.out  $ROPTS
+             fi
+
+             rm  $runfile
+          else
+             mpprun  -n $numprocs  a.out  $ROPTS
+          fi
+          [[ $? != 0 ]]  &&  execution_error=true
+
+
+             # PERFORMANCE-AUSWERTUNG MIT APPRENTICE
+          if [[ "$cond1" = apprentice  ||  "$cond2" = apprentice ]]
+          then
+             apprentice
+          fi
+       else
+          a.out  $ROPTS
+       fi
+    fi
+    if [[ $? != 0  ||  $execution_error = true ]]
+    then
+
+          # ABBRUCH BEI LAUFZEITFEHLER
+#       [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output*
+       printf "\n  +++ runtime error occured"
+       locat=execution
+       exit
+    else
+#       [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output*
+       printf "\n$striche\n  *** execution finished \n"
+
+          # Stop the dvr streaming server and process the dvr output in order
+          # to create dvrs- and html-files containing all streams
+       if [[ "$dvrserver_id" != "" ]]
+       then
+          kill $dvrserver_id
+          printf "\n  *** dvr server with id=$dvrserver_id has been stopped"
+
+             # If there is a directory, data have been output by the
+             # streaming server. Otherwise, user has chosen dvrp_output=local
+          if [[ -d DATA_DVR ]]
+          then
+
+                # Add the current dvr configuration file to the dvr output
+                # directory
+             cp  .dvrserver.config  DATA_DVR
+
+                # Process the dvr output (option -s for also generating
+                # sequence mode data)
+             process_dvr_output  -d DATA_DVR  -f $fname  -s
+
+          else
+
+                # Process the local output
+             process_dvr_output  -l  -d DATA_DVR  -f $fname
+
+          fi
+
+       elif [[ $(echo $package_list | grep -c dvrp_graphics) != 0 ]]
+       then
+
+             # Process dvr output generated in local mode (dvrp_output=local)
+          process_dvr_output  -l  -d DATA_DVR  -f $fname
+
+       fi
+    fi
+
+
+
+       # EVENTUELLE OUTPUT-KOMMANDOS ABARBEITEN
+    (( i = 0 ))
+    while (( i < ioc ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n  *** execution of OUTPUT-commands:\n$striche"
+       fi
+       printf "\n  >>> ${out_command[$i]}"
+       eval  ${out_command[$i]}
+       if (( i == ioc ))
+       then
+          printf "\n$striche\n"
+       fi
+    done
+
+
+       # EVTL. INHALT DES AKTUELLEN VERZEICHNISSES AUSGEBEN
+    if [[ $do_trace = true ]]
+    then
+       printf "\n\n"
+       ls -al
+    fi
+
+
+
+       # OUTPUT-DATEIEN AN IHRE ZIELORTE KOPIEREN
+    (( i = 0 ))
+    while (( i < iout ))
+    do
+       (( i = i + 1 ))
+       if (( i == 1 ))
+       then
+          printf "\n\n  *** saving OUTPUT-files:\n$striche"
+       fi
+
+          # PRUEFEN, OB EINZELDATEI ODER DATEI PRO PROZESSOR
+       files_for_pes=false; filetyp=file
+       if [[ "${actionout[$i]}" = pe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; filetyp=directory
+          actionout[$i]=""
+       elif [[ "${actionout[$i]}" = pe  &&  ! -n $numprocs ]]
+       then
+          actionout[$i]=""
+       elif [[ "${actionout[$i]}" = arpe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; filetyp=directory
+          actionout[$i]="ar"
+       elif [[ "${actionout[$i]}" = arpe  &&  ! -n $numprocs ]]
+       then
+          actionout[$i]="ar"
+       elif [[ "${actionout[$i]}" = flpe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; filetyp=directory
+          actionout[$i]="fl"
+       elif [[ "${actionout[$i]}" = flpe  &&  ! -n $numprocs ]]
+       then
+          actionout[$i]="fl"
+       elif [[ "${actionout[$i]}" = trpe  &&  -n $numprocs ]]
+       then
+          files_for_pes=true; filetyp=directory
+          actionout[$i]="tr"
+       elif [[ "${actionout[$i]}" = trpe  &&  ! -n $numprocs ]]
+       then
+          actionout[$i]="tr"
+       fi
+
+       if [[ ! -f ${localout[$i]}  &&  $files_for_pes = false ]]
+       then
+          printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}  does not exist\n"
+       elif [[ ! -d ${localout[$i]}  &&  $files_for_pes = true ]]
+       then
+          printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}/....  does not exist\n"
+       else
+
+
+             # KOPIEREN PER FTP/SCP (IMMER IM BINAERMODUS, -M: FALLS ZIELKATALOG
+             # NICHT VORHANDEN, WIRD VERSUCHT, IHN ANZULEGEN), ABER NUR BEI
+             # REMOTE-RECHNUNGEN
+          if [[ "${actionout[$i]}" = tr ]]
+          then
+             if [[ $localhost != $fromhost ]]
+             then
+                if [[ $files_for_pes = false ]]
+                then
+                   cps=""
+                   cst=""
+                else
+                   cps=-c
+                   cst="/"
+                fi
+                if [[ $localhost = ibmb  ||  $localhost = nech ]]
+                then
+
+                      # TRANSFER IN EIGENSTAENDIGEM JOB
+                      # ZUERST KOPIE DER DATEI INS TEMPORAERE DATENVERZEICHNIS
+                   [[ ! -d $tmp_data_catalog/TRANSFER ]]  &&  mkdir -p  $tmp_data_catalog/TRANSFER
+                   file_to_transfer=${fname}_${localout[$i]}_to_transfer_$kennung
+                   if [[ $files_for_pes = false ]]
+                   then
+                      ln -f  ${localout[$i]}  $tmp_data_catalog/TRANSFER/$file_to_transfer
+                   else
+                      mkdir  $tmp_data_catalog/TRANSFER/$file_to_transfer
+                      ln  ${localout[$i]}/*  $tmp_data_catalog/TRANSFER/$file_to_transfer
+                   fi
+
+                   echo "set -x"                                    >    transfer_${localout[$i]}
+                   echo "cd  $tmp_data_catalog/TRANSFER"            >>   transfer_${localout[$i]}
+
+                   printf "\n  >>> OUTPUT: ${localout[$i]}$cst  by SCP in seperate job to"
+                   printf "\n              ${pathout[$i]}/${localhost}_${fname}${endout[$i]}$cst"
+                   printf "\n              or higher cycle\n"
+                   echo "batch_scp $cps -b -m -u $return_username $return_addres  $file_to_transfer \"${pathout[$i]}\" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}"  >>  transfer_${localout[$i]}
+
+                   echo "[[ \$? = 0 ]]  &&  rm  $file_to_transfer"  >>  transfer_${localout[$i]}
+
+                   if [[ $localhost = nech ]]
+                   then
+                      subjob  -d  -c /pf/b/$usern/job_queue  -v  -q pp  -X 0  -m 1000  -t 900  transfer_${localout[$i]}
+                   else
+                      if [[ "$LOGNAME" = b323013 ]]
+                      then
+                         subjob  -v  -q c1  -X 0  -m 1000  -t 900  -c $job_catalog  transfer_${localout[$i]}
+                      else
+                         subjob  -d  -v  -q c1  -X 0  -m 1000  -t 900  -c $job_catalog  transfer_${localout[$i]}
+                      fi
+                   fi
+
+                else
+
+                      # TRANSFER INNERHALB DIESES JOBS
+                   transfer_failed=false
+                   printf "\n  >>> OUTPUT: ${localout[$i]}$cst  by SCP to"
+                   printf "\n              ${pathout[$i]}/${localhost}_${fname}${endout[$i]}$cst\n"
+                   batch_scp $cps -b -m -u $return_username $return_addres  ${localout[$i]} "${pathout[$i]}" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}
+                   [[ $? != 0 ]]  &&  transfer_failed=true
+
+                      # BEI FEHLGESCHLAGENEM TRANSFER SICHERUNGSKOPIE AUF
+                      # LOKALER MASCHINE ANLEGEN
+                   if [[ $transfer_failed = true ]]
+                   then
+                      printf "  +++ transfer failed. Trying to save a copy on the local host under:\n"
+                      printf "      ${pathout[$i]}/${localhost}_${fname}${endout[$i]}_$kennung\n"
+
+                         # ERSTMAL PRUEFEN, OB VERZEICHNIS EXISTIERT. GEGEBENENFALLS
+                         # ANLEGEN.
+                      eval  local_catalog=${pathout[$i]}
+                      if [[ ! -d $local_catalog ]]
+                      then
+                         printf "  *** local directory does not exist. Trying to create:\n"
+                         printf "      $local_catalog \n"
+                         mkdir -p  $local_catalog
+                      fi
+                      eval  cp  ${localout[$i]}  ${pathout[$i]}/${localhost}_${fname}${endout[$i]}_$kennung
+                      transfer_problems=true
+                   fi
+                fi
+             else
+
+                   # WERTZUWEISUNG, SO DASS WEITER UNTEN NUR KOPIERT WIRD
+                actionout[$i]=""
+             fi
+          fi
+
+
+             # APPEND PER FTP/SCP (IMMER IM BINAERMODUS, -M: FALLS ZIELKATALOG
+             # NICHT VORHANDEN, WIRD VERSUCHT, IHN ANZULEGEN), ABER NUR BEI
+             # REMOTE-RECHNUNGEN
+          if [[ "${actionout[$i]}" = tra ]]
+          then
+             if [[ $localhost != $fromhost ]]
+             then
+                if [[ $localhost = ibmh  ||  $localhost = ibmb  ||  $localhost = nech ]]
+                then
+
+                      # TRANSFER IN EIGENSTAENDIGEM JOB
+                      # ZUERST KOPIE DER DATEI INS TEMPORAERE DATENVERZEICHNIS
+                   [[ ! -d $tmp_data_catalog/TRANSFER ]]  &&  mkdir -p  $tmp_data_catalog/TRANSFER
+                   file_to_transfer=${fname}_${localout[$i]}_to_transfer_$kennung
+                   ln -f  ${localout[$i]}  $tmp_data_catalog/TRANSFER/$file_to_transfer
+
+                   echo "set -x"                                    >    transfer_${localout[$i]}
+                   echo "cd  $tmp_data_catalog/TRANSFER"            >>   transfer_${localout[$i]}
+
+                   printf "\n  >>> OUTPUT: ${localout[$i]}  append by SCP in seperate job to"
+                   printf "\n              ${pathout[$i]}/${localhost}_${fname}${endout[$i]}"
+                   printf "\n              or higher cycle\n"
+                   echo "batch_scp -A -b -m -u $return_username $return_addres  $file_to_transfer \"${pathout[$i]}\" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}"  >>  transfer_${localout[$i]}
+
+                   echo "[[ \$? = 0 ]]  &&  rm  $file_to_transfer"  >>  transfer_${localout[$i]}
+
+                   if [[ $localhost = nech ]]
+                   then
+                      subjob  -d  -c /pf/b/$usern/job_queue  -v  -q pp  -X 0  -m 1000  -t 900  transfer_${localout[$i]}
+                   else
+                      if [[ $LOGNAME = b323013 ]]
+                      then
+                         subjob  -v  -q c1  -X 0  -m 1000  -t 900  -c $job_catalog  transfer_${localout[$i]}
+                      else
+                         subjob  -d  -v  -q c1  -X 0  -m 1000  -t 900  -c $job_catalog  transfer_${localout[$i]}
+                      fi
+                   fi
+
+                else
+
+                      # TRANSFER INNERHALB DIESES JOBS
+                   transfer_failed=false
+                   printf "\n  >>> OUTPUT: ${localout[$i]}  append by SCP to"
+                   printf "\n              ${pathout[$i]}/${localhost}_${fname}${endout[$i]}\n"
+                   batch_scp -A -b -m -u $return_username  $return_addres ${localout[$i]} "${pathout[$i]}" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}
+                   [[ $? != 0 ]]  &&  transfer_failed=true
+
+                      # BEI FEHLGESCHLAGENEM TRANSFER SICHERUNGSKOPIE AUF
+                      # LOKALER MASCHINE ANLEGEN
+                   if [[ $transfer_failed = true ]]
+                   then
+                      printf "  +++ transfer failed. Trying to save a copy on the local host under:\n"
+                      printf "      ${pathout[$i]}/${localhost}_${fname}${endout[$i]}_$kennung\n"
+
+                         # ERSTMAL PRUEFEN, OB VERZEICHNIS EXISTIERT. GEGEBENENFALLS
+                         # ANLEGEN
+                      eval  local_catalog=${pathout[$i]}
+                      if [[ ! -d $local_catalog ]]
+                      then
+                         printf "  *** local directory does not exist. Trying to create:\n"
+                         printf "      $local_catalog \n"
+                         mkdir -p  $local_catalog
+                      fi
+
+                      eval  cp  ${localout[$i]}  ${pathout[$i]}/${localhost}_${fname}${endout[$i]}_$kennung
+                      transfer_problems=true
+                   fi
+                fi
+             else
+
+                   # WERTZUWEISUNG, SO DASS WEITER UNTEN NUR APPEND AUF
+                   # LOKALER MASCHINE DURCHGEFUEHRT WIRD
+                actionout[$i]=a
+             fi
+          fi
+
+
+             # OUTPUT-DATEI FUER EINEN FORTSETZUNGSLAUF. DATEI WIRD PER
+             # LINK AUF DEN TEMPORAEREN DATENKATALOG GELEGT. OPTION -f WIRD
+             # VERWENDET, FALLS DORT NOCH EINE DATEI GLEICHEN NAMENS VORHANDEN
+             # SEIN SOLLTE. ANSCHLIESSEND WIRD SEINE ARCHIVIERUNG ANGESTOSSEN
+          if [[ "${actionout[$i]}" = fl ]]
+          then
+             [[ ! -d $tmp_data_catalog ]]  &&  mkdir -p  $tmp_data_catalog
+             chmod  g+rx  $tmp_data_catalog
+             if [[ $files_for_pes = false ]]
+             then
+                printf "\n  >>> OUTPUT: ${localout[$i]}  to"
+                printf "\n              $tmp_data_catalog/${frelout[$i]} (temporary data catalog)\n"
+                ln -f  ${localout[$i]}  $tmp_data_catalog/${frelout[$i]}
+             else
+                printf "\n  >>> OUTPUT: ${localout[$i]}/....  to"
+                printf "\n              $tmp_data_catalog/${frelout[$i]} (temporary data catalog)\n"
+                mkdir  $tmp_data_catalog/${frelout[$i]}
+                cd ${localout[$i]}
+                for file in $(ls *)
+                do
+                   ln -f $file $tmp_data_catalog/${frelout[$i]}
+                done
+                cd $TEMPDIR
+             fi
+
+
+                # ARCHIVIERUNGSJOB WIRD ERZEUGT UND ABGESCHICKT
+             if [[ $store_on_archive_system = true ]]
+             then
+
+                if [[ $archive_system = asterix ]]
+                then
+                   echo "cd  $tmp_data_catalog"                      >> archive_${frelout[$i]}
+                   if [[ $files_for_pes = false ]]
+                   then
+                      echo "stageout  ${frelout[$i]}  > STAGE_OUTPUT${i}_$kennung" >> archive_${frelout[$i]}
+                   else
+                      echo "stageout -t  ${frelout[$i]}  > STAGE_OUTPUT${i}_$kennung" >> archive_${frelout[$i]}
+                   fi
+                   echo "cat  STAGE_OUTPUT${i}_$kennung"               >> archive_${frelout[$i]}
+                   echo "if [[ \$(grep -c \"st.msg:150\"  STAGE_OUTPUT${i}_$kennung) != 0 ]]" >> archive_${frelout[$i]}
+                   echo "then"                                       >> archive_${frelout[$i]}
+                   echo "   do_stageout=false"                       >> archive_${frelout[$i]}
+                   echo "else"                                       >> archive_${frelout[$i]}
+                   echo "   echo \"  +++ $filetyp ${frelout[$i]}  could not be stored on archive-system\" " >> archive_${frelout[$i]}
+                   echo "   cat  /dev/null  >  ~/job_queue/ARCHIVE_ERROR_$fname" >> archive_${frelout[$i]}
+                   echo "   cat  STAGE_OUTPUT${i}_$kennung  >  ~/job_queue/archive_${frelout[$i]}_error" >> archive_${frelout[$i]}
+                   echo "   echo \"  *** $filetyp ${frelout[$i]} will be copied to \$WORK as backup\" " >> archive_${frelout[$i]}
+                   if [[ $files_for_pes = false ]]
+                   then
+                      echo "   cp   ${frelout[$i]}  \$WORK"                    >> archive_${frelout[$i]}
+                   else
+                      echo "   cp -r  ${frelout[$i]}  \$WORK/${frelout[$i]}"   >> archive_${frelout[$i]}
+                   fi
+                   echo "   echo \"  *** $filetyp ${frelout[$i]} saved\" " >> archive_${frelout[$i]}
+                   echo "fi"                                         >> archive_${frelout[$i]}
+                   echo "rm  STAGE_OUTPUT${i}_$kennung"              >> archive_${frelout[$i]}
+                elif [[ $archive_system = DMF ]]
+                then
+                   echo "cd  $tmp_data_catalog"                      >> archive_${frelout[$i]}
+                   if [[ $files_for_pes = false ]]
+                   then
+                      printf "\n  +++ archiving of single files impossible with $archive_system !\n"
+                      locat=DMF
+                      exit
+                   else
+                         # FUER RECHNER IN JUELICH. DORT KOENNTEN AUCH
+                         # EINZELNE DATEIEN GESICHERT WERDEN (SPAETER KORR.)
+                      echo "rm -rf  \$ARCHIVE/${frelout[$i]}"     >> archive_${frelout[$i]}
+                      echo "cp -r  ${frelout[$i]}  \$ARCHIVE"     >> archive_${frelout[$i]}
+                   fi
+                elif [[ $archive_system = tivoli ]]
+                then
+                   echo "cd  $tmp_data_catalog"                       >> archive_${frelout[$i]}
+                   if [[ $files_for_pes = false ]]
+                   then
+                         # EVENTUELL NOCH VORHANDENE DATEI IM ARCHIV LOSCHEN
+                      echo "set -x"                                   >> archive_${frelout[$i]}
+                      echo "rm  -rf  \$PERM/${frelout[$i]}"           >> archive_${frelout[$i]}
+                      echo "cp  ${frelout[$i]} \$PERM/${frelout[$i]}" >> archive_${frelout[$i]}
+                   else
+
+                      echo "set -x"                                   >> archive_${frelout[$i]}
+                      echo "rm  -rf  \$PERM/${frelout[$i]}/*"         >> archive_${frelout[$i]}
+                      echo "[[ ! -d \$PERM/${frelout[$i]} ]] && mkdir $PERM/${frelout[$i]}" >> archive_${frelout[$i]}
+                      cd  $tmp_data_catalog
+                      all_files=`ls -1 ${frelout[$i]}/*`
+                      cd -  > /dev/null
+                      (( inode = 0 ))
+                      (( tp1   = tasks_per_node + 1 ))
+                      while (( inode < nodes ))
+                      do
+#                         echo "*** all_files = \"$all_files\" "
+                         files=`echo $all_files | cut -d" " -f1-$tasks_per_node`
+                         all_files=`echo $all_files | cut -d" " -f$tp1-`
+#                         echo "*** tasks_per_node = \"$tasks_per_node\" "
+#                         echo "*** files = \"$files\" "
+#                         echo "*** all_files = \"$all_files\" "
+                         echo "tar  cvf \$PERM/${frelout[$i]}/${frelout[$i]}.node_$inode.tar $files"   >> archive_${frelout[$i]}
+                         echo "dsmc incremental  \$PERM/${frelout[$i]}/${frelout[$i]}.node_$inode.tar" >> archive_${frelout[$i]}
+                         echo "dsmmigrate \$PERM/${frelout[$i]}/${frelout[$i]}.node_$inode.tar"        >> archive_${frelout[$i]}
+                         (( inode = inode + 1 ))
+                      done
+#                      echo "rm  -rf  \$PERM/${frelout[$i]}.tar"       >> archive_${frelout[$i]}
+#                      echo "tar  cvf \$PERM/${frelout[$i]}.tar ${frelout[$i]}" >> archive_${frelout[$i]}
+                   fi
+                elif [[ $archive_system = ut ]]
+                then
+                   echo "cd  $tmp_data_catalog"                       >> archive_${frelout[$i]}
+                   if [[ $files_for_pes = false ]]
+                   then
+                         # EVENTUELL NOCH VORHANDENE DATEI IM ARCHIV LOSCHEN
+                      echo "set -x"                                 >> archive_${frelout[$i]}
+                      echo "rm  -rf  \$UT/${frelout[$i]}"           >> archive_${frelout[$i]}
+                      echo "cp  ${frelout[$i]} \$UT/${frelout[$i]}" >> archive_${frelout[$i]}
+                   else
+
+                      echo "set -x"                                 >> archive_${frelout[$i]}
+                      echo "rm  -rf  \$UT/${frelout[$i]}/*"         >> archive_${frelout[$i]}
+                      echo "[[ ! -d \$UT/${frelout[$i]} ]] && mkdir $UT/${frelout[$i]}" >> archive_${frelout[$i]}
+                      cd  $tmp_data_catalog
+                      all_files=`ls -1 ${frelout[$i]}/*`
+                      cd -  > /dev/null
+                      (( inode = 0 ))
+                      (( tp1   = tasks_per_node + 1 ))
+                      while (( inode < nodes ))
+                      do
+                         files=`echo $all_files | cut -d" " -f1-$tasks_per_node`
+                         all_files=`echo $all_files | cut -d" " -f$tp1-`
+                         echo "tar  cvf \$UT/${frelout[$i]}/${frelout[$i]}.node_$inode.tar $files"   >> archive_${frelout[$i]}
+                         (( inode = inode + 1 ))
+                      done
+                   fi
+                elif [[ $archive_system = none ]]
+                then
+                   printf "              +++ archiving on $localhost not available!\n"
+                fi
+
+                if [[ $archive_system != none ]]
+                then
+                   if [[ $localhost = ibmh  ||  $localhost = ibmb ]]
+                   then
+#                      subjob  -d  -v  -q cdata  -X 0  -m 1000  -t 43200  -c $job_catalog  archive_${frelout[$i]}
+                      subjob   -v  -q cdata  -X 0  -m 1000  -t 43200  -c $job_catalog  archive_${frelout[$i]}
+                   elif [[ $localhost = nech ]]
+                   then
+                      subjob  -d  -c /pf/b/$usern/job_queue  -v  -q pp  -X 0  -m 1000  -t 7200  archive_${frelout[$i]}
+                   fi
+                   printf "              Archiving of $tmp_data_catalog/${frelout[$i]} initiated (batch job submitted)\n"
+                fi
+             else
+                printf "              +++ caution: option -A is switched on. No archiving on $archive_system!\n"
+             fi
+
+
+                # LEERDATEI IM BENUTZERVERZEICHNIS ANLEGEN, DAMIT BEKANNT IST,
+                # WIE DIE HOECHSTE ZYKLUSNUMMER AUF DEM ARCHIV-SYSTEM LAUTET
+             if [[ $files_for_pes = false ]]
+             then
+                cat  /dev/null  >  ${pathout[$i]}
+             else
+                mkdir -p  ${pathout[$i]}
+             fi
+
+          fi
+
+
+             # KOPIEREN AUF LOKALER MASCHINE ZUM ARCHIV-SYSTEM
+             # AUSSERDEM MUSS LEERDATEI ANGELEGT WERDEN, DAMIT BEKANNT IST,
+             # WIE DIE HOECHSTE ZYKLUSNUMMER AUF DEM ARCHIV-SYSTEM LAUTET
+             # FALLS IRGENDEINE (VON MEHREREN) ARCHIVIERUNGEN SCHIEF GEHT,
+             # WIRD FLAG GESETZT UND BLEIBT AUCH BEI WEITEREN ORDNUNGS-
+             # GEMAESSEN ARCHIVIERUNGEN GESETZT
+          if [[ "${actionout[$i]}" = ar ]]
+          then
+             if [[ $files_for_pes = false ]]
+             then
+                printf "\n  >>> OUTPUT: ${localout[$i]}  to"
+                printf "\n              ${pathout[$i]}"
+                printf "\n              File will be copied to archive-system ($archive_system) !\n"
+             else
+                printf "\n  >>> OUTPUT: ${localout[$i]}/_....  to"
+                printf "\n              ${pathout[$i]}"
+                printf "\n              Directory will be copied to archive-system ($archive_system) !\n"
+             fi
+             mv  ${localout[$i]}  ${frelout[$i]}
+
+             file_saved=false
+
+             if [[ $archive_system = asterix ]]
+             then
+                do_stageout=true
+                (( stageout_anz = 0 ))
+                while [[ $do_stageout = true ]]
+                do
+                   if [[ $files_for_pes = false ]]
+                   then
+                      stageout  ${frelout[$i]}  > STAGE_OUTPUT
+                   else
+                      stageout  -t  ${frelout[$i]}  > STAGE_OUTPUT
+                   fi
+                   cat  STAGE_OUTPUT
+                   if [[ $(grep -c "st.msg:150"  STAGE_OUTPUT) != 0 ]]
+                   then
+                      file_saved=true
+                      do_stageout=false
+                   else
+                      if [[ $files_for_pes = false ]]
+                      then
+                         printf "\n  +++ file ${frelout[$i]}  could not be saved on archive-system"
+                      else
+                         printf "\n  +++ directory ${frelout[$i]} could not be saved on archive-system"
+                      fi
+                      (( stageout_anz = stageout_anz + 1 ))
+                      if (( stageout_anz == 10 ))
+                      then
+                         printf "\n  +++ stoped after 10 unsuccessful tries!"
+                         archive_save=false
+                         do_stageout=false
+                      else
+                         printf "\n  *** new try to store on archive after 15 min:"
+                         sleep 900
+                      fi
+                   fi
+                done
+             elif [[ $archive_system = DMF ]]
+             then
+                if [[ $files_for_pes = false ]]
+                then
+                   printf "\n  +++ archiving of single files impossible on $archive_system!\n"
+                   locat=DMF
+                   exit
+                else
+                   rm -rf  $ARCHIVE/${frelout[$i]}
+                   cp -r  ${frelout[$i]}  $ARCHIVE
+                fi
+                file_saved=true
+             elif [[ $archive_system = tivoli ]]
+             then
+                   # ARCHIVIERUNG NUR PER BATCH-JOB MOEGLICH
+                   # DATEI MUSS ZWISCHENZEITLICH INS TEMPORAERE DATENVERZEICHNIS
+                   # GELEGT WERDEN
+                [[ ! -d $tmp_data_catalog ]]  &&  mkdir -p  $tmp_data_catalog
+                chmod  g+rx  $tmp_data_catalog
+                if [[ $files_for_pes = false ]]
+                then
+                   ln -f  ${frelout[$i]}  $tmp_data_catalog/${frelout[$i]}
+                else
+                   mkdir  $tmp_data_catalog/${frelout[$i]}
+                   ln -f  ${frelout[$i]}/*  $tmp_data_catalog/${frelout[$i]}
+                fi
+
+                   # BATCH JOB GENERIEREN UND ABSCHICKEN; DATEI MUSS WIEDER
+                   # AUS TEMPORAEREM DATENVERZEICHNIS ENTFERNT WERDEN
+                echo "cd  $tmp_data_catalog"                       >  archive_${frelout[$i]}
+                if [[ $files_for_pes = false ]]
+                then
+                      # EVENTUELL NOCH VORHANDENE DATEI IM ARCHIV LOSCHEN
+                   echo "rm  -rf  \$PERM/${frelout[$i]}"           >> archive_${frelout[$i]}
+                   echo "cp  ${frelout[$i]} \$PERM/${frelout[$i]}" >> archive_${frelout[$i]}
+                   echo "rm  -rf  ${frelout[$i]}"                  >> archive_${frelout[$i]}
+                else
+                   echo "rm  -rf  \$PERM/${frelout[$i]}.tar"       >> archive_${frelout[$i]}
+                   echo "tar  cvf \$PERM/${frelout[$i]}.tar ${frelout[$i]}" >> archive_${frelout[$i]}
+                   echo "rm  -rf  ${frelout[$i]}"                  >> archive_${frelout[$i]}
+                fi
+
+                subjob  -v  -d  -q cdata  -X 0  -m 1000  -t 43200  -c $job_catalog  archive_${frelout[$i]}
+                printf "              Archiving of $tmp_data_catalog/${frelout[$i]} initiated (batch job submitted)\n"
+                file_saved=true
+
+             elif [[ $archive_system = ut ]]
+             then
+                   # ARCHIVIERUNG NUR PER BATCH-JOB MOEGLICH
+                   # DATEI MUSS ZWISCHENZEITLICH INS TEMPORAERE DATENVERZEICHNIS
+                   # GELEGT WERDEN
+                [[ ! -d $tmp_data_catalog ]]  &&  mkdir -p  $tmp_data_catalog
+                chmod  g+rx  $tmp_data_catalog
+                if [[ $files_for_pes = false ]]
+                then
+                   ln -f  ${frelout[$i]}  $tmp_data_catalog/${frelout[$i]}
+                else
+                   mkdir  $tmp_data_catalog/${frelout[$i]}
+                   ln -f  ${frelout[$i]}/*  $tmp_data_catalog/${frelout[$i]}
+                fi
+
+                   # BATCH JOB GENERIEREN UND ABSCHICKEN; DATEI MUSS WIEDER
+                   # AUS TEMPORAEREM DATENVERZEICHNIS ENTFERNT WERDEN
+                echo "cd  $tmp_data_catalog"                       >  archive_${frelout[$i]}
+                if [[ $files_for_pes = false ]]
+                then
+                      # EVENTUELL NOCH VORHANDENE DATEI IM ARCHIV LOSCHEN
+                   echo "rm  -rf  \$UT/${frelout[$i]}"           >> archive_${frelout[$i]}
+                   echo "cp  ${frelout[$i]} \$UT/${frelout[$i]}" >> archive_${frelout[$i]}
+                   echo "rm  -rf  ${frelout[$i]}"                >> archive_${frelout[$i]}
+                else
+                   echo "rm  -rf  \$UT/${frelout[$i]}.tar"       >> archive_${frelout[$i]}
+                   echo "tar  cvf \$UT/${frelout[$i]}.tar ${frelout[$i]}" >> archive_${frelout[$i]}
+                   echo "rm  -rf  ${frelout[$i]}"                >> archive_${frelout[$i]}
+                fi
+
+                subjob  -v  -c /pf/b/$usern/job_queue  -d  -q pp  -X 0  -m 1000  -t 7200  archive_${frelout[$i]}
+                printf "              Archiving of $tmp_data_catalog/${frelout[$i]} initiated (batch job submitted)\n"
+                file_saved=true
+
+             else
+                printf "\n  +++ archive_system=\"$archive_system\"  archiving impossible!"
+                archive_save=false
+             fi
+             if [[ $file_saved = true ]]
+             then
+                if [[ $files_for_pes = false ]]
+                then
+                   cat  /dev/null  >  ${pathout[$i]}
+                else
+                   mkdir -p  ${pathout[$i]}
+                fi
+             fi
+          fi
+
+             # APPEND AUF LOKALER MASCHINE
+          if [[ "${actionout[$i]}" = "a" ]]
+          then
+             printf "\n  >>> OUTPUT: ${localout[$i]}  append to  ${pathout[$i]}\n"
+             cat  ${localout[$i]}  >>  ${pathout[$i]}
+          fi
+
+             # KOPIEREN AUF LOKALER MASCHINE
+             # ES MUSS KOPIERT WERDEN, DA MOVE NICHT UEBER FILESYSTEM HINAUS MOEGLICH
+          if [[ "${actionout[$i]}" = ""  &&  $files_for_pes = false ]]
+          then
+
+                # KOPIEREN AUF EINPROZESSORMASCHINE
+             if [[ "${extout[$i]}" != " "  &&  "${extout[$i]}" != "" ]]
+             then
+                printf "\n  >>> OUTPUT: ${localout[$i]}  to  ${pathout[$i]}.${extout[$i]}\n"
+		if [[ $link_local_output = true ]]
+		then
+		    printf "      using ln -f\n"
+		    ln -f  ${localout[$i]}  ${pathout[$i]}.${extout[$i]}
+		fi
+		# If "ln -f" fails of if "$link_local_output = false" do a normal "cp"
+		if [[ ! -f "${pathout[$i]}.${extout[$i]}" ]]
+                then
+		    if [[ $link_local_output = true ]]
+	            then
+			printf "      ln failed, using cp...\n"
+		    fi
+		    cp  ${localout[$i]}  ${pathout[$i]}.${extout[$i]}
+                fi
+             else
+                printf "\n  >>> OUTPUT: ${localout[$i]}  to  ${pathout[$i]}\n"
+		if [[ $link_local_output = true ]]
+		then
+		    printf "      using ln -f\n"
+		    ln -f  ${localout[$i]}  ${pathout[$i]}
+		fi
+		# If "ln -f" fails of if "$link_local_output = false" do a normal "cp"
+		if [[ ! -f "${pathout[$i]}" ]]
+                then
+		    if [[ $link_local_output = true ]]
+	            then
+			printf "      ln failed, using cp...\n"
+		    fi
+		    cp  ${localout[$i]}  ${pathout[$i]}
+                fi
+             fi
+
+          elif [[ "${actionout[$i]}" = ""  &&  $files_for_pes = true ]]
+          then
+
+                # DIE DEN PROZESSOREN EINES PARALLELRECHNERS ZUGEHOERIGEN
+                # DATEIEN WERDEN ERST IN EINEM KATALOG GESAMMELT UND DIESER
+                # WIRD DANN KOPIERT
+                # PER MOVE UMBENANNT WERDEN
+             printf "\n  >>> OUTPUT: ${localout[$i]}/_....  to  ${pathout[$i]}\n"
+	     if [[ $link_local_output = true ]]
+	     then
+		 printf "      using ln -f\n"
+		 mkdir  ${pathout[$i]}
+		 cd ${localout[$i]}
+		 for file in $(ls *)
+		 do
+		   ln -f $file  ${pathout[$i]}
+		 done
+		 cd $TEMPDIR
+	     fi
+             # If "ln -f" fails of if "$link_local_output = false" do a normal "cp -r"
+	     if [[ ! -f "${pathout[$i]}/_0000" ]]
+             then
+		 if [[ $link_local_output = true ]]
+		 then
+		     printf "      ln failed for .../_0000, using cp...\n"
+		 fi
+		 cp -r  ${localout[$i]}  ${pathout[$i]}
+	     fi
+
+          fi
+       fi
+    done
+    if (( i != 0 ))
+    then
+       if [[ $transfer_problems = true ]]
+       then
+          printf "\n$striche\n  *** OUTPUT-files saved"
+          printf "\n  +++ WARNING: some data transfers failed! \n"
+       else
+          printf "\n$striche\n  *** all OUTPUT-files saved \n"
+       fi
+    fi
+
+
+       # EVENTUELL FOLGEJOB STARTEN
+       # DATEI CONTINUE_RUN MUSS VOM BENUTZERPROGRAMM AUS ERZEUGT WERDEN
+    if [[ -f CONTINUE_RUN ]]
+    then
+
+       if [[ $archive_save = true ]]
+       then
+
+             # ZUERST IN MRUN-AUFRUF OPTIONEN FUER FORTSETZUNGSLAUF, FUER
+             # STILLES ABARBEITEN (OHNE INTERAKTIVE RUECKFAGEN) UND FUER
+             # BATCH-BETRIEB (NUR WICHTIG, FALLS BATCH AUF LOKALER MASCHINE
+             # DURCHGEFUEHRT WERDEN SOLL) EINFUEGEN, FALLS NICHT BEREITS VOR-
+             # HANDEN
+          [[ $(echo $mc | grep -c "\-C") = 0 ]]  &&  mc="$mc -C"
+          [[ $(echo $mc | grep -c "\-v") = 0 ]]  &&  mc="$mc -v"
+          [[ $(echo $mc | grep -c "\-b") = 0 ]]  &&  mc="$mc -b"
+          if [[ $(echo $mc | grep -c "#") != 0 ]]
+          then
+             mc=`echo $mc | sed 's/#/f/g'`
+          fi
+
+
+             # JOB STARTEN
+          printf "\n\n  *** initiating restart-run on \"$return_addres\" using command:\n"
+          echo "      $mc"
+          printf "\n$striche\n"
+          if [[ $localhost != $fromhost ]]
+          then
+
+             if [[ $localhost = lcsgih  ||  $localhost = lcsgib  ||  $localhost = nech  ||  $localhost = ibmb  ||  $localhost = ibmh  ||  $localhost = ibms  ||  $localhost = lctit ]]
+             then
+                echo "*** ssh will be used to initiate restart-runs!"
+                echo "    return_addres=\"$return_addres\" "
+                echo "    return_username=\"$return_username\" "
+                if [[ $return_addres = 172.20.25.41 ]]
+                then
+                      # WORKAROUND AUF SCIROCCO AM TIT
+                   print  "PATH=\$PATH:$LOCAL_MRUN_PATH;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc "  |  ssh $return_addres -l $return_username
+                elif [[ $(echo $return_addres | grep -c "130.75.105") = 1 ]]
+                then
+                   ssh $return_addres -l $return_username "PATH=\$PATH:$LOCAL_MRUN_PATH;export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/muksoft/packages/intel/Compiler/11.0/083/lib/intel64/;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc "
+                else
+                   ssh $return_addres -l $return_username "PATH=\$PATH:$LOCAL_MRUN_PATH;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc "
+                fi
+             else
+                printf "\n  +++ no restart mechanism available for host \"$localhost\" "
+                locat=restart; exit
+             fi
+
+                # WARTEN, DAMIT SICH RESTART JOB IN QUEUE EINREIHEN KANN, BEVOR
+                # DER AKTUELLE JOB ENDET
+             sleep 30
+
+          else
+
+                # BEI RECHNUNGEN AUF LOKALER MASCHINE KANN MRUN DIREKT AUFGE-
+                # RUFEN WERDEN, AUSSER AUF lcfimm
+             cd $LOCAL_PWD
+             if [[ $localhost = lcfimm ]]
+             then
+                ssh $return_addres -l $return_username "PATH=\$PATH:$LOCAL_MRUN_PATH;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc " 
+             else
+                eval  $mc                # ' MUESSEN AUSGEWERTET WERDEN
+             fi
+             cd -  > /dev/null
+          fi
+          printf "\n$striche\n  *** restart-run initiated \n"
+
+
+             # EVENTUELL INPUT-DATEIEN, DIE VON TEMPORAEREM DATENVERZEICHNIS
+             # GEHOLT WORDEN SIND, LOESCHEN
+          (( i = 0 ))
+          while (( i < iin ))
+          do
+             (( i = i + 1 ))
+             if [[ "${got_tmp[$i]}" = true   &&  $keep_data_from_previous_run = false ]]
+             then
+                rm -r  $tmp_data_catalog/${frelin[$i]}
+             fi
+          done
+
+       else
+
+          printf "\n  +++ no restart-run possible, since errors occured"
+          printf "\n      during the archive process"
+       fi
+
+    fi
+
+
+    
+       # EVTL. EMAIL-BENACHRICHTIGUNG UEBER ABGESCHLOSSENEN LAUF
+    if [[ "$email_notification" != "none" ]]
+    then
+
+       if [[ $localhost != $fromhost ]]
+       then
+          if [[ -f CONTINUE_RUN ]]
+          then
+             echo "PALM restart run necessary"        >   email_text
+             echo "description header of actual run:" >>  email_text
+             cat  CONTINUE_RUN                        >>  email_text
+             echo "mrun-command to restart:"          >>  email_text
+             echo "$mc"                               >>  email_text
+          else
+             echo "PALM run with base filename \"$fname\" on host \"$localhost\" finished"  >  email_text
+          fi
+          mail  $email_notification  <  email_text
+          printf "\n  *** email notification sent to \"$email_notification\" "
+       fi
+    fi
+
+
+
+       # ALLE ARBEITEN BEENDET. TEMPORAERER KATALOG KANN GELOESCHT WERDEN
+    cd  $HOME
+    [[ $delete_temporary_catalog = true ]]  &&  rm -rf $TEMPDIR
+
+ else
+
+
+       # FALLS AUF REMOTE-MASCHINE GERECHNET WERDEN SOLL, WERDEN JETZT ENTSPRE-
+       # CHENDE AKTIONEN DURCHGEFUEHRT
+
+       # MRUN-BEFEHL FUER REMOTE-MASCHINE ZUSAMMENSTELLEN
+    mrun_com="$mrun_script_name -a $afname -c $config_file -d $fname -h $host -H $fromhost -m $memory -t $cpumax -q $queue -R $return_addres -U $return_username -u $remote_username"
+    [[ "$cpp_opts" != "" ]]       &&  mrun_com=${mrun_com}" -D \"$cpp_opts\""
+    [[ "$global_revision" != "" ]]  &&  mrun_com=${mrun_com}" -G \"$global_revision\""
+    [[ $group_number != none ]]   &&  mrun_com=${mrun_com}" -g $group_number"
+    [[ $do_compile = true ]]      &&  mrun_com=${mrun_com}" -s \"$source_list\""
+    [[ "$input_list" != "" ]]     &&  mrun_com=${mrun_com}" -i \"$input_list\""
+    [[ $ignore_archive_error = true ]]  &&  mrun_com=${mrun_com}" -I"
+    [[ $keep_data_from_previous_run = true ]]  &&  mrun_com=${mrun_com}" -k"
+    [[ "$additional_conditions" != "" ]]  &&  mrun_com=${mrun_com}" -K \"$additional_conditions\""
+#    [[ "$makefile" != "$source_path/Makefile" ]]  &&  mrun_com=${mrun_com}" -M \"$makefile\""
+    [[ "$output_list" != "" ]]    &&  mrun_com=${mrun_com}" -o \"$output_list\""
+    [[ "$read_from_config" = false ]]  &&  mrun_com=${mrun_com}" -S"
+    [[ $do_trace = true ]]        &&  mrun_com=${mrun_com}" -x"
+    [[ "$numprocs" != "" ]]       &&  mrun_com=${mrun_com}" -X $numprocs"
+    if [[ $use_openmp = true ]]
+    then
+       mrun_com=${mrun_com}" -O"
+       [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $threads_per_task"
+    else
+       [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $tasks_per_node"
+    fi
+    [[ $store_on_archive_system = false ]]  &&  mrun_com=${mrun_com}" -A"
+    [[ $package_list != "" ]]     &&  mrun_com=${mrun_com}" -p \"$package_list\""
+    [[ $return_password != "" ]]  &&  mrun_com=${mrun_com}" -P $return_password"
+    [[ $delete_temporary_catalog = false ]]  &&  mrun_com=${mrun_com}" -B"
+    [[ $node_usage != default  &&  "$(echo $node_usage | cut -c1-3)" != "sla"  &&  $node_usage != novice ]]  &&  mrun_com=${mrun_com}" -n $node_usage"
+    [[ "$ocean_file_appendix" = true ]]  &&  mrun_com=${mrun_com}" -y"
+    [[ $run_coupled_model = true ]]  &&  mrun_com=${mrun_com}" -Y \"$coupled_dist\""
+    if [[ $do_remote = true ]]
+    then
+       printf "\n>>>> MRUN-command on execution host:\n>>>> $mrun_com \n"
+    fi
+
+
+       # ZUSAMMENSTELLUNG DES JOBSCRIPTS AUF DATEI jobfile
+    jobfile=jobfile.$RANDOM
+
+
+       # TEMPORAERES VERZEICHNIS GENERIEREN UND NACH DORT WECHSELN
+    echo  "mkdir  $TEMPDIR"      >>  $jobfile
+    echo  "cd  $TEMPDIR"         >>  $jobfile
+
+
+       # EVENTUELL FEHLERVERFOLGUNG AKTIVIEREN
+    if [[ $do_trace = true ]]
+    then
+       echo  "set -x"                                    >>  $jobfile
+    else
+       echo  "set +vx"                                   >>  $jobfile
+    fi
+
+
+       # BEREITSTELLUNG VON QUELLTEXTEN, MRUN-SCRIPTS UND KONFIGURATIONS-
+       # DATEI FUER DEN JOB
+    if [[ $( echo $host | cut -c1-5 ) = lcsgi ]]
+    then
+
+          # KONFIGURATIONSDATEI UND MRUN_SCRIPT IN DAS SOURCE-VERZEICHNIS
+          # KOPIEREN
+       if [[ $restart_run != true ]]
+       then
+          cp  $config_file  $working_directory/SOURCES_FOR_RUN_$fname
+          cp  ${PALM_BIN}/$mrun_script_name  $working_directory/SOURCES_FOR_RUN_$fname
+       fi
+
+          # SOURCE-VERZEICHNIS VOM LOKALEN RECHNER PER SCP TRANSFERIEREN
+       echo  "set -x"  >>  $jobfile
+       echo  "scp  -r  $return_username@$return_addres:$working_directory/SOURCES_FOR_RUN_$fname ."  >>  $jobfile
+       echo  "export SOURCES_COMPLETE=true"                      >>  $jobfile
+
+          # QUELLTEXTE, MRUN-SCRIPT UND KONFIGURATIONSDATEI IN DAS AKTUELLE
+          # ARBEITSVERZEICHNIS VERSCHIEBEN
+       echo  "mv  SOURCES_FOR_RUN_$fname/$config_file  . "       >>  $jobfile
+       echo  "mv  SOURCES_FOR_RUN_$fname/$mrun_script_name  . "  >>  $jobfile
+       echo  "execute_mrun=true"                                 >>  $jobfile
+       echo  " "                                                 >>  $jobfile
+
+    else
+
+          # ABSPEICHERN DER QUELLTEXTE (NUR FALLS UEBERSETZT WERDEN SOLL)
+          # SOWIE GEGEBENENFALLS DES MAKEFILES
+       if [[ $do_compile = true ]]
+       then
+
+          source_catalog=SOURCES_FOR_RUN_$fname
+
+              # UNTERVERZEICHNIS FUER QUELLTEXTE UND MAKEFILE ANLEGEN
+              # MRUN WIRD DIESES VRZEICHNIS UEBER ENVIRONMENT VARIABLE
+              # MITGETEILT (UEBERSTEUERT ANGABE IN KONFIGURATIONSDATEI)
+          echo  "mkdir  SOURCES_FOR_RUN_$fname"                >>  $jobfile
+          echo  "export SOURCES_COMPLETE=true"                 >>  $jobfile
+          echo  "cd     SOURCES_FOR_RUN_$fname"                >>  $jobfile
+
+          for  filename  in  $source_list
+          do
+                # ABDECKZEICHEN VERHINDERN, DASS ERSETZUNGEN ERFOLGEN
+             echo  "cat > $filename << \"%END%\""              >>  $jobfile
+             cat   $source_catalog/$filename                   >>  $jobfile
+             echo  " "                                         >>  $jobfile
+             echo  "%END%"                                     >>  $jobfile
+             echo  " "                                         >>  $jobfile
+          done
+
+             # ABDECKZEICHEN VERHINDERN, DASS ERSETZUNGEN ERFOLGEN
+          echo  "cat > Makefile << \"%END%\""               >>  $jobfile
+          cat   $source_catalog/Makefile                    >>  $jobfile
+          echo  " "                                         >>  $jobfile
+          echo  "%END%"                                     >>  $jobfile
+          echo  " "                                         >>  $jobfile
+
+          echo  "cd -  > /dev/null"                         >>  $jobfile
+
+       fi
+
+
+          # ABSPEICHERN DER KONFIGURATIONSDATEI
+          # ABDECKZEICHEN VERHINDERN, DASS ERSETZUNGEN ERFOLGEN
+       echo  "cat > $config_file << \"%END%\""      >>  $jobfile
+       cat   $config_file                           >>  $jobfile
+       echo  "%END%"                                >>  $jobfile
+       echo  " "                                    >>  $jobfile
+
+
+          # ABSPEICHERN DER AKTUELLEN MRUN-VERSION
+          # ABDECKZEICHEN VERHINDERN, DASS ERSETZUNGEN ERFOLGEN
+       echo  "cat > $mrun_script_name <<\"%END%\""  >>  $jobfile
+       cat   ${PALM_BIN}/$mrun_script_name          >>  $jobfile
+       echo  "%END%"                                >>  $jobfile
+       if [[ $host = lctit ]]
+       then
+          echo "sed 's/bin\/ksh/home2\/usr5\/mkanda\/pub\/ksh/' < $mrun_script_name > mrun_new" >>  $jobfile
+          echo "mv  mrun_new  $mrun_script_name"    >>  $jobfile
+       fi
+       echo  "chmod u+x $mrun_script_name"          >>  $jobfile
+       echo  "execute_mrun=true"                    >>  $jobfile
+       echo  " "                                    >>  $jobfile
+
+    fi
+
+
+       # EVTL. BENOETIGTE INPUT-DATEIEN PER FTP HOLEN ODER DEM JOB DIREKT
+       # MITGEBEN UND AUF DEM REMOTE-RECHNER IM BENUTZERVERZEICHNIS ABLEGEN
+       # FALLS DIESES NICHT EXISTIERT, WIRD VERSUCHT, DAS JEWEILS LETZTE
+       # UNTERVERZEICHNIS DES PFADNAMENS ANZULEGEN
+    if [[ $do_remote = true ]]
+    then
+       (( i = 0 ))
+       while (( i < iin ))
+       do
+          (( i = i + 1 ))
+          echo  "[[ ! -d ${pathin[$i]} ]]  &&  mkdir -p  ${pathin[$i]}"  >>  $jobfile
+          if [[ "${transin[$i]}" = job ]]
+          then
+             echo  "cat > ${remotepathin[$i]} <<\"%END%\""    >>  $jobfile
+             eval cat   ${pathin[$i]}/${frelin[$i]}           >>  $jobfile
+             echo  " "                                        >>  $jobfile
+             echo  "%END%"                                    >>  $jobfile
+          else
+             echo  "batch_scp -b -o -g -s -u $return_username $return_addres ${remotepathin[$i]} \"${pathin[$i]}\" ${frelin[$i]}" >>  $jobfile
+          fi
+
+             # UEBERPRUEFEN, OB DATEI ANGELEGT WERDEN KONNTE
+          echo  "if [[ \$? = 1 ]]"                    >>  $jobfile
+          echo  "then"                                >>  $jobfile
+          echo  "   echo \" \" "                      >>  $jobfile
+          echo  "   echo \"+++ file ${remotepathin[$i]} could not be created\" "   >>  $jobfile
+          echo  "   echo \"    please check, if directory exists on $host!\" "  >>  $jobfile
+          echo  "   echo \"+++ MRUN will not be continued\" "  >>  $jobfile
+          echo  "   execute_mrun=false"               >>  $jobfile
+          echo  "fi"                                  >>  $jobfile
+       done
+    fi
+
+       # ARBEITSKATALOG AUF DER LOKALEN MASCHINE FUER EVENTUELLE 
+       # FORTSETZUNGSLAUEFE PER ENV-VARIABLE UEBERGEBEN
+    echo  "LOCAL_PWD=$working_directory"                >>  $jobfile
+    echo  "export LOCAL_PWD"                            >>  $jobfile
+
+       # EBENSO LOKALEN MRUN-KATALOG UEBERGEBEN 
+    echo  "LOCAL_MRUN_PATH=$PALM_BIN"                   >>  $jobfile
+    echo  "export LOCAL_MRUN_PATH"                      >>  $jobfile
+
+       # WORKAROUND FUER RIAM-NEC-JOBS WEGEN PROFILE-SCHWIERIGKEITEN
+    if [[ $localhost_realname = "gate"  ||  $localhost = lctit ]]
+    then
+       echo  "export PALM_BIN=$PALM_BIN"                >>  $jobfile
+    fi
+
+       # MRUN AUF ZIELRECHNER AUFRUFEN
+    echo  "set -x"                                      >>  $jobfile
+    echo  "[[ \$execute_mrun = true ]]  &&  ./$mrun_com"  >>  $jobfile
+
+    echo  'ls -al; echo `pwd`'                          >>  $jobfile
+    echo  "cd \$HOME"                                   >>  $jobfile
+    echo  "rm -rf  $TEMPDIR"                            >>  $jobfile
+
+
+
+
+       # JOB PER SUBJOB STARTEN
+    if [[ $silent = false ]]
+    then
+       printf "\n     "
+    else
+       printf "\n\n"
+    fi
+
+    subjob  $job_on_file  -h $host  -u $remote_username -g $group_number -q $queue  -m $memory  -N $node_usage -t $cpumax  $XOPT  $TOPT  $OOPT  -n $fname  -v  -c $job_catalog  -e $email_notification  $jobfile
+    rm -rf  $jobfile
+
+
+ fi  # ENDE REMOTE-TEIL
+
+
+
+     # ENDE DER PROZEDUR
Index: palm/tags/release-3.7/SCRIPTS/process_dvr_output
===================================================================
--- palm/tags/release-3.7/SCRIPTS/process_dvr_output	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/process_dvr_output	(revision 393)
@@ -0,0 +1,429 @@
+#!/bin/ksh
+# process_dvr_output - a script processing dvr steering + data files
+# $Id$
+
+     # This script determines the number of streams opened by the dvr software
+     # and creates one single dvrs- and html-file which allow the dvr-plugin
+     # to display all streams in one sequence.
+
+     # Last changes:
+     # 16/03/09 - Siggi - Generating the first version
+
+
+
+    # Variable declarations + default values
+ camera=false
+ create_config_file=false
+ create_sequence_output=false
+ data_catalog=`pwd`
+ dvrp_output=rtsp
+ file_identifier=all_streams
+ groundplate=false
+ palm_run_identifier="unknown_run"
+ topography=false
+
+ typeset  -i  a acceleration=1 k i j nstream nscenes
+
+
+    # Read shellscript options
+ while  getopts  :a:cd:f:ls option
+ do
+   case  $option  in
+       (a)   acceleration=$OPTARG;;
+       (c)   create_config_file=true;;
+       (d)   data_catalog=$OPTARG;;
+       (f)   file_identifier=$OPTARG;;
+       (l)   dvrp_output=local;;
+       (s)   create_sequence_output=true;;
+       (\?)  printf "\n  +++ unknown option $OPTARG \n"
+             printf "\n      allowed option are -d, -f, -l, -s \n"
+             exit;;
+   esac
+ done
+
+
+    # Create the config file for the streaming server; do nothing else
+ if [[ $create_config_file = true ]]
+ then
+    cp  ${PALM_BIN}/.dvrserver.config  .
+
+       # Entering the BASEDIR, UID and GID into this file
+    user_id=`id -u`
+    group_id=`id -g`
+
+       # data directory is always the current working directory
+    sed "s/<replace by dvr data directory>/./g" .dvrserver.config > .dvrserver.1
+    sed "s/<replace by user id>/$user_id/g"    .dvrserver.1 > .dvrserver.2
+    sed "s/<replace by group id>/$group_id/g"  .dvrserver.2 > .dvrserver.3
+    mv  .dvrserver.3  .dvrserver.config
+    rm  .dvrserver.1  .dvrserver.2
+    exit
+ fi
+
+
+    # Find out the PALM run identifier
+ if [[ -f CPU_MEASURES ]]
+ then
+    palm_run_identifier=`head -1  CPU_MEASURES`
+ fi
+
+
+    # Process the streaming server output
+ if [[ $dvrp_output = rtsp ]]
+ then
+
+       # Change to the given directory
+    cd $data_catalog
+
+
+       # Find out the number of streams
+    (( i = 0 ))
+    while true
+    do
+       (( i = i + 1 ))
+       if (( i < 10 ))
+       then
+          cstream=0$i
+       else
+          cstream=$i
+       fi
+
+       if [[ $(ls -1 *.* | grep -c $cstream) = 0 ]]
+       then
+          (( i = i - 1 ))
+          break
+       fi
+
+          # find out the stream name
+       streamname[$i]=`ls -1 ${cstream}_*-ge.dvrs | cut -f1 -d"-"`
+
+          # get addres
+       adr[$i]=`grep ADR= ${streamname[$i]}.dvrs | grep '*' | cut -f2 -d"="`
+
+          # get maxbytes
+       maxbytes[$i]=`head -1 ${streamname[$i]}.max`
+
+          # get number of frames
+       frames[$i]=`tail -1 ${streamname[$i]}.max`
+
+    done
+
+    nstream=$i
+    nscenes=$nstream
+
+
+       # Check, if there are files containing the camera data, the ground plate
+       # and topography data.
+       # Check the first stream only, because all streams have the same files.
+    if [[ -f ${streamname[1]}_camera.max ]]
+    then
+       camera=true
+       adr_camera=`grep ADR= ${streamname[1]}.dvrs | grep 'camera' | cut -f2 -d"="`
+       maxbytes_camera=`head -1 ${streamname[1]}_camera.max`
+       (( nscenes = nscenes + 1 ))
+    fi
+    if [[ -f ${streamname[1]}_groundplate.max ]]
+    then
+       groundplate=true
+       adr_groundplate=`echo $adr_camera | sed "s/camera/groundplate/g"`
+       maxbytes_groundplate=`head -1 ${streamname[1]}_groundplate.max`
+       (( nscenes = nscenes + 1 ))
+    fi
+    if [[ -f ${streamname[1]}_topography.max ]]
+    then
+       topography=true
+       adr_topography=`echo $adr_camera | sed "s/camera/topography/g"`
+       maxbytes_topography=`head -1 ${streamname[1]}_topography.max`
+       (( nscenes = nscenes + 1 ))
+    fi
+
+
+
+       # Start with writing the dvrs file for the combined streams
+    dvr_file=${file_identifier}_streaming.dvrs
+
+    echo  "SCENES=$nscenes"  >  $dvr_file
+
+       # First, add the static scenes
+    if [[ $camera = true ]]
+    then
+       echo  "MED=TCP"                    >>  $dvr_file
+       echo  "ADR=$adr_camera"            >>  $dvr_file
+       echo  "MAXBYTES=$maxbytes_camera"  >>  $dvr_file
+       echo  "FRAMES=1"                   >>  $dvr_file
+       echo  "FRAMES_P_SEC=0"             >>  $dvr_file
+       echo  "SCENEEND"                   >>  $dvr_file
+    fi
+
+    if [[ $groundplate = true ]]
+    then
+       echo  "MED=TCP"                         >>  $dvr_file
+       echo  "ADR=$adr_groundplate"            >>  $dvr_file
+       echo  "MAXBYTES=$maxbytes_groundplate"  >>  $dvr_file
+       echo  "FRAMES=1"                        >>  $dvr_file
+       echo  "FRAMES_P_SEC=0"                  >>  $dvr_file
+       echo  "SCENEEND"                        >>  $dvr_file
+    fi
+
+    if [[ $topography = true ]]
+    then
+       echo  "MED=TCP"                        >>  $dvr_file
+       echo  "ADR=$adr_topography"            >>  $dvr_file
+       echo  "MAXBYTES=$maxbytes_topography"  >>  $dvr_file
+       echo  "FRAMES=1"                       >>  $dvr_file
+       echo  "FRAMES_P_SEC=0"                 >>  $dvr_file
+       echo  "SCENEEND"                       >>  $dvr_file
+    fi
+
+
+       # Now add the streams
+    (( i = 0 ))
+    while (( i < nstream ))
+    do
+
+       (( i = i + 1 ))
+
+       echo  "MED=TCP"                   >>  $dvr_file
+       echo  "ADR=${adr[$i]}"            >>  $dvr_file
+       echo  "MAXBYTES=${maxbytes[$i]}"  >>  $dvr_file
+       echo  "FRAMES=${frames[$i]}"      >>  $dvr_file
+       echo  "FRAMES_P_SEC=25"           >>  $dvr_file
+       echo  "SCENEEND"                  >>  $dvr_file
+
+    done
+
+
+       # Change path to the current file identifier
+       # Remove path because BASEDIR of streaming server is set to "."
+#    sed  "s/DATA_DVR/${file_identifier}_dvr/g"  $dvr_file > tmp_file
+    sed  "s/DATA_DVR\///g"  $dvr_file > tmp_file
+    mv  tmp_file  $dvr_file
+
+
+       # If there is a dvr configuration file, set the BASEDIR to the parent
+       # directory of the above given path (i.e. ".")
+    if [[ -f .dvrserver.config ]]
+    then
+       old_path=`grep  BASEDIR  .dvrserver.config`
+       sed  "s&${old_path}&BASEDIR=.&g"  .dvrserver.config  >  .dvrserver.config.new
+       mv  .dvrserver.config.new  .dvrserver.config
+    fi
+
+
+       # Create the html file for the combined streames
+    cp  01_*-ge.html  tmp.html
+    replace=$(echo `grep src= tmp.html`)
+    sed "s&${replace}&src=\"${file_identifier}_streaming.dvrs\"&g" tmp.html > tmp1.html
+    if [[ "$palm_run_identifier" = "" ]]
+    then
+       cp  tmp1.html  ${file_identifier}_streaming.html
+    else
+       sed "s&DATA_DVR/${streamname[1]}/\*\*\*\*\*.dvr (DVR 3D Streaming)&DVR 3D streaming generated by $palm_run_identifier&g"  tmp1.html  >  ${file_identifier}_streaming.html
+    fi
+    rm  tmp.html  tmp1.html
+
+
+       # Informative messages
+    printf "\n\n  *** processing dvr stream output:"
+    printf "\n      number of detected streams = $nstream"
+    printf "\n      stream names:"
+
+    (( i = 0 ))
+    while (( i < nstream ))
+    do
+
+       (( i = i + 1 ))
+       printf " ${streamname[$i]}"
+
+    done
+    printf "\n"
+
+
+ else
+
+       # This is the branch for local output (dvrp_output=local).
+       # Find out the number of streams.
+    (( i = 0 ))
+    while true
+    do
+
+       (( i = i + 1 ))
+       if (( i < 10 ))
+       then
+          cstream=0$i
+       else
+          cstream=$i
+       fi
+
+       if [[ $(ls -1 *.* | grep -c ${cstream}_) = 0 ]]
+       then
+          (( i = i - 1 ))
+          break
+       fi
+
+          # find out the stream name
+       streamname[$i]=`ls -1 ${cstream}_*.camera.dvr | cut -f1 -d"."`
+
+    done
+
+       # Exit, if there are no streams.
+    [[ $i = 0 ]]  &&  exit
+
+    nstream=$i
+
+    mkdir -p  ${data_catalog}/sequence_data
+
+
+       # First, merge static scenes into one file
+    if [[ -f ${streamname[1]}.camera.dvr ]]
+    then
+       cat  ${streamname[1]}.camera.dvr  >>  ${data_catalog}/sequence_data/static_scenes.dvr
+    fi
+
+    if [[ -f ${streamname[1]}.groundplate.dvr ]]
+    then
+       cat  ${streamname[1]}.groundplate.dvr  >>  ${data_catalog}/sequence_data/static_scenes.dvr
+    fi
+
+    if [[ -f ${streamname[1]}.topography.dvr ]]
+    then
+       cat  ${streamname[1]}.topography.dvr  >>  ${data_catalog}/sequence_data/static_scenes.dvr
+    fi
+
+
+       # Find out the number of frames
+    frames[1]=`grep sequence ${streamname[1]}_00000.html | cut -f2 -d";" | cut -f1 -d'"' | cut -f2 -d"-"`
+
+
+       # Now, merge the data, frame by frame
+    (( j = 0 ))
+    while (( j < ${frames[1]} ))
+    do
+
+       nframe=`printf "%05d" $j`
+
+       (( i = 0 ))
+       while (( i < nstream ))
+       do
+          (( i = i + 1 ))
+          cat  ${streamname[$i]}_$nframe.dvr  >>  ${data_catalog}/sequence_data/$nframe.dvr
+       done
+
+       (( j = j + 1 ))
+
+    done
+
+
+       # Create the html file to be used for the sequence mode
+    cp  ${streamname[1]}_00000.html  tmp1.html
+    sed  "s&${streamname[1]}_camera.dvr&sequence_data/static_scenes.dvr&g"  tmp1.html  >  tmp2.html
+    sed  "s&${streamname[1]}_&sequence_data/&g"  tmp2.html  >  tmp3.html
+    if [[ "$palm_run_identifier" = "" ]]
+    then
+       cp  tmp3.html  ${file_identifier}_sequence.html
+    else
+       sed "s&sequence_data/%05d.dvr (DVR 3D Sequence)&DVR 3D sequence generated by $palm_run_identifier&g"  tmp3.html  >  ${file_identifier}_sequence.html
+    fi
+    rm  tmp1.html  tmp2.html  tmp3.html
+    mv  ${file_identifier}_sequence.html  ${data_catalog}
+
+
+       # Informative messages
+    printf "\n\n  *** processing dvr local output (using dvrp_output=local):"
+    printf "\n      number of detected streams = $nstream"
+    printf "\n      stream names:"
+
+    (( i = 0 ))
+    while (( i < nstream ))
+    do
+
+       (( i = i + 1 ))
+       printf " ${streamname[$i]}"
+
+    done
+    printf "\n"
+
+ fi
+
+
+    # Create output for viewing dvr data in sequence mode
+ if [[ $create_sequence_output = true ]]
+ then
+
+    rm -rf  sequence_data
+    mkdir  sequence_data
+
+       # First, merge static scenes into one file
+    if [[ $camera = true ]]
+    then
+       cat  ${streamname[1]}/camera.dvr  >>  sequence_data/static_scenes.dvr
+    fi
+
+    if [[ $groundplate = true ]]
+    then
+       cat  ${streamname[1]}/groundplate.dvr  >>  sequence_data/static_scenes.dvr
+    fi
+
+    if [[ $topography = true ]]
+    then
+       cat  ${streamname[1]}/topography.dvr  >>  sequence_data/static_scenes.dvr
+    fi
+
+
+       # Now, merge the data, frame by frame
+    (( j = 0 ))
+    (( k = 0 ))
+    (( a = 0 ))
+    while (( j < ${frames[1]} ))
+    do
+
+       rframe=`printf "%05d" $j`
+
+       if (( a == 0 ))
+       then
+
+          wframe=`printf "%05d" $k`
+          (( k = k + 1 ))
+
+          (( i = 0 ))
+          while (( i < nstream ))
+          do
+             (( i = i + 1 ))
+             cat  ${streamname[$i]}/$rframe.dvr  >>  sequence_data/$wframe.dvr
+          done
+
+
+       fi
+
+       (( a = a + 1 ))
+       if (( a == acceleration ))
+       then
+          (( a = 0 ))
+       fi
+
+       (( j = j + 1 ))
+
+    done
+
+
+       # Create the html file to be used for the sequence mode
+    cp  ${streamname[1]}.html  tmp1.html
+    sed  "s/camera.dvr/static_scenes.dvr/g"  tmp1.html  >  tmp2.html
+    sed  "s&${streamname[1]}&sequence_data&g"  tmp2.html  >  tmp3.html
+    sed  "s/;0-0/;0-$wframe/g"  tmp3.html  >  tmp4.html
+    if [[ "$palm_run_identifier" = "" ]]
+    then
+       cp  tmp4.html  ${file_identifier}_sequence.html
+    else
+       sed "s&DATA_DVR/sequence_data/\*\*\*\*\*.dvr (DVR 3D Sequence)&DVR 3D sequence generated by $palm_run_identifier&g"  tmp4.html  >  ${file_identifier}_sequence.html
+    fi
+    rm  tmp1.html  tmp2.html  tmp3.html  tmp4.html
+
+    printf "      data for using sequence mode generated"
+
+ fi
+
+
+
+    # Change back to directory from where script has been called
+ cd - > /dev/null  2>&1
Index: palm/tags/release-3.7/SCRIPTS/subjob
===================================================================
--- palm/tags/release-3.7/SCRIPTS/subjob	(revision 393)
+++ palm/tags/release-3.7/SCRIPTS/subjob	(revision 393)
@@ -0,0 +1,1288 @@
+#!/bin/ksh
+# subjob - Plot-Shellskript         Version:  @(#)SUBJOB 1.0
+# $Id$
+
+     # Prozedur zum automatischen Generieren von Batch-Jobs, die unter NQS
+     # laufen sollen und deren Ergebnis (Dayfile) zum Job-generierenden
+     # Host zurueckgeschickt werden sollen
+
+
+     # letzte Aenderung:
+     # 29/06/94 - Siggi - Beginn mit Erstellung der Originalversion
+     # 08/07/94 - Siggi - Originalversion abgeschlossen (Version 1.0)
+     # 06/02/98 - Siggi - berte validiert
+     # 27/01/01 - Siggi - ground.yonsei.ac.kr validiert, Jobs zur T3E in Korea
+     #                    moeglich
+     # 08/02/01 - Siggi - alle subjob-Meldungen ins englische uebersetzt
+     # 25/05/02 - Siggi - Unterstuetzung des LoadLeveler
+     # 30/05/02 - Siggi - Validierung fuer ibm-Rechner in Seoul (nobel) sowie
+     #                    allgemeine Anpassungen fuer ibm-Rechner
+     # 15/10/02 - Siggi - Neue Default-Jobklasse (p_normal) fuer IBM in Seoul
+     #                    Ruecktransfer des Jobprotokolls fuer diese
+     #                    Maschine abgeschaltet
+     # 31/10/02 - Siggi - berni validiert
+     # 06/11/02 - Siggi - Neue Jobklassen auf ibmb und ibmh
+     # 08/11/02 - Siggi - quanero validiert
+     # 11/12/02 - Siggi - Notification fuer Transfer-Jobs abgeschaltet
+     # 23/01/03 - Siggi - hostname nobel changed to nobela
+     # 06/02/03 - Siggi - gregale validated
+     # 12/02/03 - Siggi - orkan and maestro validated
+     # 21/02/03 - Siggi - all nobel nodes in Seoul validated
+     # 12/03/03 - Siggi - nec at DKRZ validated
+     # 13/03/03 - Siggi - new nqs resource variable Memory
+     # 07/04/03 - Siggi - processor request option -c on nech needs tasks per
+     #                    node
+     # 11/04/03 - Siggi - network on ibms has attribute "shared"
+     # 31/07/03 - Siggi - nqs2 on nech implemented (provisional: -h nech2)
+     #                    cxxl added to ibmh
+     # 29/08/03 - Siggi - changes in job queues and communication system on
+     #                    ibms
+     # 24/10/03 - Siggi - using alternate hanni address 130.75.4.2
+     # 30/10/03 - Siggi - nech is not supported any more
+     # 10/11/03 - Siggi - nech2 renamed to nech
+     # 20/11/03 - Siggi - submit command on nech changed from qsub.test to qsub
+     # 29/03/04 - Siggi - ground not supported any more, gfdl3 validated
+     # 31/03/04 - Siggi - new option -N for node usage
+     # 12/04/04 - Siggi - scp2 instead of scp used for transfer from decalpha
+     #                    due to error in ssh installation (otherwise a prompt
+     #                    for the password appears)
+     # 23/07/04 - Siggi - changes due to the new berni configuration
+     #                    (federation switch)
+     # 01/09/04 - Gerald  new job-classes on hanni
+     # 08/09/04 - Siggi - hanni IP address changed to 130.75.4.10
+     # 23/11/04 - Siggi - new job class cdata on hanni and berni
+     # 03/12/04 - Siggi - notification on ibm switched of in case of
+     #                    delete_dayfile = true, node usage in cdev set to
+     #                    shared
+     # 16/02/05 - Gerald  hababai validated
+     # 29/03/05 - Micha - new job class channi on hanni
+     # 11/05/05 - Siggi - ConsumableMemory is now required as resource keyword
+     #                    on ibms
+     # 24/05/05 - Siggi - Default queue on ibms changed from p_normal_1.3 to
+     #                    p_normal
+     # 30/06/05 - Siggi - network changed for queue cdev from "us" to "ip"
+     # 12/07/05 - Siggi - in network.mpi on ibmh/ibmb "csss" changed to
+     #                    "sn_all", new job class cexp
+     # 08/09/05 - Siggi - IP-address of gfdl3 changed
+     # 31/10/05 - Siggi - new job class pp on hurricane, serial jobs on
+     #                    hurricane (with -X0)
+     # 01/11/05 - Siggi - missing queue for jobs submitted on nech (for nech)
+     #                    added
+     # 30/12/05 - Siggi - change of IP adresses in subnet 130.75.105
+     # 09/02/06 - Siggi - ibmy admitted
+     # 10/02/06 - Siggi - scp2 changed to /bin/scp on decalpha
+     # 13/04/06 - Siggi - ostria admitted
+     # 18/04/06 - Siggi - new option -O for OpenMP usage
+     # 24/05/06 - Siggi - lctit admitted, ftpjob renamed scpjob
+     # 25/07/06 - Siggi - gfdl5 (ibmy) admitted for submitting jobs
+     # 27/09/06 - Siggi - breg/hreg extended with berni/hanni
+     # 25/10/06 - Siggi - data_limit set to 1.76 GByte on hanni and berni
+     # 28/11/06 - Siggi - levanto admitted
+     # 13/02/07 - Siggi - hpmuk releated code removed
+     # 01/03/07 - Siggi - adjustments for RIAM machines gate and NEC-SX8 (n-sx)
+     # 12/04/07 - Siggi - option -f (filetransfer protocol) removed, scp only
+     # 27/07/07 - Siggi - autan admitted
+     # 03/08/07 - Marcus- lcfimm admitted
+     # 08/10/07 - Siggi - further job classes added for hanni (csoloh...)
+     # 15/10/07 - Siggi - preliminary adjustments for lctit based on Jin's
+     #                    suggestions
+     # 19/10/07 - Marcus- add new optional argument -g group_number
+     # 19/10/07 - Siggi - a ";" was missing in the last change done by Marcus
+     # 30/10/07 - Marcus- further adjustments for queues on lctit
+     # 15/05/08 - Siggi - adjustments for lcxt4 (Bergen Center for Computational
+     #                    Science)
+     # 14/07/08 - Siggi - adjustments for lcsgih
+     # 23/09/08 - Gerald- paesano admitted
+     # 02/10/08 - Siggi - PBS adjustments for lcxt4
+     # 02/03/09 - Siggi - Adjustments for new NEC-SX9 at RIAM
+     # 16/04/09 - Marcus- Adjustments for lcsgib and lcsgih
+     # 21/04/09 - Siggi - adjustments for new IBM at DKRZ, which is now ibmh
+     # 18/05/09 - Siggi - Settings for serial jobs on lcsgi changed
+     # 24/06/09 - BjornM- adjustments for lcxt4 (loading modules manually)
+     # 08/07/09 - Siggi - option -e added (email notification on lcsgih/b)
+     # 20/07/09 - Siggi - On lcsgi, jobs for returning the job protocol are
+     #                    now run on the data nodes (feature=data)
+     # 25/08/09 - BjornM- adapted for lck
+     # 26/08/09 - Marcus- caurus admitted; optional qos feature hiprio on lcsgi
+     # 03/09/09 - Siggi - PBS sgi feature directive only used if explicitly
+     #                    set in the config file by the user
+
+    # VARIABLENVEREINBARUNGEN + DEFAULTWERTE
+ delete_dayfile=false
+ email_notification=none 
+ group_number=none
+ locat=normal
+ no_default_queue=none
+ no_submit=false
+ job_catalog="~/job_queue"
+ job_name=none
+ local_user=$LOGNAME
+ node_usage=shared
+ numprocs=1
+ punkte="..........................................................."
+ submcom=qsub
+ queue=default
+ remote_host=none
+ remote_user=""
+ verify=true
+
+ typeset  -i   cputime=0  memory=0  Memory=0  minuten  resttime  sekunden  stunden
+ typeset  -i   inumprocs  nodes=0  tasks_per_node=0  threads_per_task=1
+ typeset  -L20 spalte1
+ typeset  -R40 spalte2
+ typeset  -L60 spalte3
+
+
+
+    # FEHLERBEHANDLUNG
+    # BEI EXIT:
+ trap 'if [[ $locat != normal ]]
+       then
+          case  $locat  in
+             (option)  printf "\n  --> available optios can be displayed"
+                       printf " by typing:"
+                       printf "\n      \"subjob ?\" \n";;
+             (ftpcopy|parameter|scp|verify)  printf "\n";;
+             (*)       printf "\n  +++ unknown error"
+                       printf "\n      please inform S. Raasch!\n"
+          esac
+          [[ -f $job_to_send ]]  &&  rm  $job_to_send
+          printf "\n\n+++ SUBJOB killed \n\n"
+       fi' exit
+
+
+    # BEI TERMINAL-BREAK:
+ trap '[[ -f $job_to_send ]]  &&  rm  $job_to_send
+       printf "\n\n+++ SUBJOB killed \n\n"
+       exit
+      ' 2
+
+
+
+
+    # LOKALEN HOSTNAMEN FESTSTELLEN
+ local_host=$(hostname)
+
+
+
+    # HOSTSPEZIFISCHE VARIABLEN VEREINBAREN BZW. PRUEFEN, OB LOKALER HOST
+    # UEBERHAUPT ZULAESSIG IST
+ case  $local_host  in
+     (atmos)                 local_addres=172.20.25.35;   local_host=lcide;;
+     (autan)                 local_addres=130.75.105.57;  local_host=lcmuk;;
+     (bora)                  local_addres=130.75.105.103; local_host=lcmuk;;
+     (bicegate1)             local_addres=130.73.232.102; local_host=lcsgib;;
+     (bicegate2)             local_addres=130.73.232.103; local_host=lcsgib;;
+     (breg*-en0|berni*-en0)  local_addres=130.73.230.10;  local_host=ibmb;;
+     (breva)                 local_addres=130.75.105.98;  local_host=lcmuk;;
+     (b01*|bicegate1)        local_addres=130.73.232.102; local_host=lcsgib;;
+     (bicegate2)             local_addres=130.73.232.103; local_host=lcsgib;;
+     (caurus)                local_addres=130.75.105.19;  local_host=lcmuk;;
+     (compute-*.local)       local_addres=172.20.4.2;     local_host=lcfimm;;
+     (cs*)                   local_addres=136.172.44.131; local_host=nech;;
+     (elephanta)             local_addres=130.75.105.6;   local_host=lcmuk;;
+     (fimm.bccs.uib.no)      local_addres=172.20.4.2;     local_host=lcfimm;;
+     (node*)                 local_addres=165.132.26.61   local_host=lck;;
+     (gallego)               local_addres=130.75.105.10;  local_host=lcmuk;;
+     (gfdl5)                 local_addres=165.132.26.58;  local_host=ibmy;;
+     (gfdl3.yonsei.ac.kr)    local_addres=165.132.26.56;  local_host=decalpha;;
+     (gregale)               local_addres=130.75.105.109; local_host=lcmuk;;
+     (hababai)               local_addres=130.75.105.108; local_host=lcmuk;;
+     (hexagon.bccs.uib.no)   local_addres=129.177.20.113; local_host=lcxt4;;
+     (h01*|hicegate1)        local_addres=130.75.4.102;   local_host=lcsgih;;
+     (hicegate2)             local_addres=130.75.4.103;   local_host=lcsgih;;
+     (blizzard1)             local_addres=136.172.40.15;  local_host=ibmh;;
+     (irifi)                 local_addres=130.75.105.104; local_host=lcmuk;;
+     (levanto)               local_addres=130.75.105.45;  local_host=lcmuk;;
+     (maestro)               local_addres=130.75.105.2;   local_host=lcmuk;;
+     (nid*)		     local_addres=129.177.20.113; local_host=lcxt4;;
+     (nobel*)                local_addres=150.183.5.101;  local_host=ibms;;
+     (orkan)                 local_addres=130.75.105.3;   local_host=lcmuk;;
+     (ostria)                local_addres=130.75.105.106; local_host=lcmuk;;
+     (paesano)               local_addres=130.75.105.46;  local_host=lcmuk;;
+     (quanero)               local_addres=130.75.105.107; local_host=lcmuk;;
+     (scirocco)              local_addres=172.20.25.41;   local_host=lcmuk;;
+     (sun1|sun2)             local_addres=130.75.6.1;     local_host=unics;;
+     (sx-*)                  local_addres=172.16.1.131;   local_host=necriam;;
+     (r1*)                   local_addres=130.75.4.102;   local_host=lcsgih;;
+     (r2*)                   local_addres=130.73.232.102; local_host=lcsgib;;
+     (tgg*)                  local_addres=172.17.75.161;  local_host=lctit;;
+     (vorias)                local_addres=172.20.25.43;   local_host=lcmuk;;
+     (*)                     printf "\n  +++ \"$local_host\" unknown";
+                             printf "\n      please inform S. Raasch!";
+                             locat=parameter; exit;;
+ esac
+
+
+
+    # REMOTE HOST DEFAULTMAESSIG = LOCAL HOST SETZEN
+ remote_host=$local_host
+
+
+
+
+    # PROZEDUROPTIONEN EINLESEN
+ while  getopts  :c:dDe:g:h:m:n:N:O:q:t:T:u:vX:  option
+ do
+   case  $option  in
+       (c)   job_catalog=$OPTARG;;
+       (d)   delete_dayfile=true;;
+       (D)   no_submit=true;;
+       (e)   email_notification=$OPTARG;;
+       (g)   group_number=$OPTARG;;
+       (h)   remote_host=$OPTARG;;
+       (m)   memory=$OPTARG;;
+       (n)   job_name=$OPTARG;;
+       (N)   node_usage=$OPTARG;;
+       (O)   threads_per_task=$OPTARG;;
+       (q)   no_default_queue=$OPTARG;;
+       (t)   cputime=$OPTARG;;
+       (T)   tasks_per_node=$OPTARG;;
+       (u)   remote_user=$OPTARG;;
+       (v)   verify=false;;
+       (X)   numprocs=$OPTARG;;
+       (\?)  printf "\n  +++ Option $OPTARG unknown \n";
+             locat=option; exit;;
+   esac
+ done
+
+
+    # JOBDATEINAMEN ALS NAECHSTES ARGUMENT HOLEN
+ shift OPTIND-1; file_to_send=$1
+
+
+    # KURZE AUFRUFBESCHREIBUNG WIRD HIER AUSGEGEBEN
+ if [ "$1" = "?" ]
+ then
+   (printf "\n  *** subjob can be called as follows:\n"
+    printf "\n      subjob -c.. -d -D -h.. -m.. -q.. -t.. -u.. -v  <jobfile>\n"
+    printf "\n      Description of available options:\n"
+    printf "\n      Option  Description                         Default-Value"
+    printf "\n        -c    job-input- and output-catalog       ~/job_queue"
+    printf "\n        -d    no job-protocol will be created     ---"
+    printf "\n        -D    only the job-file will be created   ---"
+    printf "\n        -h    execution host, available hosts:    $remote_host"
+    printf "\n              ibm, ibmb, ibmh, ibms, ibmy, lcmuk,"
+    printf "\n              lctit, nech, necriam, unics"
+    printf "\n        -m    memory demand per process in MByte  ---"
+    printf "\n        -n    jobname                             <jobdatei>"
+    printf "\n        -O    threads per task (for OpenMP usage) 1"
+    printf "\n        -q    job-queue to be used                default"
+    printf "\n        -t    allowed cpu-time in seconds         ---"
+    printf "\n        -T    tasks per node (on parallel hosts)  ---"
+    printf "\n        -u    username on execution host          from .netrc"
+    printf "\n        -v    no prompt for confirmation          ---"
+    printf "\n        -X    # of processors (on parallel hosts) 1"
+    printf "\n "
+    printf "\n      The only possible positional parameter is <jobfile>:"
+    printf "\n      The complete NQS-job must be provided here."
+    printf "\n      <jobfile>=? creates this outline\n\n") | more
+    exit
+ fi
+
+
+
+    # PRUEFEN, OB JOBDATEI ANGEGEBEN WURDE UND OB SIE AUCH EXISTIERT
+ if [[ "$file_to_send" = "" ]]
+ then
+    printf "\n  +++ job-file missing"
+    locat=parameter; exit
+ else
+    if [[ -f $file_to_send ]]
+    then
+       true
+    else
+       printf "\n  +++ job-file: "
+       printf "\n           $file_to_send"
+       printf "\n      does not exist"
+       locat=parameter; exit
+    fi
+ fi
+
+
+
+    # FALLS KEIN JOBNAME ANGEGEBEN WURDE, WIRD JOBNAME = JOBDATEINAME
+    # GESETZT. VORAUSSETZUNG: JOBDATEINAME BEINHALTET KEINE PFADE
+ if [[ $job_name = none ]]
+ then
+    job_name=$file_to_send
+ fi
+ if [[ $(echo $job_name | grep -c "/") != 0 ]]
+ then
+    printf "\n  +++ job-file name: "
+    printf "\n           $job_name"
+    printf "\n      must not contain \"/\"-characters"
+    locat=parameter; exit
+ fi
+
+
+
+
+    # HOSTSPEZIFISCHE GROESSEN VEREINBAREN BZW. ABBRUCH BEI UNZULAESSIGEM HOST
+    # ODER WENN HOST NICHT ANGEGEBEN WURDE
+ if [[ $remote_host = none ]]
+ then
+    printf "\n  +++ host missing"
+    locat=option; exit
+ else
+    case  $remote_host  in
+        (ibm)     queue=p690_standard; remote_addres=134.76.99.81; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+        (ibmb)    queue=cpar; remote_addres=130.73.230.10; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+        (ibmh)    queue=no_class; remote_addres=136.172.40.15; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+        (ibms)    queue=p_normal; remote_addres=150.183.5.101; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+        (ibmy)    queue=parallel; remote_addres=165.132.26.58; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+	(lcfimm)  remote_addres=172.20.4.2; submcom=/opt/torque/bin/qsub;;
+        (lcsgib)  queue=smallq; remote_addres=130.73.232.103; submcom=/opt/moab/bin/msub;;
+        (lcsgih)  queue=smallq; remote_addres=130.75.4.102; submcom=/opt/moab/bin/msub;;
+        (lck)     remote_addres=165.132.26.61; submcom=/usr/torque/bin/qsub;;
+        (lctit)   queue=lctit; remote_addres=172.17.75.161; submcom=/n1ge/TITECH_GRID/tools/bin/n1ge;;
+        (lcxt4)	  remote_addres=129.177.20.113; submcom=/opt/torque/2.3.0/bin/qsub;;
+        (nech)    qsubmem=memsz_job; qsubtime=cputim_job; remote_addres=136.172.44.147; submcom="/usr/local/bin/qsub";;
+        (necriam) qsubmem=memsz_job; qsubtime=cputim_job; remote_addres=172.16.1.131; submcom="/usr/bin/nqsII/qsub";;
+        (vpp)     qsubmem=m; qsubtime=t; queue=vpp; remote_addres=130.75.4.130;;
+        (unics)   qsubmem=d; qsubtime=t; queue=unics; remote_addres=130.75.6.1;;
+        (*)       printf "\n  +++ hostname \"$remote_host\" not allowed";
+                  locat=parameter; exit;;
+    esac
+ fi
+
+
+    # EVTL. PRUEFEN, OB ANGEGEBENE QUEUE ZULAESSIG IST
+ if [[ $no_default_queue != none ]]
+ then
+    error=false
+    ndq=$no_default_queue
+    case  $remote_host  in
+        (ibm)    case  $ndq  in
+                     (p690_express|p690_standard|p690_long)  error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (ibmb)   case  $ndq  in
+                     (cdata|cdev|cexp|c1|cshare|csolo|cspec) error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (ibmh)   case  $ndq  in
+                     (no_class)  error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (ibms)   case  $ndq  in
+                     (express|normal|p_express|p_normal|p_normal_1.3|p_normal_1.7|grand)     error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (ibmy)   case  $ndq  in
+                     (parallel)                              error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (lcsgib|lcsgih)   case  $ndq  in
+                     (testq|serialq|smallq|bigq|workq)       error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (lctit)  case  $ndq  in
+                     (novice|sla1|sla2|sla3|RAM64GB|RAM128GB)    error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (t3eb)   case  $ndq  in
+                     (berte|p50|p100|p392|forfree|p25himem)  error=false;;
+                     (*)    error=true;;
+                 esac;;
+        (necriam) case  $ndq  in
+                     (SP|SS|P6)  error=false;;
+                     (*)    error=true;;
+                 esac;;
+        (t3eh)   case  $ndq  in
+                     (para_t3e|em|k|l|lm|comp_t3e|c|p|ht)  error=false;;
+                     (*)    error=true;;
+                 esac;;
+        (t3ej2|t3ej5)  case  $ndq  in
+                     (low|normal|high)  error=false;;
+                     (*)    error=true;;
+                 esac;;
+        (t3es)  case  $ndq  in
+                     (batch|serial-4|pe4|p48|pe16|pe32|pe64|pe128)  error=false;;
+                     (*)    error=true;;
+                 esac;;
+        (unics)  case  $ndq  in
+                     (unics|ht)  error=false;;
+                     (*)         error=true;;
+                 esac;;
+    esac
+    if [[ $error = true ]]
+    then
+       printf "\n  +++ queue \"$no_default_queue\" on host \"$remote_host\" not allowed"
+       locat=parameter; exit
+    else
+       queue=$no_default_queue
+    fi
+ fi
+
+
+
+    # KNOTENNUTZUNG IN ENTWICKLERQUEUE MUSS SHARED SEIN
+ if [[ $node_usage != shared  &&  $queue = cdev ]]
+ then
+    node_usage=shared
+ fi
+
+
+
+    # PRUEFEN DER CPU-ZEIT, ZEIT NACH STUNDEN, MINUTEN UND SEKUNDEN
+    # AUFTEILEN
+ done=false
+ while [[ $done = false ]]
+ do
+    if (( $cputime <= 0 ))
+    then
+       printf "\n  +++ wrong cpu-time or cpu-time missing"
+       printf "\n  >>> Please type cpu-time in seconds as INTEGER:"
+       printf "\n  >>> "
+       read  cputime  1>/dev/null  2>&1
+    else
+       done=true
+    fi
+ done
+ if [[ $remote_host = nech ]]
+ then
+    if (( tasks_per_node != 0 ))
+    then
+       (( cputime = cputime * tasks_per_node ))
+    elif [[ $numprocs != 0 ]]
+    then
+       (( cputime = cputime * numprocs ))
+    fi
+ fi
+ (( stunden  = cputime / 3600 ))
+ (( resttime = cputime - stunden * 3600 ))
+ (( minuten  = resttime / 60 ))
+ (( sekunden = resttime - minuten * 60 ))
+ timestring=${stunden}:${minuten}:${sekunden}
+
+
+
+    # PRUEFEN DER KERNSPEICHERANFORDERUNG
+ done=false
+ while [[ $done = false ]]
+ do
+    if (( memory <= 0 ))
+    then
+       printf "\n  +++ wrong memory demand or memory demand missing"
+       printf "\n  >>> Please type memory in  MByte per process  as INTEGER:"
+       printf "\n  >>> "
+       read  memory  1>/dev/null  2>&1
+    else
+       done=true
+    fi
+ done
+
+ if [[ $remote_host = nech  ||  $remote_host = necriam ]]
+ then
+    if (( tasks_per_node != 0 ))
+    then
+       (( Memory = memory * tasks_per_node / 1000 ))
+    elif [[ $numprocs != 0 ]]
+    then
+       (( Memory = memory * numprocs / 1000 ))
+    else
+       (( Memory = memory / 1000 ))
+    fi
+ fi
+
+
+    # SPEICHERBERECHNUNG BEI OPENMP-NUTZUNG
+ if [[ $(echo $remote_host | cut -c1-3) = ibm ]]
+ then
+    (( memory = memory * threads_per_task ))
+ fi
+
+
+    # BERECHNUNG DER ANZAHL DER ZU VERWENDENDEN KNOTEN
+ if (( tasks_per_node != 0 ))
+ then
+    if [[ $(echo $remote_host | cut -c1-5) = lcsgi ]]
+    then
+       (( nodes = numprocs / tasks_per_node ))
+    else
+       (( nodes = numprocs / ( tasks_per_node * threads_per_task ) ))
+    fi
+ fi
+
+
+
+    # HEADER-AUSGABE
+ if [[ $verify = true ]]
+ then
+    printf "\n\n"
+    printf "#--------------------------------------------------------------# \n"
+    spalte1=SUBJOB;spalte2=$(date)
+    printf "| $spalte1$spalte2 | \n"
+    printf "|                                                              | \n"
+    printf "| values of parameters/options:                                | \n"
+    spalte1=local_host$punkte; spalte2=$punkte$local_host
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=remote_host$punkte; spalte2=$punkte$remote_host
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=queue$punkte; spalte2=$punkte$queue
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=memory$punkte; spalte2="$punkte$memory mb"
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=cputime$punkte; spalte2="$punkte$cputime sec"
+    printf "| $spalte1$spalte2 | \n"
+    spalte1=job_name$punkte; spalte2="$punkte$job_name"
+    printf "| $spalte1$spalte2 | \n"
+    printf "#--------------------------------------------------------------# \n\n"
+
+
+       # KONTROLLABFRAGE, OB ALLES O.K.
+    antwort="dummy"
+    while [[ $antwort != y  &&  $antwort != Y  &&  $antwort != n  &&  $antwort != N ]]
+    do
+       read antwort?" >>> continue (y/n) ? "
+    done
+    if [[ $antwort = n  ||  $antwort = N ]]
+    then
+       locat=verify; exit
+    fi
+    printf "\n"
+ fi
+
+
+
+    # ZUFALLSKENNUNG GENERIEREN UND JOBNAMEN AUF ZIELRECHNER BESTIMMEN
+ kennung=$RANDOM
+ job_on_remhost=${job_name}_${kennung}_$local_host
+ job_to_send=job_to_send_$kennung
+ if [[ $delete_dayfile = false ]]
+ then
+    remote_dayfile=${local_host}_${job_name}_result_$kennung
+    local_dayfile=${remote_host}_${job_name}
+ else
+    remote_dayfile=/dev/null
+    if [[ $(echo $remote_host | cut -c1-3) = ibm ]]
+    then
+       notification='# @ notification = never'
+    fi
+ fi
+
+
+
+    # QSUB- ODER LL-KOMMANDOS BZW. SKRIPTE  GENERIEREN
+ if [[ $(echo $remote_host | cut -c1-3) = ibm  &&  $numprocs != 0 ]]
+ then
+
+    if [[ $remote_host = ibmy ]]
+    then
+       consumable_memory=""
+    else
+       consumable_memory="ConsumableMemory($memory mb)"
+    fi
+
+    if [[ $remote_host = ibmh ]]
+    then
+       data_limit=""
+       network_to_use=""
+       class=""
+       environment=""
+    else
+       class="# @ class = $queue"
+       environment="# @ environment = OMP_NUM_THREADS=$threads_per_task; MP_SHARED_MEMORY=yes"
+       if [[ $queue = cdev ]]
+       then
+          data_limit="# @ data_limit = 1.76gb"
+          network_to_use="# @ network.mpi = sn_all,shared,ip"
+       else
+          if [[ $remote_host = ibms ]]
+          then
+             network_to_use="# @ network.mpi = csss,shared,us"
+          elif [[ $remote_host = ibmy ]]
+          then
+             network_to_use=""
+          else
+             network_to_use="# @ network.mpi = sn_all,shared,us"
+             data_limit="# @ data_limit = 1.76gb"
+          fi
+       fi
+    fi
+
+    cat > $job_to_send << %%END%%
+#!/bin/ksh
+# @ shell = /bin/ksh
+
+# @ job_type = parallel
+# @ job_name = palm
+# @ wall_clock_limit = ${timestring},$timestring
+# @ resources = ConsumableCpus($threads_per_task) $consumable_memory
+# @ output = $remote_dayfile
+# @ error = $remote_dayfile
+# @ image_size = 50
+$class
+$environment
+$network_to_use
+$data_limit
+$notification
+
+%%END%%
+
+    if (( nodes > 0 ))
+    then
+
+       cat >> $job_to_send << %%END%%
+# @ node = $nodes
+# @ tasks_per_node = $tasks_per_node
+# @ node_usage = $node_usage
+# @ queue
+
+%%END%%
+
+    else
+
+       if [[ $remote_host != ibmy ]]
+       then
+
+          cat >> $job_to_send << %%END%%
+# @ blocking = unlimited
+# @ total_tasks = $numprocs
+# @ node_usage = $node_usage
+# @ queue
+
+%%END%%
+
+       else
+
+          cat >> $job_to_send << %%END%%
+# @ node = 1
+# @ total_tasks = $numprocs
+# @ queue
+
+%%END%%
+
+       fi
+
+    fi
+
+ elif [[ $(echo $remote_host | cut -c1-3) = ibm  &&  $numprocs = 0 ]]
+ then
+
+    cat > $job_to_send << %%END%%
+#!/bin/ksh
+
+# @ job_type = serial
+# @ node_usage = $node_usage
+# @ job_name = palm
+# @ wall_clock_limit = ${timestring},$timestring
+# @ resources = ConsumableCpus(1) ConsumableMemory(1 gb)
+# @ output = $remote_dayfile
+# @ error = $remote_dayfile
+$class
+$notification
+
+# @ queue
+
+%%END%%
+
+ elif [[ $remote_host = lcfimm ]]
+ then
+
+    if [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -N $job_name
+#PBS -A geofysisk
+#PBS -l walltime=$timestring
+#PBS -l nodes=${nodes}:ppn=$tasks_per_node
+#PBS -l pmem=${memory}mb
+#PBS -m abe
+#PBS -M maronga@muk.uni-hannover.de
+#PBS -o $remote_dayfile
+#PBS -j oe
+mpd &
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -N $job_name
+#PBS -A geofysisk
+#PBS -l walltime=$timestring
+#PBS -l ncpus=1
+#PBS -l pmem=${memory}mb
+#PBS -m abe
+#PBS -M maronga@muk.uni-hannover.de
+#PBS -o $remote_dayfile
+#PBS -j oe
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = lck ]]
+ then
+
+    if [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -N $job_name
+#PBS -l walltime=$timestring
+#PBS -l ncpus=$numprocs
+#PBS -l pmem=${memory}mb
+#PBS -o $remote_dayfile
+#PBS -j oe
+
+mpd &
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -N $job_name
+#PBS -l walltime=$timestring
+#PBS -l ncpus=1
+#PBS -l pmem=${memory}mb
+#PBS -o $remote_dayfile
+#PBS -j oe
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = lcsgih  ||  $remote_host = lcsgib ]]
+ then
+
+    if [[ "$sgi_feature" != "" ]]
+    then
+       feature_directive="#PBS -l feature=$sgi_feature"
+    else
+       feature_directive=""
+    fi
+
+    if [[ $queue = testq  ||  $queue = workq ]]
+    then
+       queue_directive="#PBS -q $queue"
+    else
+       queue_directive=""
+    fi
+
+    if [[ $email_notification = none ]]
+    then
+       email_directive=""
+    else
+       email_directive="#PBS -M $email_notification"
+    fi
+
+    if [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/bash
+#PBS -N $job_name
+#PBS -l walltime=$timestring
+#PBS -l nodes=$nodes:ppn=${tasks_per_node}
+#PBS -l naccesspolicy=$node_usage
+#PBS -o $remote_dayfile
+#PBS -j oe
+$feature_directive
+$queue_directive
+$email_directive
+
+. /usr/share/modules/init/bash
+module load ifort/11.0.069
+module load $mpilib
+module load netcdf
+
+echo ld_library_path=\$LD_LIBRARY_PATH
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#PBS -S /bin/bash
+#PBS -N $job_name
+#PBS -l walltime=$timestring
+#PBS -l ncpus=1
+#PBS -o $remote_dayfile
+#PBS -e $remote_dayfile
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = lcxt4 ]]
+ then
+
+    if [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh 
+#PBS -S /bin/ksh
+#PBS -N $job_name
+#PBS -A geofysisk
+#PBS -j oe
+#PBS -l walltime=$timestring
+#PBS -l mppwidth=${numprocs}
+#PBS -l mppnppn=${tasks_per_node}
+#PBS -m abe
+#PBS -M maronga@muk.uni-hannover.de
+#PBS -o $remote_dayfile
+
+. /opt/modules/default/init/ksh
+module load modules/3.1.6
+module load PrgEnv-pgi/2.1.56HD
+module load Base-opts/2.1.56HD
+module load moab/5.2.5-s13441
+module load torque/2.3.4-snap.200809221601
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -S /bin/ksh
+#PBS -N $job_name
+#PBS -A geofysisk
+#PBS -j oe
+#PBS -l walltime=$timestring
+#PBS -l ncpus=1
+#PBS -l pmem=${memory}mb
+#PBS -m abe
+#PBS -M maronga@muk.uni-hannover.de
+#PBS -o $remote_dayfile
+
+. /opt/modules/default/init/ksh
+module load modules/3.1.6
+module load PrgEnv-pgi/2.1.56HD
+module load Base-opts/2.1.56HD
+module load moab/5.2.5-s13441
+module load torque/2.3.4-snap.200809221601
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = nech ]]
+ then
+
+    if (( nodes > 1 ))
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -l cpunum_prc=$tasks_per_node,cputim_job=$cputime
+#PBS -l ${qsubmem}=${Memory}gb
+#PBS -b $nodes
+#PBS -o $remote_dayfile
+#PBS -N palm
+#PBS -j o
+#PBS -T mpisx
+
+%%END%%
+
+    elif [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -l cpunum_prc=$tasks_per_node,cputim_job=$cputime
+#PBS -l ${qsubmem}=${Memory}gb
+#PBS -o $remote_dayfile
+#PBS -N palm
+#PBS -j o
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -l ${qsubmem}=${Memory}gb,${qsubtime}=$cputime
+#PBS -o $remote_dayfile
+#PBS -j o
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = necriam ]]
+ then
+
+    if (( nodes > 1 ))
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -b $nodes
+#PBS -o $remote_dayfile
+#PBS -N $job_name
+#PBS -j o
+#PBS -v MPIPROGINV=YES
+
+%%END%%
+
+    elif [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -q ${queue}
+#PBS -o $remote_dayfile
+#PBS -N $job_name
+#PBS -j o
+#PBS -v MPIPROGINV=YES
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/ksh
+#PBS -o $remote_dayfile
+#PBS -j o
+
+%%END%%
+
+    fi
+
+ elif [[ $remote_host = lctit ]]
+ then
+    cat > $job_to_send << %%END%%
+#!/bin/bash
+#$ -S /bin/bash
+cd $job_catalog
+export PATH=$PALM_BIN:\$PATH
+echo \$PATH
+
+%%END%%
+
+       # OPTIONEN FUER SUBMIT-KOMMANDO ZUSAMMENSTELLEN
+  #  submcom="$submcom  -N $job_name  -sgeout $remote_dayfile  -q default"
+    submcom="$submcom -g $group_number -N $job_name -rt 4320 -sgeout $remote_dayfile  -q $node_usage "
+
+ else
+
+    cat > $job_to_send << %%END%%
+# @\$-q ${queue}
+# @\$-l${qsubtime} $timestring
+# @\$-l${qsubmem} ${memory}mb
+# @\$-o $remote_dayfile
+# @\$-eo
+
+%%END%%
+
+ fi
+
+
+    # BEI RECHNUNG AUF REMOTE-MASCHINEN RUECKTRANSFER DES DAYFILES PER TRAP
+    # BEI EXIT VERANLASSEN
+    # VEKTORRECHNER MUSS EIGENEN JOB STARTEN, DA DORT NOHUP NICHT FUNKTIONIERT
+    # AUF IBM IN SEOUL IST RUECKTRANSFER ZUR ZEIT GENERELL NICHT MOEGLICH
+ if [[ $delete_dayfile = false  &&  $remote_host != $local_host ]]
+ then
+    echo "set +vx"                              >>  $job_to_send
+    echo "trap '"                               >>  $job_to_send
+    echo "set +vx"                              >>  $job_to_send
+    if [[ $(echo $remote_host | cut -c1-3) = ibm  ||  $(echo $remote_host | cut -c1-5) = lcsgi  ||  $(echo $remote_host | cut -c1-3) = nec  ||  $remote_host = lctit ]]
+    then
+       if [[ $remote_host = ibmb  ||  $remote_host = ibmh ]]
+       then
+          return_queue=c1
+       elif [[ $remote_host = ibms ]]
+       then
+          return_queue=p_normal
+       elif [[ $remote_host = ibmy ]]
+       then
+          return_queue=serial
+       elif [[ $remote_host = lcsgih  ||  $remote_host = lcsgib ]]
+       then
+          return_queue=serialq
+       elif [[ $remote_host = lctit ]]
+       then
+          return_queue=sla3
+       elif [[ $remote_host = necriam ]]
+       then
+          return_queue=SP
+       else
+          return_queue=unknown
+       fi
+
+       if [[ $(echo $remote_host | cut -c1-3) = ibm ]]
+       then
+
+          echo "echo \"#!/bin/ksh\" >> scpjob.$kennung"               >>  $job_to_send
+          echo "echo \"# @ job_type = serial\" >> scpjob.$kennung"    >>  $job_to_send
+          echo "echo \"# @ job_name = transfer\" >> scpjob.$kennung"  >>  $job_to_send
+          echo "echo \"# @ resources = ConsumableCpus(1) ConsumableMemory(1 gb)\" >> scpjob.$kennung"  >>  $job_to_send
+          echo "echo \"# @ wall_clock_limit = 00:10:00,00:10:00\" >> scpjob.$kennung "  >>  $job_to_send
+          echo "echo \"# @ output = job_queue/last_job_transfer_protocol\" >> scpjob.$kennung"  >>  $job_to_send
+          echo "echo \"# @ error = job_queue/last_job_transfer_protocol\" >> scpjob.$kennung"  >>  $job_to_send
+          if [[ $host != "ibmh" ]]
+          then
+             echo "echo \"# @ class = $return_queue\" >> scpjob.$kennung"  >>  $job_to_send
+          fi
+          echo "echo \"# @ image_size = 10\" >> scpjob.$kennung"      >>  $job_to_send
+          echo "echo \"# @ notification = never\" >> scpjob.$kennung" >>  $job_to_send
+
+          echo "echo \"# @ queue\" >> scpjob.$kennung"                >>  $job_to_send
+          echo "echo \" \" >> scpjob.$kennung"                        >>  $job_to_send
+
+          echo "echo \"set -x\" >> scpjob.$kennung"                   >>  $job_to_send
+          echo "echo \"batch_scp  -d  -w 10  -u $local_user  $local_addres  ${job_catalog}/$remote_dayfile  \\\"$job_catalog\\\"  $local_dayfile\" >> scpjob.$kennung"  >>  $job_to_send
+          echo "echo \"exit\" >> scpjob.$kennung"                     >>  $job_to_send
+
+       elif [[ $remote_host = nech ]]
+       then
+          echo "cd /pf/b/${remote_user}/job_queue" >>  $job_to_send
+          echo "cat > scpjob.$kennung << %%END%%"  >>  $job_to_send
+          echo "#PBS -l ${qsubmem}=1GB,${qsubtime}=100"  >>  $job_to_send
+          echo "#PBS -o last_job_transfer_protocol"      >>  $job_to_send
+          echo "#PBS -j o"                         >>  $job_to_send
+          echo " "                                 >>  $job_to_send
+          echo "set -x"                            >>  $job_to_send
+          echo "cd /pf/b/${remote_user}/job_queue" >>  $job_to_send
+          echo "batch_scp  -d  -w 10  -u $local_user $local_addres  $remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                           >>  $job_to_send
+
+       elif [[ $remote_host = necriam ]]
+       then
+          echo "cat > scpjob.$kennung << %%END%%"  >>  $job_to_send
+          echo "#PBS -q $return_queue"             >>  $job_to_send
+          echo "#PBS -o last_job_transfer_protocol"      >>  $job_to_send
+          echo "#PBS -j o"                         >>  $job_to_send
+          echo " "                                 >>  $job_to_send
+          echo "set -x"                            >>  $job_to_send
+          echo "batch_scp  -d  -w 10  -u $local_user $local_addres  $remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                           >>  $job_to_send
+
+       elif [[ $(echo $remote_host | cut -c1-5) = lcsgi ]]
+       then
+          echo "cat > scpjob.$kennung << %%END%%"  >>  $job_to_send
+          echo "#!/bin/bash"                             >>  $job_to_send
+          echo "#PBS -N job_protocol_transfer"           >>  $job_to_send
+          echo "#PBS -l walltime=00:30:00"               >>  $job_to_send
+          echo "#PBS -l nodes=1:ppn=1"                   >>  $job_to_send
+          echo "#PBS -l feature=data"                    >>  $job_to_send
+          echo "#PBS -o \$HOME/job_queue/last_job_transfer_protocol"      >>  $job_to_send
+          echo "#PBS -j oe"                        >>  $job_to_send
+          echo " "                                 >>  $job_to_send
+          echo ". /usr/share/modules/init/bash"    >>  $job_to_send
+          echo "set -x"                            >>  $job_to_send
+          echo "batch_scp  -d  -w 10  -u $local_user $local_addres  ${job_catalog}/$remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                           >>  $job_to_send
+
+       elif [[ $remote_host = lctit ]]
+       then
+          echo "cat > scpjob.$kennung << %%END%%"          >>  $job_to_send
+          echo "set -x"                                    >>  $job_to_send
+          echo "PATH=\$PATH:$job_catalog/../pub"           >>  $job_to_send
+          echo "cd $job_catalog"                           >>  $job_to_send
+          echo "batch_scp  -d  -w 10  -u $local_user $local_addres  $remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                                   >>  $job_to_send
+
+       else
+
+          echo "cat > scpjob.$kennung << %%END%%"  >>  $job_to_send
+          echo "# @\\\$-q $return_queue"           >>  $job_to_send
+          echo "# @\\\$-l${qsubtime} 10"           >>  $job_to_send
+          echo "# @\\\$-l${qsubmem} 10mb"          >>  $job_to_send
+          if [[ $remote_host = t3ej2  ||  $remote_host = t3ej5  ||  $remote_host = t3es ]]
+          then
+             echo "# @\$-l mpp_p=0"                >>  $job_to_send
+          fi
+          echo '# @\$-lF 10mb'                     >>  $job_to_send
+#          echo '# @\$-o /dev/null'                 >>  $job_to_send
+          echo '# @\$-o job_queue/last_job_transfer_protocol'    >>  $job_to_send
+          echo '# @\\\$-eo'                          >>  $job_to_send
+          echo " "                                 >>  $job_to_send
+          if [[ $remote_host = t3ej2  ||  $remote_host = t3ej5 ]]
+          then
+             echo "set +vx"                        >>  $job_to_send
+             echo ". .profile"                     >>  $job_to_send
+          fi
+          echo "set -x"                            >>  $job_to_send
+          echo "batch_scp  -d  -w 10  -u $local_user $local_addres  ${job_catalog}/$remote_dayfile  \"$job_catalog\"  $local_dayfile  >  /dev/null"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                           >>  $job_to_send
+       fi
+
+       if [[ $(echo $remote_host | cut -c1-3) = ibm ]]
+       then
+          echo "llsubmit  scpjob.$kennung"      >>  $job_to_send
+       elif [[ $(echo $remote_host | cut -c1-5) = lcsgi ]]
+       then
+          echo "chmod  u+x  scpjob.$kennung"    >>  $job_to_send
+          echo "msub  scpjob.$kennung"          >>  $job_to_send
+       elif [[ $remote_host = lctit ]]
+       then
+          echo "chmod  u+x  scpjob.$kennung"    >>  $job_to_send
+          echo "rm -rf ${job_catalog}/last_job_transfer_protocol"  >>  $job_to_send
+          echo "n1ge  -N jobtransfer  -q $return_queue  -sgeout ${job_catalog}/last_job_transfer_protocol  scpjob.$kennung"  >>  $job_to_send
+          echo "sleep 10"                       >>  $job_to_send
+       elif [[ $remote_host = t3eb  ||  $remote_host = t3eh  ||  $remote_host = t3ej2  ||  $remote_host = t3ej5 ]]
+       then
+          echo "qsub -J n  scpjob.$kennung"     >>  $job_to_send
+       elif [[ $remote_host = t3es ]]
+       then
+          echo "qsub -J n  -s /bin/ksh  scpjob.$kennung"     >>  $job_to_send
+       else
+          echo "qsub  scpjob.$kennung"          >>  $job_to_send
+       fi
+       echo "rm  scpjob.$kennung"               >>  $job_to_send
+       if [[ $remote_host = nech ]]
+       then
+          echo "cd -"                           >>  $job_to_send
+       fi
+    else
+#       echo "ftpcopy  -d  $local_addres  ${job_catalog}/$remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+       echo "nohup  ftpcopy  -d  -w 15  $local_addres  ${job_catalog}/$remote_dayfile  \"$job_catalog\"  $local_dayfile  >  /dev/null  &"  >>  $job_to_send
+    fi
+    echo "set -x"                               >>  $job_to_send
+    echo "     ' exit"                          >>  $job_to_send
+    echo "set -x"                               >>  $job_to_send
+ fi
+
+
+
+    # EIGENTLICHE JOB-DATEI AN QSUB-KOMMANDOS ANHAENGEN
+ cat  $file_to_send  >>  $job_to_send
+
+ if [[ $remote_host = ibm ]]
+ then
+    echo " "         >>  $job_to_send
+    echo "exit"      >>  $job_to_send
+ fi
+ if [[ $remote_host = lctit ]]
+ then
+    echo " "                               >>  $job_to_send
+    echo "rm ~/job_queue/$job_on_remhost"  >>  $job_to_send
+ fi
+
+
+
+    # USER-NAME AUF ZIELRECHNER AUS .NETRC-DATEI ERMITTELN
+ if [[ -z $remote_user ]]
+ then
+    if [[ $remote_host = t3eb  ||  $remote_host = t3eh  ||  $remote_host = t3ej2  ||  $remote_host = t3ej5  ||  $remote_host = t3es  ||  $remote_host = vpp ]]
+    then
+       grep  $remote_addres  ~/.netrc | read dum dum dum remote_user dum dum
+    fi
+ fi
+
+
+
+    # JOB AUF ZIELRECHNER TRANSFERIEREN BZW. INS JOBVERZEICHNIS KOPIEREN
+ if [[ $no_submit = false ]]
+ then
+    if [[ $remote_host != $local_host ]]
+    then
+       [[ $verify = true ]]  &&  printf "\n >>> transfering job to \"$remote_host\"..."
+       if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]    # ssh on ibms cannot handle "~/"
+       then
+          job_catalog_save=$job_catalog
+          job_catalog=job_queue
+       elif [[ $remote_host = nech ]]
+       then
+          job_catalog_save=$job_catalog
+          job_catalog=/hpf/b/${remote_user}/job_queue
+       fi
+       if [[ $local_host = decalpha ]]
+       then
+             # VERWENDUNG VON SCP AUF DECALPHA FRAGT FEHLERHAFTERWEISE
+             # PASSWORT AB
+          /bin/scp  $job_to_send  ${remote_user}@${remote_addres}:${job_catalog}/$job_on_remhost
+       elif [[ $remote_host = nech ]]
+       then
+             # DATEIEN KOENNEN NUR UEBER DEN ARCHIVE-SERVER DES DKRZ
+             # TRANSFERIERT WERDEN
+          scp  $job_to_send  ${remote_user}@136.172.44.205:${job_catalog}/$job_on_remhost
+       else
+          scp  $job_to_send  ${remote_user}@${remote_addres}:${job_catalog}/$job_on_remhost
+       fi
+       if [[ $? = 1 ]]
+       then
+          locat=scp; exit
+       fi
+       if [[ $remote_host = ibms ]]
+       then
+          job_catalog=$job_catalog_save
+       fi
+       [[ $verify = true ]]  &&  printf "\n >>> finished\n"
+    else
+       eval  job_catalog=$job_catalog
+       cp  $job_to_send  ${job_catalog}/$job_on_remhost
+    fi
+
+
+
+       # NQS- BZW. LOADLEVELER-JOB STARTEN
+    if [[ $remote_host != $local_host ]]
+    then
+       [[ $verify = true ]]  &&  printf "\n >>> submitting job using \"qsub\"...\n"
+       if [[ $remote_host != lctit ]]
+       then
+          if [[ $(echo $remote_host | cut -c1-5) = lcsgi  &&  $prio = true ]]
+          then
+             printf "\n >>> submit with HLRN qos-feature hiprio...\n"
+             ssh  $remote_addres  -l $remote_user  "cd $job_catalog; $submcom -l qos=hiprio $job_on_remhost; rm $job_on_remhost"
+          else
+             ssh  $remote_addres  -l $remote_user  "cd $job_catalog; $submcom $job_on_remhost; rm $job_on_remhost"
+          fi
+       else
+             # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
+             # MIT SSH, DESHALB AUFRUF PER PIPE
+             # UEBERGANGSWEISE CHECK, OB N1GE ENVIRONMENT WIRKLICH VERFUEGBAR
+          print  "cd $job_catalog; chmod u+x $job_on_remhost"  |  ssh  $remote_addres  -l $remote_user  > /dev/null  2>&1 
+          echo "first try" > send_protocol
+          while [[ $(cat send_protocol | grep -c "Forwarding to N1GE") = 0 ]]
+          do
+             if [[ $(cat send_protocol | grep -c "first try") = 1 ]]
+             then
+                printf "\n trying to submit job to TIT cluster..."
+             else
+                printf "\n +++ failed ... trying to submit again ..."
+             fi
+             print  "cd $job_catalog; $submcom $job_on_remhost"  |  ssh  $remote_addres  -l $remote_user  >  send_protocol  2>&1 
+             cat send_protocol
+          done
+          sleep 10
+          print  "cd $job_catalog;  rm $job_on_remhost"  |  ssh  $remote_addres  -l $remote_user  > /dev/null  2>&1 
+          echo "$submcom  $job_on_remhost"
+          rm  send_protocol
+       fi
+
+       [[ $verify = true ]]  &&  printf " >>> o.k.\n"
+    else
+       cd  $job_catalog
+       if [[ $(echo $local_host | cut -c1-5) = lcsgi  ||  $(echo $local_host | cut -c1-3) = ibm ]]
+       then
+          eval  $submcom  $job_on_remhost
+       elif [[  $local_host = lcfimm  ||  $local_host = lctit  ||  $localhost = lcxt4 || $localhost = lck ]]
+       then
+          eval  $submcom  $job_on_remhost
+          echo "$submcom  $job_on_remhost"
+          chmod  u+x  $job_on_remhost
+       elif [[ $(echo $local_host | cut -c1-5) = lcsgi ]]
+       then
+          eval  $submcom  $job_on_remhost
+       elif [[ $local_host = nech ]]
+       then
+          if [[ $queue = default ]]
+          then
+             eval  $submcom  $job_on_remhost 
+          else
+             eval  $submcom  -q $queue  $job_on_remhost 
+          fi
+       else
+          qsub  $job_on_remhost
+       fi
+          # JOBFILE DARF AUF LCTIT NICHT GELOESCHT WERDEN!! GESCHIEHT ERST AM JOBENDE
+       [[ $local_host != lctit ]]  &&  rm  $job_on_remhost
+       cd  -  > /dev/null
+    fi
+ fi
+
+
+
+    # ABSCHLUSSARBEITEN
+
+ if [[ $no_submit = false ]]
+ then
+    rm  $job_to_send
+ fi
+ [[ $verify = true ]]  &&  printf "\n\n *** SUBJOB finished \n\n"
Index: palm/tags/release-3.7/SOURCE/CURRENT_MODIFICATIONS
===================================================================
--- palm/tags/release-3.7/SOURCE/CURRENT_MODIFICATIONS	(revision 393)
+++ palm/tags/release-3.7/SOURCE/CURRENT_MODIFICATIONS	(revision 393)
@@ -0,0 +1,12 @@
+New:
+---
+
+
+Changed:
+-------
+
+
+Errors:
+------
+
+
Index: palm/tags/release-3.7/SOURCE/Makefile
===================================================================
--- palm/tags/release-3.7/SOURCE/Makefile	(revision 393)
+++ palm/tags/release-3.7/SOURCE/Makefile	(revision 393)
@@ -0,0 +1,303 @@
+#------------------------------------------------------------------------------!
+# WARNING: don't write filenames with extension .f90 in this header!!!!
+#
+# Actual revisions:
+# -----------------
+# +set_particle_attributes, set_slicer_attributes_dvrp
+#
+# Former revisions:
+# -----------------
+# $Id$
+#
+# 217 2008-12-09 18:00:48Z letzel
+# former file user_interface split into one file per subroutine
+# +init_coupling, message
+#
+# 151 2008-03-07 13:42:18Z raasch
+# +plant_canopy_model, inflow_turbulence
+# +surface_coupler
+#
+# 96 2007-06-04 08:07:41Z raasch
+# +eqn_state_seawater, init_ocean
+#
+# 82 2007-04-16 15:40:52Z raasch
+# +local_flush
+#
+# 58 2007-03-09 14:27:38Z raasch
+# default suffixes removed from the suffix list to avoid calling of m2c in
+# case of .mod files
+# +wall_fluxes, +particle_boundary_conds
+#
+# RCS Log replace by Id keyword, revision history cleaned up
+#
+# Revision 1.13  2006/08/04 14:45:31  raasch
+# +data_output_ptseries
+#
+# Revision 1.1  2002/06/11 13:42:20  raasch
+# Initial revision
+#
+#
+# Description:
+# ------------
+# Makefile for the parallelized LES model (PALM) to be used by the
+# shellscript "mrun"
+#------------------------------------------------------------------------------!
+
+PROG =  palm
+
+RCS = advec_particles.f90 advec_s_bc.f90 advec_s_pw.f90 advec_s_up.f90 \
+	advec_s_ups.f90 advec_u_pw.f90 advec_u_up.f90 advec_u_ups.f90 \
+	advec_v_pw.f90 advec_v_up.f90 advec_v_ups.f90 advec_w_pw.f90 \
+	advec_w_up.f90 advec_w_ups.f90 asselin_filter.f90 average_3d_data.f90 \
+	boundary_conds.f90 buoyancy.f90 calc_liquid_water_content.f90 \
+	calc_precipitation.f90 calc_radiation.f90 calc_spectra.f90 \
+	check_for_restart.f90 check_open.f90 check_parameters.f90 \
+	close_file.f90 compute_vpt.f90 coriolis.f90 cpu_log.f90 \
+	cpu_statistics.f90 data_log.f90 data_output_dvrp.f90 \
+	data_output_profiles.f90 data_output_ptseries.f90 \
+	data_output_spectra.f90 data_output_tseries.f90 data_output_2d.f90 \
+	data_output_3d.f90 diffusion_e.f90 diffusion_s.f90 diffusion_u.f90 \
+	diffusion_v.f90 diffusion_w.f90 diffusivities.f90 disturb_field.f90 \
+	disturb_heatflux.f90 eqn_state_seawater.f90 exchange_horiz.f90 exchange_horiz_2d.f90 \
+	fft_xy.f90 flow_statistics.f90 global_min_max.f90 \
+	header.f90 impact_of_latent_heat.f90 inflow_turbulence.f90 \
+	init_1d_model.f90 init_3d_model.f90 init_advec.f90 \
+	init_cloud_physics.f90 init_coupling.f90 init_dvrp.f90 init_grid.f90 \
+	init_ocean.f90 init_particles.f90 init_pegrid.f90 \
+	init_pt_anomaly.f90 init_rankine.f90 init_slope.f90 \
+	interaction_droplets_ptq.f90 local_flush.f90 local_getenv.f90 \
+	local_stop.f90 local_system.f90 local_tremain.f90 \
+	local_tremain_ini.f90 message.f90 modules.f90 netcdf.f90 \
+	package_parin.f90 palm.f90 parin.f90 particle_boundary_conds.f90 \
+        plant_canopy_model.f90 poisfft.f90 \
+	poisfft_hybrid.f90 poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 \
+	production_e.f90 prognostic_equations.f90 random_function.f90 \
+	random_gauss.f90 read_3d_binary.f90 read_var_list.f90 run_control.f90 \
+	set_particle_attributes.f90 set_slicer_attributes_dvrp.f90 \
+        singleton.f90 sor.f90 spline_x.f90 \
+	spline_y.f90 spline_z.f90 sum_up_3d_data.f90 surface_coupler.f90 \
+	swap_timelevel.f90 temperton_fft.f90 time_integration.f90 \
+        time_to_string.f90 timestep.f90 timestep_scheme_steering.f90 \
+        transpose.f90 user_3d_data_averaging.f90 user_actions.f90 \
+	user_additional_routines.f90 user_advec_particles.f90 \
+	user_check_data_output.f90 user_check_data_output_pr.f90 \
+	user_check_parameters.f90 user_data_output_2d.f90 \
+	user_data_output_3d.f90 user_data_output_dvrp.f90 \
+	user_define_netcdf_grid.f90 user_dvrp_coltab.f90 user_header.f90 \
+	user_init.f90 user_init_3d_model.f90 user_init_grid.f90 \
+	user_init_particles.f90 user_init_plant_canopy.f90 \
+	user_last_actions.f90 user_module.f90 user_parin.f90 \
+	user_particle_attributes.f90 user_read_restart_data.f90 \
+	user_spectra.f90 user_statistics.f90 wall_fluxes.f90 \
+	write_3d_binary.f90 write_compressed.f90 write_var_list.f90
+
+OBJS =  advec_particles.o advec_s_bc.o advec_s_pw.o advec_s_up.o \
+	advec_s_ups.o advec_u_pw.o advec_u_up.o advec_u_ups.o \
+	advec_v_pw.o advec_v_up.o advec_v_ups.o advec_w_pw.o \
+	advec_w_up.o advec_w_ups.o asselin_filter.o average_3d_data.o \
+	boundary_conds.o buoyancy.o calc_liquid_water_content.o \
+	calc_precipitation.o calc_radiation.o calc_spectra.o \
+	check_for_restart.o check_open.o check_parameters.o close_file.o \
+	compute_vpt.o coriolis.o cpu_log.o cpu_statistics.o data_log.o \
+	data_output_dvrp.o data_output_profiles.o data_output_ptseries.o \
+	data_output_spectra.o data_output_tseries.o data_output_2d.o \
+	data_output_3d.o diffusion_e.o diffusion_s.o diffusion_u.o \
+	diffusion_v.o diffusion_w.o diffusivities.o disturb_field.o \
+	disturb_heatflux.o eqn_state_seawater.o exchange_horiz.o exchange_horiz_2d.o fft_xy.o \
+	flow_statistics.o global_min_max.o header.o impact_of_latent_heat.o \
+	inflow_turbulence.o init_1d_model.o init_3d_model.o init_advec.o init_cloud_physics.o \
+	init_coupling.o init_dvrp.o init_grid.o init_ocean.o init_particles.o init_pegrid.o \
+	init_pt_anomaly.o init_rankine.o init_slope.o \
+	interaction_droplets_ptq.o local_flush.o local_getenv.o local_stop.o \
+	local_system.o local_tremain.o local_tremain_ini.o message.o modules.o \
+	netcdf.o package_parin.o palm.o parin.o particle_boundary_conds.o \
+        plant_canopy_model.o poisfft.o \
+	poisfft_hybrid.o poismg.o prandtl_fluxes.o pres.o print_1d.o \
+	production_e.o prognostic_equations.o random_function.o random_gauss.o \
+	read_3d_binary.o read_var_list.o run_control.o \
+	set_particle_attributes.o set_slicer_attributes_dvrp.o \
+        singleton.o sor.o spline_x.o spline_y.o \
+        spline_z.o sum_up_3d_data.o surface_coupler.o swap_timelevel.o \
+        temperton_fft.o time_integration.o time_to_string.o \
+        timestep.o timestep_scheme_steering.o transpose.o \
+	user_3d_data_averaging.o user_actions.o user_additional_routines.o \
+	user_advec_particles.o user_check_data_output.o \
+	user_check_data_output_pr.o user_check_parameters.o \
+	user_data_output_2d.o user_data_output_3d.o user_data_output_dvrp.o \
+	user_define_netcdf_grid.o user_dvrp_coltab.o user_header.o \
+	user_init.o user_init_3d_model.o user_init_grid.o \
+	user_init_particles.o user_init_plant_canopy.o user_last_actions.o \
+	user_module.o user_parin.o user_particle_attributes.o \
+	user_read_restart_data.o user_spectra.o user_statistics.o \
+	wall_fluxes.o write_3d_binary.o write_compressed.o write_var_list.o
+
+CC = cc
+CFLAGS = -O
+
+F90 =
+COPT =
+F90FLAGS =
+LDFLAGS =
+
+
+.SUFFIXES:
+.SUFFIXES: .o .f90
+
+
+all: $(PROG)
+
+$(PROG): $(OBJS)
+	$(F90) -o $(PROG) $(OBJS) $(LDFLAGS)
+
+clean:
+	rm -f $(PROG) $(OBJS) *.mod *.i *.lst
+
+.f90.o:
+	$(F90) $(F90FLAGS) $(COPT) -c $<
+
+
+
+advec_particles.o: modules.o random_function.o
+advec_s_bc.o: modules.o
+advec_s_pw.o: modules.o
+advec_s_up.o: modules.o
+advec_s_ups.o: modules.o
+advec_u_pw.o: modules.o
+advec_u_up.o: modules.o
+advec_u_ups.o: modules.o
+advec_v_pw.o: modules.o
+advec_v_up.o: modules.o
+advec_v_ups.o: modules.o
+advec_w_pw.o: modules.o
+advec_w_up.o: modules.o
+advec_w_ups.o: modules.o
+asselin_filter.o: modules.o
+average_3d_data.o: modules.o
+boundary_conds.o: modules.o
+buoyancy.o: modules.o
+calc_liquid_water_content.o: modules.o
+calc_precipitation.o: modules.o
+calc_radiation.o: modules.o
+calc_spectra.o: modules.o fft_xy.o
+check_for_restart.o: modules.o
+check_open.o: modules.o
+check_parameters.o: modules.o
+close_file.o: modules.o
+compute_vpt.o: modules.o
+coriolis.o: modules.o
+cpu_log.o: modules.o
+cpu_statistics.o: modules.o
+data_log.o: modules.o
+data_output_dvrp.o: modules.o
+data_output_profiles.o: modules.o
+data_output_ptseries.o: modules.o
+data_output_spectra.o: modules.o
+data_output_tseries.o: modules.o
+data_output_2d.o: modules.o
+data_output_3d.o: modules.o
+diffusion_e.o: modules.o
+diffusion_s.o: modules.o
+diffusion_u.o: modules.o wall_fluxes.o
+diffusion_v.o: modules.o wall_fluxes.o
+diffusion_w.o: modules.o wall_fluxes.o
+diffusivities.o: modules.o
+disturb_field.o: modules.o random_function.o
+disturb_heatflux.o: modules.o
+eqn_state_seawater.o: modules.o
+exchange_horiz.o: modules.o
+exchange_horiz_2d.o: modules.o
+fft_xy.o: modules.o singleton.o temperton_fft.o
+flow_statistics.o: modules.o
+global_min_max.o: modules.o
+header.o: modules.o
+impact_of_latent_heat.o: modules.o
+inflow_turbulence.o: modules.o
+init_1d_model.o: modules.o
+init_3d_model.o: modules.o random_function.o
+init_advec.o: modules.o
+init_cloud_physics.o: modules.o
+init_coupling.o: modules.o
+init_dvrp.o: modules.o
+init_grid.o: modules.o
+init_ocean.o: modules.o eqn_state_seawater.o
+init_particles.o: modules.o random_function.o
+init_pegrid.o: modules.o fft_xy.o poisfft.o poisfft_hybrid.o
+init_pt_anomaly.o: modules.o
+init_rankine.o: modules.o
+init_slope.o: modules.o
+interaction_droplets_ptq.o: modules.o
+local_getenv.o: modules.o
+local_stop.o: modules.o
+local_tremain.o: modules.o
+local_tremain_ini.o: modules.o
+message.o: modules.o
+modules.o: modules.f90
+netcdf.o: modules.o
+package_parin.o: modules.o
+palm.o: modules.o
+parin.o: modules.o
+particle_boundary_conds.o: modules.o
+plant_canopy_model.o: modules.o
+poisfft.o: modules.o fft_xy.o
+poisfft_hybrid.o: modules.o fft_xy.o
+poismg.o: modules.o
+prandtl_fluxes.o: modules.o
+pres.o: modules.o poisfft.o poisfft_hybrid.o
+print_1d.o: modules.o
+production_e.o: modules.o wall_fluxes.o
+prognostic_equations.o: modules.o advec_s_pw.o advec_s_up.o advec_u_pw.o \
+	advec_u_up.o advec_v_pw.o advec_v_up.o advec_w_pw.o advec_w_up.o  \
+	buoyancy.o calc_precipitation.o calc_radiation.o coriolis.o \
+	diffusion_e.o diffusion_s.o diffusion_u.o diffusion_v.o diffusion_w.o \
+	eqn_state_seawater.o impact_of_latent_heat.o \
+        plant_canopy_model.o production_e.o \
+	user_actions.o
+random_gauss.o: random_function.o
+read_3d_binary.o: modules.o random_function.o
+read_var_list.o: modules.o
+run_control.o: modules.o
+set_particle_attributes.o: modules.o
+set_slicer_attributes_dvrp.o: modules.o
+singleton.o: singleton.f90
+sor.o: modules.o
+spline_x.o: modules.o
+spline_y.o: modules.o
+spline_z.o: modules.o
+sum_up_3d_data.o: modules.o
+surface_coupler.o: modules.o
+swap_timelevel.o: modules.o
+temperton_fft.o: modules.o
+time_integration.o: modules.o prognostic_equations.o user_actions.o \
+	interaction_droplets_ptq.o
+timestep.o: modules.o
+timestep_scheme_steering.o: modules.o
+transpose.o: modules.o
+user_3d_data_averaging.o: modules.o user_module.o
+user_actions.o: modules.o user_module.o
+user_additional_routines.o: modules.o user_module.o
+user_advec_particles.o: modules.o user_module.o
+user_check_data_output.o: modules.o user_module.o
+user_check_data_output_pr.o: modules.o user_module.o
+user_check_parameters.o: modules.o user_module.o
+user_data_output_2d.o: modules.o user_module.o
+user_data_output_3d.o: modules.o user_module.o
+user_data_output_dvrp.o: modules.o user_module.o
+user_define_netcdf_grid.o: modules.o user_module.o
+user_dvrp_coltab.o: modules.o user_module.o
+user_header.o: modules.o user_module.o
+user_init.o: modules.o user_module.o
+user_init_3d_model.o: modules.o user_module.o
+user_init_grid.o: modules.o user_module.o
+user_init_particles.o: modules.o user_module.o
+user_init_plant_canopy.o: modules.o user_module.o
+user_last_actions.o: modules.o user_module.o
+user_module.o: user_module.f90
+user_parin.o: modules.o user_module.o
+user_particle_attributes.o: modules.o user_module.o
+user_read_restart_data.o: modules.o user_module.o
+user_spectra.o: modules.o user_module.o
+user_statistics.o: modules.o user_module.o
+wall_fluxes.o: modules.o
+write_3d_binary.o: modules.o random_function.o
+write_compressed.o: modules.o
+write_var_list.o: modules.o
Index: palm/tags/release-3.7/SOURCE/advec_particles.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_particles.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_particles.f90	(revision 393)
@@ -0,0 +1,3954 @@
+ SUBROUTINE advec_particles
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! TEST: PRINT statements on unit 9 (commented out)
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 336 2009-06-10 11:19:35Z raasch
+! Particle attributes are set with new routine set_particle_attributes.
+! Vertical particle advection depends on the particle group.
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine
+! Bugfix: error in check, if particles moved further than one subdomain length.
+!         This check must not be applied for newly released particles
+! Bugfix: several tail counters are initialized, particle_tail_coordinates is
+! only written to file if its third index is > 0
+!
+! 212 2008-11-11 09:09:24Z raasch
+! Bugfix in calculating k index in case of oceans runs (sort_particles)
+!
+! 150 2008-02-29 08:19:58Z raasch
+! Bottom boundary condition and vertical index calculations adjusted for
+! ocean runs.
+!
+! 119 2007-10-17 10:27:13Z raasch
+! Sorting of particles is controlled by dt_sort_particles and moved from
+! the SGS timestep loop after the end of this loop.
+! Bugfix: pleft/pright changed to pnorth/psouth in sendrecv of particle tail
+! numbers along y
+! Small bugfixes in the SGS part
+!
+! 106 2007-08-16 14:30:26Z raasch
+! remaining variables iran changed to iran_part
+!
+! 95 2007-06-02 16:48:38Z raasch
+! hydro_press renamed hyp
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Particle reflection at vertical walls implemented in new subroutine
+! particle_boundary_conds,
+! vertical walls are regarded in the SGS model,
+! + user_advec_particles, particles-package is now part of the defaut code,
+! array arguments in sendrecv calls have to refer to first element (1) due to
+! mpich (mpiI) interface requirements,
+! 2nd+3rd argument removed from exchange horiz
+!
+! 16 2007-02-15 13:16:47Z raasch
+! Bugfix: wrong if-clause from revision 1.32
+!
+! r4 | raasch | 2007-02-13 12:33:16 +0100 (Tue, 13 Feb 2007)
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.32  2007/02/11 12:48:20  raasch
+! Allways the lower level k is used for interpolation
+! Bugfix: new particles are released only if end_time_prel > simulated_time
+! Bugfix: transfer of particles when x < -0.5*dx (0.0 before), etc.,
+!         index i,j used instead of cartesian (x,y) coordinate to check for
+!         transfer because this failed under very rare conditions
+! Bugfix: calculation of number of particles with same radius as the current
+!         particle (cloud droplet code)
+!
+! Revision 1.31  2006/08/17 09:21:01  raasch
+! Two more compilation errors removed from the last revision
+!
+! Revision 1.30  2006/08/17 09:11:17  raasch
+! Two compilation errors removed from the last revision
+!
+! Revision 1.29  2006/08/04 14:05:01  raasch
+! Subgrid scale velocities are (optionally) included for calculating the
+! particle advection, new counters trlp_count_sum, etc. for accumulating
+! the number of particles exchanged between the subdomains during all
+! sub-timesteps (if sgs velocities are included), +3d-arrays de_dx/y/z,
+! izuf renamed iran, output of particle time series
+!
+! Revision 1.1  1999/11/25 16:16:06  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Particle advection
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE cloud_parameters
+    USE constants
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE random_function_mod
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  agp, deleted_particles, deleted_tails, i, ie, ii, inc, is, j,  &
+                jj, js, k, kk, kw, m, n, nc, nn, num_gp, psi, tlength,         &
+                trlp_count, trlp_count_sum, trlp_count_recv,                   &
+                trlp_count_recv_sum, trlpt_count, trlpt_count_recv,            &
+                trnp_count, trnp_count_sum, trnp_count_recv,                   &
+                trnp_count_recv_sum, trnpt_count, trnpt_count_recv,            &
+                trrp_count, trrp_count_sum, trrp_count_recv,                   &
+                trrp_count_recv_sum, trrpt_count, trrpt_count_recv,            &
+                trsp_count, trsp_count_sum, trsp_count_recv,                   &
+                trsp_count_recv_sum, trspt_count, trspt_count_recv, nd
+
+    INTEGER ::  gp_outside_of_building(1:8)
+
+    LOGICAL ::  dt_3d_reached, dt_3d_reached_l, prt_position
+
+    REAL    ::  aa, arg, bb, cc, dd, delta_r, dens_ratio, de_dt, de_dt_min,    &
+                de_dx_int, de_dx_int_l, de_dx_int_u, de_dy_int, de_dy_int_l,   &
+                de_dy_int_u, de_dz_int, de_dz_int_l, de_dz_int_u, diss_int,    &
+                diss_int_l, diss_int_u, distance, dt_gap, dt_particle,         &
+                dt_particle_m, d_radius, d_sum, e_a, e_int, e_int_l, e_int_u,  &
+                e_mean_int, e_s, exp_arg, exp_term, fs_int, gg,                &
+                lagr_timescale, mean_r, new_r, p_int, pt_int, pt_int_l,        &
+                pt_int_u, q_int, q_int_l, q_int_u, ql_int, ql_int_l, ql_int_u, &
+                random_gauss, sl_r3, sl_r4, s_r3, s_r4, t_int, u_int, u_int_l, &
+                u_int_u, vv_int, v_int, v_int_l, v_int_u, w_int, w_int_l,      &
+                w_int_u, x, y
+
+    REAL, DIMENSION(1:30) ::  de_dxi, de_dyi, de_dzi, dissi, d_gp_pl, ei
+
+    REAL    ::  location(1:30,1:3)
+
+    REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ::  de_dx, de_dy, de_dz
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  trlpt, trnpt, trrpt, trspt
+
+    TYPE(particle_type) ::  tmp_particle
+
+    TYPE(particle_type), DIMENSION(:), ALLOCATABLE ::  trlp, trnp, trrp, trsp
+
+
+    CALL cpu_log( log_point(25), 'advec_particles', 'start' )
+
+!    IF ( number_of_particles /= number_of_tails )  THEN
+!       WRITE (9,*) '--- advec_particles: #1'
+!       WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!       CALL local_flush( 9 )
+!    ENDIF
+!
+!-- Write particle data on file for later analysis.
+!-- This has to be done here (before particles are advected) in order
+!-- to allow correct output in case of dt_write_particle_data = dt_prel =
+!-- particle_maximum_age. Otherwise (if output is done at the end of this
+!-- subroutine), the relevant particles would have been already deleted.
+!-- The MOD function allows for changes in the output interval with restart
+!-- runs.
+!-- Attention: change version number for unit 85 (in routine check_open)
+!--            whenever the output format for this unit is changed!
+    time_write_particle_data = time_write_particle_data + dt_3d
+    IF ( time_write_particle_data >= dt_write_particle_data )  THEN
+
+       CALL cpu_log( log_point_s(40), 'advec_part_io', 'start' )
+       CALL check_open( 85 )
+       WRITE ( 85 )  simulated_time, maximum_number_of_particles, &
+                     number_of_particles
+       WRITE ( 85 )  particles
+       WRITE ( 85 )  maximum_number_of_tailpoints, maximum_number_of_tails, &
+                     number_of_tails
+       IF ( maximum_number_of_tails > 0 )  THEN
+          WRITE ( 85 )  particle_tail_coordinates
+       ENDIF
+       CALL close_file( 85 )
+
+       IF ( netcdf_output )  CALL output_particles_netcdf
+
+       time_write_particle_data = MOD( time_write_particle_data, &
+                                  MAX( dt_write_particle_data, dt_3d ) )
+       CALL cpu_log( log_point_s(40), 'advec_part_io', 'stop' )
+    ENDIF
+
+!
+!-- Calculate exponential term used in case of particle inertia for each
+!-- of the particle groups
+    CALL cpu_log( log_point_s(41), 'advec_part_exp', 'start' )
+    DO  m = 1, number_of_particle_groups
+       IF ( particle_groups(m)%density_ratio /= 0.0 )  THEN
+          particle_groups(m)%exp_arg  =                                        &
+                    4.5 * particle_groups(m)%density_ratio *                   &
+                    molecular_viscosity / ( particle_groups(m)%radius )**2
+          particle_groups(m)%exp_term = EXP( -particle_groups(m)%exp_arg * &
+                                             dt_3d )
+       ENDIF
+    ENDDO
+    CALL cpu_log( log_point_s(41), 'advec_part_exp', 'stop' )
+
+!    WRITE ( 9, * ) '*** advec_particles: ##0.3'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!-- Particle (droplet) growth by condensation/evaporation and collision
+    IF ( cloud_droplets )  THEN
+
+!
+!--    Reset summation arrays
+       ql_c = 0.0;  ql_v = 0.0;  ql_vp = 0.0
+
+!
+!--    Particle growth by condensation/evaporation
+       CALL cpu_log( log_point_s(42), 'advec_part_cond', 'start' )
+       DO  n = 1, number_of_particles
+!
+!--       Interpolate temperature and humidity.
+!--       First determine left, south, and bottom index of the arrays.
+          i = particles(n)%x * ddx
+          j = particles(n)%y * ddy
+          k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz  &
+              + offset_ocean_nzt                     ! only exact if equidistant
+
+          x  = particles(n)%x - i * dx
+          y  = particles(n)%y - j * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          pt_int_l = ( ( gg - aa ) * pt(k,j,i)   + ( gg - bb ) * pt(k,j,i+1)   &
+                     + ( gg - cc ) * pt(k,j+1,i) + ( gg - dd ) * pt(k,j+1,i+1) &
+                     ) / ( 3.0 * gg )
+
+          pt_int_u = ( ( gg-aa ) * pt(k+1,j,i)   + ( gg-bb ) * pt(k+1,j,i+1)   &
+                     + ( gg-cc ) * pt(k+1,j+1,i) + ( gg-dd ) * pt(k+1,j+1,i+1) &
+                     ) / ( 3.0 * gg )
+
+          pt_int = pt_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                              ( pt_int_u - pt_int_l )
+
+          q_int_l = ( ( gg - aa ) * q(k,j,i)   + ( gg - bb ) * q(k,j,i+1)   &
+                    + ( gg - cc ) * q(k,j+1,i) + ( gg - dd ) * q(k,j+1,i+1) &
+                    ) / ( 3.0 * gg )
+
+          q_int_u = ( ( gg-aa ) * q(k+1,j,i)   + ( gg-bb ) * q(k+1,j,i+1)   &
+                    + ( gg-cc ) * q(k+1,j+1,i) + ( gg-dd ) * q(k+1,j+1,i+1) &
+                    ) / ( 3.0 * gg )
+
+          q_int = q_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                              ( q_int_u - q_int_l )
+
+          ql_int_l = ( ( gg - aa ) * ql(k,j,i)   + ( gg - bb ) * ql(k,j,i+1)   &
+                     + ( gg - cc ) * ql(k,j+1,i) + ( gg - dd ) * ql(k,j+1,i+1) &
+                     ) / ( 3.0 * gg )
+
+          ql_int_u = ( ( gg-aa ) * ql(k+1,j,i)   + ( gg-bb ) * ql(k+1,j,i+1)   &
+                     + ( gg-cc ) * ql(k+1,j+1,i) + ( gg-dd ) * ql(k+1,j+1,i+1) &
+                     ) / ( 3.0 * gg )
+
+          ql_int = ql_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                ( ql_int_u - ql_int_l )
+
+!
+!--       Calculate real temperature and saturation vapor pressure
+          p_int = hyp(k) + ( particles(n)%z - zu(k) ) / dz * ( hyp(k+1)-hyp(k) )
+          t_int = pt_int * ( p_int / 100000.0 )**0.286
+
+          e_s = 611.0 * EXP( l_d_rv * ( 3.6609E-3 - 1.0 / t_int ) )
+
+!
+!--       Current vapor pressure
+          e_a = q_int * p_int / ( 0.378 * q_int + 0.622 )
+
+!
+!--       Change in radius by condensation/evaporation
+!--       ATTENTION: this is only an approximation for large radii
+          arg = particles(n)%radius**2 + 2.0 * dt_3d *                     &
+                        ( e_a / e_s - 1.0 ) /                              &
+                        ( ( l_d_rv / t_int - 1.0 ) * l_v * rho_l / t_int / &
+                          thermal_conductivity_l +                         &
+                          rho_l * r_v * t_int / diff_coeff_l / e_s )
+          IF ( arg < 1.0E-14 )  THEN
+             new_r = 1.0E-7
+          ELSE
+             new_r = SQRT( arg )
+          ENDIF
+
+          delta_r = new_r - particles(n)%radius
+
+! NOTE: this is the correct formula (indipendent of radius).
+!       nevertheless, it give wrong results for large timesteps
+!          d_radius =  1.0 / particles(n)%radius
+!          delta_r = d_radius * ( e_a / e_s - 1.0 - 3.3E-7 / t_int * d_radius + &
+!                                 b_cond * d_radius**3 ) /                      &
+!                    ( ( l_d_rv / t_int - 1.0 ) * l_v * rho_l / t_int /         &
+!                      thermal_conductivity_l +                                 &
+!                      rho_l * r_v * t_int / diff_coeff_l / e_s ) * dt_3d
+
+!          new_r = particles(n)%radius + delta_r
+!          IF ( new_r < 1.0E-7 )  new_r = 1.0E-7
+
+!
+!--       Sum up the change in volume of liquid water for the respective grid
+!--       volume (this is needed later on for calculating the release of
+!--       latent heat)
+          i = ( particles(n)%x + 0.5 * dx ) * ddx
+          j = ( particles(n)%y + 0.5 * dy ) * ddy
+          k = particles(n)%z / dz + 1 + offset_ocean_nzt_m1
+              ! only exact if equidistant
+
+          ql_c(k,j,i) = ql_c(k,j,i) + particles(n)%weight_factor *            &
+                                      rho_l * 1.33333333 * pi *               &
+                                      ( new_r**3 - particles(n)%radius**3 ) / &
+                                      ( rho_surface * dx * dy * dz )
+          IF ( ql_c(k,j,i) > 100.0 )  THEN
+             WRITE( message_string, * ) 'k=',k,' j=',j,' i=',i,      &
+                          ' ql_c=',ql_c(k,j,i), ' &part(',n,')%wf=', &
+                          particles(n)%weight_factor,' delta_r=',delta_r
+             CALL message( 'advec_particles', 'PA0143', 2, 2, -1, 6, 1 )
+          ENDIF
+
+!
+!--       Change the droplet radius
+          IF ( ( new_r - particles(n)%radius ) < 0.0  .AND.  new_r < 0.0 ) &
+          THEN
+             WRITE( message_string, * ) '#1 k=',k,' j=',j,' i=',i,   &
+                          ' e_s=',e_s, ' e_a=',e_a,' t_int=',t_int,  &
+                          ' &d_radius=',d_radius,' delta_r=',delta_r,&
+                          ' particle_radius=',particles(n)%radius
+             CALL message( 'advec_particles', 'PA0144', 2, 2, -1, 6, 1 )
+          ENDIF
+          particles(n)%radius = new_r
+
+!
+!--       Sum up the total volume of liquid water (needed below for
+!--       re-calculating the weighting factors)
+          ql_v(k,j,i) = ql_v(k,j,i) + particles(n)%weight_factor * &
+                                      particles(n)%radius**3
+       ENDDO
+       CALL cpu_log( log_point_s(42), 'advec_part_cond', 'stop' )
+
+!
+!--    Particle growth by collision
+       CALL cpu_log( log_point_s(43), 'advec_part_coll', 'start' )
+       
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+!
+!--             Collision requires at least two particles in the box
+                IF ( prt_count(k,j,i) > 1 )  THEN
+!
+!--                First, sort particles within the gridbox by their size,
+!--                using Shell's method (see Numerical Recipes)
+!--                NOTE: In case of using particle tails, the re-sorting of
+!--                ----  tails would have to be included here!
+                   psi = prt_start_index(k,j,i) - 1
+                   inc = 1
+                   DO WHILE ( inc <= prt_count(k,j,i) )
+                      inc = 3 * inc + 1
+                   ENDDO
+
+                   DO WHILE ( inc > 1 )
+                      inc = inc / 3
+                      DO  is = inc+1, prt_count(k,j,i)
+                         tmp_particle = particles(psi+is)
+                         js = is
+                         DO WHILE ( particles(psi+js-inc)%radius > &
+                                    tmp_particle%radius )
+                            particles(psi+js) = particles(psi+js-inc)
+                            js = js - inc
+                            IF ( js <= inc )  EXIT
+                         ENDDO
+                         particles(psi+js) = tmp_particle
+                      ENDDO
+                   ENDDO
+
+!
+!--                Calculate the mean radius of all those particles which
+!--                are of smaller or equal size than the current particle
+!--                and use this radius for calculating the collision efficiency
+                   psi = prt_start_index(k,j,i)
+                   s_r3 = 0.0
+                   s_r4 = 0.0
+                   DO  n = psi, psi+prt_count(k,j,i)-1
+!
+!--                   There may be some particles of size equal to the
+!--                   current particle but with larger index
+                      sl_r3 = 0.0
+                      sl_r4 = 0.0
+		      DO is = n, psi+prt_count(k,j,i)-2
+			 IF ( particles(is+1)%radius == &
+			      particles(is)%radius ) THEN
+                            sl_r3 = sl_r3 + particles(is+1)%radius**3
+                            sl_r4 = sl_r4 + particles(is+1)%radius**4
+		         ELSE
+			    EXIT
+			 ENDIF
+		      ENDDO
+
+                      IF ( ( s_r3 + sl_r3 ) > 0.0 )  THEN
+
+                         mean_r = ( s_r4 + sl_r4 ) / ( s_r3 + sl_r3 )
+
+                         CALL collision_efficiency( mean_r,              &
+                                                    particles(n)%radius, &
+                                                    effective_coll_efficiency )
+
+                      ELSE
+                         effective_coll_efficiency = 0.0
+                      ENDIF
+       
+!
+!--                   Contribution of the current particle to the next one
+                      s_r3 = s_r3 + particles(n)%radius**3
+                      s_r4 = s_r4 + particles(n)%radius**4
+
+                      IF ( effective_coll_efficiency > 1.0  .OR. &
+                           effective_coll_efficiency < 0.0 )     &
+                      THEN
+                         WRITE( message_string, * )  'collision_efficiency ' , &
+                                   'out of range:' ,effective_coll_efficiency
+                         CALL message( 'advec_particles', 'PA0145', 2, 2, -1,  &
+                                       6, 1 )
+                      END IF
+
+!
+!--                   Interpolation of ...
+                      ii = particles(n)%x * ddx
+                      jj = particles(n)%y * ddy
+                      kk = ( particles(n)%z + 0.5 * dz ) / dz
+
+                      x  = particles(n)%x - ii * dx
+                      y  = particles(n)%y - jj * dy
+                      aa = x**2          + y**2
+                      bb = ( dx - x )**2 + y**2
+                      cc = x**2          + ( dy - y )**2
+                      dd = ( dx - x )**2 + ( dy - y )**2
+                      gg = aa + bb + cc + dd
+
+                      ql_int_l = ( ( gg-aa ) * ql(kk,jj,ii)   + ( gg-bb ) *    &
+                                                              ql(kk,jj,ii+1)   &
+                                 + ( gg-cc ) * ql(kk,jj+1,ii) + ( gg-dd ) *    &
+                                                              ql(kk,jj+1,ii+1) &
+                                 ) / ( 3.0 * gg )
+
+                      ql_int_u = ( ( gg-aa ) * ql(kk+1,jj,ii)   + ( gg-bb ) *  &
+                                                            ql(kk+1,jj,ii+1)   &
+                                 + ( gg-cc ) * ql(kk+1,jj+1,ii) + ( gg-dd ) *  &
+                                                            ql(kk+1,jj+1,ii+1) &
+                                 ) / ( 3.0 * gg )
+
+                      ql_int = ql_int_l + ( particles(n)%z - zu(kk) ) / dz * &
+                                          ( ql_int_u - ql_int_l )
+
+!
+!--                   Interpolate u velocity-component
+                      ii = ( particles(n)%x + 0.5 * dx ) * ddx
+                      jj =   particles(n)%y * ddy
+                      kk = ( particles(n)%z + 0.5 * dz ) / dz  ! only if eq.dist
+
+                      IF ( ( particles(n)%z - zu(kk) ) > ( 0.5*dz ) )  kk = kk+1
+
+                      x  = particles(n)%x + ( 0.5 - ii ) * dx
+                      y  = particles(n)%y - jj * dy
+                      aa = x**2          + y**2
+                      bb = ( dx - x )**2 + y**2
+                      cc = x**2          + ( dy - y )**2
+                      dd = ( dx - x )**2 + ( dy - y )**2
+                      gg = aa + bb + cc + dd
+
+                      u_int_l = ( ( gg-aa ) * u(kk,jj,ii)   + ( gg-bb ) *     &
+                                                              u(kk,jj,ii+1)   &
+                                + ( gg-cc ) * u(kk,jj+1,ii) + ( gg-dd ) *     &
+                                                              u(kk,jj+1,ii+1) &
+                                ) / ( 3.0 * gg ) - u_gtrans
+                      IF ( kk+1 == nzt+1 )  THEN
+                         u_int = u_int_l
+                      ELSE
+                         u_int_u = ( ( gg-aa ) * u(kk+1,jj,ii)   + ( gg-bb ) * &
+                                                             u(kk+1,jj,ii+1)   &
+                                   + ( gg-cc ) * u(kk+1,jj+1,ii) + ( gg-dd ) * &
+                                                             u(kk+1,jj+1,ii+1) &
+                                   ) / ( 3.0 * gg ) - u_gtrans
+                         u_int = u_int_l + ( particles(n)%z - zu(kk) ) / dz * &
+                                           ( u_int_u - u_int_l )
+                      ENDIF
+
+!
+!--                   Same procedure for interpolation of the v velocity-compo-
+!--                   nent (adopt index k from u velocity-component)
+                      ii =   particles(n)%x * ddx
+                      jj = ( particles(n)%y + 0.5 * dy ) * ddy
+
+                      x  = particles(n)%x - ii * dx
+                      y  = particles(n)%y + ( 0.5 - jj ) * dy
+                      aa = x**2          + y**2
+                      bb = ( dx - x )**2 + y**2
+                      cc = x**2          + ( dy - y )**2
+                      dd = ( dx - x )**2 + ( dy - y )**2
+                      gg = aa + bb + cc + dd
+
+                      v_int_l = ( ( gg-aa ) * v(kk,jj,ii)   + ( gg-bb ) *      &
+                                                               v(kk,jj,ii+1)   &
+                                + ( gg-cc ) * v(kk,jj+1,ii) + ( gg-dd ) *      &
+                                                               v(kk,jj+1,ii+1) &
+                                ) / ( 3.0 * gg ) - v_gtrans
+                      IF ( kk+1 == nzt+1 )  THEN
+                         v_int = v_int_l
+                      ELSE
+                         v_int_u = ( ( gg-aa ) * v(kk+1,jj,ii)   + ( gg-bb ) * &
+                                                               v(kk+1,jj,ii+1) &
+                                   + ( gg-cc ) * v(kk+1,jj+1,ii) + ( gg-dd ) * &
+                                                             v(kk+1,jj+1,ii+1) &
+                                ) / ( 3.0 * gg ) - v_gtrans
+                         v_int = v_int_l + ( particles(n)%z - zu(kk) ) / dz * &
+                                           ( v_int_u - v_int_l )
+                      ENDIF
+
+!
+!--                   Same procedure for interpolation of the w velocity-compo-
+!--                   nent (adopt index i from v velocity-component)
+                      jj = particles(n)%y * ddy
+                      kk = particles(n)%z / dz
+
+                      x  = particles(n)%x - ii * dx
+                      y  = particles(n)%y - jj * dy
+                      aa = x**2          + y**2
+                      bb = ( dx - x )**2 + y**2
+                      cc = x**2          + ( dy - y )**2
+                      dd = ( dx - x )**2 + ( dy - y )**2
+                      gg = aa + bb + cc + dd
+
+                      w_int_l = ( ( gg-aa ) * w(kk,jj,ii)   + ( gg-bb ) *      &
+                                                                 w(kk,jj,ii+1) &
+                                + ( gg-cc ) * w(kk,jj+1,ii) + ( gg-dd ) *      &
+                                                               w(kk,jj+1,ii+1) &
+                                ) / ( 3.0 * gg )
+                      IF ( kk+1 == nzt+1 )  THEN
+                         w_int = w_int_l
+                      ELSE
+                         w_int_u = ( ( gg-aa ) * w(kk+1,jj,ii)   + ( gg-bb ) * &
+                                                               w(kk+1,jj,ii+1) &
+                                   + ( gg-cc ) * w(kk+1,jj+1,ii) + ( gg-dd ) * &
+                                                             w(kk+1,jj+1,ii+1) &
+                                   ) / ( 3.0 * gg )
+                         w_int = w_int_l + ( particles(n)%z - zw(kk) ) / dz * &
+                                           ( w_int_u - w_int_l )
+                      ENDIF
+
+!
+!--                   Change in radius due to collision
+                      delta_r = effective_coll_efficiency * &
+                                ql_int * rho_surface / ( 1.0 - ql_int ) *   &
+                                0.25 / rho_l *                              &
+                                SQRT( ( u_int - particles(n)%speed_x )**2 + &
+                                      ( v_int - particles(n)%speed_y )**2 + &
+                                      ( w_int - particles(n)%speed_z )**2   &
+                                    ) * dt_3d
+
+                      particles(n)%radius = particles(n)%radius + delta_r
+
+                      ql_vp(k,j,i) = ql_vp(k,j,i) + particles(n)%radius**3
+
+                   ENDDO
+
+                ENDIF
+
+!
+!--             Re-calculate the weighting factor (total liquid water content
+!--             must be conserved during collision)
+                IF ( ql_vp(k,j,i) /= 0.0 )  THEN
+
+                   ql_vp(k,j,i) = ql_v(k,j,i) / ql_vp(k,j,i)
+!
+!--                Re-assign this weighting factor to the particles of the
+!--                current gridbox
+                   psi = prt_start_index(k,j,i)
+                   DO  n = psi, psi + prt_count(k,j,i)-1
+                      particles(n)%weight_factor = ql_vp(k,j,i)
+                   ENDDO
+
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point_s(43), 'advec_part_coll', 'stop' )
+
+    ENDIF
+
+
+!
+!-- Particle advection.
+!-- In case of including the SGS velocities, the LES timestep has probably
+!-- to be split into several smaller timesteps because of the Lagrangian
+!-- timescale condition. Because the number of timesteps to be carried out is
+!-- not known at the beginning, these steps are carried out in an infinite loop
+!-- with exit condition.
+!
+!-- If SGS velocities are used, gradients of the TKE have to be calculated and
+!-- boundary conditions have to be set first. Also, horizontally averaged
+!-- profiles of the SGS TKE and the resolved-scale velocity variances are
+!-- needed.
+    IF ( use_sgs_for_particles )  THEN
+
+!
+!--    TKE gradient along x and y
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb, nzt+1
+
+                IF ( k <= nzb_s_inner(j,i-1)  .AND.  &
+                     k  > nzb_s_inner(j,i)    .AND.  &
+                     k  > nzb_s_inner(j,i+1) )  THEN
+                   de_dx(k,j,i) = 2.0 * sgs_wfu_part * &
+                                  ( e(k,j,i+1) - e(k,j,i) ) * ddx
+                ELSEIF ( k  > nzb_s_inner(j,i-1)  .AND.  &
+                         k  > nzb_s_inner(j,i)    .AND.  &
+                         k <= nzb_s_inner(j,i+1) )  THEN
+                   de_dx(k,j,i) = 2.0 * sgs_wfu_part * &
+                                  ( e(k,j,i) - e(k,j,i-1) ) * ddx
+                ELSEIF ( k < nzb_s_inner(j,i)  .AND.  k < nzb_s_inner(j,i+1) ) &
+                THEN
+                   de_dx(k,j,i) = 0.0
+                ELSEIF ( k < nzb_s_inner(j,i-1)  .AND.  k < nzb_s_inner(j,i) ) &
+                THEN
+                   de_dx(k,j,i) = 0.0
+                ELSE
+                   de_dx(k,j,i) = sgs_wfu_part * &
+                                  ( e(k,j,i+1) - e(k,j,i-1) ) * ddx
+                ENDIF
+
+                IF ( k <= nzb_s_inner(j-1,i)  .AND.  &
+                     k  > nzb_s_inner(j,i)    .AND.  &
+                     k  > nzb_s_inner(j+1,i) )  THEN
+                   de_dy(k,j,i) = 2.0 * sgs_wfv_part * &
+                                  ( e(k,j+1,i) - e(k,j,i) ) * ddy
+                ELSEIF ( k  > nzb_s_inner(j-1,i)  .AND.  &
+                         k  > nzb_s_inner(j,i)    .AND.  &
+                         k <= nzb_s_inner(j+1,i) )  THEN
+                   de_dy(k,j,i) = 2.0 * sgs_wfv_part * &
+                                  ( e(k,j,i) - e(k,j-1,i) ) * ddy
+                ELSEIF ( k < nzb_s_inner(j,i)  .AND.  k < nzb_s_inner(j+1,i) ) &
+                THEN
+                   de_dy(k,j,i) = 0.0
+                ELSEIF ( k < nzb_s_inner(j-1,i)  .AND.  k < nzb_s_inner(j,i) ) &
+                THEN
+                   de_dy(k,j,i) = 0.0
+                ELSE
+                   de_dy(k,j,i) = sgs_wfv_part * &
+                                  ( e(k,j+1,i) - e(k,j-1,i) ) * ddy
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    TKE gradient along z, including bottom and top boundary conditions
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+
+             DO  k = nzb_s_inner(j,i)+2, nzt-1
+                de_dz(k,j,i) = 2.0 * sgs_wfw_part * &
+                               ( e(k+1,j,i) - e(k-1,j,i) ) / ( zu(k+1)-zu(k-1) )
+             ENDDO
+
+             k = nzb_s_inner(j,i)
+             de_dz(nzb:k,j,i)   = 0.0
+             de_dz(k+1,j,i) = 2.0 * sgs_wfw_part * ( e(k+2,j,i) - e(k+1,j,i) ) &
+                                                 / ( zu(k+2) - zu(k+1) )
+             de_dz(nzt,j,i)   = 0.0
+             de_dz(nzt+1,j,i) = 0.0
+          ENDDO
+       ENDDO
+
+!
+!--    Lateral boundary conditions
+       CALL exchange_horiz( de_dx )
+       CALL exchange_horiz( de_dy )
+       CALL exchange_horiz( de_dz )
+       CALL exchange_horiz( diss  )
+
+!
+!--    Calculate the horizontally averaged profiles of SGS TKE and resolved
+!--    velocity variances (they may have been already calculated in routine
+!--    flow_statistics).
+       IF ( .NOT. flow_statistics_called )  THEN
+!
+!--       First calculate horizontally averaged profiles of the horizontal
+!--       velocities.
+          sums_l(:,1,0) = 0.0
+          sums_l(:,2,0) = 0.0
+
+          DO  i = nxl, nxr
+             DO  j =  nys, nyn
+                DO  k = nzb_s_outer(j,i), nzt+1
+                   sums_l(k,1,0)  = sums_l(k,1,0)  + u(k,j,i)
+                   sums_l(k,2,0)  = sums_l(k,2,0)  + v(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+
+#if defined( __parallel )
+!
+!--       Compute total sum from local sums
+          CALL MPI_ALLREDUCE( sums_l(nzb,1,0), sums(nzb,1), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( sums_l(nzb,2,0), sums(nzb,2), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+#else
+                   sums(:,1) = sums_l(:,1,0)
+                   sums(:,2) = sums_l(:,2,0)
+#endif
+
+!
+!--       Final values are obtained by division by the total number of grid
+!--       points used for the summation. 
+          hom(:,1,1,0) = sums(:,1) / ngp_2dh_outer(:,0)   ! u
+          hom(:,1,2,0) = sums(:,2) / ngp_2dh_outer(:,0)   ! v
+
+!
+!--       Now calculate the profiles of SGS TKE and the resolved-scale
+!--       velocity variances
+          sums_l(:,8,0)  = 0.0
+          sums_l(:,30,0) = 0.0
+          sums_l(:,31,0) = 0.0
+          sums_l(:,32,0) = 0.0
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_outer(j,i), nzt+1
+                   sums_l(k,8,0)  = sums_l(k,8,0)  + e(k,j,i)
+                   sums_l(k,30,0) = sums_l(k,30,0) + &
+                                    ( u(k,j,i) - hom(k,1,1,0) )**2
+                   sums_l(k,31,0) = sums_l(k,31,0) + &
+                                    ( v(k,j,i) - hom(k,1,2,0) )**2
+                   sums_l(k,32,0) = sums_l(k,32,0) + w(k,j,i)**2
+                ENDDO
+             ENDDO
+          ENDDO
+
+#if defined( __parallel )
+!
+!--       Compute total sum from local sums
+          CALL MPI_ALLREDUCE( sums_l(nzb,8,0), sums(nzb,8), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( sums_l(nzb,30,0), sums(nzb,30), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( sums_l(nzb,31,0), sums(nzb,31), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( sums_l(nzb,32,0), sums(nzb,32), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+                  
+#else
+          sums(:,8)  = sums_l(:,8,0)
+          sums(:,30) = sums_l(:,30,0)
+          sums(:,31) = sums_l(:,31,0)
+          sums(:,32) = sums_l(:,32,0)
+#endif
+
+!
+!--       Final values are obtained by division by the total number of grid
+!--       points used for the summation.
+          hom(:,1,8,0)  = sums(:,8)  / ngp_2dh_outer(:,0)   ! e
+          hom(:,1,30,0) = sums(:,30) / ngp_2dh_outer(:,0)   ! u*2
+          hom(:,1,31,0) = sums(:,31) / ngp_2dh_outer(:,0)   ! v*2 
+          hom(:,1,32,0) = sums(:,32) / ngp_2dh_outer(:,0)   ! w*2
+
+       ENDIF
+
+    ENDIF 
+
+!
+!-- Initialize variables used for accumulating the number of particles
+!-- exchanged between the subdomains during all sub-timesteps (if sgs
+!-- velocities are included). These data are output further below on the
+!-- particle statistics file.
+    trlp_count_sum      = 0
+    trlp_count_recv_sum = 0
+    trrp_count_sum      = 0
+    trrp_count_recv_sum = 0
+    trsp_count_sum      = 0
+    trsp_count_recv_sum = 0
+    trnp_count_sum      = 0
+    trnp_count_recv_sum = 0
+
+!
+!-- Initialize the variable storing the total time that a particle has advanced
+!-- within the timestep procedure
+    particles(1:number_of_particles)%dt_sum = 0.0
+
+!
+!-- Timestep loop.
+!-- This loop has to be repeated until the advection time of every particle
+!-- (in the total domain!) has reached the LES timestep (dt_3d)
+    DO
+
+       CALL cpu_log( log_point_s(44), 'advec_part_advec', 'start' )
+
+!
+!--    Initialize the switch used for the loop exit condition checked at the
+!--    end of this loop.
+!--    If at least one particle has failed to reach the LES timestep, this
+!--    switch will be set false.
+       dt_3d_reached_l = .TRUE.
+
+!
+!--    Initialize variables for the (sub-) timestep, i.e. for marking those
+!--    particles to be deleted after the timestep
+       particle_mask     = .TRUE.
+       deleted_particles = 0
+       trlp_count_recv   = 0
+       trnp_count_recv   = 0
+       trrp_count_recv   = 0
+       trsp_count_recv   = 0
+       trlpt_count_recv  = 0
+       trnpt_count_recv  = 0
+       trrpt_count_recv  = 0
+       trspt_count_recv  = 0
+       IF ( use_particle_tails )  THEN
+          tail_mask     = .TRUE.
+       ENDIF
+       deleted_tails = 0
+
+
+       DO  n = 1, number_of_particles
+!
+!--       Move particles only if the LES timestep has not (approximately) been
+!--       reached
+          IF ( ( dt_3d - particles(n)%dt_sum ) < 1E-8 )  CYCLE
+
+!
+!--       Interpolate u velocity-component, determine left, front, bottom
+!--       index of u-array
+          i = ( particles(n)%x + 0.5 * dx ) * ddx
+          j =   particles(n)%y * ddy
+          k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz  &
+              + offset_ocean_nzt                     ! only exact if equidistant
+                                               
+!
+!--       Interpolation of the velocity components in the xy-plane
+          x  = particles(n)%x + ( 0.5 - i ) * dx
+          y  = particles(n)%y - j * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          u_int_l = ( ( gg - aa ) * u(k,j,i)   + ( gg - bb ) * u(k,j,i+1)   &
+                    + ( gg - cc ) * u(k,j+1,i) + ( gg - dd ) * u(k,j+1,i+1) &
+                    ) / ( 3.0 * gg ) - u_gtrans
+          IF ( k+1 == nzt+1 )  THEN
+             u_int = u_int_l
+          ELSE
+             u_int_u = ( ( gg-aa ) * u(k+1,j,i)   + ( gg-bb ) * u(k+1,j,i+1) &
+                    + ( gg-cc ) * u(k+1,j+1,i) + ( gg-dd ) * u(k+1,j+1,i+1)  &
+                    ) / ( 3.0 * gg ) - u_gtrans
+             u_int = u_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                               ( u_int_u - u_int_l )
+          ENDIF
+
+!
+!--       Same procedure for interpolation of the v velocity-component (adopt
+!--       index k from u velocity-component)
+          i =   particles(n)%x * ddx
+          j = ( particles(n)%y + 0.5 * dy ) * ddy
+
+          x  = particles(n)%x - i * dx
+          y  = particles(n)%y + ( 0.5 - j ) * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          v_int_l = ( ( gg - aa ) * v(k,j,i)   + ( gg - bb ) * v(k,j,i+1)   &
+                    + ( gg - cc ) * v(k,j+1,i) + ( gg - dd ) * v(k,j+1,i+1) &
+                    ) / ( 3.0 * gg ) - v_gtrans
+          IF ( k+1 == nzt+1 )  THEN
+             v_int = v_int_l
+          ELSE
+             v_int_u = ( ( gg-aa ) * v(k+1,j,i)   + ( gg-bb ) * v(k+1,j,i+1) &
+                    + ( gg-cc ) * v(k+1,j+1,i) + ( gg-dd ) * v(k+1,j+1,i+1)  &
+                    ) / ( 3.0 * gg ) - v_gtrans
+             v_int = v_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                               ( v_int_u - v_int_l )
+          ENDIF
+
+!
+!--       Same procedure for interpolation of the w velocity-component (adopt
+!--       index i from v velocity-component)
+          IF ( vertical_particle_advection(particles(n)%group) )  THEN
+             j = particles(n)%y * ddy
+             k = particles(n)%z / dz + offset_ocean_nzt_m1
+
+             x  = particles(n)%x - i * dx
+             y  = particles(n)%y - j * dy
+             aa = x**2          + y**2
+             bb = ( dx - x )**2 + y**2
+             cc = x**2          + ( dy - y )**2
+             dd = ( dx - x )**2 + ( dy - y )**2
+             gg = aa + bb + cc + dd
+
+             w_int_l = ( ( gg - aa ) * w(k,j,i)   + ( gg - bb ) * w(k,j,i+1) &
+                    + ( gg - cc ) * w(k,j+1,i) + ( gg - dd ) * w(k,j+1,i+1)  &
+                       ) / ( 3.0 * gg )
+             IF ( k+1 == nzt+1 )  THEN
+                w_int = w_int_l
+             ELSE
+                w_int_u = ( ( gg-aa ) * w(k+1,j,i)   + &
+                            ( gg-bb ) * w(k+1,j,i+1) + &
+                            ( gg-cc ) * w(k+1,j+1,i) + &
+                            ( gg-dd ) * w(k+1,j+1,i+1) &
+                           ) / ( 3.0 * gg )
+                w_int = w_int_l + ( particles(n)%z - zw(k) ) / dz * &
+                                  ( w_int_u - w_int_l )
+             ENDIF
+          ELSE
+             w_int = 0.0
+          ENDIF
+
+!
+!--       Interpolate and calculate quantities needed for calculating the SGS
+!--       velocities
+          IF ( use_sgs_for_particles )  THEN
+!
+!--          Interpolate TKE
+             i = particles(n)%x * ddx
+             j = particles(n)%y * ddy
+             k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz  &
+                 + offset_ocean_nzt                      ! only exact if eq.dist
+
+             IF ( topography == 'flat' )  THEN        
+
+                x  = particles(n)%x - i * dx
+                y  = particles(n)%y - j * dy
+                aa = x**2          + y**2
+                bb = ( dx - x )**2 + y**2
+                cc = x**2          + ( dy - y )**2
+                dd = ( dx - x )**2 + ( dy - y )**2
+                gg = aa + bb + cc + dd
+
+                e_int_l = ( ( gg-aa ) * e(k,j,i)   + ( gg-bb ) * e(k,j,i+1)   &
+                          + ( gg-cc ) * e(k,j+1,i) + ( gg-dd ) * e(k,j+1,i+1) &
+                          ) / ( 3.0 * gg )
+
+                IF ( k+1 == nzt+1 )  THEN
+                   e_int = e_int_l
+                ELSE
+                   e_int_u = ( ( gg - aa ) * e(k+1,j,i)   + &
+                               ( gg - bb ) * e(k+1,j,i+1) + &
+                               ( gg - cc ) * e(k+1,j+1,i) + &
+                               ( gg - dd ) * e(k+1,j+1,i+1) &
+                             ) / ( 3.0 * gg )
+                   e_int = e_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                     ( e_int_u - e_int_l )
+                ENDIF
+
+!
+!--             Interpolate the TKE gradient along x (adopt incides i,j,k and
+!--             all position variables from above (TKE))
+                de_dx_int_l = ( ( gg - aa ) * de_dx(k,j,i)   + &
+                                ( gg - bb ) * de_dx(k,j,i+1) + &
+                                ( gg - cc ) * de_dx(k,j+1,i) + &
+                                ( gg - dd ) * de_dx(k,j+1,i+1) &
+                              ) / ( 3.0 * gg )
+
+                IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                   de_dx_int = de_dx_int_l
+                ELSE
+                   de_dx_int_u = ( ( gg - aa ) * de_dx(k+1,j,i)   + &
+                                   ( gg - bb ) * de_dx(k+1,j,i+1) + &
+                                   ( gg - cc ) * de_dx(k+1,j+1,i) + &
+                                   ( gg - dd ) * de_dx(k+1,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+                   de_dx_int = de_dx_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                             ( de_dx_int_u - de_dx_int_l )
+                ENDIF
+
+!
+!--             Interpolate the TKE gradient along y
+                de_dy_int_l = ( ( gg - aa ) * de_dy(k,j,i)   + &
+                                ( gg - bb ) * de_dy(k,j,i+1) + &
+                                ( gg - cc ) * de_dy(k,j+1,i) + &
+                                ( gg - dd ) * de_dy(k,j+1,i+1) &
+                              ) / ( 3.0 * gg )
+                IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                   de_dy_int = de_dy_int_l
+                ELSE
+                   de_dy_int_u = ( ( gg - aa ) * de_dy(k+1,j,i)   + &
+                                   ( gg - bb ) * de_dy(k+1,j,i+1) + &
+                                   ( gg - cc ) * de_dy(k+1,j+1,i) + &
+                                   ( gg - dd ) * de_dy(k+1,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+                   de_dy_int = de_dy_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                             ( de_dy_int_u - de_dy_int_l )
+                ENDIF
+
+!
+!--             Interpolate the TKE gradient along z
+                IF ( particles(n)%z < 0.5 * dz ) THEN
+                   de_dz_int = 0.0
+                ELSE
+                   de_dz_int_l = ( ( gg - aa ) * de_dz(k,j,i)   + &
+                                   ( gg - bb ) * de_dz(k,j,i+1) + &
+                                   ( gg - cc ) * de_dz(k,j+1,i) + &
+                                   ( gg - dd ) * de_dz(k,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+
+                   IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                      de_dz_int = de_dz_int_l
+                   ELSE
+                      de_dz_int_u = ( ( gg - aa ) * de_dz(k+1,j,i)   + &
+                                      ( gg - bb ) * de_dz(k+1,j,i+1) + &
+                                      ( gg - cc ) * de_dz(k+1,j+1,i) + &
+                                      ( gg - dd ) * de_dz(k+1,j+1,i+1) &
+                                    ) / ( 3.0 * gg )
+                      de_dz_int = de_dz_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                                ( de_dz_int_u - de_dz_int_l )
+                   ENDIF
+                ENDIF
+
+!
+!--             Interpolate the dissipation of TKE
+                diss_int_l = ( ( gg - aa ) * diss(k,j,i)   + &
+                               ( gg - bb ) * diss(k,j,i+1) + &
+                               ( gg - cc ) * diss(k,j+1,i) + &
+                               ( gg - dd ) * diss(k,j+1,i+1) &
+                              ) / ( 3.0 * gg )
+
+                IF ( k+1 == nzt+1 )  THEN
+                   diss_int = diss_int_l
+                ELSE
+                   diss_int_u = ( ( gg - aa ) * diss(k+1,j,i)   + &
+                                  ( gg - bb ) * diss(k+1,j,i+1) + &
+                                  ( gg - cc ) * diss(k+1,j+1,i) + &
+                                  ( gg - dd ) * diss(k+1,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+                   diss_int = diss_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                           ( diss_int_u - diss_int_l )
+                ENDIF
+
+             ELSE
+
+!
+!--             In case that there are buildings it has to be determined 
+!--             how many of the gridpoints defining the particle box are 
+!--             situated within a building
+!--             gp_outside_of_building(1): i,j,k
+!--             gp_outside_of_building(2): i,j+1,k
+!--             gp_outside_of_building(3): i,j,k+1
+!--             gp_outside_of_building(4): i,j+1,k+1
+!--             gp_outside_of_building(5): i+1,j,k
+!--             gp_outside_of_building(6): i+1,j+1,k
+!--             gp_outside_of_building(7): i+1,j,k+1
+!--             gp_outside_of_building(8): i+1,j+1,k+1
+           
+                gp_outside_of_building = 0
+                location = 0.0
+                num_gp = 0
+
+                IF ( k > nzb_s_inner(j,i)  .OR.  nzb_s_inner(j,i) == 0 )  THEN 
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(1) = 1
+                   location(num_gp,1) = i * dx
+                   location(num_gp,2) = j * dy
+                   location(num_gp,3) = k * dz - 0.5 * dz
+                   ei(num_gp)     = e(k,j,i)
+                   dissi(num_gp)  = diss(k,j,i)
+                   de_dxi(num_gp) = de_dx(k,j,i)
+                   de_dyi(num_gp) = de_dy(k,j,i)
+                   de_dzi(num_gp) = de_dz(k,j,i)
+                ENDIF
+
+                IF ( k > nzb_s_inner(j+1,i)  .OR.  nzb_s_inner(j+1,i) == 0 ) &
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(2) = 1
+                   location(num_gp,1) = i * dx
+                   location(num_gp,2) = (j+1) * dy
+                   location(num_gp,3) = k * dz - 0.5 * dz
+                   ei(num_gp)     = e(k,j+1,i)
+                   dissi(num_gp)  = diss(k,j+1,i)        
+                   de_dxi(num_gp) = de_dx(k,j+1,i)
+                   de_dyi(num_gp) = de_dy(k,j+1,i)
+                   de_dzi(num_gp) = de_dz(k,j+1,i)
+                ENDIF
+
+                IF ( k+1 > nzb_s_inner(j,i)  .OR.  nzb_s_inner(j,i) == 0 )  THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(3) = 1
+                   location(num_gp,1) = i * dx
+                   location(num_gp,2) = j * dy
+                   location(num_gp,3) = (k+1) * dz - 0.5 * dz
+                   ei(num_gp)     = e(k+1,j,i)
+                   dissi(num_gp)  = diss(k+1,j,i)        
+                   de_dxi(num_gp) = de_dx(k+1,j,i)
+                   de_dyi(num_gp) = de_dy(k+1,j,i)
+                   de_dzi(num_gp) = de_dz(k+1,j,i)
+                ENDIF
+
+                IF ( k+1 > nzb_s_inner(j+1,i)  .OR.  nzb_s_inner(j+1,i) == 0 ) &
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(4) = 1
+                   location(num_gp,1) = i * dx
+                   location(num_gp,2) = (j+1) * dy
+                   location(num_gp,3) = (k+1) * dz - 0.5 * dz
+                   ei(num_gp)     = e(k+1,j+1,i)
+                   dissi(num_gp)  = diss(k+1,j+1,i)        
+                   de_dxi(num_gp) = de_dx(k+1,j+1,i)
+                   de_dyi(num_gp) = de_dy(k+1,j+1,i)
+                   de_dzi(num_gp) = de_dz(k+1,j+1,i)
+                ENDIF
+ 
+                IF ( k > nzb_s_inner(j,i+1)  .OR.  nzb_s_inner(j,i+1) == 0 ) &
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(5) = 1
+                   location(num_gp,1) = (i+1) * dx
+                   location(num_gp,2) = j * dy
+                   location(num_gp,3) = k * dz - 0.5 * dz
+                   ei(num_gp)     = e(k,j,i+1)
+                   dissi(num_gp)  = diss(k,j,i+1) 
+                   de_dxi(num_gp) = de_dx(k,j,i+1)
+                   de_dyi(num_gp) = de_dy(k,j,i+1)
+                   de_dzi(num_gp) = de_dz(k,j,i+1)
+                ENDIF
+
+                IF ( k > nzb_s_inner(j+1,i+1) .OR. nzb_s_inner(j+1,i+1) == 0 ) &
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(6) = 1
+                   location(num_gp,1) = (i+1) * dx
+                   location(num_gp,2) = (j+1) * dy
+                   location(num_gp,3) = k * dz - 0.5 * dz
+                   ei(num_gp)     = e(k,j+1,i+1)
+                   dissi(num_gp)  = diss(k,j+1,i+1) 
+                   de_dxi(num_gp) = de_dx(k,j+1,i+1)
+                   de_dyi(num_gp) = de_dy(k,j+1,i+1)
+                   de_dzi(num_gp) = de_dz(k,j+1,i+1)
+                ENDIF
+
+                IF ( k+1 > nzb_s_inner(j,i+1)  .OR.  nzb_s_inner(j,i+1) == 0 ) &
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(7) = 1
+                   location(num_gp,1) = (i+1) * dx
+                   location(num_gp,2) = j * dy
+                   location(num_gp,3) = (k+1) * dz - 0.5 * dz
+                   ei(num_gp)     = e(k+1,j,i+1)
+                   dissi(num_gp)  = diss(k+1,j,i+1) 
+                   de_dxi(num_gp) = de_dx(k+1,j,i+1)
+                   de_dyi(num_gp) = de_dy(k+1,j,i+1)
+                   de_dzi(num_gp) = de_dz(k+1,j,i+1)
+                ENDIF
+
+                IF ( k+1 > nzb_s_inner(j+1,i+1) .OR. nzb_s_inner(j+1,i+1) == 0)&
+                THEN
+                   num_gp = num_gp + 1
+                   gp_outside_of_building(8) = 1
+                   location(num_gp,1) = (i+1) * dx
+                   location(num_gp,2) = (j+1) * dy
+                   location(num_gp,3) = (k+1) * dz - 0.5 * dz
+                   ei(num_gp)     = e(k+1,j+1,i+1)
+                   dissi(num_gp)  = diss(k+1,j+1,i+1) 
+                   de_dxi(num_gp) = de_dx(k+1,j+1,i+1)
+                   de_dyi(num_gp) = de_dy(k+1,j+1,i+1)
+                   de_dzi(num_gp) = de_dz(k+1,j+1,i+1)
+                ENDIF
+
+!
+!--             If all gridpoints are situated outside of a building, then the 
+!--             ordinary interpolation scheme can be used.
+                IF ( num_gp == 8 )  THEN
+
+                   x  = particles(n)%x - i * dx
+                   y  = particles(n)%y - j * dy
+                   aa = x**2          + y**2
+                   bb = ( dx - x )**2 + y**2
+                   cc = x**2          + ( dy - y )**2
+                   dd = ( dx - x )**2 + ( dy - y )**2
+                   gg = aa + bb + cc + dd
+
+                   e_int_l = (( gg-aa ) * e(k,j,i)   + ( gg-bb ) * e(k,j,i+1) &
+                            + ( gg-cc ) * e(k,j+1,i) + ( gg-dd ) * e(k,j+1,i+1)&
+                             ) / ( 3.0 * gg )
+
+                   IF ( k+1 == nzt+1 )  THEN
+                      e_int = e_int_l
+                   ELSE
+                      e_int_u = ( ( gg - aa ) * e(k+1,j,i)   + &
+                                  ( gg - bb ) * e(k+1,j,i+1) + &
+                                  ( gg - cc ) * e(k+1,j+1,i) + &
+                                  ( gg - dd ) * e(k+1,j+1,i+1) &
+                                ) / ( 3.0 * gg )
+                      e_int = e_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                                        ( e_int_u - e_int_l )
+                   ENDIF
+
+!
+!--                Interpolate the TKE gradient along x (adopt incides i,j,k
+!--                and all position variables from above (TKE))
+                   de_dx_int_l = ( ( gg - aa ) * de_dx(k,j,i)   + &
+                                   ( gg - bb ) * de_dx(k,j,i+1) + &
+                                   ( gg - cc ) * de_dx(k,j+1,i) + &
+                                   ( gg - dd ) * de_dx(k,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+
+                   IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                      de_dx_int = de_dx_int_l
+                   ELSE
+                      de_dx_int_u = ( ( gg - aa ) * de_dx(k+1,j,i)   + &
+                                      ( gg - bb ) * de_dx(k+1,j,i+1) + &
+                                      ( gg - cc ) * de_dx(k+1,j+1,i) + &
+                                      ( gg - dd ) * de_dx(k+1,j+1,i+1) &
+                                    ) / ( 3.0 * gg )
+                      de_dx_int = de_dx_int_l + ( particles(n)%z - zu(k) ) / &
+                                              dz * ( de_dx_int_u - de_dx_int_l )
+                   ENDIF
+
+!
+!--                Interpolate the TKE gradient along y
+                   de_dy_int_l = ( ( gg - aa ) * de_dy(k,j,i)   + &
+                                   ( gg - bb ) * de_dy(k,j,i+1) + &
+                                   ( gg - cc ) * de_dy(k,j+1,i) + &
+                                   ( gg - dd ) * de_dy(k,j+1,i+1) &
+                                 ) / ( 3.0 * gg )
+                   IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                      de_dy_int = de_dy_int_l
+                   ELSE
+                      de_dy_int_u = ( ( gg - aa ) * de_dy(k+1,j,i)   + &
+                                      ( gg - bb ) * de_dy(k+1,j,i+1) + &
+                                      ( gg - cc ) * de_dy(k+1,j+1,i) + &
+                                      ( gg - dd ) * de_dy(k+1,j+1,i+1) &
+                                    ) / ( 3.0 * gg )
+                      de_dy_int = de_dy_int_l + ( particles(n)%z - zu(k) ) / &
+                                              dz * ( de_dy_int_u - de_dy_int_l )
+                   ENDIF
+
+!
+!--                Interpolate the TKE gradient along z
+                   IF ( particles(n)%z < 0.5 * dz )  THEN
+                      de_dz_int = 0.0
+                   ELSE
+                      de_dz_int_l = ( ( gg - aa ) * de_dz(k,j,i)   + &
+                                      ( gg - bb ) * de_dz(k,j,i+1) + &
+                                      ( gg - cc ) * de_dz(k,j+1,i) + &
+                                      ( gg - dd ) * de_dz(k,j+1,i+1) &
+                                    ) / ( 3.0 * gg )
+
+                      IF ( ( k+1 == nzt+1 )  .OR.  ( k == nzb ) )  THEN
+                         de_dz_int = de_dz_int_l
+                      ELSE
+                         de_dz_int_u = ( ( gg - aa ) * de_dz(k+1,j,i)   + &
+                                         ( gg - bb ) * de_dz(k+1,j,i+1) + &
+                                         ( gg - cc ) * de_dz(k+1,j+1,i) + &
+                                         ( gg - dd ) * de_dz(k+1,j+1,i+1) &
+                                       ) / ( 3.0 * gg )
+                         de_dz_int = de_dz_int_l + ( particles(n)%z - zu(k) ) /&
+                                              dz * ( de_dz_int_u - de_dz_int_l )
+                      ENDIF
+                   ENDIF
+
+!
+!--                Interpolate the dissipation of TKE
+                   diss_int_l = ( ( gg - aa ) * diss(k,j,i)   + &
+                                  ( gg - bb ) * diss(k,j,i+1) + &
+                                  ( gg - cc ) * diss(k,j+1,i) + &
+                                  ( gg - dd ) * diss(k,j+1,i+1) &
+                                ) / ( 3.0 * gg )
+
+                   IF ( k+1 == nzt+1 )  THEN
+                      diss_int = diss_int_l
+                   ELSE
+                      diss_int_u = ( ( gg - aa ) * diss(k+1,j,i)   + &
+                                     ( gg - bb ) * diss(k+1,j,i+1) + &
+                                     ( gg - cc ) * diss(k+1,j+1,i) + &
+                                     ( gg - dd ) * diss(k+1,j+1,i+1) &
+                                   ) / ( 3.0 * gg )
+                      diss_int = diss_int_l + ( particles(n)%z - zu(k) ) / dz *&
+                                              ( diss_int_u - diss_int_l )
+                   ENDIF
+
+                ELSE
+
+!
+!--                If wall between gridpoint 1 and gridpoint 5, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(1) == 1  .AND. &
+                        gp_outside_of_building(5) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j,i)
+                      dissi(num_gp)  = diss(k,j,i)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k,j,i)
+                      de_dzi(num_gp) = de_dz(k,j,i)                     
+                   ENDIF 
+   
+                   IF ( gp_outside_of_building(5) == 1  .AND. &
+                      gp_outside_of_building(1) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j,i+1)
+                      dissi(num_gp)  = diss(k,j,i+1)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k,j,i+1)
+                      de_dzi(num_gp) = de_dz(k,j,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 5 and gridpoint 6, then
+!--                then Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(5) == 1  .AND. &
+                        gp_outside_of_building(6) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j,i+1)
+                      dissi(num_gp)  = diss(k,j,i+1)
+                      de_dxi(num_gp) = de_dx(k,j,i+1)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k,j,i+1)
+                   ENDIF
+
+                   IF ( gp_outside_of_building(6) == 1  .AND. &
+                        gp_outside_of_building(5) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j+1,i+1)
+                      dissi(num_gp)  = diss(k,j+1,i+1)
+                      de_dxi(num_gp) = de_dx(k,j+1,i+1)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k,j+1,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 2 and gridpoint 6, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(2) == 1  .AND. &
+                        gp_outside_of_building(6) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j+1,i)
+                      dissi(num_gp)  = diss(k,j+1,i)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k,j+1,i)
+                      de_dzi(num_gp) = de_dz(k,j+1,i)                     
+                   ENDIF 
+   
+                   IF ( gp_outside_of_building(6) == 1  .AND. &
+                        gp_outside_of_building(2) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j+1,i+1)
+                      dissi(num_gp)  = diss(k,j+1,i+1)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k,j+1,i+1)
+                      de_dzi(num_gp) = de_dz(k,j+1,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 1 and gridpoint 2, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(1) == 1  .AND. &
+                        gp_outside_of_building(2) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j,i)
+                      dissi(num_gp)  = diss(k,j,i)
+                      de_dxi(num_gp) = de_dx(k,j,i)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k,j,i)
+                   ENDIF
+
+                   IF ( gp_outside_of_building(2) == 1  .AND. &
+                        gp_outside_of_building(1) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz - 0.5 * dz
+                      ei(num_gp)     = e(k,j+1,i)
+                      dissi(num_gp)  = diss(k,j+1,i)
+                      de_dxi(num_gp) = de_dx(k,j+1,i)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k,j+1,i)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 3 and gridpoint 7, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(3) == 1  .AND. &
+                        gp_outside_of_building(7) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j,i)
+                      dissi(num_gp)  = diss(k+1,j,i)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k+1,j,i)
+                      de_dzi(num_gp) = de_dz(k+1,j,i)                     
+                   ENDIF 
+   
+                   IF ( gp_outside_of_building(7) == 1  .AND. &
+                        gp_outside_of_building(3) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j,i+1)
+                      dissi(num_gp)  = diss(k+1,j,i+1)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k+1,j,i+1)
+                      de_dzi(num_gp) = de_dz(k+1,j,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 7 and gridpoint 8, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(7) == 1  .AND. &
+                        gp_outside_of_building(8) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j,i+1)
+                      dissi(num_gp)  = diss(k+1,j,i+1)
+                      de_dxi(num_gp) = de_dx(k+1,j,i+1)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k+1,j,i+1)
+                   ENDIF
+
+                   IF ( gp_outside_of_building(8) == 1  .AND. &
+                        gp_outside_of_building(7) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j+1,i+1)
+                      dissi(num_gp)  = diss(k+1,j+1,i+1)
+                      de_dxi(num_gp) = de_dx(k+1,j+1,i+1)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k+1,j+1,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 4 and gridpoint 8, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(4) == 1  .AND. &
+                        gp_outside_of_building(8) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j+1,i)
+                      dissi(num_gp)  = diss(k+1,j+1,i)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k+1,j+1,i)
+                      de_dzi(num_gp) = de_dz(k+1,j+1,i)                     
+                   ENDIF 
+   
+                   IF ( gp_outside_of_building(8) == 1  .AND. &
+                        gp_outside_of_building(4) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx + 0.5 * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j+1,i+1)
+                      dissi(num_gp)  = diss(k+1,j+1,i+1)
+                      de_dxi(num_gp) = 0.0
+                      de_dyi(num_gp) = de_dy(k+1,j+1,i+1)
+                      de_dzi(num_gp) = de_dz(k+1,j+1,i+1)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 3 and gridpoint 4, then
+!--                Neumann boundary condition has to be applied
+                   IF ( gp_outside_of_building(3) == 1  .AND. &
+                        gp_outside_of_building(4) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j,i)
+                      dissi(num_gp)  = diss(k+1,j,i)
+                      de_dxi(num_gp) = de_dx(k+1,j,i)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k+1,j,i)
+                   ENDIF
+
+                   IF ( gp_outside_of_building(4) == 1  .AND. &
+                        gp_outside_of_building(3) == 0 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = j * dy + 0.5 * dy
+                      location(num_gp,3) = k * dz + 0.5 * dz
+                      ei(num_gp)     = e(k+1,j+1,i)
+                      dissi(num_gp)  = diss(k+1,j+1,i)
+                      de_dxi(num_gp) = de_dx(k+1,j+1,i)
+                      de_dyi(num_gp) = 0.0
+                      de_dzi(num_gp) = de_dz(k+1,j+1,i)
+                   ENDIF
+
+!
+!--                If wall between gridpoint 1 and gridpoint 3, then
+!--                Neumann boundary condition has to be applied
+!--                (only one case as only building beneath is possible)
+                   IF ( gp_outside_of_building(1) == 0  .AND. &
+                        gp_outside_of_building(3) == 1 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz
+                      ei(num_gp)     = e(k+1,j,i)
+                      dissi(num_gp)  = diss(k+1,j,i)
+                      de_dxi(num_gp) = de_dx(k+1,j,i)
+                      de_dyi(num_gp) = de_dy(k+1,j,i)
+                      de_dzi(num_gp) = 0.0
+                   ENDIF
+ 
+!
+!--                If wall between gridpoint 5 and gridpoint 7, then
+!--                Neumann boundary condition has to be applied
+!--                (only one case as only building beneath is possible)
+                   IF ( gp_outside_of_building(5) == 0  .AND. &
+                        gp_outside_of_building(7) == 1 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = j * dy
+                      location(num_gp,3) = k * dz
+                      ei(num_gp)     = e(k+1,j,i+1)
+                      dissi(num_gp)  = diss(k+1,j,i+1)
+                      de_dxi(num_gp) = de_dx(k+1,j,i+1)
+                      de_dyi(num_gp) = de_dy(k+1,j,i+1)
+                      de_dzi(num_gp) = 0.0
+                   ENDIF
+
+!
+!--                If wall between gridpoint 2 and gridpoint 4, then
+!--                Neumann boundary condition has to be applied
+!--                (only one case as only building beneath is possible)
+                   IF ( gp_outside_of_building(2) == 0  .AND. &
+                        gp_outside_of_building(4) == 1 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = i * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz
+                      ei(num_gp)     = e(k+1,j+1,i)
+                      dissi(num_gp)  = diss(k+1,j+1,i)
+                      de_dxi(num_gp) = de_dx(k+1,j+1,i)
+                      de_dyi(num_gp) = de_dy(k+1,j+1,i)
+                      de_dzi(num_gp) = 0.0
+                   ENDIF
+
+!
+!--                If wall between gridpoint 6 and gridpoint 8, then
+!--                Neumann boundary condition has to be applied
+!--                (only one case as only building beneath is possible)
+                   IF ( gp_outside_of_building(6) == 0  .AND. &
+                        gp_outside_of_building(8) == 1 )  THEN
+                      num_gp = num_gp + 1
+                      location(num_gp,1) = (i+1) * dx
+                      location(num_gp,2) = (j+1) * dy
+                      location(num_gp,3) = k * dz
+                      ei(num_gp)     = e(k+1,j+1,i+1)
+                      dissi(num_gp)  = diss(k+1,j+1,i+1)
+                      de_dxi(num_gp) = de_dx(k+1,j+1,i+1)
+                      de_dyi(num_gp) = de_dy(k+1,j+1,i+1)
+                      de_dzi(num_gp) = 0.0
+                   ENDIF
+
+!
+!--                Carry out the interpolation
+                   IF ( num_gp == 1 )  THEN
+!
+!--                   If only one of the gridpoints is situated outside of the 
+!--                   building, it follows that the values at the particle 
+!--                   location are the same as the gridpoint values
+                      e_int     = ei(num_gp)
+                      diss_int  = dissi(num_gp)
+                      de_dx_int = de_dxi(num_gp)
+                      de_dy_int = de_dyi(num_gp)
+                      de_dz_int = de_dzi(num_gp)
+                   ELSE IF ( num_gp > 1 )  THEN
+
+                      d_sum = 0.0
+!
+!--                   Evaluation of the distances between the gridpoints 
+!--                   contributing to the interpolated values, and the particle 
+!--                   location
+                      DO agp = 1, num_gp
+                         d_gp_pl(agp) = ( particles(n)%x-location(agp,1) )**2  &
+                                      + ( particles(n)%y-location(agp,2) )**2  &
+                                      + ( particles(n)%z-location(agp,3) )**2
+                         d_sum        = d_sum + d_gp_pl(agp)
+                      ENDDO
+
+!
+!--                   Finally the interpolation can be carried out
+                      e_int     = 0.0
+                      diss_int  = 0.0
+                      de_dx_int = 0.0
+                      de_dy_int = 0.0
+                      de_dz_int = 0.0
+                      DO agp = 1, num_gp
+                         e_int     = e_int     + ( d_sum - d_gp_pl(agp) ) * &
+                                                ei(agp) / ( (num_gp-1) * d_sum )
+                         diss_int  = diss_int  + ( d_sum - d_gp_pl(agp) ) * &
+                                             dissi(agp) / ( (num_gp-1) * d_sum )
+                         de_dx_int = de_dx_int + ( d_sum - d_gp_pl(agp) ) * &
+                                            de_dxi(agp) / ( (num_gp-1) * d_sum )
+                         de_dy_int = de_dy_int + ( d_sum - d_gp_pl(agp) ) * &
+                                            de_dyi(agp) / ( (num_gp-1) * d_sum )
+                         de_dz_int = de_dz_int + ( d_sum - d_gp_pl(agp) ) * &
+                                            de_dzi(agp) / ( (num_gp-1) * d_sum )
+                      ENDDO
+
+                   ENDIF
+
+                ENDIF
+
+             ENDIF  
+
+!
+!--          Vertically interpolate the horizontally averaged SGS TKE and
+!--          resolved-scale velocity variances and use the interpolated values
+!--          to calculate the coefficient fs, which is a measure of the ratio
+!--          of the subgrid-scale turbulent kinetic energy to the total amount
+!--          of turbulent kinetic energy.
+             IF ( k == 0 )  THEN
+                e_mean_int = hom(0,1,8,0)
+             ELSE
+                e_mean_int = hom(k,1,8,0) +                                    &
+                                           ( hom(k+1,1,8,0) - hom(k,1,8,0) ) / &
+                                           ( zu(k+1) - zu(k) ) *               &
+                                           ( particles(n)%z - zu(k) )
+             ENDIF
+
+             kw = particles(n)%z / dz
+
+             IF ( k == 0 )  THEN
+                aa  = hom(k+1,1,30,0)  * ( particles(n)%z / &
+                                         ( 0.5 * ( zu(k+1) - zu(k) ) ) )
+                bb  = hom(k+1,1,31,0)  * ( particles(n)%z / &
+                                         ( 0.5 * ( zu(k+1) - zu(k) ) ) )
+                cc  = hom(kw+1,1,32,0) * ( particles(n)%z / &
+                                         ( 1.0 * ( zw(kw+1) - zw(kw) ) ) )
+             ELSE
+                aa  = hom(k,1,30,0) + ( hom(k+1,1,30,0) - hom(k,1,30,0) ) * &
+                           ( ( particles(n)%z - zu(k) ) / ( zu(k+1) - zu(k) ) )
+                bb  = hom(k,1,31,0) + ( hom(k+1,1,31,0) - hom(k,1,31,0) ) * &
+                           ( ( particles(n)%z - zu(k) ) / ( zu(k+1) - zu(k) ) )
+                cc  = hom(kw,1,32,0) + ( hom(kw+1,1,32,0)-hom(kw,1,32,0) ) *&
+                           ( ( particles(n)%z - zw(kw) ) / ( zw(kw+1)-zw(kw) ) )
+             ENDIF
+
+             vv_int = ( 1.0 / 3.0 ) * ( aa + bb + cc )
+
+             fs_int = ( 2.0 / 3.0 ) * e_mean_int / &
+                         ( vv_int + ( 2.0 / 3.0 ) * e_mean_int )
+
+!
+!--          Calculate the Lagrangian timescale according to the suggestion of
+!--          Weil et al. (2004).
+             lagr_timescale = ( 4.0 * e_int ) / &
+                              ( 3.0 * fs_int * c_0 * diss_int )
+
+!
+!--          Calculate the next particle timestep. dt_gap is the time needed to
+!--          complete the current LES timestep.
+             dt_gap = dt_3d - particles(n)%dt_sum
+             dt_particle = MIN( dt_3d, 0.025 * lagr_timescale, dt_gap )
+
+!
+!--          The particle timestep should not be too small in order to prevent
+!--          the number of particle timesteps of getting too large
+             IF ( dt_particle < dt_min_part   .AND.  dt_min_part < dt_gap ) &
+             THEN
+                dt_particle = dt_min_part 
+             ENDIF
+
+!
+!--          Calculate the SGS velocity components
+             IF ( particles(n)%age == 0.0 )  THEN
+!
+!--             For new particles the SGS components are derived from the SGS
+!--             TKE. Limit the Gaussian random number to the interval
+!--             [-5.0*sigma, 5.0*sigma] in order to prevent the SGS velocities
+!--             from becoming unrealistically large.
+                particles(n)%speed_x_sgs = SQRT( 2.0 * sgs_wfu_part * e_int ) *&
+                                           ( random_gauss( iran_part, 5.0 )    &
+                                             - 1.0 )
+                particles(n)%speed_y_sgs = SQRT( 2.0 * sgs_wfv_part * e_int ) *&
+                                           ( random_gauss( iran_part, 5.0 )    &
+                                             - 1.0 )
+                particles(n)%speed_z_sgs = SQRT( 2.0 * sgs_wfw_part * e_int ) *&
+                                           ( random_gauss( iran_part, 5.0 )    &
+                                             - 1.0 )
+
+             ELSE
+
+!
+!--             Restriction of the size of the new timestep: compared to the 
+!--             previous timestep the increase must not exceed 200%
+
+                dt_particle_m = particles(n)%age - particles(n)%age_m
+                IF ( dt_particle > 2.0 * dt_particle_m )  THEN 
+                   dt_particle = 2.0 * dt_particle_m
+                ENDIF
+
+!
+!--             For old particles the SGS components are correlated with the
+!--             values from the previous timestep. Random numbers have also to
+!--             be limited (see above).
+!--             As negative values for the subgrid TKE are not allowed, the
+!--             change of the subgrid TKE with time cannot be smaller than
+!--             -e_int/dt_particle. This value is used as a lower boundary
+!--             value for the change of TKE 
+
+                de_dt_min = - e_int / dt_particle
+
+                de_dt = ( e_int - particles(n)%e_m ) / dt_particle_m
+
+                IF ( de_dt < de_dt_min )  THEN
+                   de_dt = de_dt_min
+                ENDIF
+
+                particles(n)%speed_x_sgs = particles(n)%speed_x_sgs -          &
+                       fs_int * c_0 * diss_int * particles(n)%speed_x_sgs *    &
+                       dt_particle / ( 4.0 * sgs_wfu_part * e_int ) +          &
+                       ( 2.0 * sgs_wfu_part * de_dt *                          &
+                               particles(n)%speed_x_sgs /                      &
+                         ( 2.0 * sgs_wfu_part * e_int ) + de_dx_int            &
+                       ) * dt_particle / 2.0                        +          &
+                       SQRT( fs_int * c_0 * diss_int ) *                       &
+                       ( random_gauss( iran_part, 5.0 ) - 1.0 ) *              &
+                       SQRT( dt_particle )
+
+                particles(n)%speed_y_sgs = particles(n)%speed_y_sgs -          &
+                       fs_int * c_0 * diss_int * particles(n)%speed_y_sgs *    &
+                       dt_particle / ( 4.0 * sgs_wfv_part * e_int ) +          &
+                       ( 2.0 * sgs_wfv_part * de_dt *                          &
+                               particles(n)%speed_y_sgs /                      &
+                         ( 2.0 * sgs_wfv_part * e_int ) + de_dy_int            &
+                       ) * dt_particle / 2.0                        +          &
+                       SQRT( fs_int * c_0 * diss_int ) *                       &
+                       ( random_gauss( iran_part, 5.0 ) - 1.0 ) *              &
+                       SQRT( dt_particle )
+
+                particles(n)%speed_z_sgs = particles(n)%speed_z_sgs -          &
+                       fs_int * c_0 * diss_int * particles(n)%speed_z_sgs *    &
+                       dt_particle / ( 4.0 * sgs_wfw_part * e_int ) +          &
+                       ( 2.0 * sgs_wfw_part * de_dt *                          &
+                               particles(n)%speed_z_sgs /                      &
+                         ( 2.0 * sgs_wfw_part * e_int ) + de_dz_int            &
+                       ) * dt_particle / 2.0                        +          &
+                       SQRT( fs_int * c_0 * diss_int ) *                       &
+                       ( random_gauss( iran_part, 5.0 ) - 1.0 ) *              &
+                       SQRT( dt_particle )
+
+             ENDIF
+
+             u_int = u_int + particles(n)%speed_x_sgs
+             v_int = v_int + particles(n)%speed_y_sgs
+             w_int = w_int + particles(n)%speed_z_sgs
+
+!
+!--          Store the SGS TKE of the current timelevel which is needed for
+!--          for calculating the SGS particle velocities at the next timestep
+             particles(n)%e_m = e_int
+
+          ELSE
+!
+!--          If no SGS velocities are used, only the particle timestep has to
+!--          be set
+             dt_particle = dt_3d
+
+          ENDIF
+
+!
+!--       Remember the old age of the particle ( needed to prevent that a
+!--       particle crosses several PEs during one timestep and for the
+!--       evaluation of the subgrid particle velocity fluctuations )
+          particles(n)%age_m = particles(n)%age
+
+
+!
+!--       Particle advection
+          IF ( particle_groups(particles(n)%group)%density_ratio == 0.0 )  THEN
+!
+!--          Pure passive transport (without particle inertia)
+             particles(n)%x = particles(n)%x + u_int * dt_particle
+             particles(n)%y = particles(n)%y + v_int * dt_particle
+             particles(n)%z = particles(n)%z + w_int * dt_particle
+
+             particles(n)%speed_x = u_int
+             particles(n)%speed_y = v_int
+             particles(n)%speed_z = w_int
+
+          ELSE
+!
+!--          Transport of particles with inertia
+             particles(n)%x = particles(n)%x + particles(n)%speed_x * &
+                                               dt_particle
+             particles(n)%y = particles(n)%y + particles(n)%speed_y * &
+                                               dt_particle
+             particles(n)%z = particles(n)%z + particles(n)%speed_z * &
+                                               dt_particle
+
+!
+!--          Update of the particle velocity
+             dens_ratio = particle_groups(particles(n)%group)%density_ratio
+             IF ( cloud_droplets )  THEN
+                exp_arg  = 4.5 * dens_ratio * molecular_viscosity /        &
+                           ( particles(n)%radius )**2 /                    &
+                           ( 1.0 + 0.15 * ( 2.0 * particles(n)%radius *    &
+                             SQRT( ( u_int - particles(n)%speed_x )**2 +   &
+                                   ( v_int - particles(n)%speed_y )**2 +   &
+                                   ( w_int - particles(n)%speed_z )**2 ) / &
+                                            molecular_viscosity )**0.687   &
+                           )
+                exp_term = EXP( -exp_arg * dt_particle )
+             ELSEIF ( use_sgs_for_particles )  THEN
+                exp_arg  = particle_groups(particles(n)%group)%exp_arg
+                exp_term = EXP( -exp_arg * dt_particle )
+             ELSE
+                exp_arg  = particle_groups(particles(n)%group)%exp_arg
+                exp_term = particle_groups(particles(n)%group)%exp_term
+             ENDIF
+             particles(n)%speed_x = particles(n)%speed_x * exp_term + &
+                                    u_int * ( 1.0 - exp_term )
+              particles(n)%speed_y = particles(n)%speed_y * exp_term + &
+                                    v_int * ( 1.0 - exp_term )
+              particles(n)%speed_z = particles(n)%speed_z * exp_term +       &
+                              ( w_int - ( 1.0 - dens_ratio ) * g / exp_arg ) &
+                                    * ( 1.0 - exp_term )
+          ENDIF
+
+!
+!--       Increment the particle age and the total time that the particle
+!--       has advanced within the particle timestep procedure
+          particles(n)%age    = particles(n)%age    + dt_particle
+          particles(n)%dt_sum = particles(n)%dt_sum + dt_particle
+
+!
+!--       Check whether there is still a particle that has not yet completed 
+!--       the total LES timestep
+          IF ( ( dt_3d - particles(n)%dt_sum ) > 1E-8 )  THEN
+             dt_3d_reached_l = .FALSE.
+          ENDIF
+
+       ENDDO   ! advection loop
+
+!
+!--    Particle reflection from walls
+       CALL particle_boundary_conds
+
+!
+!--    User-defined actions after the calculation of the new particle position
+       CALL user_advec_particles
+
+!
+!--    Find out, if all particles on every PE have completed the LES timestep
+!--    and set the switch corespondingly
+#if defined( __parallel )
+       CALL MPI_ALLREDUCE( dt_3d_reached_l, dt_3d_reached, 1, MPI_LOGICAL, &
+                           MPI_LAND, comm2d, ierr )
+#else
+       dt_3d_reached = dt_3d_reached_l
+#endif     
+
+       CALL cpu_log( log_point_s(44), 'advec_part_advec', 'stop' )
+
+!
+!--    Increment time since last release
+       IF ( dt_3d_reached )  time_prel = time_prel + dt_3d
+
+!    WRITE ( 9, * ) '*** advec_particles: ##0.4'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!--    If necessary, release new set of particles
+       IF ( time_prel >= dt_prel  .AND.  end_time_prel > simulated_time  .AND. &
+            dt_3d_reached )  THEN
+
+!
+!--       Check, if particle storage must be extended
+          IF ( number_of_particles + number_of_initial_particles > &
+               maximum_number_of_particles  )  THEN
+             IF ( netcdf_output )  THEN
+                message_string = 'maximum_number_of_particles ' //   &
+                                 'needs to be increased ' //         &
+                                 '&but this is not allowed with ' // &
+                                 'NetCDF output switched on'
+                CALL message( 'advec_particles', 'PA0146', 2, 2, -1, 6, 1 )
+             ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_prt_memory dt_prel'
+!    CALL local_flush( 9 )
+                CALL allocate_prt_memory( number_of_initial_particles )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_prt_memory dt_prel'
+!    CALL local_flush( 9 )
+             ENDIF
+          ENDIF
+
+!
+!--       Check, if tail storage must be extended
+          IF ( use_particle_tails )  THEN
+             IF ( number_of_tails + number_of_initial_tails > &
+                  maximum_number_of_tails  )  THEN
+                IF ( netcdf_output )  THEN
+                   message_string = 'maximum_number_of_tails ' //    &
+                                    'needs to be increased ' //      &
+                                    '&but this is not allowed wi' // &
+                                    'th NetCDF output switched on'
+                   CALL message( 'advec_particles', 'PA0147', 2, 2, -1, 6, 1 )
+                ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_tail_memory dt_prel'
+!    CALL local_flush( 9 )
+                   CALL allocate_tail_memory( number_of_initial_tails )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_tail_memory dt_prel'
+!    CALL local_flush( 9 )
+                ENDIF
+             ENDIF
+          ENDIF
+
+!
+!--       The MOD function allows for changes in the output interval with
+!--       restart runs.
+          time_prel = MOD( time_prel, MAX( dt_prel, dt_3d ) )
+          IF ( number_of_initial_particles /= 0 )  THEN
+             is = number_of_particles+1
+             ie = number_of_particles+number_of_initial_particles
+             particles(is:ie) = initial_particles(1:number_of_initial_particles)
+!
+!--          Add random fluctuation to particle positions. Particles should
+!--          remain in the subdomain.
+             IF ( random_start_position )  THEN
+                DO  n = is, ie
+                   IF ( psl(particles(n)%group) /= psr(particles(n)%group) ) &
+                   THEN
+                      particles(n)%x = particles(n)%x + &
+                                       ( random_function( iran_part ) - 0.5 ) *&
+                                       pdx(particles(n)%group)
+                      IF ( particles(n)%x  <=  ( nxl - 0.5 ) * dx )  THEN
+                         particles(n)%x = ( nxl - 0.4999999999 ) * dx
+                      ELSEIF ( particles(n)%x  >=  ( nxr + 0.5 ) * dx )  THEN
+                         particles(n)%x = ( nxr + 0.4999999999 ) * dx
+                      ENDIF
+                   ENDIF
+                   IF ( pss(particles(n)%group) /= psn(particles(n)%group) ) &
+                   THEN
+                      particles(n)%y = particles(n)%y + &
+                                       ( random_function( iran_part ) - 0.5 ) *&
+                                       pdy(particles(n)%group)
+                      IF ( particles(n)%y  <=  ( nys - 0.5 ) * dy )  THEN
+                         particles(n)%y = ( nys - 0.4999999999 ) * dy
+                      ELSEIF ( particles(n)%y  >=  ( nyn + 0.5 ) * dy )  THEN
+                         particles(n)%y = ( nyn + 0.4999999999 ) * dy
+                      ENDIF
+                   ENDIF
+                   IF ( psb(particles(n)%group) /= pst(particles(n)%group) ) &
+                   THEN
+                      particles(n)%z = particles(n)%z + &
+                                       ( random_function( iran_part ) - 0.5 ) *&
+                                       pdz(particles(n)%group)
+                   ENDIF
+                ENDDO
+             ENDIF
+
+!
+!--          Set the beginning of the new particle tails and their age
+             IF ( use_particle_tails )  THEN
+                DO  n = is, ie
+!
+!--                New particles which should have a tail, already have got a
+!--                provisional tail id unequal zero (see init_particles)
+                   IF ( particles(n)%tail_id /= 0 )  THEN
+                      number_of_tails = number_of_tails + 1
+                      nn = number_of_tails
+                      particles(n)%tail_id = nn   ! set the final tail id
+                      particle_tail_coordinates(1,1,nn) = particles(n)%x
+                      particle_tail_coordinates(1,2,nn) = particles(n)%y
+                      particle_tail_coordinates(1,3,nn) = particles(n)%z
+                      particle_tail_coordinates(1,4,nn) = particles(n)%color
+                      particles(n)%tailpoints = 1
+                      IF ( minimum_tailpoint_distance /= 0.0 )  THEN
+                         particle_tail_coordinates(2,1,nn) = particles(n)%x
+                         particle_tail_coordinates(2,2,nn) = particles(n)%y
+                         particle_tail_coordinates(2,3,nn) = particles(n)%z
+                         particle_tail_coordinates(2,4,nn) = particles(n)%color
+                         particle_tail_coordinates(1:2,5,nn) = 0.0
+                         particles(n)%tailpoints = 2
+                      ENDIF
+                   ENDIF
+                ENDDO
+             ENDIF
+!    WRITE ( 9, * ) '*** advec_particles: after setting the beginning of new tails'
+!    CALL local_flush( 9 )
+
+             number_of_particles = number_of_particles + &
+                                   number_of_initial_particles
+          ENDIF
+
+       ENDIF
+
+!    WRITE ( 9, * ) '*** advec_particles: ##0.5'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!    IF ( number_of_particles /= number_of_tails )  THEN
+!       WRITE (9,*) '--- advec_particles: #2'
+!       WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!       CALL local_flush( 9 )
+!    ENDIF
+!    DO  n = 1, number_of_particles
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+
+#if defined( __parallel )
+!
+!--    As soon as one particle has moved beyond the boundary of the domain, it
+!--    is included in the relevant transfer arrays and marked for subsequent
+!--    deletion on this PE.
+!--    First run for crossings in x direction. Find out first the number of
+!--    particles to be transferred and allocate temporary arrays needed to store
+!--    them.
+!--    For a one-dimensional decomposition along y, no transfer is necessary,
+!--    because the particle remains on the PE.
+       trlp_count  = 0
+       trlpt_count = 0
+       trrp_count  = 0
+       trrpt_count = 0
+       IF ( pdims(1) /= 1 )  THEN
+!
+!--       First calculate the storage necessary for sending and receiving the
+!--       data
+          DO  n = 1, number_of_particles
+	     i = ( particles(n)%x + 0.5 * dx ) * ddx
+!
+!--          Above calculation does not work for indices less than zero
+	     IF ( particles(n)%x < -0.5 * dx )  i = -1
+
+             IF ( i < nxl )  THEN
+                trlp_count = trlp_count + 1
+                IF ( particles(n)%tail_id /= 0 )  trlpt_count = trlpt_count + 1
+             ELSEIF ( i > nxr )  THEN
+                trrp_count = trrp_count + 1
+                IF ( particles(n)%tail_id /= 0 )  trrpt_count = trrpt_count + 1
+             ENDIF
+          ENDDO
+          IF ( trlp_count  == 0 )  trlp_count  = 1
+          IF ( trlpt_count == 0 )  trlpt_count = 1
+          IF ( trrp_count  == 0 )  trrp_count  = 1
+          IF ( trrpt_count == 0 )  trrpt_count = 1
+
+          ALLOCATE( trlp(trlp_count), trrp(trrp_count) )
+
+          trlp = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0, 0, 0, 0 )
+          trrp = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0, 0, 0, 0 )
+
+          IF ( use_particle_tails )  THEN
+             ALLOCATE( trlpt(maximum_number_of_tailpoints,5,trlpt_count), &
+                       trrpt(maximum_number_of_tailpoints,5,trrpt_count) )
+             tlength = maximum_number_of_tailpoints * 5
+          ENDIF
+
+          trlp_count  = 0
+          trlpt_count = 0
+          trrp_count  = 0
+          trrpt_count = 0
+
+       ENDIF
+
+!    WRITE ( 9, * ) '*** advec_particles: ##1'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+       DO  n = 1, number_of_particles
+
+          nn = particles(n)%tail_id
+
+	  i = ( particles(n)%x + 0.5 * dx ) * ddx
+!
+!--       Above calculation does not work for indices less than zero
+	  IF ( particles(n)%x < - 0.5 * dx )  i = -1
+
+          IF ( i <  nxl )  THEN
+             IF ( i < 0 )  THEN
+!
+!--             Apply boundary condition along x
+                IF ( ibc_par_lr == 0 )  THEN
+!
+!--                Cyclic condition
+                   IF ( pdims(1) == 1 )  THEN
+                      particles(n)%x        = ( nx + 1 ) * dx + particles(n)%x
+                      particles(n)%origin_x = ( nx + 1 ) * dx + &
+                                              particles(n)%origin_x
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         i  = particles(n)%tailpoints
+                         particle_tail_coordinates(1:i,1,nn) = ( nx + 1 ) * dx &
+                                           + particle_tail_coordinates(1:i,1,nn)
+                      ENDIF
+                   ELSE
+                      trlp_count = trlp_count + 1
+                      trlp(trlp_count) = particles(n)
+                      trlp(trlp_count)%x = ( nx + 1 ) * dx + trlp(trlp_count)%x
+                      trlp(trlp_count)%origin_x = trlp(trlp_count)%origin_x + &
+                                                  ( nx + 1 ) * dx
+                      particle_mask(n)  = .FALSE.
+                      deleted_particles = deleted_particles + 1
+
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         trlpt_count = trlpt_count + 1
+                         trlpt(:,:,trlpt_count) = &
+                                               particle_tail_coordinates(:,:,nn)
+                         trlpt(:,1,trlpt_count) = ( nx + 1 ) * dx + &
+                                                  trlpt(:,1,trlpt_count)
+                         tail_mask(nn) = .FALSE.
+                         deleted_tails = deleted_tails + 1
+                      ENDIF
+                   ENDIF
+
+                ELSEIF ( ibc_par_lr == 1 )  THEN
+!
+!--                Particle absorption
+                   particle_mask(n) = .FALSE.
+                   deleted_particles = deleted_particles + 1
+                   IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                      tail_mask(nn) = .FALSE.
+                      deleted_tails = deleted_tails + 1
+                   ENDIF
+
+                ELSEIF ( ibc_par_lr == 2 )  THEN
+!
+!--                Particle reflection
+                   particles(n)%x       = -particles(n)%x
+                   particles(n)%speed_x = -particles(n)%speed_x
+
+                ENDIF
+             ELSE
+!
+!--             Store particle data in the transfer array, which will be send
+!--             to the neighbouring PE
+                trlp_count = trlp_count + 1
+                trlp(trlp_count) = particles(n)
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   trlpt_count = trlpt_count + 1
+                   trlpt(:,:,trlpt_count) = particle_tail_coordinates(:,:,nn)
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+            ENDIF
+
+          ELSEIF ( i > nxr )  THEN
+             IF ( i > nx )  THEN
+!
+!--             Apply boundary condition along x
+                IF ( ibc_par_lr == 0 )  THEN
+!
+!--                Cyclic condition
+                   IF ( pdims(1) == 1 )  THEN
+                      particles(n)%x = particles(n)%x - ( nx + 1 ) * dx
+                      particles(n)%origin_x = particles(n)%origin_x - &
+                                              ( nx + 1 ) * dx
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         i = particles(n)%tailpoints
+                         particle_tail_coordinates(1:i,1,nn) = - ( nx+1 ) * dx &
+                                           + particle_tail_coordinates(1:i,1,nn)
+                      ENDIF
+                   ELSE
+                      trrp_count = trrp_count + 1
+                      trrp(trrp_count) = particles(n)
+                      trrp(trrp_count)%x = trrp(trrp_count)%x - ( nx + 1 ) * dx
+                      trrp(trrp_count)%origin_x = trrp(trrp_count)%origin_x - &
+                                                  ( nx + 1 ) * dx
+                      particle_mask(n) = .FALSE.
+                      deleted_particles = deleted_particles + 1
+
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         trrpt_count = trrpt_count + 1
+                         trrpt(:,:,trrpt_count) = &
+                                               particle_tail_coordinates(:,:,nn)
+                         trrpt(:,1,trrpt_count) = trrpt(:,1,trrpt_count) - &
+                                                  ( nx + 1 ) * dx
+                         tail_mask(nn) = .FALSE.
+                         deleted_tails = deleted_tails + 1
+                      ENDIF
+                   ENDIF
+
+                ELSEIF ( ibc_par_lr == 1 )  THEN
+!
+!--                Particle absorption
+                   particle_mask(n) = .FALSE.
+                   deleted_particles = deleted_particles + 1
+                   IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                      tail_mask(nn) = .FALSE.
+                      deleted_tails = deleted_tails + 1
+                   ENDIF
+
+                ELSEIF ( ibc_par_lr == 2 )  THEN
+!
+!--                Particle reflection
+                   particles(n)%x       = 2 * ( nx * dx ) - particles(n)%x
+                   particles(n)%speed_x = -particles(n)%speed_x
+
+                ENDIF
+             ELSE
+!
+!--             Store particle data in the transfer array, which will be send
+!--             to the neighbouring PE
+                trrp_count = trrp_count + 1
+                trrp(trrp_count) = particles(n)
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   trrpt_count = trrpt_count + 1
+                   trrpt(:,:,trrpt_count) = particle_tail_coordinates(:,:,nn)
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ENDIF
+
+          ENDIF
+       ENDDO
+
+!    WRITE ( 9, * ) '*** advec_particles: ##2'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!--    Send left boundary, receive right boundary (but first exchange how many
+!--    and check, if particle storage must be extended)
+       IF ( pdims(1) /= 1 )  THEN
+
+          CALL cpu_log( log_point_s(23), 'sendrcv_particles', 'start' )
+          CALL MPI_SENDRECV( trlp_count,      1, MPI_INTEGER, pleft,  0, &
+                             trrp_count_recv, 1, MPI_INTEGER, pright, 0, &
+                             comm2d, status, ierr )
+
+          IF ( number_of_particles + trrp_count_recv > &
+               maximum_number_of_particles )           &
+          THEN
+             IF ( netcdf_output )  THEN
+                 message_string = 'maximum_number_of_particles ' //    &
+                                  'needs to be increased ' //          &
+                                  '&but this is not allowed with ' //  &
+                                  'NetCDF output switched on'
+                CALL message( 'advec_particles', 'PA0146', 2, 2, -1, 6, 1 )
+             ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_prt_memory trrp'
+!    CALL local_flush( 9 )
+                CALL allocate_prt_memory( trrp_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_prt_memory trrp'
+!    CALL local_flush( 9 )
+             ENDIF
+          ENDIF
+
+          CALL MPI_SENDRECV( trlp(1)%age, trlp_count, mpi_particle_type,     &
+                             pleft, 1, particles(number_of_particles+1)%age, &
+                             trrp_count_recv, mpi_particle_type, pright, 1,  &
+                             comm2d, status, ierr )
+
+          IF ( use_particle_tails )  THEN
+
+             CALL MPI_SENDRECV( trlpt_count,      1, MPI_INTEGER, pleft,  0, &
+                                trrpt_count_recv, 1, MPI_INTEGER, pright, 0, &
+                                comm2d, status, ierr )
+
+             IF ( number_of_tails+trrpt_count_recv > maximum_number_of_tails ) &
+             THEN
+                IF ( netcdf_output )  THEN
+                   message_string = 'maximum_number_of_tails ' //   &
+                                    'needs to be increased ' //     &
+                                    '&but this is not allowed wi'// &
+                                    'th NetCDF output switched on'
+                   CALL message( 'advec_particles', 'PA0147', 2, 2, -1, 6, 1 )
+                ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_tail_memory trrpt'
+!    CALL local_flush( 9 )
+                   CALL allocate_tail_memory( trrpt_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_tail_memory trrpt'
+!    CALL local_flush( 9 )
+                ENDIF
+             ENDIF
+
+             CALL MPI_SENDRECV( trlpt(1,1,1), trlpt_count*tlength, MPI_REAL,   &
+                                pleft, 1,                                      &
+                             particle_tail_coordinates(1,1,number_of_tails+1), &
+                                trrpt_count_recv*tlength, MPI_REAL, pright, 1, &
+                                comm2d, status, ierr )
+!
+!--          Update the tail ids for the transferred particles
+             nn = number_of_tails
+             DO  n = number_of_particles+1, number_of_particles+trrp_count_recv
+                IF ( particles(n)%tail_id /= 0 )  THEN
+                   nn = nn + 1
+                   particles(n)%tail_id = nn
+                ENDIF
+             ENDDO
+
+          ENDIF
+
+          number_of_particles = number_of_particles + trrp_count_recv
+          number_of_tails     = number_of_tails     + trrpt_count_recv
+!       IF ( number_of_particles /= number_of_tails )  THEN
+!          WRITE (9,*) '--- advec_particles: #3'
+!          WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!          CALL local_flush( 9 )
+!       ENDIF
+
+!
+!--       Send right boundary, receive left boundary
+          CALL MPI_SENDRECV( trrp_count,      1, MPI_INTEGER, pright, 0, &
+                             trlp_count_recv, 1, MPI_INTEGER, pleft,  0, &
+                             comm2d, status, ierr )
+
+          IF ( number_of_particles + trlp_count_recv > &
+               maximum_number_of_particles )           &
+          THEN
+             IF ( netcdf_output )  THEN
+                message_string = 'maximum_number_of_particles ' //  &
+                                 'needs to be increased ' //        &
+                                 '&but this is not allowed with '// &
+                                 'NetCDF output switched on'
+                CALL message( 'advec_particles', 'PA0146', 2, 2, -1, 6, 1 )
+             ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_prt_memory trlp'
+!    CALL local_flush( 9 )
+                CALL allocate_prt_memory( trlp_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_prt_memory trlp'
+!    CALL local_flush( 9 )
+             ENDIF
+          ENDIF
+
+          CALL MPI_SENDRECV( trrp(1)%age, trrp_count, mpi_particle_type,      &
+                             pright, 1, particles(number_of_particles+1)%age, &
+                             trlp_count_recv, mpi_particle_type, pleft, 1,    &
+                             comm2d, status, ierr )
+
+          IF ( use_particle_tails )  THEN
+
+             CALL MPI_SENDRECV( trrpt_count,      1, MPI_INTEGER, pright, 0, &
+                                trlpt_count_recv, 1, MPI_INTEGER, pleft,  0, &
+                                comm2d, status, ierr )
+
+             IF ( number_of_tails+trlpt_count_recv > maximum_number_of_tails ) &
+             THEN
+                IF ( netcdf_output )  THEN
+                   message_string = 'maximum_number_of_tails ' //   &
+                                    'needs to be increased ' //     &
+                                    '&but this is not allowed wi'// &
+                                    'th NetCDF output switched on'
+                   CALL message( 'advec_particles', 'PA0147', 2, 2, -1, 6, 1 ) 
+                ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_tail_memory trlpt'
+!    CALL local_flush( 9 )
+                   CALL allocate_tail_memory( trlpt_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_tail_memory trlpt'
+!    CALL local_flush( 9 )
+                ENDIF
+             ENDIF
+
+             CALL MPI_SENDRECV( trrpt(1,1,1), trrpt_count*tlength, MPI_REAL,   &
+                                pright, 1,                                     &
+                             particle_tail_coordinates(1,1,number_of_tails+1), &
+                                trlpt_count_recv*tlength, MPI_REAL, pleft, 1,  &
+                                comm2d, status, ierr )
+!
+!--          Update the tail ids for the transferred particles
+             nn = number_of_tails
+             DO  n = number_of_particles+1, number_of_particles+trlp_count_recv
+                IF ( particles(n)%tail_id /= 0 )  THEN
+                   nn = nn + 1
+                   particles(n)%tail_id = nn
+                ENDIF
+             ENDDO
+
+          ENDIF
+
+          number_of_particles = number_of_particles + trlp_count_recv
+          number_of_tails     = number_of_tails     + trlpt_count_recv
+!       IF ( number_of_particles /= number_of_tails )  THEN
+!          WRITE (9,*) '--- advec_particles: #4'
+!          WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!          CALL local_flush( 9 )
+!       ENDIF
+
+          IF ( use_particle_tails )  THEN
+             DEALLOCATE( trlpt, trrpt )
+          ENDIF
+          DEALLOCATE( trlp, trrp ) 
+
+          CALL cpu_log( log_point_s(23), 'sendrcv_particles', 'pause' )
+
+       ENDIF
+
+!    WRITE ( 9, * ) '*** advec_particles: ##3'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!--    Check whether particles have crossed the boundaries in y direction. Note 
+!--    that this case can also apply to particles that have just been received
+!--    from the adjacent right or left PE.
+!--    Find out first the number of particles to be transferred and allocate
+!--    temporary arrays needed to store them.
+!--    For a one-dimensional decomposition along x, no transfer is necessary,
+!--    because the particle remains on the PE.
+       trsp_count  = 0
+       trspt_count = 0
+       trnp_count  = 0
+       trnpt_count = 0
+       IF ( pdims(2) /= 1 )  THEN
+!
+!--       First calculate the storage necessary for sending and receiving the
+!--       data
+          DO  n = 1, number_of_particles
+             IF ( particle_mask(n) )  THEN
+	        j = ( particles(n)%y + 0.5 * dy ) * ddy
+!
+!--             Above calculation does not work for indices less than zero
+	        IF ( particles(n)%y < -0.5 * dy )  j = -1
+
+                IF ( j < nys )  THEN
+                   trsp_count = trsp_count + 1
+                   IF ( particles(n)%tail_id /= 0 )  trspt_count = trspt_count+1
+                ELSEIF ( j > nyn )  THEN
+                   trnp_count = trnp_count + 1
+                   IF ( particles(n)%tail_id /= 0 )  trnpt_count = trnpt_count+1
+                ENDIF
+             ENDIF
+          ENDDO
+          IF ( trsp_count  == 0 )  trsp_count  = 1
+          IF ( trspt_count == 0 )  trspt_count = 1
+          IF ( trnp_count  == 0 )  trnp_count  = 1
+          IF ( trnpt_count == 0 )  trnpt_count = 1
+
+          ALLOCATE( trsp(trsp_count), trnp(trnp_count) )
+
+          trsp = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0, 0, 0, 0 )
+          trnp = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                0.0, 0, 0, 0, 0 )
+
+          IF ( use_particle_tails )  THEN
+             ALLOCATE( trspt(maximum_number_of_tailpoints,5,trspt_count), &
+                       trnpt(maximum_number_of_tailpoints,5,trnpt_count) )
+             tlength = maximum_number_of_tailpoints * 5
+          ENDIF
+
+          trsp_count  = 0
+          trspt_count = 0
+          trnp_count  = 0
+          trnpt_count = 0
+
+       ENDIF
+
+!    WRITE ( 9, * ) '*** advec_particles: ##4'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+       DO  n = 1, number_of_particles
+
+          nn = particles(n)%tail_id
+!
+!--       Only those particles that have not been marked as 'deleted' may be 
+!--       moved.
+          IF ( particle_mask(n) )  THEN
+	     j = ( particles(n)%y + 0.5 * dy ) * ddy
+!
+!--          Above calculation does not work for indices less than zero
+	     IF ( particles(n)%y < -0.5 * dy )  j = -1
+
+             IF ( j < nys )  THEN
+                IF ( j < 0 )  THEN
+!
+!--                Apply boundary condition along y
+                   IF ( ibc_par_ns == 0 )  THEN
+!
+!--                   Cyclic condition
+                      IF ( pdims(2) == 1 )  THEN
+                         particles(n)%y = ( ny + 1 ) * dy + particles(n)%y
+                         particles(n)%origin_y = ( ny + 1 ) * dy + &
+                                                 particles(n)%origin_y
+                         IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                            i = particles(n)%tailpoints
+                            particle_tail_coordinates(1:i,2,nn) = ( ny+1 ) * dy&
+                                           + particle_tail_coordinates(1:i,2,nn)
+                         ENDIF
+                      ELSE
+                         trsp_count = trsp_count + 1
+                         trsp(trsp_count) = particles(n)
+                         trsp(trsp_count)%y = ( ny + 1 ) * dy + &
+                                              trsp(trsp_count)%y
+                         trsp(trsp_count)%origin_y = trsp(trsp_count)%origin_y &
+                                              + ( ny + 1 ) * dy
+                         particle_mask(n) = .FALSE.
+                         deleted_particles = deleted_particles + 1
+
+                         IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                            trspt_count = trspt_count + 1
+                            trspt(:,:,trspt_count) = &
+                                               particle_tail_coordinates(:,:,nn)
+                            trspt(:,2,trspt_count) = ( ny + 1 ) * dy + &
+                                                     trspt(:,2,trspt_count)
+                            tail_mask(nn) = .FALSE.
+                            deleted_tails = deleted_tails + 1
+                         ENDIF
+                      ENDIF
+
+                   ELSEIF ( ibc_par_ns == 1 )  THEN
+!
+!--                   Particle absorption
+                      particle_mask(n) = .FALSE.
+                      deleted_particles = deleted_particles + 1
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         tail_mask(nn) = .FALSE.
+                         deleted_tails = deleted_tails + 1
+                      ENDIF
+
+                   ELSEIF ( ibc_par_ns == 2 )  THEN
+!
+!--                   Particle reflection
+                      particles(n)%y       = -particles(n)%y
+                      particles(n)%speed_y = -particles(n)%speed_y
+
+                   ENDIF
+                ELSE
+!
+!--                Store particle data in the transfer array, which will be send
+!--                to the neighbouring PE
+                   trsp_count = trsp_count + 1
+                   trsp(trsp_count) = particles(n)
+                   particle_mask(n) = .FALSE.
+                   deleted_particles = deleted_particles + 1
+
+                   IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                      trspt_count = trspt_count + 1
+                      trspt(:,:,trspt_count) = particle_tail_coordinates(:,:,nn)
+                      tail_mask(nn) = .FALSE.
+                      deleted_tails = deleted_tails + 1
+                   ENDIF
+                ENDIF
+
+             ELSEIF ( j > nyn )  THEN
+                IF ( j > ny )  THEN
+!
+!--                Apply boundary condition along x
+                   IF ( ibc_par_ns == 0 )  THEN
+!
+!--                   Cyclic condition
+                      IF ( pdims(2) == 1 )  THEN
+                         particles(n)%y = particles(n)%y - ( ny + 1 ) * dy
+                         particles(n)%origin_y = particles(n)%origin_y - &
+                                                 ( ny + 1 ) * dy
+                         IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                            i = particles(n)%tailpoints
+                            particle_tail_coordinates(1:i,2,nn) = - (ny+1) * dy&
+                                           + particle_tail_coordinates(1:i,2,nn)
+                         ENDIF
+                      ELSE
+                         trnp_count = trnp_count + 1
+                         trnp(trnp_count) = particles(n)
+                         trnp(trnp_count)%y = trnp(trnp_count)%y - &
+                                              ( ny + 1 ) * dy
+                         trnp(trnp_count)%origin_y = trnp(trnp_count)%origin_y &
+                                                     - ( ny + 1 ) * dy
+                         particle_mask(n) = .FALSE.
+                         deleted_particles = deleted_particles + 1
+
+                         IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                            trnpt_count = trnpt_count + 1
+                            trnpt(:,:,trnpt_count) = &
+                                               particle_tail_coordinates(:,:,nn)
+                            trnpt(:,2,trnpt_count) = trnpt(:,2,trnpt_count) - &
+                                                     ( ny + 1 ) * dy
+                            tail_mask(nn) = .FALSE.
+                            deleted_tails = deleted_tails + 1
+                         ENDIF
+                      ENDIF
+
+                   ELSEIF ( ibc_par_ns == 1 )  THEN
+!
+!--                   Particle absorption
+                      particle_mask(n) = .FALSE.
+                      deleted_particles = deleted_particles + 1
+                      IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                         tail_mask(nn) = .FALSE.
+                         deleted_tails = deleted_tails + 1
+                      ENDIF
+
+                   ELSEIF ( ibc_par_ns == 2 )  THEN
+!
+!--                   Particle reflection
+                      particles(n)%y       = 2 * ( ny * dy ) - particles(n)%y
+                      particles(n)%speed_y = -particles(n)%speed_y
+
+                   ENDIF
+                ELSE
+!
+!--                Store particle data in the transfer array, which will be send
+!--                to the neighbouring PE
+                   trnp_count = trnp_count + 1
+                   trnp(trnp_count) = particles(n)
+                   particle_mask(n) = .FALSE.
+                   deleted_particles = deleted_particles + 1
+
+                   IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                      trnpt_count = trnpt_count + 1
+                      trnpt(:,:,trnpt_count) = particle_tail_coordinates(:,:,nn)
+                      tail_mask(nn) = .FALSE.
+                      deleted_tails = deleted_tails + 1
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDIF
+       ENDDO
+
+!    WRITE ( 9, * ) '*** advec_particles: ##5'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!--    Send front boundary, receive back boundary (but first exchange how many
+!--    and check, if particle storage must be extended)
+       IF ( pdims(2) /= 1 )  THEN
+
+          CALL cpu_log( log_point_s(23), 'sendrcv_particles', 'continue' )
+          CALL MPI_SENDRECV( trsp_count,      1, MPI_INTEGER, psouth, 0, &
+                             trnp_count_recv, 1, MPI_INTEGER, pnorth, 0, &
+                             comm2d, status, ierr )
+
+          IF ( number_of_particles + trnp_count_recv > &
+               maximum_number_of_particles )           &
+          THEN
+             IF ( netcdf_output )  THEN
+                message_string = 'maximum_number_of_particles ' //  &
+                                 'needs to be increased ' //        &
+                                 '&but this is not allowed with '// &
+                                 'NetCDF output switched on'
+                CALL message( 'advec_particles', 'PA0146', 2, 2, -1, 6, 1 ) 
+             ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_prt_memory trnp'
+!    CALL local_flush( 9 )
+                CALL allocate_prt_memory( trnp_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_prt_memory trnp'
+!    CALL local_flush( 9 )
+             ENDIF
+          ENDIF
+
+          CALL MPI_SENDRECV( trsp(1)%age, trsp_count, mpi_particle_type,      &
+                             psouth, 1, particles(number_of_particles+1)%age, &
+                             trnp_count_recv, mpi_particle_type, pnorth, 1,   &
+                             comm2d, status, ierr )
+
+          IF ( use_particle_tails )  THEN
+
+             CALL MPI_SENDRECV( trspt_count,      1, MPI_INTEGER, psouth, 0, &
+                                trnpt_count_recv, 1, MPI_INTEGER, pnorth, 0, &
+                                comm2d, status, ierr )
+
+             IF ( number_of_tails+trnpt_count_recv > maximum_number_of_tails ) &
+             THEN
+                IF ( netcdf_output )  THEN
+                   message_string = 'maximum_number_of_tails ' //    &
+                                    'needs to be increased ' //      &
+                                    '&but this is not allowed wi' // &
+                                    'th NetCDF output switched on'
+                   CALL message( 'advec_particles', 'PA0147', 2, 2, -1, 6, 1 ) 
+                ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_tail_memory trnpt'
+!    CALL local_flush( 9 )
+                   CALL allocate_tail_memory( trnpt_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_tail_memory trnpt'
+!    CALL local_flush( 9 )
+                ENDIF
+             ENDIF
+
+             CALL MPI_SENDRECV( trspt(1,1,1), trspt_count*tlength, MPI_REAL,   &
+                                psouth, 1,                                     &
+                             particle_tail_coordinates(1,1,number_of_tails+1), &
+                                trnpt_count_recv*tlength, MPI_REAL, pnorth, 1, &
+                                comm2d, status, ierr )
+
+!
+!--          Update the tail ids for the transferred particles
+             nn = number_of_tails
+             DO  n = number_of_particles+1, number_of_particles+trnp_count_recv
+                IF ( particles(n)%tail_id /= 0 )  THEN
+                   nn = nn + 1
+                   particles(n)%tail_id = nn
+                ENDIF
+             ENDDO
+
+          ENDIF
+
+          number_of_particles = number_of_particles + trnp_count_recv
+          number_of_tails     = number_of_tails     + trnpt_count_recv
+!       IF ( number_of_particles /= number_of_tails )  THEN
+!          WRITE (9,*) '--- advec_particles: #5'
+!          WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!          CALL local_flush( 9 )
+!       ENDIF
+
+!
+!--       Send back boundary, receive front boundary
+          CALL MPI_SENDRECV( trnp_count,      1, MPI_INTEGER, pnorth, 0, &
+                             trsp_count_recv, 1, MPI_INTEGER, psouth, 0, &
+                             comm2d, status, ierr )
+
+          IF ( number_of_particles + trsp_count_recv > &
+               maximum_number_of_particles )           &
+          THEN
+             IF ( netcdf_output )  THEN
+                message_string = 'maximum_number_of_particles ' //   &
+                                 'needs to be increased ' //         &
+                                 '&but this is not allowed with ' // &
+                                 'NetCDF output switched on'
+               CALL message( 'advec_particles', 'PA0146', 2, 2, -1, 6, 1 )  
+             ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_prt_memory trsp'
+!    CALL local_flush( 9 )
+                CALL allocate_prt_memory( trsp_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_prt_memory trsp'
+!    CALL local_flush( 9 )
+             ENDIF
+          ENDIF
+
+          CALL MPI_SENDRECV( trnp(1)%age, trnp_count, mpi_particle_type,      &
+                             pnorth, 1, particles(number_of_particles+1)%age, &
+                             trsp_count_recv, mpi_particle_type, psouth, 1,   &
+                             comm2d, status, ierr )
+
+          IF ( use_particle_tails )  THEN
+
+             CALL MPI_SENDRECV( trnpt_count,      1, MPI_INTEGER, pnorth, 0, &
+                                trspt_count_recv, 1, MPI_INTEGER, psouth, 0, &
+                                comm2d, status, ierr )
+
+             IF ( number_of_tails+trspt_count_recv > maximum_number_of_tails ) &
+             THEN
+                IF ( netcdf_output )  THEN
+                   message_string = 'maximum_number_of_tails ' //   &
+                                    'needs to be increased ' //     &
+                                    '&but this is not allowed wi'// &
+                                    'th NetCDF output switched on'
+                   CALL message( 'advec_particles', 'PA0147', 2, 2, -1, 6, 1 )
+                ELSE
+!    WRITE ( 9, * ) '*** advec_particles: before allocate_tail_memory trspt'
+!    CALL local_flush( 9 )
+                   CALL allocate_tail_memory( trspt_count_recv )
+!    WRITE ( 9, * ) '*** advec_particles: after allocate_tail_memory trspt'
+!    CALL local_flush( 9 )
+                ENDIF
+             ENDIF
+
+             CALL MPI_SENDRECV( trnpt(1,1,1), trnpt_count*tlength, MPI_REAL,   &
+                                pnorth, 1,                                     &
+                             particle_tail_coordinates(1,1,number_of_tails+1), &
+                                trspt_count_recv*tlength, MPI_REAL, psouth, 1, &
+                                comm2d, status, ierr )
+!
+!--          Update the tail ids for the transferred particles
+             nn = number_of_tails
+             DO  n = number_of_particles+1, number_of_particles+trsp_count_recv
+                IF ( particles(n)%tail_id /= 0 )  THEN
+                   nn = nn + 1
+                   particles(n)%tail_id = nn
+                ENDIF
+             ENDDO
+
+          ENDIF
+
+          number_of_particles = number_of_particles + trsp_count_recv
+          number_of_tails     = number_of_tails     + trspt_count_recv
+!       IF ( number_of_particles /= number_of_tails )  THEN
+!          WRITE (9,*) '--- advec_particles: #6'
+!          WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!          CALL local_flush( 9 )
+!       ENDIF
+
+          IF ( use_particle_tails )  THEN
+             DEALLOCATE( trspt, trnpt )
+          ENDIF
+          DEALLOCATE( trsp, trnp )
+
+          CALL cpu_log( log_point_s(23), 'sendrcv_particles', 'stop' )
+
+       ENDIF
+
+!    WRITE ( 9, * ) '*** advec_particles: ##6'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+#else
+
+!
+!--    Apply boundary conditions
+       DO  n = 1, number_of_particles
+
+          nn = particles(n)%tail_id
+
+          IF ( particles(n)%x < -0.5 * dx )  THEN
+
+             IF ( ibc_par_lr == 0 )  THEN
+!
+!--             Cyclic boundary. Relevant coordinate has to be changed.
+                particles(n)%x = ( nx + 1 ) * dx + particles(n)%x
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   i = particles(n)%tailpoints
+                   particle_tail_coordinates(1:i,1,nn) = ( nx + 1 ) * dx + &
+                                             particle_tail_coordinates(1:i,1,nn)
+                ENDIF
+             ELSEIF ( ibc_par_lr == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_lr == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%x       = -dx - particles(n)%x
+                particles(n)%speed_x = -particles(n)%speed_x
+             ENDIF
+
+          ELSEIF ( particles(n)%x >= ( nx + 0.5 ) * dx )  THEN
+
+             IF ( ibc_par_lr == 0 )  THEN
+!
+!--             Cyclic boundary. Relevant coordinate has to be changed.
+                particles(n)%x = particles(n)%x - ( nx + 1 ) * dx
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   i = particles(n)%tailpoints
+                   particle_tail_coordinates(1:i,1,nn) = - ( nx + 1 ) * dx + &
+                                             particle_tail_coordinates(1:i,1,nn)
+                ENDIF
+             ELSEIF ( ibc_par_lr == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_lr == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%x       = ( nx + 1 ) * dx - particles(n)%x
+                particles(n)%speed_x = -particles(n)%speed_x
+             ENDIF
+
+          ENDIF
+
+          IF ( particles(n)%y < -0.5 * dy )  THEN
+
+             IF ( ibc_par_ns == 0 )  THEN
+!
+!--             Cyclic boundary. Relevant coordinate has to be changed.
+                particles(n)%y = ( ny + 1 ) * dy + particles(n)%y
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   i = particles(n)%tailpoints
+                   particle_tail_coordinates(1:i,2,nn) = ( ny + 1 ) * dy + &
+                                             particle_tail_coordinates(1:i,2,nn)
+                ENDIF
+             ELSEIF ( ibc_par_ns == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_ns == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%y       = -dy - particles(n)%y
+                particles(n)%speed_y = -particles(n)%speed_y
+             ENDIF
+
+          ELSEIF ( particles(n)%y >= ( ny + 0.5 ) * dy )  THEN
+
+             IF ( ibc_par_ns == 0 )  THEN
+!
+!--             Cyclic boundary. Relevant coordinate has to be changed.
+                particles(n)%y = particles(n)%y - ( ny + 1 ) * dy
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   i = particles(n)%tailpoints
+                   particle_tail_coordinates(1:i,2,nn) = - ( ny + 1 ) * dy + &
+                                             particle_tail_coordinates(1:i,2,nn)
+                ENDIF
+             ELSEIF ( ibc_par_ns == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n) = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_ns == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%y       = ( ny + 1 ) * dy - particles(n)%y
+                particles(n)%speed_y = -particles(n)%speed_y
+             ENDIF
+
+          ENDIF
+       ENDDO
+
+#endif
+
+!
+!--    Apply boundary conditions to those particles that have crossed the top or
+!--    bottom boundary and delete those particles, which are older than allowed
+       DO  n = 1, number_of_particles
+
+          nn = particles(n)%tail_id
+
+!
+!--       Stop if particles have moved further than the length of one 
+!--       PE subdomain (newly released particles have age = age_m!)
+          IF ( particles(n)%age /= particles(n)%age_m )  THEN
+             IF ( ABS(particles(n)%speed_x) >                                  &
+                  ((nxr-nxl+2)*dx)/(particles(n)%age-particles(n)%age_m)  .OR. &
+                  ABS(particles(n)%speed_y) >                                  &
+                  ((nyn-nys+2)*dy)/(particles(n)%age-particles(n)%age_m) )  THEN
+
+                  WRITE( message_string, * )  'particle too fast.  n = ',  n 
+                  CALL message( 'advec_particles', 'PA0148', 2, 2, -1, 6, 1 )
+             ENDIF
+          ENDIF
+
+          IF ( particles(n)%age > particle_maximum_age  .AND.  &
+               particle_mask(n) )                              &
+          THEN
+             particle_mask(n)  = .FALSE.
+             deleted_particles = deleted_particles + 1
+             IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                tail_mask(nn) = .FALSE.
+                deleted_tails = deleted_tails + 1
+             ENDIF
+          ENDIF
+
+          IF ( particles(n)%z >= zu(nz)  .AND.  particle_mask(n) )  THEN
+             IF ( ibc_par_t == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n)  = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_t == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%z       = 2.0 * zu(nz) - particles(n)%z
+                particles(n)%speed_z = -particles(n)%speed_z
+                IF ( use_sgs_for_particles  .AND. &
+                     particles(n)%speed_z_sgs > 0.0 )  THEN
+                   particles(n)%speed_z_sgs = -particles(n)%speed_z_sgs
+                ENDIF
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   particle_tail_coordinates(1,3,nn) = 2.0 * zu(nz) - &
+                                               particle_tail_coordinates(1,3,nn)
+                ENDIF
+             ENDIF
+          ENDIF
+          IF ( particles(n)%z < zw(0)  .AND.  particle_mask(n) )  THEN
+             IF ( ibc_par_b == 1 )  THEN
+!
+!--             Particle absorption
+                particle_mask(n)  = .FALSE.
+                deleted_particles = deleted_particles + 1
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   tail_mask(nn) = .FALSE.
+                   deleted_tails = deleted_tails + 1
+                ENDIF
+             ELSEIF ( ibc_par_b == 2 )  THEN
+!
+!--             Particle reflection
+                particles(n)%z       = 2.0 * zw(0) - particles(n)%z
+                particles(n)%speed_z = -particles(n)%speed_z
+                IF ( use_sgs_for_particles  .AND. &
+                     particles(n)%speed_z_sgs < 0.0 )  THEN
+                   particles(n)%speed_z_sgs = -particles(n)%speed_z_sgs
+                ENDIF
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   particle_tail_coordinates(1,3,nn) = 2.0 * zu(nz) - &
+                                               particle_tail_coordinates(1,3,nn)
+                ENDIF
+                IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
+                   particle_tail_coordinates(1,3,nn) = 2.0 * zw(0) - &
+                                               particle_tail_coordinates(1,3,nn)
+                ENDIF
+             ENDIF
+          ENDIF
+       ENDDO
+
+!    WRITE ( 9, * ) '*** advec_particles: ##7'
+!    CALL local_flush( 9 )
+!    nd = 0
+!    DO  n = 1, number_of_particles
+!       IF ( .NOT. particle_mask(n) )  nd = nd + 1
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+!    IF ( nd /= deleted_particles ) THEN
+!       WRITE (9,*) '*** nd=',nd,' deleted_particles=',deleted_particles
+!       CALL local_flush( 9 )
+!       CALL MPI_ABORT( comm2d, 9999, ierr )
+!    ENDIF
+
+!
+!--    Pack particles (eliminate those marked for deletion),
+!--    determine new number of particles
+       IF ( number_of_particles > 0  .AND.  deleted_particles > 0 )  THEN
+          nn = 0
+          nd = 0
+          DO  n = 1, number_of_particles
+             IF ( particle_mask(n) )  THEN
+                nn = nn + 1
+                particles(nn) = particles(n)
+             ELSE
+                nd = nd + 1
+             ENDIF
+          ENDDO
+!       IF ( nd /= deleted_particles ) THEN
+!          WRITE (9,*) '*** advec_part nd=',nd,' deleted_particles=',deleted_particles
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+
+          number_of_particles = number_of_particles - deleted_particles
+!
+!--       Pack the tails, store the new tail ids and re-assign it to the
+!--       respective
+!--       particles
+          IF ( use_particle_tails )  THEN
+             nn = 0
+             nd = 0
+             DO  n = 1, number_of_tails
+                IF ( tail_mask(n) )  THEN
+                   nn = nn + 1
+                   particle_tail_coordinates(:,:,nn) = &
+                                                particle_tail_coordinates(:,:,n)
+                   new_tail_id(n) = nn
+                ELSE
+                   nd = nd + 1
+!                WRITE (9,*) '+++ n=',n,' (of ',number_of_tails,' #oftails)'
+!                WRITE (9,*) '    id=',new_tail_id(n)
+!                CALL local_flush( 9 )
+                ENDIF
+             ENDDO
+          ENDIF
+
+!       IF ( nd /= deleted_tails  .AND.  use_particle_tails ) THEN
+!          WRITE (9,*) '*** advec_part nd=',nd,' deleted_tails=',deleted_tails
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+
+          number_of_tails = number_of_tails - deleted_tails
+
+!     nn = 0
+          DO  n = 1, number_of_particles
+             IF ( particles(n)%tail_id /= 0 )  THEN
+!     nn = nn + 1
+!     IF (  particles(n)%tail_id<0 .OR. particles(n)%tail_id > number_of_tails )  THEN
+!        WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!        WRITE (9,*) '    tail_id=',particles(n)%tail_id
+!        WRITE (9,*) '    new_tail_id=', new_tail_id(particles(n)%tail_id), &
+!                         ' of (',number_of_tails,')'
+!        CALL local_flush( 9 )
+!     ENDIF
+                particles(n)%tail_id = new_tail_id(particles(n)%tail_id)
+             ENDIF
+          ENDDO
+
+!     IF ( nn /= number_of_tails  .AND.  use_particle_tails ) THEN
+!        WRITE (9,*) '*** advec_part #of_tails=',number_of_tails,' nn=',nn
+!        CALL local_flush( 9 )
+!        DO  n = 1, number_of_particles
+!           WRITE (9,*) 'prt# ',n,' tail_id=',particles(n)%tail_id, &
+!                       ' x=',particles(n)%x, ' y=',particles(n)%y, &
+!                       ' z=',particles(n)%z
+!        ENDDO
+!        CALL MPI_ABORT( comm2d, 9999, ierr )
+!     ENDIF
+
+       ENDIF
+
+!    IF ( number_of_particles /= number_of_tails )  THEN
+!       WRITE (9,*) '--- advec_particles: #7'
+!       WRITE (9,*) '    #of p=',number_of_particles,' #of t=',number_of_tails
+!       CALL local_flush( 9 )
+!    ENDIF
+!    WRITE ( 9, * ) '*** advec_particles: ##8'
+!    CALL local_flush( 9 )
+!    DO  n = 1, number_of_particles
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+
+!    WRITE ( 9, * ) '*** advec_particles: ##9'
+!    CALL local_flush( 9 )
+!    DO  n = 1, number_of_particles
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+
+!
+!--    Accumulate the number of particles transferred between the subdomains
+#if defined( __parallel )
+       trlp_count_sum      = trlp_count_sum      + trlp_count
+       trlp_count_recv_sum = trlp_count_recv_sum + trlp_count_recv
+       trrp_count_sum      = trrp_count_sum      + trrp_count
+       trrp_count_recv_sum = trrp_count_recv_sum + trrp_count_recv
+       trsp_count_sum      = trsp_count_sum      + trsp_count
+       trsp_count_recv_sum = trsp_count_recv_sum + trsp_count_recv
+       trnp_count_sum      = trnp_count_sum      + trnp_count
+       trnp_count_recv_sum = trnp_count_recv_sum + trnp_count_recv
+#endif
+
+       IF ( dt_3d_reached )  EXIT
+
+    ENDDO   ! timestep loop
+
+
+!
+!-- Sort particles in the sequence the gridboxes are stored in the memory
+    time_sort_particles = time_sort_particles + dt_3d
+    IF ( time_sort_particles >= dt_sort_particles )  THEN
+       CALL sort_particles
+       time_sort_particles = MOD( time_sort_particles, &
+                                  MAX( dt_sort_particles, dt_3d ) )
+    ENDIF
+
+
+!
+!-- Re-evaluate the weighting factors. After advection, particles within a
+!-- grid box may have different weighting factors if some have been advected
+!-- from a neighbouring box. The factors are re-evaluated so that they are
+!-- the same for all particles of one box. This procedure must conserve the
+!-- liquid water content within one box.
+    IF ( cloud_droplets )  THEN
+
+       CALL cpu_log( log_point_s(45), 'advec_part_reeval_we', 'start' )
+
+       ql = 0.0;  ql_v = 0.0;  ql_vp = 0.0
+
+!
+!--    Re-calculate the weighting factors and calculate the liquid water content
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb, nzt+1
+
+!
+!--             Calculate the total volume of particles in the boxes (ql_vp) as
+!--             well as the real volume (ql_v, weighting factor has to be
+!--             included)
+                psi = prt_start_index(k,j,i)
+                DO  n = psi, psi+prt_count(k,j,i)-1
+                   ql_vp(k,j,i) = ql_vp(k,j,i) + particles(n)%radius**3
+
+                   ql_v(k,j,i)  = ql_v(k,j,i)  + particles(n)%weight_factor * &
+                                                 particles(n)%radius**3
+                ENDDO
+
+!
+!--             Re-calculate the weighting factors and calculate the liquid
+!--             water content
+                IF ( ql_vp(k,j,i) /= 0.0 )  THEN
+                   ql_vp(k,j,i) = ql_v(k,j,i) / ql_vp(k,j,i)
+                   ql(k,j,i) = ql(k,j,i) + rho_l * 1.33333333 * pi * &
+                                           ql_v(k,j,i) /             &
+                                           ( rho_surface * dx * dy * dz )
+                ELSE
+                   ql(k,j,i) = 0.0
+                ENDIF
+
+!
+!--             Re-assign the weighting factor to the particles
+                DO  n = psi, psi+prt_count(k,j,i)-1
+                   particles(n)%weight_factor = ql_vp(k,j,i)
+                ENDDO
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point_s(45), 'advec_part_reeval_we', 'stop' )
+
+    ENDIF
+
+!
+!-- Set particle attributes
+    CALL set_particle_attributes
+
+!
+!-- Set particle attributes defined by the user
+    CALL user_particle_attributes
+!    WRITE ( 9, * ) '*** advec_particles: ##10'
+!    CALL local_flush( 9 )
+!    DO  n = 1, number_of_particles
+!       IF ( particles(n)%tail_id<0 .OR. particles(n)%tail_id>number_of_tails ) &
+!       THEN
+!          WRITE (9,*) '+++ n=',n,' (of ',number_of_particles,')'
+!          WRITE (9,*) '    id=',particles(n)%tail_id,' of (',number_of_tails,')'
+!          CALL local_flush( 9 )
+!          CALL MPI_ABORT( comm2d, 9999, ierr )
+!       ENDIF
+!    ENDDO
+
+!
+!-- If necessary, add the actual particle positions to the particle tails
+    IF ( use_particle_tails )  THEN
+
+       distance = 0.0
+       DO  n = 1, number_of_particles
+
+          nn = particles(n)%tail_id
+
+          IF ( nn /= 0 )  THEN
+!
+!--          Calculate the distance between the actual particle position and the
+!--          next tailpoint
+!             WRITE ( 9, * ) '*** advec_particles: ##10.1  nn=',nn
+!             CALL local_flush( 9 )
+             IF ( minimum_tailpoint_distance /= 0.0 )  THEN
+                distance = ( particle_tail_coordinates(1,1,nn) -      &
+                             particle_tail_coordinates(2,1,nn) )**2 + &
+                           ( particle_tail_coordinates(1,2,nn) -      &
+                             particle_tail_coordinates(2,2,nn) )**2 + &
+                           ( particle_tail_coordinates(1,3,nn) -      &
+                             particle_tail_coordinates(2,3,nn) )**2
+             ENDIF
+!             WRITE ( 9, * ) '*** advec_particles: ##10.2'
+!             CALL local_flush( 9 )
+!
+!--          First, increase the index of all existings tailpoints by one
+             IF ( distance >= minimum_tailpoint_distance )  THEN
+                DO i = particles(n)%tailpoints, 1, -1
+                   particle_tail_coordinates(i+1,:,nn) = &
+                                               particle_tail_coordinates(i,:,nn)
+                ENDDO
+!
+!--             Increase the counter which contains the number of tailpoints.
+!--             This must always be smaller than the given maximum number of
+!--             tailpoints because otherwise the index bounds of
+!--             particle_tail_coordinates would be exceeded
+                IF ( particles(n)%tailpoints < maximum_number_of_tailpoints-1 )&
+                THEN
+                   particles(n)%tailpoints = particles(n)%tailpoints + 1
+                ENDIF
+             ENDIF
+!             WRITE ( 9, * ) '*** advec_particles: ##10.3'
+!             CALL local_flush( 9 )
+!
+!--          In any case, store the new point at the beginning of the tail
+             particle_tail_coordinates(1,1,nn) = particles(n)%x
+             particle_tail_coordinates(1,2,nn) = particles(n)%y
+             particle_tail_coordinates(1,3,nn) = particles(n)%z
+             particle_tail_coordinates(1,4,nn) = particles(n)%color
+!             WRITE ( 9, * ) '*** advec_particles: ##10.4'
+!             CALL local_flush( 9 )
+!
+!--          Increase the age of the tailpoints
+             IF ( minimum_tailpoint_distance /= 0.0 )  THEN
+                particle_tail_coordinates(2:particles(n)%tailpoints,5,nn) =    &
+                   particle_tail_coordinates(2:particles(n)%tailpoints,5,nn) + &
+                   dt_3d
+!
+!--             Delete the last tailpoint, if it has exceeded its maximum age
+                IF ( particle_tail_coordinates(particles(n)%tailpoints,5,nn) > &
+                     maximum_tailpoint_age )  THEN
+                   particles(n)%tailpoints = particles(n)%tailpoints - 1
+                ENDIF
+             ENDIF
+!             WRITE ( 9, * ) '*** advec_particles: ##10.5'
+!             CALL local_flush( 9 )
+
+          ENDIF
+
+       ENDDO
+
+    ENDIF
+!    WRITE ( 9, * ) '*** advec_particles: ##11'
+!    CALL local_flush( 9 )
+
+!
+!-- Write particle statistics on file
+    IF ( write_particle_statistics )  THEN
+       CALL check_open( 80 )
+#if defined( __parallel )
+       WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
+                           number_of_particles, pleft, trlp_count_sum,      &
+                           trlp_count_recv_sum, pright, trrp_count_sum,     &
+                           trrp_count_recv_sum, psouth, trsp_count_sum,     &
+                           trsp_count_recv_sum, pnorth, trnp_count_sum,     &
+                           trnp_count_recv_sum, maximum_number_of_particles
+       CALL close_file( 80 )
+#else
+       WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
+                           number_of_particles, maximum_number_of_particles
+#endif
+    ENDIF
+
+    CALL cpu_log( log_point(25), 'advec_particles', 'stop' )
+
+!
+!-- Formats
+8000 FORMAT (I6,1X,F7.2,4X,I6,5X,4(I3,1X,I4,'/',I4,2X),6X,I6)
+
+ END SUBROUTINE advec_particles
+
+
+ SUBROUTINE allocate_prt_memory( number_of_new_particles )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Extend particle memory
+!------------------------------------------------------------------------------!
+
+    USE particle_attributes
+
+    IMPLICIT NONE
+
+    INTEGER ::  new_maximum_number, number_of_new_particles
+
+    LOGICAL, DIMENSION(:), ALLOCATABLE ::  tmp_particle_mask
+
+    TYPE(particle_type), DIMENSION(:), ALLOCATABLE ::  tmp_particles
+
+
+    new_maximum_number = maximum_number_of_particles + &
+                   MAX( 5*number_of_new_particles, number_of_initial_particles )
+
+    IF ( write_particle_statistics )  THEN
+       CALL check_open( 80 )
+       WRITE ( 80, '(''*** Request: '', I7, '' new_maximum_number(prt)'')' ) &
+                            new_maximum_number
+       CALL close_file( 80 )
+    ENDIF
+
+    ALLOCATE( tmp_particles(maximum_number_of_particles), &
+              tmp_particle_mask(maximum_number_of_particles) )
+    tmp_particles     = particles
+    tmp_particle_mask = particle_mask
+
+    DEALLOCATE( particles, particle_mask )
+    ALLOCATE( particles(new_maximum_number), &
+              particle_mask(new_maximum_number) )
+    maximum_number_of_particles = new_maximum_number
+
+    particles(1:number_of_particles) = tmp_particles(1:number_of_particles)
+    particle_mask(1:number_of_particles) = &
+                                  tmp_particle_mask(1:number_of_particles)
+    particle_mask(number_of_particles+1:maximum_number_of_particles) = .TRUE.
+    DEALLOCATE( tmp_particles, tmp_particle_mask )
+
+ END SUBROUTINE allocate_prt_memory
+
+
+ SUBROUTINE allocate_tail_memory( number_of_new_tails )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Extend tail memory
+!------------------------------------------------------------------------------!
+
+    USE particle_attributes
+
+    IMPLICIT NONE
+
+    INTEGER ::  new_maximum_number, number_of_new_tails
+
+    LOGICAL, DIMENSION(maximum_number_of_tails) ::  tmp_tail_mask
+
+    REAL, DIMENSION(maximum_number_of_tailpoints,5,maximum_number_of_tails) :: &
+                                                    tmp_tail
+
+
+    new_maximum_number = maximum_number_of_tails + &
+                         MAX( 5*number_of_new_tails, number_of_initial_tails )
+
+    IF ( write_particle_statistics )  THEN
+       CALL check_open( 80 )
+       WRITE ( 80, '(''*** Request: '', I5, '' new_maximum_number(tails)'')' ) &
+                            new_maximum_number
+       CALL close_file( 80 )
+    ENDIF
+    WRITE (9,*) '*** Request: ',new_maximum_number,' new_maximum_number(tails)'
+!    CALL local_flush( 9 )
+
+    tmp_tail(:,:,1:number_of_tails)  = &
+                                particle_tail_coordinates(:,:,1:number_of_tails)
+    tmp_tail_mask(1:number_of_tails) = tail_mask(1:number_of_tails)
+
+    DEALLOCATE( new_tail_id, particle_tail_coordinates, tail_mask )
+    ALLOCATE( new_tail_id(new_maximum_number),                          &
+              particle_tail_coordinates(maximum_number_of_tailpoints,5, &
+              new_maximum_number),                                      &
+              tail_mask(new_maximum_number) )
+    maximum_number_of_tails = new_maximum_number
+
+    particle_tail_coordinates = 0.0
+    particle_tail_coordinates(:,:,1:number_of_tails) = &
+                                                 tmp_tail(:,:,1:number_of_tails)
+    tail_mask(1:number_of_tails) = tmp_tail_mask(1:number_of_tails)
+    tail_mask(number_of_tails+1:maximum_number_of_tails) = .TRUE.
+
+ END SUBROUTINE allocate_tail_memory
+
+
+ SUBROUTINE output_particles_netcdf
+#if defined( __netcdf )
+
+    USE control_parameters
+    USE netcdf_control
+    USE particle_attributes
+
+    IMPLICIT NONE
+
+
+    CALL check_open( 108 )
+
+!
+!-- Update the NetCDF time axis
+    prt_time_count = prt_time_count + 1
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_time_prt, (/ simulated_time /), &
+                            start = (/ prt_time_count /), count = (/ 1 /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 1 )
+
+!
+!-- Output the real number of particles used
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_rnop_prt, &
+                            (/ number_of_particles /),   &
+                            start = (/ prt_time_count /), count = (/ 1 /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 2 )
+
+!
+!-- Output all particle attributes
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(1), particles%age,         &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 3 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(2), particles%dvrp_psize,  &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 4 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(3), particles%origin_x,    &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 5 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(4), particles%origin_y,    &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 6 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(5), particles%origin_z,    &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 7 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(6), particles%radius,      &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 8 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(7), particles%speed_x,     &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 9 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(8), particles%speed_y,     &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 10 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(9), particles%speed_z,     &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 11 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt,id_var_prt(10),particles%weight_factor,&
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 12 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(11), particles%x,          &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 13 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(12), particles%y,          & 
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 14 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(13), particles%z,          &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 15 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(14), particles%color,      &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 16 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(15), particles%group,      &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 17 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(16), particles%tailpoints, &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 18 )
+
+    nc_stat = NF90_PUT_VAR( id_set_prt, id_var_prt(17), particles%tail_id,    &
+                            start = (/ 1, prt_time_count /),                  &
+                            count = (/ maximum_number_of_particles /) )
+    CALL handle_netcdf_error( 'output_particles_netcdf', 19 )
+
+#endif
+ END SUBROUTINE output_particles_netcdf
+
+
+ SUBROUTINE write_particles
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Write particle data on restart file
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  particle_binary_version
+
+!
+!-- First open the output unit.
+    IF ( myid_char == '' )  THEN
+       OPEN ( 90, FILE='PARTICLE_RESTART_DATA_OUT'//myid_char, &
+                  FORM='UNFORMATTED')
+    ELSE
+       IF ( myid == 0 )  CALL local_system( 'mkdir PARTICLE_RESTART_DATA_OUT' )
+#if defined( __parallel )
+!
+!--    Set a barrier in order to allow that thereafter all other processors
+!--    in the directory created by PE0 can open their file
+       CALL MPI_BARRIER( comm2d, ierr )
+#endif
+       OPEN ( 90, FILE='PARTICLE_RESTART_DATA_OUT/'//myid_char, &
+                  FORM='UNFORMATTED' )
+    ENDIF
+
+!
+!-- Write the version number of the binary format.
+!-- Attention: After changes to the following output commands the version
+!-- ---------  number of the variable particle_binary_version must be changed!
+!--            Also, the version number and the list of arrays to be read in
+!--            init_particles must be adjusted accordingly.
+    particle_binary_version = '3.0'
+    WRITE ( 90 )  particle_binary_version
+
+!
+!-- Write some particle parameters, the size of the particle arrays as well as
+!-- other dvrp-plot variables.
+    WRITE ( 90 )  bc_par_b, bc_par_lr, bc_par_ns, bc_par_t,                    &
+                  maximum_number_of_particles, maximum_number_of_tailpoints,   &
+                  maximum_number_of_tails, number_of_initial_particles,        &
+                  number_of_particles, number_of_particle_groups,              &
+                  number_of_tails, particle_groups, time_prel,                 &
+                  time_write_particle_data, uniform_particles
+
+    IF ( number_of_initial_particles /= 0 )  WRITE ( 90 )  initial_particles
+
+    WRITE ( 90 )  prt_count, prt_start_index
+    WRITE ( 90 )  particles
+
+    IF ( use_particle_tails )  THEN
+       WRITE ( 90 )  particle_tail_coordinates
+    ENDIF
+
+    CLOSE ( 90 )
+
+ END SUBROUTINE write_particles
+
+
+ SUBROUTINE collision_efficiency( mean_r, r, e)
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Interpolate collision efficiency from table
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    INTEGER       ::  i, j, k
+
+    LOGICAL, SAVE ::  first = .TRUE.
+
+    REAL          ::  aa, bb, cc, dd, dx, dy, e, gg, mean_r, mean_rm, r, rm, &
+                      x, y
+
+    REAL, DIMENSION(1:9), SAVE      ::  collected_r = 0.0
+    REAL, DIMENSION(1:19), SAVE     ::  collector_r = 0.0
+    REAL, DIMENSION(1:9,1:19), SAVE ::  ef = 0.0
+
+    mean_rm = mean_r * 1.0E06
+    rm      = r      * 1.0E06
+
+    IF ( first )  THEN
+       collected_r = (/ 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 15.0, 20.0, 25.0 /)
+       collector_r = (/ 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 150.0,&
+                        200.0, 300.0, 400.0, 500.0, 600.0, 1000.0, 1400.0,     &
+                        1800.0, 2400.0, 3000.0 /)
+       ef(:,1) = (/0.017, 0.027, 0.037, 0.052, 0.052, 0.052, 0.052, 0.0,  0.0 /)
+       ef(:,2) = (/0.001, 0.016, 0.027, 0.060, 0.12,  0.17,  0.17,  0.17, 0.0 /)
+       ef(:,3) = (/0.001, 0.001, 0.02,  0.13,  0.28,  0.37,  0.54,  0.55, 0.47/)
+       ef(:,4) = (/0.001, 0.001, 0.02,  0.23,  0.4,   0.55,  0.7,   0.75, 0.75/)
+       ef(:,5) = (/0.01,  0.01,  0.03,  0.3,   0.4,   0.58,  0.73,  0.75, 0.79/)
+       ef(:,6) = (/0.01,  0.01,  0.13,  0.38,  0.57,  0.68,  0.80,  0.86, 0.91/)
+       ef(:,7) = (/0.01,  0.085, 0.23,  0.52,  0.68,  0.76,  0.86,  0.92, 0.95/)
+       ef(:,8) = (/0.01,  0.14,  0.32,  0.60,  0.73,  0.81,  0.90,  0.94, 0.96/)
+       ef(:,9) = (/0.025, 0.25,  0.43,  0.66,  0.78,  0.83,  0.92,  0.95, 0.96/)
+       ef(:,10)= (/0.039, 0.3,   0.46,  0.69,  0.81,  0.87,  0.93,  0.95, 0.96/)
+       ef(:,11)= (/0.095, 0.33,  0.51,  0.72,  0.82,  0.87,  0.93,  0.96, 0.97/)
+       ef(:,12)= (/0.098, 0.36,  0.51,  0.73,  0.83,  0.88,  0.93,  0.96, 0.97/)
+       ef(:,13)= (/0.1,   0.36,  0.52,  0.74,  0.83,  0.88,  0.93,  0.96, 0.97/)
+       ef(:,14)= (/0.17,  0.4,   0.54,  0.72,  0.83,  0.88,  0.94,  0.98, 1.0 /)
+       ef(:,15)= (/0.15,  0.37,  0.52,  0.74,  0.82,  0.88,  0.94,  0.98, 1.0 /)
+       ef(:,16)= (/0.11,  0.34,  0.49,  0.71,  0.83,  0.88,  0.94,  0.95, 1.0 /)
+       ef(:,17)= (/0.08,  0.29,  0.45,  0.68,  0.8,   0.86,  0.96,  0.94, 1.0 /)
+       ef(:,18)= (/0.04,  0.22,  0.39,  0.62,  0.75,  0.83,  0.92,  0.96, 1.0 /)
+       ef(:,19)= (/0.02,  0.16,  0.33,  0.55,  0.71,  0.81,  0.90,  0.94, 1.0 /)
+    ENDIF
+
+    DO  k = 1, 8
+       IF ( collected_r(k) <= mean_rm )  i = k
+    ENDDO
+
+    DO  k = 1, 18
+       IF ( collector_r(k) <= rm )  j = k
+    ENDDO
+
+    IF ( rm < 10.0 )  THEN
+       e = 0.0
+    ELSEIF ( mean_rm < 2.0 )  THEN
+       e = 0.001
+    ELSEIF ( mean_rm >= 25.0 )  THEN
+       IF( j <= 3 )  e = 0.55
+       IF( j == 4 )  e = 0.8
+       IF( j == 5 )  e = 0.9
+       IF( j >=6  )  e = 1.0
+    ELSEIF ( rm >= 3000.0 )  THEN
+       e = 1.0
+    ELSE
+       x  = mean_rm - collected_r(i)
+       y  = rm - collected_r(j)
+       dx = collected_r(i+1) - collected_r(i) 
+       dy = collector_r(j+1) - collector_r(j) 
+       aa = x**2 + y**2
+       bb = ( dx - x )**2 + y**2
+       cc = x**2 + ( dy - y )**2
+       dd = ( dx - x )**2 + ( dy - y )**2
+       gg = aa + bb + cc + dd
+
+       e = ( (gg-aa)*ef(i,j) + (gg-bb)*ef(i+1,j) + (gg-cc)*ef(i,j+1) + &
+             (gg-dd)*ef(i+1,j+1) ) / (3.0*gg)
+    ENDIF
+
+ END SUBROUTINE collision_efficiency 
+
+
+
+ SUBROUTINE sort_particles
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Sort particles in the sequence the grid boxes are stored in memory
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE particle_attributes
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ilow, j, k, n
+
+    TYPE(particle_type), DIMENSION(1:number_of_particles) ::  particles_temp
+
+
+    CALL cpu_log( log_point_s(47), 'sort_particles', 'start' )
+
+!
+!-- Initialize the array used for counting and indexing the particles
+    prt_count = 0
+
+!
+!-- Count the particles per gridbox
+    DO  n = 1, number_of_particles
+
+       i = ( particles(n)%x + 0.5 * dx ) * ddx
+       j = ( particles(n)%y + 0.5 * dy ) * ddy
+       k = particles(n)%z / dz + 1 + offset_ocean_nzt
+           ! only exact if equidistant
+
+       prt_count(k,j,i) = prt_count(k,j,i) + 1
+
+       IF ( i < nxl .OR. i > nxr .OR. j < nys .OR. j > nyn .OR. k < nzb+1 .OR. &
+            k > nzt )  THEN
+          WRITE( message_string, * ) ' particle out of range: i=', i, ' j=', &
+                          j, ' k=', k,                                       &
+                          ' &nxl=', nxl, ' nxr=', nxr,                       &
+                          ' nys=', nys, ' nyn=', nyn,                        &
+                          ' nzb=', nzb, ' nzt=', nzt
+         CALL message( 'sort_particles', 'PA0149', 1, 2, 0, 6, 0 ) 
+       ENDIF
+
+    ENDDO
+
+!
+!-- Calculate the lower indices of those ranges of the particles-array
+!-- containing particles which belong to the same gridpox i,j,k
+    ilow = 1
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             prt_start_index(k,j,i) = ilow
+             ilow = ilow + prt_count(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Sorting the particles
+    DO  n = 1, number_of_particles
+
+       i = ( particles(n)%x + 0.5 * dx ) * ddx
+       j = ( particles(n)%y + 0.5 * dy ) * ddy
+       k = particles(n)%z / dz + 1 + offset_ocean_nzt
+           ! only exact if equidistant
+
+       particles_temp(prt_start_index(k,j,i)) = particles(n)
+
+       prt_start_index(k,j,i) = prt_start_index(k,j,i) + 1
+
+    ENDDO
+
+    particles(1:number_of_particles) = particles_temp
+
+!
+!-- Reset the index array to the actual start position
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             prt_start_index(k,j,i) = prt_start_index(k,j,i) - prt_count(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+    CALL cpu_log( log_point_s(47), 'sort_particles', 'stop' )
+
+ END SUBROUTINE sort_particles
Index: palm/tags/release-3.7/SOURCE/advec_s_bc.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_s_bc.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_s_bc.f90	(revision 393)
@@ -0,0 +1,1138 @@
+ SUBROUTINE advec_s_bc( sk, sk_char )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 247 2009-02-27 14:01:30Z heinze
+! Output of messages replaced by message handling routine
+!
+! 216 2008-11-25 07:12:43Z raasch
+! Neumann boundary condition at k=nzb is explicitly set for better reading,
+! although this has been already done in boundary_conds
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Advection of salinity included
+! Bugfix: Error in boundary condition for TKE removed
+!
+! 63 2007-03-13 03:52:49Z raasch
+! Calculation extended for gridpoint nzt
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.22  2006/02/23 09:42:08  raasch
+! anz renamed ngp
+!
+! Revision 1.1  1997/08/29 08:53:46  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for scalar quantities using the Bott-Chlond scheme.
+! Computation in individual steps for each of the three dimensions.
+! Limiting assumptions:
+! So far the scheme has been assuming equidistant grid spacing. As this is not
+! the case in the stretched portion of the z-direction, there dzw(k) is used as
+! a substitute for a constant grid length. This certainly causes incorrect
+! results; however, it is hoped that they are not too apparent for weakly 
+! stretched grids.
+! NOTE: This is a provisional, non-optimised version!
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  sk_char
+
+    INTEGER ::  i, ix, j, k, ngp, sr, type_xz_2
+
+    REAL ::  cim, cimf, cip, cipf, d_new, ffmax, fminus, fplus, f2, f4, f8, &
+             f12, f24, f48, f1920, im, ip, m2, m3, nenner, snenn, sterm,    &
+             tendenz, t1, t2, zaehler
+    REAL ::  fmax(2), fmax_l(2)
+    REAL, DIMENSION(:,:,:), POINTER ::  sk
+
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  a0, a1, a12, a2, a22, immb, imme,  &
+                                          impb, impe, ipmb, ipme, ippb, ippe
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  sk_p
+
+#if defined( __nec )
+    REAL (kind=4) ::  m1n, m1z  !Wichtig: Division
+    REAL (kind=4), DIMENSION(:,:), ALLOCATABLE :: m1, sw
+#else
+    REAL ::  m1n, m1z
+    REAL, DIMENSION(:,:), ALLOCATABLE :: m1, sw
+#endif
+
+
+!
+!-- Array sk_p requires 2 extra elements for each dimension
+    ALLOCATE( sk_p(nzb-2:nzt+3,nys-3:nyn+3,nxl-3:nxr+3) )
+    sk_p = 0.0
+
+!
+!-- Assign reciprocal values in order to avoid divisions later
+    f2    = 0.5
+    f4    = 0.25
+    f8    = 0.125
+    f12   = 0.8333333333333333E-01
+    f24   = 0.4166666666666666E-01
+    f48   = 0.2083333333333333E-01
+    f1920 = 0.5208333333333333E-03
+
+!
+!-- Advection in x-direction:
+
+!
+!-- Save the quantity to be advected in a local array
+!-- add an enlarged boundary in x-direction
+    DO  i = nxl-1, nxr+1
+       DO  j = nys, nyn
+          DO  k = nzb, nzt+1
+             sk_p(k,j,i) = sk(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+#if defined( __parallel )
+    ngp = 2 * ( nzt - nzb + 6 ) * ( nyn - nys + 7 )
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'start' )
+!
+!-- Send left boundary, receive right boundary
+    CALL MPI_SENDRECV( sk_p(nzb-2,nys-3,nxl+1), ngp, MPI_REAL, pleft,  0, &
+                       sk_p(nzb-2,nys-3,nxr+2), ngp, MPI_REAL, pright, 0, &
+                       comm2d, status, ierr )
+!
+!-- Send right boundary, receive left boundary
+    CALL MPI_SENDRECV( sk_p(nzb-2,nys-3,nxr-2), ngp, MPI_REAL, pright, 1, &
+                       sk_p(nzb-2,nys-3,nxl-3), ngp, MPI_REAL, pleft,  1, &
+                       comm2d, status, ierr )
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'pause' )
+#else
+
+!
+!-- Cyclic boundary conditions
+    sk_p(:,nys:nyn,nxl-3) = sk_p(:,nys:nyn,nxr-2)
+    sk_p(:,nys:nyn,nxl-2) = sk_p(:,nys:nyn,nxr-1)
+    sk_p(:,nys:nyn,nxr+2) = sk_p(:,nys:nyn,nxl+1)
+    sk_p(:,nys:nyn,nxr+3) = sk_p(:,nys:nyn,nxl+2)
+#endif
+
+!
+!-- In case of a sloping surface, the additional gridpoints in x-direction
+!-- of the temperature field at the left and right boundary of the total
+!-- domain must be adjusted by the temperature difference between this distance
+    IF ( sloping_surface  .AND.  sk_char == 'pt' )  THEN
+       IF ( nxl ==  0 )  THEN
+          sk_p(:,nys:nyn,nxl-3) = sk_p(:,nys:nyn,nxl-3) - pt_slope_offset
+          sk_p(:,nys:nyn,nxl-2) = sk_p(:,nys:nyn,nxl-2) - pt_slope_offset
+       ENDIF
+       IF ( nxr == nx )  THEN
+          sk_p(:,nys:nyn,nxr+2) = sk_p(:,nys:nyn,nxr+2) + pt_slope_offset
+          sk_p(:,nys:nyn,nxr+3) = sk_p(:,nys:nyn,nxr+3) + pt_slope_offset
+       ENDIF
+    ENDIF
+
+!
+!-- Initialise control density
+    d = 0.0
+
+!
+!-- Determine maxima of the first and second derivative in x-direction
+    fmax_l = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             zaehler = ABS( sk_p(k,j,i+1) - 2.0 * sk_p(k,j,i) + sk_p(k,j,i-1) )
+             nenner  = ABS( sk_p(k,j,i+1) - sk_p(k,j,i-1) )
+             fmax_l(1) = MAX( fmax_l(1) , zaehler )
+             fmax_l(2) = MAX( fmax_l(2) , nenner  )
+          ENDDO
+       ENDDO
+    ENDDO
+#if defined( __parallel )
+    CALL MPI_ALLREDUCE( fmax_l, fmax, 2, MPI_REAL, MPI_MAX, comm2d, ierr )
+#else
+    fmax = fmax_l
+#endif
+
+    fmax = 0.04 * fmax
+
+!
+!-- Allocate temporary arrays
+    ALLOCATE( a0(nzb+1:nzt,nxl-1:nxr+1),   a1(nzb+1:nzt,nxl-1:nxr+1),   &
+              a2(nzb+1:nzt,nxl-1:nxr+1),   a12(nzb+1:nzt,nxl-1:nxr+1),  &
+              a22(nzb+1:nzt,nxl-1:nxr+1),  immb(nzb+1:nzt,nxl-1:nxr+1), &
+              imme(nzb+1:nzt,nxl-1:nxr+1), impb(nzb+1:nzt,nxl-1:nxr+1), &
+              impe(nzb+1:nzt,nxl-1:nxr+1), ipmb(nzb+1:nzt,nxl-1:nxr+1), &
+              ipme(nzb+1:nzt,nxl-1:nxr+1), ippb(nzb+1:nzt,nxl-1:nxr+1), &
+              ippe(nzb+1:nzt,nxl-1:nxr+1), m1(nzb+1:nzt,nxl-2:nxr+2),   &
+              sw(nzb+1:nzt,nxl-1:nxr+1)                                 &
+            )
+    imme = 0.0; impe = 0.0; ipme = 0.0; ippe = 0.0
+
+!
+!-- Initialise point of time measuring of the exponential portion (this would
+!-- not work if done locally within the loop)
+    CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'start' )
+    CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'pause' )
+
+!
+!-- Outer loop of all j
+    DO  j = nys, nyn
+
+!
+!--    Compute polynomial coefficients
+       DO  i = nxl-1, nxr+1
+          DO  k = nzb+1, nzt
+             a12(k,i) = 0.5 * ( sk_p(k,j,i+1) - sk_p(k,j,i-1) )
+             a22(k,i) = 0.5 * ( sk_p(k,j,i+1) - 2.0 * sk_p(k,j,i) &
+                                              + sk_p(k,j,i-1) )
+             a0(k,i) = ( 9.0 * sk_p(k,j,i+2) - 116.0 * sk_p(k,j,i+1)    &
+                         + 2134.0 * sk_p(k,j,i) - 116.0 * sk_p(k,j,i-1) &
+                         + 9.0 * sk_p(k,j,i-2) ) * f1920
+             a1(k,i) = ( -5.0 * sk_p(k,j,i+2) + 34.0 * sk_p(k,j,i+1)  &
+                         - 34.0 * sk_p(k,j,i-1) + 5.0 * sk_p(k,j,i-2) &
+                       ) * f48
+             a2(k,i) = ( -3.0 * sk_p(k,j,i+2) + 36.0 * sk_p(k,j,i+1) &
+                         - 66.0 * sk_p(k,j,i) + 36.0 * sk_p(k,j,i-1) &
+                         - 3.0 * sk_p(k,j,i-2) ) * f48
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using the Bott scheme
+!--    *VOCL LOOP,UNROLL(2)
+       DO  i = nxl, nxr
+          DO  k = nzb+1, nzt
+             cip  =  MAX( 0.0, ( u(k,j,i+1) - u_gtrans ) * dt_3d * ddx )
+             cim  = -MIN( 0.0, ( u(k,j,i+1) - u_gtrans ) * dt_3d * ddx )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k,i)   * f2  * ( 1.0 - cipf )             &
+                    + a1(k,i)   * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k,i)   * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k,i+1) * f2  * ( 1.0 - cimf )             &
+                    - a1(k,i+1) * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k,i+1) * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ippb(k,i) = ip * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+             impb(k,i) = im * MIN( 1.0, sk_p(k,j,i+1) / (ip+im+1E-15) )
+
+             cip  =  MAX( 0.0, ( u(k,j,i) - u_gtrans ) * dt_3d * ddx )
+             cim  = -MIN( 0.0, ( u(k,j,i) - u_gtrans ) * dt_3d * ddx )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k,i-1) * f2  * ( 1.0 - cipf )             &
+                    + a1(k,i-1) * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k,i-1) * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k,i)   * f2  * ( 1.0 - cimf )             &
+                    - a1(k,i)   * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k,i)   * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ipmb(k,i) = ip * MIN( 1.0, sk_p(k,j,i-1) / (ip+im+1E-15) )
+             immb(k,i) = im * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+          ENDDO
+       ENDDO
+
+!
+!--    Compute monitor function m1
+       DO  i = nxl-2, nxr+2
+          DO  k = nzb+1, nzt
+             m1z = ABS( sk_p(k,j,i+1) - 2.0 * sk_p(k,j,i) + sk_p(k,j,i-1) )
+             m1n = ABS( sk_p(k,j,i+1) - sk_p(k,j,i-1) )
+             IF ( m1n /= 0.0  .AND.  m1n >= m1z )  THEN
+                m1(k,i) = m1z / m1n
+                IF ( m1(k,i) /= 2.0  .AND.  m1n < fmax(2) )  m1(k,i) = 0.0
+             ELSEIF ( m1n < m1z )  THEN
+                m1(k,i) = -1.0
+             ELSE
+                m1(k,i) = 0.0
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Compute switch sw
+       sw = 0.0
+       DO  i = nxl-1, nxr+1
+          DO  k = nzb+1, nzt
+             m2 = 2.0 * ABS( a1(k,i) - a12(k,i) ) / &
+                  MAX( ABS( a1(k,i) + a12(k,i) ), 1E-35 )
+             IF ( ABS( a1(k,i) + a12(k,i) ) < fmax(2) )  m2 = 0.0
+
+             m3 = 2.0 * ABS( a2(k,i) - a22(k,i) ) / &
+                  MAX( ABS( a2(k,i) + a22(k,i) ), 1E-35 )
+             IF ( ABS( a2(k,i) + a22(k,i) ) < fmax(1) )  m3 = 0.0
+
+             t1 = 0.35
+             t2 = 0.35
+             IF ( m1(k,i) == -1.0 )  t2 = 0.12
+
+!--          *VOCL STMT,IF(10)
+             IF ( m1(k,i-1) == 1.0 .OR. m1(k,i) == 1.0 .OR. m1(k,i+1) == 1.0 &
+                  .OR.  m2 > t2  .OR.  m3 > T2  .OR.                         &
+                  ( m1(k,i) > t1  .AND.  m1(k,i-1) /= -1.0  .AND.            &
+                    m1(k,i) /= -1.0  .AND.  m1(k,i+1) /= -1.0 )              &
+                )  sw(k,i) = 1.0
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using the exponential scheme
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'continue' )
+       DO  i = nxl, nxr
+          DO  k = nzb+1, nzt
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,i) == 1.0 )  THEN
+                snenn = sk_p(k,j,i+1) - sk_p(k,j,i-1)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k,j,i-1) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip =  MAX( 0.0, ( u(k,j,i+1) - u_gtrans ) * dt_3d * ddx )
+
+                ippe(k,i) = sk_p(k,j,i-1) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ippe(k,i) = sk_p(k,j,i) * cip
+                IF ( sterm == 0.9999 )  ippe(k,i) = sk_p(k,j,i) * cip
+
+                snenn = sk_p(k,j,i-1) - sk_p(k,j,i+1)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k,j,i+1) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, ( u(k,j,i) - u_gtrans ) * dt_3d * ddx )
+
+                imme(k,i) = sk_p(k,j,i+1) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  imme(k,i) = sk_p(k,j,i) * cim
+                IF ( sterm == 0.9999 )  imme(k,i) = sk_p(k,j,i) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,i+1) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k,j,i+2)
+                IF ( ABS( snenn ) .LT. 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i+1) - sk_p(k,j,i+2) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, ( u(k,j,i+1) - u_gtrans ) * dt_3d * ddx )
+
+                impe(k,i) = sk_p(k,j,i+2) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  impe(k,i) = sk_p(k,j,i+1) * cim
+                IF ( sterm == 0.9999 )  impe(k,i) = sk_p(k,j,i+1) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,i-1) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k,j,i-2)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i-1) - sk_p(k,j,i-2) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip = MAX( 0.0, ( u(k,j,i) - u_gtrans ) * dt_3d * ddx )
+
+                ipme(k,i) = sk_p(k,j,i-2) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ipme(k,i) = sk_p(k,j,i-1) * cip
+                IF ( sterm == 0.9999 )  ipme(k,i) = sk_p(k,j,i-1) * cip
+             ENDIF
+
+          ENDDO
+       ENDDO
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'pause' )
+
+!
+!--    Prognostic equation
+       DO  i = nxl, nxr
+          DO  k = nzb+1, nzt
+             fplus  = ( 1.0 - sw(k,i)   ) * ippb(k,i) + sw(k,i)   * ippe(k,i) &
+                    - ( 1.0 - sw(k,i+1) ) * impb(k,i) - sw(k,i+1) * impe(k,i)
+             fminus = ( 1.0 - sw(k,i-1) ) * ipmb(k,i) + sw(k,i-1) * ipme(k,i) &
+                    - ( 1.0 - sw(k,i)   ) * immb(k,i) - sw(k,i)   * imme(k,i)
+             tendenz = fplus - fminus
+!
+!--           Removed in order to optimize speed
+!             ffmax   = MAX( ABS( fplus ), ABS( fminus ), 1E-35 )
+!             IF ( ( ABS( tendenz ) / ffmax ) < 1E-7 )  tendenz = 0.0
+!
+!--          Density correction because of possible remaining divergences
+             d_new = d(k,j,i) - ( u(k,j,i+1) - u(k,j,i) ) * dt_3d * ddx
+             sk_p(k,j,i) = ( ( 1.0 + d(k,j,i) ) * sk_p(k,j,i) - tendenz ) / &
+                           ( 1.0 + d_new )
+             d(k,j,i)  = d_new
+          ENDDO
+       ENDDO
+
+    ENDDO   ! End of the advection in x-direction
+
+!
+!-- Deallocate temporary arrays
+    DEALLOCATE( a0, a1, a2, a12, a22, immb, imme, impb, impe, ipmb, ipme, &
+                ippb, ippe, m1, sw )
+
+
+!
+!-- Enlarge boundary of local array cyclically in y-direction
+#if defined( __parallel )
+    ngp = ( nzt - nzb + 6 ) * ( nyn - nys + 7 )
+    CALL MPI_TYPE_VECTOR( nxr-nxl+7, 3*(nzt-nzb+6), ngp, MPI_REAL, &
+                          type_xz_2, ierr )
+    CALL MPI_TYPE_COMMIT( type_xz_2, ierr )
+!
+!-- Send front boundary, receive rear boundary
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'continue' )
+    CALL MPI_SENDRECV( sk_p(nzb-2,nys,nxl-3),   1, type_xz_2, psouth, 0, &
+                       sk_p(nzb-2,nyn+1,nxl-3), 1, type_xz_2, pnorth, 0, &
+                       comm2d, status, ierr )
+!
+!-- Send rear boundary, receive front boundary
+    CALL MPI_SENDRECV( sk_p(nzb-2,nyn-2,nxl-3), 1, type_xz_2, pnorth, 1, &
+                       sk_p(nzb-2,nys-3,nxl-3), 1, type_xz_2, psouth, 1, &
+                       comm2d, status, ierr )
+    CALL MPI_TYPE_FREE( type_xz_2, ierr )
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'pause' )
+#else
+    DO  i = nxl, nxr
+       DO  k = nzb+1, nzt
+          sk_p(k,nys-1,i) = sk_p(k,nyn,i)
+          sk_p(k,nys-2,i) = sk_p(k,nyn-1,i)
+          sk_p(k,nys-3,i) = sk_p(k,nyn-2,i)
+          sk_p(k,nyn+1,i) = sk_p(k,nys,i)
+          sk_p(k,nyn+2,i) = sk_p(k,nys+1,i)
+          sk_p(k,nyn+3,i) = sk_p(k,nys+2,i)
+       ENDDO
+    ENDDO
+#endif
+
+!
+!-- Determine the maxima of the first and second derivative in y-direction
+    fmax_l = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             zaehler = ABS( sk_p(k,j+1,i) - 2.0 * sk_p(k,j,i) + sk_p(k,j-1,i) )
+             nenner  = ABS( sk_p(k,j+1,i) - sk_p(k,j-1,i) )
+             fmax_l(1) = MAX( fmax_l(1) , zaehler )
+             fmax_l(2) = MAX( fmax_l(2) , nenner  )
+          ENDDO
+       ENDDO
+    ENDDO
+#if defined( __parallel )
+    CALL MPI_ALLREDUCE( fmax_l, fmax, 2, MPI_REAL, MPI_MAX, comm2d, ierr )
+#else
+    fmax = fmax_l
+#endif
+
+    fmax = 0.04 * fmax
+
+!
+!-- Allocate temporary arrays
+    ALLOCATE( a0(nzb+1:nzt,nys-1:nyn+1),   a1(nzb+1:nzt,nys-1:nyn+1),   &
+              a2(nzb+1:nzt,nys-1:nyn+1),   a12(nzb+1:nzt,nys-1:nyn+1),  &
+              a22(nzb+1:nzt,nys-1:nyn+1),  immb(nzb+1:nzt,nys-1:nyn+1), &
+              imme(nzb+1:nzt,nys-1:nyn+1), impb(nzb+1:nzt,nys-1:nyn+1), &
+              impe(nzb+1:nzt,nys-1:nyn+1), ipmb(nzb+1:nzt,nys-1:nyn+1), &
+              ipme(nzb+1:nzt,nys-1:nyn+1), ippb(nzb+1:nzt,nys-1:nyn+1), &
+              ippe(nzb+1:nzt,nys-1:nyn+1), m1(nzb+1:nzt,nys-2:nyn+2),   &
+              sw(nzb+1:nzt,nys-1:nyn+1)                                 &
+            )
+    imme = 0.0; impe = 0.0; ipme = 0.0; ippe = 0.0
+
+!
+!-- Outer loop of all i
+    DO  i = nxl, nxr
+
+!
+!--    Compute polynomial coefficients
+       DO  j = nys-1, nyn+1
+          DO  k = nzb+1, nzt
+             a12(k,j) = 0.5 * ( sk_p(k,j+1,i) - sk_p(k,j-1,i) )
+             a22(k,j) = 0.5 * ( sk_p(k,j+1,i) - 2.0 * sk_p(k,j,i) &
+                                              + sk_p(k,j-1,i) )
+             a0(k,j) = ( 9.0 * sk_p(k,j+2,i) - 116.0 * sk_p(k,j+1,i)    &
+                         + 2134.0 * sk_p(k,j,i) - 116.0 * sk_p(k,j-1,i) &
+                         + 9.0 * sk_p(k,j-2,i) ) * f1920
+             a1(k,j) = ( -5.0 * sk_p(k,j+2,i) + 34.0 * sk_p(k,j+1,i)  &
+                         - 34.0 * sk_p(k,j-1,i) + 5.0 * sk_p(k,j-2,i) &
+                       ) * f48
+             a2(k,j) = ( -3.0 * sk_p(k,j+2,i) + 36.0 * sk_p(k,j+1,i) &
+                         - 66.0 * sk_p(k,j,i) + 36.0 * sk_p(k,j-1,i) &
+                         - 3.0 * sk_p(k,j-2,i) ) * f48
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using the Bott scheme
+!--    *VOCL LOOP,UNROLL(2)
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             cip  =  MAX( 0.0, ( v(k,j+1,i) - v_gtrans ) * dt_3d * ddy )
+             cim  = -MIN( 0.0, ( v(k,j+1,i) - v_gtrans ) * dt_3d * ddy )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k,j)   * f2  * ( 1.0 - cipf )             &
+                    + a1(k,j)   * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k,j)   * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k,j+1) * f2  * ( 1.0 - cimf )             &
+                    - a1(k,j+1) * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k,j+1) * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ippb(k,j) = ip * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+             impb(k,j) = im * MIN( 1.0, sk_p(k,j+1,i) / (ip+im+1E-15) )
+
+             cip  =  MAX( 0.0, ( v(k,j,i) - v_gtrans ) * dt_3d * ddy )
+             cim  = -MIN( 0.0, ( v(k,j,i) - v_gtrans ) * dt_3d * ddy )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k,j-1) * f2  * ( 1.0 - cipf )             &
+                    + a1(k,j-1) * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k,j-1) * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k,j)   * f2  * ( 1.0 - cimf )             &
+                    - a1(k,j)   * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k,j)   * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ipmb(k,j) = ip * MIN( 1.0, sk_p(k,j-1,i) / (ip+im+1E-15) )
+             immb(k,j) = im * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+          ENDDO
+       ENDDO
+
+!
+!--    Compute monitor function m1
+       DO  j = nys-2, nyn+2
+          DO  k = nzb+1, nzt
+             m1z = ABS( sk_p(k,j+1,i) - 2.0 * sk_p(k,j,i) + sk_p(k,j-1,i) )
+             m1n = ABS( sk_p(k,j+1,i) - sk_p(k,j-1,i) )
+             IF ( m1n /= 0.0  .AND.  m1n >= m1z )  THEN
+                m1(k,j) = m1z / m1n
+                IF ( m1(k,j) /= 2.0  .AND.  m1n < fmax(2) )  m1(k,j) = 0.0
+             ELSEIF ( m1n < m1z )  THEN
+                m1(k,j) = -1.0
+             ELSE
+                m1(k,j) = 0.0
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Compute switch sw
+       sw = 0.0
+       DO  j = nys-1, nyn+1
+          DO  k = nzb+1, nzt
+             m2 = 2.0 * ABS( a1(k,j) - a12(k,j) ) / &
+                  MAX( ABS( a1(k,j) + a12(k,j) ), 1E-35 )
+             IF ( ABS( a1(k,j) + a12(k,j) ) < fmax(2) )  m2 = 0.0
+
+             m3 = 2.0 * ABS( a2(k,j) - a22(k,j) ) / &
+                  MAX( ABS( a2(k,j) + a22(k,j) ), 1E-35 )
+             IF ( ABS( a2(k,j) + a22(k,j) ) < fmax(1) )  m3 = 0.0
+
+             t1 = 0.35
+             t2 = 0.35
+             IF ( m1(k,j) == -1.0 )  t2 = 0.12
+
+!--          *VOCL STMT,IF(10)
+             IF ( m1(k,j-1) == 1.0 .OR. m1(k,j) == 1.0 .OR. m1(k,j+1) == 1.0 &
+                  .OR.  m2 > t2  .OR.  m3 > T2  .OR.                         &
+                  ( m1(k,j) > t1  .AND.  m1(k,j-1) /= -1.0  .AND.            &
+                    m1(k,j) /= -1.0  .AND.  m1(k,j+1) /= -1.0 )              &
+                )  sw(k,j) = 1.0
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using exponential scheme
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'continue' )
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,j) == 1.0 )  THEN
+                snenn = sk_p(k,j+1,i) - sk_p(k,j-1,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k,j-1,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip =  MAX( 0.0, ( v(k,j+1,i) - v_gtrans ) * dt_3d * ddy )
+
+                ippe(k,j) = sk_p(k,j-1,i) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ippe(k,j) = sk_p(k,j,i) * cip
+                IF ( sterm == 0.9999 )  ippe(k,j) = sk_p(k,j,i) * cip
+
+                snenn = sk_p(k,j-1,i) - sk_p(k,j+1,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k,j+1,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, ( v(k,j,i) - v_gtrans ) * dt_3d * ddy )
+
+                imme(k,j) = sk_p(k,j+1,i) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  imme(k,j) = sk_p(k,j,i) * cim
+                IF ( sterm == 0.9999 )  imme(k,j) = sk_p(k,j,i) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,j+1) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k,j+2,i)
+                IF ( ABS( snenn ) .LT. 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j+1,i) - sk_p(k,j+2,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, ( v(k,j+1,i) - v_gtrans ) * dt_3d * ddy )
+
+                impe(k,j) = sk_p(k,j+2,i) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  impe(k,j) = sk_p(k,j+1,i) * cim
+                IF ( sterm == 0.9999 )  impe(k,j) = sk_p(k,j+1,i) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,j-1) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k,j-2,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j-1,i) - sk_p(k,j-2,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip = MAX( 0.0, ( v(k,j,i) - v_gtrans ) * dt_3d * ddy )
+
+                ipme(k,j) = sk_p(k,j-2,i) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ipme(k,j) = sk_p(k,j-1,i) * cip
+                IF ( sterm == 0.9999 )  ipme(k,j) = sk_p(k,j-1,i) * cip
+             ENDIF
+
+          ENDDO
+       ENDDO
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'pause' )
+
+!
+!--    Prognostic equation
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             fplus  = ( 1.0 - sw(k,j)   ) * ippb(k,j) + sw(k,j)   * ippe(k,j) &
+                    - ( 1.0 - sw(k,j+1) ) * impb(k,j) - sw(k,j+1) * impe(k,j)
+             fminus = ( 1.0 - sw(k,j-1) ) * ipmb(k,j) + sw(k,j-1) * ipme(k,j) &
+                    - ( 1.0 - sw(k,j)   ) * immb(k,j) - sw(k,j)   * imme(k,j)
+             tendenz = fplus - fminus
+!
+!--           Removed in order to optimise speed
+!             ffmax   = MAX( ABS( fplus ), ABS( fminus ), 1E-35 )
+!             IF ( ( ABS( tendenz ) / ffmax ) < 1E-7 )  tendenz = 0.0
+!
+!--          Density correction because of possible remaining divergences
+             d_new = d(k,j,i) - ( v(k,j+1,i) - v(k,j,i) ) * dt_3d * ddy
+             sk_p(k,j,i) = ( ( 1.0 + d(k,j,i) ) * sk_p(k,j,i) - tendenz ) / &
+                           ( 1.0 + d_new )
+             d(k,j,i)  = d_new
+          ENDDO
+       ENDDO
+
+    ENDDO   ! End of the advection in y-direction
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'continue' )
+    CALL cpu_log( log_point_s(11), 'advec_s_bc:sendrecv', 'stop' )
+
+!
+!-- Deallocate temporary arrays
+    DEALLOCATE( a0, a1, a2, a12, a22, immb, imme, impb, impe, ipmb, ipme, &
+                ippb, ippe, m1, sw )
+
+
+!
+!-- Initialise for the computation of heat fluxes (see below; required in
+!-- UP flow_statistics)
+    IF ( sk_char == 'pt' )  sums_wsts_bc_l = 0.0
+
+!
+!-- Add top and bottom boundaries according to the relevant boundary conditions
+    IF ( sk_char == 'pt' )  THEN
+
+!
+!--    Temperature boundary condition at the bottom boundary
+       IF ( ibc_pt_b == 0 )  THEN
+!
+!--       Dirichlet (fixed surface temperature)
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
+                sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
+             ENDDO
+          ENDDO
+
+       ELSE
+!
+!--       Neumann (i.e. here zero gradient)
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzb,j,i)   = sk_p(nzb+1,j,i)
+                sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
+                sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Temperature boundary condition at the top boundary
+       IF ( ibc_pt_t == 0  .OR.  ibc_pt_t == 1 )  THEN
+!
+!--       Dirichlet or Neumann (zero gradient)
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i)
+                sk_p(nzt+3,j,i)   = sk_p(nzt+1,j,i)
+             ENDDO
+          ENDDO
+
+       ELSEIF ( ibc_pt_t == 2 )  THEN
+!
+!--       Neumann: dzu(nzt+2:3) are not defined, dzu(nzt+1) is used instead
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i) + bc_pt_t_val * dzu(nzt+1)
+                sk_p(nzt+3,j,i)   = sk_p(nzt+2,j,i) + bc_pt_t_val * dzu(nzt+1)
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+    ELSEIF ( sk_char == 'sa' )  THEN
+
+!
+!--    Salinity boundary condition at the bottom boundary.
+!--    So far, always Neumann (i.e. here zero gradient) is used
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             sk_p(nzb,j,i)   = sk_p(nzb+1,j,i)
+             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
+             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
+          ENDDO
+       ENDDO
+
+!
+!--    Salinity boundary condition at the top boundary.
+!--    Dirichlet or Neumann (zero gradient)
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i)
+             sk_p(nzt+3,j,i)   = sk_p(nzt+1,j,i)
+          ENDDO
+       ENDDO
+
+    ELSEIF ( sk_char == 'q' )  THEN
+
+!
+!--    Specific humidity boundary condition at the bottom boundary.
+!--    Dirichlet (fixed surface humidity) or Neumann (i.e. zero gradient)
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             sk_p(nzb,j,i)   = sk_p(nzb+1,j,i)
+             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
+             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
+          ENDDO
+       ENDDO
+
+!
+!--    Specific humidity boundary condition at the top boundary
+       IF ( ibc_q_t == 0 )  THEN
+!
+!--       Dirichlet
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i)
+                sk_p(nzt+3,j,i)   = sk_p(nzt+1,j,i)
+             ENDDO
+          ENDDO
+
+       ELSE
+!
+!--       Neumann: dzu(nzt+2:3) are not defined, dzu(nzt+1) is used instead
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i) + bc_q_t_val * dzu(nzt+1)
+                sk_p(nzt+3,j,i)   = sk_p(nzt+2,j,i) + bc_q_t_val * dzu(nzt+1)
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+    ELSEIF ( sk_char == 'e' )  THEN
+
+!
+!--    TKE boundary condition at bottom and top boundary (generally Neumann)
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             sk_p(nzb,j,i)   = sk_p(nzb+1,j,i)
+             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
+             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
+             sk_p(nzt+2,j,i) = sk_p(nzt+1,j,i)
+             sk_p(nzt+3,j,i) = sk_p(nzt+1,j,i)
+          ENDDO
+       ENDDO
+
+    ELSE
+
+       WRITE( message_string, * ) 'no vertical boundary condi', &
+                                'tion for variable "', sk_char, '"'
+       CALL message( 'advec_s_bc', 'PA0158', 1, 2, 0, 6, 0 )
+      
+    ENDIF
+
+!
+!-- Determine the maxima of the first and second derivative in z-direction
+    fmax_l = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb, nzt+1
+             zaehler = ABS( sk_p(k+1,j,i) - 2.0 * sk_p(k,j,i) + sk_p(k-1,j,i) )
+             nenner  = ABS( sk_p(k+1,j,i+1) - sk_p(k-1,j,i) )
+             fmax_l(1) = MAX( fmax_l(1) , zaehler )
+             fmax_l(2) = MAX( fmax_l(2) , nenner  )
+          ENDDO
+       ENDDO
+    ENDDO
+#if defined( __parallel )
+    CALL MPI_ALLREDUCE( fmax_l, fmax, 2, MPI_REAL, MPI_MAX, comm2d, ierr )
+#else
+    fmax = fmax_l
+#endif
+
+    fmax = 0.04 * fmax
+
+!
+!-- Allocate temporary arrays
+    ALLOCATE( a0(nzb:nzt+1,nys:nyn),   a1(nzb:nzt+1,nys:nyn),   &
+              a2(nzb:nzt+1,nys:nyn),   a12(nzb:nzt+1,nys:nyn),  &
+              a22(nzb:nzt+1,nys:nyn),  immb(nzb+1:nzt,nys:nyn), &
+              imme(nzb+1:nzt,nys:nyn), impb(nzb+1:nzt,nys:nyn), &
+              impe(nzb+1:nzt,nys:nyn), ipmb(nzb+1:nzt,nys:nyn), &
+              ipme(nzb+1:nzt,nys:nyn), ippb(nzb+1:nzt,nys:nyn), &
+              ippe(nzb+1:nzt,nys:nyn), m1(nzb-1:nzt+2,nys:nyn), &
+              sw(nzb:nzt+1,nys:nyn)                             &
+            )
+    imme = 0.0; impe = 0.0; ipme = 0.0; ippe = 0.0
+
+!
+!-- Outer loop of all i
+    DO  i = nxl, nxr
+
+!
+!--    Compute polynomial coefficients
+       DO  j = nys, nyn
+          DO  k = nzb, nzt+1
+             a12(k,j) = 0.5 * ( sk_p(k+1,j,i) - sk_p(k-1,j,i) )
+             a22(k,j) = 0.5 * ( sk_p(k+1,j,i) - 2.0 * sk_p(k,j,i) &
+                                              + sk_p(k-1,j,i) )
+             a0(k,j) = ( 9.0 * sk_p(k+2,j,i) - 116.0 * sk_p(k+1,j,i)    &
+                         + 2134.0 * sk_p(k,j,i) - 116.0 * sk_p(k-1,j,i) &
+                         + 9.0 * sk_p(k-2,j,i) ) * f1920
+             a1(k,j) = ( -5.0 * sk_p(k+2,j,i) + 34.0 * sk_p(k+1,j,i)  &
+                         - 34.0 * sk_p(k-1,j,i) + 5.0 * sk_p(k-2,j,i) &
+                       ) * f48
+             a2(k,j) = ( -3.0 * sk_p(k+2,j,i) + 36.0 * sk_p(k+1,j,i) &
+                         - 66.0 * sk_p(k,j,i) + 36.0 * sk_p(k-1,j,i) &
+                         - 3.0 * sk_p(k-2,j,i) ) * f48
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using the Bott scheme
+!--    *VOCL LOOP,UNROLL(2)
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             cip  =  MAX( 0.0, w(k,j,i) * dt_3d * ddzw(k) )
+             cim  = -MIN( 0.0, w(k,j,i) * dt_3d * ddzw(k) )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k,j)   * f2  * ( 1.0 - cipf )             &
+                    + a1(k,j)   * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k,j)   * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k+1,j) * f2  * ( 1.0 - cimf )             &
+                    - a1(k+1,j) * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k+1,j) * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ippb(k,j) = ip * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+             impb(k,j) = im * MIN( 1.0, sk_p(k+1,j,i) / (ip+im+1E-15) )
+
+             cip  =  MAX( 0.0, w(k-1,j,i) * dt_3d * ddzw(k) )
+             cim  = -MIN( 0.0, w(k-1,j,i) * dt_3d * ddzw(k) )
+             cipf = 1.0 - 2.0 * cip
+             cimf = 1.0 - 2.0 * cim
+             ip   =   a0(k-1,j) * f2  * ( 1.0 - cipf )             &
+                    + a1(k-1,j) * f8  * ( 1.0 - cipf*cipf )        &
+                    + a2(k-1,j) * f24 * ( 1.0 - cipf*cipf*cipf )
+             im   =   a0(k,j)   * f2  * ( 1.0 - cimf )             &
+                    - a1(k,j)   * f8  * ( 1.0 - cimf*cimf )        &
+                    + a2(k,j)   * f24 * ( 1.0 - cimf*cimf*cimf )
+             ip   = MAX( ip, 0.0 )
+             im   = MAX( im, 0.0 )
+             ipmb(k,j) = ip * MIN( 1.0, sk_p(k-1,j,i) / (ip+im+1E-15) )
+             immb(k,j) = im * MIN( 1.0, sk_p(k,j,i)   / (ip+im+1E-15) )
+          ENDDO
+       ENDDO
+
+!
+!--    Compute monitor function m1
+       DO  j = nys, nyn
+          DO  k = nzb-1, nzt+2
+             m1z = ABS( sk_p(k+1,j,i) - 2.0 * sk_p(k,j,i) + sk_p(k-1,j,i) )
+             m1n = ABS( sk_p(k+1,j,i) - sk_p(k-1,j,i) )
+             IF ( m1n /= 0.0  .AND.  m1n >= m1z )  THEN
+                m1(k,j) = m1z / m1n
+                IF ( m1(k,j) /= 2.0  .AND.  m1n < fmax(2) )  m1(k,j) = 0.0
+             ELSEIF ( m1n < m1z )  THEN
+                m1(k,j) = -1.0
+             ELSE
+                m1(k,j) = 0.0
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Compute switch sw
+       sw = 0.0
+       DO  j = nys, nyn
+          DO  k = nzb, nzt+1
+             m2 = 2.0 * ABS( a1(k,j) - a12(k,j) ) / &
+                  MAX( ABS( a1(k,j) + a12(k,j) ), 1E-35 )
+             IF ( ABS( a1(k,j) + a12(k,j) ) < fmax(2) )  m2 = 0.0
+
+             m3 = 2.0 * ABS( a2(k,j) - a22(k,j) ) / &
+                  MAX( ABS( a2(k,j) + a22(k,j) ), 1E-35 )
+             IF ( ABS( a2(k,j) + a22(k,j) ) < fmax(1) )  m3 = 0.0
+
+             t1 = 0.35
+             t2 = 0.35
+             IF ( m1(k,j) == -1.0 )  t2 = 0.12
+
+!--          *VOCL STMT,IF(10)
+             IF ( m1(k-1,j) == 1.0 .OR. m1(k,j) == 1.0 .OR. m1(k+1,j) == 1.0 &
+                  .OR.  m2 > t2  .OR.  m3 > T2  .OR.                         &
+                  ( m1(k,j) > t1  .AND.  m1(k-1,j) /= -1.0  .AND.            &
+                    m1(k,j) /= -1.0  .AND.  m1(k+1,j) /= -1.0 )              &
+                )  sw(k,j) = 1.0
+          ENDDO
+       ENDDO
+
+!
+!--    Fluxes using exponential scheme
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'continue' )
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k,j) == 1.0 )  THEN
+                snenn = sk_p(k+1,j,i) - sk_p(k-1,j,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k-1,j,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip =  MAX( 0.0, w(k,j,i) * dt_3d * ddzw(k) )
+
+                ippe(k,j) = sk_p(k-1,j,i) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ippe(k,j) = sk_p(k,j,i) * cip
+                IF ( sterm == 0.9999 )  ippe(k,j) = sk_p(k,j,i) * cip
+
+                snenn = sk_p(k-1,j,i) - sk_p(k+1,j,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k,j,i) - sk_p(k+1,j,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, w(k-1,j,i) * dt_3d * ddzw(k) )
+
+                imme(k,j) = sk_p(k+1,j,i) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  imme(k,j) = sk_p(k,j,i) * cim
+                IF ( sterm == 0.9999 )  imme(k,j) = sk_p(k,j,i) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k+1,j) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k+2,j,i)
+                IF ( ABS( snenn ) .LT. 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k+1,j,i) - sk_p(k+2,j,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cim = -MIN( 0.0, w(k,j,i) * dt_3d * ddzw(k) )
+
+                impe(k,j) = sk_p(k+2,j,i) * cim + snenn * (                    &
+                            aex(ix) * cim + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cim ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  impe(k,j) = sk_p(k+1,j,i) * cim
+                IF ( sterm == 0.9999 )  impe(k,j) = sk_p(k+1,j,i) * cim
+             ENDIF
+
+!--          *VOCL STMT,IF(10)
+             IF ( sw(k-1,j) == 1.0 )  THEN
+                snenn = sk_p(k,j,i) - sk_p(k-2,j,i)
+                IF ( ABS( snenn ) < 1E-9 )  snenn = 1E-9
+                sterm = ( sk_p(k-1,j,i) - sk_p(k-2,j,i) ) / snenn
+                sterm = MIN( sterm, 0.9999 )
+                sterm = MAX( sterm, 0.0001 )
+
+                ix = INT( sterm * 1000 ) + 1
+
+                cip = MAX( 0.0, w(k-1,j,i) * dt_3d * ddzw(k) )
+
+                ipme(k,j) = sk_p(k-2,j,i) * cip + snenn * (                    &
+                            aex(ix) * cip + bex(ix) / dex(ix) * (              &
+                            eex(ix) - EXP( dex(ix)*0.5 * ( 1.0 - 2.0 * cip ) ) &
+                                                                )              &
+                                                          )
+                IF ( sterm == 0.0001 )  ipme(k,j) = sk_p(k-1,j,i) * cip
+                IF ( sterm == 0.9999 )  ipme(k,j) = sk_p(k-1,j,i) * cip
+             ENDIF
+
+          ENDDO
+       ENDDO
+       CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'pause' )
+
+!
+!--    Prognostic equation
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             fplus  = ( 1.0 - sw(k,j)   ) * ippb(k,j) + sw(k,j)   * ippe(k,j) &
+                    - ( 1.0 - sw(k+1,j) ) * impb(k,j) - sw(k+1,j) * impe(k,j)
+             fminus = ( 1.0 - sw(k-1,j) ) * ipmb(k,j) + sw(k-1,j) * ipme(k,j) &
+                    - ( 1.0 - sw(k,j)   ) * immb(k,j) - sw(k,j)   * imme(k,j)
+             tendenz = fplus - fminus
+!
+!--           Removed in order to optimise speed
+!             ffmax   = MAX( ABS( fplus ), ABS( fminus ), 1E-35 )
+!             IF ( ( ABS( tendenz ) / ffmax ) < 1E-7 )  tendenz = 0.0
+!
+!--          Density correction because of possible remaining divergences
+             d_new = d(k,j,i) - ( w(k,j,i) - w(k-1,j,i) ) * dt_3d * ddzw(k)
+             sk_p(k,j,i) = ( ( 1.0 + d(k,j,i) ) * sk_p(k,j,i) - tendenz ) / &
+                           ( 1.0 + d_new )
+!
+!--          Store heat flux for subsequent statistics output.
+!--          array m1 is here used as temporary storage
+             m1(k,j) = fplus / dt_3d * dzw(k)
+          ENDDO
+       ENDDO
+
+!
+!--    Sum up heat flux in order to order to obtain horizontal averages
+       IF ( sk_char == 'pt' )  THEN
+          DO  sr = 0, statistic_regions
+             DO  j = nys, nyn
+                DO  k = nzb+1, nzt
+                   sums_wsts_bc_l(k,sr) = sums_wsts_bc_l(k,sr) + &
+                                          m1(k,j) * rmask(j,i,sr)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+
+    ENDDO   ! End of the advection in z-direction
+    CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'continue' )
+    CALL cpu_log( log_point_s(12), 'advec_s_bc:exp', 'stop' )
+
+!
+!-- Deallocate temporary arrays
+    DEALLOCATE( a0, a1, a2, a12, a22, immb, imme, impb, impe, ipmb, ipme, &
+                ippb, ippe, m1, sw )
+
+!
+!-- Store results as tendency and deallocate local array
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             tend(k,j,i) = tend(k,j,i) + ( sk_p(k,j,i) - sk(k,j,i) ) / dt_3d
+          ENDDO
+       ENDDO
+    ENDDO
+
+    DEALLOCATE( sk_p )
+
+ END SUBROUTINE advec_s_bc
Index: palm/tags/release-3.7/SOURCE/advec_s_pw.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_s_pw.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_s_pw.f90	(revision 393)
@@ -0,0 +1,114 @@
+ MODULE advec_s_pw_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Calculation extended for gridpoint nzt
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 09:42:55  raasch
+! nzb_2d replaced by nzb_s_inner
+!
+! Revision 1.1  1997/08/29 08:54:20  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for scalar variables using the Piacsek and Williams scheme
+! (form C3). Contrary to PW itself, for reasons of accuracy their scheme is
+! slightly modified as follows: the values of those scalars that are used for
+! the computation of the flux divergence are reduced by the value of the
+! relevant scalar at the location where the difference is computed (sk(k,j,i)).
+! NOTE: at the first grid point above the surface computation still takes place!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_s_pw
+
+    INTERFACE advec_s_pw
+       MODULE PROCEDURE advec_s_pw
+       MODULE PROCEDURE advec_s_pw_ij
+    END INTERFACE
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_s_pw( sk )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL, DIMENSION(:,:,:), POINTER ::  sk
+ 
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i)                                      &
+              -0.5 * ( ( u(k,j,i+1) - u_gtrans ) * ( sk(k,j,i+1) - sk(k,j,i) ) &
+                     - ( u(k,j,i)   - u_gtrans ) * ( sk(k,j,i-1) - sk(k,j,i) ) &
+                     ) * ddx                                                   &
+              -0.5 * ( ( v(k,j+1,i) - v_gtrans ) * ( sk(k,j+1,i) - sk(k,j,i) ) &
+                     - ( v(k,j,i)   - v_gtrans ) * ( sk(k,j-1,i) - sk(k,j,i) ) &
+                     ) * ddy                                                   &
+              -      (   w(k,j,i)                * ( sk(k+1,j,i) - sk(k,j,i) ) &
+                     -   w(k-1,j,i)              * ( sk(k-1,j,i) - sk(k,j,i) ) &
+                     ) * dd2zu(k)
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_s_pw
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_s_pw_ij( i, j, sk )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL, DIMENSION(:,:,:), POINTER ::  sk
+
+
+       DO  k = nzb_s_inner(j,i)+1, nzt
+          tend(k,j,i) = tend(k,j,i)                                            &
+              -0.5 * ( ( u(k,j,i+1) - u_gtrans ) * ( sk(k,j,i+1) - sk(k,j,i) ) &
+                     - ( u(k,j,i)   - u_gtrans ) * ( sk(k,j,i-1) - sk(k,j,i) ) &
+                     ) * ddx                                                   &
+              -0.5 * ( ( v(k,j+1,i) - v_gtrans ) * ( sk(k,j+1,i) - sk(k,j,i) ) &
+                     - ( v(k,j,i)   - v_gtrans ) * ( sk(k,j-1,i) - sk(k,j,i) ) &
+                     ) * ddy                                                   &
+              -      (   w(k,j,i)                * ( sk(k+1,j,i) - sk(k,j,i) ) &
+                     -   w(k-1,j,i)              * ( sk(k-1,j,i) - sk(k,j,i) ) &
+                     ) * dd2zu(k)
+       ENDDO
+
+    END SUBROUTINE advec_s_pw_ij
+
+ END MODULE advec_s_pw_mod
Index: palm/tags/release-3.7/SOURCE/advec_s_up.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_s_up.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_s_up.f90	(revision 393)
@@ -0,0 +1,151 @@
+ MODULE advec_s_up_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Forner revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2006/02/23 09:43:44  raasch
+! nzb_2d replaced by nzb_s_inner
+!
+! Revision 1.1  1997/08/29 08:54:33  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for scalar quantities using the Upstream scheme.
+! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
+!       The same problem occurs for all topography boundaries!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_s_up
+
+    INTERFACE advec_s_up
+       MODULE PROCEDURE advec_s_up
+       MODULE PROCEDURE advec_s_up_ij
+    END INTERFACE advec_s_up
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_s_up( sk )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  ukomp, vkomp, wkomp
+       REAL, DIMENSION(:,:,:), POINTER ::  sk
+
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--             x-direction
+                ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans
+                IF ( ukomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
+                ENDIF
+!
+!--             y-direction
+                vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans
+                IF ( vkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
+                ENDIF
+!
+!--             z-direction
+                wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
+                IF ( wkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_s_up
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_s_up_ij( i, j, sk )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  ukomp, vkomp, wkomp
+       REAL, DIMENSION(:,:,:), POINTER ::  sk
+
+
+       DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--       x-direction
+          ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans
+          IF ( ukomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
+          ENDIF
+!
+!--       y-direction
+          vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans
+          IF ( vkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
+          ENDIF
+!
+!--       z-direction
+          wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
+          IF ( wkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE advec_s_up_ij
+
+ END MODULE advec_s_up_mod
Index: palm/tags/release-3.7/SOURCE/advec_s_ups.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_s_ups.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_s_ups.f90	(revision 393)
@@ -0,0 +1,192 @@
+ SUBROUTINE advec_s_ups( s, var_char )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 164 2008-05-15 08:46:15Z raasch
+! Arguments removed from transpose routines
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2004/04/30 08:02:43  raasch
+! Enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 08:44:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-Spline advection of scalar quantities (potential temperature,
+! turbulent kinetic energy). The advection process is divided into three 
+! subsequent steps, one for each of the dimensions. The result is stored as a 
+! tendency in array tend. The computation of the cubic splines and the possible
+! execution of the Long-filter require that all grid points of the relevant 
+! dimension are available. For model runs on more than one PE therefore both the
+! advected and the advecting quantities are transposed accordingly.
+!
+! Actual arguments:
+! s        = scalar quantity to be advected (remains unchanged in this UP)
+! var_char = character string specifying the quantity to be advected
+!
+! Internally used arrays:
+! v_ad     = scalar quantity to be advected, initialized = s at the beginning,
+!            also being used as temporary storage after each time step
+! d        = advecting component (u, v, or w)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  var_char
+
+    INTEGER ::  i, j, k
+    REAL    ::  s(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  v_ad
+
+    CALL cpu_log( log_point_s(16), 'advec_s_ups', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Advection of the scalar in x-direction:
+!-- Store the scalar in temporary array v_ad (component to be advected,
+!-- boundaries are not used because they disturb the transposition)
+    ALLOCATE( v_ad(nzb+1:nzta,nys:nyna,nxl:nxra) )
+    v_ad = 0.0
+    v_ad(nzb+1:nzt,nys:nyn,nxl:nxr) = s(nzb+1:nzt,nys:nyn,nxl:nxr)
+
+!
+!-- Enlarge the size of tend, used as a working array for the transpositions
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+    ENDIF
+
+!
+!-- Transpose the component to be advected: z --> x
+    CALL transpose_zx( v_ad, tend, v_ad )
+
+#else
+
+!
+!-- Advection of the scalar in x-direction:
+!-- Store the scalar in temporary array v_ad (component to be advected)
+    ALLOCATE( v_ad(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    v_ad(:,:,:) = s(:,:,:)
+
+#endif
+
+!
+!-- Advecting component (u) must be averaged out on the scalar's grid
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+              d(k,j,i) = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the advecting componnet: z --> x
+    CALL transpose_zx( d, tend, d )
+
+#endif
+
+!
+!-- Upstream-Spline advection of the scalar in x-direction
+    CALL spline_x( v_ad, d, var_char )
+
+!
+!-- Advection of the scalar in y-direction:
+!-- advecting component (v) must be averaged out on the scalar's grid
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+              d(k,j,i) = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+    
+!
+!-- Transpose the advecting component: z --> y
+    CALL transpose_zx( d, tend, d )
+    CALL transpose_xy( d, tend, d )
+
+!
+!-- Transpose the component to be advected: x --> y
+    CALL transpose_xy( v_ad, tend, v_ad )
+
+#endif
+
+!
+!-- Upstream-Spline advection of the scalar in y-direction
+    CALL spline_y( v_ad, d, var_char )
+
+!
+!-- Advection of the scalar in z-direction:
+!-- the advecting component (w) must be averaged out on the scalar's grid
+!-- (weighted for non-equidistant grid)
+    d = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) =  ( w(k,j,i) * ( zu(k) - zw(k-1) ) + &
+                           w(k-1,j,i) * ( zw(k) - zu(k) ) ) * ddzw(k)
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the component to be advected: y --> z (= y --> x + x --> z)
+    CALL transpose_yx( v_ad, tend, v_ad )
+    CALL transpose_xz( v_ad, tend, v_ad )
+
+!
+!-- Resize tend to its normal size
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+#endif
+
+!
+!-- Upstream-Spline advection of the scalar in z-direction
+    CALL spline_z( v_ad, d, dzu, spl_tri_zu, var_char )
+
+!
+!-- Compute the tendency term
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             tend(k,j,i) = ( v_ad(k,j,i) - s(k,j,i) ) / dt_3d 
+          ENDDO
+       ENDDO
+    ENDDO
+
+    DEALLOCATE( v_ad )
+
+    CALL cpu_log( log_point_s(16), 'advec_s_ups', 'stop' )
+
+ END SUBROUTINE advec_s_ups
Index: palm/tags/release-3.7/SOURCE/advec_u_pw.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_u_pw.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_u_pw.f90	(revision 393)
@@ -0,0 +1,113 @@
+ MODULE advec_u_pw_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 106 2007-08-16 14:30:26Z raasch
+! i loop is starting from nxlu (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! uxrp eliminated
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 09:44:21  raasch
+! nzb_2d replaced by nzb_u_inner
+!
+! Revision 1.1  1997/08/11 06:09:21  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for u velocity-component using Piacsek and Williams.
+! Vertical advection at the first grid point above the surface is done with
+! normal centred differences, because otherwise no information from the surface
+! would be communicated upwards due to w=0 at K=nzb.
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_u_pw
+
+    INTERFACE advec_u_pw
+       MODULE PROCEDURE advec_u_pw
+       MODULE PROCEDURE advec_u_pw_ij
+    END INTERFACE advec_u_pw
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_u_pw
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+ 
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  i = nxlu, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_u_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) - 0.25 * (                           &
+                         ( u(k,j,i+1) * ( u(k,j,i+1) + u(k,j,i) - gu )         &
+                         - u(k,j,i-1) * ( u(k,j,i) + u(k,j,i-1) - gu ) ) * ddx &
+                       + ( u(k,j+1,i) * ( v(k,j+1,i) + v(k,j+1,i-1) - gv )     &
+                         - u(k,j-1,i) * ( v(k,j,i) + v(k,j,i-1) - gv ) ) * ddy &
+                       + ( u(k+1,j,i) * ( w(k,j,i) + w(k,j,i-1) )              &
+                         - u(k-1,j,i) * ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
+                                                                  * ddzw(k)    &
+                                                   )
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_u_pw
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_u_pw_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  k = nzb_u_inner(j,i)+1, nzt
+          tend(k,j,i) = tend(k,j,i) - 0.25 * (                                 &
+                         ( u(k,j,i+1) * ( u(k,j,i+1) + u(k,j,i) - gu )         &
+                         - u(k,j,i-1) * ( u(k,j,i) + u(k,j,i-1) - gu ) ) * ddx &
+                       + ( u(k,j+1,i) * ( v(k,j+1,i) + v(k,j+1,i-1) - gv )     &
+                         - u(k,j-1,i) * ( v(k,j,i) + v(k,j,i-1) - gv ) ) * ddy &
+                       + ( u(k+1,j,i) * ( w(k,j,i) + w(k,j,i-1) )              &
+                         - u(k-1,j,i) * ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
+                                                                  * ddzw(k)    &
+                                             )
+       ENDDO
+
+    END SUBROUTINE advec_u_pw_ij
+
+ END MODULE advec_u_pw_mod
Index: palm/tags/release-3.7/SOURCE/advec_u_up.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_u_up.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_u_up.f90	(revision 393)
@@ -0,0 +1,159 @@
+ MODULE advec_u_up_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 106 2007-08-16 14:30:26Z raasch
+! i loop is starting from nxlu (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! uxrp eliminated
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 09:45:04  raasch
+! nzb_2d replaced by nzb_u_inner
+!
+! Revision 1.1  1997/08/29 08:55:25  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for the u velocity-component using upstream scheme.
+! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
+!       The same problem occurs for all topography boundaries!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_u_up
+
+    INTERFACE advec_u_up
+       MODULE PROCEDURE advec_u_up
+       MODULE PROCEDURE advec_u_up_ij
+    END INTERFACE advec_u_up
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_u_up
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  ukomp, vkomp, wkomp
+
+
+       DO  i = nxlu, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_u_inner(j,i)+1, nzt
+!
+!--             x-direction
+                ukomp = u(k,j,i) - u_gtrans
+                IF ( ukomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                          ( u(k,j,i+1) - u(k,j,i) ) * ddx
+                ENDIF
+!
+!--             y-direction
+                vkomp = 0.25 * ( v(k,j,i)   + v(k,j+1,i) + &
+                                 v(k,j,i-1) + v(k,j+1,i-1) ) - v_gtrans
+                IF ( vkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
+                ENDIF
+!
+!--             z-direction
+                wkomp = 0.25 * ( w(k,j,i)   + w(k-1,j,i) + &
+                                 w(k,j,i-1) + w(k-1,j,i-1) )
+                IF ( wkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_u_up
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_u_up_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  ukomp, vkomp, wkomp
+
+
+       DO  k = nzb_u_inner(j,i)+1, nzt
+!
+!--       x-direction
+          ukomp = u(k,j,i) - u_gtrans
+          IF ( ukomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( u(k,j,i+1) - u(k,j,i) ) * ddx
+          ENDIF
+!
+!--       y-direction
+          vkomp = 0.25 * ( v(k,j,i) + v(k,j+1,i) + v(k,j,i-1) + v(k,j+1,i-1) &
+                         ) - v_gtrans
+          IF ( vkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
+          ENDIF
+!
+!--       z-direction
+          wkomp = 0.25 * ( w(k,j,i) + w(k-1,j,i) + w(k,j,i-1) + w(k-1,j,i-1) )
+          IF ( wkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE advec_u_up_ij
+
+ END MODULE advec_u_up_mod
Index: palm/tags/release-3.7/SOURCE/advec_u_ups.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_u_ups.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_u_ups.f90	(revision 393)
@@ -0,0 +1,185 @@
+ SUBROUTINE advec_u_ups 
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 164 2008-05-15 08:46:15Z raasch
+! Arguments removed from transpose routines
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2004/04/30 08:03:19  raasch
+! Enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 08:49:08  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-Spline advection of the u velocity-component. The advection process
+! is divided into three subsequent steps, one for each of the dimensions. The
+! results is stored as a tendency in array tend. The computation of the cubic
+! splines and the possible execution of the Long-filter require that all grid
+! points of the relevant dimension are available. For model runs on more than
+! one PE therefore both the advected and the advecting quantities are
+! transposed accordingly.
+!
+! Internally used arrays:
+! v_ad = scalar quantity to be advected, initialised = u at the beginning,
+!        also being used as temporary storage after each time step
+! d    = advecting component (u, v, or w)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER :: i, j, k
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  v_ad
+
+    
+    CALL cpu_log( log_point_s(17), 'advec_u_ups', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Advection of u in x-direction:
+!-- Store u in temporary array v_ad (component to be advected, boundaries
+!-- are not used because they disturb the transposition)
+    ALLOCATE( v_ad(nzb+1:nzta,nys:nyna,nxl:nxra) )
+    v_ad = 0.0
+    v_ad(nzb+1:nzt,nys:nyn,nxl:nxr) = u(nzb+1:nzt,nys:nyn,nxl:nxr)
+
+!
+!-- Enlarge the size of tend, used as a working array for the transpositions
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+    ENDIF
+
+!
+!-- Transpose the component to be advected: z --> x
+    CALL transpose_zx( v_ad, tend, v_ad )
+
+!
+!-- Advecting component (d) = component to be advected (v_ad) (variable d is
+!-- used for storage, because it is the only one having suitable dimensions).
+!-- NOTE: here x is the first dimension and lies completely on the PE.
+    d = v_ad - u_gtrans
+
+#else
+
+!
+!-- Advection of u in x-direction:
+!-- Store u in temporary array v_ad (component to be advected)
+    ALLOCATE( v_ad(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    v_ad(:,:,:) = u(:,:,:)
+
+!
+!-- Advecting component (d) = component to be advected (u) (variable d is used
+!-- for storage, because it is the only one having suitable dimensions. This is 
+!-- done for for reasons of compatibility with the parallel part.)
+    d(:,:,:) = u(nzb+1:nzt,nys:nyn,nxl:nxr) - u_gtrans
+
+#endif
+
+!
+!-- Upstream-Spline advection of u in x-direction. Array tend comes out
+!-- as v_ad before the advection step including cyclic boundaries.
+!-- It is needed for the long filter.
+    CALL spline_x( v_ad, d, 'u' )
+
+!
+!-- Advection of u in y-direction:
+!-- advecting component (v) must be averaged out on the u grid
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+              d(k,j,i) = 0.25 * ( v(k,j,i-1) + v(k,j+1,i-1) + &
+                                  v(k,j,i)   + v(k,j+1,i) ) - v_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the advecting component: z --> y
+    CALL transpose_zx( d, tend, d )
+    CALL transpose_xy( d, tend, d )
+
+!
+!-- Transpose the component to be advected: x --> y
+    CALL transpose_xy( v_ad, tend, v_ad )
+
+#endif
+
+!
+!-- Upstream-Spline advection of u in y-direction
+    CALL spline_y( v_ad, d, 'u' )
+
+!
+!-- Advection of u in z-direction:
+!-- the advecting component (w) must be averaged out on the u grid
+!-- (weighted for non-equidistant grid)
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) =  ( 0.5 * ( w(k,j,i)   + w(k,j,i-1)   ) * &
+                                 ( zu(k) - zw(k-1) )             &
+                         + 0.5 * ( w(k-1,j,i) + w(k-1,j,i-1) ) * &
+                                 ( zw(k) - zu(k)   )             &
+                         ) * ddzw(k)
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the component to be advected: y --> z (= y --> x + x --> z)
+    CALL transpose_yx( v_ad, tend, v_ad )
+    CALL transpose_xz( v_ad, tend, v_ad )
+
+!
+!-- Resize tend to its normal size
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+#endif
+
+!
+!-- Upstream-Spline advection of u in z-direction
+    CALL spline_z( v_ad, d, dzu, spl_tri_zu, 'u' )
+
+!
+!-- Compute the tendency term
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             tend(k,j,i) = ( v_ad(k,j,i) - u(k,j,i) ) / dt_3d 
+          ENDDO
+       ENDDO
+    ENDDO
+
+    DEALLOCATE( v_ad )
+
+    CALL cpu_log( log_point_s(17), 'advec_u_ups', 'stop' )
+
+ END SUBROUTINE advec_u_ups
Index: palm/tags/release-3.7/SOURCE/advec_v_pw.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_v_pw.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_v_pw.f90	(revision 393)
@@ -0,0 +1,116 @@
+ MODULE advec_v_pw_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 106 2007-08-16 14:30:26Z raasch
+! j loop is starting from nysv (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! vynp eliminated
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 09:46:08  raasch
+! nzb_2d replaced by nzb_v_inner
+!
+! Revision 1.1  1997/08/11 06:09:57  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for v velocity-component using Piacsek and Williams.
+! Vertical advection at the first grid point above the surface is done with
+! normal centred differences, because otherwise no information from the surface
+! would be communicated upwards due to w=0 at K=nzb.
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_v_pw
+
+    INTERFACE advec_v_pw
+       MODULE PROCEDURE advec_v_pw
+       MODULE PROCEDURE advec_v_pw_ij
+    END INTERFACE advec_v_pw
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_v_pw
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+ 
+
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  i = nxl, nxr
+          DO  j = nysv, nyn
+             DO  k = nzb_v_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) - 0.25 * (                           &
+                         ( v(k,j,i+1) * ( u(k,j-1,i+1) + u(k,j,i+1) - gu )     &
+                         - v(k,j,i-1) * ( u(k,j-1,i) + u(k,j,i) - gu ) ) * ddx &
+                       + ( v(k,j+1,i) * ( v(k,j+1,i) + v(k,j,i) - gv )         &
+                         - v(k,j-1,i) * ( v(k,j,i) + v(k,j-1,i) - gv ) ) * ddy &
+                       + ( v(k+1,j,i) * ( w(k,j-1,i) + w(k,j,i) )              &
+                         - v(k-1,j,i) * ( w(k-1,j-1,i) + w(k-1,j,i) ) )        &
+                                                                  * ddzw(k)    &
+                                                   )
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_v_pw
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_v_pw_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+
+
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  k = nzb_v_inner(j,i)+1, nzt
+          tend(k,j,i) = tend(k,j,i) - 0.25 * (                              &
+                         ( v(k,j,i+1) * ( u(k,j-1,i+1) + u(k,j,i+1) - gu )     &
+                         - v(k,j,i-1) * ( u(k,j-1,i) + u(k,j,i) - gu ) ) * ddx &
+                       + ( v(k,j+1,i) * ( v(k,j+1,i) + v(k,j,i) - gv )         &
+                         - v(k,j-1,i) * ( v(k,j,i) + v(k,j-1,i) - gv ) ) * ddy &
+                       + ( v(k+1,j,i) * ( w(k,j-1,i) + w(k,j,i) )              &
+                         - v(k-1,j,i) * ( w(k-1,j-1,i) + w(k-1,j,i) ) )        &
+                                                                  * ddzw(k)    &
+                                             )
+       ENDDO
+ 
+    END SUBROUTINE advec_v_pw_ij
+
+ END MODULE advec_v_pw_mod
+ 
Index: palm/tags/release-3.7/SOURCE/advec_v_up.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_v_up.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_v_up.f90	(revision 393)
@@ -0,0 +1,158 @@
+ MODULE advec_v_up_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 106 2007-08-16 14:30:26Z raasch
+! j loop is starting from nysv (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! vynp eliminated
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 09:46:37  raasch
+! nzb_2d replaced by nzb_v_inner
+!
+! Revision 1.1  1997/08/29 08:56:05  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for the v velocity-component using upstream scheme.
+! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
+!       The same problem occurs for all topography boundaries!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_v_up
+
+    INTERFACE advec_v_up
+       MODULE PROCEDURE advec_v_up
+       MODULE PROCEDURE advec_v_up_ij
+    END INTERFACE advec_v_up
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_v_up
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  ukomp, vkomp, wkomp
+
+
+       DO  i = nxl, nxr
+          DO  j = nysv, nyn
+             DO  k = nzb_v_inner(j,i)+1, nzt
+!
+!--             x-direction
+                ukomp = 0.25 * ( u(k,j,i)   + u(k,j-1,i) + &
+                                 u(k,j,i+1) + u(k,j-1,i+1) ) - u_gtrans
+                IF ( ukomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
+                ENDIF
+!
+!--             y-direction
+                vkomp = v(k,j,i) - v_gtrans
+                IF ( vkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( v(k,j+1,i) - v(k,j,i) ) * ddy
+                ENDIF
+!
+!--             z-direction
+                wkomp = 0.25 * ( w(k,j,i)  + w(k-1,j,i) + &
+                                 w(k,j-1,i) + w(k-1,j-1,i) )
+                IF ( wkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_v_up
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_v_up_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  ukomp, vkomp, wkomp
+
+
+       DO  k = nzb_v_inner(j,i)+1, nzt
+!
+!--       x-direction
+          ukomp = 0.25 * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1) &
+                         ) - u_gtrans
+          IF ( ukomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
+          ENDIF
+!
+!--       y-direction
+          vkomp = v(k,j,i) - v_gtrans
+          IF ( vkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( v(k,j+1,i) - v(k,j,i) ) * ddy
+          ENDIF
+!
+!--       z-direction
+          wkomp = 0.25 * ( w(k,j,i) + w(k-1,j,i) + w(k,j-1,i) + w(k-1,j-1,i) )
+          IF ( wkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - wkomp * &
+                                         ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE advec_v_up_ij
+
+ END MODULE advec_v_up_mod
Index: palm/tags/release-3.7/SOURCE/advec_v_ups.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_v_ups.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_v_ups.f90	(revision 393)
@@ -0,0 +1,186 @@
+ SUBROUTINE advec_v_ups
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 164 2008-05-15 08:46:15Z raasch
+! Arguments removed from transpose routines
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.7  2004/04/30 08:03:52  raasch
+! Enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 08:50:32  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-Spline advection of the v velocity-component. The advection process
+! is divided into three subsequent steps, one for each of the dimensions. The
+! result is stored as a tendency in array tend. The computation of the cubic
+! splines and the possible execution of the Long-filter require that all grid
+! points of the relevant dimension are available. For model runs on more than
+! one PE therefore both the advected and the advecting quantities are
+! transposed accordingly.
+!
+! Internally used arrays:
+! v_ad = scalar quantity to be advected, initialised = v at the beginning,
+!        also being used as temporary storage after each time step
+! d    = advecting component (u, v, or w)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  v_ad
+
+
+    CALL cpu_log( log_point_s(18), 'advec_v_ups', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Advection of v in x-direction:
+!-- Store v in temporary array v_ad (component to be advected, boundaries
+!-- are not used because they disturb the transposition)
+    ALLOCATE( v_ad(nzb+1:nzta,nys:nyna,nxl:nxra) )
+    v_ad = 0.0
+    v_ad(nzb+1:nzt,nys:nyn,nxl:nxr) = v(nzb+1:nzt,nys:nyn,nxl:nxr)
+
+!
+!-- Enlarge the size of tend, used as a working array for the transpositions
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+    ENDIF
+
+!
+!-- Transpose the component to be advected: z --> x
+    CALL transpose_zx( v_ad, tend, v_ad )
+
+#else
+
+!
+!-- Advection of v in x-direction:
+!-- Store v in temporary array v_ad (component to be advected)
+    ALLOCATE( v_ad(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    v_ad(:,:,:) = v(:,:,:)
+
+#endif
+
+!
+!-- Advecting component (u) must be averaged out on the v grid
+    d = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) = 0.25 * ( u(k,j-1,i) + u(k,j-1,i+1) + &
+                                 u(k,j,i+1) + u(k,j,i) ) - u_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the advecting component: z --> x
+    CALL transpose_zx( d, tend, d )
+
+#endif
+
+!
+!-- Upstream-Spline advection of v in x-direction. Array tend comes out
+!-- as v_ad before the advection step including cyclic boundaries.
+!-- It is needed for the long filter.
+    CALL spline_x( v_ad, d, 'v' )
+
+!
+!-- Advection of v in y-direction:
+!-- advecting component (d) = component to be advected (v)
+    d(nzb+1:nzt,nys:nyn,nxl:nxr) = v(nzb+1:nzt,nys:nyn,nxl:nxr) - v_gtrans
+
+#if defined( __parallel )
+
+!
+!-- Transpose the advecting component: z --> y
+    CALL transpose_zx( d, tend, d )
+    CALL transpose_xy( d, tend, d )
+
+!
+!-- Transpose the component to be advected: x --> y
+    CALL transpose_xy( v_ad, tend, v_ad )
+
+#endif
+
+!
+!-- Upstream-Spline advection of v in y-direction
+    CALL spline_y( v_ad, d, 'v' )
+
+!
+!-- Advection of v in z-direction:
+!-- the advecting component (w) must be averaged out on the v grid
+!-- (weighted for non-equidistant grid)
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) =  ( 0.5 * ( w(k-1,j-1,i) + w(k-1,j,i) ) * &
+                                 ( zw(k) - zu(k) ) + &
+                           0.5 * ( w(k,j,i) + w(k,j-1,i) ) * &
+                                 ( zu(k) - zw(k-1) ) &
+                         ) * ddzw(k)
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+    
+!
+!-- Transpose the component to be advected: y --> z (= y --> x + x --> z)
+    CALL transpose_yx( v_ad, tend, v_ad )
+    CALL transpose_xz( v_ad, tend, v_ad )
+
+!
+!-- Resize tend to its normal size
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+#endif
+
+!
+!-- Upstream-Spline advection of v in z-direction
+    CALL spline_z( v_ad, d, dzu, spl_tri_zu, 'v' )
+
+!
+!-- Compute the tendency term
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             tend(k,j,i) = ( v_ad(k,j,i) - v(k,j,i) ) / dt_3d 
+          ENDDO
+       ENDDO
+    ENDDO
+
+    DEALLOCATE( v_ad )
+
+    CALL cpu_log( log_point_s(18), 'advec_v_ups', 'stop' )
+
+ END SUBROUTINE advec_v_ups
Index: palm/tags/release-3.7/SOURCE/advec_w_pw.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_w_pw.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_w_pw.f90	(revision 393)
@@ -0,0 +1,108 @@
+ MODULE advec_w_pw_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 09:47:01  raasch
+! nzb_2d replaced by nzb_w_inner
+!
+! Revision 1.1  1997/08/11 06:10:29  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for w velocity-component using Piacsek and Williams.
+! Vertical advection at the first grid point above the surface is done with
+! normal centred differences, because otherwise no information from the surface
+! would be communicated upwards due to w=0 at k=nzb.
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_w_pw
+
+    INTERFACE advec_w_pw
+       MODULE PROCEDURE advec_w_pw
+       MODULE PROCEDURE advec_w_pw_ij
+    END INTERFACE advec_w_pw
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_w_pw
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+
+ 
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_w_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) - 0.25 * (                           &
+                         ( w(k,j,i+1) * ( u(k+1,j,i+1) + u(k,j,i+1) - gu )     &
+                         - w(k,j,i-1) * ( u(k+1,j,i) + u(k,j,i) - gu ) ) * ddx &
+                       + ( w(k,j+1,i) * ( v(k+1,j+1,i) + v(k,j+1,i) - gv )     &
+                         - w(k,j-1,i) * ( v(k+1,j,i) + v(k,j,i) - gv ) ) * ddy &
+                       + ( w(k+1,j,i) * ( w(k+1,j,i) + w(k,j,i) )              &
+                         - w(k-1,j,i) * ( w(k,j,i) + w(k-1,j,i) ) )            &
+                                                                  * ddzu(k+1)  &
+                                                   )
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_w_pw
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_w_pw_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  gu, gv
+
+
+       gu = 2.0 * u_gtrans
+       gv = 2.0 * v_gtrans
+       DO  k = nzb_w_inner(j,i)+1, nzt
+          tend(k,j,i) = tend(k,j,i) - 0.25 * (                              &
+                         ( w(k,j,i+1) * ( u(k+1,j,i+1) + u(k,j,i+1) - gu )     &
+                         - w(k,j,i-1) * ( u(k+1,j,i) + u(k,j,i) - gu ) ) * ddx &
+                       + ( w(k,j+1,i) * ( v(k+1,j+1,i) + v(k,j+1,i) - gv )     &
+                         - w(k,j-1,i) * ( v(k+1,j,i) + v(k,j,i) - gv ) ) * ddy &
+                       + ( w(k+1,j,i) * ( w(k+1,j,i) + w(k,j,i) )              &
+                         - w(k-1,j,i) * ( w(k,j,i) + w(k-1,j,i) ) )            &
+                                                                  * ddzu(k+1)  &
+                                                )
+       ENDDO
+
+    END SUBROUTINE advec_w_pw_ij
+
+ END MODULE advec_w_pw_mod
Index: palm/tags/release-3.7/SOURCE/advec_w_up.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_w_up.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_w_up.f90	(revision 393)
@@ -0,0 +1,149 @@
+ MODULE advec_w_up_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2006/02/23 09:47:23  raasch
+! *** empty log message ***
+!
+! Revision 1.1  1997/08/29 08:56:33  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Advection term for the w velocity-component using upstream scheme.
+! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0
+!       The same problem occurs for all topography boundaries!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC advec_w_up
+
+    INTERFACE advec_w_up
+       MODULE PROCEDURE advec_w_up
+       MODULE PROCEDURE advec_w_up_ij
+    END INTERFACE advec_w_up
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_w_up
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  ukomp, vkomp
+
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_w_inner(j,i)+1, nzt-1
+!
+!--             x-direction
+                ukomp = 0.25 * ( u(k,j,i)   + u(k,j,i+1) + &
+                                 u(k+1,j,i) + u(k+1,j,i+1) ) - u_gtrans
+                IF ( ukomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( w(k,j,i) - w(k,j,i-1) ) * ddx
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( w(k,j,i+1) - w(k,j,i) ) * ddx
+                ENDIF
+!
+!--             y-direction
+                vkomp = 0.25 * ( v(k,j,i) + v(k,j+1,i) + &
+                                 v(k+1,j,i) + v(k+1,j+1,i) ) - v_gtrans
+                IF ( vkomp > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( w(k,j,i) - w(k,j-1,i) ) * ddy
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( w(k,j+1,i) - w(k,j,i) ) * ddy
+                ENDIF
+!
+!--             z-direction
+                IF ( w(k,j,i) > 0.0 )  THEN
+                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) * &
+                                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+                ELSE
+                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) * &
+                                         ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE advec_w_up
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE advec_w_up_ij( i, j )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  ukomp, vkomp
+
+
+       DO  k = nzb_w_inner(j,i)+1, nzt-1
+!
+!--       x-direction
+          ukomp = 0.25 * ( u(k,j,i) + u(k,j,i+1) + u(k+1,j,i) + u(k+1,j,i+1) &
+                         ) - u_gtrans
+          IF ( ukomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( w(k,j,i) - w(k,j,i-1) ) * ddx
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - ukomp * &
+                                         ( w(k,j,i+1) - w(k,j,i) ) * ddx
+          ENDIF
+!
+!--       y-direction
+          vkomp = 0.25 * ( v(k,j,i) + v(k,j+1,i) + v(k+1,j,i) + v(k+1,j+1,i) &
+                         ) - v_gtrans
+          IF ( vkomp > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( w(k,j,i) - w(k,j-1,i) ) * ddy
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - vkomp * &
+                                         ( w(k,j+1,i) - w(k,j,i) ) * ddy
+          ENDIF
+!
+!--       z-direction
+          IF ( w(k,j,i) > 0.0 )  THEN
+             tend(k,j,i) = tend(k,j,i) - w(k,j,i) * &
+                                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+          ELSE
+             tend(k,j,i) = tend(k,j,i) - w(k,j,i) * &
+                                         ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE advec_w_up_ij
+
+ END MODULE advec_w_up_mod
Index: palm/tags/release-3.7/SOURCE/advec_w_ups.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/advec_w_ups.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/advec_w_ups.f90	(revision 393)
@@ -0,0 +1,182 @@
+ SUBROUTINE advec_w_ups
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 164 2008-05-15 08:46:15Z raasch
+! Arguments removed from transpose routines
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2004/04/30 08:05:05  raasch
+! Enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 08:52:09  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-Spline advection of the w velocity-component. The advection process
+! is divided into three subsequent steps, one for each of the dimensions. The
+! result is stored as a tendency in array tend. The computation of the cubic
+! splines and the possible execution of the Long-filter require that all grid
+! points of the relevant dimension are available. For model runs on more than
+! one PE therefore both the advected and the advecting quantities are
+! transposed accordingly.
+!
+! Internally used arrays:
+! v_ad = scalar quantity to be advected, initialised = w at the beginning, also
+!        being used as temporary storage after each time step
+! d    = advecting component (u, v, or w)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i,j,k
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  v_ad
+
+
+    CALL cpu_log( log_point_s(19), 'advec_w_ups', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Advection of w in x-direction:
+!-- Store w in temporary array v_ad (component to be advected, boundaries
+!-- are not used because they disturb the transposition)
+    ALLOCATE( v_ad(nzb+1:nzta,nys:nyna,nxl:nxra) )
+    v_ad = 0.0
+    v_ad(nzb+1:nzt,nys:nyn,nxl:nxr) = w(nzb+1:nzt,nys:nyn,nxl:nxr)
+
+!
+!-- Enlarge the size of tend, used as a working array for the transpositions
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+    ENDIF
+
+!
+!-- Transpose the component to be advected: z --> x
+    CALL transpose_zx( v_ad, tend, v_ad )
+
+#else
+
+!
+!-- Advection of w in x-direction:
+!-- Store w in temporary array v_ad (component to be advected)
+    ALLOCATE( v_ad(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    v_ad(:,:,:) = w(:,:,:)
+
+#endif
+
+!
+!-- Advecting component (u) must be averaged out on the w grid
+    d = 0.0
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) = 0.25 * ( u(k,j,i) + u(k,j,i+1) +   &
+                                 u(k+1,j,i+1) + u(k+1,j,i) ) - u_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+    
+#if defined( __parallel )
+
+!
+!-- Transpose the component to be advected: z --> x
+    CALL transpose_zx( d, tend, d )
+
+#endif
+
+!
+!-- Upstream-Spline advection of w in x-direction. Array tend comes out
+!-- as v_ad before the advection step including cyclic boundaries.
+!-- It is needed for the long filter.
+    CALL spline_x( v_ad, d, 'w' )
+
+!
+!-- Advection of w in y-direction:
+!-- advecting component (v) must be averaged out on the w grid
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) = 0.25 * ( v(k,j,i) + v(k,j+1,i) +   &
+                                 v(k+1,j+1,i) + v(k+1,j,i) ) - v_gtrans
+          ENDDO
+       ENDDO
+    ENDDO
+
+#if defined( __parallel )
+
+!
+!-- Transpose the advecting component: z --> y
+    CALL transpose_zx( d, tend, d )
+    CALL transpose_xy( d, tend, d )
+
+!
+!-- Transpose the component to be advected: x --> y
+    CALL transpose_xy( v_ad, tend, v_ad )
+
+#endif
+
+!
+!-- Upstream-Spline advection of w in y-direction
+    CALL spline_y( v_ad, d, 'w' )
+
+!
+!-- Advection of w in z-direction:
+!-- advecting component (d) = component to be advected (v_ad)
+    d(nzb+1:nzt,nys:nyn,nxl:nxr) = w(nzb+1:nzt,nys:nyn,nxl:nxr)
+
+#if defined( __parallel )
+
+!
+!-- Transpose the component to be advected: y --> z (= y --> x + x --> z)
+    CALL transpose_yx( v_ad, tend, v_ad )
+    CALL transpose_xz( v_ad, tend, v_ad )
+
+!
+!-- Resize tend to its normal size
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+#endif
+
+!
+!-- Upstream-Spline advection of w in z-direction
+    CALL spline_z( v_ad, d, dzw, spl_tri_zw, 'w' )
+
+!
+!-- Compute the tendency term
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             tend(k,j,i) = ( v_ad(k,j,i) - w(k,j,i) ) / dt_3d
+          ENDDO
+       ENDDO
+    ENDDO
+
+    DEALLOCATE( v_ad )
+
+    CALL cpu_log( log_point_s(19), 'advec_w_ups', 'stop' )
+
+ END SUBROUTINE advec_w_ups
Index: palm/tags/release-3.7/SOURCE/asselin_filter.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/asselin_filter.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/asselin_filter.f90	(revision 393)
@@ -0,0 +1,110 @@
+ SUBROUTINE asselin_filter
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ---------------------
+! $Id$
+!
+! 75 2007-03-22 09:54:05Z raasch
+! moisture renamed humidity
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.8  2004/01/30 10:14:02  raasch
+! Scalar lower k index nzb replaced by 2d-array nzb_2d
+!
+! Revision 1.1  2002/05/02  13:43:53  13:43:53  raasch (Siegfried Raasch)
+! Initial revision
+! 
+!
+! Description:
+! -------------
+! Time filter needed for the leap-frog method
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog 
+    USE indices
+    USE interfaces
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+
+
+    CALL cpu_log( log_point(9), 'timefilter', 'start' )
+
+!
+!-- Return to the calling routine, if time filter is not to be applied
+    IF ( asselin_filter_factor == 0.0 )  RETURN
+
+!
+!-- Apply the time filter
+#if defined( __ibm )
+!$OMP PARALLEL PRIVATE (i,j,k)
+!$OMP DO
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+
+          DO  k = nzb_2d(j,i), nzt+1
+             u(k,j,i) = u(k,j,i) + asselin_filter_factor * &
+                                   ( u_p(k,j,i) - 2.0 * u(k,j,i) + u_m(k,j,i) )
+             v(k,j,i) = v(k,j,i) + asselin_filter_factor * &
+                                   ( v_p(k,j,i) - 2.0 * v(k,j,i) + v_m(k,j,i) )
+             w(k,j,i) = w(k,j,i) + asselin_filter_factor * &
+                                   ( w_p(k,j,i) - 2.0 * w(k,j,i) + w_m(k,j,i) )
+          ENDDO
+
+          IF ( scalar_advec /= 'bc-scheme' )  THEN
+             DO  k = nzb_2d(j,i), nzt+1
+                pt(k,j,i) = pt(k,j,i) + asselin_filter_factor * &
+                            ( pt_p(k,j,i) - 2.0 * pt(k,j,i) + pt_m(k,j,i) )
+             ENDDO
+          ENDIF
+
+          IF ( .NOT. constant_diffusion  .AND.  scalar_advec /= 'bc-scheme' ) &
+          THEN
+             DO  k = nzb_2d(j,i), nzt+1
+                e(k,j,i) = e(k,j,i) + asselin_filter_factor * &
+                           ( e_p(k,j,i) - 2.0 * e(k,j,i) + e_m(k,j,i) )
+             ENDDO
+          ENDIF
+
+          IF ( ( humidity .OR. passive_scalar )  .AND. &
+             scalar_advec /= 'bc-scheme' )  THEN
+             DO  k = nzb_2d(j,i), nzt+1
+                q(k,j,i) = q(k,j,i) + asselin_filter_factor * &
+                           ( q_p(k,j,i) - 2.0 * q(k,j,i) + q_m(k,j,i) )
+             ENDDO
+          ENDIF
+
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL
+#else
+    u = u + asselin_filter_factor * ( u_p - 2.0 * u + u_m )
+    v = v + asselin_filter_factor * ( v_p - 2.0 * v + v_m )
+    w = w + asselin_filter_factor * ( w_p - 2.0 * w + w_m )
+
+    IF ( scalar_advec /= 'bc-scheme' )  THEN
+       pt = pt + asselin_filter_factor * ( pt_p - 2.0 * pt + pt_m )
+    ENDIF
+
+    IF ( .NOT. constant_diffusion  .AND.  scalar_advec /= 'bc-scheme' )  THEN
+       e = e + asselin_filter_factor * ( e_p - 2.0 * e + e_m )
+    ENDIF
+
+    IF ( ( humidity .OR. passive_scalar )  .AND. &
+         scalar_advec /= 'bc-scheme' )  THEN
+       q = q + asselin_filter_factor * ( q_p - 2.0 * q + q_m )
+    ENDIF
+#endif
+
+    CALL cpu_log( log_point(9), 'timefilter', 'stop' )
+
+ END SUBROUTINE asselin_filter
Index: palm/tags/release-3.7/SOURCE/average_3d_data.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/average_3d_data.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/average_3d_data.f90	(revision 393)
@@ -0,0 +1,288 @@
+ SUBROUTINE average_3d_data
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 367 2009-08-25 08:35:52Z maronga
+! Added calculation of shf* and qsws*
+!
+! 96 2007-06-04 08:07:41Z raasch
+! Averaging of density and salinity
+!
+! 72 2007-03-19 08:20:46Z raasch
+! Averaging the precipitation rate and roughness length (prr*, z0*)
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.1  2006/02/23 09:48:58  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Time-averaging of 3d-data-arrays.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ii, j, k
+
+
+    CALL cpu_log (log_point(35),'average_3d_data','start')
+
+!
+!-- Check, if averaging is necessary
+    IF ( average_count_3d <= 1 )  RETURN
+
+!
+!-- Loop of all variables to be averaged.
+    DO  ii = 1, doav_n
+
+!
+!--    Store the array chosen on the temporary array.
+       SELECT CASE ( TRIM( doav(ii) ) )
+
+          CASE ( 'e' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      e_av(k,j,i) = e_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'qsws*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   qsws_av(j,i) = qsws_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 'lwp*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   lwp_av(j,i) = lwp_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 'p' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      p_av(k,j,i) = p_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'pc' )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb, nzt+1
+                      pc_av(k,j,i) = pc_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'pr' )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb, nzt+1
+                      pr_av(k,j,i) = pr_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'prr*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   precipitation_rate_av(j,i) = precipitation_rate_av(j,i) / &
+                                                REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 'pt' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      pt_av(k,j,i) = pt_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'q' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      q_av(k,j,i) = q_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_av(k,j,i) = ql_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_c' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_c_av(k,j,i) = ql_c_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_v' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_v_av(k,j,i) = ql_v_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_vp' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_vp_av(k,j,i) = ql_vp_av(k,j,i) / &
+                                        REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'qv' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      qv_av(k,j,i) = qv_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'rho' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      rho_av(k,j,i) = rho_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 's' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      s_av(k,j,i) = s_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'sa' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      sa_av(k,j,i) = sa_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+         CASE ( 'shf*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   shf_av(j,i) = shf_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 't*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   ts_av(j,i) = ts_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 'u' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      u_av(k,j,i) = u_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'u*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   us_av(j,i) = us_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE ( 'v' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      v_av(k,j,i) = v_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'vpt' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      vpt_av(k,j,i) = vpt_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'w' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      w_av(k,j,i) = w_av(k,j,i) / REAL( average_count_3d )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'z0*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   z0_av(j,i) = z0_av(j,i) / REAL( average_count_3d )
+                ENDDO
+             ENDDO
+
+          CASE DEFAULT
+!
+!--          User-defined quantity
+             CALL user_3d_data_averaging( 'average', doav(ii) )
+
+       END SELECT
+
+    ENDDO
+
+!
+!-- Reset the counter
+    average_count_3d = 0.0
+
+    CALL cpu_log (log_point(35),'average_3d_data','stop','nobarrier')
+
+
+ END SUBROUTINE average_3d_data
Index: palm/tags/release-3.7/SOURCE/boundary_conds.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/boundary_conds.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/boundary_conds.f90	(revision 393)
@@ -0,0 +1,617 @@
+ SUBROUTINE boundary_conds( range )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 107 2007-08-17 13:54:45Z raasch
+! Boundary conditions for temperature adjusted for coupled runs,
+! bugfixes for the radiation boundary conditions at the outflow: radiation
+! conditions are used for every substep, phase speeds are calculated for the
+! first Runge-Kutta substep only and then reused, several index values changed
+!
+! 95 2007-06-02 16:48:38Z raasch
+! Boundary conditions for salinity added
+!
+! 75 2007-03-22 09:54:05Z raasch
+! The "main" part sets conditions for time level t+dt instead of level t,
+! outflow boundary conditions changed from Neumann to radiation condition,
+! uxrp, vynp eliminated, moisture renamed humidity
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Boundary conditions for e(nzt), pt(nzt), and q(nzt) removed because these
+! gridpoints are now calculated by the prognostic equation,
+! Dirichlet and zero gradient condition for pt established at top boundary
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 09:54:55  raasch
+! Surface boundary conditions in case of topography: nzb replaced by
+! 2d-k-index-arrays (nzb_w_inner, etc.). Conditions for u and v remain
+! unchanged (still using nzb) because a non-flat topography must use a
+! Prandtl-layer, which don't requires explicit setting of the surface values.
+!
+! Revision 1.1  1997/09/12 06:21:34  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Boundary conditions for the prognostic quantities (range='main').
+! In case of non-cyclic lateral boundaries the conditions for velocities at
+! the outflow are set after the pressure solver has been called (range=
+! 'outflow_uvw').
+! One additional bottom boundary condition is applied for the TKE (=(u*)**2)
+! in prandtl_fluxes. The cyclic lateral boundary conditions are implicitly
+! handled in routine exchange_horiz. Pressure boundary conditions are
+! explicitly set in routines pres, poisfft, poismg and sor.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  range
+
+    INTEGER ::  i, j, k
+
+    REAL    ::  c_max, denom
+
+
+    IF ( range == 'main')  THEN
+!
+!--    Bottom boundary
+       IF ( ibc_uv_b == 0 )  THEN
+!
+!--       Satisfying the Dirichlet condition with an extra layer below the
+!--       surface where the u and v component change their sign
+          u_p(nzb,:,:) = -u_p(nzb+1,:,:)
+          v_p(nzb,:,:) = -v_p(nzb+1,:,:)
+       ELSE
+          u_p(nzb,:,:) = u_p(nzb+1,:,:)
+          v_p(nzb,:,:) = v_p(nzb+1,:,:)
+       ENDIF
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             w_p(nzb_w_inner(j,i),j,i) = 0.0
+          ENDDO
+       ENDDO
+
+!
+!--    Top boundary
+       IF ( ibc_uv_t == 0 )  THEN
+          u_p(nzt+1,:,:) = ug(nzt+1)
+          v_p(nzt+1,:,:) = vg(nzt+1)
+       ELSE
+          u_p(nzt+1,:,:) = u_p(nzt,:,:)
+          v_p(nzt+1,:,:) = v_p(nzt,:,:)
+       ENDIF
+       w_p(nzt:nzt+1,:,:) = 0.0  ! nzt is not a prognostic level (but cf. pres)
+
+!
+!--    Temperature at bottom boundary.
+!--    In case of coupled runs (ibc_pt_b = 2) the temperature is given by
+!--    the sea surface temperature of the coupled ocean model.
+       IF ( ibc_pt_b == 0 )  THEN
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                pt_p(nzb_s_inner(j,i),j,i) = pt(nzb_s_inner(j,i),j,i)
+             ENDDO
+          ENDDO
+       ELSEIF ( ibc_pt_b == 1 )  THEN
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                pt_p(nzb_s_inner(j,i),j,i) = pt_p(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+       ENDIF
+
+!
+!--    Temperature at top boundary
+       IF ( ibc_pt_t == 0 )  THEN
+          pt_p(nzt+1,:,:) = pt(nzt+1,:,:)
+       ELSEIF ( ibc_pt_t == 1 )  THEN
+          pt_p(nzt+1,:,:) = pt_p(nzt,:,:)
+       ELSEIF ( ibc_pt_t == 2 )  THEN
+          pt_p(nzt+1,:,:) = pt_p(nzt,:,:)   + bc_pt_t_val * dzu(nzt+1)
+       ENDIF
+
+!
+!--    Boundary conditions for TKE
+!--    Generally Neumann conditions with de/dz=0 are assumed
+       IF ( .NOT. constant_diffusion )  THEN
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                e_p(nzb_s_inner(j,i),j,i) = e_p(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+          e_p(nzt+1,:,:) = e_p(nzt,:,:)
+       ENDIF
+
+!
+!--    Boundary conditions for salinity
+       IF ( ocean )  THEN
+!
+!--       Bottom boundary: Neumann condition because salinity flux is always
+!--       given
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                sa_p(nzb_s_inner(j,i),j,i) = sa_p(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+
+!
+!--       Top boundary: Dirichlet or Neumann
+          IF ( ibc_sa_t == 0 )  THEN
+             sa_p(nzt+1,:,:) = sa(nzt+1,:,:)
+          ELSEIF ( ibc_sa_t == 1 )  THEN
+             sa_p(nzt+1,:,:) = sa_p(nzt,:,:)
+          ENDIF
+
+       ENDIF
+
+!
+!--    Boundary conditions for total water content or scalar,
+!--    bottom and top boundary (see also temperature)
+       IF ( humidity  .OR.  passive_scalar )  THEN
+!
+!--       Surface conditions for constant_humidity_flux
+          IF ( ibc_q_b == 0 ) THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   q_p(nzb_s_inner(j,i),j,i) = q(nzb_s_inner(j,i),j,i)
+                ENDDO
+             ENDDO
+          ELSE
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   q_p(nzb_s_inner(j,i),j,i) = q_p(nzb_s_inner(j,i)+1,j,i)
+                ENDDO
+             ENDDO
+          ENDIF
+!
+!--       Top boundary
+          q_p(nzt+1,:,:) = q_p(nzt,:,:)   + bc_q_t_val * dzu(nzt+1)
+       ENDIF
+
+!
+!--    Lateral boundary conditions at the inflow. Quasi Neumann conditions
+!--    are needed for the wall normal velocity in order to ensure zero
+!--    divergence. Dirichlet conditions are used for all other quantities.
+       IF ( inflow_s )  THEN
+          v_p(:,nys,:) = v_p(:,nys-1,:)
+       ELSEIF ( inflow_n ) THEN
+          v_p(:,nyn,:) = v_p(:,nyn+1,:)
+       ELSEIF ( inflow_l ) THEN
+          u_p(:,:,nxl) = u_p(:,:,nxl-1)
+       ELSEIF ( inflow_r ) THEN
+          u_p(:,:,nxr) = u_p(:,:,nxr+1)
+       ENDIF
+
+!
+!--    Lateral boundary conditions for scalar quantities at the outflow
+       IF ( outflow_s )  THEN
+          pt_p(:,nys-1,:)     = pt_p(:,nys,:)
+          IF ( .NOT. constant_diffusion     )  e_p(:,nys-1,:) = e_p(:,nys,:)
+          IF ( humidity .OR. passive_scalar )  q_p(:,nys-1,:) = q_p(:,nys,:)
+       ELSEIF ( outflow_n )  THEN
+          pt_p(:,nyn+1,:)     = pt_p(:,nyn,:)
+          IF ( .NOT. constant_diffusion     )  e_p(:,nyn+1,:) = e_p(:,nyn,:)
+          IF ( humidity .OR. passive_scalar )  q_p(:,nyn+1,:) = q_p(:,nyn,:)
+       ELSEIF ( outflow_l )  THEN
+          pt_p(:,:,nxl-1)     = pt_p(:,:,nxl)
+          IF ( .NOT. constant_diffusion     )  e_p(:,:,nxl-1) = e_p(:,:,nxl)
+          IF ( humidity .OR. passive_scalar )  q_p(:,:,nxl-1) = q_p(:,:,nxl)
+       ELSEIF ( outflow_r )  THEN
+          pt_p(:,:,nxr+1)     = pt_p(:,:,nxr)
+          IF ( .NOT. constant_diffusion     )  e_p(:,:,nxr+1) = e_p(:,:,nxr)
+          IF ( humidity .OR. passive_scalar )  q_p(:,:,nxr+1) = q_p(:,:,nxr)
+       ENDIF
+
+    ENDIF
+
+!
+!-- Radiation boundary condition for the velocities at the respective outflow
+    IF ( outflow_s )  THEN
+
+       c_max = dy / dt_3d
+
+       DO i = nxl-1, nxr+1
+          DO k = nzb+1, nzt+1
+
+!
+!--          Calculate the phase speeds for u,v, and w. In case of using a
+!--          Runge-Kutta scheme, do this for the first substep only and then
+!--          reuse this values for the further substeps.
+             IF ( intermediate_timestep_count == 1 )  THEN
+
+                denom = u_m_s(k,0,i) - u_m_s(k,1,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_u(k,i) = -c_max * ( u(k,0,i) - u_m_s(k,0,i) ) / denom
+                   IF ( c_u(k,i) < 0.0 )  THEN
+                      c_u(k,i) = 0.0
+                   ELSEIF ( c_u(k,i) > c_max )  THEN
+                      c_u(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_u(k,i) = c_max
+                ENDIF
+
+                denom = v_m_s(k,1,i) - v_m_s(k,2,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_v(k,i) = -c_max * ( v(k,1,i) - v_m_s(k,1,i) ) / denom
+                   IF ( c_v(k,i) < 0.0 )  THEN
+                      c_v(k,i) = 0.0
+                   ELSEIF ( c_v(k,i) > c_max )  THEN
+                      c_v(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_v(k,i) = c_max
+                ENDIF
+
+                denom = w_m_s(k,0,i) - w_m_s(k,1,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_w(k,i) = -c_max * ( w(k,0,i) - w_m_s(k,0,i) ) / denom
+                   IF ( c_w(k,i) < 0.0 )  THEN
+                      c_w(k,i) = 0.0
+                   ELSEIF ( c_w(k,i) > c_max )  THEN
+                      c_w(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_w(k,i) = c_max
+                ENDIF
+
+!
+!--             Save old timelevels for the next timestep
+                u_m_s(k,:,i) = u(k,0:1,i)
+                v_m_s(k,:,i) = v(k,1:2,i)
+                w_m_s(k,:,i) = w(k,0:1,i)
+
+             ENDIF
+
+!
+!--          Calculate the new velocities
+             u_p(k,-1,i) = u(k,-1,i) - dt_3d * tsc(2) * c_u(k,i) * &
+                                       ( u(k,-1,i) - u(k,0,i) ) * ddy
+
+             v_p(k,0,i)  = v(k,0,i)  - dt_3d * tsc(2) * c_v(k,i) * &
+                                       ( v(k,0,i) - v(k,1,i) ) * ddy
+
+             w_p(k,-1,i) = w(k,-1,i) - dt_3d * tsc(2) * c_w(k,i) * &
+                                       ( w(k,-1,i) - w(k,0,i) ) * ddy
+
+          ENDDO
+       ENDDO
+
+!
+!--    Bottom boundary at the outflow
+       IF ( ibc_uv_b == 0 )  THEN
+          u_p(nzb,-1,:) = -u_p(nzb+1,-1,:) 
+          v_p(nzb,0,:)  = -v_p(nzb+1,0,:)  
+       ELSE                    
+          u_p(nzb,-1,:) =  u_p(nzb+1,-1,:)
+          v_p(nzb,0,:)  =  v_p(nzb+1,0,:)
+       ENDIF
+       w_p(nzb,-1,:) = 0.0
+
+!
+!--    Top boundary at the outflow
+       IF ( ibc_uv_t == 0 )  THEN
+          u_p(nzt+1,-1,:) = ug(nzt+1)
+          v_p(nzt+1,0,:)  = vg(nzt+1)
+       ELSE
+          u_p(nzt+1,-1,:) = u(nzt,-1,:)
+          v_p(nzt+1,0,:)  = v(nzt,0,:)
+       ENDIF
+       w_p(nzt:nzt+1,-1,:) = 0.0
+
+    ENDIF
+
+    IF ( outflow_n )  THEN
+
+       c_max = dy / dt_3d
+
+       DO i = nxl-1, nxr+1
+          DO k = nzb+1, nzt+1
+
+!
+!--          Calculate the phase speeds for u,v, and w. In case of using a
+!--          Runge-Kutta scheme, do this for the first substep only and then
+!--          reuse this values for the further substeps.
+             IF ( intermediate_timestep_count == 1 )  THEN
+
+                denom = u_m_n(k,ny,i) - u_m_n(k,ny-1,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_u(k,i) = -c_max * ( u(k,ny,i) - u_m_n(k,ny,i) ) / denom
+                   IF ( c_u(k,i) < 0.0 )  THEN
+                      c_u(k,i) = 0.0
+                   ELSEIF ( c_u(k,i) > c_max )  THEN
+                      c_u(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_u(k,i) = c_max
+                ENDIF
+
+                denom = v_m_n(k,ny,i) - v_m_n(k,ny-1,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_v(k,i) = -c_max * ( v(k,ny,i) - v_m_n(k,ny,i) ) / denom
+                   IF ( c_v(k,i) < 0.0 )  THEN
+                      c_v(k,i) = 0.0
+                   ELSEIF ( c_v(k,i) > c_max )  THEN
+                      c_v(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_v(k,i) = c_max
+                ENDIF
+
+                denom = w_m_n(k,ny,i) - w_m_n(k,ny-1,i)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_w(k,i) = -c_max * ( w(k,ny,i) - w_m_n(k,ny,i) ) / denom
+                   IF ( c_w(k,i) < 0.0 )  THEN
+                      c_w(k,i) = 0.0
+                   ELSEIF ( c_w(k,i) > c_max )  THEN
+                      c_w(k,i) = c_max
+                   ENDIF
+                ELSE
+                   c_w(k,i) = c_max
+                ENDIF
+
+!
+!--             Swap timelevels for the next timestep
+                u_m_n(k,:,i) = u(k,ny-1:ny,i)
+                v_m_n(k,:,i) = v(k,ny-1:ny,i)
+                w_m_n(k,:,i) = w(k,ny-1:ny,i)
+
+             ENDIF
+
+!
+!--          Calculate the new velocities
+             u_p(k,ny+1,i) = u(k,ny+1,i) - dt_3d * tsc(2) * c_u(k,i) * &
+                                           ( u(k,ny+1,i) - u(k,ny,i) ) * ddy
+
+             v_p(k,ny+1,i) = v(k,ny+1,i) - dt_3d * tsc(2) * c_v(k,i) * &
+                                           ( v(k,ny+1,i) - v(k,ny,i) ) * ddy
+
+             w_p(k,ny+1,i) = w(k,ny+1,i) - dt_3d * tsc(2) * c_w(k,i) * &
+                                           ( w(k,ny+1,i) - w(k,ny,i) ) * ddy
+
+          ENDDO
+       ENDDO
+
+!
+!--    Bottom boundary at the outflow
+       IF ( ibc_uv_b == 0 )  THEN
+          u_p(nzb,ny+1,:) = -u_p(nzb+1,ny+1,:) 
+          v_p(nzb,ny+1,:) = -v_p(nzb+1,ny+1,:)  
+       ELSE                    
+          u_p(nzb,ny+1,:) =  u_p(nzb+1,ny+1,:)
+          v_p(nzb,ny+1,:) =  v_p(nzb+1,ny+1,:)
+       ENDIF
+       w_p(nzb,ny+1,:) = 0.0
+
+!
+!--    Top boundary at the outflow
+       IF ( ibc_uv_t == 0 )  THEN
+          u_p(nzt+1,ny+1,:) = ug(nzt+1)
+          v_p(nzt+1,ny+1,:) = vg(nzt+1)
+       ELSE
+          u_p(nzt+1,ny+1,:) = u_p(nzt,nyn+1,:)
+          v_p(nzt+1,ny+1,:) = v_p(nzt,nyn+1,:)
+       ENDIF
+       w_p(nzt:nzt+1,ny+1,:) = 0.0
+
+    ENDIF
+
+    IF ( outflow_l )  THEN
+
+       c_max = dx / dt_3d
+
+       DO j = nys-1, nyn+1
+          DO k = nzb+1, nzt+1
+
+!
+!--          Calculate the phase speeds for u,v, and w. In case of using a
+!--          Runge-Kutta scheme, do this for the first substep only and then
+!--          reuse this values for the further substeps.
+             IF ( intermediate_timestep_count == 1 )  THEN
+
+                denom = u_m_l(k,j,1) - u_m_l(k,j,2)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_u(k,j) = -c_max * ( u(k,j,1) - u_m_l(k,j,1) ) / denom
+                   IF ( c_u(k,j) < 0.0 )  THEN
+                      c_u(k,j) = 0.0
+                   ELSEIF ( c_u(k,j) > c_max )  THEN
+                      c_u(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_u(k,j) = c_max
+                ENDIF
+
+                denom = v_m_l(k,j,0) - v_m_l(k,j,1)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_v(k,j) = -c_max * ( v(k,j,0) - v_m_l(k,j,0) ) / denom
+                   IF ( c_v(k,j) < 0.0 )  THEN
+                      c_v(k,j) = 0.0
+                   ELSEIF ( c_v(k,j) > c_max )  THEN
+                      c_v(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_v(k,j) = c_max
+                ENDIF
+
+                denom = w_m_l(k,j,0) - w_m_l(k,j,1)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_w(k,j) = -c_max * ( w(k,j,0) - w_m_l(k,j,0) ) / denom
+                   IF ( c_w(k,j) < 0.0 )  THEN
+                      c_w(k,j) = 0.0
+                   ELSEIF ( c_w(k,j) > c_max )  THEN
+                      c_w(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_w(k,j) = c_max
+                ENDIF
+
+!
+!--             Swap timelevels for the next timestep
+                u_m_l(k,j,:) = u(k,j,1:2)
+                v_m_l(k,j,:) = v(k,j,0:1)
+                w_m_l(k,j,:) = w(k,j,0:1)
+
+             ENDIF
+
+!
+!--          Calculate the new velocities
+             u_p(k,j,0)  = u(k,j,0)  - dt_3d * tsc(2) * c_u(k,j) * &
+                                       ( u(k,j,0) - u(k,j,1) ) * ddx
+
+             v_p(k,j,-1) = v(k,j,-1) - dt_3d * tsc(2) * c_v(k,j) * &
+                                       ( v(k,j,-1) - v(k,j,0) ) * ddx
+
+             w_p(k,j,-1) = w(k,j,-1) - dt_3d * tsc(2) * c_w(k,j) * &
+                                       ( w(k,j,-1) - w(k,j,0) ) * ddx
+
+          ENDDO
+       ENDDO
+
+!
+!--    Bottom boundary at the outflow
+       IF ( ibc_uv_b == 0 )  THEN
+          u_p(nzb,:,-1) = -u_p(nzb+1,:,-1) 
+          v_p(nzb,:,-1) = -v_p(nzb+1,:,-1)  
+       ELSE                    
+          u_p(nzb,:,-1) =  u_p(nzb+1,:,-1)
+          v_p(nzb,:,-1) =  v_p(nzb+1,:,-1)
+       ENDIF
+       w_p(nzb,:,-1) = 0.0
+
+!
+!--    Top boundary at the outflow
+       IF ( ibc_uv_t == 0 )  THEN
+          u_p(nzt+1,:,-1) = ug(nzt+1)
+          v_p(nzt+1,:,-1) = vg(nzt+1)
+       ELSE
+          u_p(nzt+1,:,-1) = u_p(nzt,:,-1)
+          v_p(nzt+1,:,-1) = v_p(nzt,:,-1)
+       ENDIF
+       w_p(nzt:nzt+1,:,-1) = 0.0
+
+    ENDIF
+
+    IF ( outflow_r )  THEN
+
+       c_max = dx / dt_3d
+
+       DO j = nys-1, nyn+1
+          DO k = nzb+1, nzt+1
+
+!
+!--          Calculate the phase speeds for u,v, and w. In case of using a
+!--          Runge-Kutta scheme, do this for the first substep only and then
+!--          reuse this values for the further substeps.
+             IF ( intermediate_timestep_count == 1 )  THEN
+
+                denom = u_m_r(k,j,nx) - u_m_r(k,j,nx-1)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_u(k,j) = -c_max * ( u(k,j,nx) - u_m_r(k,j,nx) ) / denom
+                   IF ( c_u(k,j) < 0.0 )  THEN
+                      c_u(k,j) = 0.0
+                   ELSEIF ( c_u(k,j) > c_max )  THEN
+                      c_u(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_u(k,j) = c_max
+                ENDIF
+
+                denom = v_m_r(k,j,nx) - v_m_r(k,j,nx-1)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_v(k,j) = -c_max * ( v(k,j,nx) - v_m_r(k,j,nx) ) / denom
+                   IF ( c_v(k,j) < 0.0 )  THEN
+                      c_v(k,j) = 0.0
+                   ELSEIF ( c_v(k,j) > c_max )  THEN
+                      c_v(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_v(k,j) = c_max
+                ENDIF
+
+                denom = w_m_r(k,j,nx) - w_m_r(k,j,nx-1)
+
+                IF ( denom /= 0.0 )  THEN
+                   c_w(k,j) = -c_max * ( w(k,j,nx) - w_m_r(k,j,nx) ) / denom
+                   IF ( c_w(k,j) < 0.0 )  THEN
+                      c_w(k,j) = 0.0
+                   ELSEIF ( c_w(k,j) > c_max )  THEN
+                      c_w(k,j) = c_max
+                   ENDIF
+                ELSE
+                   c_w(k,j) = c_max
+                ENDIF
+
+!
+!--             Swap timelevels for the next timestep
+                u_m_r(k,j,:) = u(k,j,nx-1:nx)
+                v_m_r(k,j,:) = v(k,j,nx-1:nx)
+                w_m_r(k,j,:) = w(k,j,nx-1:nx)
+
+             ENDIF
+
+!
+!--          Calculate the new velocities
+             u_p(k,j,nx+1) = u(k,j,nx+1) - dt_3d * tsc(2) * c_u(k,j) * &
+                                           ( u(k,j,nx+1) - u(k,j,nx) ) * ddx
+
+             v_p(k,j,nx+1) = v(k,j,nx+1) - dt_3d * tsc(2) * c_v(k,j) * &
+                                           ( v(k,j,nx+1) - v(k,j,nx) ) * ddx
+
+             w_p(k,j,nx+1) = w(k,j,nx+1) - dt_3d * tsc(2) * c_w(k,j) * &
+                                           ( w(k,j,nx+1) - w(k,j,nx) ) * ddx
+
+          ENDDO
+       ENDDO
+
+!
+!--    Bottom boundary at the outflow
+       IF ( ibc_uv_b == 0 )  THEN
+          u_p(nzb,:,nx+1) = -u_p(nzb+1,:,nx+1) 
+          v_p(nzb,:,nx+1) = -v_p(nzb+1,:,nx+1)  
+       ELSE                    
+          u_p(nzb,:,nx+1) =  u_p(nzb+1,:,nx+1)
+          v_p(nzb,:,nx+1) =  v_p(nzb+1,:,nx+1)
+       ENDIF
+       w_p(nzb,:,nx+1) = 0.0
+
+!
+!--    Top boundary at the outflow
+       IF ( ibc_uv_t == 0 )  THEN
+          u_p(nzt+1,:,nx+1) = ug(nzt+1)
+          v_p(nzt+1,:,nx+1) = vg(nzt+1)
+       ELSE
+          u_p(nzt+1,:,nx+1) = u_p(nzt,:,nx+1)
+          v_p(nzt+1,:,nx+1) = v_p(nzt,:,nx+1)
+       ENDIF
+       w(nzt:nzt+1,:,nx+1) = 0.0
+
+    ENDIF
+
+ 
+ END SUBROUTINE boundary_conds
Index: palm/tags/release-3.7/SOURCE/buoyancy.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/buoyancy.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/buoyancy.f90	(revision 393)
@@ -0,0 +1,294 @@
+ MODULE buoyancy_mod
+
+!------------------------------------------------------------------------------!
+! Currrent revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 247 2009-02-27 14:01:30Z heinze
+! Output of messages replaced by message handling routine
+!
+! 132 2007-11-20 09:46:11Z letzel
+! Vertical scalar profiles now based on nzb_s_inner and ngp_2dh_s_inner.
+!
+! 106 2007-08-16 14:30:26Z raasch
+! i loop for u-component (sloping surface) is starting from nxlu (needed for
+! non-cyclic boundary conditions)
+! 
+! 97 2007-06-21 08:23:15Z raasch
+! Routine reneralized to be used with temperature AND density:
+! argument theta renamed var, new argument var_reference,
+! use_pt_reference renamed use_reference,
+! calc_mean_pt_profile renamed calc_mean_profile
+!
+! 57 2007-03-09 12:05:41Z raasch
+! Reference temperature pt_reference can be used.
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.19  2006/04/26 12:09:56  raasch
+! OpenMP optimization (one dimension added to sums_l)
+!
+! Revision 1.1  1997/08/29 08:56:48  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Buoyancy term of the third component of the equation of motion.
+! WARNING: humidity is not regarded when using a sloping surface!
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC buoyancy, calc_mean_profile
+
+    INTERFACE buoyancy
+       MODULE PROCEDURE buoyancy
+       MODULE PROCEDURE buoyancy_ij
+    END INTERFACE buoyancy
+
+    INTERFACE calc_mean_profile
+       MODULE PROCEDURE calc_mean_profile
+    END INTERFACE calc_mean_profile
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE buoyancy( var, var_reference, wind_component, pr )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, pr, wind_component
+       REAL    ::  var_reference
+       REAL, DIMENSION(:,:,:), POINTER  ::  var
+
+
+       IF ( .NOT. sloping_surface )  THEN
+!
+!--       Normal case: horizontal surface
+          IF ( use_reference )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt-1
+                      tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5 * &
+                                                            (                  &
+                          ( var(k,j,i)   - hom(k,1,pr,0)   ) / var_reference + &
+                          ( var(k+1,j,i) - hom(k+1,1,pr,0) ) / var_reference   &
+                                                            )
+                   ENDDO
+                ENDDO
+             ENDDO
+          ELSE
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt-1
+                      tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5 * &
+                                                            (                  &
+                          ( var(k,j,i)   - hom(k,1,pr,0)   ) / hom(k,1,pr,0) + &
+                          ( var(k+1,j,i) - hom(k+1,1,pr,0) ) / hom(k+1,1,pr,0) &
+                                                            )
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+
+       ELSE
+!
+!--       Buoyancy term for a surface with a slope in x-direction. The equations
+!--       for both the u and w velocity-component contain proportionate terms.
+!--       Temperature field at time t=0 serves as environmental temperature.
+!--       Reference temperature (pt_surface) is the one at the lower left corner
+!--       of the total domain.
+          IF ( wind_component == 1 )  THEN
+
+             DO  i = nxlu, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt-1
+                      tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface *      &
+                           0.5 * ( ( pt(k,j,i-1)         + pt(k,j,i)         ) &
+                                 - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) &
+                                 ) / pt_surface
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          ELSEIF ( wind_component == 3 )  THEN
+
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt-1
+                      tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface *      &
+                           0.5 * ( ( pt(k,j,i)         + pt(k+1,j,i)         ) &
+                                 - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) &
+                                 ) / pt_surface
+                   ENDDO
+                ENDDO
+            ENDDO
+
+          ELSE
+             
+             WRITE( message_string, * ) 'no term for component "',&
+                                       wind_component,'"'
+             CALL message( 'buoyancy', 'PA0159', 1, 2, 0, 6, 0 )
+
+          ENDIF
+
+       ENDIF
+
+    END SUBROUTINE buoyancy
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE buoyancy_ij( i, j, var, var_reference, wind_component, pr )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, pr, wind_component
+       REAL    ::  var_reference
+       REAL, DIMENSION(:,:,:), POINTER  ::  var
+
+
+       IF ( .NOT. sloping_surface )  THEN
+!
+!--       Normal case: horizontal surface
+          IF ( use_reference )  THEN
+             DO  k = nzb_s_inner(j,i)+1, nzt-1
+                 tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5 * (   &
+                         ( var(k,j,i)   - hom(k,1,pr,0)   ) / var_reference + &
+                         ( var(k+1,j,i) - hom(k+1,1,pr,0) ) / var_reference   &
+                                                                          )
+             ENDDO
+          ELSE
+             DO  k = nzb_s_inner(j,i)+1, nzt-1
+                 tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5 * (    &
+                          ( var(k,j,i)   - hom(k,1,pr,0)   ) / hom(k,1,pr,0) + &
+                          ( var(k+1,j,i) - hom(k+1,1,pr,0) ) / hom(k+1,1,pr,0) &
+                                                                          )
+             ENDDO
+          ENDIF
+
+       ELSE
+!
+!--       Buoyancy term for a surface with a slope in x-direction. The equations
+!--       for both the u and w velocity-component contain proportionate terms.
+!--       Temperature field at time t=0 serves as environmental temperature.
+!--       Reference temperature (pt_surface) is the one at the lower left corner
+!--       of the total domain.
+          IF ( wind_component == 1 )  THEN
+
+             DO  k = nzb_s_inner(j,i)+1, nzt-1
+                tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface *            &
+                           0.5 * ( ( pt(k,j,i-1)         + pt(k,j,i)         ) &
+                                 - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) &
+                                 ) / pt_surface
+             ENDDO
+
+          ELSEIF ( wind_component == 3 )  THEN
+
+             DO  k = nzb_s_inner(j,i)+1, nzt-1
+                tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface *            &
+                           0.5 * ( ( pt(k,j,i)         + pt(k+1,j,i)         ) &
+                                 - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) &
+                                 ) / pt_surface
+             ENDDO
+
+          ELSE
+
+             WRITE( message_string, * ) 'no term for component "',&
+                                       wind_component,'"'
+             CALL message( 'buoyancy', 'PA0159', 1, 2, 0, 6, 0 )
+
+          ENDIF
+
+       ENDIF
+
+    END SUBROUTINE buoyancy_ij
+
+
+    SUBROUTINE calc_mean_profile( var, pr )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Calculate the horizontally averaged vertical temperature profile (pr=4 in case
+! of potential temperature and 44 in case of virtual potential temperature).
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE indices
+       USE pegrid
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, omp_get_thread_num, pr, tn
+       REAL, DIMENSION(:,:,:), POINTER  ::  var
+
+!
+!--    Computation of the horizontally averaged profile of variable var, unless
+!--    already done by the relevant call from flow_statistics. The calculation
+!--    is done only for the first respective intermediate timestep in order to
+!--    spare communication time and to produce identical model results with jobs
+!--    which are calling flow_statistics at different time intervals.
+       IF ( .NOT. flow_statistics_called  .AND. &
+            intermediate_timestep_count == 1 )  THEN
+
+!
+!--       Horizontal average of variable var
+          tn           =   0  ! Default thread number in case of one thread
+          !$OMP PARALLEL PRIVATE( i, j, k, tn )
+!$        tn = omp_get_thread_num()
+          sums_l(:,pr,tn) = 0.0
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j =  nys, nyn
+                DO  k = nzb_s_inner(j,i), nzt+1
+                   sums_l(k,pr,tn) = sums_l(k,pr,tn) + var(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+          !$OMP END PARALLEL
+
+          DO  i = 1, threads_per_task-1
+             sums_l(:,pr,0) = sums_l(:,pr,0) + sums_l(:,pr,i)
+          ENDDO
+
+#if defined( __parallel )
+
+          CALL MPI_ALLREDUCE( sums_l(nzb,pr,0), sums(nzb,pr), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+
+#else
+
+          sums(:,pr) = sums_l(:,pr,0)
+
+#endif
+
+          hom(:,1,pr,0) = sums(:,pr) / ngp_2dh_s_inner(:,0)
+
+       ENDIF
+
+    END SUBROUTINE calc_mean_profile
+
+ END MODULE buoyancy_mod
Index: palm/tags/release-3.7/SOURCE/calc_liquid_water_content.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/calc_liquid_water_content.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/calc_liquid_water_content.f90	(revision 393)
@@ -0,0 +1,87 @@
+ SUBROUTINE calc_liquid_water_content
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 95 2007-06-02 16:48:38Z raasch
+! hydro_press renamed hyp
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Old comment removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2005/03/26 15:22:06  raasch
+! Arguments for non-cyclic boundary conditions added to argument list of
+! routine exchange_horiz,
+! ql calculated for the ghost points, exchange of ghost points removed
+!
+! Revision 1.1  2000/04/13 14:50:45  schroeter
+! Initial revision
+!
+!
+!
+! Description:
+! ------------
+! Calculation of the liquid water content (0%-or-100%-scheme)
+!------------------------------------------------------------------------------!
+
+
+    USE arrays_3d
+    USE cloud_parameters
+    USE constants
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER :: i, j, k
+
+    REAL :: alpha, e_s, q_s, t_l
+
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+          DO  k = nzb_2d(j,i)+1, nzt
+
+!
+!--          Compute the liquid water temperature
+             t_l = t_d_pt(k) * pt(k,j,i)
+
+!
+!--          Compute saturation water vapor pressure at t_l
+             e_s = 610.78 * EXP( 17.269 * ( t_l - 273.16 ) / &
+                                          ( t_l - 35.86 ) )
+
+!
+!--          Compute approximation of saturation humidity
+             q_s = 0.622 * e_s / ( hyp(k) - 0.378 * e_s )
+
+!
+!--          Correction factor
+             alpha = 0.622 * l_d_r * l_d_cp / ( t_l * t_l )
+
+!
+!--          Correction of the approximated value
+!--          (see: Cuijpers + Duynkerke, 1993, JAS, 23)
+             q_s = q_s * ( 1.0 + alpha * q(k,j,i) ) / ( 1.0 + alpha * q_s )
+
+!
+!--          Compute the liquid water content
+             IF ( ( q(k,j,i) - q_s ) > 0.0 ) THEN
+                ql(k,j,i) = q(k,j,i) - q_s
+             ELSE
+                ql(k,j,i) = 0.0 
+             ENDIF
+
+          ENDDO
+       ENDDO
+    ENDDO
+    
+ END SUBROUTINE calc_liquid_water_content
Index: palm/tags/release-3.7/SOURCE/calc_precipitation.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/calc_precipitation.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/calc_precipitation.f90	(revision 393)
@@ -0,0 +1,146 @@
+ MODULE calc_precipitation_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 73 2007-03-20 08:33:14Z raasch
+! Precipitation rate and amount are calculated/stored,
+! + module control_parameters
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Calculation extended for gridpoint nzt
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2004/01/30 10:15:57  raasch
+! Scalar lower k index nzb replaced by 2d-array nzb_2d
+!
+! Revision 1.1  2000/04/13 14:45:22  schroeter
+! Initial revision
+!
+!
+!
+! Description:
+! ------------
+! Calculate the change of total water content due to precipitation
+! (simplified Kessler scheme)
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC calc_precipitation
+
+    INTERFACE calc_precipitation
+       MODULE PROCEDURE calc_precipitation
+       MODULE PROCEDURE calc_precipitation_ij
+    END INTERFACE calc_precipitation
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE calc_precipitation
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE constants
+       USE control_parameters
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  dqdt_precip
+
+
+       precipitation_rate = 0.0
+ 
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_2d(j,i)+1, nzt
+
+                IF ( ql(k,j,i) > ql_crit )  THEN
+                   dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
+                ELSE
+                   dqdt_precip = 0.0
+                ENDIF
+                tend(k,j,i) = tend(k,j,i) - dqdt_precip
+!
+!--             Precipitation rate in kg / m**2 / s (= mm/s)
+                precipitation_rate(j,i) = precipitation_rate(j,i) + &
+                                          dqdt_precip * dzw(k)
+
+             ENDDO
+!
+!--          Sum up the precipitation amount, unit kg / m**2 (= mm)
+             IF ( intermediate_timestep_count ==         &
+                  intermediate_timestep_count_max  .AND. &
+                  ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )&
+             THEN
+                precipitation_amount(j,i) = precipitation_amount(j,i) + &
+                                            precipitation_rate(j,i) * dt_3d
+             ENDIF
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE calc_precipitation
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE calc_precipitation_ij( i, j )
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE constants
+       USE control_parameters
+       USE indices
+   
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  dqdt_precip
+
+
+       precipitation_rate(j,i) = 0.0
+ 
+!
+!--    Ghostpoints are included (although not needed for tend) to avoid a later
+!--    exchange of these data for the precipitation amount/rate arrays
+       DO  k = nzb_2d(j,i)+1, nzt
+
+          IF ( ql(k,j,i) > ql_crit )  THEN
+             dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
+          ELSE
+             dqdt_precip = 0.0
+          ENDIF
+          tend(k,j,i) = tend(k,j,i) - dqdt_precip
+
+!
+!--       Precipitation rate in (kg * 0.001) / m**2 / s (because 1kg gives 1 mm)
+!          precipitation_rate(j,i) = precipitation_rate(j,i) + dqdt_precip * &
+!                                                              dzw(k) * 0.001
+          precipitation_rate(j,i) = 1.0
+
+       ENDDO
+
+!
+!--    Sum up the precipitation amount (unit kg * 0.001 / m**2)
+       IF ( intermediate_timestep_count == intermediate_timestep_count_max     &
+            .AND. ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )&
+       THEN
+          precipitation_amount(j,i) = precipitation_amount(j,i) + &
+                                      precipitation_rate(j,i) * dt_3d
+       ENDIF
+
+    END SUBROUTINE calc_precipitation_ij
+
+ END MODULE calc_precipitation_mod
Index: palm/tags/release-3.7/SOURCE/calc_radiation.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/calc_radiation.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/calc_radiation.f90	(revision 393)
@@ -0,0 +1,270 @@
+ MODULE calc_radiation_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2004/01/30 10:17:03  raasch
+! Scalar lower k index nzb replaced by 2d-array nzb_2d
+!
+! Revision 1.1  2000/04/13 14:42:45  schroeter
+! Initial revision
+!
+!
+! Description:
+! -------------
+! Calculation of the vertical divergences of the long-wave radiation-fluxes
+! based on the parameterization of the cloud effective emissivity
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC calc_radiation
+    
+    LOGICAL, SAVE ::  first_call = .TRUE.
+    REAL, SAVE    ::  sigma = 5.67E-08
+
+    REAL, DIMENSION(:), ALLOCATABLE, SAVE ::  lwp_ground, lwp_top, &
+                                              blackbody_emission
+
+    INTERFACE calc_radiation
+       MODULE PROCEDURE calc_radiation
+       MODULE PROCEDURE calc_radiation_ij
+    END INTERFACE calc_radiation
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE calc_radiation
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE indices
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, k_help
+ 
+       REAL :: df_p, df_m , effective_emission_up_m, effective_emission_up_p, &
+               effective_emission_down_m, effective_emission_down_p,          &
+               f_up_m, f_up_p, f_down_m, f_down_p, impinging_flux_at_top,     &
+               temperature
+
+
+!
+!--    On first call, allocate temporary arrays
+       IF ( first_call )  THEN
+          ALLOCATE( blackbody_emission(nzb:nzt+1), lwp_ground(nzb:nzt+1), &
+                    lwp_top(nzb:nzt+1) )
+          first_call = .FALSE.
+       ENDIF
+
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+!
+!--          Compute the liquid water path (LWP) and blackbody_emission
+!--          at all vertical levels
+             lwp_ground(nzb) = 0.0
+             lwp_top(nzt+1)  = rho_surface * ql(nzt+1,j,i) * dzw(nzt+1)
+
+             temperature     = pt(nzb,j,i) * t_d_pt(nzb) + l_d_cp * ql(nzb,j,i)
+             blackbody_emission(nzb) = sigma * temperature**4.0
+
+             DO  k = nzb_2d(j,i)+1, nzt
+
+                k_help = ( nzt+nzb+1 ) - k
+                lwp_ground(k)   = lwp_ground(k-1) + rho_surface * ql(k,j,i) * &
+                                  dzw(k)
+
+                lwp_top(k_help) = lwp_top(k_help+1) + &
+                                  rho_surface * ql(k_help,j,i) * dzw(k_help)
+
+                temperature     = pt(k,j,i) * t_d_pt(k) + l_d_cp * ql(k,j,i)
+                blackbody_emission(k) = sigma * temperature**4.0
+
+             ENDDO
+
+             lwp_ground(nzt+1) = lwp_ground(nzt) + &
+                                 rho_surface * ql(nzt+1,j,i) * dzw(nzt+1)
+             lwp_top(nzb)      = lwp_top(nzb+1)
+
+             temperature       = pt(nzt+1,j,i) * t_d_pt(nzt+1) + l_d_cp * &
+                                 ql(nzt+1,j,i)
+             blackbody_emission(nzt+1) = sigma * temperature**4.0
+
+!
+!--          See Chlond '92, this is just a first guess
+             impinging_flux_at_top = blackbody_emission(nzb) - 100.0
+
+             DO  k = nzb_2d(j,i)+1, nzt
+!
+!--             Save some computational time, but this may cause load
+!--             imbalances if ql is not distributed uniformly
+                IF ( ql(k,j,i) /= 0.0 ) THEN
+!
+!--                Compute effective emissivities
+                   effective_emission_up_p   = 1.0 - &
+                                               EXP( -130.0 * lwp_ground(k+1) )
+                   effective_emission_up_m   = 1.0 - &
+                                               EXP( -130.0 * lwp_ground(k-1) )
+                   effective_emission_down_p = 1.0 - &
+                                               EXP( -158.0 * lwp_top(k+1) )
+                   effective_emission_down_m = 1.0 - &
+                                               EXP( -158.0 * lwp_top(k-1) )  
+
+!
+!--                Compute vertical long wave radiation fluxes
+                   f_up_p = blackbody_emission(nzb) + &
+                            effective_emission_up_p * &
+                           ( blackbody_emission(k) - blackbody_emission(nzb) )
+
+                   f_up_m = blackbody_emission(nzb) + &
+                            effective_emission_up_m * &
+                           ( blackbody_emission(k-1) - blackbody_emission(nzb) )
+
+                   f_down_p = impinging_flux_at_top + &
+                              effective_emission_down_p * &
+                             ( blackbody_emission(k) - impinging_flux_at_top )
+
+                   f_down_m = impinging_flux_at_top + &
+                              effective_emission_down_m * &
+                             ( blackbody_emission(k-1) - impinging_flux_at_top )
+
+!
+!--                Divergence of vertical long wave radiation fluxes
+                   df_p = f_up_p - f_down_p
+                   df_m = f_up_m - f_down_m
+
+!
+!--                Compute tendency term         
+                   tend(k,j,i) = tend(k,j,i) - &
+                                ( pt_d_t(k) / ( rho_surface * cp ) * &
+                                  ( df_p - df_m ) / dzw(k) )
+
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE calc_radiation
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE calc_radiation_ij( i, j )
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE indices
+       USE pegrid
+   
+       IMPLICIT NONE
+
+       INTEGER :: i, j, k, k_help
+
+       REAL :: df_p, df_m , effective_emission_up_m, effective_emission_up_p, &
+               effective_emission_down_m, effective_emission_down_p,          &
+               f_up_m, f_up_p, f_down_m, f_down_p, impinging_flux_at_top,     &
+               temperature
+
+!
+!--    On first call, allocate temporary arrays
+       IF ( first_call )  THEN
+          ALLOCATE( blackbody_emission(nzb:nzt+1), lwp_ground(nzb:nzt+1), &
+                    lwp_top(nzb:nzt+1) )
+          first_call = .FALSE.
+       ENDIF
+
+!
+!--    Compute the liquid water path (LWP) and blackbody_emission
+!--    at all vertical levels
+       lwp_ground(nzb) = 0.0
+       lwp_top(nzt+1)  = rho_surface * ql(nzt+1,j,i) * dzw(nzt+1)
+
+       temperature     = pt(nzb,j,i) * t_d_pt(nzb) + l_d_cp * ql(nzb,j,i)
+       blackbody_emission(nzb) = sigma * temperature**4.0
+
+       DO  k = nzb_2d(j,i)+1, nzt
+          k_help = ( nzt+nzb+1 ) - k
+          lwp_ground(k)   = lwp_ground(k-1) + rho_surface * ql(k,j,i) * dzw(k)
+
+          lwp_top(k_help) = lwp_top(k_help+1) + &
+                            rho_surface * ql(k_help,j,i) * dzw(k_help)
+
+          temperature     = pt(k,j,i) * t_d_pt(k) + l_d_cp * ql(k,j,i)
+          blackbody_emission(k) = sigma * temperature**4.0
+
+       ENDDO
+       lwp_ground(nzt+1) = lwp_ground(nzt) + &
+                           rho_surface * ql(nzt+1,j,i) * dzw(nzt+1)
+       lwp_top(nzb)      = lwp_top(nzb+1)
+
+       temperature       = pt(nzt+1,j,i) * t_d_pt(nzt+1) + l_d_cp * &
+                           ql(nzt+1,j,i)
+       blackbody_emission(nzt+1) = sigma * temperature**4.0
+
+!
+!--    See Chlond '92, this is just a first guess
+       impinging_flux_at_top = blackbody_emission(nzb) - 100.0
+
+       DO  k = nzb_2d(j,i)+1, nzt
+!
+!--       Store some computational time,
+!--       this may cause load imbalances if ql is not distributed uniformly
+          IF ( ql(k,j,i) /= 0.0 ) THEN
+!
+!--          Compute effective emissivities
+             effective_emission_up_p   = 1.0 - &
+                                         EXP( -130.0 * lwp_ground(k+1) )
+             effective_emission_up_m   = 1.0 - &
+                                         EXP( -130.0 * lwp_ground(k-1) )
+             effective_emission_down_p = 1.0 - &
+                                         EXP( -158.0 * lwp_top(k+1) )
+             effective_emission_down_m = 1.0 - &
+                                         EXP( -158.0 * lwp_top(k-1) )  
+             
+!
+!--          Compute vertical long wave radiation fluxes
+             f_up_p = blackbody_emission(nzb) + effective_emission_up_p * &
+                     ( blackbody_emission(k) - blackbody_emission(nzb) )
+
+             f_up_m = blackbody_emission(nzb) + effective_emission_up_m * &
+                     ( blackbody_emission(k-1) - blackbody_emission(nzb) )
+
+             f_down_p = impinging_flux_at_top + effective_emission_down_p * &
+                       ( blackbody_emission(k) - impinging_flux_at_top )
+
+             f_down_m = impinging_flux_at_top + effective_emission_down_m * &
+                       ( blackbody_emission(k-1) - impinging_flux_at_top )
+
+!
+!-           Divergence of vertical long wave radiation fluxes
+             df_p = f_up_p - f_down_p
+             df_m = f_up_m - f_down_m
+
+!
+!--          Compute tendency term         
+             tend(k,j,i) = tend(k,j,i) - ( pt_d_t(k) / ( rho_surface * cp ) * &
+                                         ( df_p - df_m ) / dzw(k) )
+
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE calc_radiation_ij
+
+ END MODULE calc_radiation_mod
Index: palm/tags/release-3.7/SOURCE/calc_spectra.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/calc_spectra.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/calc_spectra.f90	(revision 393)
@@ -0,0 +1,442 @@
+ SUBROUTINE calc_spectra
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine
+!
+! 225 2009-01-26 14:44:20Z raasch
+! Bugfix: array d is reallocated in case that multigrid is used
+!
+! 192 2008-08-27 16:51:49Z letzel
+! bugfix in calc_spectra_x: exponent = 1.0 / ( ny + 1.0 )
+! allow 100 spectra levels instead of 10 for consistency with
+! define_netcdf_header
+! user-defined spectra, arguments removed from transpose routines
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.9  2006/04/11 14:56:00  raasch
+! pl_spectra renamed data_output_sp
+!
+! Revision 1.1  2001/01/05 15:08:07  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Calculate horizontal spectra along x and y. 
+! ATTENTION: 1d-decomposition along y still needs improvement, because in that
+!            case the gridpoint number along z still depends on the PE number
+!            because transpose_xz has to be used (and possibly also
+!            transpose_zyd needs modification).
+!------------------------------------------------------------------------------!
+
+#if defined( __spectra )
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE fft_xy
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE spectrum
+
+    IMPLICIT NONE
+
+    INTEGER ::  m, pr
+
+
+    CALL cpu_log( log_point(30), 'calc_spectra', 'start' )
+
+!
+!-- Initialize ffts
+    CALL fft_init
+
+!
+!-- Reallocate array d in required size
+    IF ( psolver == 'multigrid' )  THEN
+       DEALLOCATE( d )
+       ALLOCATE( d(nzb+1:nzta,nys:nyna,nxl:nxra) )
+    ENDIF
+
+!
+!-- Enlarge the size of tend, used as a working array for the transpositions
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+    ENDIF
+
+    m = 1
+    DO WHILE ( data_output_sp(m) /= ' '  .AND.  m <= 10 )
+!
+!--    Transposition from z --> x  ( y --> x in case of a 1d-decomposition
+!--    along x)
+       IF ( INDEX( spectra_direction(m), 'x' ) /= 0 )  THEN
+
+!
+!--       Calculation of spectra works for cyclic boundary conditions only
+          IF ( bc_lr /= 'cyclic' )  THEN
+
+             message_string = 'non-cyclic lateral boundaries along x do not'// &
+                              '& allow calculation of spectra along x'
+             CALL message( 'calc_spectra', 'PA0160', 1, 2, 0, 6, 0 )
+          ENDIF
+
+          CALL preprocess_spectra( m, pr )
+
+#if defined( __parallel )
+          IF ( pdims(2) /= 1 )  THEN
+             CALL transpose_zx( d, tend, d )
+          ELSE
+             CALL transpose_yxd( d, tend, d )
+          ENDIF
+          CALL calc_spectra_x( d, pr, m )
+#else
+          message_string = 'sorry, calculation of spectra in non parallel ' // &
+                           'mode& is still not realized'
+          CALL message( 'calc_spectra', 'PA0161', 1, 2, 0, 6, 0 )      
+#endif
+
+       ENDIF
+
+!
+!--    Transposition from z --> y (d is rearranged only in case of a
+!--    1d-decomposition along x)
+       IF ( INDEX( spectra_direction(m), 'y' ) /= 0 )  THEN
+
+!
+!--       Calculation of spectra works for cyclic boundary conditions only
+          IF ( bc_ns /= 'cyclic' )  THEN
+             IF ( myid == 0 )  THEN
+                message_string = 'non-cyclic lateral boundaries along y do' // &
+                                 ' not & allow calculation of spectra along y' 
+                CALL message( 'calc_spectra', 'PA0162', 1, 2, 0, 6, 0 )
+             ENDIF
+             CALL local_stop
+          ENDIF
+
+          CALL preprocess_spectra( m, pr )
+
+#if defined( __parallel )
+          CALL transpose_zyd( d, tend, d )
+          CALL calc_spectra_y( d, pr, m )
+#else
+          message_string = 'sorry, calculation of spectra in non parallel' // &
+                           'mode& is still not realized'
+          CALL message( 'calc_spectra', 'PA0161', 1, 2, 0, 6, 0 )
+#endif
+
+       ENDIF
+
+!
+!--    Increase counter for next spectrum
+       m = m + 1
+          
+    ENDDO
+
+!
+!-- Increase counter for averaging process in routine plot_spectra
+    average_count_sp = average_count_sp + 1
+
+!
+!-- Resize tend to its normal size
+    IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+       DEALLOCATE( tend )
+       ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+    CALL cpu_log( log_point(30), 'calc_spectra', 'stop' )
+
+#endif
+ END SUBROUTINE calc_spectra
+
+
+#if defined( __spectra )
+ SUBROUTINE preprocess_spectra( m, pr )
+
+    USE arrays_3d
+    USE indices
+    USE pegrid
+    USE spectrum
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER :: i, j, k, m, pr
+
+    SELECT CASE ( TRIM( data_output_sp(m) ) )
+          
+    CASE ( 'u' )
+       pr = 1
+       d(nzb+1:nzt,nys:nyn,nxl:nxr) = u(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+    CASE ( 'v' )
+       pr = 2
+       d(nzb+1:nzt,nys:nyn,nxl:nxr) = v(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+    CASE ( 'w' )
+       pr = 3
+       d(nzb+1:nzt,nys:nyn,nxl:nxr) = w(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+    CASE ( 'pt' )
+       pr = 4
+       d(nzb+1:nzt,nys:nyn,nxl:nxr) = pt(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+    CASE ( 'q' )
+       pr = 41
+       d(nzb+1:nzt,nys:nyn,nxl:nxr) = q(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+    CASE DEFAULT
+!
+!--    The DEFAULT case is reached either if the parameter data_output_sp(m)
+!--    contains a wrong character string or if the user has coded a special
+!--    case in the user interface. There, the subroutine user_spectra 
+!--    checks which of these two conditions applies.
+       CALL user_spectra( 'preprocess', m, pr )
+          
+    END SELECT
+
+!
+!-- Subtract horizontal mean from the array, for which spectra have to be
+!-- calculated
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             d(k,j,i) = d(k,j,i) - sums(k,pr)
+          ENDDO
+       ENDDO
+    ENDDO
+
+ END SUBROUTINE preprocess_spectra
+
+
+ SUBROUTINE calc_spectra_x( ddd, pr, m )
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE fft_xy
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE spectrum
+    USE statistics
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER                    ::  i, ishape(1), j, k, m, n, pr
+
+    REAL                       ::  fac, exponent
+    REAL, DIMENSION(0:nx)      ::  work
+    REAL, DIMENSION(0:nx/2)    ::  sums_spectra_l
+    REAL, DIMENSION(0:nx/2,100)::  sums_spectra
+
+    REAL, DIMENSION(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa) ::  ddd
+
+!
+!-- Exponent for geometric average
+    exponent = 1.0 / ( ny + 1.0 )
+
+!
+!-- Loop over all levels defined by the user
+    n = 1
+    DO WHILE ( comp_spectra_level(n) /= 999999  .AND.  n <= 100 )
+
+       k = comp_spectra_level(n)
+
+!
+!--    Calculate FFT only if the corresponding level is situated on this PE
+       IF ( k >= nzb_x  .AND.  k <= nzt_x )  THEN
+          
+          DO  j = nys_x, nyn_x
+
+             work = ddd(0:nx,j,k)
+             CALL fft_x( work, 'forward' )
+
+             ddd(0,j,k) = dx * work(0)**2
+             DO  i = 1, nx/2
+                ddd(i,j,k) = dx * ( work(i)**2 + work(nx+1-i)**2 )
+             ENDDO
+
+          ENDDO
+
+!
+!--       Local sum and geometric average of these spectra
+!--       (WARNING: no global sum should be performed, because floating
+!--       point overflow may occur)
+          DO  i = 0, nx/2
+
+             sums_spectra_l(i) = 1.0
+             DO  j = nys_x, nyn_x
+                sums_spectra_l(i) = sums_spectra_l(i) * ddd(i,j,k)**exponent
+             ENDDO
+
+          ENDDO
+          
+       ELSE
+
+          sums_spectra_l = 1.0
+
+       ENDIF
+
+!
+!--    Global sum of spectra on PE0 (from where they are written on file) 
+       sums_spectra(:,n) = 0.0
+#if defined( __parallel )   
+       CALL MPI_BARRIER( comm2d, ierr )  ! Necessary?
+       CALL MPI_REDUCE( sums_spectra_l(0), sums_spectra(0,n), nx/2+1, &
+                        MPI_REAL, MPI_PROD, 0, comm2d, ierr )
+#else
+       sums_spectra(:,n) = sums_spectra_l
+#endif
+
+       n = n + 1
+
+    ENDDO
+    n = n - 1
+
+    IF ( myid == 0 )  THEN
+!
+!--    Sum of spectra for later averaging (see routine data_output_spectra)
+!--    Temperton fft results need to be normalized
+       IF ( fft_method == 'temperton-algorithm' )  THEN
+          fac = nx + 1.0
+       ELSE
+          fac = 1.0
+       ENDIF
+       DO  i = 1, nx/2
+          DO k = 1, n
+             spectrum_x(i,k,m) = spectrum_x(i,k,m) + sums_spectra(i,k) * fac
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- n_sp_x is needed by data_output_spectra_x
+    n_sp_x = n
+
+ END SUBROUTINE calc_spectra_x
+
+
+ SUBROUTINE calc_spectra_y( ddd, pr, m )
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE fft_xy
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE spectrum
+    USE statistics
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER :: i, j, jshape(1), k, m, n, pr
+
+    REAL                       ::  fac, exponent
+    REAL, DIMENSION(0:ny)      ::  work
+    REAL, DIMENSION(0:ny/2)    ::  sums_spectra_l
+    REAL, DIMENSION(0:ny/2,100)::  sums_spectra
+
+    REAL, DIMENSION(0:nya,nxl_yd:nxr_yda,nzb_yd:nzt_yda) :: ddd
+
+
+!
+!-- Exponent for geometric average
+    exponent = 1.0 / ( nx + 1.0 )
+
+!
+!-- Loop over all levels defined by the user
+    n = 1
+    DO WHILE ( comp_spectra_level(n) /= 999999  .AND.  n <= 100 )
+
+       k = comp_spectra_level(n)
+
+!
+!--    Calculate FFT only if the corresponding level is situated on this PE
+       IF ( k >= nzb_yd  .AND.  k <= nzt_yd )  THEN
+          
+          DO  i = nxl_yd, nxr_yd
+
+             work = ddd(0:ny,i,k)
+             CALL fft_y( work, 'forward' )
+
+             ddd(0,i,k) = dy * work(0)**2
+             DO  j = 1, ny/2
+                ddd(j,i,k) = dy * ( work(j)**2 + work(ny+1-j)**2 )
+             ENDDO
+
+          ENDDO
+
+!
+!--       Local sum and geometric average of these spectra
+!--       (WARNING: no global sum should be performed, because floating
+!--       point overflow may occur)
+          DO  j = 0, ny/2
+
+             sums_spectra_l(j) = 1.0
+             DO  i = nxl_yd, nxr_yd
+                sums_spectra_l(j) = sums_spectra_l(j) * ddd(j,i,k)**exponent
+             ENDDO
+
+          ENDDO
+          
+       ELSE
+
+          sums_spectra_l = 1.0
+
+       ENDIF
+
+!
+!--    Global sum of spectra on PE0 (from where they are written on file) 
+       sums_spectra(:,n) = 0.0
+#if defined( __parallel )   
+       CALL MPI_BARRIER( comm2d, ierr )  ! Necessary?
+       CALL MPI_REDUCE( sums_spectra_l(0), sums_spectra(0,n), ny/2+1, &
+                        MPI_REAL, MPI_PROD, 0, comm2d, ierr )
+#else
+       sums_spectra(:,n) = sums_spectra_l
+#endif
+
+       n = n + 1
+
+    ENDDO
+    n = n - 1
+
+
+    IF ( myid == 0 )  THEN
+!
+!--    Sum of spectra for later averaging (see routine data_output_spectra)
+!--    Temperton fft results need to be normalized
+       IF ( fft_method == 'temperton-algorithm' )  THEN
+          fac = ny + 1.0
+       ELSE
+          fac = 1.0
+       ENDIF
+       DO  j = 1, ny/2
+          DO k = 1, n
+             spectrum_y(j,k,m) = spectrum_y(j,k,m) + sums_spectra(j,k) * fac
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- n_sp_y is needed by data_output_spectra_y
+    n_sp_y = n
+
+ END SUBROUTINE calc_spectra_y
+#endif
Index: palm/tags/release-3.7/SOURCE/check_for_restart.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/check_for_restart.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/check_for_restart.f90	(revision 393)
@@ -0,0 +1,162 @@
+ SUBROUTINE check_for_restart
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! Coupling with independent precursor runs.
+! Output of messages replaced by message handling routine
+!
+! 222 2009-01-12 16:04:16Z letzel
+! Implementation of an MPI-1 coupling: replaced myid with target_id
+! Bugfix for nonparallel execution
+!
+! 108 2007-08-24 15:10:38Z letzel
+! modifications to terminate coupled runs
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2007/02/11 12:55:13  raasch
+! Informative output to the job protocol
+!
+! Revision 1.1  1998/03/18 20:06:51  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Set stop flag, if restart is neccessary because of expiring cpu-time or
+! if it is forced by user
+!------------------------------------------------------------------------------!
+
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+
+    LOGICAL :: terminate_run_l
+    REAL ::  remaining_time
+
+
+!
+!-- Check remaining CPU-time
+    CALL local_tremain( remaining_time )
+
+!
+!-- If necessary set a flag to stop the model run
+    terminate_run_l = .FALSE.
+    IF ( remaining_time <= termination_time_needed  .AND. &
+         write_binary(1:4) == 'true' )  THEN
+
+       terminate_run_l = .TRUE.
+    ENDIF
+
+#if defined( __parallel )
+!
+!-- Make a logical OR for all processes. Stop the model run if at least
+!-- one processor has reached the time limit.
+    CALL MPI_ALLREDUCE( terminate_run_l, terminate_run, 1, MPI_LOGICAL, &
+                        MPI_LOR, comm2d, ierr )
+#else
+    terminate_run = terminate_run_l
+#endif
+
+!
+!-- Output that job will be terminated
+    IF ( terminate_run  .AND.  myid == 0 )  THEN
+       WRITE( message_string, * ) 'run will be terminated because it is ', &
+                       'running out of job cpu limit & ',                  &
+                       'remaining time:         ', remaining_time, ' s',   &
+                       'termination time needed:', termination_time_needed, ' s'
+       CALL message( 'check_for_restart', 'PA0163', 0, 1, 0, 6, 0 )
+    ENDIF
+
+!
+!-- In case of coupled runs inform the remote model of the termination 
+!-- and its reason, provided the remote model has not already been 
+!-- informed of another termination reason (terminate_coupled > 0) before, 
+!-- or vice versa (terminate_coupled_remote > 0).
+    IF ( terminate_run .AND. TRIM( coupling_mode ) /= 'uncoupled'  .AND. &
+         terminate_coupled == 0  .AND.  terminate_coupled_remote == 0 )  THEN
+
+       terminate_coupled = 3
+#if defined( __parallel )
+       CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,          &
+                          target_id, 0,                                      &
+                          terminate_coupled_remote, 1, MPI_INTEGER,          &
+                          target_id, 0,                                      &
+                          comm_inter, status, ierr )
+#endif
+    ENDIF
+
+!
+!-- Set the stop flag also, if restart is forced by user
+    IF ( time_restart /= 9999999.9  .AND.  &
+         time_restart < time_since_reference_point )  THEN
+
+!
+!--    Restart is not neccessary, if the end time of the run (given by
+!--    the user) has been reached
+       IF ( simulated_time < end_time )  THEN
+          terminate_run = .TRUE.
+!
+!--       Increment restart time, if forced by user, otherwise set restart
+!--       time to default (no user restart)
+          IF ( dt_restart /= 9999999.9 )  THEN
+             time_restart = time_restart + dt_restart
+          ELSE
+             time_restart = 9999999.9
+          ENDIF
+
+          WRITE( message_string, * ) 'run will be terminated due to user ', &
+                                  'settings of',                            &
+                                  '&restart_time / dt_restart',             &
+                                  '&new restart time is: ', time_restart, ' s' 
+          CALL message( 'check_for_restart', 'PA0164', 0, 0, 0, 6, 0 )
+ 
+!
+!--       In case of coupled runs inform the remote model of the termination 
+!--       and its reason, provided the remote model has not already been 
+!--       informed of another termination reason (terminate_coupled > 0) before,
+!--       or vice versa (terminate_coupled_remote > 0).
+          IF ( coupling_mode /= 'uncoupled' .AND. terminate_coupled == 0  &
+               .AND.  terminate_coupled_remote == 0 )  THEN
+
+             IF ( dt_restart /= 9999999.9 )  THEN
+                terminate_coupled = 4
+             ELSE
+                terminate_coupled = 5
+             ENDIF
+#if defined( __parallel )
+             CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,    &
+                                target_id,  0,                               &
+                                terminate_coupled_remote, 1, MPI_INTEGER,    &
+                                target_id,  0,                               &
+                                comm_inter, status, ierr )
+#endif
+          ENDIF
+       ELSE
+          time_restart = 9999999.9
+       ENDIF
+    ENDIF
+
+!
+!-- If the run is stopped, set a flag file which is necessary to initiate
+!-- the start of a continuation run
+    IF ( terminate_run  .AND.  myid == 0 )  THEN
+
+       OPEN ( 90, FILE='CONTINUE_RUN', FORM='FORMATTED' )
+       WRITE ( 90, '(A)' )  TRIM( run_description_header )
+       CLOSE ( 90 )
+
+    ENDIF
+
+
+ END SUBROUTINE check_for_restart
Index: palm/tags/release-3.7/SOURCE/check_open.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/check_open.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/check_open.f90	(revision 393)
@@ -0,0 +1,1274 @@
+SUBROUTINE check_open( file_id )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 277 2009-03-31 09:13:47Z heinze
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine
+!
+! 146 2008-01-17 13:08:34Z raasch
+! First opening of unit 13 openes file _0000 on all PEs (parallel version)
+! because only this file contains the global variables,
+! myid_char_14 removed
+!
+! 120 2007-10-17 11:54:43Z raasch
+! Status of 3D-volume NetCDF data file only depends on switch netcdf_64bit_3d
+!
+! 105 2007-08-08 07:12:55Z raasch
+! Different filenames are used in case of a coupled simulation,
+! coupling_char added to all relevant filenames
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Call of local_getenv removed, preprocessor directives for old systems removed
+!
+! 46 2007-03-05 06:00:47Z raasch
+! +netcdf_64bit_3d to switch on 64bit offset only for 3D files
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.44  2006/08/22 13:48:34  raasch
+! xz and yz cross sections now up to nzt+1
+!
+! Revision 1.1  1997/08/11 06:10:55  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Check if file unit is open. If not, open file and, if necessary, write a
+! header or start other initializing actions, respectively.
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2)   ::  suffix
+    CHARACTER (LEN=20)  ::  xtext = 'time in s'
+    CHARACTER (LEN=30)  ::  filename
+    CHARACTER (LEN=40)  ::  avs_coor_file, avs_coor_file_localname, &
+                            avs_data_file_localname
+    CHARACTER (LEN=80)  ::  rtext
+    CHARACTER (LEN=100) ::  avs_coor_file_catalog, avs_data_file_catalog, &
+                            batch_scp, zeile
+    CHARACTER (LEN=400) ::  command
+
+    INTEGER ::  av, anzzeile = 1, cranz, file_id, i, iaddres, ierr1, iusern, &
+                j, k, legpos = 1, timodex = 1
+    INTEGER, DIMENSION(10) ::  cucol, klist, lstyle
+
+    LOGICAL ::  avs_coor_file_found = .FALSE., avs_data_file_found = .FALSE., &
+                datleg = .TRUE., get_filenames, grid = .TRUE., netcdf_extend, &
+                rand = .TRUE., swap = .TRUE., twoxa = .TRUE., twoya = .TRUE.
+
+    REAL ::  ansx = -999.999, ansy = -999.999, gwid = 0.1, rlegfak = 1.5, &
+             sizex = 250.0, sizey = 40.0, texfac = 1.5
+
+    REAL, DIMENSION(:), ALLOCATABLE      ::  eta, ho, hu
+    REAL(spk), DIMENSION(:), ALLOCATABLE ::  xkoor, ykoor, zkoor  
+
+
+    NAMELIST /RAHMEN/  anzzeile, cranz, datleg, rtext, swap
+    NAMELIST /CROSS/   ansx, ansy, cucol, grid, gwid, klist, legpos, lstyle, &
+                       rand, rlegfak, sizex, sizey, texfac, &
+                       timodex, twoxa, twoya, xtext
+                       
+
+!
+!-- Immediate return if file already open
+    IF ( openfile(file_id)%opened )  RETURN
+
+!
+!-- Only certain files are allowed to be re-opened
+!-- NOTE: some of the other files perhaps also could be re-opened, but it
+!--       has not been checked so far, if it works!
+    IF ( openfile(file_id)%opened_before )  THEN
+       SELECT CASE ( file_id )
+          CASE ( 13, 14, 21, 22, 23, 80:85 )
+             IF ( file_id == 14 .AND. openfile(file_id)%opened_before )  THEN
+                message_string = 're-open of unit ' // &
+                                 '14 is not verified. Please check results!'
+                CALL message( 'check_open', 'PA0165', 0, 1, 0, 6, 0 )       
+             ENDIF
+
+          CASE DEFAULT
+             WRITE( message_string, * ) 're-opening of file-id ', file_id, &
+                                        ' is not allowed'
+             CALL message( 'check_open', 'PA0166', 0, 1, 0, 6, 0 )    
+               
+             RETURN
+
+       END SELECT
+    ENDIF
+
+!
+!-- Check if file may be opened on the relevant PE
+    SELECT CASE ( file_id )
+
+       CASE ( 15, 16, 17, 18, 19, 40:49, 50:59, 81:84, 101:107, 109, 111:113, &
+              116 )
+          
+          IF ( myid /= 0 )  THEN
+             WRITE( message_string, * ) 'opening file-id ',file_id, &
+                                        ' not allowed for PE ',myid
+             CALL message( 'check_open', 'PA0167', 2, 2, -1, 6, 1 )
+          ENDIF
+
+       CASE ( 21, 22, 23 )
+
+          IF ( .NOT.  data_output_2d_on_each_pe )  THEN
+             IF ( myid /= 0 )  THEN
+                WRITE( message_string, * ) 'opening file-id ',file_id, &
+                                           ' not allowed for PE ',myid
+                CALL message( 'check_open', 'PA0167', 2, 2, -1, 6, 1 )
+             END IF
+          ENDIF
+
+       CASE ( 27, 28, 29, 31, 32, 33, 71:73, 90:99 )
+
+!
+!--       File-ids that are used temporarily in other routines
+          WRITE( message_string, * ) 'opening file-id ',file_id, &
+                                    ' is not allowed since it is used otherwise'
+          CALL message( 'check_open', 'PA0168', 0, 1, 0, 6, 0 ) 
+          
+    END SELECT
+
+!
+!-- Open relevant files
+    SELECT CASE ( file_id )
+
+       CASE ( 11 )
+
+          OPEN ( 11, FILE='PARIN'//coupling_char, FORM='FORMATTED', &
+                     STATUS='OLD' )
+
+       CASE ( 13 )
+
+          IF ( myid_char == '' )  THEN
+             OPEN ( 13, FILE='BININ'//coupling_char//myid_char, &
+                        FORM='UNFORMATTED', STATUS='OLD' )
+          ELSE
+!
+!--          First opening of unit 13 openes file _0000 on all PEs because only
+!--          this file contains the global variables
+             IF ( .NOT. openfile(file_id)%opened_before )  THEN
+                OPEN ( 13, FILE='BININ'//TRIM( coupling_char )//'/_0000',&
+                           FORM='UNFORMATTED', STATUS='OLD' )
+             ELSE
+                OPEN ( 13, FILE='BININ'//TRIM( coupling_char )//'/'//myid_char,&
+                           FORM='UNFORMATTED', STATUS='OLD' )
+             ENDIF
+          ENDIF
+
+       CASE ( 14 )
+
+          IF ( myid_char == '' )  THEN
+             OPEN ( 14, FILE='BINOUT'//coupling_char//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+             IF ( myid == 0  .AND. .NOT. openfile(file_id)%opened_before )  THEN
+                CALL local_system( 'mkdir  BINOUT' // coupling_char )
+             ENDIF
+#if defined( __parallel )
+!
+!--          Set a barrier in order to allow that all other processors in the 
+!--          directory created by PE0 can open their file
+             CALL MPI_BARRIER( comm2d, ierr )
+#endif
+             OPEN ( 14, FILE='BINOUT'//TRIM(coupling_char)//'/'//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ENDIF
+
+       CASE ( 15 )
+
+          OPEN ( 15, FILE='RUN_CONTROL'//coupling_char, FORM='FORMATTED' )
+
+       CASE ( 16 )
+
+          OPEN ( 16, FILE='LIST_PROFIL'//coupling_char, FORM='FORMATTED' )
+
+       CASE ( 17 )
+
+          OPEN ( 17, FILE='LIST_PROFIL_1D'//coupling_char, FORM='FORMATTED' )
+
+       CASE ( 18 )
+
+          OPEN ( 18, FILE='CPU_MEASURES'//coupling_char, FORM='FORMATTED' )
+
+       CASE ( 19 )
+
+          OPEN ( 19, FILE='HEADER'//coupling_char, FORM='FORMATTED' )
+
+       CASE ( 20 )
+
+          IF ( myid == 0  .AND. .NOT. openfile(file_id)%opened_before )  THEN
+             CALL local_system( 'mkdir  DATA_LOG' // coupling_char )
+          ENDIF
+          IF ( myid_char == '' )  THEN
+             OPEN ( 20, FILE='DATA_LOG'//TRIM( coupling_char )//'/_0000', &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+#if defined( __parallel )
+!
+!--          Set a barrier in order to allow that all other processors in the 
+!--          directory created by PE0 can open their file
+             CALL MPI_BARRIER( comm2d, ierr )
+#endif
+             OPEN ( 20, FILE='DATA_LOG'//TRIM( coupling_char )//'/'//myid_char,&
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ENDIF
+
+       CASE ( 21 )
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             OPEN ( 21, FILE='PLOT2D_XY'//TRIM( coupling_char )//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+             OPEN ( 21, FILE='PLOT2D_XY'//coupling_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ENDIF
+
+          IF ( myid == 0  .AND.  .NOT. openfile(file_id)%opened_before )  THEN
+!
+!--          Output for combine_plot_fields
+             IF ( data_output_2d_on_each_pe  .AND.  myid_char /= '' )  THEN
+                WRITE (21)  -1, nx+1, -1, ny+1    ! total array size
+                WRITE (21)   0, nx+1,  0, ny+1    ! output part
+             ENDIF
+!
+!--          Determine and write ISO2D coordiante header
+             ALLOCATE( eta(0:ny+1), ho(0:nx+1), hu(0:nx+1) )
+             hu = 0.0
+             ho = (ny+1) * dy
+             DO  i = 1, ny
+                eta(i) = REAL( i ) / ( ny + 1.0 )
+             ENDDO
+             eta(0)    = 0.0
+             eta(ny+1) = 1.0
+
+             WRITE (21)  dx,eta,hu,ho
+             DEALLOCATE( eta, ho, hu )
+
+!
+!--          Create output file for local parameters
+             IF ( iso2d_output )  THEN
+                OPEN ( 27, FILE='PLOT2D_XY_LOCAL'//coupling_char, &
+                           FORM='FORMATTED', DELIM='APOSTROPHE' )
+                openfile(27)%opened = .TRUE.
+             ENDIF
+
+          ENDIF
+
+       CASE ( 22 )
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             OPEN ( 22, FILE='PLOT2D_XZ'//TRIM( coupling_char )//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+             OPEN ( 22, FILE='PLOT2D_XZ'//coupling_char, FORM='UNFORMATTED', &
+                        POSITION='APPEND' )
+          ENDIF
+
+          IF ( myid == 0  .AND.  .NOT. openfile(file_id)%opened_before )  THEN
+!
+!--          Output for combine_plot_fields
+             IF ( data_output_2d_on_each_pe  .AND.  myid_char /= '' )  THEN
+                WRITE (22)  -1, nx+1, 0, nz+1    ! total array size
+                WRITE (22)   0, nx+1, 0, nz+1    ! output part
+             ENDIF
+!
+!--          Determine and write ISO2D coordiante header
+             ALLOCATE( eta(0:nz+1), ho(0:nx+1), hu(0:nx+1) )
+             hu = 0.0
+             ho = zu(nz+1)
+             DO  i = 1, nz
+                eta(i) = REAL( zu(i) ) / zu(nz+1)
+             ENDDO
+             eta(0)    = 0.0
+             eta(nz+1) = 1.0
+
+             WRITE (22)  dx,eta,hu,ho
+             DEALLOCATE( eta, ho, hu )
+!
+!--          Create output file for local parameters
+             OPEN ( 28, FILE='PLOT2D_XZ_LOCAL'//coupling_char, &
+                        FORM='FORMATTED', DELIM='APOSTROPHE' )
+             openfile(28)%opened = .TRUE.
+
+          ENDIF
+
+       CASE ( 23 )
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             OPEN ( 23, FILE='PLOT2D_YZ'//TRIM( coupling_char )//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+             OPEN ( 23, FILE='PLOT2D_YZ'//coupling_char, FORM='UNFORMATTED', &
+                        POSITION='APPEND' )
+          ENDIF
+
+          IF ( myid == 0  .AND.  .NOT. openfile(file_id)%opened_before )  THEN
+!
+!--          Output for combine_plot_fields
+             IF ( data_output_2d_on_each_pe  .AND.  myid_char /= '' )  THEN
+                WRITE (23)  -1, ny+1, 0, nz+1    ! total array size
+                WRITE (23)   0, ny+1, 0, nz+1    ! output part
+             ENDIF
+!
+!--          Determine and write ISO2D coordiante header
+             ALLOCATE( eta(0:nz+1), ho(0:ny+1), hu(0:ny+1) )
+             hu = 0.0
+             ho = zu(nz+1)
+             DO  i = 1, nz
+                eta(i) = REAL( zu(i) ) / zu(nz+1)
+             ENDDO
+             eta(0)    = 0.0
+             eta(nz+1) = 1.0
+
+             WRITE (23)  dx,eta,hu,ho
+             DEALLOCATE( eta, ho, hu )
+!
+!--          Create output file for local parameters
+             OPEN ( 29, FILE='PLOT2D_YZ_LOCAL'//coupling_char, &
+                        FORM='FORMATTED', DELIM='APOSTROPHE' )
+             openfile(29)%opened = .TRUE.
+
+          ENDIF
+
+       CASE ( 30 )
+
+          OPEN ( 30, FILE='PLOT3D_DATA'//TRIM( coupling_char )//myid_char, &
+                     FORM='UNFORMATTED' )
+!
+!--       Write coordinate file for AVS
+          IF ( myid == 0 )  THEN
+#if defined( __parallel )
+!
+!--          Specifications for combine_plot_fields
+             IF ( .NOT. do3d_compress )  THEN
+                WRITE ( 30 )  -1,nx+1,-1,ny+1,0,nz_do3d
+                WRITE ( 30 )  0,nx+1,0,ny+1,0,nz_do3d
+             ENDIF
+#endif
+!
+!--          Write coordinate file for AVS:
+!--          First determine file names (including cyle numbers) of AVS files on
+!--          target machine (to which the files are to be transferred).
+!--          Therefore path information has to be obtained first.
+             IF ( avs_output )  THEN
+                iaddres = LEN_TRIM( return_addres )
+                iusern  = LEN_TRIM( return_username )
+
+                OPEN ( 3, FILE='OUTPUT_FILE_CONNECTIONS', FORM='FORMATTED' )
+                DO  WHILE ( .NOT. avs_coor_file_found  .OR. &
+                            .NOT. avs_data_file_found )
+
+                   READ ( 3, '(A)', END=1 )  zeile
+
+                   SELECT CASE ( zeile(1:11) )
+
+                      CASE ( 'PLOT3D_COOR' )
+                         READ ( 3, '(A/A)' )  avs_coor_file_catalog, &
+                                              avs_coor_file_localname
+                         avs_coor_file_found = .TRUE.
+
+                      CASE ( 'PLOT3D_DATA' )
+                         READ ( 3, '(A/A)' )  avs_data_file_catalog, &
+                                              avs_data_file_localname
+                         avs_data_file_found = .TRUE.
+
+                      CASE DEFAULT
+                         READ ( 3, '(A/A)' )  zeile, zeile
+
+                   END SELECT
+
+                ENDDO
+!
+!--             Now the cycle numbers on the remote machine must be obtained
+!--             using batch_scp
+       1        CLOSE ( 3 )
+                IF ( .NOT. avs_coor_file_found  .OR. &
+                     .NOT. avs_data_file_found )  THEN
+                   message_string= 'no filename for AVS-data-file ' //       &
+                                   'found in MRUN-config-file' //            &
+                                   ' &filename in FLD-file set to "unknown"'
+                   CALL message( 'check_open', 'PA0169', 0, 1, 0, 6, 0 )
+
+                   avs_coor_file = 'unknown'
+                   avs_data_file = 'unknown'
+                ELSE
+                   get_filenames = .TRUE.
+                   IF ( TRIM( host ) == 'hpmuk'  .OR.  &
+                        TRIM( host ) == 'lcmuk' )  THEN
+                      batch_scp = '/home/raasch/pub/batch_scp'
+                   ELSEIF ( TRIM( host ) == 'nech' )  THEN
+                      batch_scp = '/ipf/b/b323011/pub/batch_scp'
+                   ELSEIF ( TRIM( host ) == 'ibmh'  .OR.  &
+                            TRIM( host ) == 'ibmb' )  THEN
+                      batch_scp = '/home/h/niksiraa/pub/batch_scp'
+                   ELSEIF ( TRIM( host ) == 't3eb' )  THEN
+                      batch_scp = '/home/nhbksira/pub/batch_scp'
+                   ELSE
+                      message_string= 'no path for batch_scp on host "' // &
+                                       TRIM( host ) // '"'
+                      CALL message( 'check_open', 'PA0170', 0, 1, 0, 6, 0 )
+                      get_filenames = .FALSE.
+                   ENDIF
+
+                   IF ( get_filenames )  THEN
+!
+!--                   Determine the coordinate file name.
+!--                   /etc/passwd serves as Dummy-Datei, because it is not 
+!--                   really transferred.
+                      command = TRIM( batch_scp ) // ' -n -u ' // &
+                         return_username(1:iusern) // ' ' // &
+                         return_addres(1:iaddres) // ' /etc/passwd "' // &
+                         TRIM( avs_coor_file_catalog ) // '" ' // &
+                         TRIM( avs_coor_file_localname ) // ' > REMOTE_FILENAME'
+
+                      CALL local_system( command )
+                      OPEN ( 3, FILE='REMOTE_FILENAME', FORM='FORMATTED' )
+                      READ ( 3, '(A)' )  avs_coor_file
+                      CLOSE ( 3 )
+!
+!--                   Determine the data file name
+                      command = TRIM( batch_scp ) // ' -n -u ' // &
+                         return_username(1:iusern) // ' ' // &
+                         return_addres(1:iaddres) // ' /etc/passwd "' // &
+                         TRIM( avs_data_file_catalog ) // '" ' // &
+                         TRIM( avs_data_file_localname ) // ' > REMOTE_FILENAME'
+
+                      CALL local_system( command )
+                      OPEN ( 3, FILE='REMOTE_FILENAME', FORM='FORMATTED' )
+                      READ ( 3, '(A)' )  avs_data_file
+                      CLOSE ( 3 )
+
+                   ELSE
+
+                      avs_coor_file = 'unknown'
+                      avs_data_file = 'unknown'
+
+                   ENDIF
+
+                ENDIF
+
+!
+!--             Output of the coordinate file description for FLD-file
+                OPEN ( 33, FILE='PLOT3D_FLD_COOR', FORM='FORMATTED' )
+                openfile(33)%opened = .TRUE.
+                WRITE ( 33, 3300 )  TRIM( avs_coor_file ), &
+                                    TRIM( avs_coor_file ), (nx+2)*4, &
+                                    TRIM( avs_coor_file ), (nx+2)*4+(ny+2)*4
+            
+
+                ALLOCATE( xkoor(0:nx+1), ykoor(0:ny+1), zkoor(0:nz_do3d) )
+                DO  i = 0, nx+1
+                   xkoor(i) = i * dx
+                ENDDO
+                DO  j = 0, ny+1
+                   ykoor(j) = j * dy
+                ENDDO
+                DO  k = 0, nz_do3d
+                   zkoor(k) = zu(k)
+                ENDDO
+
+!
+!--             Create and write on AVS coordinate file
+                OPEN ( 31, FILE='PLOT3D_COOR', FORM='UNFORMATTED' )
+                openfile(31)%opened = .TRUE.
+
+                WRITE (31)  xkoor, ykoor, zkoor
+                DEALLOCATE( xkoor, ykoor, zkoor )
+
+!
+!--             Create FLD file (being written on in close_file)
+                OPEN ( 32, FILE='PLOT3D_FLD', FORM='FORMATTED' )
+                openfile(32)%opened = .TRUE.
+
+!
+!--             Create flag file for compressed 3D output,
+!--             influences output commands in mrun
+                IF ( do3d_compress )  THEN
+                   OPEN ( 3, FILE='PLOT3D_COMPRESSED', FORM='FORMATTED' )
+                   WRITE ( 3, '(1X)' )
+                   CLOSE ( 3 )
+                ENDIF 
+
+             ENDIF
+
+          ENDIF
+
+!
+!--       In case of data compression output of the coordinates of the
+!--       corresponding partial array of a PE only once at the top of the file
+          IF ( avs_output  .AND.  do3d_compress )  THEN
+             WRITE ( 30 )  nxl-1, nxr+1, nys-1, nyn+1, nzb, nz_do3d
+          ENDIF
+
+       CASE ( 40:49 )
+
+          IF ( statistic_regions == 0  .AND.  file_id == 40 )  THEN
+             suffix = ''
+          ELSE
+             WRITE ( suffix, '(''_'',I1)' )  file_id - 40
+          ENDIF
+          OPEN ( file_id, FILE='PLOT1D_DATA'//TRIM( coupling_char )// &
+                               TRIM( suffix ),                        &
+                          FORM='FORMATTED' )
+!
+!--       Write contents comments at the top of the file
+          WRITE ( file_id, 4000 )  TRIM( run_description_header ) // '    ' // &
+                                   TRIM( region( file_id - 40 ) )
+
+       CASE ( 50:59 )
+
+          IF ( statistic_regions == 0  .AND.  file_id == 50 )  THEN
+             suffix = ''
+          ELSE
+             WRITE ( suffix, '(''_'',I1)' )  file_id - 50
+          ENDIF
+          OPEN ( file_id, FILE='PLOTTS_DATA'//TRIM( coupling_char )// &
+                               TRIM( suffix ),                        &
+                          FORM='FORMATTED', RECL=496 )
+!
+!--       Write PROFIL parameter file for output of time series
+!--       NOTE: To be on the safe side, this output is done at the beginning of
+!--             the model run (in case of collapse) and it is repeated in
+!--             close_file, then, however, with value ranges for the coordinate
+!--             systems
+!
+!--       Firstly determine the number of the coordinate systems to be drawn
+          cranz = 0
+          DO  j = 1, 10
+             IF ( cross_ts_number_count(j) /= 0 )  cranz = cranz+1
+          ENDDO
+          rtext = '\1.0 ' // TRIM( run_description_header ) // '    ' // &
+                  TRIM( region( file_id - 50 ) )
+!
+!--       Write RAHMEN parameter
+          OPEN ( 90, FILE='PLOTTS_PAR'//TRIM( coupling_char )// &
+                           TRIM( suffix ),                      &
+                     FORM='FORMATTED', DELIM='APOSTROPHE' )
+          WRITE ( 90, RAHMEN )
+!
+!--       Determine and write CROSS parameters for the individual coordinate 
+!--       systems
+          DO  j = 1, 10
+             k = cross_ts_number_count(j)
+             IF ( k /= 0 )  THEN
+!
+!--             Store curve numbers, colours and line style
+                klist(1:k) = cross_ts_numbers(1:k,j)
+                klist(k+1:10) = 999999
+                cucol(1:k) = linecolors(1:k)
+                lstyle(1:k) = linestyles(1:k)
+!
+!--             Write CROSS parameter
+                WRITE ( 90, CROSS )
+
+             ENDIF
+          ENDDO
+
+          CLOSE ( 90 )
+!
+!--       Write all labels at the top of the data file, but only during the 
+!--       first run of a sequence of jobs. The following jobs copy the time
+!--       series data to the bottom of that file.
+          IF ( runnr == 0 )  THEN
+             WRITE ( file_id, 5000 )  TRIM( run_description_header ) // &
+                                      '    ' // TRIM( region( file_id - 50 ) )
+          ENDIF
+
+
+       CASE ( 80 )
+
+          IF ( myid_char == '' )  THEN
+             OPEN ( 80, FILE='PARTICLE_INFOS'//TRIM(coupling_char)//myid_char, &
+                        FORM='FORMATTED', POSITION='APPEND' )
+          ELSE
+             IF ( myid == 0  .AND.  .NOT. openfile(80)%opened_before )  THEN
+                CALL local_system( 'mkdir  PARTICLE_INFOS' // coupling_char )
+             ENDIF
+#if defined( __parallel )
+!
+!--          Set a barrier in order to allow that thereafter all other
+!--          processors in the directory created by PE0 can open their file.
+!--          WARNING: The following barrier will lead to hanging jobs, if
+!--                   check_open is first called from routine
+!--                   allocate_prt_memory!
+             IF ( .NOT. openfile(80)%opened_before )  THEN
+                CALL MPI_BARRIER( comm2d, ierr )
+             ENDIF
+#endif
+             OPEN ( 80, FILE='PARTICLE_INFOS'//TRIM( coupling_char )//'/'// &
+                             myid_char,                                     &
+                        FORM='FORMATTED', POSITION='APPEND' )
+          ENDIF
+
+          IF ( .NOT. openfile(80)%opened_before )  THEN
+             WRITE ( 80, 8000 )  TRIM( run_description_header )
+          ENDIF
+
+       CASE ( 81 )
+
+             OPEN ( 81, FILE='PLOTSP_X_PAR'//coupling_char, FORM='FORMATTED', &
+                        DELIM='APOSTROPHE', RECL=1500, POSITION='APPEND' )
+
+       CASE ( 82 )
+
+             OPEN ( 82, FILE='PLOTSP_X_DATA'//coupling_char, FORM='FORMATTED', &
+                        POSITION = 'APPEND' )
+
+       CASE ( 83 )
+
+             OPEN ( 83, FILE='PLOTSP_Y_PAR'//coupling_char, FORM='FORMATTED', &
+                        DELIM='APOSTROPHE', RECL=1500, POSITION='APPEND' )
+
+       CASE ( 84 )
+
+             OPEN ( 84, FILE='PLOTSP_Y_DATA'//coupling_char, FORM='FORMATTED', &
+                        POSITION='APPEND' )
+
+       CASE ( 85 )
+
+          IF ( myid_char == '' )  THEN
+             OPEN ( 85, FILE='PARTICLE_DATA'//TRIM(coupling_char)//myid_char, &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ELSE
+             IF ( myid == 0  .AND.  .NOT. openfile(85)%opened_before )  THEN
+                CALL local_system( 'mkdir  PARTICLE_DATA' // coupling_char )
+             ENDIF
+#if defined( __parallel )
+!
+!--          Set a barrier in order to allow that thereafter all other
+!--          processors in the directory created by PE0 can open their file
+             CALL MPI_BARRIER( comm2d, ierr )
+#endif
+             OPEN ( 85, FILE='PARTICLE_DATA'//TRIM( coupling_char )//'/'// &
+                        myid_char,                                         &
+                        FORM='UNFORMATTED', POSITION='APPEND' )
+          ENDIF
+
+          IF ( .NOT. openfile(85)%opened_before )  THEN
+             WRITE ( 85 )  run_description_header
+!
+!--          Attention: change version number whenever the output format on
+!--                     unit 85 is changed (see also in routine advec_particles)
+             rtext = 'data format version 3.0'
+             WRITE ( 85 )  rtext
+             WRITE ( 85 )  number_of_particle_groups, &
+                           max_number_of_particle_groups
+             WRITE ( 85 )  particle_groups
+          ENDIF
+
+#if defined( __netcdf )
+       CASE ( 101, 111 )
+!
+!--       Set filename depending on unit number
+          IF ( file_id == 101 )  THEN
+             filename = 'DATA_2D_XY_NETCDF' // coupling_char
+             av = 0
+          ELSE
+             filename = 'DATA_2D_XY_AV_NETCDF' // coupling_char
+             av = 1
+          ENDIF
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its dimensions and variables match the
+!--       actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xy(av) )
+
+             CALL handle_netcdf_error( 'check_open', 20 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'xy', netcdf_extend, av )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_xy(av) )
+                CALL handle_netcdf_error( 'check_open', 21 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_xy(av) )
+#else
+                message_string = 'NetCDF: no 64-bit offset allowed ' // &
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xy(av) )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xy(av) )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 22 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'xy', netcdf_extend, av )
+
+          ENDIF
+
+       CASE ( 102, 112 )
+!
+!--       Set filename depending on unit number
+          IF ( file_id == 102 )  THEN
+             filename = 'DATA_2D_XZ_NETCDF' // coupling_char
+             av = 0
+          ELSE
+             filename = 'DATA_2D_XZ_AV_NETCDF' // coupling_char
+             av = 1
+          ENDIF
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its dimensions and variables match the
+!--       actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xz(av) )
+             CALL handle_netcdf_error( 'check_open', 23 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'xz', netcdf_extend, av )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_xz(av) )
+                CALL handle_netcdf_error( 'check_open', 24 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_xz(av) )
+#else
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+         
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xz(av) )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xz(av) )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 25 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'xz', netcdf_extend, av )
+
+          ENDIF
+
+       CASE ( 103, 113 )
+!
+!--       Set filename depending on unit number
+          IF ( file_id == 103 )  THEN
+             filename = 'DATA_2D_YZ_NETCDF' // coupling_char
+             av = 0
+          ELSE
+             filename = 'DATA_2D_YZ_AV_NETCDF' // coupling_char
+             av = 1
+          ENDIF
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its dimensions and variables match the
+!--       actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_yz(av) )
+             CALL handle_netcdf_error( 'check_open', 26 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'yz', netcdf_extend, av )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_yz(av) )
+                CALL handle_netcdf_error( 'check_open', 27 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET), &
+                                       id_set_yz(av) )
+#else
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_yz(av) )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_yz(av) )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 28 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'yz', netcdf_extend, av )
+
+          ENDIF
+
+       CASE ( 104 )
+!
+!--       Set filename
+          filename = 'DATA_1D_PR_NETCDF' // coupling_char
+
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its variables match the actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_pr )
+             CALL handle_netcdf_error( 'check_open', 29 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'pr', netcdf_extend, 0 )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_pr )
+                CALL handle_netcdf_error( 'check_open', 30 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_pr )
+#else 
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pr )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pr )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 31 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'pr', netcdf_extend, 0 )
+
+          ENDIF
+
+       CASE ( 105 )
+!
+!--       Set filename
+          filename = 'DATA_1D_TS_NETCDF' // coupling_char
+
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its variables match the actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_ts )
+             CALL handle_netcdf_error( 'check_open', 32 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'ts', netcdf_extend, 0 )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_ts )
+                CALL handle_netcdf_error( 'check_open', 33 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_ts )
+#else 
+                message_string = 'NetCDF: no 64-bit offset allowed ' // &
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_ts )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_ts )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 34 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'ts', netcdf_extend, 0 )
+
+          ENDIF
+
+
+       CASE ( 106, 116 )
+!
+!--       Set filename depending on unit number
+          IF ( file_id == 106 )  THEN
+             filename = 'DATA_3D_NETCDF' // coupling_char
+             av = 0
+          ELSE
+             filename = 'DATA_3D_AV_NETCDF' // coupling_char
+             av = 1
+          ENDIF
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its dimensions and variables match the
+!--       actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_3d(av) )
+             CALL handle_netcdf_error( 'check_open', 35 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( '3d', netcdf_extend, av )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_3d(av) )
+                CALL handle_netcdf_error( 'check_open', 36 )
+                CALL local_system('rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit_3d )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_3d(av) )
+#else 
+                message_string = 'NetCDF: no 64-bit offset allowed ' // &
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_3d(av) )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_3d(av) )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 37 )
+!
+!--          Define the header
+             CALL define_netcdf_header( '3d', netcdf_extend, av )
+
+          ENDIF
+
+
+       CASE ( 107 )
+!
+!--       Set filename
+          filename = 'DATA_1D_SP_NETCDF' // coupling_char
+
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its variables match the actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_sp )
+             CALL handle_netcdf_error( 'check_open', 38 )
+
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'sp', netcdf_extend, 0 )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_sp )
+                CALL handle_netcdf_error( 'check_open', 39 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_sp )
+#else 
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+               
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_sp )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_sp )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 40 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'sp', netcdf_extend, 0 )
+
+          ENDIF
+
+
+       CASE ( 108 )
+
+          IF ( myid_char == '' )  THEN
+             filename = 'DATA_PRT_NETCDF' // coupling_char
+          ELSE
+             filename = 'DATA_PRT_NETCDF' // TRIM( coupling_char ) // '/' // &
+                        myid_char
+          ENDIF
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its variables match the actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_prt )
+             CALL handle_netcdf_error( 'check_open', 41 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'pt', netcdf_extend, 0 )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_prt )
+                CALL handle_netcdf_error( 'check_open', 42 )
+                CALL local_system( 'rm ' // filename )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+
+!
+!--          For runs on multiple processors create the subdirectory
+             IF ( myid_char /= '' )  THEN
+                IF ( myid == 0  .AND. .NOT. openfile(file_id)%opened_before ) &
+                THEN    ! needs modification in case of non-extendable sets
+                   CALL local_system( 'mkdir  DATA_PRT_NETCDF' // &
+                                       TRIM( coupling_char ) // '/' )
+                ENDIF
+#if defined( __parallel )
+!
+!--             Set a barrier in order to allow that all other processors in the
+!--             directory created by PE0 can open their file
+                CALL MPI_BARRIER( comm2d, ierr )
+#endif
+             ENDIF
+
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_prt )
+#else
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_prt )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_prt )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 43 )  
+
+!
+!--          Define the header
+             CALL define_netcdf_header( 'pt', netcdf_extend, 0 )
+
+          ENDIF
+
+       CASE ( 109 )
+!
+!--       Set filename
+          filename = 'DATA_1D_PTS_NETCDF' // coupling_char
+
+!
+!--       Inquire, if there is a NetCDF file from a previuos run. This should
+!--       be opened for extension, if its variables match the actual run.
+          INQUIRE( FILE=filename, EXIST=netcdf_extend )
+
+          IF ( netcdf_extend )  THEN
+!
+!--          Open an existing NetCDF file for output 
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_pts )
+             CALL handle_netcdf_error( 'check_open', 393 )
+!
+!--          Read header information and set all ids. If there is a mismatch
+!--          between the previuos and the actual run, netcdf_extend is returned
+!--          as .FALSE.
+             CALL define_netcdf_header( 'ps', netcdf_extend, 0 )
+
+!
+!--          Remove the local file, if it can not be extended
+             IF ( .NOT. netcdf_extend )  THEN
+                nc_stat = NF90_CLOSE( id_set_pts )
+                CALL handle_netcdf_error( 'check_open', 394 )
+                CALL local_system( 'rm ' // TRIM( filename ) )
+             ENDIF
+
+          ENDIF          
+
+          IF ( .NOT. netcdf_extend )  THEN
+!
+!--          Create a new NetCDF output file
+             IF ( netcdf_64bit )  THEN
+#if defined( __netcdf_64bit )
+                nc_stat = NF90_CREATE( filename,                               &
+                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
+                                       id_set_pts )
+#else
+                message_string = 'NetCDF: no 64-bit offset allowed ' // & 
+                                 'on this machine'
+                CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )
+                
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pts )
+#endif
+             ELSE
+                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pts )
+             ENDIF
+             CALL handle_netcdf_error( 'check_open', 395 )
+!
+!--          Define the header
+             CALL define_netcdf_header( 'ps', netcdf_extend, 0 )
+
+          ENDIF
+#else
+
+       CASE ( 101:109, 111:113, 116 )
+
+!
+!--       Nothing is done in case of missing netcdf support
+          RETURN
+
+#endif
+
+       CASE DEFAULT
+
+          WRITE( message_string, * ) 'no OPEN-statement for file-id ',file_id
+          CALL message( 'check_open', 'PA0172', 2, 2, -1, 6, 1 )
+
+    END SELECT
+
+!
+!-- Set open flag
+    openfile(file_id)%opened = .TRUE.
+
+!
+!-- Formats
+3300 FORMAT ('#'/                                                   &
+             'coord 1  file=',A,'  filetype=unformatted'/           &
+             'coord 2  file=',A,'  filetype=unformatted  skip=',I6/ &
+             'coord 3  file=',A,'  filetype=unformatted  skip=',I6/ &
+             '#')
+4000 FORMAT ('# ',A)
+5000 FORMAT ('# ',A/                                                          &
+             '#1 E'/'#2 E*'/'#3 dt'/'#4 u*'/'#5 th*'/'#6 umax'/'#7 vmax'/     &
+             '#8 wmax'/'#9 div_new'/'#10 div_old'/'#11 z_i_wpt'/'#12 z_i_pt'/ &
+             '#13 w*'/'#14 w''pt''0'/'#15 w''pt'''/'#16 wpt'/'#17 pt(0)'/     &
+             '#18 pt(zp)'/'#19 splptx'/'#20 splpty'/'#21 splptz')
+8000 FORMAT (A/                                                            &
+             '  step    time  # of parts   lPE sent/recv  rPE sent/recv  ',&
+             'sPE sent/recv  nPE sent/recv  max # of parts'/               &
+             103('-'))
+
+ END SUBROUTINE check_open
Index: palm/tags/release-3.7/SOURCE/check_parameters.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/check_parameters.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/check_parameters.f90	(revision 393)
@@ -0,0 +1,3053 @@
+ SUBROUTINE check_parameters
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Check profiles fpr prho and hyp.
+! Bugfix: output of averaged 2d/3d quantities requires that an avaraging
+! interval has been set, respective error message is included
+! bc_lr_cyc and bc_ns_cyc are set,
+! initializing_actions='read_data_for_recycling' renamed to 'cyclic_fill'
+! Check for illegal entries in section_xy|xz|yz that exceed nz+1|ny+1|nx+1
+! Coupling with independent precursor runs.
+! Check particle_color, particle_dvrpsize, color_interval, dvrpsize_interval
+! Bugfix: pressure included for profile output
+! Check pressure gradient conditions
+! topography_grid_convention moved from user_check_parameters
+! 'single_street_canyon'
+! Added shf* and qsws* to the list of available output data
+!
+! 222 2009-01-12 16:04:16Z letzel
+! +user_check_parameters
+! Output of messages replaced by message handling routine.
+! Implementation of an MPI-1 coupling: replaced myid with target_id, 
+! deleted __mpi2 directives
+! Check that PALM is called with mrun -K parallel for coupling
+!
+! 197 2008-09-16 15:29:03Z raasch
+! Bug fix: Construction of vertical profiles when 10 gradients have been 
+! specified in the parameter list (ug, vg, pt, q, sa, lad)
+!   
+! Strict grid matching along z is not needed for mg-solver.
+! Leaf area density (LAD) explicitly set to its surface value at k=0
+! Case of reading data for recycling included in initializing_actions,
+! check of turbulent_inflow and calculation of recycling_plane.
+! q*2 profile added
+!
+! 138 2007-11-28 10:03:58Z letzel
+! Plant canopy added
+! Allow new case bc_uv_t = 'dirichlet_0' for channel flow.
+! Multigrid solver allows topography, checking of dt_sort_particles
+! Bugfix: initializing u_init and v_init in case of ocean runs
+!
+! 109 2007-08-28 15:26:47Z letzel
+! Check coupling_mode and set default (obligatory) values (like boundary
+! conditions for temperature and fluxes) in case of coupled runs.
+! +profiles for w*p* and w"e
+! Bugfix: Error message concerning output of particle concentration (pc)
+! modified
+! More checks and more default values for coupled runs
+! allow data_output_pr= q, wq, w"q", w*q* for humidity = .T. (instead of 
+! cloud_physics = .T.)
+! Rayleigh damping for ocean fixed.
+! Check and, if necessary, set default value for dt_coupling
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Initial salinity profile is calculated, salinity boundary conditions are
+! checked,
+! z_max_do1d is checked only in case of ocean = .f.,
+! +initial temperature and geostrophic velocity profiles for the ocean version,
+! use_pt_reference renamed use_reference
+!
+! 89 2007-05-25 12:08:31Z raasch
+! Check for user-defined profiles
+!
+! 75 2007-03-22 09:54:05Z raasch
+! "by_user" allowed as initializing action, -data_output_ts,
+! leapfrog with non-flat topography not allowed any more, loop_optimization
+! and pt_reference are checked, moisture renamed humidity,
+! output of precipitation amount/rate and roughnes length + check
+! possible negative humidities are avoided in initial profile,
+! dirichlet/neumann changed to dirichlet/radiation, etc.,
+! revision added to run_description_header
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Temperature and humidity gradients at top are now calculated for nzt+1,
+! top_heatflux and respective boundary condition bc_pt_t is checked
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.61  2006/08/04 14:20:25  raasch
+! do2d_unit and do3d_unit now defined as 2d-arrays, check of
+! use_upstream_for_tke, default value for dt_dopts,
+! generation of file header moved from routines palm and header to here
+!
+! Revision 1.1  1997/08/26 06:29:23  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Check control parameters and deduce further quantities.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE model_1d
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1)   ::  sq
+    CHARACTER (LEN=6)   ::  var
+    CHARACTER (LEN=7)   ::  unit
+    CHARACTER (LEN=8)   ::  date
+    CHARACTER (LEN=10)  ::  time
+    CHARACTER (LEN=40)  ::  coupling_string
+    CHARACTER (LEN=100) ::  action
+
+    INTEGER ::  i, ilen, intervals, iremote = 0, iter, j, k, nnxh, nnyh, &
+         position, prec
+    LOGICAL ::  found, ldum
+    REAL    ::  gradient, maxn, maxp, remote = 0.0, &
+                simulation_time_since_reference
+
+!
+!-- Warning, if host is not set
+    IF ( host(1:1) == ' ' )  THEN
+       message_string = '"host" is not set. Please check that environment ' // &
+                        'variable "localhost" & is set before running PALM'
+       CALL message( 'check_parameters', 'PA0001', 0, 0, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check the coupling mode
+    IF ( coupling_mode /= 'uncoupled'            .AND.  &
+         coupling_mode /= 'atmosphere_to_ocean'  .AND.  &
+         coupling_mode /= 'ocean_to_atmosphere' )  THEN
+       message_string = 'illegal coupling mode: ' // TRIM( coupling_mode )
+       CALL message( 'check_parameters', 'PA0002', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check dt_coupling, restart_time, dt_restart, end_time, dx, dy, nx and ny
+    IF ( coupling_mode /= 'uncoupled' )  THEN
+
+       IF ( dt_coupling == 9999999.9 )  THEN
+          message_string = 'dt_coupling is not set but required for coup' // &
+                           'ling mode "' //  TRIM( coupling_mode ) // '"'
+          CALL message( 'check_parameters', 'PA0003', 1, 2, 0, 6, 0 )
+       ENDIF
+
+#if defined( __parallel )
+       CALL MPI_SEND( dt_coupling, 1, MPI_REAL, target_id, 11, comm_inter, &
+                      ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 11, comm_inter, &
+                      status, ierr )
+       IF ( dt_coupling /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": dt_coupling = ', dt_coupling, '& is not equal to ',       &
+                 'dt_coupling_remote = ', remote
+          CALL message( 'check_parameters', 'PA0004', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( dt_coupling <= 0.0 )  THEN
+          CALL MPI_SEND( dt_max, 1, MPI_REAL, target_id, 19, comm_inter, ierr )
+          CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 19, comm_inter, &
+                         status, ierr )
+          dt_coupling = MAX( dt_max, remote )
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": dt_coupling <= 0.0 & is not allowed and is reset to ',    &
+                 'MAX(dt_max(A,O)) = ', dt_coupling
+          CALL message( 'check_parameters', 'PA0005', 0, 1, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( restart_time, 1, MPI_REAL, target_id, 12, comm_inter, &
+                      ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 12, comm_inter, &
+                      status, ierr )
+       IF ( restart_time /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": restart_time = ', restart_time, '& is not equal to ',     &
+                 'restart_time_remote = ', remote
+          CALL message( 'check_parameters', 'PA0006', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( dt_restart, 1, MPI_REAL, target_id, 13, comm_inter, &
+                      ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 13, comm_inter, &
+                      status, ierr )
+       IF ( dt_restart /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": dt_restart = ', dt_restart, '& is not equal to ',         &
+                 'dt_restart_remote = ', remote
+          CALL message( 'check_parameters', 'PA0007', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       simulation_time_since_reference = end_time - coupling_start_time
+       CALL MPI_SEND( simulation_time_since_reference, 1, MPI_REAL, target_id, &
+                      14, comm_inter, ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 14, comm_inter, &
+                      status, ierr )
+       IF ( simulation_time_since_reference /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": simulation_time_since_reference = ',                      &
+                 simulation_time_since_reference, '& is not equal to ',        &
+                 'simulation_time_since_reference_remote = ', remote
+          CALL message( 'check_parameters', 'PA0008', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( dx, 1, MPI_REAL, target_id, 15, comm_inter, ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 15, comm_inter, &
+                      status, ierr )
+       IF ( dx /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '":  dx = ', dx, '& is not equal to dx_remote = ', remote
+          CALL message( 'check_parameters', 'PA0009', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( dy, 1, MPI_REAL, target_id, 16, comm_inter, ierr )
+       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 16, comm_inter, &
+                      status, ierr )
+       IF ( dy /= remote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '":  dy = ', dy, '& is not equal to dy_remote = ', remote
+          CALL message( 'check_parameters', 'PA0010', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( nx, 1, MPI_INTEGER, target_id, 17, comm_inter, ierr )
+       CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 17, comm_inter, &
+                      status, ierr )
+       IF ( nx /= iremote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": nx = ', nx, '& is not equal to nx_remote = ', iremote
+          CALL message( 'check_parameters', 'PA0011', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       CALL MPI_SEND( ny, 1, MPI_INTEGER, target_id, 18, comm_inter, ierr )
+       CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 18, comm_inter, &
+                      status, ierr )
+       IF ( ny /= iremote )  THEN
+          WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), &
+                 '": ny = ', ny, '& is not equal to ny_remote = ', iremote
+          CALL message( 'check_parameters', 'PA0012', 1, 2, 0, 6, 0 )
+       ENDIF
+#else
+       WRITE( message_string, * ) 'coupling requires PALM to be called with', &
+            ' ''mrun -K parallel'''
+       CALL message( 'check_parameters', 'PA0141', 1, 2, 0, 6, 0 )
+#endif
+    ENDIF
+
+#if defined( __parallel )
+!
+!-- Exchange via intercommunicator
+    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+       CALL MPI_SEND( humidity, 1, MPI_LOGICAL, target_id, 19, comm_inter, &
+                      ierr )
+    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+       CALL MPI_RECV( humidity_remote, 1, MPI_LOGICAL, target_id, 19, &
+                      comm_inter, status, ierr )
+    ENDIF
+#endif
+
+
+!
+!-- Generate the file header which is used as a header for most of PALM's
+!-- output files
+    CALL DATE_AND_TIME( date, time )
+    run_date = date(7:8)//'-'//date(5:6)//'-'//date(3:4)
+    run_time = time(1:2)//':'//time(3:4)//':'//time(5:6)
+    IF ( coupling_mode == 'uncoupled' )  THEN
+       coupling_string = ''
+    ELSEIF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+       coupling_string = ' coupled (atmosphere)'
+    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+       coupling_string = ' coupled (ocean)'
+    ENDIF       
+
+    WRITE ( run_description_header,                                        &
+                             '(A,2X,A,2X,A,A,A,I2.2,A,2X,A,A,2X,A,1X,A)' ) &
+              TRIM( version ), TRIM( revision ), 'run: ',                  &
+              TRIM( run_identifier ), '.', runnr, TRIM( coupling_string ), &
+              'host: ', TRIM( host ), run_date, run_time
+
+!
+!-- Check the general loop optimization method
+    IF ( loop_optimization == 'default' )  THEN
+       IF ( host(1:3) == 'nec' )  THEN
+          loop_optimization = 'vector'
+       ELSE
+          loop_optimization = 'cache'
+       ENDIF
+    ENDIF
+    IF ( loop_optimization /= 'noopt'  .AND.  loop_optimization /= 'cache' &
+         .AND.  loop_optimization /= 'vector' )  THEN
+       message_string = 'illegal value given for loop_optimization: "' // &
+                        TRIM( loop_optimization ) // '"'
+       CALL message( 'check_parameters', 'PA0013', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check topography setting (check for illegal parameter combinations)
+    IF ( topography /= 'flat' )  THEN
+       action = ' '
+       IF ( scalar_advec /= 'pw-scheme' )  THEN
+          WRITE( action, '(A,A)' )  'scalar_advec = ', scalar_advec
+       ENDIF
+       IF ( momentum_advec /= 'pw-scheme' )  THEN
+          WRITE( action, '(A,A)' )  'momentum_advec = ', momentum_advec
+       ENDIF
+       IF ( timestep_scheme(1:8) == 'leapfrog' )  THEN
+          WRITE( action, '(A,A)' )  'timestep_scheme = ', timestep_scheme
+       ENDIF
+       IF ( psolver == 'sor' )  THEN
+          WRITE( action, '(A,A)' )  'psolver = ', psolver
+       ENDIF
+       IF ( sloping_surface )  THEN
+          WRITE( action, '(A)' )  'sloping surface = .TRUE.'
+       ENDIF
+       IF ( galilei_transformation )  THEN
+          WRITE( action, '(A)' )  'galilei_transformation = .TRUE.'
+       ENDIF
+       IF ( cloud_physics )  THEN
+          WRITE( action, '(A)' )  'cloud_physics = .TRUE.'
+       ENDIF
+       IF ( cloud_droplets )  THEN
+          WRITE( action, '(A)' )  'cloud_droplets = .TRUE.'
+       ENDIF
+       IF ( humidity )  THEN
+          WRITE( action, '(A)' )  'humidity = .TRUE.'
+       ENDIF
+       IF ( .NOT. prandtl_layer )  THEN
+          WRITE( action, '(A)' )  'prandtl_layer = .FALSE.'
+       ENDIF
+       IF ( action /= ' ' )  THEN
+          message_string = 'a non-flat topography does not allow ' // &
+                           TRIM( action )
+          CALL message( 'check_parameters', 'PA0014', 1, 2, 0, 6, 0 )
+       ENDIF
+!
+!--    In case of non-flat topography, check whether the convention how to 
+!--    define the topography grid has been set correctly, or whether the default
+!--    is applicable. If this is not possible, abort.
+       IF ( TRIM( topography_grid_convention ) == ' ' )  THEN
+          IF ( TRIM( topography ) /= 'single_building' .AND.  &
+               TRIM( topography ) /= 'single_street_canyon' .AND.  &
+               TRIM( topography ) /= 'read_from_file' )  THEN
+!--          The default value is not applicable here, because it is only valid
+!--          for the two standard cases 'single_building' and 'read_from_file'
+!--          defined in init_grid.
+             WRITE( message_string, * )  &
+                  'The value for "topography_grid_convention" ',  &
+                  'is not set. Its default value is & only valid for ',  &
+                  '"topography" = ''single_building'', ',  &
+                  '''single_street_canyon'' & or ''read_from_file''.',  &
+                  ' & Choose ''cell_edge'' or ''cell_center''.'
+             CALL message( 'user_check_parameters', 'PA0239', 1, 2, 0, 6, 0 )
+          ELSE
+!--          The default value is applicable here.
+!--          Set convention according to topography.
+             IF ( TRIM( topography ) == 'single_building' .OR.  &
+                  TRIM( topography ) == 'single_street_canyon' )  THEN
+                topography_grid_convention = 'cell_edge'
+             ELSEIF ( TRIM( topography ) == 'read_from_file' )  THEN
+                topography_grid_convention = 'cell_center'
+             ENDIF
+          ENDIF
+       ELSEIF ( TRIM( topography_grid_convention ) /= 'cell_edge' .AND.  &
+                TRIM( topography_grid_convention ) /= 'cell_center' )  THEN
+          WRITE( message_string, * )  &
+               'The value for "topography_grid_convention" is ', &
+               'not recognized. & Choose ''cell_edge'' or ''cell_center''.'
+          CALL message( 'user_check_parameters', 'PA0240', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ENDIF
+
+!
+!-- Check ocean setting
+    IF ( ocean )  THEN
+
+       action = ' '
+       IF ( timestep_scheme(1:8) == 'leapfrog' )  THEN
+          WRITE( action, '(A,A)' )  'timestep_scheme = ', timestep_scheme
+       ENDIF
+       IF ( momentum_advec == 'ups-scheme' )  THEN
+          WRITE( action, '(A,A)' )  'momentum_advec = ', momentum_advec
+       ENDIF
+       IF ( action /= ' ' )  THEN
+          message_string = 'ocean = .T. does not allow ' // TRIM( action )
+          CALL message( 'check_parameters', 'PA0015', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ELSEIF ( TRIM( coupling_mode ) == 'uncoupled'  .AND.  &
+             TRIM( coupling_char ) == '_O' )  THEN
+
+!
+!--    Check whether an (uncoupled) atmospheric run has been declared as an
+!--    ocean run (this setting is done via mrun-option -y)
+
+       message_string = 'ocean = .F. does not allow coupling_char = "' // &
+                        TRIM( coupling_char ) // '" set by mrun-option "-y"'
+       CALL message( 'check_parameters', 'PA0317', 1, 2, 0, 6, 0 )
+
+    ENDIF
+
+!
+!-- Check whether there are any illegal values
+!-- Pressure solver:
+    IF ( psolver /= 'poisfft'  .AND.  psolver /= 'poisfft_hybrid'  .AND. &
+         psolver /= 'sor'  .AND.  psolver /= 'multigrid' )  THEN
+       message_string = 'unknown solver for perturbation pressure: psolver' // &
+                        ' = "' // TRIM( psolver ) // '"'
+       CALL message( 'check_parameters', 'PA0016', 1, 2, 0, 6, 0 )
+    ENDIF
+
+#if defined( __parallel )
+    IF ( psolver == 'poisfft_hybrid'  .AND.  pdims(2) /= 1 )  THEN
+       message_string = 'psolver = "' // TRIM( psolver ) // '" only works ' // &
+                        'for a 1d domain-decomposition along x & please do' // &
+                        ' not set npey/=1 in the parameter file'
+       CALL message( 'check_parameters', 'PA0017', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( psolver == 'poisfft_hybrid'  .AND.                     &
+         ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  .OR. &
+          psolver == 'multigrid'      .AND.                     &
+         ( nxra > nxr  .OR.  nyna > nyn ) )  THEN
+       message_string = 'psolver = "' // TRIM( psolver ) // '" does not ' // &
+                        'work for subdomains with unequal size & please ' // &
+                        'set grid_matching = ''strict'' in the parameter file'
+       CALL message( 'check_parameters', 'PA0018', 1, 2, 0, 6, 0 )
+    ENDIF
+#else
+    IF ( psolver == 'poisfft_hybrid' )  THEN
+       message_string = 'psolver = "' // TRIM( psolver ) // '" only works' // &
+                        ' for a parallel environment'
+       CALL message( 'check_parameters', 'PA0019', 1, 2, 0, 6, 0 )
+    ENDIF
+#endif
+
+    IF ( psolver == 'multigrid' )  THEN
+       IF ( cycle_mg == 'w' )  THEN
+          gamma_mg = 2
+       ELSEIF ( cycle_mg == 'v' )  THEN
+          gamma_mg = 1
+       ELSE
+          message_string = 'unknown multigrid cycle: cycle_mg = "' // &
+                           TRIM( cycle_mg ) // '"'
+          CALL message( 'check_parameters', 'PA0020', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+    IF ( fft_method /= 'singleton-algorithm'  .AND.  &
+         fft_method /= 'temperton-algorithm'  .AND.  &
+         fft_method /= 'system-specific' )  THEN
+       message_string = 'unknown fft-algorithm: fft_method = "' // &
+                        TRIM( fft_method ) // '"'
+       CALL message( 'check_parameters', 'PA0021', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Advection schemes:
+    IF ( momentum_advec /= 'pw-scheme' .AND. momentum_advec /= 'ups-scheme' ) &
+    THEN
+       message_string = 'unknown advection scheme: momentum_advec = "' // &
+                        TRIM( momentum_advec ) // '"'
+       CALL message( 'check_parameters', 'PA0022', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( ( momentum_advec == 'ups-scheme'  .OR.  scalar_advec == 'ups-scheme' )&
+                                      .AND.  timestep_scheme /= 'euler' )  THEN
+       message_string = 'momentum_advec = "' // TRIM( momentum_advec ) // &
+                        '" is not allowed with timestep_scheme = "' //    &
+                        TRIM( timestep_scheme ) // '"'
+       CALL message( 'check_parameters', 'PA0023', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( scalar_advec /= 'pw-scheme'  .AND.  scalar_advec /= 'bc-scheme'  .AND.&
+         scalar_advec /= 'ups-scheme' )  THEN
+       message_string = 'unknown advection scheme: scalar_advec = "' // &
+                        TRIM( scalar_advec ) // '"'
+       CALL message( 'check_parameters', 'PA0024', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( use_sgs_for_particles  .AND.  .NOT. use_upstream_for_tke )  THEN
+       use_upstream_for_tke = .TRUE.
+       message_string = 'use_upstream_for_tke set .TRUE. because ' // &
+                        'use_sgs_for_particles = .TRUE.'
+       CALL message( 'check_parameters', 'PA0025', 0, 1, 0, 6, 0 )
+    ENDIF
+
+    IF ( use_upstream_for_tke  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+       message_string = 'use_upstream_for_tke = .TRUE. not allowed with ' // &
+                        'timestep_scheme = "' // TRIM( timestep_scheme ) // '"'
+       CALL message( 'check_parameters', 'PA0026', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Timestep schemes:
+    SELECT CASE ( TRIM( timestep_scheme ) )
+
+       CASE ( 'euler' )
+          intermediate_timestep_count_max = 1
+          asselin_filter_factor           = 0.0
+
+       CASE ( 'leapfrog', 'leapfrog+euler' )
+          intermediate_timestep_count_max = 1
+
+       CASE ( 'runge-kutta-2' )
+          intermediate_timestep_count_max = 2
+          asselin_filter_factor           = 0.0
+
+       CASE ( 'runge-kutta-3' )
+          intermediate_timestep_count_max = 3
+          asselin_filter_factor           = 0.0
+
+       CASE DEFAULT
+          message_string = 'unknown timestep scheme: timestep_scheme = "' // &
+                           TRIM( timestep_scheme ) // '"'
+          CALL message( 'check_parameters', 'PA0027', 1, 2, 0, 6, 0 )
+
+    END SELECT
+
+    IF ( scalar_advec == 'ups-scheme'  .AND.  timestep_scheme(1:5) == 'runge' )&
+    THEN
+       message_string = 'scalar advection scheme "' // TRIM( scalar_advec ) // &
+                        '" & does not work with timestep_scheme "' // &
+                        TRIM( timestep_scheme ) // '"'
+       CALL message( 'check_parameters', 'PA0028', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( momentum_advec /= 'pw-scheme' .AND. timestep_scheme(1:5) == 'runge' ) &
+    THEN
+       message_string = 'momentum advection scheme "' // &
+                        TRIM( momentum_advec ) // '" & does not work with ' // &
+                        'timestep_scheme "' // TRIM( timestep_scheme ) // '"'
+       CALL message( 'check_parameters', 'PA0029', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( TRIM( initializing_actions ) /= 'read_restart_data'  .AND.  &
+         TRIM( initializing_actions ) /= 'cyclic_fill' )  THEN
+!
+!--    No restart run: several initialising actions are possible
+       action = initializing_actions
+       DO WHILE ( TRIM( action ) /= '' )
+          position = INDEX( action, ' ' )
+          SELECT CASE ( action(1:position-1) )
+
+             CASE ( 'set_constant_profiles', 'set_1d-model_profiles', &
+                    'by_user', 'initialize_vortex',     'initialize_ptanom' )
+                action = action(position+1:)
+
+             CASE DEFAULT
+                message_string = 'initializing_action = "' // &
+                                 TRIM( action ) // '" unkown or not allowed'
+                CALL message( 'check_parameters', 'PA0030', 1, 2, 0, 6, 0 )
+
+          END SELECT
+       ENDDO
+    ENDIF
+
+    IF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0  .AND. &
+         INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       message_string = 'initializing_actions = "set_constant_profiles"' // &
+                        ' and "set_1d-model_profiles" are not allowed ' //  &
+                        'simultaneously'
+       CALL message( 'check_parameters', 'PA0031', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0  .AND. &
+         INDEX( initializing_actions, 'by_user' ) /= 0 )  THEN
+       message_string = 'initializing_actions = "set_constant_profiles"' // &
+                        ' and "by_user" are not allowed simultaneously'
+       CALL message( 'check_parameters', 'PA0032', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( INDEX( initializing_actions, 'by_user' ) /= 0  .AND. &
+         INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       message_string = 'initializing_actions = "by_user" and ' // &
+                        '"set_1d-model_profiles" are not allowed simultaneously'
+       CALL message( 'check_parameters', 'PA0033', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( cloud_physics  .AND.  .NOT. humidity )  THEN
+       WRITE( message_string, * ) 'cloud_physics = ', cloud_physics, ' is ', &
+              'not allowed with humidity = ', humidity
+       CALL message( 'check_parameters', 'PA0034', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( precipitation  .AND.  .NOT.  cloud_physics )  THEN
+       WRITE( message_string, * ) 'precipitation = ', precipitation, ' is ', &
+              'not allowed with cloud_physics = ', cloud_physics
+       CALL message( 'check_parameters', 'PA0035', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( humidity  .AND.  sloping_surface )  THEN
+       message_string = 'humidity = .TRUE. and sloping_surface = .TRUE. ' // &
+                        'are not allowed simultaneously'
+       CALL message( 'check_parameters', 'PA0036', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( humidity  .AND.  scalar_advec == 'ups-scheme' )  THEN
+       message_string = 'UPS-scheme is not implemented for humidity = .TRUE.'
+       CALL message( 'check_parameters', 'PA0037', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( passive_scalar  .AND.  humidity )  THEN
+       message_string = 'humidity = .TRUE. and passive_scalar = .TRUE. ' // &
+                        'is not allowed simultaneously'
+       CALL message( 'check_parameters', 'PA0038', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( passive_scalar  .AND.  scalar_advec == 'ups-scheme' )  THEN
+       message_string = 'UPS-scheme is not implemented for passive_scalar' // &
+                        ' = .TRUE.'
+       CALL message( 'check_parameters', 'PA0039', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( grid_matching /= 'strict'  .AND.  grid_matching /= 'match' )  THEN
+       message_string = 'illegal value "' // TRIM( grid_matching ) // &
+                        '" found for parameter grid_matching'
+       CALL message( 'check_parameters', 'PA0040', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( plant_canopy .AND. ( drag_coefficient == 0.0 ) ) THEN
+       message_string = 'plant_canopy = .TRUE. requires a non-zero drag ' // &
+                        'coefficient & given value is drag_coefficient = 0.0'
+       CALL message( 'check_parameters', 'PA0041', 1, 2, 0, 6, 0 )
+    ENDIF 
+
+!
+!-- In case of no model continuation run, check initialising parameters and
+!-- deduce further quantities
+    IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
+
+!
+!--    Initial profiles for 1D and 3D model, respectively
+       u_init  = ug_surface
+       v_init  = vg_surface
+       pt_init = pt_surface
+       IF ( humidity )        q_init  = q_surface
+       IF ( ocean )           sa_init = sa_surface
+       IF ( passive_scalar )  q_init  = s_surface
+       IF ( plant_canopy )    lad = 0.0
+
+!
+!--
+!--    If required, compute initial profile of the geostrophic wind
+!--    (component ug)
+       i = 1
+       gradient = 0.0
+
+       IF ( .NOT. ocean )  THEN
+
+          ug_vertical_gradient_level_ind(1) = 0
+          ug(0) = ug_surface
+          DO  k = 1, nzt+1
+             IF ( i < 11 ) THEN
+                IF ( ug_vertical_gradient_level(i) < zu(k)  .AND. &
+                     ug_vertical_gradient_level(i) >= 0.0 )  THEN
+                   gradient = ug_vertical_gradient(i) / 100.0
+                   ug_vertical_gradient_level_ind(i) = k - 1
+                   i = i + 1
+                ENDIF
+             ENDIF        
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= 1 )  THEN
+                   ug(k) = ug(k-1) + dzu(k) * gradient
+                ELSE
+                   ug(k) = ug_surface + 0.5 * dzu(k) * gradient
+                ENDIF
+             ELSE
+                ug(k) = ug(k-1)
+             ENDIF
+          ENDDO
+
+       ELSE
+
+          ug_vertical_gradient_level_ind(1) = nzt+1
+          ug(nzt+1) = ug_surface
+          DO  k = nzt, 0, -1
+             IF ( i < 11 ) THEN
+                IF ( ug_vertical_gradient_level(i) > zu(k)  .AND. &
+                     ug_vertical_gradient_level(i) <= 0.0 )  THEN
+                   gradient = ug_vertical_gradient(i) / 100.0
+                   ug_vertical_gradient_level_ind(i) = k + 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= nzt )  THEN
+                   ug(k) = ug(k+1) - dzu(k+1) * gradient
+                ELSE
+                   ug(k)   = ug_surface - 0.5 * dzu(k+1) * gradient
+                   ug(k+1) = ug_surface + 0.5 * dzu(k+1) * gradient
+                ENDIF
+             ELSE
+                ug(k) = ug(k+1)
+             ENDIF
+          ENDDO
+
+       ENDIF
+
+       u_init = ug
+
+!
+!--    In case of no given gradients for ug, choose a vanishing gradient
+       IF ( ug_vertical_gradient_level(1) == -9999999.9 )  THEN
+          ug_vertical_gradient_level(1) = 0.0
+       ENDIF  
+
+!
+!--
+!--    If required, compute initial profile of the geostrophic wind
+!--    (component vg)
+       i = 1
+       gradient = 0.0
+
+       IF ( .NOT. ocean )  THEN
+
+          vg_vertical_gradient_level_ind(1) = 0
+          vg(0) = vg_surface
+          DO  k = 1, nzt+1
+             IF ( i < 11 ) THEN 
+                IF ( vg_vertical_gradient_level(i) < zu(k)  .AND. &
+                     vg_vertical_gradient_level(i) >= 0.0 )  THEN
+                   gradient = vg_vertical_gradient(i) / 100.0
+                   vg_vertical_gradient_level_ind(i) = k - 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= 1 )  THEN
+                   vg(k) = vg(k-1) + dzu(k) * gradient
+                ELSE
+                   vg(k) = vg_surface + 0.5 * dzu(k) * gradient
+                ENDIF
+             ELSE
+                vg(k) = vg(k-1)
+             ENDIF
+          ENDDO
+
+       ELSE
+
+          vg_vertical_gradient_level_ind(1) = nzt+1
+          vg(nzt+1) = vg_surface
+          DO  k = nzt, 0, -1
+             IF ( i < 11 ) THEN
+                IF ( vg_vertical_gradient_level(i) > zu(k)  .AND. &
+                     vg_vertical_gradient_level(i) <= 0.0 )  THEN
+                   gradient = vg_vertical_gradient(i) / 100.0
+                   vg_vertical_gradient_level_ind(i) = k + 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= nzt )  THEN
+                   vg(k) = vg(k+1) - dzu(k+1) * gradient
+                ELSE
+                   vg(k)   = vg_surface - 0.5 * dzu(k+1) * gradient
+                   vg(k+1) = vg_surface + 0.5 * dzu(k+1) * gradient
+                ENDIF
+             ELSE
+                vg(k) = vg(k+1)
+             ENDIF
+          ENDDO
+
+       ENDIF
+
+       v_init = vg
+ 
+!
+!--    In case of no given gradients for vg, choose a vanishing gradient
+       IF ( vg_vertical_gradient_level(1) == -9999999.9 )  THEN
+          vg_vertical_gradient_level(1) = 0.0
+       ENDIF
+
+!
+!--    Compute initial temperature profile using the given temperature gradients
+       i = 1
+       gradient = 0.0
+
+       IF ( .NOT. ocean )  THEN
+
+          pt_vertical_gradient_level_ind(1) = 0
+          DO  k = 1, nzt+1
+             IF ( i < 11 ) THEN
+                IF ( pt_vertical_gradient_level(i) < zu(k)  .AND. &
+                     pt_vertical_gradient_level(i) >= 0.0 )  THEN
+                   gradient = pt_vertical_gradient(i) / 100.0
+                   pt_vertical_gradient_level_ind(i) = k - 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= 1 )  THEN
+                   pt_init(k) = pt_init(k-1) + dzu(k) * gradient
+                ELSE
+                   pt_init(k) = pt_surface   + 0.5 * dzu(k) * gradient
+                ENDIF
+             ELSE
+                pt_init(k) = pt_init(k-1)
+             ENDIF
+          ENDDO
+
+       ELSE
+
+          pt_vertical_gradient_level_ind(1) = nzt+1
+          DO  k = nzt, 0, -1
+             IF ( i < 11 ) THEN
+                IF ( pt_vertical_gradient_level(i) > zu(k)  .AND. &
+                     pt_vertical_gradient_level(i) <= 0.0 )  THEN
+                   gradient = pt_vertical_gradient(i) / 100.0
+                   pt_vertical_gradient_level_ind(i) = k + 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= nzt )  THEN
+                   pt_init(k) = pt_init(k+1) - dzu(k+1) * gradient
+                ELSE
+                   pt_init(k)   = pt_surface - 0.5 * dzu(k+1) * gradient
+                   pt_init(k+1) = pt_surface + 0.5 * dzu(k+1) * gradient
+                ENDIF
+             ELSE
+                pt_init(k) = pt_init(k+1)
+             ENDIF
+          ENDDO
+
+       ENDIF
+
+!
+!--    In case of no given temperature gradients, choose gradient of neutral
+!--    stratification
+       IF ( pt_vertical_gradient_level(1) == -9999999.9 )  THEN
+          pt_vertical_gradient_level(1) = 0.0
+       ENDIF
+
+!
+!--    Store temperature gradient at the top boundary for possible Neumann
+!--    boundary condition
+       bc_pt_t_val = ( pt_init(nzt+1) - pt_init(nzt) ) / dzu(nzt+1)
+
+!
+!--    If required, compute initial humidity or scalar profile using the given
+!--    humidity/scalar gradient. In case of scalar transport, initially store
+!--    values of the scalar parameters on humidity parameters
+       IF ( passive_scalar )  THEN
+          bc_q_b                    = bc_s_b
+          bc_q_t                    = bc_s_t
+          q_surface                 = s_surface
+          q_surface_initial_change  = s_surface_initial_change
+          q_vertical_gradient       = s_vertical_gradient
+          q_vertical_gradient_level = s_vertical_gradient_level
+          surface_waterflux         = surface_scalarflux
+       ENDIF
+
+       IF ( humidity  .OR.  passive_scalar )  THEN
+
+          i = 1
+          gradient = 0.0
+          q_vertical_gradient_level_ind(1) = 0
+          DO  k = 1, nzt+1
+             IF ( i < 11 ) THEN
+                IF ( q_vertical_gradient_level(i) < zu(k)  .AND. &
+                     q_vertical_gradient_level(i) >= 0.0 )  THEN
+                   gradient = q_vertical_gradient(i) / 100.0
+                   q_vertical_gradient_level_ind(i) = k - 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= 1 )  THEN
+                   q_init(k) = q_init(k-1) + dzu(k) * gradient
+                ELSE
+                   q_init(k) = q_init(k-1) + 0.5 * dzu(k) * gradient
+                ENDIF
+             ELSE
+                q_init(k) = q_init(k-1)
+             ENDIF
+!
+!--          Avoid negative humidities
+             IF ( q_init(k) < 0.0 )  THEN
+                q_init(k) = 0.0
+             ENDIF
+          ENDDO
+
+!
+!--       In case of no given humidity gradients, choose zero gradient
+!--       conditions
+          IF ( q_vertical_gradient_level(1) == -1.0 )  THEN
+             q_vertical_gradient_level(1) = 0.0
+          ENDIF
+
+!
+!--       Store humidity gradient at the top boundary for possile Neumann
+!--       boundary condition
+          bc_q_t_val = ( q_init(nzt+1) - q_init(nzt) ) / dzu(nzt+1)
+
+       ENDIF
+
+!
+!--    If required, compute initial salinity profile using the given salinity
+!--    gradients
+       IF ( ocean )  THEN
+
+          i = 1
+          gradient = 0.0
+
+          sa_vertical_gradient_level_ind(1) = nzt+1
+          DO  k = nzt, 0, -1
+             IF ( i < 11 ) THEN
+                IF ( sa_vertical_gradient_level(i) > zu(k)  .AND. &
+                     sa_vertical_gradient_level(i) <= 0.0 )  THEN
+                   gradient = sa_vertical_gradient(i) / 100.0
+                   sa_vertical_gradient_level_ind(i) = k + 1
+                   i = i + 1
+                ENDIF
+             ENDIF
+             IF ( gradient /= 0.0 )  THEN
+                IF ( k /= nzt )  THEN
+                   sa_init(k) = sa_init(k+1) - dzu(k+1) * gradient
+                ELSE
+                   sa_init(k)   = sa_surface - 0.5 * dzu(k+1) * gradient
+                   sa_init(k+1) = sa_surface + 0.5 * dzu(k+1) * gradient
+                ENDIF
+             ELSE
+                sa_init(k) = sa_init(k+1)
+             ENDIF
+          ENDDO
+
+       ENDIF
+
+!
+!--    If required compute the profile of leaf area density used in the plant
+!--    canopy model 
+       IF ( plant_canopy ) THEN
+       
+          i = 1
+          gradient = 0.0
+
+          IF ( .NOT. ocean ) THEN
+
+             lad(0) = lad_surface
+ 
+             lad_vertical_gradient_level_ind(1) = 0
+             DO k = 1, pch_index
+                IF ( i < 11 ) THEN
+                   IF ( lad_vertical_gradient_level(i) < zu(k) .AND.  &
+                        lad_vertical_gradient_level(i) >= 0.0 ) THEN
+                      gradient = lad_vertical_gradient(i)
+                      lad_vertical_gradient_level_ind(i) = k - 1
+                      i = i + 1
+                   ENDIF
+                ENDIF
+                IF ( gradient /= 0.0 ) THEN
+                   IF ( k /= 1 ) THEN
+                      lad(k) = lad(k-1) + dzu(k) * gradient
+                   ELSE
+                      lad(k) = lad_surface + 0.5 * dzu(k) *gradient
+                   ENDIF
+                ELSE
+                   lad(k) = lad(k-1)
+                ENDIF
+             ENDDO
+
+          ENDIF
+
+!
+!--       In case of no given leaf area density gradients, choose a vanishing
+!--       gradient
+          IF ( lad_vertical_gradient_level(1) == -9999999.9 ) THEN
+             lad_vertical_gradient_level(1) = 0.0
+          ENDIF
+
+       ENDIF
+         
+    ENDIF
+             
+!
+!-- Compute Coriolis parameter
+    f  = 2.0 * omega * SIN( phi / 180.0 * pi )
+    fs = 2.0 * omega * COS( phi / 180.0 * pi )
+
+!
+!-- Ocean runs always use reference values in the buoyancy term. Therefore
+!-- set the reference temperature equal to the surface temperature.
+    IF ( ocean  .AND.  pt_reference == 9999999.9 )  pt_reference = pt_surface
+
+!
+!-- Reference value has to be used in buoyancy terms
+    IF ( pt_reference /= 9999999.9 )  use_reference = .TRUE.
+
+!
+!-- Sign of buoyancy/stability terms
+    IF ( ocean )  atmos_ocean_sign = -1.0
+
+!
+!-- Ocean version must use flux boundary conditions at the top
+    IF ( ocean .AND. .NOT. use_top_fluxes )  THEN
+       message_string = 'use_top_fluxes must be .TRUE. in ocean version'
+       CALL message( 'check_parameters', 'PA0042', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- In case of a given slope, compute the relevant quantities
+    IF ( alpha_surface /= 0.0 )  THEN
+       IF ( ABS( alpha_surface ) > 90.0 )  THEN
+          WRITE( message_string, * ) 'ABS( alpha_surface = ', alpha_surface, &
+                                     ' ) must be < 90.0'
+          CALL message( 'check_parameters', 'PA0043', 1, 2, 0, 6, 0 )
+       ENDIF
+       sloping_surface = .TRUE.
+       cos_alpha_surface = COS( alpha_surface / 180.0 * pi )
+       sin_alpha_surface = SIN( alpha_surface / 180.0 * pi )
+    ENDIF
+
+!
+!-- Check time step and cfl_factor
+    IF ( dt /= -1.0 )  THEN
+       IF ( dt <= 0.0  .AND.  dt /= -1.0 )  THEN
+          WRITE( message_string, * ) 'dt = ', dt , ' <= 0.0'
+          CALL message( 'check_parameters', 'PA0044', 1, 2, 0, 6, 0 )
+       ENDIF
+       dt_3d = dt
+       dt_fixed = .TRUE.
+    ENDIF
+
+    IF ( cfl_factor <= 0.0  .OR.  cfl_factor > 1.0 )  THEN
+       IF ( cfl_factor == -1.0 )  THEN
+          IF ( momentum_advec == 'ups-scheme'  .OR.  &
+               scalar_advec == 'ups-scheme' )  THEN
+             cfl_factor = 0.8
+          ELSE
+             IF ( timestep_scheme == 'runge-kutta-2' )  THEN
+                cfl_factor = 0.8
+             ELSEIF ( timestep_scheme == 'runge-kutta-3' )  THEN
+                cfl_factor = 0.9
+             ELSE
+                cfl_factor = 0.1
+             ENDIF
+          ENDIF
+       ELSE
+          WRITE( message_string, * ) 'cfl_factor = ', cfl_factor, &
+                 ' out of range & 0.0 < cfl_factor <= 1.0 is required'
+          CALL message( 'check_parameters', 'PA0045', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Store simulated time at begin
+    simulated_time_at_begin = simulated_time
+
+!
+!-- Store reference time for coupled runs and change the coupling flag,
+!-- if ...
+    IF ( simulated_time == 0.0 )  THEN
+       IF ( coupling_start_time == 0.0 )  THEN
+          time_since_reference_point = 0.0
+       ELSEIF ( time_since_reference_point < 0.0 )  THEN
+          run_coupled = .FALSE.
+       ENDIF
+    ENDIF
+
+!
+!-- Set wind speed in the Galilei-transformed system
+    IF ( galilei_transformation )  THEN
+       IF ( use_ug_for_galilei_tr .AND.                &
+            ug_vertical_gradient_level(1) == 0.0 .AND. & 
+            vg_vertical_gradient_level(1) == 0.0 )  THEN
+          u_gtrans = ug_surface
+          v_gtrans = vg_surface
+       ELSEIF ( use_ug_for_galilei_tr .AND.                &
+                ug_vertical_gradient_level(1) /= 0.0 )  THEN
+          message_string = 'baroclinicity (ug) not allowed simultaneously' // &
+                           ' with galilei transformation'
+          CALL message( 'check_parameters', 'PA0046', 1, 2, 0, 6, 0 )
+       ELSEIF ( use_ug_for_galilei_tr .AND.                &
+                vg_vertical_gradient_level(1) /= 0.0 )  THEN
+          message_string = 'baroclinicity (vg) not allowed simultaneously' // &
+                           ' with galilei transformation'
+          CALL message( 'check_parameters', 'PA0047', 1, 2, 0, 6, 0 )
+       ELSE
+          message_string = 'variable translation speed used for galilei-' // &
+             'transformation, which may cause & instabilities in stably ' // &
+             'stratified regions'
+          CALL message( 'check_parameters', 'PA0048', 0, 1, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- In case of using a prandtl-layer, calculated (or prescribed) surface
+!-- fluxes have to be used in the diffusion-terms
+    IF ( prandtl_layer )  use_surface_fluxes = .TRUE.
+
+!
+!-- Check boundary conditions and set internal variables:
+!-- Lateral boundary conditions
+    IF ( bc_lr /= 'cyclic'  .AND.  bc_lr /= 'dirichlet/radiation'  .AND. &
+         bc_lr /= 'radiation/dirichlet' )  THEN
+       message_string = 'unknown boundary condition: bc_lr = "' // &
+                        TRIM( bc_lr ) // '"'
+       CALL message( 'check_parameters', 'PA0049', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( bc_ns /= 'cyclic'  .AND.  bc_ns /= 'dirichlet/radiation'  .AND. &
+         bc_ns /= 'radiation/dirichlet' )  THEN
+       message_string = 'unknown boundary condition: bc_ns = "' // &
+                        TRIM( bc_ns ) // '"'
+       CALL message( 'check_parameters', 'PA0050', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Internal variables used for speed optimization in if clauses
+    IF ( bc_lr /= 'cyclic' )  bc_lr_cyc = .FALSE.
+    IF ( bc_ns /= 'cyclic' )  bc_ns_cyc = .FALSE.
+
+!
+!-- Non-cyclic lateral boundaries require the multigrid method and Piascek-
+!-- Willimas advection scheme. Several schemes and tools do not work with
+!-- non-cyclic boundary conditions.
+    IF ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' )  THEN
+       IF ( psolver /= 'multigrid' )  THEN
+          message_string = 'non-cyclic lateral boundaries do not allow ' // &
+                           'psolver = "' // TRIM( psolver ) // '"'
+          CALL message( 'check_parameters', 'PA0051', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( momentum_advec /= 'pw-scheme' )  THEN
+          message_string = 'non-cyclic lateral boundaries do not allow ' // &
+                           'momentum_advec = "' // TRIM( momentum_advec ) // '"'
+          CALL message( 'check_parameters', 'PA0052', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( scalar_advec /= 'pw-scheme' )  THEN
+          message_string = 'non-cyclic lateral boundaries do not allow ' // &
+                           'scalar_advec = "' // TRIM( scalar_advec ) // '"'
+          CALL message( 'check_parameters', 'PA0053', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( galilei_transformation )  THEN
+          message_string = 'non-cyclic lateral boundaries do not allow ' // &
+                           'galilei_transformation = .T.'
+          CALL message( 'check_parameters', 'PA0054', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Bottom boundary condition for the turbulent Kinetic energy
+    IF ( bc_e_b == 'neumann' )  THEN
+       ibc_e_b = 1
+       IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+          message_string = 'adjust_mixing_length = TRUE and bc_e_b = "neumann"'
+          CALL message( 'check_parameters', 'PA0055', 0, 1, 0, 6, 0 )
+       ENDIF
+    ELSEIF ( bc_e_b == '(u*)**2+neumann' )  THEN
+       ibc_e_b = 2
+       IF ( .NOT. adjust_mixing_length  .AND.  prandtl_layer )  THEN
+          message_string = 'adjust_mixing_length = FALSE and bc_e_b = "' // &
+                           TRIM( bc_e_b ) // '"'
+          CALL message( 'check_parameters', 'PA0056', 0, 1, 0, 6, 0 )
+       ENDIF
+       IF ( .NOT. prandtl_layer )  THEN
+          bc_e_b = 'neumann'
+          ibc_e_b = 1
+          message_string = 'boundary condition bc_e_b changed to "' // &
+                           TRIM( bc_e_b ) // '"'
+          CALL message( 'check_parameters', 'PA0057', 0, 1, 0, 6, 0 )
+       ENDIF
+    ELSE
+       message_string = 'unknown boundary condition: bc_e_b = "' // &
+                        TRIM( bc_e_b ) // '"'
+       CALL message( 'check_parameters', 'PA0058', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Boundary conditions for perturbation pressure
+    IF ( bc_p_b == 'dirichlet' )  THEN
+       ibc_p_b = 0
+    ELSEIF ( bc_p_b == 'neumann' )  THEN
+       ibc_p_b = 1
+    ELSEIF ( bc_p_b == 'neumann+inhomo' )  THEN
+       ibc_p_b = 2
+    ELSE
+       message_string = 'unknown boundary condition: bc_p_b = "' // &
+                        TRIM( bc_p_b ) // '"'
+       CALL message( 'check_parameters', 'PA0059', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( ibc_p_b == 2  .AND.  .NOT. prandtl_layer )  THEN
+       message_string = 'boundary condition: bc_p_b = "' // TRIM( bc_p_b ) // &
+                        '" not allowed with prandtl_layer = .FALSE.'
+       CALL message( 'check_parameters', 'PA0060', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( bc_p_t == 'dirichlet' )  THEN
+       ibc_p_t = 0
+    ELSEIF ( bc_p_t == 'neumann' )  THEN
+       ibc_p_t = 1
+    ELSE
+       message_string = 'unknown boundary condition: bc_p_t = "' // &
+                        TRIM( bc_p_t ) // '"'
+       CALL message( 'check_parameters', 'PA0061', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Boundary conditions for potential temperature
+    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+       ibc_pt_b = 2
+    ELSE
+       IF ( bc_pt_b == 'dirichlet' )  THEN
+          ibc_pt_b = 0
+       ELSEIF ( bc_pt_b == 'neumann' )  THEN
+          ibc_pt_b = 1
+       ELSE
+          message_string = 'unknown boundary condition: bc_pt_b = "' // &
+                           TRIM( bc_pt_b ) // '"'
+          CALL message( 'check_parameters', 'PA0062', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+    IF ( bc_pt_t == 'dirichlet' )  THEN
+       ibc_pt_t = 0
+    ELSEIF ( bc_pt_t == 'neumann' )  THEN
+       ibc_pt_t = 1
+    ELSEIF ( bc_pt_t == 'initial_gradient' )  THEN
+       ibc_pt_t = 2
+    ELSE
+       message_string = 'unknown boundary condition: bc_pt_t = "' // &
+                        TRIM( bc_pt_t ) // '"'
+       CALL message( 'check_parameters', 'PA0063', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( surface_heatflux == 9999999.9 )  constant_heatflux     = .FALSE.
+    IF ( top_heatflux     == 9999999.9 )  constant_top_heatflux = .FALSE.
+    IF ( top_momentumflux_u /= 9999999.9  .AND.  &
+         top_momentumflux_v /= 9999999.9 )  THEN
+       constant_top_momentumflux = .TRUE.
+    ELSEIF (  .NOT. ( top_momentumflux_u == 9999999.9  .AND.  &
+           top_momentumflux_v == 9999999.9 ) )  THEN
+       message_string = 'both, top_momentumflux_u AND top_momentumflux_v ' // &
+                        'must be set'
+       CALL message( 'check_parameters', 'PA0064', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- A given surface temperature implies Dirichlet boundary condition for
+!-- temperature. In this case specification of a constant heat flux is
+!-- forbidden.
+    IF ( ibc_pt_b == 0  .AND.   constant_heatflux  .AND. &
+         surface_heatflux /= 0.0 )  THEN
+       message_string = 'boundary_condition: bc_pt_b = "' // TRIM( bc_pt_b ) //&
+                        '& is not allowed with constant_heatflux = .TRUE.'
+       CALL message( 'check_parameters', 'PA0065', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( constant_heatflux  .AND.  pt_surface_initial_change /= 0.0 )  THEN
+       WRITE ( message_string, * )  'constant_heatflux = .TRUE. is not allo', &
+               'wed with pt_surface_initial_change (/=0) = ', &
+               pt_surface_initial_change
+       CALL message( 'check_parameters', 'PA0066', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- A given temperature at the top implies Dirichlet boundary condition for
+!-- temperature. In this case specification of a constant heat flux is
+!-- forbidden.
+    IF ( ibc_pt_t == 0  .AND.   constant_top_heatflux  .AND. &
+         top_heatflux /= 0.0 )  THEN
+       message_string = 'boundary_condition: bc_pt_t = "' // TRIM( bc_pt_t ) //&
+                        '" is not allowed with constant_top_heatflux = .TRUE.'
+       CALL message( 'check_parameters', 'PA0067', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Boundary conditions for salinity
+    IF ( ocean )  THEN
+       IF ( bc_sa_t == 'dirichlet' )  THEN
+          ibc_sa_t = 0
+       ELSEIF ( bc_sa_t == 'neumann' )  THEN
+          ibc_sa_t = 1
+       ELSE
+          message_string = 'unknown boundary condition: bc_sa_t = "' // &
+                           TRIM( bc_sa_t ) // '"'
+          CALL message( 'check_parameters', 'PA0068', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       IF ( top_salinityflux == 9999999.9 )  constant_top_salinityflux = .FALSE.
+       IF ( ibc_sa_t == 1  .AND.   top_salinityflux == 9999999.9 )  THEN
+          message_string = 'boundary condition: bc_sa_t = "' // &
+                           TRIM( bc_sa_t ) // '" requires to set ' // &
+                           'top_salinityflux'
+          CALL message( 'check_parameters', 'PA0069', 1, 2, 0, 6, 0 )
+       ENDIF
+
+!
+!--    A fixed salinity at the top implies Dirichlet boundary condition for
+!--    salinity. In this case specification of a constant salinity flux is
+!--    forbidden.
+       IF ( ibc_sa_t == 0  .AND.   constant_top_salinityflux  .AND. &
+            top_salinityflux /= 0.0 )  THEN
+          message_string = 'boundary condition: bc_sa_t = "' // &
+                           TRIM( bc_sa_t ) // '" is not allowed with ' // &
+                           'constant_top_salinityflux = .TRUE.'
+          CALL message( 'check_parameters', 'PA0070', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ENDIF
+
+!
+!-- In case of humidity or passive scalar, set boundary conditions for total 
+!-- water content / scalar
+    IF ( humidity  .OR.  passive_scalar ) THEN
+       IF ( humidity )  THEN
+          sq = 'q'
+       ELSE
+          sq = 's'
+       ENDIF
+       IF ( bc_q_b == 'dirichlet' )  THEN
+          ibc_q_b = 0
+       ELSEIF ( bc_q_b == 'neumann' )  THEN
+          ibc_q_b = 1
+       ELSE
+          message_string = 'unknown boundary condition: bc_' // TRIM( sq ) // &
+                           '_b ="' // TRIM( bc_q_b ) // '"'
+          CALL message( 'check_parameters', 'PA0071', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( bc_q_t == 'dirichlet' )  THEN
+          ibc_q_t = 0
+       ELSEIF ( bc_q_t == 'neumann' )  THEN
+          ibc_q_t = 1
+       ELSE
+          message_string = 'unknown boundary condition: bc_' // TRIM( sq ) // &
+                           '_t ="' // TRIM( bc_q_t ) // '"'
+          CALL message( 'check_parameters', 'PA0072', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       IF ( surface_waterflux == 0.0 )  constant_waterflux = .FALSE.
+
+!
+!--    A given surface humidity implies Dirichlet boundary condition for
+!--    humidity. In this case specification of a constant water flux is
+!--    forbidden.
+       IF ( ibc_q_b == 0  .AND.  constant_waterflux )  THEN
+          message_string = 'boundary condition: bc_' // TRIM( sq ) // '_b ' // &
+                           '= "' // TRIM( bc_q_b ) // '" is not allowed wi' // &
+                           'th prescribed surface flux'
+          CALL message( 'check_parameters', 'PA0073', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( constant_waterflux  .AND.  q_surface_initial_change /= 0.0 )  THEN
+          WRITE( message_string, * )  'a prescribed surface flux is not allo', &
+                 'wed with ', sq, '_surface_initial_change (/=0) = ', &
+                 q_surface_initial_change
+          CALL message( 'check_parameters', 'PA0074', 1, 2, 0, 6, 0 )
+       ENDIF
+       
+    ENDIF
+
+!
+!-- Boundary conditions for horizontal components of wind speed
+    IF ( bc_uv_b == 'dirichlet' )  THEN
+       ibc_uv_b = 0
+    ELSEIF ( bc_uv_b == 'neumann' )  THEN
+       ibc_uv_b = 1
+       IF ( prandtl_layer )  THEN
+          message_string = 'boundary condition: bc_uv_b = "' // &
+               TRIM( bc_uv_b ) // '" is not allowed with prandtl_layer = .TRUE.'
+          CALL message( 'check_parameters', 'PA0075', 1, 2, 0, 6, 0 )
+       ENDIF
+    ELSE
+       message_string = 'unknown boundary condition: bc_uv_b = "' // &
+                        TRIM( bc_uv_b ) // '"'
+       CALL message( 'check_parameters', 'PA0076', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+       bc_uv_t = 'neumann'
+       ibc_uv_t = 1
+    ELSE
+       IF ( bc_uv_t == 'dirichlet' .OR. bc_uv_t == 'dirichlet_0' )  THEN
+          ibc_uv_t = 0
+       ELSEIF ( bc_uv_t == 'neumann' )  THEN
+          ibc_uv_t = 1
+       ELSE
+          message_string = 'unknown boundary condition: bc_uv_t = "' // &
+                           TRIM( bc_uv_t ) // '"'
+          CALL message( 'check_parameters', 'PA0077', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Compute and check, respectively, the Rayleigh Damping parameter
+    IF ( rayleigh_damping_factor == -1.0 )  THEN
+       IF ( momentum_advec == 'ups-scheme' )  THEN
+          rayleigh_damping_factor = 0.01
+       ELSE
+          rayleigh_damping_factor = 0.0
+       ENDIF
+    ELSE
+       IF ( rayleigh_damping_factor < 0.0 .OR. rayleigh_damping_factor > 1.0 ) &
+       THEN
+          WRITE( message_string, * )  'rayleigh_damping_factor = ', &
+                              rayleigh_damping_factor, ' out of range [0.0,1.0]'
+          CALL message( 'check_parameters', 'PA0078', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+    IF ( rayleigh_damping_height == -1.0 )  THEN
+       IF ( .NOT. ocean )  THEN
+          rayleigh_damping_height = 0.66666666666 * zu(nzt)
+       ELSE
+          rayleigh_damping_height = 0.66666666666 * zu(nzb)
+       ENDIF
+    ELSE
+       IF ( .NOT. ocean )  THEN
+          IF ( rayleigh_damping_height < 0.0  .OR. &
+               rayleigh_damping_height > zu(nzt) )  THEN
+             WRITE( message_string, * )  'rayleigh_damping_height = ', &
+                   rayleigh_damping_height, ' out of range [0.0,', zu(nzt), ']'
+             CALL message( 'check_parameters', 'PA0079', 1, 2, 0, 6, 0 )
+          ENDIF
+       ELSE
+          IF ( rayleigh_damping_height > 0.0  .OR. &
+               rayleigh_damping_height < zu(nzb) )  THEN
+             WRITE( message_string, * )  'rayleigh_damping_height = ', &
+                   rayleigh_damping_height, ' out of range [0.0,', zu(nzb), ']'
+             CALL message( 'check_parameters', 'PA0079', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+    ENDIF
+
+!
+!-- Check limiters for Upstream-Spline scheme
+    IF ( overshoot_limit_u < 0.0  .OR.  overshoot_limit_v < 0.0  .OR.  &
+         overshoot_limit_w < 0.0  .OR.  overshoot_limit_pt < 0.0  .OR. &
+         overshoot_limit_e < 0.0 )  THEN
+       message_string = 'overshoot_limit_... < 0.0 is not allowed'
+       CALL message( 'check_parameters', 'PA0080', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( ups_limit_u < 0.0 .OR. ups_limit_v < 0.0 .OR. ups_limit_w < 0.0 .OR. &
+         ups_limit_pt < 0.0 .OR. ups_limit_e < 0.0 )  THEN
+       message_string = 'ups_limit_... < 0.0 is not allowed'
+       CALL message( 'check_parameters', 'PA0081', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check number of chosen statistic regions. More than 10 regions are not
+!-- allowed, because so far no more than 10 corresponding output files can
+!-- be opened (cf. check_open)
+    IF ( statistic_regions > 9  .OR.  statistic_regions < 0 )  THEN
+       WRITE ( message_string, * ) 'number of statistic_regions = ', &
+                   statistic_regions+1, ' but only 10 regions are allowed'
+       CALL message( 'check_parameters', 'PA0082', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( normalizing_region > statistic_regions  .OR. &
+         normalizing_region < 0)  THEN
+       WRITE ( message_string, * ) 'normalizing_region = ', &
+                normalizing_region, ' must be >= 0 and <= ',statistic_regions, &
+                ' (value of statistic_regions)'
+       CALL message( 'check_parameters', 'PA0083', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check the interval for sorting particles.
+!-- Using particles as cloud droplets requires sorting after each timestep.
+    IF ( dt_sort_particles /= 0.0  .AND.  cloud_droplets )  THEN
+       dt_sort_particles = 0.0
+       message_string = 'dt_sort_particles is reset to 0.0 because of cloud' //&
+                        '_droplets = .TRUE.'
+       CALL message( 'check_parameters', 'PA0084', 0, 1, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Set the default intervals for data output, if necessary
+!-- NOTE: dt_dosp has already been set in package_parin
+    IF ( dt_data_output /= 9999999.9 )  THEN
+       IF ( dt_dopr           == 9999999.9 )  dt_dopr           = dt_data_output
+       IF ( dt_dopts          == 9999999.9 )  dt_dopts          = dt_data_output
+       IF ( dt_do2d_xy        == 9999999.9 )  dt_do2d_xy        = dt_data_output
+       IF ( dt_do2d_xz        == 9999999.9 )  dt_do2d_xz        = dt_data_output
+       IF ( dt_do2d_yz        == 9999999.9 )  dt_do2d_yz        = dt_data_output
+       IF ( dt_do3d           == 9999999.9 )  dt_do3d           = dt_data_output
+       IF ( dt_data_output_av == 9999999.9 )  dt_data_output_av = dt_data_output
+    ENDIF
+
+!
+!-- Set the default skip time intervals for data output, if necessary
+    IF ( skip_time_dopr    == 9999999.9 ) &
+                                       skip_time_dopr    = skip_time_data_output
+    IF ( skip_time_dosp    == 9999999.9 ) &
+                                       skip_time_dosp    = skip_time_data_output
+    IF ( skip_time_do2d_xy == 9999999.9 ) &
+                                       skip_time_do2d_xy = skip_time_data_output
+    IF ( skip_time_do2d_xz == 9999999.9 ) &
+                                       skip_time_do2d_xz = skip_time_data_output
+    IF ( skip_time_do2d_yz == 9999999.9 ) &
+                                       skip_time_do2d_yz = skip_time_data_output
+    IF ( skip_time_do3d    == 9999999.9 ) &
+                                       skip_time_do3d    = skip_time_data_output
+    IF ( skip_time_data_output_av == 9999999.9 ) &
+                                skip_time_data_output_av = skip_time_data_output
+
+!
+!-- Check the average intervals (first for 3d-data, then for profiles and
+!-- spectra)
+    IF ( averaging_interval > dt_data_output_av )  THEN
+       WRITE( message_string, * )  'averaging_interval = ', &
+             averaging_interval, ' must be <= dt_data_output = ', dt_data_output
+       CALL message( 'check_parameters', 'PA0085', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( averaging_interval_pr == 9999999.9 )  THEN
+       averaging_interval_pr = averaging_interval
+    ENDIF
+
+    IF ( averaging_interval_pr > dt_dopr )  THEN
+       WRITE( message_string, * )  'averaging_interval_pr = ', &
+             averaging_interval_pr, ' must be <= dt_dopr = ', dt_dopr
+       CALL message( 'check_parameters', 'PA0086', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( averaging_interval_sp == 9999999.9 )  THEN
+       averaging_interval_sp = averaging_interval
+    ENDIF
+
+    IF ( averaging_interval_sp > dt_dosp )  THEN
+       WRITE( message_string, * )  'averaging_interval_sp = ', &
+             averaging_interval_sp, ' must be <= dt_dosp = ', dt_dosp
+       CALL message( 'check_parameters', 'PA0087', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Set the default interval for profiles entering the temporal average
+    IF ( dt_averaging_input_pr == 9999999.9 )  THEN
+       dt_averaging_input_pr = dt_averaging_input
+    ENDIF
+
+!
+!-- Set the default interval for the output of timeseries to a reasonable
+!-- value (tries to minimize the number of calls of flow_statistics)
+    IF ( dt_dots == 9999999.9 )  THEN
+       IF ( averaging_interval_pr == 0.0 )  THEN
+          dt_dots = MIN( dt_run_control, dt_dopr )
+       ELSE
+          dt_dots = MIN( dt_run_control, dt_averaging_input_pr )
+       ENDIF
+    ENDIF
+
+!
+!-- Check the sample rate for averaging (first for 3d-data, then for profiles)
+    IF ( dt_averaging_input > averaging_interval )  THEN
+       WRITE( message_string, * )  'dt_averaging_input = ', &
+                dt_averaging_input, ' must be <= averaging_interval = ', &
+                averaging_interval
+       CALL message( 'check_parameters', 'PA0088', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( dt_averaging_input_pr > averaging_interval_pr )  THEN
+       WRITE( message_string, * )  'dt_averaging_input_pr = ', &
+                dt_averaging_input_pr, ' must be <= averaging_interval_pr = ', &
+                averaging_interval_pr
+       CALL message( 'check_parameters', 'PA0089', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Set the default value for the integration interval of precipitation amount
+    IF ( precipitation )  THEN
+       IF ( precipitation_amount_interval == 9999999.9 )  THEN
+          precipitation_amount_interval = dt_do2d_xy
+       ELSE
+          IF ( precipitation_amount_interval > dt_do2d_xy )  THEN
+             WRITE( message_string, * )  'precipitation_amount_interval = ', &
+                 precipitation_amount_interval, ' must not be larger than ', &
+                 'dt_do2d_xy = ', dt_do2d_xy
+             CALL message( 'check_parameters', 'PA0090', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+    ENDIF
+
+!
+!-- Determine the number of output profiles and check whether they are
+!-- permissible
+    DO  WHILE ( data_output_pr(dopr_n+1) /= '          ' )
+
+       dopr_n = dopr_n + 1
+       i = dopr_n
+
+!
+!--    Determine internal profile number (for hom, homs)
+!--    and store height levels
+       SELECT CASE ( TRIM( data_output_pr(i) ) )
+
+          CASE ( 'u', '#u' )
+             dopr_index(i) = 1
+             dopr_unit(i)  = 'm/s'
+             hom(:,2,1,:)  = SPREAD( zu, 2, statistic_regions+1 )
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 5
+                hom(:,2,5,:)          = SPREAD( zu, 2, statistic_regions+1 )
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'v', '#v' )
+             dopr_index(i) = 2
+             dopr_unit(i)  = 'm/s'
+             hom(:,2,2,:)  = SPREAD( zu, 2, statistic_regions+1 )
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 6
+                hom(:,2,6,:)          = SPREAD( zu, 2, statistic_regions+1 )
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'w' )
+             dopr_index(i) = 3
+             dopr_unit(i)  = 'm/s'
+             hom(:,2,3,:)  = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'pt', '#pt' )
+             IF ( .NOT. cloud_physics ) THEN
+                dopr_index(i) = 4
+                dopr_unit(i)  = 'K'
+                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 7
+                   hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,7,:)        = 0.0    ! because zu(nzb) is negative
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ELSE
+                dopr_index(i) = 43
+                dopr_unit(i)  = 'K'
+                hom(:,2,43,:)  = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 28
+                   hom(:,2,28,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,28,:)       = 0.0    ! because zu(nzb) is negative
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'e' )
+             dopr_index(i)  = 8
+             dopr_unit(i)   = 'm2/s2'
+             hom(:,2,8,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,8,:) = 0.0
+
+          CASE ( 'km', '#km' )
+             dopr_index(i)  = 9
+             dopr_unit(i)   = 'm2/s'
+             hom(:,2,9,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,9,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 23
+                hom(:,2,23,:)         = hom(:,2,9,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'kh', '#kh' )
+             dopr_index(i)   = 10
+             dopr_unit(i)    = 'm2/s'
+             hom(:,2,10,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,10,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 24
+                hom(:,2,24,:)         = hom(:,2,10,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'l', '#l' )
+             dopr_index(i)   = 11
+             dopr_unit(i)    = 'm'
+             hom(:,2,11,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,11,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 25
+                hom(:,2,25,:)         = hom(:,2,11,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'w"u"' )
+             dopr_index(i) = 12
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,12,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,12,:) = zu(1)
+
+          CASE ( 'w*u*' )
+             dopr_index(i) = 13
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,13,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"v"' )
+             dopr_index(i) = 14
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,14,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,14,:) = zu(1)
+
+          CASE ( 'w*v*' )
+             dopr_index(i) = 15
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"pt"' )
+             dopr_index(i) = 16
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*pt*' )
+             dopr_index(i) = 17
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wpt' )
+             dopr_index(i) = 18
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,18,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wu' )
+             dopr_index(i) = 19
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,19,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,19,:) = zu(1)
+
+          CASE ( 'wv' )
+             dopr_index(i) = 20
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,20,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,20,:) = zu(1)
+
+          CASE ( 'w*pt*BC' )
+             dopr_index(i) = 21
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wptBC' )
+             dopr_index(i) = 22
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,22,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'sa', '#sa' )
+             IF ( .NOT. ocean )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 23
+                dopr_unit(i)  = 'psu'
+                hom(:,2,23,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'u*2' )
+             dopr_index(i) = 30
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,30,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'v*2' )
+             dopr_index(i) = 31
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,31,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w*2' )
+             dopr_index(i) = 32
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'pt*2' )
+             dopr_index(i) = 33
+             dopr_unit(i)  = 'K2'
+             hom(:,2,33,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'e*' )
+             dopr_index(i) = 34
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,34,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w*2pt*' )
+             dopr_index(i) = 35
+             dopr_unit(i)  = 'K m2/s2'
+             hom(:,2,35,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*pt*2' )
+             dopr_index(i) = 36
+             dopr_unit(i)  = 'K2 m/s'
+             hom(:,2,36,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*e*' )
+             dopr_index(i) = 37
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,37,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*3' )
+             dopr_index(i) = 38
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,38,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'Sw' )
+             dopr_index(i) = 39
+             dopr_unit(i)  = 'none'
+             hom(:,2,39,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'p' )
+             dopr_index(i) = 40
+             dopr_unit(i)  = 'Pa'
+             hom(:,2,40,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'q', '#q' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0092', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 's', '#s' )
+             IF ( .NOT. passive_scalar )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for passive_scalar = .FALSE.'
+                CALL message( 'check_parameters', 'PA0093', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/m3'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'qv', '#qv' )
+             IF ( .NOT. cloud_physics ) THEN
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ELSE
+                dopr_index(i) = 42
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,42,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 27
+                   hom(:,2,27,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,27,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'lpt', '#lpt' )
+             IF ( .NOT. cloud_physics ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for cloud_physics = .FALSE.'
+                CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 4
+                dopr_unit(i)  = 'K'
+                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 7
+                   hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,7,:)        = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'vpt', '#vpt' )
+             dopr_index(i) = 44
+             dopr_unit(i)  = 'K'
+             hom(:,2,44,:) = SPREAD( zu, 2, statistic_regions+1 )
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 29
+                hom(:,2,29,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                hom(nzb,2,29,:)       = 0.0    ! weil zu(nzb) negativ ist
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'w"vpt"' )
+             dopr_index(i) = 45
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,45,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*vpt*' )
+             dopr_index(i) = 46
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,46,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wvpt' )
+             dopr_index(i) = 47
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,47,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"q"' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0092', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w*q*' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0092', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'wq' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0092', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w"s"' )
+             IF ( .NOT. passive_scalar ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for passive_scalar = .FALSE.'
+                CALL message( 'check_parameters', 'PA0093', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/m3 m/s'
+                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w*s*' )
+             IF ( .NOT. passive_scalar ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for passive_scalar = .FALSE.'
+                CALL message( 'check_parameters', 'PA0093', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/m3 m/s'
+                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'ws' )
+             IF ( .NOT. passive_scalar ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for passive_scalar = .FALSE.'
+                CALL message( 'check_parameters', 'PA0093', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/m3 m/s'
+                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w"qv"' )
+             IF ( humidity  .AND.  .NOT. cloud_physics ) &
+             THEN
+                dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSEIF( humidity .AND. cloud_physics ) THEN
+                dopr_index(i) = 51
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,51,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSE
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for cloud_physics = .FALSE. an&' // &
+                                 'd humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 )
+             ENDIF
+
+          CASE ( 'w*qv*' )
+             IF ( humidity  .AND.  .NOT. cloud_physics ) &
+             THEN
+                dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSEIF( humidity .AND. cloud_physics ) THEN
+                dopr_index(i) = 52
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,52,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSE
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for cloud_physics = .FALSE. an&' // &
+                                 'd humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 )
+             ENDIF
+
+          CASE ( 'wqv' )
+             IF ( humidity  .AND.  .NOT. cloud_physics ) &
+             THEN
+                dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSEIF( humidity .AND. cloud_physics ) THEN
+                dopr_index(i) = 53
+                dopr_unit(i)  = 'kg/kg m/s'
+                hom(:,2,53,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ELSE
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for cloud_physics = .FALSE. an&' // &
+                                 'd humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 )
+             ENDIF
+
+          CASE ( 'ql' )
+             IF ( .NOT. cloud_physics  .AND.  .NOT. cloud_droplets )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for cloud_physics = .FALSE. or'  // &
+                                 '&cloud_droplets = .FALSE.'
+                CALL message( 'check_parameters', 'PA0096', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 54
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,54,:)  = SPREAD( zu, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w*u*u*/dz' )
+             dopr_index(i) = 55
+             dopr_unit(i)  = 'm2/s3'
+             hom(:,2,55,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w*p*/dz' )
+             dopr_index(i) = 56
+             dopr_unit(i)  = 'm2/s3'
+             hom(:,2,56,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"e/dz' )
+             dopr_index(i) = 57
+             dopr_unit(i)  = 'm2/s3'
+             hom(:,2,57,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'u"pt"' )
+             dopr_index(i) = 58
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,58,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'u*pt*' )
+             dopr_index(i) = 59
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,59,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'upt_t' )
+             dopr_index(i) = 60
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,60,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'v"pt"' )
+             dopr_index(i) = 61
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,61,:) = SPREAD( zu, 2, statistic_regions+1 )
+             
+          CASE ( 'v*pt*' )
+             dopr_index(i) = 62
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,62,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'vpt_t' )
+             dopr_index(i) = 63
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,63,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'rho' )
+             IF ( .NOT. ocean ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 64
+                dopr_unit(i)  = 'kg/m3'
+                hom(:,2,64,:) = SPREAD( zu, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w"sa"' )
+             IF ( .NOT. ocean ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 65
+                dopr_unit(i)  = 'psu m/s'
+                hom(:,2,65,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w*sa*' )
+             IF ( .NOT. ocean ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 66
+                dopr_unit(i)  = 'psu m/s'
+                hom(:,2,66,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'wsa' )
+             IF ( .NOT. ocean ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 67
+                dopr_unit(i)  = 'psu m/s'
+                hom(:,2,67,:) = SPREAD( zw, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'w*p*' )
+             dopr_index(i) = 68
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,68,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w"e' )
+             dopr_index(i) = 69
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,69,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'q*2' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for humidity = .FALSE.'
+                CALL message( 'check_parameters', 'PA0092', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 70
+                dopr_unit(i)  = 'kg2/kg2'
+                hom(:,2,70,:) = SPREAD( zu, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'prho' )
+             IF ( .NOT. ocean ) THEN
+                message_string = 'data_output_pr = ' // &
+                                 TRIM( data_output_pr(i) ) // ' is not imp' // &
+                                 'lemented for ocean = .FALSE.'
+                CALL message( 'check_parameters', 'PA0091', 1, 2, 0, 6, 0 )
+             ELSE
+                dopr_index(i) = 71
+                dopr_unit(i)  = 'kg/m3'
+                hom(:,2,71,:) = SPREAD( zu, 2, statistic_regions+1 )
+             ENDIF
+
+          CASE ( 'hyp' )
+             dopr_index(i) = 72
+             dopr_unit(i)  = 'kPa'
+             hom(:,2,72,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE DEFAULT
+
+             CALL user_check_data_output_pr( data_output_pr(i), i, unit )
+
+             IF ( unit == 'illegal' )  THEN
+                IF ( data_output_pr_user(1) /= ' ' )  THEN
+                   message_string = 'illegal value for data_output_pr or ' // &
+                                    'data_output_pr_user = "' // &
+                                    TRIM( data_output_pr(i) ) // '"'
+                   CALL message( 'check_parameters', 'PA0097', 1, 2, 0, 6, 0 )
+                ELSE
+                   message_string = 'illegal value for data_output_pr = "' // &
+                                    TRIM( data_output_pr(i) ) // '"'
+                   CALL message( 'check_parameters', 'PA0098', 1, 2, 0, 6, 0 )
+                ENDIF
+             ENDIF
+
+       END SELECT
+!
+!--    Check to which of the predefined coordinate systems the profile belongs
+       DO  k = 1, crmax
+          IF ( INDEX( cross_profiles(k), ' '//TRIM( data_output_pr(i) )//' ' ) &
+               /=0 ) &
+          THEN
+             dopr_crossindex(i) = k
+             EXIT
+          ENDIF
+       ENDDO
+!
+!--    Generate the text for the labels of the PROFIL output file. "-characters
+!--    must be substituted, otherwise PROFIL would interpret them as TeX
+!--    control characters
+       dopr_label(i) = data_output_pr(i)
+       position = INDEX( dopr_label(i) , '"' )
+       DO WHILE ( position /= 0 )
+          dopr_label(i)(position:position) = ''''
+          position = INDEX( dopr_label(i) , '"' )
+       ENDDO
+
+    ENDDO
+
+!
+!-- y-value range of the coordinate system (PROFIL).
+!-- x-value range determined in plot_1d.
+    IF ( .NOT. ocean )  THEN
+       cross_uymin = 0.0
+       IF ( z_max_do1d == -1.0 )  THEN
+          cross_uymax = zu(nzt+1)
+       ELSEIF ( z_max_do1d < zu(nzb+1)  .OR.  z_max_do1d > zu(nzt+1) )  THEN
+          WRITE( message_string, * )  'z_max_do1d = ', z_max_do1d, ' must ', &
+                 'be >= ', zu(nzb+1), ' or <= ', zu(nzt+1)
+          CALL message( 'check_parameters', 'PA0099', 1, 2, 0, 6, 0 )
+       ELSE
+          cross_uymax = z_max_do1d
+       ENDIF
+    ENDIF
+
+!
+!-- Check whether the chosen normalizing factor for the coordinate systems is 
+!-- permissible
+    DO  i = 1, crmax
+       SELECT CASE ( TRIM( cross_normalized_x(i) ) )  ! TRIM required on IBM
+
+          CASE ( '', 'wpt0', 'ws2', 'tsw2', 'ws3', 'ws2tsw', 'wstsw2' )
+             j = 0
+
+          CASE DEFAULT
+             message_string = 'unknown normalization method cross_normali' // &
+                              'zed_x = "' // TRIM( cross_normalized_x(i) ) // &
+                              '"'
+             CALL message( 'check_parameters', 'PA0100', 1, 2, 0, 6, 0 )
+
+       END SELECT
+       SELECT CASE ( TRIM( cross_normalized_y(i) ) )  ! TRIM required on IBM
+
+          CASE ( '', 'z_i' )
+             j = 0
+
+          CASE DEFAULT
+             message_string = 'unknown normalization method cross_normali' // &
+                              'zed_y = "' // TRIM( cross_normalized_y(i) ) // &
+                              '"'
+             CALL message( 'check_parameters', 'PA0101', 1, 2, 0, 6, 0 )
+
+       END SELECT
+    ENDDO
+!
+!-- Check normalized y-value range of the coordinate system (PROFIL)
+    IF ( z_max_do1d_normalized /= -1.0  .AND.  z_max_do1d_normalized <= 0.0 ) &
+    THEN
+       WRITE( message_string, * )  'z_max_do1d_normalized = ', &
+                                   z_max_do1d_normalized, ' must be >= 0.0'
+       CALL message( 'check_parameters', 'PA0101', 1, 2, 0, 6, 0 )
+    ENDIF
+
+
+!
+!-- Append user-defined data output variables to the standard data output
+    IF ( data_output_user(1) /= ' ' )  THEN
+       i = 1
+       DO  WHILE ( data_output(i) /= ' '  .AND.  i <= 100 )
+          i = i + 1
+       ENDDO
+       j = 1
+       DO  WHILE ( data_output_user(j) /= ' '  .AND.  j <= 100 )
+          IF ( i > 100 )  THEN
+             message_string = 'number of output quantitities given by data' // &
+                '_output and data_output_user exceeds the limit of 100'
+             CALL message( 'check_parameters', 'PA0102', 1, 2, 0, 6, 0 )
+          ENDIF
+          data_output(i) = data_output_user(j)
+          i = i + 1
+          j = j + 1
+       ENDDO
+    ENDIF
+
+!
+!-- Check and set steering parameters for 2d/3d data output and averaging
+    i   = 1
+    DO  WHILE ( data_output(i) /= ' '  .AND.  i <= 100 )
+!
+!--    Check for data averaging
+       ilen = LEN_TRIM( data_output(i) )
+       j = 0                                                 ! no data averaging
+       IF ( ilen > 3 )  THEN
+          IF ( data_output(i)(ilen-2:ilen) == '_av' )  THEN
+             j = 1                                           ! data averaging
+             data_output(i) = data_output(i)(1:ilen-3)
+          ENDIF
+       ENDIF
+!
+!--    Check for cross section or volume data
+       ilen = LEN_TRIM( data_output(i) )
+       k = 0                                                   ! 3d data
+       var = data_output(i)(1:ilen)
+       IF ( ilen > 3 )  THEN
+          IF ( data_output(i)(ilen-2:ilen) == '_xy'  .OR. &
+               data_output(i)(ilen-2:ilen) == '_xz'  .OR. &
+               data_output(i)(ilen-2:ilen) == '_yz' )  THEN
+             k = 1                                             ! 2d data
+             var = data_output(i)(1:ilen-3)
+          ENDIF
+       ENDIF
+!
+!--    Check for allowed value and set units
+       SELECT CASE ( TRIM( var ) )
+
+          CASE ( 'e' )
+             IF ( constant_diffusion )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res constant_diffusion = .FALSE.'
+                CALL message( 'check_parameters', 'PA0103', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'm2/s2'
+
+          CASE ( 'pc', 'pr' )
+             IF ( .NOT. particle_advection )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requir' // &
+                   'es a "particles_par"-NAMELIST in the parameter file (PARIN)'
+                CALL message( 'check_parameters', 'PA0104', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'pc' )  unit = 'number'
+             IF ( TRIM( var ) == 'pr' )  unit = 'm'
+
+          CASE ( 'q', 'vpt' )
+             IF ( .NOT. humidity )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res humidity = .TRUE.'
+                CALL message( 'check_parameters', 'PA0105', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'q'   )  unit = 'kg/kg'
+             IF ( TRIM( var ) == 'vpt' )  unit = 'K'
+
+          CASE ( 'ql' )
+             IF ( .NOT. ( cloud_physics  .OR.  cloud_droplets ) )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                         'res cloud_physics = .TRUE. or cloud_droplets = .TRUE.'
+                CALL message( 'check_parameters', 'PA0106', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'kg/kg'
+
+          CASE ( 'ql_c', 'ql_v', 'ql_vp' )
+             IF ( .NOT. cloud_droplets )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res cloud_droplets = .TRUE.'
+                CALL message( 'check_parameters', 'PA0107', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'ql_c'  )  unit = 'kg/kg'
+             IF ( TRIM( var ) == 'ql_v'  )  unit = 'm3'
+             IF ( TRIM( var ) == 'ql_vp' )  unit = 'none'
+
+          CASE ( 'qv' )
+             IF ( .NOT. cloud_physics )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res cloud_physics = .TRUE.'
+                CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'kg/kg'
+
+          CASE ( 'rho' )
+             IF ( .NOT. ocean )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res ocean = .TRUE.'
+                CALL message( 'check_parameters', 'PA0109', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'kg/m3'
+
+          CASE ( 's' )
+             IF ( .NOT. passive_scalar )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res passive_scalar = .TRUE.'
+                CALL message( 'check_parameters', 'PA0110', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'conc'
+
+          CASE ( 'sa' )
+             IF ( .NOT. ocean )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res ocean = .TRUE.'
+                CALL message( 'check_parameters', 'PA0109', 1, 2, 0, 6, 0 )
+             ENDIF
+             unit = 'psu'
+
+          CASE ( 'u*', 't*', 'lwp*', 'pra*', 'prr*', 'qsws*', 'shf*', 'z0*' )
+             IF ( k == 0  .OR.  data_output(i)(ilen-2:ilen) /= '_xy' )  THEN
+                message_string = 'illegal value for data_output: "' // &
+                                 TRIM( var ) // '" & only 2d-horizontal ' // &
+                                 'cross sections are allowed for this value'
+                CALL message( 'check_parameters', 'PA0111', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'lwp*'  .AND.  .NOT. cloud_physics )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res cloud_physics = .TRUE.'
+                CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'pra*'  .AND.  .NOT. precipitation )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res precipitation = .TRUE.'
+                CALL message( 'check_parameters', 'PA0112', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'pra*'  .AND.  j == 1 )  THEN
+                message_string = 'temporal averaging of precipitation ' // &
+                          'amount "' // TRIM( var ) // '" is not possible'
+                CALL message( 'check_parameters', 'PA0113', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'prr*'  .AND.  .NOT. precipitation )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res precipitation = .TRUE.'
+                CALL message( 'check_parameters', 'PA0112', 1, 2, 0, 6, 0 )
+             ENDIF
+             IF ( TRIM( var ) == 'qsws*'  .AND.  .NOT. humidity )  THEN
+                message_string = 'output of "' // TRIM( var ) // '" requi' // &
+                                 'res humidity = .TRUE.'
+                CALL message( 'check_parameters', 'PA0322', 1, 2, 0, 6, 0 )
+             ENDIF
+
+             IF ( TRIM( var ) == 'lwp*'   )  unit = 'kg/kg*m'
+             IF ( TRIM( var ) == 'pra*'   )  unit = 'mm'
+             IF ( TRIM( var ) == 'prr*'   )  unit = 'mm/s'
+             IF ( TRIM( var ) == 'qsws*'  )  unit = 'kgm/kgs'
+             IF ( TRIM( var ) == 'shf*'   )  unit = 'K*m/s'
+             IF ( TRIM( var ) == 't*'     )  unit = 'K'
+             IF ( TRIM( var ) == 'u*'     )  unit = 'm/s'
+             IF ( TRIM( var ) == 'z0*'    )  unit = 'm'
+
+
+          CASE ( 'p', 'pt', 'u', 'v', 'w' )
+             IF ( TRIM( var ) == 'p'  )  unit = 'Pa'
+             IF ( TRIM( var ) == 'pt' )  unit = 'K'
+             IF ( TRIM( var ) == 'u'  )  unit = 'm/s'
+             IF ( TRIM( var ) == 'v'  )  unit = 'm/s'
+             IF ( TRIM( var ) == 'w'  )  unit = 'm/s'
+             CONTINUE
+
+          CASE DEFAULT
+             CALL user_check_data_output( var, unit )
+
+             IF ( unit == 'illegal' )  THEN
+                IF ( data_output_user(1) /= ' ' )  THEN
+                   message_string = 'illegal value for data_output or ' // &
+                         'data_output_user = "' // TRIM( data_output(i) ) // '"'
+                   CALL message( 'check_parameters', 'PA0114', 1, 2, 0, 6, 0 )
+                ELSE
+                   message_string = 'illegal value for data_output =' // &
+                                    TRIM( data_output(i) ) // '"'
+                   CALL message( 'check_parameters', 'PA0115', 1, 2, 0, 6, 0 )
+                ENDIF
+             ENDIF
+
+       END SELECT
+!
+!--    Set the internal steering parameters appropriately
+       IF ( k == 0 )  THEN
+          do3d_no(j)              = do3d_no(j) + 1
+          do3d(j,do3d_no(j))      = data_output(i)
+          do3d_unit(j,do3d_no(j)) = unit
+       ELSE
+          do2d_no(j)              = do2d_no(j) + 1
+          do2d(j,do2d_no(j))      = data_output(i)
+          do2d_unit(j,do2d_no(j)) = unit
+          IF ( data_output(i)(ilen-2:ilen) == '_xy' )  THEN
+             data_output_xy(j) = .TRUE.
+          ENDIF
+          IF ( data_output(i)(ilen-2:ilen) == '_xz' )  THEN
+             data_output_xz(j) = .TRUE.
+          ENDIF
+          IF ( data_output(i)(ilen-2:ilen) == '_yz' )  THEN
+             data_output_yz(j) = .TRUE.
+          ENDIF
+       ENDIF
+
+       IF ( j == 1 )  THEN
+!
+!--       Check, if variable is already subject to averaging
+          found = .FALSE.
+          DO  k = 1, doav_n
+             IF ( TRIM( doav(k) ) == TRIM( var ) )  found = .TRUE.
+          ENDDO
+
+          IF ( .NOT. found )  THEN
+             doav_n = doav_n + 1
+             doav(doav_n) = var
+          ENDIF
+       ENDIF
+
+       i = i + 1
+    ENDDO
+
+!
+!-- Averaged 2d or 3d output requires that an averaging interval has been set
+    IF ( doav_n > 0  .AND.  averaging_interval == 0.0 )  THEN
+       WRITE( message_string, * )  'output of averaged quantity "',            &
+                                   TRIM( doav(1) ), '_av" requires to set a ', &
+                                   'non-zero & averaging interval'
+       CALL message( 'check_parameters', 'PA0323', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check sectional planes and store them in one shared array
+    IF ( ANY( section_xy > nz + 1 ) )  THEN
+       WRITE( message_string, * )  'section_xy must be <= nz + 1 = ', nz + 1
+       CALL message( 'check_parameters', 'PA0319', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( ANY( section_xz > ny + 1 ) )  THEN
+       WRITE( message_string, * )  'section_xz must be <= ny + 1 = ', ny + 1
+       CALL message( 'check_parameters', 'PA0320', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( ANY( section_yz > nx + 1 ) )  THEN
+       WRITE( message_string, * )  'section_yz must be <= nx + 1 = ', nx + 1
+       CALL message( 'check_parameters', 'PA0321', 1, 2, 0, 6, 0 )
+    ENDIF
+    section(:,1) = section_xy
+    section(:,2) = section_xz
+    section(:,3) = section_yz
+
+!
+!-- Upper plot limit (grid point value) for 1D profiles
+    IF ( z_max_do1d == -1.0 )  THEN
+       nz_do1d = nzt+1
+    ELSE
+       DO  k = nzb+1, nzt+1
+          nz_do1d = k
+          IF ( zw(k) > z_max_do1d )  EXIT
+       ENDDO
+    ENDIF
+
+!
+!-- Upper plot limit for 2D vertical sections
+    IF ( z_max_do2d == -1.0 )  z_max_do2d = zu(nzt)
+    IF ( z_max_do2d < zu(nzb+1)  .OR.  z_max_do2d > zu(nzt) )  THEN
+       WRITE( message_string, * )  'z_max_do2d = ', z_max_do2d, &
+                    ' must be >= ', zu(nzb+1), '(zu(nzb+1)) and <= ', zu(nzt), &
+                    ' (zu(nzt))'
+       CALL message( 'check_parameters', 'PA0116', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Upper plot limit for 3D arrays
+    IF ( nz_do3d == -9999 )  nz_do3d = nzt + 1
+
+!
+!-- Determine and check accuracy for compressed 3D plot output
+    IF ( do3d_compress )  THEN
+!
+!--    Compression only permissible on T3E machines
+       IF ( host(1:3) /= 't3e' )  THEN
+          message_string = 'do3d_compress = .TRUE. not allowed on host "' // &
+                           TRIM( host ) // '"'
+          CALL message( 'check_parameters', 'PA0117', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       i = 1
+       DO  WHILE ( do3d_comp_prec(i) /= ' ' )
+
+          ilen = LEN_TRIM( do3d_comp_prec(i) )
+          IF ( LLT( do3d_comp_prec(i)(ilen:ilen), '0' ) .OR. &
+               LGT( do3d_comp_prec(i)(ilen:ilen), '9' ) )  THEN
+             WRITE( message_string, * )  'illegal precision: do3d_comp_prec', &
+                                   '(', i, ') = "', TRIM(do3d_comp_prec(i)),'"'
+             CALL message( 'check_parameters', 'PA0118', 1, 2, 0, 6, 0 )
+          ENDIF
+
+          prec = IACHAR( do3d_comp_prec(i)(ilen:ilen) ) - IACHAR( '0' )
+          var = do3d_comp_prec(i)(1:ilen-1)
+
+          SELECT CASE ( var )
+
+             CASE ( 'u' )
+                j = 1
+             CASE ( 'v' )
+                j = 2
+             CASE ( 'w' )
+                j = 3
+             CASE ( 'p' )
+                j = 4
+             CASE ( 'pt' )
+                j = 5
+
+             CASE DEFAULT
+                WRITE( message_string, * )  'unknown variable "', &
+                     TRIM( do3d_comp_prec(i) ), '" given for do3d_comp_prec(', &
+                     i, ')'
+                CALL message( 'check_parameters', 'PA0119', 1, 2, 0, 6, 0 )
+
+          END SELECT
+
+          plot_3d_precision(j)%precision = prec
+          i = i + 1
+
+       ENDDO
+    ENDIF
+
+!
+!-- Check the data output format(s)
+    IF ( data_output_format(1) == ' ' )  THEN
+!
+!--    Default value
+       netcdf_output = .TRUE.
+    ELSE
+       i = 1
+       DO  WHILE ( data_output_format(i) /= ' ' )
+
+          SELECT CASE ( data_output_format(i) )
+
+             CASE ( 'netcdf' )
+                netcdf_output = .TRUE.
+             CASE ( 'iso2d' )
+                iso2d_output  = .TRUE.
+             CASE ( 'profil' )
+                profil_output = .TRUE.
+             CASE ( 'avs' )
+                avs_output    = .TRUE.
+
+             CASE DEFAULT
+                message_string = 'unknown value for data_output_format "' // &
+                                 TRIM( data_output_format(i) ) // '"'
+                CALL message( 'check_parameters', 'PA0120', 1, 2, 0, 6, 0 )
+
+          END SELECT
+
+          i = i + 1
+          IF ( i > 10 )  EXIT
+
+       ENDDO
+
+    ENDIF
+
+!
+!-- Check netcdf precison
+    ldum = .FALSE.
+    CALL define_netcdf_header( 'ch', ldum, 0 )
+
+!
+!-- Check, whether a constant diffusion coefficient shall be used
+    IF ( km_constant /= -1.0 )  THEN
+       IF ( km_constant < 0.0 )  THEN
+          WRITE( message_string, * )  'km_constant = ', km_constant, ' < 0.0'
+          CALL message( 'check_parameters', 'PA0121', 1, 2, 0, 6, 0 )
+       ELSE
+          IF ( prandtl_number < 0.0 )  THEN
+             WRITE( message_string, * )  'prandtl_number = ', prandtl_number, &
+                                         ' < 0.0'
+             CALL message( 'check_parameters', 'PA0122', 1, 2, 0, 6, 0 )
+          ENDIF
+          constant_diffusion = .TRUE.
+
+          IF ( prandtl_layer )  THEN
+             message_string = 'prandtl_layer is not allowed with fixed ' // &
+                              'value of km'
+             CALL message( 'check_parameters', 'PA0123', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+    ENDIF
+
+!
+!-- In case of non-cyclic lateral boundaries, set the default maximum value
+!-- for the horizontal diffusivity used within the outflow damping layer,
+!-- and check/set the width of the damping layer
+    IF ( bc_lr /= 'cyclic' ) THEN
+       IF ( km_damp_max == -1.0 )  THEN
+          km_damp_max = 0.5 * dx
+       ENDIF
+       IF ( outflow_damping_width == -1.0 )  THEN
+          outflow_damping_width = MIN( 20, nx/2 )
+       ENDIF
+       IF ( outflow_damping_width <= 0  .OR.  outflow_damping_width > nx )  THEN
+          message_string = 'outflow_damping width out of range'
+          CALL message( 'check_parameters', 'PA0124', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+    IF ( bc_ns /= 'cyclic' )  THEN
+       IF ( km_damp_max == -1.0 )  THEN
+          km_damp_max = 0.5 * dy
+       ENDIF
+       IF ( outflow_damping_width == -1.0 )  THEN
+          outflow_damping_width = MIN( 20, ny/2 )
+       ENDIF
+       IF ( outflow_damping_width <= 0  .OR.  outflow_damping_width > ny )  THEN
+          message_string = 'outflow_damping width out of range'
+          CALL message( 'check_parameters', 'PA0124', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Check value range for rif
+    IF ( rif_min >= rif_max )  THEN
+       WRITE( message_string, * )  'rif_min = ', rif_min, ' must be less ', &
+                                   'than rif_max = ', rif_max
+       CALL message( 'check_parameters', 'PA0125', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Determine upper and lower hight level indices for random perturbations
+    IF ( disturbance_level_b == -9999999.9 )  THEN
+       IF ( ocean ) THEN
+          disturbance_level_b     = zu((nzt*2)/3)
+          disturbance_level_ind_b = ( nzt * 2 ) / 3
+       ELSE
+          disturbance_level_b     = zu(nzb+3)
+          disturbance_level_ind_b = nzb + 3
+       ENDIF
+    ELSEIF ( disturbance_level_b < zu(3) )  THEN
+       WRITE( message_string, * )  'disturbance_level_b = ', &
+                           disturbance_level_b, ' must be >= ', zu(3), '(zu(3))'
+       CALL message( 'check_parameters', 'PA0126', 1, 2, 0, 6, 0 )
+    ELSEIF ( disturbance_level_b > zu(nzt-2) )  THEN
+       WRITE( message_string, * )  'disturbance_level_b = ', &
+                   disturbance_level_b, ' must be <= ', zu(nzt-2), '(zu(nzt-2))'
+       CALL message( 'check_parameters', 'PA0127', 1, 2, 0, 6, 0 )
+    ELSE
+       DO  k = 3, nzt-2
+          IF ( disturbance_level_b <= zu(k) )  THEN
+             disturbance_level_ind_b = k
+             EXIT
+          ENDIF
+       ENDDO
+    ENDIF
+
+    IF ( disturbance_level_t == -9999999.9 )  THEN
+       IF ( ocean )  THEN
+          disturbance_level_t     = zu(nzt-3)
+          disturbance_level_ind_t = nzt - 3
+       ELSE
+          disturbance_level_t     = zu(nzt/3)
+          disturbance_level_ind_t = nzt / 3
+       ENDIF
+    ELSEIF ( disturbance_level_t > zu(nzt-2) )  THEN
+       WRITE( message_string, * )  'disturbance_level_t = ', &
+                   disturbance_level_t, ' must be <= ', zu(nzt-2), '(zu(nzt-2))'
+       CALL message( 'check_parameters', 'PA0128', 1, 2, 0, 6, 0 )
+    ELSEIF ( disturbance_level_t < disturbance_level_b )  THEN
+       WRITE( message_string, * )  'disturbance_level_t = ', &
+                   disturbance_level_t, ' must be >= disturbance_level_b = ', &
+                   disturbance_level_b
+       CALL message( 'check_parameters', 'PA0129', 1, 2, 0, 6, 0 )
+    ELSE
+       DO  k = 3, nzt-2
+          IF ( disturbance_level_t <= zu(k) )  THEN
+             disturbance_level_ind_t = k
+             EXIT
+          ENDIF
+       ENDDO
+    ENDIF
+
+!
+!-- Check again whether the levels determined this way are ok.
+!-- Error may occur at automatic determination and too few grid points in
+!-- z-direction.
+    IF ( disturbance_level_ind_t < disturbance_level_ind_b )  THEN
+       WRITE( message_string, * )  'disturbance_level_ind_t = ', &
+                disturbance_level_ind_t, ' must be >= disturbance_level_b = ', &
+                disturbance_level_b
+       CALL message( 'check_parameters', 'PA0130', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Determine the horizontal index range for random perturbations.
+!-- In case of non-cyclic horizontal boundaries, no perturbations are imposed
+!-- near the inflow and the perturbation area is further limited to ...(1)
+!-- after the initial phase of the flow.
+    dist_nxl = 0;  dist_nxr = nx
+    dist_nys = 0;  dist_nyn = ny
+    IF ( bc_lr /= 'cyclic' )  THEN
+       IF ( inflow_disturbance_begin == -1 )  THEN
+          inflow_disturbance_begin = MIN( 10, nx/2 )
+       ENDIF
+       IF ( inflow_disturbance_begin < 0  .OR.  inflow_disturbance_begin > nx )&
+       THEN
+          message_string = 'inflow_disturbance_begin out of range'
+          CALL message( 'check_parameters', 'PA0131', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( inflow_disturbance_end == -1 )  THEN
+          inflow_disturbance_end = MIN( 100, 3*nx/4 )
+       ENDIF
+       IF ( inflow_disturbance_end < 0  .OR.  inflow_disturbance_end > nx )    &
+       THEN
+          message_string = 'inflow_disturbance_end out of range'
+          CALL message( 'check_parameters', 'PA0132', 1, 2, 0, 6, 0 )
+       ENDIF
+    ELSEIF ( bc_ns /= 'cyclic' )  THEN
+       IF ( inflow_disturbance_begin == -1 )  THEN
+          inflow_disturbance_begin = MIN( 10, ny/2 )
+       ENDIF
+       IF ( inflow_disturbance_begin < 0  .OR.  inflow_disturbance_begin > ny )&
+       THEN
+          message_string = 'inflow_disturbance_begin out of range'
+          CALL message( 'check_parameters', 'PA0131', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( inflow_disturbance_end == -1 )  THEN
+          inflow_disturbance_end = MIN( 100, 3*ny/4 )
+       ENDIF
+       IF ( inflow_disturbance_end < 0  .OR.  inflow_disturbance_end > ny )    &
+       THEN
+          message_string = 'inflow_disturbance_end out of range'
+          CALL message( 'check_parameters', 'PA0132', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+    IF ( bc_lr == 'radiation/dirichlet' )  THEN
+       dist_nxr    = nx - inflow_disturbance_begin
+       dist_nxl(1) = nx - inflow_disturbance_end
+    ELSEIF ( bc_lr == 'dirichlet/radiation' )  THEN
+       dist_nxl    = inflow_disturbance_begin
+       dist_nxr(1) = inflow_disturbance_end
+    ENDIF
+    IF ( bc_ns == 'dirichlet/radiation' )  THEN
+       dist_nyn    = ny - inflow_disturbance_begin
+       dist_nys(1) = ny - inflow_disturbance_end
+    ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
+       dist_nys    = inflow_disturbance_begin
+       dist_nyn(1) = inflow_disturbance_end
+    ENDIF
+
+!
+!-- A turbulent inflow requires Dirichlet conditions at the respective inflow
+!-- boundary (so far, a turbulent inflow is realized from the left side only)
+    IF ( turbulent_inflow  .AND.  bc_lr /= 'dirichlet/radiation' )  THEN
+       message_string = 'turbulent_inflow = .T. requires a Dirichlet ' // &
+                        'condition at the inflow boundary'
+       CALL message( 'check_parameters', 'PA0133', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- In case of turbulent inflow calculate the index of the recycling plane
+    IF ( turbulent_inflow )  THEN
+       IF ( recycling_width == 9999999.9 )  THEN
+!
+!--       Set the default value for the width of the recycling domain
+          recycling_width = 0.1 * nx * dx
+       ELSE
+          IF ( recycling_width < dx  .OR.  recycling_width > nx * dx )  THEN
+             WRITE( message_string, * )  'illegal value for recycling_width:', &
+                                         ' ', recycling_width
+             CALL message( 'check_parameters', 'PA0134', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+!
+!--    Calculate the index
+       recycling_plane = recycling_width / dx
+    ENDIF
+
+!
+!-- Check random generator
+    IF ( random_generator /= 'system-specific'  .AND. &
+         random_generator /= 'numerical-recipes' )  THEN
+       message_string = 'unknown random generator: random_generator = "' // &
+                        TRIM( random_generator ) // '"'
+       CALL message( 'check_parameters', 'PA0135', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Determine damping level index for 1D model
+    IF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       IF ( damp_level_1d == -1.0 )  THEN
+          damp_level_1d     = zu(nzt+1)
+          damp_level_ind_1d = nzt + 1
+       ELSEIF ( damp_level_1d < 0.0  .OR.  damp_level_1d > zu(nzt+1) )  THEN
+          WRITE( message_string, * )  'damp_level_1d = ', damp_level_1d, &
+                 ' must be > 0.0 and < ', zu(nzt+1), '(zu(nzt+1))'
+          CALL message( 'check_parameters', 'PA0136', 1, 2, 0, 6, 0 )
+       ELSE
+          DO  k = 1, nzt+1
+             IF ( damp_level_1d <= zu(k) )  THEN
+                damp_level_ind_1d = k
+                EXIT
+             ENDIF
+          ENDDO
+       ENDIF
+    ENDIF
+
+!
+!-- Check some other 1d-model parameters
+    IF ( TRIM( mixing_length_1d ) /= 'as_in_3d_model'  .AND. &
+         TRIM( mixing_length_1d ) /= 'blackadar' )  THEN
+       message_string = 'mixing_length_1d = "' // TRIM( mixing_length_1d ) // &
+                        '" is unknown'
+       CALL message( 'check_parameters', 'PA0137', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( TRIM( dissipation_1d ) /= 'as_in_3d_model'  .AND. &
+         TRIM( dissipation_1d ) /= 'detering' )  THEN
+       message_string = 'dissipation_1d = "' // TRIM( dissipation_1d ) // &
+                        '" is unknown'
+       CALL message( 'check_parameters', 'PA0138', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Set time for the next user defined restart (time_restart is the
+!-- internal parameter for steering restart events)
+    IF ( restart_time /= 9999999.9 )  THEN
+       IF ( restart_time > time_since_reference_point )  THEN
+          time_restart = restart_time
+       ENDIF
+    ELSE
+!
+!--    In case of a restart run, set internal parameter to default (no restart)
+!--    if the NAMELIST-parameter restart_time is omitted
+       time_restart = 9999999.9
+    ENDIF
+
+!
+!-- Set default value of the time needed to terminate a model run
+    IF ( termination_time_needed == -1.0 )  THEN
+       IF ( host(1:3) == 'ibm' )  THEN
+          termination_time_needed = 300.0
+       ELSE
+          termination_time_needed = 35.0
+       ENDIF
+    ENDIF
+
+!
+!-- Check the time needed to terminate a model run
+    IF ( host(1:3) == 't3e' )  THEN
+!
+!--    Time needed must be at least 30 seconds on all CRAY machines, because
+!--    MPP_TREMAIN gives the remaining CPU time only in steps of 30 seconds
+       IF ( termination_time_needed <= 30.0 )  THEN
+          WRITE( message_string, * )  'termination_time_needed = ', &
+                 termination_time_needed, ' must be > 30.0 on host "', &
+                 TRIM( host ), '"'
+          CALL message( 'check_parameters', 'PA0139', 1, 2, 0, 6, 0 )
+       ENDIF
+    ELSEIF ( host(1:3) == 'ibm' )  THEN
+!
+!--    On IBM-regatta machines the time should be at least 300 seconds,
+!--    because the job time consumed before executing palm (for compiling,
+!--    copying of files, etc.) has to be regarded
+       IF ( termination_time_needed < 300.0 )  THEN
+          WRITE( message_string, * )  'termination_time_needed = ', &
+                 termination_time_needed, ' should be >= 300.0 on host "', &
+                 TRIM( host ), '"'
+          CALL message( 'check_parameters', 'PA0140', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Check pressure gradient conditions
+    IF ( dp_external .AND. conserve_volume_flow )  THEN
+       WRITE( message_string, * )  'Both dp_external and conserve_volume_flo', &
+            'w are .TRUE. but one of them must be .FALSE.'
+       CALL message( 'check_parameters', 'PA0150', 1, 2, 0, 6, 0 )
+    ENDIF
+    IF ( dp_external )  THEN
+       IF ( dp_level_b < zu(nzb) .OR. dp_level_b > zu(nzt) )  THEN
+          WRITE( message_string, * )  'dp_level_b = ', dp_level_b, ' is out ', &
+               ' of range'
+          CALL message( 'check_parameters', 'PA0151', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( .NOT. ANY( dpdxy /= 0.0 ) )  THEN
+          WRITE( message_string, * )  'dp_external is .TRUE. but dpdxy is ze', &
+               'ro, i.e. the external pressure gradient & will not be applied'
+          CALL message( 'check_parameters', 'PA0152', 0, 1, 0, 6, 0 )
+       ENDIF
+    ENDIF
+    IF ( ANY( dpdxy /= 0.0 ) .AND. .NOT. dp_external )  THEN
+       WRITE( message_string, * )  'dpdxy is nonzero but dp_external is ', &
+            '.FALSE., i.e. the external pressure gradient & will not be applied'
+       CALL message( 'check_parameters', 'PA0153', 0, 1, 0, 6, 0 )
+    ENDIF
+    IF ( conserve_volume_flow )  THEN
+       IF ( TRIM( conserve_volume_flow_mode ) == 'default' )  THEN
+          IF ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' )  THEN
+             conserve_volume_flow_mode = 'inflow_profile'
+          ELSE
+             conserve_volume_flow_mode = 'initial_profiles'
+          ENDIF
+       ELSEIF ( TRIM( conserve_volume_flow_mode ) /= 'initial_profiles' .AND.  &
+            TRIM( conserve_volume_flow_mode ) /= 'inflow_profile' .AND.  &
+            TRIM( conserve_volume_flow_mode ) /= 'bulk_velocity' )  THEN
+          WRITE( message_string, * )  'unknown conserve_volume_flow_mode: ', &
+               conserve_volume_flow_mode
+          CALL message( 'check_parameters', 'PA0154', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' ) .AND. &
+            TRIM( conserve_volume_flow_mode ) /= 'inflow_profile' )  THEN
+          WRITE( message_string, * )  'noncyclic boundary conditions ', &
+               'require & conserve_volume_flow_mode = ''inflow_profile'''
+          CALL message( 'check_parameters', 'PA0155', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( bc_lr == 'cyclic'  .AND.  bc_ns == 'cyclic'  .AND.  &
+            TRIM( conserve_volume_flow_mode ) == 'inflow_profile' )  THEN
+          WRITE( message_string, * )  'cyclic boundary conditions ', &
+               'require & conserve_volume_flow_mode = ''initial_profiles''', &
+               ' or ''bulk_velocity'''
+          CALL message( 'check_parameters', 'PA0156', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+    IF ( ( u_bulk /= 0.0 .OR. v_bulk /= 0.0 ) .AND.  &
+         ( .NOT. conserve_volume_flow .OR.  &
+         TRIM( conserve_volume_flow_mode ) /= 'bulk_velocity' ) )  THEN
+       WRITE( message_string, * )  'nonzero bulk velocity requires ', &
+            'conserve_volume_flow = .T. and & ', &
+            'conserve_volume_flow_mode = ''bulk_velocity'''
+       CALL message( 'check_parameters', 'PA0157', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Check particle attributes
+    IF ( particle_color /= 'none' )  THEN
+       IF ( particle_color /= 'absuv'  .AND.  particle_color /= 'pt*'  .AND.  &
+            particle_color /= 'z' )  THEN
+          message_string = 'illegal value for parameter particle_color: ' // &
+                           TRIM( particle_color)
+          CALL message( 'check_parameters', 'PA0313', 1, 2, 0, 6, 0 )
+       ELSE
+          IF ( color_interval(2) <= color_interval(1) )  THEN
+             message_string = 'color_interval(2) <= color_interval(1)'
+             CALL message( 'check_parameters', 'PA0315', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+    ENDIF
+
+    IF ( particle_dvrpsize /= 'none' )  THEN
+       IF ( particle_dvrpsize /= 'absw' )  THEN
+          message_string = 'illegal value for parameter particle_dvrpsize:' // &
+                           ' ' // TRIM( particle_color)
+          CALL message( 'check_parameters', 'PA0314', 1, 2, 0, 6, 0 )
+       ELSE
+          IF ( dvrpsize_interval(2) <= dvrpsize_interval(1) )  THEN
+             message_string = 'dvrpsize_interval(2) <= dvrpsize_interval(1)'
+             CALL message( 'check_parameters', 'PA0316', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+    ENDIF
+
+!
+!-- Check &userpar parameters
+    CALL user_check_parameters
+
+
+ END SUBROUTINE check_parameters
Index: palm/tags/release-3.7/SOURCE/close_file.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/close_file.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/close_file.f90	(revision 393)
@@ -0,0 +1,524 @@
+ SUBROUTINE close_file( file_id )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 263 2009-03-18 12:26:04Z heinze
+! Output of NetCDF messages with aid of message handling routine.
+!
+! Feb. 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.10  2006/08/22 13:50:01  raasch
+! xz and yz cross sections now up to nzt+1
+!
+! Revision 1.1  2001/01/02 17:23:41  raasch
+! Initial revision
+!
+! Last revision before renaming subroutine  2001/01/01  raasch
+! Subroutine name changed from close_files to close_file. Closing of a single
+! file is allowed by passing its file-id as an argument. Variable openfile now
+! is of type file_status and contains a flag which indicates if a file has
+! been opened before. Old revision remarks deleted.
+!
+! Revision 1.13 (close_files) 2000/12/20 09:10:24  letzel
+! All comments translated into English.
+!
+! Revision 1.12 (close_files) 1999/03/02 09:22:46  raasch
+! FLD-Header fuer komprimierte 3D-Daten
+!
+! Revision 1.1 (close_files) 1997/08/11 06:11:18  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Close specified file or all open files, if "0" has been given as the
+! calling argument. In that case, execute last actions for certain unit 
+! numbers, if required.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE netcdf_control
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2)   ::  suffix
+    CHARACTER (LEN=10)  ::  datform = 'lit_endian'
+    CHARACTER (LEN=80)  ::  rtext, title, utext = '', xtext = '', ytext = ''
+
+    INTEGER ::  anzzeile, cranz, cross_count, cross_numbers, dimx, dimy, &
+                fid, file_id, j, k, legpos = 1, planz, timodex = 1
+    INTEGER, DIMENSION(100) ::  klist, lstyle, cucol
+
+    LOGICAL ::  checkuf = .TRUE., datleg = .TRUE., dp = .FALSE., &
+                grid = .TRUE., rand = .TRUE., swap, twoxa = .TRUE., &
+                twoya = .TRUE.
+
+    REAL    ::  ansx = -999.999, ansy = -999.999, gwid = 0.1, rlegfak, &
+                sizex, sizey, texfac, utmove = 50.0, uxmax, uxmin, uymax, &
+                uymin, yright
+    REAL, DIMENSION(100) ::  lwid, normx, normy
+
+    NAMELIST /CROSS/   ansx, ansy, cucol, grid, gwid, klist, legpos, lstyle, &
+                       lwid, normx, normy, rand, rlegfak, sizex, sizey, &
+                       texfac, timodex, twoxa, twoya, utext, utmove, uxmax, &
+                       uxmin, uymax, uymin, xtext, ytext
+    NAMELIST /GLOBAL/  checkuf, datform, dimx, dimy, dp, planz, sizex, sizey, &
+                       title, yright
+    NAMELIST /RAHMEN/  anzzeile, cranz, datleg, rtext, swap
+
+!
+!-- Close specified unit number (if opened) and set a flag that it has
+!-- been opened one time at least
+    IF ( file_id /= 0 )  THEN
+       IF ( openfile(file_id)%opened )  THEN
+          CLOSE ( file_id )
+          openfile(file_id)%opened        = .FALSE.
+          openfile(file_id)%opened_before = .TRUE.
+       ENDIF
+       RETURN
+    ENDIF
+
+!
+!-- Close all open unit numbers
+    DO  fid = 1, 116
+
+       IF ( openfile(fid)%opened .OR. openfile(fid)%opened_before )  THEN
+!
+!--       Last actions for certain unit numbers
+          SELECT CASE ( fid )
+
+             CASE ( 21 )
+!
+!--             Write ISO2D global parameters
+                IF ( myid == 0  .AND.  iso2d_output )  THEN
+                   planz  = do2d_xy_n
+                   dimx   = nx + 2
+                   dimy   = ny + 2
+                   sizex  = 100.0
+                   sizey  = 100.0
+                   title  = run_description_header
+                   yright = ( ny + 1.0 ) * dy
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
+                      checkuf = .FALSE.; dp = .TRUE.
+                   ENDIF
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
+                      datform = 'big_endian'
+                   ENDIF
+                   OPEN ( 90, FILE='PLOT2D_XY_GLOBAL', FORM='FORMATTED', &
+                              DELIM='APOSTROPHE' )
+                   WRITE ( 90, GLOBAL )
+                   CLOSE ( 90 )
+                ENDIF
+
+             CASE ( 22 )
+!
+!--             Write ISO2D global parameters
+                IF ( myid == 0 )  THEN
+                   planz  = do2d_xz_n
+                   dimx   = nx + 2
+                   dimy   = nz + 2
+                   sizex  = 100.0
+                   sizey  =  65.0
+                   title  = run_description_header
+                   yright = z_max_do2d
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
+                      checkuf = .FALSE.; dp = .TRUE.
+                   ENDIF
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
+                      datform = 'big_endian'
+                   ENDIF
+                   OPEN ( 90, FILE='PLOT2D_XZ_GLOBAL', FORM='FORMATTED', &
+                              DELIM='APOSTROPHE' )
+                   WRITE ( 90, GLOBAL )
+                   CLOSE ( 90 )
+                ENDIF
+
+             CASE ( 23 )
+!
+!--             Write ISO2D global parameters
+                IF ( myid == 0 )  THEN
+                   planz  = do2d_yz_n
+                   dimx   = ny + 2
+                   dimy   = nz + 2
+                   sizex  = 100.0
+                   sizey  =  65.0
+                   title  = run_description_header
+                   yright = z_max_do2d
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
+                      checkuf = .FALSE.; dp = .TRUE.
+                   ENDIF
+                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
+                      datform = 'big_endian'
+                   ENDIF
+                   OPEN ( 90, FILE='PLOT2D_YZ_GLOBAL', FORM='FORMATTED', &
+                              DELIM='APOSTROPHE' )
+                   WRITE ( 90, GLOBAL )
+                   CLOSE ( 90 )
+                ENDIF
+
+             CASE ( 32 )
+!
+!--             Write header for FLD-file
+                IF ( do3d_compress )  THEN
+                   WRITE ( 32, 3200)  ' compressed ',                       &
+                                      TRIM( run_description_header ), nx+2, &
+                                      ny+2, nz_do3d+1, do3d_avs_n
+                ELSE
+                   WRITE ( 32, 3200)  ' ', TRIM( run_description_header ), &
+                                      nx+2, ny+2, nz_do3d+1, do3d_avs_n
+                ENDIF
+
+             CASE ( 40:49 )
+!
+!--             Write PROFIL namelist parameters for 1D profiles.
+!--             First determine, how many crosses are to be drawn.
+                IF ( myid == 0 )  THEN
+                   cross_numbers = 0
+                   DO  j = 1, crmax
+                      IF ( cross_profile_number_count(j) /= 0 )  THEN
+                         cross_numbers = cross_numbers + 1
+                      ENDIF
+                   ENDDO
+
+                   IF ( cross_numbers /= 0 )  THEN
+!
+!--                   Determine remaining RAHMEN parameters
+                      swap = .FALSE.
+                      rtext = '\0.5 ' // TRIM( run_description_header ) // &
+                              '    ' // TRIM( region( fid - 40 ) )
+!
+!--                   Write RAHMEN parameters
+                      IF ( statistic_regions == 0  .AND.  fid == 40 )  THEN
+                         suffix = ''
+                      ELSE
+                         WRITE ( suffix, '(''_'',I1)' )  fid - 40
+                      ENDIF
+                      OPEN ( 90, FILE='PLOT1D_PAR' // TRIM( suffix ), &
+                                 FORM='FORMATTED', DELIM='APOSTROPHE' )
+!
+!--                   Subtitle for crosses with time averaging
+                      IF ( averaging_interval_pr /= 0.0 )  THEN
+                         WRITE ( utext, 4000 )  averaging_interval_pr
+                      ENDIF
+!
+!--                   Determine and write CROSS parameters for each individual 
+!--                   cross
+                      cross_count = 0
+                      DO  j = 1, crmax
+                         k = cross_profile_number_count(j)
+                         IF ( k /= 0 )  THEN
+                            cross_count = cross_count + 1
+!
+!--                         Write RAHMEN parameters
+                            IF ( MOD( cross_count-1, &
+                                      profile_rows*profile_columns ) == 0 ) &
+                            THEN
+!
+!--                            Determine number of crosses still to be drawn
+                               cranz = MIN( cross_numbers - cross_count + 1, &
+                                            profile_rows * profile_columns )
+!
+!--                            If the first line cannot be filled with crosses
+!--                            completely, the default number of crosses per 
+!--                            line has to be reduced.
+                               IF ( cranz < profile_columns )  THEN
+                                  anzzeile = cranz
+                               ELSE
+                                  anzzeile = profile_columns
+                               ENDIF
+
+                               WRITE ( 90, RAHMEN )
+
+                            ENDIF
+!
+!--                         Store graph numbers
+                            klist(1:k) = cross_profile_numbers(1:k,j)
+                            klist(k+1:100) = 999999
+!
+!--                         Store graph attributes
+                            cucol  = cross_linecolors(:,j)
+                            lstyle = cross_linestyles(:,j)
+                            lwid = 0.6
+!
+!--                         Sizes, text etc.
+                            sizex = 100.0; sizey = 120.0
+                            rlegfak = 0.7; texfac = 1.0
+!
+!--                         Determine range of x-axis values
+                            IF ( cross_normalized_x(j) == ' ' )  THEN
+!
+!--                            Non-normalized profiles
+                               IF ( cross_uxmin(j) == 0.0  .AND. &
+                                    cross_uxmax(j) == 0.0 )  THEN
+                                  uxmin = cross_uxmin_computed(j)
+                                  uxmax = cross_uxmax_computed(j)
+                                  IF ( uxmin == uxmax )  uxmax = uxmin + 1.0
+                               ELSE
+!
+!--                               Values set in check_parameters are used here
+                                  uxmin = cross_uxmin(j); uxmax = cross_uxmax(j)
+                               ENDIF
+                            ELSE
+!
+!--                            Normalized profiles
+                               IF ( cross_uxmin_normalized(j) == 0.0  .AND. &
+                                    cross_uxmax_normalized(j) == 0.0 )  THEN
+                                  uxmin = cross_uxmin_normalized_computed(j)
+                                  uxmax = cross_uxmax_normalized_computed(j)
+                                  IF ( uxmin == uxmax )  uxmax = uxmin + 1.0
+                               ELSE
+!
+!--                               Values set in check_parameters are used here
+                                  uxmin = cross_uxmin_normalized(j)
+                                  uxmax = cross_uxmax_normalized(j)
+                               ENDIF
+                            ENDIF
+!
+!--                         Range of y-axis values
+!--                         may be re-adjusted during normalization if required
+                            uymin = cross_uymin(j); uymax = cross_uymax(j)
+                            ytext = 'height in m'
+!
+!--                         Normalization of the axes
+                            normx = cross_normx_factor(:,j)
+                            normy = cross_normy_factor(:,j)
+!
+!--                         Labelling of the axes
+                            IF ( cross_normalized_x(j) == ' ' )  THEN
+                               xtext = cross_xtext(j)
+                            ELSE
+                               xtext = TRIM( cross_xtext(j) ) // ' / ' // &
+                                       cross_normalized_x(j)
+                            ENDIF
+                            IF ( cross_normalized_y(j) == ' ' )  THEN
+                               ytext = 'height in m'
+                            ELSE
+                               ytext = 'height in m' // ' / ' // &
+                                       cross_normalized_y(j)
+!
+!--                            Determine upper limit of value range
+                               IF ( z_max_do1d_normalized /= -1.0 )  THEN
+                                  uymax = z_max_do1d_normalized
+                               ENDIF
+                            ENDIF
+
+                            WRITE ( 90, CROSS )
+
+                         ENDIF
+                      ENDDO
+
+                      CLOSE ( 90 )
+                   ENDIF
+                ENDIF
+
+             CASE ( 50:59 )
+!
+!--             Write PROFIL namelist parameters for time series
+!--             first determine number of crosses to be drawn
+                IF ( myid == 0 )  THEN
+                   cranz = 0
+                   DO  j = 1, 12
+                      IF ( cross_ts_number_count(j) /= 0 )  cranz = cranz+1
+                   ENDDO
+
+                   IF ( cranz /= 0 )  THEN
+!
+!--                   Determine RAHMEN parameters
+                      anzzeile = 1
+                      swap = .TRUE.
+                      rtext = '\1.0 ' // TRIM( run_description_header ) // &
+                              '    ' // TRIM( region( fid - 50 ) )
+!
+!--                   Write RAHMEN parameters
+                      IF ( statistic_regions == 0  .AND.  fid == 50 )  THEN
+                         suffix = ''
+                      ELSE
+                         WRITE ( suffix, '(''_'',I1)' )  fid - 50
+                      ENDIF
+                      OPEN ( 90, FILE='PLOTTS_PAR' // TRIM( suffix ), &
+                                 FORM='FORMATTED', DELIM='APOSTROPHE' )
+                      WRITE ( 90, RAHMEN )
+!
+!--                   Determine and write CROSS parameters for each individual 
+!--                   cross
+                      DO  j = 1, 12
+                         k = cross_ts_number_count(j)
+                         IF ( k /= 0 )  THEN
+!
+!--                         Store graph numbers
+                            klist(1:k) = cross_ts_numbers(1:k,j)
+                            klist(k+1:100) = 999999
+!
+!--                         Store graph attributes
+                            cucol(1:k)  = linecolors(1:k)
+                            lstyle(1:k) = linestyles(1:k)
+                            lwid = 0.4
+!
+!--                         Sizes, text etc.
+                            sizex = 250.0; sizey = 40.0
+                            rlegfak = 1.5; texfac = 1.5
+                            xtext = 'time in s'
+                            ytext = ''
+                            utext = ''
+!
+!--                         Determine range of y-axis values
+                            IF ( cross_ts_uymin(j) == 999.999 )  THEN
+                               uymin = cross_ts_uymin_computed(j)
+                            ELSE
+                               uymin = cross_ts_uymin(j)
+                            ENDIF
+                            IF ( cross_ts_uymax(j) == 999.999 )  THEN
+                               uymax = cross_ts_uymax_computed(j)
+                            ELSE
+                               uymax = cross_ts_uymax(j)
+                            ENDIF
+                            IF ( uymin == uymax )  uymax = uymin + 1.0
+!
+!--                         Range of x-axis values
+                            uxmin = 0.0; uxmax = simulated_time
+!
+!--                         Normalizations
+                            normx = 1.0; normy = 1.0
+
+                            WRITE ( 90, CROSS )
+
+                         ENDIF
+                      ENDDO
+
+                      CLOSE ( 90 )
+                   ENDIF
+                ENDIF
+
+#if defined( __netcdf )
+             CASE ( 101 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_xy(0) )
+                   CALL handle_netcdf_error( 'close_file', 44 )
+                ENDIF
+
+             CASE ( 102 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_xz(0) )
+                   CALL handle_netcdf_error( 'close_file', 45 )
+                ENDIF
+
+             CASE ( 103 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_yz(0) )
+                   CALL handle_netcdf_error( 'close_file', 46 )
+                ENDIF
+
+             CASE ( 104 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_pr )
+                   CALL handle_netcdf_error( 'close_file', 47 )
+                ENDIF
+
+             CASE ( 105 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_ts )
+                   CALL handle_netcdf_error( 'close_file', 48 )
+                ENDIF
+
+             CASE ( 106 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_3d(0) )
+                   CALL handle_netcdf_error( 'close_file', 49 )
+                ENDIF
+
+             CASE ( 107 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_sp )
+                   CALL handle_netcdf_error( 'close_file', 50 )
+                ENDIF
+
+             CASE ( 108 )
+
+                IF (  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_prt )
+                   CALL handle_netcdf_error( 'close_file', 51 )
+                ENDIF
+
+             CASE ( 109 ) 
+
+                IF (  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_pts )
+                   CALL handle_netcdf_error( 'close_file', 412 )
+                ENDIF
+
+             CASE ( 111 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_xy(1) )
+                   CALL handle_netcdf_error( 'close_file', 52 )
+                ENDIF
+
+             CASE ( 112 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_xz(1) )
+                   CALL handle_netcdf_error( 'close_file', 352 )
+                ENDIF
+
+             CASE ( 113 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_yz(1) )
+                   CALL handle_netcdf_error( 'close_file', 353 )
+                ENDIF
+
+             CASE ( 116 )
+
+                IF ( myid == 0  .AND.  netcdf_output )  THEN
+                   nc_stat = NF90_CLOSE( id_set_3d(1) )
+                   CALL handle_netcdf_error( 'close_file', 353 )
+                ENDIF
+
+#endif
+
+          END SELECT
+!
+!--       Close file
+          IF ( openfile(fid)%opened )  CLOSE ( fid )
+
+       ENDIF
+
+    ENDDO
+
+!
+!-- Formats
+3200 FORMAT ('# AVS',A,'field file'/ &
+             '#'/                &
+             '# ',A/             &
+             'ndim=3'/           &
+             'dim1=',I5/         &
+             'dim2=',I5/         &
+             'dim3=',I5/         &
+             'nspace=3'/         &
+             'veclen=',I5/       &
+             'data=xdr_float'/   &
+             'field=rectilinear')
+4000 FORMAT ('time averaged over',F7.1,' s')
+
+
+ END SUBROUTINE close_file
Index: palm/tags/release-3.7/SOURCE/compute_vpt.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/compute_vpt.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/compute_vpt.f90	(revision 393)
@@ -0,0 +1,43 @@
+ SUBROUTINE compute_vpt
+
+!-------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2001/03/30 06:58:52  raasch
+! Translation of remaining German identifiers (variables, subroutines, etc.)
+!
+! Revision 1.1  2000/04/13 14:40:53  schroeter
+! Initial revision
+!
+!
+! Description:
+! -------------
+! Computation of the virtual potential temperature 
+!-------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE cloud_parameters
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER :: k
+
+    IF ( .NOT. cloud_physics ) THEN
+       vpt = pt * ( 1.0 + 0.61 * q )
+    ELSE
+       DO  k = nzb, nzt+1
+          vpt(k,:,:) = ( pt(k,:,:) + pt_d_t(k) * l_d_cp * ql(k,:,:) ) * &
+                       ( 1.0 + 0.61 * q(k,:,:) - 1.61 * ql(k,:,:) ) 
+       ENDDO
+    ENDIF
+
+ END SUBROUTINE compute_vpt
Index: palm/tags/release-3.7/SOURCE/coriolis.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/coriolis.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/coriolis.f90	(revision 393)
@@ -0,0 +1,178 @@
+ MODULE coriolis_mod
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 254 2009-03-05 15:33:42Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 106 2007-08-16 14:30:26Z raasch
+! loops for u and v are starting from index nxlu, nysv, respectively (needed
+! for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! uxrp, vynp eliminated
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 10:08:57  raasch
+! nzb_2d replaced by nzb_u/v/w_inner
+!
+! Revision 1.1  1997/08/29 08:57:38  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Computation of all Coriolis terms in the equations of motion.
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC coriolis
+
+    INTERFACE coriolis
+       MODULE PROCEDURE coriolis
+       MODULE PROCEDURE coriolis_ij
+    END INTERFACE coriolis
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE coriolis( component )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  component, i, j, k
+
+
+!
+!--    Compute Coriolis terms for the three velocity components
+       SELECT CASE ( component )
+
+!
+!--       u-component
+          CASE ( 1 )
+             DO  i = nxlu, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_u_inner(j,i)+1, nzt
+                      tend(k,j,i) = tend(k,j,i) + f  *    ( 0.25 *            &
+                                   ( v(k,j,i-1) + v(k,j,i) + v(k,j+1,i-1) +   &
+                                     v(k,j+1,i) ) - vg(k) )                   &
+                                             - fs *    ( 0.25 *               &
+                                   ( w(k-1,j,i-1) + w(k-1,j,i) + w(k,j,i-1) + &
+                                     w(k,j,i)   ) &
+                                                          )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       v-component
+          CASE ( 2 )
+             DO  i = nxl, nxr
+                DO  j = nysv, nyn
+                   DO  k = nzb_v_inner(j,i)+1, nzt
+                      tend(k,j,i) = tend(k,j,i) - f *     ( 0.25 *          &
+                                   ( u(k,j-1,i) + u(k,j,i) + u(k,j-1,i+1) + &
+                                     u(k,j,i+1) ) - ug(k) )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       w-component
+          CASE ( 3 )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_w_inner(j,i)+1, nzt
+                      tend(k,j,i) = tend(k,j,i) + fs * 0.25 *             &
+                                   ( u(k,j,i) + u(k+1,j,i) + u(k,j,i+1) + &
+                                     u(k+1,j,i+1) )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE DEFAULT
+
+             WRITE( message_string, * ) ' wrong component: ', component
+             CALL message( 'coriolis', 'PA0173', 1, 2, 0, 6, 0 )
+
+       END SELECT
+
+    END SUBROUTINE coriolis
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE coriolis_ij( i, j, component )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  component, i, j, k
+
+!
+!--    Compute Coriolis terms for the three velocity components
+       SELECT CASE ( component )
+
+!
+!--       u-component
+          CASE ( 1 )
+             DO  k = nzb_u_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) + f  *    ( 0.25 *               &
+                                ( v(k,j,i-1) + v(k,j,i) + v(k,j+1,i-1) +   &
+                                  v(k,j+1,i) ) - vg(k) )                   &
+                                          - fs *    ( 0.25 *               &
+                                ( w(k-1,j,i-1) + w(k-1,j,i) + w(k,j,i-1) + &
+                                  w(k,j,i)   ) &
+                                                    )
+             ENDDO
+
+!
+!--       v-component
+          CASE ( 2 )
+             DO  k = nzb_v_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) - f *     ( 0.25 *             &
+                                ( u(k,j-1,i) + u(k,j,i) + u(k,j-1,i+1) + &
+                                  u(k,j,i+1) ) - ug(k) )
+             ENDDO
+
+!
+!--       w-component
+          CASE ( 3 )
+             DO  k = nzb_w_inner(j,i)+1, nzt
+                tend(k,j,i) = tend(k,j,i) + fs * 0.25 * &
+                                ( u(k,j,i) + u(k+1,j,i) + u(k,j,i+1) + &
+                                  u(k+1,j,i+1) )
+             ENDDO
+
+          CASE DEFAULT
+
+             WRITE( message_string, * ) ' wrong component: ', component
+             CALL message( 'coriolis', 'PA0173', 1, 2, 0, 6, 0 )
+
+       END SELECT
+
+    END SUBROUTINE coriolis_ij
+
+ END MODULE coriolis_mod
Index: palm/tags/release-3.7/SOURCE/cpu_log.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/cpu_log.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/cpu_log.f90	(revision 393)
@@ -0,0 +1,124 @@
+ SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+! Type of count and count_rate changed to default INTEGER on NEC machines
+!
+! 225 2009-01-26 14:44:20Z raasch
+! Type of count and count_rate changed to INTEGER(8)
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! preprocessor directives for old systems removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.24  2006/06/02 15:12:17  raasch
+! cpp-directives extended for lctit
+!
+! Revision 1.1  1997/07/24 11:12:29  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Cpu-time measurements for any program part whatever.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*)           ::  modus, place
+    CHARACTER (LEN=*), OPTIONAL ::  barrierwait
+    LOGICAL, SAVE               ::  first = .TRUE.
+    REAL                        ::  mtime = 0.0, mtimevec = 0.0
+    TYPE(logpoint)              ::  log_event
+
+#if defined( __lc ) || defined( __decalpha )
+    INTEGER(8)                  ::  count, count_rate
+#elif defined( __nec )
+    INTEGER                     ::  count, count_rate
+#elif defined( __ibm )
+    INTEGER(8)                  ::  IRTC
+#endif
+
+
+!
+!-- Initialize and check, respectively, point of measurement
+    IF ( log_event%place == ' ' )  THEN
+       log_event%place = place
+    ELSEIF ( log_event%place /= place )  THEN
+       WRITE( message_string, * ) 'wrong argument & expected: ', &
+                         TRIM(log_event%place), '  given: ',  TRIM( place )
+       CALL message( 'cpu_log', 'PA0174', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Take current time
+#if defined( __lc ) || defined( __decalpha ) || defined( __nec )
+    CALL SYSTEM_CLOCK( count, count_rate )
+    mtime = REAL( count ) / REAL( count_rate )
+#elif defined( __ibm )
+    mtime = IRTC( ) * 1E-9
+#else
+    message_string = 'no time measurement defined on this host'
+    CALL message( 'cpu_log', 'PA0175', 1, 2, 0, 6, 0 )
+#endif
+
+!
+!-- Start, stop or pause measurement
+    IF ( modus == 'start'  .OR.  modus == 'continue' )  THEN
+       log_event%mtime    = mtime
+       log_event%mtimevec = mtimevec
+    ELSEIF ( modus == 'pause' )  THEN
+       IF ( ( mtime - log_event%mtime ) < 0.0  .AND.  first )  THEN
+          WRITE( message_string, * ) 'negative time interval occured',         &
+                      ' &PE',myid,' L=PAUSE "',TRIM(log_event%place),'" new=', &
+                      mtime,' last=',log_event%mtime
+          CALL message( 'cpu_log', 'PA0176', 0, 1, -1, 6, 0 )
+          first = .FALSE.
+       ENDIF
+       log_event%isum     = log_event%isum + mtime - log_event%mtime
+       log_event%ivect    = log_event%ivect  + mtimevec - log_event%mtimevec
+    ELSEIF ( modus == 'stop' )  THEN
+       IF ( ( mtime - log_event%mtime + log_event%isum ) < 0.0  .AND. &
+            first )  THEN
+          WRITE( message_string, * ) 'negative time interval occured',        &
+                      ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', &
+                      mtime,' last=',log_event%mtime,' isum=',log_event%isum
+          CALL message( 'cpu_log', 'PA0177', 0, 1, -1, 6, 0 )
+          first = .FALSE.
+       ENDIF
+       log_event%mtime    = mtime    - log_event%mtime    + log_event%isum
+       log_event%mtimevec = mtimevec - log_event%mtimevec + log_event%ivect
+       log_event%sum      = log_event%sum  + log_event%mtime
+       IF ( log_event%sum < 0.0  .AND.  first )  THEN
+          WRITE( message_string, * ) 'negative time interval occured',        &
+                      ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', &
+                                      log_event%sum,' mtime=',log_event%mtime
+          CALL message( 'cpu_log', 'PA0178', 0, 1, -1, 6, 0 )
+          first = .FALSE.
+       ENDIF
+       log_event%vector   = log_event%vector + log_event%mtimevec
+       log_event%counts   = log_event%counts + 1
+       log_event%isum     = 0.0
+       log_event%ivect    = 0.0
+    ELSE
+       message_string = 'unknown modus of time measurement: ' // TRIM( modus )
+       CALL message( 'cpu_log', 'PA0179', 0, 1, -1, 6, 0 )
+    ENDIF
+
+
+ END SUBROUTINE cpu_log
Index: palm/tags/release-3.7/SOURCE/cpu_statistics.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/cpu_statistics.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/cpu_statistics.f90	(revision 393)
@@ -0,0 +1,280 @@
+ SUBROUTINE cpu_statistics
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 222 2009-01-12 16:04:16Z letzel
+! Bugfix for nonparallel execution
+!
+! 197 2008-09-16 15:29:03Z raasch
+! Format adjustments in order to allow CPU# > 999,
+! data are collected from PE0 in an ordered sequence which seems to avoid
+! hanging of processes on SGI-ICE
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor directives for old systems removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.13  2006/04/26 12:10:51  raasch
+! Output of number of threads per task, max = min in case of 1 PE
+!
+! Revision 1.1  1997/07/24 11:11:11  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Analysis and output of the cpu-times measured. All PE results are collected
+! on PE0 in order to calculate the mean cpu-time over all PEs and other
+! statistics. The output is sorted according to the amount of cpu-time consumed
+! and output on PE0.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER    ::  i, ii(1), iii, lp, sender
+    REAL, SAVE ::  norm = 1.0
+    REAL, DIMENSION(:),   ALLOCATABLE ::  pe_max, pe_min, pe_rms, sum
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  pe_log_points
+
+
+!
+!-- Compute cpu-times in seconds
+    log_point%mtime  = log_point%mtime  / norm
+    log_point%sum    = log_point%sum    / norm
+    log_point%vector = log_point%vector / norm
+    WHERE ( log_point%counts /= 0 )
+       log_point%mean = log_point%sum / log_point%counts
+    END WHERE
+
+
+!
+!-- Collect cpu-times from all PEs and calculate statistics
+    IF ( myid == 0 )  THEN
+!
+!--    Allocate and initialize temporary arrays needed for statistics
+       ALLOCATE( pe_max( SIZE( log_point ) ), pe_min( SIZE( log_point ) ), &
+                 pe_rms( SIZE( log_point ) ),                              &
+                 pe_log_points( SIZE( log_point ), 0:numprocs-1 ) )
+       pe_min = log_point%sum
+       pe_max = log_point%sum    ! need to be set in case of 1 PE
+       pe_rms = 0.0
+
+#if defined( __parallel )
+!
+!--    Receive data from all PEs
+       DO  i = 1, numprocs-1
+          CALL MPI_RECV( pe_max(1), SIZE( log_point ), MPI_REAL, &
+                         i, i, comm2d, status, ierr )
+          sender = status(MPI_SOURCE)
+          pe_log_points(:,sender) = pe_max
+       ENDDO
+       pe_log_points(:,0) = log_point%sum   ! Results from PE0
+!
+!--    Calculate mean of all PEs, store it on log_point%sum
+!--    and find minimum and maximum
+       DO  iii = 1, SIZE( log_point )
+          DO  i = 1, numprocs-1
+             log_point(iii)%sum = log_point(iii)%sum + pe_log_points(iii,i)
+             pe_min(iii) = MIN( pe_min(iii), pe_log_points(iii,i) )
+             pe_max(iii) = MAX( pe_max(iii), pe_log_points(iii,i) )
+          ENDDO
+          log_point(iii)%sum = log_point(iii)%sum / numprocs
+!
+!--       Calculate rms
+          DO  i = 0, numprocs-1
+             pe_rms(iii) = pe_rms(iii) + ( &
+                                 pe_log_points(iii,i) - log_point(iii)%sum &
+                                         )**2
+          ENDDO
+          pe_rms(iii) = SQRT( pe_rms(iii) / numprocs )
+       ENDDO
+    ELSE
+!
+!--    Send data to PE0 (pe_max is used as temporary storage to send
+!--    the data in order to avoid sending the data type log)
+       ALLOCATE( pe_max( SIZE( log_point ) ) )
+       pe_max = log_point%sum
+       CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, myid, comm2d, &
+                      ierr )
+#endif
+
+    ENDIF
+
+!
+!-- Write cpu-times
+    IF ( myid == 0 )  THEN
+!
+!--    Re-store sums
+       ALLOCATE( sum( SIZE( log_point ) ) )
+       WHERE ( log_point%counts /= 0 )
+          sum = log_point%sum
+       ELSEWHERE
+          sum = -1.0
+       ENDWHERE
+
+!
+!--    Write cpu-times sorted by size
+       CALL check_open( 18 )
+#if defined( __parallel )
+       WRITE ( 18, 100 )  TRIM( run_description_header ),        &
+                          numprocs * threads_per_task, pdims(1), pdims(2), &
+                          threads_per_task
+#else
+       WRITE ( 18, 100 )  TRIM( run_description_header ),        &
+                          numprocs * threads_per_task, 1, 1, &
+                          threads_per_task
+#endif
+       DO
+          ii = MAXLOC( sum )
+          i = ii(1)
+          IF ( sum(i) /= -1.0 )  THEN
+             WRITE ( 18, 102 ) &
+	        log_point(i)%place, log_point(i)%sum,                &
+                log_point(i)%sum / log_point(1)%sum * 100.0,         &
+                log_point(i)%counts, pe_min(i), pe_max(i), pe_rms(i)
+             sum(i) = -1.0
+          ELSE
+             EXIT 
+          ENDIF
+       ENDDO
+    ENDIF
+
+
+!
+!-- The same procedure again for the individual measurements.
+!
+!-- Compute cpu-times in seconds
+    log_point_s%mtime  = log_point_s%mtime  / norm
+    log_point_s%sum    = log_point_s%sum    / norm
+    log_point_s%vector = log_point_s%vector / norm
+    WHERE ( log_point_s%counts /= 0 )
+       log_point_s%mean = log_point_s%sum / log_point_s%counts
+    END WHERE
+
+!
+!-- Collect cpu-times from all PEs and calculate statistics
+#if defined( __parallel )
+!
+!-- Set barrier in order to avoid that PE0 receives log_point_s-data
+!-- while still busy with receiving log_point-data (see above)
+    CALL MPI_BARRIER( comm2d, ierr )    
+#endif
+    IF ( myid == 0 )  THEN
+!
+!--    Initialize temporary arrays needed for statistics
+       pe_min = log_point_s%sum
+       pe_max = log_point_s%sum    ! need to be set in case of 1 PE
+       pe_rms = 0.0
+
+#if defined( __parallel )
+!
+!--    Receive data from all PEs
+       DO  i = 1, numprocs-1
+          CALL MPI_RECV( pe_max(1), SIZE( log_point ), MPI_REAL, &
+                         MPI_ANY_SOURCE, MPI_ANY_TAG, comm2d, status, ierr )
+          sender = status(MPI_SOURCE)
+          pe_log_points(:,sender) = pe_max
+       ENDDO
+       pe_log_points(:,0) = log_point_s%sum   ! Results from PE0
+!
+!--    Calculate mean of all PEs, store it on log_point_s%sum
+!--    and find minimum and maximum
+       DO  iii = 1, SIZE( log_point )
+          DO  i = 1, numprocs-1
+             log_point_s(iii)%sum = log_point_s(iii)%sum + pe_log_points(iii,i)
+             pe_min(iii) = MIN( pe_min(iii), pe_log_points(iii,i) )
+             pe_max(iii) = MAX( pe_max(iii), pe_log_points(iii,i) )
+          ENDDO
+          log_point_s(iii)%sum = log_point_s(iii)%sum / numprocs
+!
+!--       Calculate rms
+          DO  i = 0, numprocs-1
+             pe_rms(iii) = pe_rms(iii) + ( &
+                                 pe_log_points(iii,i) - log_point_s(iii)%sum &
+                                         )**2
+          ENDDO
+          pe_rms(iii) = SQRT( pe_rms(iii) / numprocs )
+       ENDDO
+    ELSE
+!
+!--    Send data to PE0 (pe_max is used as temporary storage to send
+!--    the data in order to avoid sending the data type log)
+       pe_max = log_point_s%sum
+       CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, 0, comm2d, &
+                      ierr )
+#endif
+
+    ENDIF
+
+!
+!-- Write cpu-times
+    IF ( myid == 0 )  THEN
+!
+!--    Re-store sums
+       WHERE ( log_point_s%counts /= 0 )
+          sum = log_point_s%sum
+       ELSEWHERE
+          sum = -1.0
+       ENDWHERE
+
+!
+!--    Write cpu-times sorted by size
+       WRITE ( 18, 101 )
+       DO
+          ii = MAXLOC( sum )
+          i = ii(1)
+          IF ( sum(i) /= -1.0 )  THEN
+             WRITE ( 18, 102 ) &
+                log_point_s(i)%place, log_point_s(i)%sum, &
+                log_point_s(i)%sum / log_point(1)%sum * 100.0, &
+                log_point_s(i)%counts, pe_min(i), pe_max(i), pe_rms(i)
+             sum(i) = -1.0
+          ELSE
+             EXIT 
+          ENDIF
+       ENDDO
+
+!
+!--    Empty lines in order to create a gap to the results of the model 
+!--    continuation runs
+       WRITE ( 18, 103 )
+
+!
+!--    Unit 18 is not needed anymore
+       CALL close_file( 18 )
+
+    ENDIF
+
+
+100 FORMAT (A/11('-')//'CPU measures for ',I5,' PEs (',I5,'(x) * ',I5,'(y', &
+            &') tasks *',I5,' threads):'/ &
+             &'----------------------------------------------------------', &
+             &'------------'//&
+            &'place:                        mean        counts      min  ', &
+             &'     max       rms'/ &
+            &'                           sec.      %                sec. ', &
+             &'     sec.      sec.'/  &
+            &'-----------------------------------------------------------', &
+             &'-------------------')
+
+101 FORMAT (/'special measures:'/ &
+            &'-----------------------------------------------------------', &
+            &'--------------------')
+
+102 FORMAT (A20,2X,F9.3,2X,F7.2,1X,I7,3(1X,F9.3))
+103 FORMAT (//)
+
+ END SUBROUTINE cpu_statistics
+
Index: palm/tags/release-3.7/SOURCE/data_log.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_log.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_log.f90	(revision 393)
@@ -0,0 +1,130 @@
+ SUBROUTINE data_log( array, i1, i2, j1, j2, k1, k2 )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.1  2006/02/23 10:09:29  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Complete logging of data
+!------------------------------------------------------------------------------!
+#if defined( __logging )
+
+    USE control_parameters
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i1, i2, j1, j2, k1, k2
+
+    REAL, DIMENSION(i1:i2,j1:j2,k1:k2) ::  array
+
+
+!
+!-- Open the file for data logging
+    CALL check_open( 20 )
+
+!
+!-- Write the message string
+    WRITE ( 20 )  log_message
+
+!
+!-- Write the simulated time and the array indices
+    WRITE ( 20 )  simulated_time, i1, i2, j1, j2, k1, k2
+
+!
+!-- Write the array
+    WRITE ( 20 )  array
+
+#endif
+ END SUBROUTINE data_log
+
+
+
+ SUBROUTINE data_log_2d( array, i1, i2, j1, j2)
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Same as above, for 2d arrays
+!------------------------------------------------------------------------------!
+#if defined( __logging )
+
+    USE control_parameters
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i1, i2, j1, j2
+
+    REAL, DIMENSION(i1:i2,j1:j2) ::  array
+
+
+!
+!-- Open the file for data logging
+    CALL check_open( 20 )
+
+!
+!-- Write the message string
+    WRITE ( 20 )  log_message
+
+!
+!-- Write the simulated time and the array indices
+    WRITE ( 20 )  simulated_time, i1, i2, j1, j2
+
+!
+!-- Write the array
+    WRITE ( 20 )  array
+
+#endif
+ END SUBROUTINE data_log_2d
+
+
+
+ SUBROUTINE data_log_2d_int( array, i1, i2, j1, j2)
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Same as above, for 2d integer arrays
+!------------------------------------------------------------------------------!
+#if defined( __logging )
+
+    USE control_parameters
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i1, i2, j1, j2
+
+    INTEGER, DIMENSION(i1:i2,j1:j2) ::  array
+
+
+!
+!-- Open the file for data logging
+    CALL check_open( 20 )
+
+!
+!-- Write the message string
+    WRITE ( 20 )  log_message
+
+!
+!-- Write the simulated time and the array indices
+    WRITE ( 20 )  simulated_time, i1, i2, j1, j2
+
+!
+!-- Write the array
+    WRITE ( 20 )  array
+
+#endif
+ END SUBROUTINE data_log_2d_int
Index: palm/tags/release-3.7/SOURCE/data_output_2d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_2d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_2d.f90	(revision 393)
@@ -0,0 +1,1238 @@
+ SUBROUTINE data_output_2d( mode, av )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 367 2009-08-25 08:35:52Z maronga
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+! Bugfix: averaging along z is not allowed for 2d quantities (e.g. u* and z0)
+! Output of messages replaced by message handling routine.
+! Output of user defined 2D (XY) arrays at z=nzb+1 is now possible
+! Bugfix: to_be_resorted => s_av for time-averaged scalars
+! Calculation of shf* and qsws* added.
+!
+! 215 2008-11-18 09:54:31Z raasch
+! Bugfix: no output of particle concentration and radius unless particles
+! have been started
+!
+! 96 2007-06-04 08:07:41Z raasch
+! Output of density and salinity
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Output of precipitation amount/rate and roughness length,
+! 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2006/08/22 13:50:29  raasch
+! xz and yz cross sections now up to nzt+1
+!
+! Revision 1.2  2006/02/23 10:19:22  raasch
+! Output of time-averaged data, output of averages along x, y, or z,
+! output of user-defined quantities,
+! section data are copied from local_pf to local_2d before they are output,
+! output of particle concentration and mean radius,
+! Former subroutine plot_2d renamed data_output_2d, pl2d.. renamed do2d..,
+! anz renamed ngp, ebene renamed section, pl2d_.._anz renamed do2d_.._n
+!
+! Revision 1.1  1997/08/11 06:24:09  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Data output of horizontal cross-sections in NetCDF format or binary format
+! compatible to old graphic software iso2d.
+! Attention: The position of the sectional planes is still not always computed 
+! ---------  correctly. (zu is used always)!
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2)  ::  do2d_mode, mode
+    CHARACTER (LEN=4)  ::  grid
+    CHARACTER (LEN=25) ::  section_chr
+    CHARACTER (LEN=50) ::  rtext
+    INTEGER ::  av, ngp, file_id, i, if, is, j, k, l, layer_xy, n, psi, s, &
+                sender, &
+                ind(4)
+    LOGICAL ::  found, resorted, two_d
+    REAL    ::  mean_r, s_r3, s_r4
+    REAL, DIMENSION(:), ALLOCATABLE ::      level_z
+    REAL, DIMENSION(:,:), ALLOCATABLE ::    local_2d, local_2d_l
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  local_pf
+#if defined( __parallel )
+    REAL, DIMENSION(:,:),   ALLOCATABLE ::  total_2d
+#endif
+    REAL, DIMENSION(:,:,:), POINTER ::  to_be_resorted
+
+    NAMELIST /LOCAL/  rtext
+
+    CALL cpu_log (log_point(3),'data_output_2d','start')
+
+!
+!-- Immediate return, if no output is requested (no respective sections
+!-- found in parameter data_output)
+    IF ( mode == 'xy'  .AND.  .NOT. data_output_xy(av) )  RETURN
+    IF ( mode == 'xz'  .AND.  .NOT. data_output_xz(av) )  RETURN
+    IF ( mode == 'yz'  .AND.  .NOT. data_output_yz(av) )  RETURN
+
+    two_d = .FALSE.    ! local variable to distinguish between output of pure 2D
+                       ! arrays and cross-sections of 3D arrays.
+
+!
+!-- Depending on the orientation of the cross-section, the respective output 
+!-- files have to be opened.
+    SELECT CASE ( mode )
+
+       CASE ( 'xy' )
+
+          s = 1
+          ALLOCATE( level_z(0:nzt+1), local_2d(nxl-1:nxr+1,nys-1:nyn+1) )
+
+#if defined( __netcdf )
+          IF ( myid == 0  .AND.  netcdf_output )  CALL check_open( 101+av*10 )
+#endif
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             CALL check_open( 21 )
+          ELSE
+             IF ( myid == 0 )  THEN
+                IF ( iso2d_output )  CALL check_open( 21 )
+#if defined( __parallel )
+                ALLOCATE( total_2d(-1:nx+1,-1:ny+1) )
+#endif
+             ENDIF
+          ENDIF
+
+       CASE ( 'xz' )
+
+          s = 2
+          ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) )
+
+#if defined( __netcdf )
+          IF ( myid == 0  .AND.  netcdf_output )  CALL check_open( 102+av*10 )
+#endif
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             CALL check_open( 22 )
+          ELSE
+             IF ( myid == 0 )  THEN
+                IF ( iso2d_output )  CALL check_open( 22 )
+#if defined( __parallel )
+                ALLOCATE( total_2d(-1:nx+1,nzb:nzt+1) )
+#endif
+             ENDIF
+          ENDIF
+
+       CASE ( 'yz' )
+
+          s = 3
+          ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) )
+
+#if defined( __netcdf )
+          IF ( myid == 0  .AND.  netcdf_output )  CALL check_open( 103+av*10 )
+#endif
+
+          IF ( data_output_2d_on_each_pe )  THEN
+             CALL check_open( 23 )
+          ELSE
+             IF ( myid == 0 )  THEN
+                IF ( iso2d_output )  CALL check_open( 23 )
+#if defined( __parallel )
+                ALLOCATE( total_2d(-1:ny+1,nzb:nzt+1) )
+#endif
+             ENDIF
+          ENDIF
+
+       CASE DEFAULT
+
+          message_string = 'unknown cross-section: ' // TRIM( mode )
+          CALL message( 'data_output_2d', 'PA0180', 1, 2, 0, 6, 0 )
+
+    END SELECT
+
+!
+!-- Allocate a temporary array for resorting (kji -> ijk).
+    ALLOCATE( local_pf(nxl-1:nxr+1,nys-1:nyn+1,nzb:nzt+1) )
+
+!
+!-- Loop of all variables to be written.
+!-- Output dimensions chosen
+    if = 1
+    l = MAX( 2, LEN_TRIM( do2d(av,if) ) )
+    do2d_mode = do2d(av,if)(l-1:l)
+
+    DO  WHILE ( do2d(av,if)(1:1) /= ' ' )
+
+       IF ( do2d_mode == mode )  THEN
+!
+!--       Store the array chosen on the temporary array.
+          resorted = .FALSE.
+          SELECT CASE ( TRIM( do2d(av,if) ) )
+
+             CASE ( 'e_xy', 'e_xz', 'e_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => e
+                ELSE
+                   to_be_resorted => e_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'lwp*_xy' )        ! 2d-array
+                IF ( av == 0 )  THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = SUM( ql(nzb:nzt,j,i) * &
+                                                    dzw(1:nzt+1) )
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = lwp_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'p_xy', 'p_xz', 'p_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => p
+                ELSE
+                   to_be_resorted => p_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'pc_xy', 'pc_xz', 'pc_yz' )  ! particle concentration
+                IF ( av == 0 )  THEN
+                   IF ( simulated_time >= particle_advection_start )  THEN
+                      tend = prt_count
+                      CALL exchange_horiz( tend )
+                   ELSE
+                      tend = 0.0
+                   ENDIF
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         DO  k = nzb, nzt+1
+                            local_pf(i,j,k) = tend(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+                   resorted = .TRUE.
+                ELSE
+                   CALL exchange_horiz( pc_av )
+                   to_be_resorted => pc_av
+                ENDIF
+
+             CASE ( 'pr_xy', 'pr_xz', 'pr_yz' )  ! mean particle radius
+                IF ( av == 0 )  THEN
+                   IF ( simulated_time >= particle_advection_start )  THEN
+                      DO  i = nxl, nxr
+                         DO  j = nys, nyn
+                            DO  k = nzb, nzt+1
+                               psi = prt_start_index(k,j,i)
+                               s_r3 = 0.0
+                               s_r4 = 0.0
+                               DO  n = psi, psi+prt_count(k,j,i)-1
+                                  s_r3 = s_r3 + particles(n)%radius**3
+                                  s_r4 = s_r4 + particles(n)%radius**4
+                               ENDDO
+                               IF ( s_r3 /= 0.0 )  THEN
+                                  mean_r = s_r4 / s_r3
+                               ELSE
+                                  mean_r = 0.0
+                               ENDIF
+                               tend(k,j,i) = mean_r
+                            ENDDO
+                         ENDDO
+                      ENDDO
+                      CALL exchange_horiz( tend )
+                   ELSE
+                      tend = 0.0
+                   ENDIF
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         DO  k = nzb, nzt+1
+                            local_pf(i,j,k) = tend(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+                   resorted = .TRUE.
+                ELSE
+                   CALL exchange_horiz( pr_av )
+                   to_be_resorted => pr_av
+                ENDIF
+
+             CASE ( 'pra*_xy' )        ! 2d-array / integral quantity => no av
+                CALL exchange_horiz_2d( precipitation_amount )
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      local_pf(i,j,nzb+1) =  precipitation_amount(j,i)
+                   ENDDO
+                ENDDO
+                precipitation_amount = 0.0   ! reset for next integ. interval
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'prr*_xy' )        ! 2d-array
+                IF ( av == 0 )  THEN
+                   CALL exchange_horiz_2d( precipitation_rate )
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  precipitation_rate(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   CALL exchange_horiz_2d( precipitation_rate_av )
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  precipitation_rate_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'pt_xy', 'pt_xz', 'pt_yz' )
+                IF ( av == 0 )  THEN
+                   IF ( .NOT. cloud_physics ) THEN
+                      to_be_resorted => pt
+                   ELSE
+                      DO  i = nxl-1, nxr+1
+                         DO  j = nys-1, nyn+1
+                            DO  k = nzb, nzt+1
+                               local_pf(i,j,k) = pt(k,j,i) + l_d_cp *    &
+                                                             pt_d_t(k) * &
+                                                             ql(k,j,i)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+                      resorted = .TRUE.
+                   ENDIF
+                ELSE
+                   to_be_resorted => pt_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'q_xy', 'q_xz', 'q_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => q
+                ELSE
+                   to_be_resorted => q_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'ql_xy', 'ql_xz', 'ql_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => ql
+                ELSE
+                   to_be_resorted => ql_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'ql_c_xy', 'ql_c_xz', 'ql_c_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => ql_c
+                ELSE
+                   to_be_resorted => ql_c_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'ql_v_xy', 'ql_v_xz', 'ql_v_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => ql_v
+                ELSE
+                   to_be_resorted => ql_v_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'ql_vp_xy', 'ql_vp_xz', 'ql_vp_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => ql_vp
+                ELSE
+                   to_be_resorted => ql_vp_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'qsws*_xy' )        ! 2d-array
+                IF ( av == 0 ) THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  qsws(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  qsws_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'qv_xy', 'qv_xz', 'qv_yz' )
+                IF ( av == 0 )  THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         DO  k = nzb, nzt+1
+                            local_pf(i,j,k) = q(k,j,i) - ql(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+                   resorted = .TRUE.
+                ELSE
+                   to_be_resorted => qv_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'rho_xy', 'rho_xz', 'rho_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => rho
+                ELSE
+                   to_be_resorted => rho_av
+                ENDIF
+
+             CASE ( 's_xy', 's_xz', 's_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => q
+                ELSE
+                   to_be_resorted => s_av
+                ENDIF
+
+             CASE ( 'sa_xy', 'sa_xz', 'sa_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => sa
+                ELSE
+                   to_be_resorted => sa_av
+                ENDIF
+
+             CASE ( 'shf*_xy' )        ! 2d-array
+                IF ( av == 0 ) THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  shf(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  shf_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 't*_xy' )        ! 2d-array
+                IF ( av == 0 )  THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = ts(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = ts_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'u_xy', 'u_xz', 'u_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => u
+                ELSE
+                   to_be_resorted => u_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+!
+!--             Substitute the values generated by "mirror" boundary condition
+!--             at the bottom boundary by the real surface values.
+                IF ( do2d(av,if) == 'u_xz'  .OR.  do2d(av,if) == 'u_yz' )  THEN
+                   IF ( ibc_uv_b == 0 )  local_pf(:,:,nzb) = 0.0
+                ENDIF
+
+             CASE ( 'u*_xy' )        ! 2d-array
+                IF ( av == 0 )  THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = us(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         local_pf(i,j,nzb+1) = us_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE ( 'v_xy', 'v_xz', 'v_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => v
+                ELSE
+                   to_be_resorted => v_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+!
+!--             Substitute the values generated by "mirror" boundary condition
+!--             at the bottom boundary by the real surface values.
+                IF ( do2d(av,if) == 'v_xz'  .OR.  do2d(av,if) == 'v_yz' )  THEN
+                   IF ( ibc_uv_b == 0 )  local_pf(:,:,nzb) = 0.0
+                ENDIF
+
+             CASE ( 'vpt_xy', 'vpt_xz', 'vpt_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => vpt
+                ELSE
+                   to_be_resorted => vpt_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zu
+
+             CASE ( 'w_xy', 'w_xz', 'w_yz' )
+                IF ( av == 0 )  THEN
+                   to_be_resorted => w
+                ELSE
+                   to_be_resorted => w_av
+                ENDIF
+                IF ( mode == 'xy' )  level_z = zw
+
+             CASE ( 'z0*_xy' )        ! 2d-array
+                IF ( av == 0 ) THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  z0(j,i)
+                      ENDDO
+                   ENDDO
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1 
+                         local_pf(i,j,nzb+1) =  z0_av(j,i)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                resorted = .TRUE.
+                two_d = .TRUE.
+                level_z(nzb+1) = zu(nzb+1)
+
+             CASE DEFAULT
+!
+!--             User defined quantity
+                CALL user_data_output_2d( av, do2d(av,if), found, grid, &
+                                          local_pf, two_d )
+                resorted = .TRUE.
+
+                IF ( grid == 'zu' )  THEN
+                   IF ( mode == 'xy' )  level_z = zu
+                ELSEIF ( grid == 'zw' )  THEN
+                   IF ( mode == 'xy' )  level_z = zw
+                ELSEIF ( grid == 'zu1' ) THEN
+                   IF ( mode == 'xy' )  level_z(nzb+1) = zu(nzb+1)
+                ENDIF
+
+                IF ( .NOT. found )  THEN
+                   message_string = 'no output provided for: ' //    &
+                                    TRIM( do2d(av,if) )
+                   CALL message( 'data_output_2d', 'PA0181', 0, 0, 0, 6, 0 )
+                ENDIF
+
+          END SELECT
+
+!
+!--       Resort the array to be output, if not done above
+          IF ( .NOT. resorted )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      local_pf(i,j,k) = to_be_resorted(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+
+!
+!--       Output of the individual cross-sections, depending on the cross- 
+!--       section mode chosen.
+          is = 1
+   loop1: DO  WHILE ( section(is,s) /= -9999  .OR.  two_d )
+
+             SELECT CASE ( mode )
+
+                CASE ( 'xy' )
+!
+!--                Determine the cross section index
+                   IF ( two_d )  THEN
+                      layer_xy = nzb+1
+                   ELSE
+                      layer_xy = section(is,s)
+                   ENDIF
+
+!
+!--                Update the NetCDF xy cross section time axis
+                   IF ( myid == 0 )  THEN
+                      IF ( simulated_time /= do2d_xy_last_time(av) )  THEN
+                         do2d_xy_time_count(av) = do2d_xy_time_count(av) + 1
+                         do2d_xy_last_time(av)  = simulated_time
+                         IF ( .NOT. data_output_2d_on_each_pe  .AND. &
+                              netcdf_output )  THEN
+#if defined( __netcdf )
+                            nc_stat = NF90_PUT_VAR( id_set_xy(av),             &
+                                                    id_var_time_xy(av),        &
+                                             (/ time_since_reference_point /), &
+                                         start = (/ do2d_xy_time_count(av) /), &
+                                                    count = (/ 1 /) )
+                         CALL handle_netcdf_error( 'data_output_2d', 53 )
+#endif
+                         ENDIF
+                      ENDIF
+                   ENDIF
+!
+!--                If required, carry out averaging along z
+                   IF ( section(is,s) == -1  .AND.  .NOT. two_d )  THEN
+
+                      local_2d = 0.0
+!
+!--                   Carry out the averaging (all data are on the PE)
+                      DO  k = nzb, nzt+1
+                         DO  j = nys-1, nyn+1
+                            DO  i = nxl-1, nxr+1
+                               local_2d(i,j) = local_2d(i,j) + local_pf(i,j,k)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+
+                      local_2d = local_2d / ( nzt -nzb + 2.0 )
+
+                   ELSE
+!
+!--                   Just store the respective section on the local array
+                      local_2d = local_pf(:,:,layer_xy)
+
+                   ENDIF
+
+#if defined( __parallel )
+                   IF ( data_output_2d_on_each_pe )  THEN
+!
+!--                   Output of partial arrays on each PE
+#if defined( __netcdf )
+                      IF ( netcdf_output  .AND.  myid == 0 )  THEN
+                         WRITE ( 21 )  simulated_time, do2d_xy_time_count(av), &
+                                       av
+                      ENDIF
+#endif
+                      WRITE ( 21 )  nxl-1, nxr+1, nys-1, nyn+1
+                      WRITE ( 21 )  local_2d
+
+                   ELSE
+!
+!--                   PE0 receives partial arrays from all processors and then
+!--                   outputs them. Here a barrier has to be set, because
+!--                   otherwise "-MPI- FATAL: Remote protocol queue full" may
+!--                   occur.
+                      CALL MPI_BARRIER( comm2d, ierr )
+
+                      ngp = ( nxr-nxl+3 ) * ( nyn-nys+3 )
+                      IF ( myid == 0 )  THEN
+!
+!--                      Local array can be relocated directly.
+                         total_2d(nxl-1:nxr+1,nys-1:nyn+1) = local_2d
+!
+!--                      Receive data from all other PEs.
+                         DO  n = 1, numprocs-1
+!
+!--                         Receive index limits first, then array.
+!--                         Index limits are received in arbitrary order from
+!--                         the PEs.
+                            CALL MPI_RECV( ind(1), 4, MPI_INTEGER,            &
+                                           MPI_ANY_SOURCE, 0, comm2d, status, &
+                                           ierr )
+                            sender = status(MPI_SOURCE)
+                            DEALLOCATE( local_2d )
+                            ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) )
+                            CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp,      &
+                                           MPI_REAL, sender, 1, comm2d,       &
+                                           status, ierr )
+                            total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d
+                         ENDDO
+!
+!--                      Output of the total cross-section.
+                         IF ( iso2d_output ) WRITE (21)  total_2d(0:nx+1,0:ny+1)
+!
+!--                      Relocate the local array for the next loop increment
+                         DEALLOCATE( local_2d )
+                         ALLOCATE( local_2d(nxl-1:nxr+1,nys-1:nyn+1) )
+
+#if defined( __netcdf )
+                         IF ( netcdf_output )  THEN
+                            IF ( two_d ) THEN
+                               nc_stat = NF90_PUT_VAR( id_set_xy(av),          &
+                                                       id_var_do2d(av,if),     &
+                                                      total_2d(0:nx+1,0:ny+1), &
+                                start = (/ 1, 1, 1, do2d_xy_time_count(av) /), &
+                                                count = (/ nx+2, ny+2, 1, 1 /) )
+                            ELSE
+                               nc_stat = NF90_PUT_VAR( id_set_xy(av),          &
+                                                       id_var_do2d(av,if),     &
+                                                      total_2d(0:nx+1,0:ny+1), &
+                               start = (/ 1, 1, is, do2d_xy_time_count(av) /), &
+                                                count = (/ nx+2, ny+2, 1, 1 /) )
+                            ENDIF
+                            CALL handle_netcdf_error( 'data_output_2d', 54 )
+                         ENDIF
+#endif
+
+                      ELSE
+!
+!--                      First send the local index limits to PE0
+                         ind(1) = nxl-1; ind(2) = nxr+1
+                         ind(3) = nys-1; ind(4) = nyn+1
+                         CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, &
+                                        ierr )
+!
+!--                      Send data to PE0
+                         CALL MPI_SEND( local_2d(nxl-1,nys-1), ngp, MPI_REAL, &
+                                        0, 1, comm2d, ierr )
+                      ENDIF
+!
+!--                   A barrier has to be set, because otherwise some PEs may
+!--                   proceed too fast so that PE0 may receive wrong data on
+!--                   tag 0
+                      CALL MPI_BARRIER( comm2d, ierr )
+                   ENDIF
+#else
+                   IF ( iso2d_output )  THEN
+                      WRITE (21)  local_2d(nxl:nxr+1,nys:nyn+1)
+                   ENDIF
+#if defined( __netcdf )
+                   IF ( netcdf_output )  THEN
+                      IF ( two_d ) THEN
+                         nc_stat = NF90_PUT_VAR( id_set_xy(av),                &
+                                                 id_var_do2d(av,if),           &
+                                                local_2d(nxl:nxr+1,nys:nyn+1), &
+                                start = (/ 1, 1, 1, do2d_xy_time_count(av) /), &
+                                              count = (/ nx+2, ny+2, 1, 1 /) )
+                      ELSE
+                         nc_stat = NF90_PUT_VAR( id_set_xy(av),                &
+                                                 id_var_do2d(av,if),           &
+                                                local_2d(nxl:nxr+1,nys:nyn+1), &
+                               start = (/ 1, 1, is, do2d_xy_time_count(av) /), &
+                                              count = (/ nx+2, ny+2, 1, 1 /) )
+                      ENDIF
+                      CALL handle_netcdf_error( 'data_output_2d', 55 )
+                   ENDIF
+#endif
+#endif
+                   do2d_xy_n = do2d_xy_n + 1
+!
+!--                Write LOCAL parameter set for ISO2D.
+                   IF ( myid == 0  .AND.  iso2d_output )  THEN
+                      IF ( section(is,s) /= -1 )  THEN
+                         WRITE ( section_chr, '(''z = '',F7.2,'' m  (GP '',I3, &
+                                               &'')'')'                        &
+                               )  level_z(layer_xy), layer_xy
+                      ELSE
+                         section_chr = 'averaged along z'
+                      ENDIF
+                      IF ( av == 0 )  THEN
+                         rtext = TRIM( do2d(av,if) ) // '  t = ' //    &
+                                 TRIM( simulated_time_chr ) // '  ' // &
+                                 TRIM( section_chr )
+                      ELSE
+                         rtext = TRIM( do2d(av,if) ) // '  averaged t = ' // &
+                                 TRIM( simulated_time_chr ) // '  ' //       &
+                                 TRIM( section_chr )
+                      ENDIF
+                      WRITE (27,LOCAL)
+                   ENDIF
+!
+!--                For 2D-arrays (e.g. u*) only one cross-section is available.
+!--                Hence exit loop of output levels.
+                   IF ( two_d )  THEN
+                      two_d = .FALSE.
+                      EXIT loop1
+                   ENDIF
+
+                CASE ( 'xz' )
+!
+!--                Update the NetCDF xz cross section time axis
+                   IF ( myid == 0 )  THEN
+                      IF ( simulated_time /= do2d_xz_last_time(av) )  THEN
+                         do2d_xz_time_count(av) = do2d_xz_time_count(av) + 1
+                         do2d_xz_last_time(av)  = simulated_time
+                         IF ( .NOT. data_output_2d_on_each_pe  .AND. &
+                              netcdf_output )  THEN
+#if defined( __netcdf )
+                            nc_stat = NF90_PUT_VAR( id_set_xz(av),             &
+                                                    id_var_time_xz(av),        &
+                                             (/ time_since_reference_point /), &
+                                         start = (/ do2d_xz_time_count(av) /), &
+                                                    count = (/ 1 /) )
+                             CALL handle_netcdf_error( 'data_output_2d', 56 )
+#endif
+                         ENDIF
+                      ENDIF
+                   ENDIF
+!
+!--                If required, carry out averaging along y
+                   IF ( section(is,s) == -1 )  THEN
+
+                      ALLOCATE( local_2d_l(nxl-1:nxr+1,nzb:nzt+1) )
+                      local_2d_l = 0.0
+                      ngp = ( nxr-nxl+3 ) * ( nzt-nzb+2 )
+!
+!--                   First local averaging on the PE
+                      DO  k = nzb, nzt+1
+                         DO  j = nys, nyn
+                            DO  i = nxl-1, nxr+1
+                               local_2d_l(i,k) = local_2d_l(i,k) + &
+                                                 local_pf(i,j,k)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+#if defined( __parallel )
+!
+!--                   Now do the averaging over all PEs along y
+                      CALL MPI_ALLREDUCE( local_2d_l(nxl-1,nzb),              &
+                                          local_2d(nxl-1,nzb), ngp, MPI_REAL, &
+                                          MPI_SUM, comm1dy, ierr )
+#else
+                      local_2d = local_2d_l
+#endif
+                      local_2d = local_2d / ( ny + 1.0 )
+
+                      DEALLOCATE( local_2d_l )
+
+                   ELSE
+!
+!--                   Just store the respective section on the local array
+!--                   (but only if it is available on this PE!)
+                      IF ( section(is,s) >= nys  .AND.  section(is,s) <= nyn ) &
+                      THEN
+                         local_2d = local_pf(:,section(is,s),nzb:nzt+1)
+                      ENDIF
+
+                   ENDIF
+
+#if defined( __parallel )
+                   IF ( data_output_2d_on_each_pe )  THEN
+!
+!--                   Output of partial arrays on each PE. If the cross section
+!--                   does not reside on the PE, output special index values.
+#if defined( __netcdf )
+                      IF ( netcdf_output  .AND.  myid == 0 )  THEN
+                         WRITE ( 22 )  simulated_time, do2d_xz_time_count(av), &
+                                       av
+                      ENDIF
+#endif
+                      IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn ) .OR.&
+                           ( section(is,s) == -1  .AND.  nys-1 == -1 ) )       &
+                      THEN
+                         WRITE (22)  nxl-1, nxr+1, nzb, nzt+1
+                         WRITE (22)  local_2d
+                      ELSE
+                         WRITE (22)  -1, -1, -1, -1
+                      ENDIF
+
+                   ELSE
+!
+!--                   PE0 receives partial arrays from all processors of the 
+!--                   respective cross section and outputs them. Here a 
+!--                   barrier has to be set, because otherwise 
+!--                   "-MPI- FATAL: Remote protocol queue full" may occur.
+                      CALL MPI_BARRIER( comm2d, ierr )
+
+                      ngp = ( nxr-nxl+3 ) * ( nzt-nzb+2 )
+                      IF ( myid == 0 )  THEN
+!
+!--                      Local array can be relocated directly.
+                         IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn )  &
+                            .OR. ( section(is,s) == -1  .AND.  nys-1 == -1 ) ) &
+                         THEN
+                            total_2d(nxl-1:nxr+1,nzb:nzt+1) = local_2d
+                         ENDIF
+!
+!--                      Receive data from all other PEs.
+                         DO  n = 1, numprocs-1
+!
+!--                         Receive index limits first, then array.
+!--                         Index limits are received in arbitrary order from
+!--                         the PEs.
+                            CALL MPI_RECV( ind(1), 4, MPI_INTEGER,            &
+                                           MPI_ANY_SOURCE, 0, comm2d, status, &
+                                           ierr )
+!
+!--                         Not all PEs have data for XZ-cross-section.
+                            IF ( ind(1) /= -9999 )  THEN
+                               sender = status(MPI_SOURCE)
+                               DEALLOCATE( local_2d )
+                               ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) )
+                               CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, &
+                                              MPI_REAL, sender, 1, comm2d,  &
+                                              status, ierr )
+                               total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d
+                            ENDIF
+                         ENDDO
+!
+!--                      Output of the total cross-section.
+                         IF ( iso2d_output )  THEN
+                            WRITE (22)  total_2d(0:nx+1,nzb:nzt+1)
+                         ENDIF
+!
+!--                      Relocate the local array for the next loop increment
+                         DEALLOCATE( local_2d )
+                         ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) )
+
+#if defined( __netcdf )
+                         IF ( netcdf_output )  THEN
+                            nc_stat = NF90_PUT_VAR( id_set_xz(av),             &
+                                                    id_var_do2d(av,if),        &
+                                                    total_2d(0:nx+1,nzb:nzt+1),&
+                               start = (/ 1, is, 1, do2d_xz_time_count(av) /), &
+                                                count = (/ nx+2, 1, nz+2, 1 /) )
+                            CALL handle_netcdf_error( 'data_output_2d', 57 )
+                         ENDIF
+#endif
+
+                      ELSE
+!
+!--                      If the cross section resides on the PE, send the
+!--                      local index limits, otherwise send -9999 to PE0.
+                         IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn )  &
+                            .OR. ( section(is,s) == -1  .AND.  nys-1 == -1 ) ) &
+                         THEN
+                            ind(1) = nxl-1; ind(2) = nxr+1
+                            ind(3) = nzb;   ind(4) = nzt+1
+                         ELSE
+                            ind(1) = -9999; ind(2) = -9999
+                            ind(3) = -9999; ind(4) = -9999
+                         ENDIF
+                         CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, &
+                                        ierr )
+!
+!--                      If applicable, send data to PE0.
+                         IF ( ind(1) /= -9999 )  THEN
+                            CALL MPI_SEND( local_2d(nxl-1,nzb), ngp, MPI_REAL, &
+                                           0, 1, comm2d, ierr )
+                         ENDIF
+                      ENDIF
+!
+!--                   A barrier has to be set, because otherwise some PEs may
+!--                   proceed too fast so that PE0 may receive wrong data on
+!--                   tag 0
+                      CALL MPI_BARRIER( comm2d, ierr )
+                   ENDIF
+#else
+                   IF ( iso2d_output )  THEN
+                      WRITE (22)  local_2d(nxl:nxr+1,nzb:nzt+1)
+                   ENDIF
+#if defined( __netcdf )
+                   IF ( netcdf_output )  THEN
+                      nc_stat = NF90_PUT_VAR( id_set_xz(av),                   &
+                                              id_var_do2d(av,if),              &
+                                              local_2d(nxl:nxr+1,nzb:nzt+1),   &
+                               start = (/ 1, is, 1, do2d_xz_time_count(av) /), &
+                                              count = (/ nx+2, 1, nz+2, 1 /) )
+                      CALL handle_netcdf_error( 'data_output_2d', 58 )
+                   ENDIF
+#endif
+#endif
+                   do2d_xz_n = do2d_xz_n + 1
+!
+!--                Write LOCAL-parameter set for ISO2D.
+                   IF ( myid == 0  .AND.  iso2d_output )  THEN
+                      IF ( section(is,s) /= -1 )  THEN
+                         WRITE ( section_chr, '(''y = '',F8.2,'' m  (GP '',I3, &
+                                               &'')'')'                        &
+                               )  section(is,s)*dy, section(is,s)
+                      ELSE
+                         section_chr = 'averaged along y'
+                      ENDIF
+                      IF ( av == 0 )  THEN
+                         rtext = TRIM( do2d(av,if) ) // '  t = ' //    &
+                                 TRIM( simulated_time_chr ) // '  ' // &
+                                 TRIM( section_chr )
+                      ELSE
+                         rtext = TRIM( do2d(av,if) ) // '  averaged t = ' // &
+                                 TRIM( simulated_time_chr ) // '  ' //       &
+                                 TRIM( section_chr )
+                      ENDIF
+                      WRITE (28,LOCAL)
+                   ENDIF
+
+                CASE ( 'yz' )
+!
+!--                Update the NetCDF xy cross section time axis
+                   IF ( myid == 0 )  THEN
+                      IF ( simulated_time /= do2d_yz_last_time(av) )  THEN
+                         do2d_yz_time_count(av) = do2d_yz_time_count(av) + 1
+                         do2d_yz_last_time(av)  = simulated_time
+                         IF ( .NOT. data_output_2d_on_each_pe  .AND. &
+                              netcdf_output )  THEN
+#if defined( __netcdf )
+                            nc_stat = NF90_PUT_VAR( id_set_yz(av),             &
+                                                    id_var_time_yz(av),        &
+                                             (/ time_since_reference_point /), &
+                                         start = (/ do2d_yz_time_count(av) /), &
+                                                    count = (/ 1 /) )
+                            CALL handle_netcdf_error( 'data_output_2d', 59 )
+#endif
+                         ENDIF
+                      ENDIF
+                   ENDIF
+!
+!--                If required, carry out averaging along x
+                   IF ( section(is,s) == -1 )  THEN
+
+                      ALLOCATE( local_2d_l(nys-1:nyn+1,nzb:nzt+1) )
+                      local_2d_l = 0.0
+                      ngp = ( nyn-nys+3 ) * ( nzt-nzb+2 )
+!
+!--                   First local averaging on the PE
+                      DO  k = nzb, nzt+1
+                         DO  j = nys-1, nyn+1
+                            DO  i = nxl, nxr
+                               local_2d_l(j,k) = local_2d_l(j,k) + &
+                                                 local_pf(i,j,k)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+#if defined( __parallel )
+!
+!--                   Now do the averaging over all PEs along x
+                      CALL MPI_ALLREDUCE( local_2d_l(nys-1,nzb),              &
+                                          local_2d(nys-1,nzb), ngp, MPI_REAL, &
+                                          MPI_SUM, comm1dx, ierr )
+#else
+                      local_2d = local_2d_l
+#endif
+                      local_2d = local_2d / ( nx + 1.0 )
+
+                      DEALLOCATE( local_2d_l )
+
+                   ELSE
+!
+!--                   Just store the respective section on the local array
+!--                   (but only if it is available on this PE!)
+                      IF ( section(is,s) >= nxl  .AND.  section(is,s) <= nxr ) &
+                      THEN
+                         local_2d = local_pf(section(is,s),:,nzb:nzt+1)
+                      ENDIF
+
+                   ENDIF
+
+#if defined( __parallel )
+                   IF ( data_output_2d_on_each_pe )  THEN
+!
+!--                   Output of partial arrays on each PE. If the cross section 
+!--                   does not reside on the PE, output special index values.
+#if defined( __netcdf )
+                      IF ( netcdf_output  .AND.  myid == 0 )  THEN
+                         WRITE ( 23 )  simulated_time, do2d_yz_time_count(av), &
+                                       av
+                      ENDIF
+#endif
+                      IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr ) .OR.&
+                           ( section(is,s) ==  -1  .AND.  nxl-1 == -1 ) )      &
+                      THEN
+                         WRITE (23)  nys-1, nyn+1, nzb, nzt+1
+                         WRITE (23)  local_2d
+                      ELSE
+                         WRITE (23)  -1, -1, -1, -1
+                      ENDIF
+
+                   ELSE
+!
+!--                   PE0 receives partial arrays from all processors of the 
+!--                   respective cross section and outputs them. Here a
+!--                   barrier has to be set, because otherwise 
+!--                   "-MPI- FATAL: Remote protocol queue full" may occur.
+                      CALL MPI_BARRIER( comm2d, ierr )
+
+                      ngp = ( nyn-nys+3 ) * ( nzt-nzb+2 )
+                      IF ( myid == 0 )  THEN
+!
+!--                      Local array can be relocated directly.
+                         IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr )  &
+                           .OR. ( section(is,s) ==  -1  .AND.  nxl-1 == -1 ) ) &
+                         THEN
+                            total_2d(nys-1:nyn+1,nzb:nzt+1) = local_2d
+                         ENDIF
+!
+!--                      Receive data from all other PEs.
+                         DO  n = 1, numprocs-1
+!
+!--                         Receive index limits first, then array.
+!--                         Index limits are received in arbitrary order from
+!--                         the PEs.
+                            CALL MPI_RECV( ind(1), 4, MPI_INTEGER,            &
+                                           MPI_ANY_SOURCE, 0, comm2d, status, &
+                                           ierr )
+!
+!--                         Not all PEs have data for YZ-cross-section.
+                            IF ( ind(1) /= -9999 )  THEN
+                               sender = status(MPI_SOURCE)
+                               DEALLOCATE( local_2d )
+                               ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) )
+                               CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, &
+                                              MPI_REAL, sender, 1, comm2d,  &
+                                              status, ierr )
+                               total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d
+                            ENDIF
+                         ENDDO
+!
+!--                      Output of the total cross-section.
+                         IF ( iso2d_output )  THEN
+                            WRITE (23)  total_2d(0:ny+1,nzb:nzt+1)
+                         ENDIF
+!
+!--                      Relocate the local array for the next loop increment
+                         DEALLOCATE( local_2d )
+                         ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) )
+
+#if defined( __netcdf )
+                         IF ( netcdf_output )  THEN
+                            nc_stat = NF90_PUT_VAR( id_set_yz(av),             &
+                                                    id_var_do2d(av,if),        &
+                                                    total_2d(0:ny+1,nzb:nzt+1),&
+                               start = (/ is, 1, 1, do2d_yz_time_count(av) /), &
+                                                count = (/ 1, ny+2, nz+2, 1 /) )
+                            CALL handle_netcdf_error( 'data_output_2d', 60 )
+                         ENDIF
+#endif
+
+                      ELSE
+!
+!--                      If the cross section resides on the PE, send the
+!--                      local index limits, otherwise send -9999 to PE0.
+                         IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr )  &
+                           .OR. ( section(is,s) ==  -1  .AND.  nxl-1 == -1 ) ) &
+                         THEN
+                            ind(1) = nys-1; ind(2) = nyn+1
+                            ind(3) = nzb;   ind(4) = nzt+1
+                         ELSE
+                            ind(1) = -9999; ind(2) = -9999
+                            ind(3) = -9999; ind(4) = -9999
+                         ENDIF
+                         CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, &
+                                        ierr )
+!
+!--                      If applicable, send data to PE0.
+                         IF ( ind(1) /= -9999 )  THEN
+                            CALL MPI_SEND( local_2d(nys-1,nzb), ngp, MPI_REAL, &
+                                           0, 1, comm2d, ierr )
+                         ENDIF
+                      ENDIF
+!
+!--                   A barrier has to be set, because otherwise some PEs may
+!--                   proceed too fast so that PE0 may receive wrong data on
+!--                   tag 0
+                      CALL MPI_BARRIER( comm2d, ierr )
+                   ENDIF
+#else
+                   IF ( iso2d_output )  THEN
+                      WRITE (23)  local_2d(nys:nyn+1,nzb:nzt+1)
+                   ENDIF
+#if defined( __netcdf )
+                   IF ( netcdf_output )  THEN
+                      nc_stat = NF90_PUT_VAR( id_set_yz(av),                   &
+                                              id_var_do2d(av,if),              &
+                                              local_2d(nys:nyn+1,nzb:nzt+1),   &
+                               start = (/ is, 1, 1, do2d_xz_time_count(av) /), &
+                                              count = (/ 1, ny+2, nz+2, 1 /) )
+                      CALL handle_netcdf_error( 'data_output_2d', 61 )
+                   ENDIF
+#endif
+#endif
+                   do2d_yz_n = do2d_yz_n + 1
+!
+!--                Write LOCAL-parameter set for ISO2D.
+                   IF ( myid == 0  .AND.  iso2d_output )  THEN
+                      IF ( section(is,s) /= -1 )  THEN
+                         WRITE ( section_chr, '(''x = '',F8.2,'' m  (GP '',I3, &
+                                               &'')'')'                        &
+                               )  section(is,s)*dx, section(is,s)
+                      ELSE
+                         section_chr = 'averaged along x'
+                      ENDIF
+                      IF ( av == 0 )  THEN
+                         rtext = TRIM( do2d(av,if) ) // '  t = ' //    &
+                                 TRIM( simulated_time_chr ) // '  ' // &
+                                 TRIM( section_chr )
+                      ELSE
+                         rtext = TRIM( do2d(av,if) ) // '  averaged t = ' // &
+                                 TRIM( simulated_time_chr ) // '  ' //       &
+                                 TRIM( section_chr )
+                      ENDIF
+                      WRITE (29,LOCAL)
+                   ENDIF
+
+             END SELECT
+
+             is = is + 1
+          ENDDO loop1
+
+       ENDIF
+
+       if = if + 1
+       l = MAX( 2, LEN_TRIM( do2d(av,if) ) )
+       do2d_mode = do2d(av,if)(l-1:l)
+
+    ENDDO
+
+!
+!-- Deallocate temporary arrays.
+    IF ( ALLOCATED( level_z ) )  DEALLOCATE( level_z )
+    DEALLOCATE( local_pf, local_2d )
+#if defined( __parallel )
+    IF ( .NOT.  data_output_2d_on_each_pe  .AND.  myid == 0 )  THEN
+       DEALLOCATE( total_2d )
+    ENDIF
+#endif
+
+!
+!-- Close plot output file.
+    file_id = 20 + s
+
+    IF ( data_output_2d_on_each_pe )  THEN
+       CALL close_file( file_id )
+    ELSE
+       IF ( myid == 0 )  CALL close_file( file_id )
+    ENDIF
+
+
+    CALL cpu_log (log_point(3),'data_output_2d','stop','nobarrier')
+
+ END SUBROUTINE data_output_2d
Index: palm/tags/release-3.7/SOURCE/data_output_3d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_3d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_3d.f90	(revision 393)
@@ -0,0 +1,415 @@
+ SUBROUTINE data_output_3d( av )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 355 2009-07-17 01:03:01Z letzel
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine.
+! Bugfix: to_be_resorted => s_av for time-averaged scalars
+!
+! 96 2007-06-04 08:07:41Z raasch
+! Output of density and salinity
+!
+! 75 2007-03-22 09:54:05Z raasch
+! 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.3  2006/06/02 15:18:59  raasch
+! +argument "found", -argument grid in call of routine user_data_output_3d
+!
+! Revision 1.2  2006/02/23 10:23:07  raasch
+! Former subroutine plot_3d renamed data_output_3d, pl.. renamed do..,
+! .._anz renamed .._n,
+! output extended to (almost) all quantities, output of user-defined quantities
+!
+! Revision 1.1  1997/09/03 06:29:36  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Output of the 3D-arrays in NetCDF and/or AVS format.
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  simulated_time_mod
+
+    INTEGER           ::  av, i, if, j, k, n, pos, prec, psi
+
+    LOGICAL           ::  found, resorted
+
+    REAL              ::  mean_r, s_r3, s_r4
+
+    REAL(spk), DIMENSION(:,:,:), ALLOCATABLE  ::  local_pf
+
+    REAL, DIMENSION(:,:,:), POINTER ::  to_be_resorted
+
+!
+!-- Return, if nothing to output
+    IF ( do3d_no(av) == 0 )  RETURN
+
+    CALL cpu_log (log_point(14),'data_output_3d','start')
+
+!
+!-- Open output file.
+!-- Also creates coordinate and fld-file for AVS.
+!-- In case of a run on more than one PE, each PE opens its own file and
+!-- writes the data of its subdomain in binary format (regardless of the format
+!-- the user has requested). After the run, these files are combined to one
+!-- file by combine_plot_fields in the format requested by the user (netcdf
+!-- and/or avs). 
+    IF ( avs_output  .OR.  ( numprocs > 1 ) )  CALL check_open( 30 )
+
+#if defined( __netcdf )
+    IF ( myid == 0  .AND.  netcdf_output )  CALL check_open( 106+av*10 )
+#endif
+
+!
+!-- Allocate a temporary array with the desired output dimensions.
+    ALLOCATE( local_pf(nxl-1:nxr+1,nys-1:nyn+1,nzb:nz_do3d) )
+
+!
+!-- Update the NetCDF time axis
+#if defined( __netcdf )
+    do3d_time_count(av) = do3d_time_count(av) + 1
+    IF ( myid == 0  .AND.  netcdf_output )  THEN
+       nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_time_3d(av), &
+                               (/ time_since_reference_point /),  &
+                               start = (/ do3d_time_count(av) /), &
+                               count = (/ 1 /) )
+       CALL handle_netcdf_error( 'data_output_3d', 376 )
+    ENDIF
+#endif
+
+!
+!-- Loop over all variables to be written.
+    if = 1
+
+    DO  WHILE ( do3d(av,if)(1:1) /= ' ' )
+!
+!--    Set the precision for data compression.
+       IF ( do3d_compress )  THEN
+          DO  i = 1, 100
+             IF ( plot_3d_precision(i)%variable == do3d(av,if) )  THEN
+                prec = plot_3d_precision(i)%precision
+                EXIT
+             ENDIF
+          ENDDO
+       ENDIF
+
+!
+!--    Store the array chosen on the temporary array.
+       resorted = .FALSE.
+       SELECT CASE ( TRIM( do3d(av,if) ) )
+
+          CASE ( 'e' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => e
+             ELSE
+                to_be_resorted => e_av
+             ENDIF
+
+          CASE ( 'p' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => p
+             ELSE
+                to_be_resorted => p_av
+             ENDIF
+
+          CASE ( 'pc' )  ! particle concentration (requires ghostpoint exchange)
+             IF ( av == 0 )  THEN
+                tend = prt_count
+                CALL exchange_horiz( tend )
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      DO  k = nzb, nz_do3d
+                         local_pf(i,j,k) = tend(k,j,i)
+                      ENDDO
+                   ENDDO
+                ENDDO
+                resorted = .TRUE.
+             ELSE
+                CALL exchange_horiz( pc_av )
+                to_be_resorted => pc_av
+             ENDIF
+
+          CASE ( 'pr' )  ! mean particle radius
+             IF ( av == 0 )  THEN
+                DO  i = nxl, nxr
+                   DO  j = nys, nyn
+                      DO  k = nzb, nzt+1
+                         psi = prt_start_index(k,j,i)
+                         s_r3 = 0.0
+                         s_r4 = 0.0
+                         DO  n = psi, psi+prt_count(k,j,i)-1
+                            s_r3 = s_r3 + particles(n)%radius**3
+                            s_r4 = s_r4 + particles(n)%radius**4
+                         ENDDO
+                         IF ( s_r3 /= 0.0 )  THEN
+                            mean_r = s_r4 / s_r3
+                         ELSE
+                            mean_r = 0.0
+                         ENDIF
+                         tend(k,j,i) = mean_r
+                      ENDDO
+                   ENDDO
+                ENDDO
+                CALL exchange_horiz( tend )
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      DO  k = nzb, nzt+1
+                         local_pf(i,j,k) = tend(k,j,i)
+                      ENDDO
+                   ENDDO
+                ENDDO
+                resorted = .TRUE.
+             ELSE
+                CALL exchange_horiz( pr_av )
+                to_be_resorted => pr_av
+             ENDIF
+
+          CASE ( 'pt' )
+             IF ( av == 0 )  THEN
+                IF ( .NOT. cloud_physics ) THEN
+                   to_be_resorted => pt
+                ELSE
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         DO  k = nzb, nz_do3d
+                            local_pf(i,j,k) = pt(k,j,i) + l_d_cp *    &
+                                                          pt_d_t(k) * &
+                                                          ql(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+                   resorted = .TRUE.
+                ENDIF
+             ELSE
+                to_be_resorted => pt_av
+             ENDIF
+
+          CASE ( 'q' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => q
+             ELSE
+                to_be_resorted => q_av
+             ENDIF
+             
+          CASE ( 'ql' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => ql
+             ELSE
+                to_be_resorted => ql_av
+             ENDIF
+
+          CASE ( 'ql_c' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => ql_c
+             ELSE
+                to_be_resorted => ql_c_av
+             ENDIF
+
+          CASE ( 'ql_v' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => ql_v
+             ELSE
+                to_be_resorted => ql_v_av
+             ENDIF
+
+          CASE ( 'ql_vp' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => ql_vp
+             ELSE
+                to_be_resorted => ql_vp_av
+             ENDIF
+
+          CASE ( 'qv' )
+             IF ( av == 0 )  THEN
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      DO  k = nzb, nz_do3d
+                         local_pf(i,j,k) = q(k,j,i) - ql(k,j,i)
+                      ENDDO
+                   ENDDO
+                ENDDO
+                resorted = .TRUE.
+             ELSE
+                to_be_resorted => qv_av
+             ENDIF
+
+          CASE ( 'rho' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => rho
+             ELSE
+                to_be_resorted => rho_av
+             ENDIF
+             
+          CASE ( 's' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => q
+             ELSE
+                to_be_resorted => s_av
+             ENDIF
+             
+          CASE ( 'sa' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => sa
+             ELSE
+                to_be_resorted => sa_av
+             ENDIF
+             
+          CASE ( 'u' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => u
+             ELSE
+                to_be_resorted => u_av
+             ENDIF
+
+          CASE ( 'v' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => v
+             ELSE
+                to_be_resorted => v_av
+             ENDIF
+
+          CASE ( 'vpt' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => vpt
+             ELSE
+                to_be_resorted => vpt_av
+             ENDIF
+
+          CASE ( 'w' )
+             IF ( av == 0 )  THEN
+                to_be_resorted => w
+             ELSE
+                to_be_resorted => w_av
+             ENDIF
+
+          CASE DEFAULT
+!
+!--          User defined quantity
+             CALL user_data_output_3d( av, do3d(av,if), found, local_pf, &
+                                       nz_do3d )
+             resorted = .TRUE.
+
+             IF ( .NOT. found )  THEN
+                message_string =  'no output available for: ' //   &
+                                  TRIM( do3d(av,if) )
+                CALL message( 'data_output_3d', 'PA0182', 0, 0, 0, 6, 0 )
+             ENDIF
+
+       END SELECT
+
+!
+!--    Resort the array to be output, if not done above
+       IF ( .NOT. resorted )  THEN
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                DO  k = nzb, nz_do3d
+                   local_pf(i,j,k) = to_be_resorted(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+
+!
+!--    Output of the volume data information for the AVS-FLD-file.
+       do3d_avs_n = do3d_avs_n + 1
+       IF ( myid == 0  .AND.  avs_output )  THEN
+!
+!--       AVS-labels must not contain any colons. Hence they must be removed
+!--       from the time character string.
+          simulated_time_mod = simulated_time_chr
+          DO  WHILE ( SCAN( simulated_time_mod, ':' ) /= 0 )
+             pos = SCAN( simulated_time_mod, ':' )
+             simulated_time_mod(pos:pos) = '/'
+          ENDDO
+
+          IF ( av == 0 )  THEN
+             WRITE ( 33, 3300 )  do3d_avs_n, TRIM( avs_data_file ), &
+                                 skip_do_avs, TRIM( do3d(av,if) ), &
+                                 TRIM( simulated_time_mod )
+          ELSE
+             WRITE ( 33, 3300 )  do3d_avs_n, TRIM( avs_data_file ), &
+                                 skip_do_avs, TRIM( do3d(av,if) ) // &
+                                 ' averaged', TRIM( simulated_time_mod )
+          ENDIF
+!
+!--       Determine the Skip-value for the next array. Record end and start 
+!--       require 4 byte each.
+          skip_do_avs = skip_do_avs + ( ((nx+2)*(ny+2)*(nz_do3d+1)) * 4 + 8 )
+       ENDIF
+
+!
+!--    Output of the 3D-array. (compressed/uncompressed)
+       IF ( do3d_compress )  THEN
+!
+!--       Compression, output of compression information on FLD-file and output
+!--       of compressed data.
+          CALL write_compressed( local_pf, 30, 33, myid, nxl, nxr, nyn, nys, &
+                                 nzb, nz_do3d, prec )
+       ELSE
+!
+!--       Uncompressed output.
+#if defined( __parallel )
+          IF ( netcdf_output  .AND.  myid == 0 )  THEN
+             WRITE ( 30 )  simulated_time, do3d_time_count(av), av
+          ENDIF
+          WRITE ( 30 )  nxl-1, nxr+1, nys-1, nyn+1, nzb, nz_do3d
+          WRITE ( 30 )  local_pf
+#else
+          IF ( avs_output )  THEN
+             WRITE ( 30 )  local_pf(nxl:nxr+1,nys:nyn+1,:)
+          ENDIF
+#if defined( __netcdf )
+          IF ( netcdf_output )  THEN
+             nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if),       &
+                                  local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d),  &
+                                  start = (/ 1, 1, 1, do3d_time_count(av) /), &
+                                  count = (/ nx+2, ny+2, nz_do3d-nzb+1, 1 /) )
+             CALL handle_netcdf_error( 'data_output_3d', 386 )
+          ENDIF
+#endif
+#endif
+       ENDIF
+
+       if = if + 1
+
+    ENDDO
+
+!
+!-- Deallocate temporary array.
+    DEALLOCATE( local_pf )
+
+
+    CALL cpu_log (log_point(14),'data_output_3d','stop','nobarrier')
+
+!
+!-- Formats.
+3300 FORMAT ('variable ',I4,'  file=',A,'  filetype=unformatted  skip=',I12/ &
+             'label = ',A,A)
+
+ END SUBROUTINE data_output_3d
Index: palm/tags/release-3.7/SOURCE/data_output_dvrp.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_dvrp.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_dvrp.f90	(revision 393)
@@ -0,0 +1,605 @@
+ MODULE dvrp_color
+
+    USE dvrp_variables
+
+    IMPLICIT NONE
+
+ CONTAINS
+
+    SUBROUTINE color_dvrp( value, color )
+
+       REAL, INTENT(IN)  ::  value
+       REAL, INTENT(OUT) ::  color(4)
+
+       REAL              ::  scale
+
+       scale = ( value - slicer_range_limits_dvrp(1,islice_dvrp) ) / &
+               ( slicer_range_limits_dvrp(2,islice_dvrp) -           &
+                 slicer_range_limits_dvrp(1,islice_dvrp) )
+
+       scale = MODULO( 180.0 + 180.0 * scale, 360.0 )
+
+       color = (/ scale, 0.5, 1.0, 0.0 /)
+
+    END SUBROUTINE color_dvrp
+
+ END MODULE dvrp_color
+
+
+ RECURSIVE SUBROUTINE data_output_dvrp
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 287 2009-04-09 08:59:36Z raasch
+! Clipping of dvr-output implemented, using a default colourtable for
+! particles,
+! output of messages replaced by message handling routine.
+!
+! 210 2008-11-06 08:54:02Z raasch
+! DVRP arguments changed to single precision, mode pathlines added
+!
+! 130 2007-11-13 14:08:40Z letzel
+! allow two instead of one digit to specify isosurface and slicer variables
+! for unknown variables (CASE DEFAULT) call new subroutine 
+! user_data_output_dvrp
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! routine local_flush is used for buffer flushing
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Particles-package is now part of the default code,
+! moisture renamed humidity
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.13  2006/02/23 10:25:12  raasch
+! Former routine plot_dvrp renamed data_output_dvrp,
+! Only a fraction of the particles may have a tail,
+! pl.. replaced by do.., %size renamed %dvrp_psize
+!
+! Revision 1.1  2000/04/27 06:27:17  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Plot of isosurface, particles and slicers with dvrp-software
+!------------------------------------------------------------------------------!
+#if defined( __dvrp_graphics )
+
+    USE arrays_3d
+    USE cloud_parameters
+    USE constants
+    USE control_parameters
+    USE cpulog
+    USE DVRP
+    USE dvrp_color
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2) ::  section_chr
+    CHARACTER (LEN=6) ::  output_variable
+    INTEGER ::  c_mode, c_size_x, c_size_y, c_size_z, dvrp_nop, dvrp_not,     &
+                gradient_normals, i, ip, j, jp, k, l, m, n, n_isosurface,     &
+                n_slicer, nn, section_mode, vn
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  p_c, p_t
+
+    LOGICAL, DIMENSION(:), ALLOCATABLE ::  dvrp_mask
+
+    REAL(4) ::  slicer_position, tmp_alpha, tmp_alpha_w, tmp_b, tmp_c_alpha, &
+                tmp_g, tmp_norm, tmp_pos, tmp_r, tmp_t, tmp_th
+    REAL(4), DIMENSION(:),     ALLOCATABLE   ::  psize, p_x, p_y, p_z
+    REAL(4), DIMENSION(:,:,:), ALLOCATABLE   ::  local_pf
+    REAL(4), DIMENSION(:,:,:,:), ALLOCATABLE ::  local_pfi
+
+
+    CALL cpu_log( log_point(27), 'data_output_dvrp', 'start' )
+
+!
+!-- Loop over all output modes choosed
+    m            = 1
+    n_isosurface = 0  ! isosurface counter (for threshold values and color)
+    n_slicer     = 0  ! slice plane counter (for range of values)
+    DO WHILE ( mode_dvrp(m) /= ' ' )
+!
+!--    Update of the steering variables
+       IF ( .NOT. lock_steering_update )  THEN
+!
+!--       Set lock to avoid recursive calls of DVRP_STEERING_UPDATE
+          lock_steering_update = .TRUE.
+!          CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp )
+          lock_steering_update = .FALSE.
+       ENDIF
+
+!
+!--    Determine the variable which shall be plotted (in case of slicers or
+!--    isosurfaces)
+       IF ( mode_dvrp(m)(1:10) == 'isosurface' )  THEN
+          READ ( mode_dvrp(m), '(10X,I2)' )  vn
+          output_variable = do3d(0,vn)
+          n_isosurface = n_isosurface + 1
+       ELSEIF ( mode_dvrp(m)(1:6) == 'slicer' )  THEN
+          READ ( mode_dvrp(m), '(6X,I2)' )  vn
+          output_variable = do2d(0,vn)
+          l = MAX( 2, LEN_TRIM( do2d(0,vn) ) )
+          section_chr = do2d(0,vn)(l-1:l)
+          SELECT CASE ( section_chr )
+             CASE ( 'xy' )
+                section_mode = 2
+                slicer_position = zu(MIN( slicer_position_dvrp(m), nz_do3d ))
+             CASE ( 'xz' )
+                section_mode = 1
+                slicer_position = slicer_position_dvrp(m) * dy
+             CASE ( 'yz' )
+                section_mode = 0
+                slicer_position = slicer_position_dvrp(m) * dx
+          END SELECT
+       ENDIF
+
+!
+!--    Select the plot mode (in case of isosurface or slicer only if user has
+!--    defined a variable which shall be plotted; otherwise do nothing)
+       IF ( mode_dvrp(m)(1:9) == 'particles'  .AND.  particle_advection  .AND. &
+            simulated_time >= particle_advection_start )  THEN
+!
+!--       DVRP-Calls for plotting particles:
+          CALL cpu_log( log_point_s(28), 'dvrp_particles', 'start' )
+
+!
+!--       Definition of characteristics of particle material
+!          tmp_r = 0.1;  tmp_g = 0.7;  tmp_b = 0.1;  tmp_t = 0.0
+          tmp_r = 0.0;  tmp_g = 0.0;  tmp_b = 0.0;  tmp_t = 0.0
+          CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+!
+!--       If clipping is active and if this subdomain is clipped, find out the
+!--       number of particles and tails to be plotted; otherwise, all
+!--       particles/tails are plotted. dvrp_mask is used to mark the partikles.
+          ALLOCATE( dvrp_mask(number_of_particles) )
+
+          IF ( dvrp_total_overlap )  THEN
+             dvrp_mask = .TRUE.
+             dvrp_nop  = number_of_particles
+             dvrp_not  = number_of_tails
+          ELSE
+             dvrp_mask = .FALSE.
+             dvrp_nop  = 0
+             dvrp_not  = 0
+             IF ( dvrp_overlap )  THEN
+                IF ( .NOT. use_particle_tails )  THEN
+                   DO  n = 1, number_of_particles
+                      ip = particles(n)%x / dx
+                      jp = particles(n)%y / dy
+                      IF ( ip >= nxl_dvrp  .AND.  ip <= nxr_dvrp  .AND.  &
+                           jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
+                         dvrp_nop = dvrp_nop + 1
+                         dvrp_mask(n) = .TRUE.
+                      ENDIF
+                   ENDDO
+                ELSE
+                   k = 0
+                   DO  n = 1, number_of_particles
+                      IF ( particles(n)%tail_id /= 0 )  THEN
+                         k = k + 1
+                         ip = particles(n)%x / dx
+                         jp = particles(n)%y / dy
+                         IF ( ip >= nxl_dvrp  .AND.  ip <= nxr_dvrp  .AND.  &
+                              jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
+                            dvrp_not = dvrp_not + 1
+                            dvrp_mask(n) = .TRUE.
+                         ENDIF
+                      ENDIF
+                   ENDDO
+                ENDIF
+             ENDIF
+          ENDIF
+
+!
+!--       Move particle coordinates to one-dimensional arrays
+          IF ( .NOT. use_particle_tails )  THEN
+!
+!--          All particles are output
+             ALLOCATE( psize(dvrp_nop), p_t(dvrp_nop), p_c(dvrp_nop), &
+                       p_x(dvrp_nop), p_y(dvrp_nop), p_z(dvrp_nop) )
+             psize = 0.0;  p_t = 0;  p_c = 0.0;  p_x = 0.0;  p_y = 0.0
+             p_z   = 0.0
+             k = 0
+             DO  n = 1, number_of_particles
+                IF ( dvrp_mask(n) )  THEN
+                   k = k + 1
+                   psize(k) = particles(n)%dvrp_psize
+                   p_x(k)   = particles(n)%x * superelevation_x
+                   p_y(k)   = particles(n)%y * superelevation_y
+                   p_z(k)   = particles(n)%z * superelevation
+                   p_c(k)   = particles(n)%color
+                ENDIF
+             ENDDO
+          ELSE
+!
+!--          Particles have a tail
+             ALLOCATE( psize(dvrp_not), p_t(dvrp_not),             &
+                       p_c(dvrp_not*maximum_number_of_tailpoints), &
+                       p_x(dvrp_not*maximum_number_of_tailpoints), &
+                       p_y(dvrp_not*maximum_number_of_tailpoints), &
+                       p_z(dvrp_not*maximum_number_of_tailpoints) )
+             psize = 0.0;  p_t = 0;  p_c = 0.0;  p_x = 0.0;  p_y = 0.0
+             p_z   = 0.0;
+             i = 0
+             k = 0
+
+             DO  n = 1, number_of_particles
+                nn = particles(n)%tail_id
+                IF ( nn /= 0  .AND.  dvrp_mask(n) )  THEN
+                   k = k + 1
+                   DO  j = 1, particles(n)%tailpoints
+                      i = i + 1
+                      p_x(i) = particle_tail_coordinates(j,1,nn) * &
+                                                                superelevation_x
+                      p_y(i) = particle_tail_coordinates(j,2,nn) * &
+                                                                superelevation_y
+                      p_z(i) = particle_tail_coordinates(j,3,nn) * &
+                                                                superelevation
+                      p_c(i) = particle_tail_coordinates(j,4,nn)
+                   ENDDO
+                   psize(k) = particles(n)%dvrp_psize
+                   p_t(k)   = particles(n)%tailpoints - 1
+                ENDIF                
+             ENDDO
+          ENDIF
+
+!
+!--       Compute and plot particles in dvr-format
+          IF ( uniform_particles  .AND.  .NOT. use_particle_tails )  THEN
+!
+!--          All particles have the same color. Use simple routine to set
+!--          the particle attributes (produces less output data)
+             CALL DVRP_PARTICLES( m-1, p_x, p_y, p_z, psize )
+          ELSE
+!
+!--          Set color definitions
+             CALL user_dvrp_coltab( 'particles', 'none' )
+
+             CALL DVRP_COLORTABLE_HLS( m-1, 0, interval_values_dvrp_prt, &
+                                       interval_h_dvrp_prt,              &
+                                       interval_l_dvrp_prt,              &
+                                       interval_s_dvrp_prt,              &
+                                       interval_a_dvrp_prt )
+
+             IF ( .NOT. use_particle_tails )  THEN
+                CALL DVRP_PARTICLES( m-1, dvrp_nop, p_x, p_y, p_z, 3, psize, &
+                                     p_c, p_t )
+             ELSE
+                CALL DVRP_PARTICLES( m-1, dvrp_not, p_x, p_y, p_z, 15, psize, &
+                                     p_c, p_t )
+             ENDIF
+          ENDIF
+
+          CALL DVRP_VISUALIZE( m-1, 3, dvrp_filecount )
+
+          DEALLOCATE( dvrp_mask, psize, p_c, p_t, p_x, p_y, p_z )
+
+          CALL cpu_log( log_point_s(28), 'dvrp_particles', 'stop' )
+
+
+       ELSEIF ( ( mode_dvrp(m)(1:10) == 'isosurface'  .OR.   &
+                  mode_dvrp(m)(1:6)  == 'slicer'           ) &
+                  .AND.  output_variable /= ' ' )  THEN
+
+!
+!--       Create an intermediate array, properly dimensioned for plot-output 
+          ALLOCATE( local_pf(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1, &
+                             nzb:nz_do3d) )
+
+!
+!--       Move original array to intermediate array
+          IF ( dvrp_overlap )  THEN
+
+             SELECT CASE ( output_variable )
+
+                CASE ( 'u', 'u_xy', 'u_xz', 'u_yz' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         DO  k = nzb, nz_do3d
+                            local_pf(i,j,k) = u(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+!
+!--                Replace mirrored values at lower surface by real surface
+!--                values
+                   IF ( output_variable == 'u_xz'  .OR. &
+                        output_variable == 'u_yz' )  THEN
+                      IF ( ibc_uv_b == 0 )  local_pf(:,:,nzb) = 0.0
+                   ENDIF
+
+
+                CASE ( 'v', 'v_xy', 'v_xz', 'v_yz' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         DO  k = nzb, nz_do3d
+                            local_pf(i,j,k) = v(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+!
+!--                Replace mirrored values at lower surface by real surface
+!--                values
+                   IF ( output_variable == 'v_xz'  .OR. &
+                        output_variable == 'v_yz' )  THEN
+                      IF ( ibc_uv_b == 0 )  local_pf(:,:,nzb) = 0.0
+                   ENDIF
+
+                CASE ( 'w', 'w_xy', 'w_xz', 'w_yz' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         DO  k = nzb, nz_do3d
+                            local_pf(i,j,k) = w(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+! Averaging for Langmuir circulation
+!                   DO  k = nzb, nz_do3d
+!                      DO  j = nys_dvrp+1, nyn_dvrp
+!                         DO  i = nxl_dvrp, nxr_dvrp+1
+!                            local_pf(i,j,k) = 0.25 * local_pf(i,j-1,k) + &
+!                                              0.50 * local_pf(i,j,k)   + &
+!                                              0.25 * local_pf(i,j+1,k)
+!                         ENDDO
+!                      ENDDO
+!                   ENDDO
+
+                CASE ( 'p', 'p_xy', 'p_xz', 'p_yz' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         DO  k = nzb, nz_do3d
+                            local_pf(i,j,k) = p(k,j,i)
+                         ENDDO
+                      ENDDO
+                   ENDDO
+
+                CASE ( 'pt', 'pt_xy', 'pt_xz', 'pt_yz' )
+                   IF ( .NOT. cloud_physics ) THEN
+                      DO  i = nxl_dvrp, nxr_dvrp+1
+                         DO  j = nys_dvrp, nyn_dvrp+1
+                            DO  k = nzb, nz_do3d
+                               local_pf(i,j,k) = pt(k,j,i)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+                   ELSE
+                      DO  i = nxl_dvrp, nxr_dvrp+1
+                         DO  j = nys_dvrp, nyn_dvrp+1
+                            DO  k = nzb, nz_do3d
+                               local_pf(i,j,k) = pt(k,j,i) + l_d_cp * &
+                                                 pt_d_t(k) * ql(k,j,i)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+                   ENDIF
+
+                CASE ( 'q', 'q_xy', 'q_xz', 'q_yz' )
+                   IF ( humidity  .OR.  passive_scalar )  THEN
+                      DO  i = nxl_dvrp, nxr_dvrp+1
+                         DO  j = nys_dvrp, nyn_dvrp+1
+                            DO  k = nzb, nz_do3d
+                               local_pf(i,j,k) = q(k,j,i)
+                            ENDDO
+                         ENDDO
+                      ENDDO            
+                   ELSE                    
+                      message_string = 'if humidity/passive_scalar = '    // & 
+                            'FALSE output of ' // TRIM( output_variable ) // &
+                            'is not provided' 
+                      CALL message( 'data_output_dvrp', 'PA0183',&
+                                                                 0, 0, 0, 6, 0 )
+                   ENDIF
+             
+                CASE ( 'ql', 'ql_xy', 'ql_xz', 'ql_yz' )
+                   IF ( cloud_physics  .OR.  cloud_droplets )  THEN
+                      DO  i = nxl_dvrp, nxr_dvrp+1
+                         DO  j = nys_dvrp, nyn_dvrp+1
+                            DO  k = nzb, nz_do3d
+                               local_pf(i,j,k) = ql(k,j,i)
+                            ENDDO
+                         ENDDO
+                      ENDDO
+                   ELSE                     
+                      message_string = 'if cloud_physics = FALSE '       // & 
+                                  'output of ' // TRIM( output_variable) // &
+                                  'is not provided' 
+                      CALL message( 'data_output_dvrp', 'PA0184',&
+                                                                 0, 0, 0, 6, 0 )
+                   ENDIF
+
+                CASE ( 'u*_xy' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         local_pf(i,j,nzb+1) = us(j,i)
+                      ENDDO
+                   ENDDO
+                   slicer_position = zu(nzb+1)
+
+                CASE ( 't*_xy' )
+                   DO  i = nxl_dvrp, nxr_dvrp+1
+                      DO  j = nys_dvrp, nyn_dvrp+1
+                         local_pf(i,j,nzb+1) = ts(j,i)
+                      ENDDO
+                   ENDDO
+                   slicer_position = zu(nzb+1)
+
+
+                CASE DEFAULT
+!
+!--                The DEFAULT case is reached either if output_variable
+!--                contains unsupported variable or if the user has coded a
+!--                special case in the user interface. There, the subroutine
+!--                user_data_output_dvrp checks which of these two conditions
+!--                applies.
+                   CALL user_data_output_dvrp( output_variable, local_pf )
+
+
+             END SELECT
+
+          ELSE
+!
+!--          No overlap of clipping domain with the current subdomain
+             DO  i = nxl_dvrp, nxr_dvrp+1
+                DO  j = nys_dvrp, nyn_dvrp+1
+                   DO  k = nzb, nz_do3d
+                      local_pf(i,j,k) = 0.0
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          ENDIF
+
+          IF ( mode_dvrp(m)(1:10) == 'isosurface' )  THEN
+
+!
+!--          DVRP-Calls for plotting isosurfaces:
+             CALL cpu_log( log_point_s(26), 'dvrp_isosurface', 'start' )
+
+!
+!--          Definition of isosurface color
+             tmp_r = isosurface_color(1,n_isosurface)
+             tmp_g = isosurface_color(2,n_isosurface)
+             tmp_b = isosurface_color(3,n_isosurface)
+             tmp_t = 0.0
+             CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+!
+!--          Compute and plot isosurface in dvr-format
+             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
+                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
+
+             c_size_x = vc_size_x;  c_size_y = vc_size_y;  c_size_z = vc_size_z
+             CALL DVRP_CLUSTER_SIZE( m-1, c_size_x, c_size_y, c_size_z )
+
+             c_mode   = vc_mode 
+             CALL DVRP_CLUSTERING_MODE( m-1, c_mode )
+
+             gradient_normals = vc_gradient_normals
+             CALL DVRP_GRADIENTNORMALS( m-1, gradient_normals )
+
+!
+!--          A seperate procedure for setting vc_alpha will be in the next
+!--          version of libDVRP
+             tmp_c_alpha = vc_alpha 
+             CALL DVRP_THRESHOLD( -(m-1)-1, tmp_c_alpha )
+
+             IF ( dvrp_overlap )  THEN
+                tmp_th = threshold(n_isosurface)
+             ELSE
+                tmp_th = 1.0   ! nothing is plotted because array values are 0
+             ENDIF
+
+             CALL DVRP_THRESHOLD( m-1, tmp_th )
+
+             CALL DVRP_VISUALIZE( m-1, 21, dvrp_filecount )
+
+             CALL cpu_log( log_point_s(26), 'dvrp_isosurface', 'stop' )
+
+          ELSEIF ( mode_dvrp(m)(1:6) == 'slicer' )  THEN
+
+!
+!--          DVRP-Calls for plotting slicers:
+             CALL cpu_log( log_point_s(27), 'dvrp_slicer', 'start' )
+
+!
+!--          Material and color definitions
+             tmp_r = 0.0;  tmp_g = 0.0;  tmp_b = 0.0;  tmp_t = 0.0
+             CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+             n_slicer = n_slicer + 1
+
+!
+!--           Using dolorfunction has not been properly tested
+!             islice_dvrp = n_slicer
+!             CALL DVRP_COLORFUNCTION( m-1, DVRP_CM_HLS, 25,                 &
+!                                      slicer_range_limits_dvrp(:,n_slicer), &
+!                                      color_dvrp )
+
+!
+!--          Set interval of values defining the colortable
+             CALL set_slicer_attributes_dvrp( n_slicer )
+
+!
+!--          Create user-defined colortable
+             CALL user_dvrp_coltab( 'slicer', output_variable )
+
+             CALL DVRP_COLORTABLE_HLS( m-1, 1, interval_values_dvrp,     &
+                                       interval_h_dvrp, interval_l_dvrp, &
+                                       interval_s_dvrp, interval_a_dvrp )
+
+!
+!--          Compute and plot slicer in dvr-format
+             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
+                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
+             tmp_pos = slicer_position
+             CALL DVRP_SLICER( m-1, section_mode, tmp_pos )
+
+             CALL DVRP_VISUALIZE( m-1, 2, dvrp_filecount )
+
+             CALL cpu_log( log_point_s(27), 'dvrp_slicer', 'stop' )
+
+          ENDIF
+
+          DEALLOCATE( local_pf )
+
+       ELSEIF ( mode_dvrp(m)(1:9) == 'pathlines' ) THEN
+
+          ALLOCATE( local_pfi(4,nxl:nxr+1,nys:nyn+1,nzb:nz_do3d) )
+          DO  i = nxl, nxr+1
+             DO  j = nys, nyn+1
+                DO  k = nzb, nz_do3d
+                   local_pfi(1,i,j,k) = u(k,j,i)
+                   local_pfi(2,i,j,k) = v(k,j,i)
+                   local_pfi(3,i,j,k) = w(k,j,i)
+                   tmp_norm           = SQRT( u(k,j,i) * u(k,j,i) + &
+                                              v(k,j,i) * v(k,j,i) + &
+                                              w(k,j,i) * w(k,j,i) )
+                   tmp_alpha          = ACOS( 0.0 * u(k,j,i) / tmp_norm + &
+                                              0.0 * v(k,j,i) / tmp_norm - &
+                                              1.0 * w(k,j,i) / tmp_norm )
+                   tmp_alpha_w        = tmp_alpha / pi * 180.0
+                   local_pfi(4,i,j,k) = tmp_alpha_w
+                ENDDO
+             ENDDO
+          ENDDO
+
+          CALL cpu_log( log_point_s(31), 'dvrp_pathlines', 'start' )
+
+          CALL DVRP_DATA( m-1, local_pfi, 4, nx_dvrp, ny_dvrp, nz_dvrp, &
+                          cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
+          CALL DVRP_VISUALIZE( m-1, 20, dvrp_filecount )
+
+          CALL cpu_log( log_point_s(31), 'dvrp_pathlines', 'stop' )
+
+          DEALLOCATE( local_pfi )
+
+       ENDIF
+
+       m = m + 1
+
+    ENDDO
+
+    dvrp_filecount = dvrp_filecount + 1
+
+    CALL cpu_log( log_point(27), 'data_output_dvrp', 'stop' )
+
+#endif
+ END SUBROUTINE data_output_dvrp
Index: palm/tags/release-3.7/SOURCE/data_output_profiles.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_profiles.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_profiles.f90	(revision 393)
@@ -0,0 +1,614 @@
+ SUBROUTINE data_output_profiles
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 345 2009-07-01 14:37:56Z heinze
+! In case of restart runs without extension, initial profiles are not written 
+! to NetCDF-file anymore.
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine.
+!
+! 197 2008-09-16 15:29:03Z raasch
+! Time coordinate t=0 stored on netcdf-file only if an output is required for
+! this time for at least one of the profiles
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! 87 2007-05-22 15:46:47Z raasch
+! var_hom renamed pr_palm
+!
+! Revision 1.18  2006/08/16 14:27:04  raasch
+! PRINT* statements for testing removed
+!
+! Revision 1.1  1997/09/12 06:28:48  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Plot output of 1D-profiles for PROFIL
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+
+    INTEGER ::  i, id, ilc, ils, j, k, sr
+    REAL    ::  uxma, uxmi
+
+
+!
+!-- If required, compute statistics
+    IF ( .NOT. flow_statistics_called )  CALL flow_statistics
+
+!
+!-- Flow_statistics has its own CPU time measurement
+    CALL cpu_log( log_point(15), 'data_output_profiles', 'start' )
+
+!
+!-- If required, compute temporal average
+    IF ( averaging_interval_pr == 0.0 )  THEN
+       hom_sum(:,:,:) = hom(:,1,:,:)
+    ELSE
+       IF ( average_count_pr > 0 )  THEN
+          hom_sum = hom_sum / REAL( average_count_pr )
+       ELSE
+!
+!--       This case may happen if dt_dopr is changed in the d3par-list of
+!--       a restart run
+          RETURN
+       ENDIF
+    ENDIF
+
+    
+    IF ( myid == 0 )  THEN
+
+!
+!--    Plot-output for each (sub-)region
+
+!
+!--    Open file for profile output in NetCDF format
+       IF ( netcdf_output )  THEN
+          CALL check_open( 104 )
+       ENDIF
+
+!
+!--    Open PROFIL-output files for each (sub-)region
+       IF ( profil_output )  THEN
+          DO  sr = 0, statistic_regions
+             CALL check_open( 40 + sr )
+          ENDDO
+       ENDIF
+
+!
+!--    Increment the counter for number of output times
+       dopr_time_count = dopr_time_count + 1
+
+!
+!--    Re-set to zero the counter for the number of profiles already written
+!--    at the current output time into the respective crosses
+       cross_pnc_local = 0
+
+!
+!--    Output of initial profiles
+       IF ( dopr_time_count == 1 )  THEN
+        
+          IF ( .NOT. output_for_t0 ) THEN 
+
+             IF ( netcdf_output )  THEN
+#if defined( __netcdf )          
+!
+!--             Store initial time (t=0) to time axis, but only if an output
+!--             is required for at least one of the profiles
+                DO  i = 1, dopr_n
+                IF ( dopr_initial_index(i) /= 0 )  THEN
+                   nc_stat = NF90_PUT_VAR( id_set_pr, id_var_time_pr,  &
+                                              (/ 0.0 /), start = (/ 1 /), &
+                                              count = (/ 1 /) )
+                      CALL handle_netcdf_error( 'data_output_profiles', 329 )
+                      output_for_t0 = .TRUE.
+                      EXIT
+                   ENDIF
+                ENDDO
+
+!
+!--             Store normalization factors
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(1), & ! wpt0
+                                     (/ hom_sum(nzb,18,normalizing_region) /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 330 )
+
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(2), & ! ws2
+                           (/ hom_sum(nzb+8,pr_palm,normalizing_region)**2 /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 331 )
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(3), & ! tsw2
+                           (/ hom_sum(nzb+3,pr_palm,normalizing_region)**2 /), &
+                                     start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 332 )
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(4), & ! ws3
+                           (/ hom_sum(nzb+8,pr_palm,normalizing_region)**3 /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 333 )
+
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(5), &!ws2tsw
+                           (/ hom_sum(nzb+8,pr_palm,normalizing_region)**3 *   &
+                              hom_sum(nzb+3,pr_palm,normalizing_region)    /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 334 )
+
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(6), &!wstsw2
+                           (/ hom_sum(nzb+8,pr_palm,normalizing_region) *      &
+                              hom_sum(nzb+3,pr_palm,normalizing_region)**2 /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 335 )
+
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(7), & ! z_i
+                              (/ hom_sum(nzb+6,pr_palm,normalizing_region) /), &
+                                        start = (/ 1 /), count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 336 )
+             
+#endif
+             ENDIF
+!
+!--          Loop over all 1D variables
+             DO  i = 1, dopr_n
+
+                IF ( dopr_initial_index(i) /= 0 )  THEN
+
+!
+!--                Output for the individual (sub-)regions
+                   DO  sr = 0, statistic_regions
+
+                      IF ( profil_output )  THEN
+                         id = 40 + sr
+!
+!--                      Write Label-Header
+                         WRITE ( id, 100 )  TRIM( data_output_pr(i) ), '(t=0)'
+!
+!--                      Write total profile
+                         DO  k = nzb, nzt+1
+                            WRITE ( id, 101 )  hom(k,2,dopr_initial_index(i),sr), &
+                                               hom(k,1,dopr_initial_index(i),sr)
+                         ENDDO
+!
+!--                      Write separation label
+                         WRITE ( id, 102 )
+                      ENDIF
+
+                      IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+!
+!--                      Write data to netcdf file
+                         nc_stat = NF90_PUT_VAR( id_set_pr, id_var_dopr(i,sr),    &
+                                       hom(nzb:nzt+1,1,dopr_initial_index(i),sr), &
+                                                 start = (/ 1, 1 /),              &
+                                                 count = (/ nzt-nzb+2, 1 /) )
+                         CALL handle_netcdf_error( 'data_output_profiles', 337 )
+#endif
+                      ENDIF
+
+                   ENDDO
+
+                   IF ( profil_output )  THEN
+!
+!--                   Determine indices for later NAMELIST-output (s. below)
+                      profile_number = profile_number + 1
+                      j = dopr_crossindex(i)
+                      IF ( j /= 0 )  THEN
+                         cross_profile_number_count(j) = &
+                                                  cross_profile_number_count(j) + 1
+                         k = cross_profile_number_count(j)
+                         cross_profile_numbers(k,j) = profile_number
+!
+!--                      Initial profiles are always drawn as solid lines in 
+!--                      anti-background colour.
+                         cross_linecolors(k,j) = 1
+                         cross_linestyles(k,j) = 0
+!
+!--                      If required, extend x-value range of the respective
+!--                      cross, provided it has not been specified in &
+!--                      check_parameters. Determination over all (sub-)regions.
+                         IF ( cross_uxmin(j) == 0.0  .AND. &
+                              cross_uxmax(j) == 0.0 )  THEN
+
+                            DO  sr = 0, statistic_regions
+
+                               uxmi = &
+                               MINVAL( hom(:nz_do1d,1,dopr_initial_index(i),sr) )
+ 
+                               uxma = &
+                               MAXVAL( hom(:nz_do1d,1,dopr_initial_index(i),sr) )
+! 
+!--                            When the value range of the first line in the
+!--                            corresponding cross is determined, its value range
+!--                            is simply adopted.
+                               IF ( cross_uxmin_computed(j) > &
+                                    cross_uxmax_computed(j) )  THEN
+                                  cross_uxmin_computed(j) = uxmi
+                                  cross_uxmax_computed(j) = uxma
+                               ELSE
+                                  cross_uxmin_computed(j) = &
+                                               MIN( cross_uxmin_computed(j), uxmi )
+                                  cross_uxmax_computed(j) = &
+                                               MAX( cross_uxmax_computed(j), uxma )
+                               ENDIF
+
+                            ENDDO
+
+                         ENDIF
+!
+!--                      If required, determine and note normalizing factors
+                         SELECT CASE ( cross_normalized_x(j) )
+   
+                             CASE ( 'ts2' )
+                               cross_normx_factor(k,j) = &
+                                ( hom_sum(nzb+3,pr_palm,normalizing_region) )**2
+                            CASE ( 'wpt0' )
+                               cross_normx_factor(k,j) = &
+                                hom_sum(nzb,18,normalizing_region)
+                            CASE ( 'wsts2' )
+                               cross_normx_factor(k,j) = &
+                                hom_sum(nzb+8,pr_palm,normalizing_region)  &
+                              * ( hom_sum(nzb+3,pr_palm,normalizing_region) )**2
+                            CASE ( 'ws2' )
+                               cross_normx_factor(k,j) = &
+                                ( hom_sum(nzb+8,pr_palm,normalizing_region) )**2
+                            CASE ( 'ws2ts' )
+                               cross_normx_factor(k,j) = &
+                              ( hom_sum(nzb+8,pr_palm,normalizing_region) )**2 &
+                              * hom_sum(nzb+3,pr_palm,normalizing_region)
+                             CASE ( 'ws3' )
+                               cross_normx_factor(k,j) = &
+                                ( hom_sum(nzb+8,pr_palm,normalizing_region) )**3
+
+                         END SELECT
+
+                         SELECT CASE ( cross_normalized_y(j) )
+  
+                            CASE ( 'z_i' )
+                                cross_normy_factor(k,j) = &
+                                        hom_sum(nzb+6,pr_palm,normalizing_region)
+
+                         END SELECT
+
+!
+!--                      Check the normalizing factors for zeros and deactivate
+!--                      the normalization, if required.
+                         IF ( cross_normx_factor(k,j) == 0.0  .OR. &
+                              cross_normy_factor(k,j) == 0.0 )  THEN
+                            WRITE( message_string, * ) 'data_output_profiles: ',  &
+                                'normalizing cross ',j, ' is not possible ',     &
+                                'since one of the & normalizing factors ',       &
+                                 'is zero! & cross_normx_factor(',k,',',j,') = ', &
+                                                         cross_normx_factor(k,j), &
+                                 ' & cross_normy_factor(',k,',',j,') = ',         &
+                                                         cross_normy_factor(k,j)
+                            CALL message( 'data_output_profiles', 'PA0185',&
+                                                                    0, 1, 0, 6, 0 )
+                            cross_normx_factor(k,j) = 1.0
+                            cross_normy_factor(k,j) = 1.0
+                            cross_normalized_x(j) = ' '
+                            cross_normalized_y(j) = ' '
+                         ENDIF
+
+!
+!--                      If required, extend normalized x-value range of the
+!--                      respective cross, provided it has not been specified in
+!--                      check_parameters. Determination over all (sub-)regions.
+                         IF ( cross_uxmin_normalized(j) == 0.0  .AND. &
+                              cross_uxmax_normalized(j) == 0.0 )  THEN
+
+                            DO  sr = 0, statistic_regions
+
+                               uxmi = MINVAL( hom(:nz_do1d,1,             &
+                                              dopr_initial_index(i),sr) ) / &
+                                      cross_normx_factor(k,j)
+                               uxma = MAXVAL( hom(:nz_do1d,1,             &
+                                              dopr_initial_index(i),sr) ) / &
+                                       cross_normx_factor(k,j)
+!
+!--                            When the value range of the first line in the
+!--                            corresponding cross is determined, its value range
+!--                            is simply adopted.
+                               IF ( cross_uxmin_normalized_computed(j) > &
+                                    cross_uxmax_normalized_computed(j) )  THEN
+                                  cross_uxmin_normalized_computed(j) = uxmi
+                                  cross_uxmax_normalized_computed(j) = uxma
+                               ELSE
+                                  cross_uxmin_normalized_computed(j) = &
+                                    MIN( cross_uxmin_normalized_computed(j), uxmi )
+                                  cross_uxmax_normalized_computed(j) = &
+                                    MAX( cross_uxmax_normalized_computed(j), uxma )
+                               ENDIF
+
+                            ENDDO
+
+                         ENDIF
+
+                      ENDIF   ! Index determination
+
+                   ENDIF   ! profil output
+
+                ENDIF   ! Initial profile available
+
+             ENDDO   ! Loop over dopr_n for initial profiles
+
+             IF ( netcdf_output  .AND.  output_for_t0 )  THEN
+                dopr_time_count = dopr_time_count + 1
+             ENDIF
+
+          END IF
+       ENDIF   ! Initial profiles
+
+       IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+
+!
+!--       Store time to time axis          
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_time_pr,        &
+                                  (/ time_since_reference_point /), &
+                                  start = (/ dopr_time_count /),    &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 338 )
+
+!
+!--       Store normalization factors
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(1), &  ! wpt0
+                                  (/ hom_sum(nzb,18,normalizing_region) /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 339 )
+
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(2), &  ! ws2
+                        (/ hom_sum(nzb+8,pr_palm,normalizing_region)**2 /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 340 )
+
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(3), &  ! tsw2
+                        (/ hom_sum(nzb+3,pr_palm,normalizing_region)**2 /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 341 )
+
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(4), &  ! ws3
+                        (/ hom_sum(nzb+8,pr_palm,normalizing_region)**3 /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 342 )
+
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(5), &  ! ws2tsw
+                        (/ hom_sum(nzb+8,pr_palm,normalizing_region)**3 *   &
+                           hom_sum(nzb+3,pr_palm,normalizing_region)    /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 343 )
+         
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(6), &  ! wstsw2
+                        (/ hom_sum(nzb+8,pr_palm,normalizing_region) *      &
+                           hom_sum(nzb+3,pr_palm,normalizing_region)**2 /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 344 )
+
+          nc_stat = NF90_PUT_VAR( id_set_pr, id_var_norm_dopr(7), &  ! z_i
+                           (/ hom_sum(nzb+6,pr_palm,normalizing_region) /), &
+                                  start = (/ dopr_time_count /),               &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_profiles', 345 )
+#endif
+       ENDIF
+
+!
+!--    Output of the individual (non-initial) profiles
+       DO  i = 1, dopr_n
+
+!
+!--       Output for the individual (sub-)domains
+          DO  sr = 0, statistic_regions
+
+             IF ( profil_output )  THEN
+                id = 40 + sr
+!
+!--             Write Label-Header
+                WRITE ( id, 100 )  TRIM( dopr_label(i) ), simulated_time_chr
+!
+!--             Output of total profile
+                DO  k = nzb, nzt+1
+                   WRITE ( id, 101 )  hom(k,2,dopr_index(i),sr), &
+                                      hom_sum(k,dopr_index(i),sr)
+                ENDDO
+!
+!--             Write separation label
+                WRITE ( id, 102 )
+             ENDIF
+
+             IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+!
+!--             Write data to netcdf file
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_dopr(i,sr),          &
+                                        hom_sum(nzb:nzt+1,dopr_index(i),sr),&
+                                        start = (/ 1, dopr_time_count /),      &
+                                        count = (/ nzt-nzb+2, 1 /) )
+                CALL handle_netcdf_error( 'data_output_profiles', 346 )
+#endif
+             ENDIF
+
+          ENDDO
+
+          IF ( profil_output )  THEN
+!
+!--          Determine profile number on file and note the data for later
+!--          NAMELIST output, if the respective profile is to be drawn by
+!--          PROFIL (if it shall not be drawn, the variable dopr_crossindex has
+!--          the value 0, otherwise the number of the coordinate cross)
+             profile_number = profile_number + 1
+             j = dopr_crossindex(i)
+
+             IF ( j /= 0 )  THEN
+                cross_profile_number_count(j) = cross_profile_number_count(j) +1
+                k = cross_profile_number_count(j)
+                cross_pnc_local(j)            = cross_pnc_local(j)            +1
+                cross_profile_numbers(k,j) = profile_number
+                ilc = MOD( dopr_time_count, 10 )
+                IF ( ilc == 0 )  ilc = 10
+                cross_linecolors(k,j) = linecolors(ilc)
+                ils = MOD( cross_pnc_local(j), 11 )
+                IF ( ils == 0 )  ils = 11
+                cross_linestyles(k,j) = linestyles(ils)
+!
+!--             If required, extend x-value range of the respective coordinate 
+!--             cross, provided it has not been specified in check_parameters.
+!--             Determination over all (sub-)regions.
+                IF ( cross_uxmin(j) == 0.0  .AND.  cross_uxmax(j) == 0.0 )  THEN
+
+                   DO  sr = 0, statistic_regions
+
+                      uxmi = MINVAL( hom_sum(:nz_do1d,dopr_index(i),sr) )
+                      uxma = MAXVAL( hom_sum(:nz_do1d,dopr_index(i),sr) )
+!
+!--                   When the value range of the first line in the
+!--                   corresponding cross is determined, its value range is
+!--                   simply adopted.
+                      IF ( cross_uxmin_computed(j) > cross_uxmax_computed(j) ) &
+                      THEN
+                         cross_uxmin_computed(j) = uxmi
+                         cross_uxmax_computed(j) = uxma
+                      ELSE
+                         cross_uxmin_computed(j) = &
+                                           MIN( cross_uxmin_computed(j), uxmi )
+                         cross_uxmax_computed(j) = &
+                                           MAX( cross_uxmax_computed(j), uxma )
+                      ENDIF
+
+                   ENDDO
+
+                ENDIF
+!
+!--             If required, store the normalizing factors
+                SELECT CASE ( cross_normalized_x(j) )
+
+                   CASE ( 'tsw2' )
+                      cross_normx_factor(k,j) = &
+                            ( hom_sum(nzb+11,pr_palm,normalizing_region) )**2
+                   CASE ( 'wpt0' )
+                      cross_normx_factor(k,j) = &
+                              hom_sum(nzb,18,normalizing_region)
+                   CASE ( 'wstsw2' )
+                      cross_normx_factor(k,j) = &
+                              hom_sum(nzb+8,pr_palm,normalizing_region)  &
+                          * ( hom_sum(nzb+11,pr_palm,normalizing_region) )**2
+                   CASE ( 'ws2' )
+                      cross_normx_factor(k,j) = &
+                            ( hom_sum(nzb+8,pr_palm,normalizing_region) )**2
+                   CASE ( 'ws2tsw' )
+                      cross_normx_factor(k,j) = &
+                            ( hom_sum(nzb+8,pr_palm,normalizing_region) )**2&
+                            * hom_sum(nzb+11,pr_palm,normalizing_region)
+                   CASE ( 'ws3' )
+                      cross_normx_factor(k,j) = &
+                            ( hom_sum(nzb+8,pr_palm,normalizing_region) )**3
+
+                END SELECT
+                SELECT CASE ( cross_normalized_y(j) )
+
+                   CASE ( 'z_i' )
+                      cross_normy_factor(k,j) = &
+                                   hom_sum(nzb+6,pr_palm,normalizing_region)
+
+                END SELECT
+
+!
+!--             Check the normalizing factors for zeros and deactivate
+!--             the normalization, if required.
+                IF ( cross_normx_factor(k,j) == 0.0  .OR. &
+                     cross_normy_factor(k,j) == 0.0 )  THEN
+                   WRITE( message_string, * ) 'data_output_profiles: ',  &
+                              'normalizing cross ',j, ' is not possible ',     &
+                              'since one of the & normalizing factors ',       &
+                              'is zero! & cross_normx_factor(',k,',',j,') = ', &
+                                                      cross_normx_factor(k,j), &
+                              ' & cross_normy_factor(',k,',',j,') = ',         &
+                                                      cross_normy_factor(k,j)
+                         CALL message( 'data_output_profiles', 'PA0185',&
+                                                                0, 1, 0, 6, 0 )
+                    cross_normx_factor(k,j) = 1.0
+                    cross_normy_factor(k,j) = 1.0
+                    cross_normalized_x(j) = ' '
+                    cross_normalized_y(j) = ' '
+                ENDIF
+
+!
+!--             If required, extend normalized x-value range of the respective  
+!--             cross, provided it has not been specified in check_parameters.
+!--             Determination over all (sub-)regions.
+                IF ( cross_uxmin_normalized(j) == 0.0  .AND. &
+                     cross_uxmax_normalized(j) == 0.0 )  THEN
+
+                   DO  sr = 0, statistic_regions
+
+                      uxmi = MINVAL( hom(:nz_do1d,1,dopr_index(i),sr) ) / &
+                             cross_normx_factor(k,j)
+                      uxma = MAXVAL( hom(:nz_do1d,1,dopr_index(i),sr) ) / &
+                             cross_normx_factor(k,j)
+!
+!--                   When the value range of the first line in the
+!--                   corresponding cross is determined, its value range is
+!--                   simply adopted.
+                      IF ( cross_uxmin_normalized_computed(j) > &
+                           cross_uxmax_normalized_computed(j) )  THEN
+                         cross_uxmin_normalized_computed(j) = uxmi
+                         cross_uxmax_normalized_computed(j) = uxma
+                      ELSE
+                         cross_uxmin_normalized_computed(j) = &
+                                MIN( cross_uxmin_normalized_computed(j), uxmi )
+                         cross_uxmax_normalized_computed(j) = &
+                                MAX( cross_uxmax_normalized_computed(j), uxma )
+                      ENDIF
+
+                   ENDDO
+
+                ENDIF
+
+             ENDIF   ! Index determination
+
+          ENDIF   ! profil output
+
+       ENDDO   ! Loop over dopr_n
+
+    ENDIF  ! Output on PE0
+
+!
+!-- If averaging has been done above, the summation counter must be re-set.
+    IF ( averaging_interval_pr /= 0.0 )  THEN
+       average_count_pr = 0
+    ENDIF
+
+    CALL cpu_log( log_point(15), 'data_output_profiles','stop', 'nobarrier' )
+
+!
+!-- Formats
+100 FORMAT ('#1 ',A,1X,A)
+101 FORMAT (E15.7,1X,E15.7)
+102 FORMAT ('NEXT')
+
+ END SUBROUTINE data_output_profiles
Index: palm/tags/release-3.7/SOURCE/data_output_ptseries.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_ptseries.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_ptseries.f90	(revision 393)
@@ -0,0 +1,283 @@
+ SUBROUTINE data_output_ptseries
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+!
+! 60 2007-03-11 11:50:04Z raasch
+! Particles-package is now part of the default code.
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2006/08/22 13:51:13  raasch
+! Seperate output for particle groups
+!
+! Revision 1.1  2006/08/04 14:24:18  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Output of particle data timeseries in NetCDF format.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+
+    INTEGER ::  i, inum, j, n
+
+    REAL, DIMENSION(0:number_of_particle_groups,30) ::  pts_value, pts_value_l
+
+
+
+    CALL cpu_log( log_point(36), 'data_output_ptseries', 'start' )
+
+    IF ( myid == 0  .AND.  netcdf_output )  THEN
+!
+!--    Open file for time series output in NetCDF format
+       dopts_time_count = dopts_time_count + 1
+       CALL check_open( 109 )
+#if defined( __netcdf )
+!
+!--    Update the particle time series time axis
+       nc_stat = NF90_PUT_VAR( id_set_pts, id_var_time_pts,      &
+                               (/ time_since_reference_point /), &
+                               start = (/ dopts_time_count /), count = (/ 1 /) )
+       CALL handle_netcdf_error( 'data_output_ptseries', 391 )
+#endif
+
+    ENDIF
+
+    pts_value_l = 0.0
+
+!
+!-- Calculate or collect the particle time series quantities for all particles
+!-- and seperately for each particle group (if there is more than one group)
+    DO  n = 1, number_of_particles
+
+       pts_value_l(0,1)  = number_of_particles            ! total # of particles
+       pts_value_l(0,2)  = pts_value_l(0,2) + &
+                           ( particles(n)%x - particles(n)%origin_x )  ! mean x
+       pts_value_l(0,3)  = pts_value_l(0,3) + &
+                           ( particles(n)%y - particles(n)%origin_y )  ! mean y
+       pts_value_l(0,4)  = pts_value_l(0,4) + &
+                           ( particles(n)%z - particles(n)%origin_z )  ! mean z
+       pts_value_l(0,5)  = pts_value_l(0,5) + particles(n)%z ! mean z (absolute)
+       pts_value_l(0,6)  = pts_value_l(0,6) + particles(n)%speed_x     ! mean u
+       pts_value_l(0,7)  = pts_value_l(0,7) + particles(n)%speed_y     ! mean v
+       pts_value_l(0,8)  = pts_value_l(0,8) + particles(n)%speed_z     ! mean w
+       pts_value_l(0,9)  = pts_value_l(0,9) + &
+                                            particles(n)%speed_x_sgs ! mean sgsu
+       pts_value_l(0,10) = pts_value_l(0,10) + &
+                                            particles(n)%speed_y_sgs ! mean sgsv
+       pts_value_l(0,11) = pts_value_l(0,11) + &
+                                            particles(n)%speed_z_sgs ! mean sgsw
+       IF ( particles(n)%speed_z > 0.0 )  THEN
+          pts_value_l(0,12) = pts_value_l(0,12) + 1.0  ! # of upward moving prts
+          pts_value_l(0,13) = pts_value_l(0,13) + &
+                                            particles(n)%speed_z ! mean w upw.
+       ELSE
+          pts_value_l(0,14) = pts_value_l(0,14) + &
+                                            particles(n)%speed_z ! mean w down
+       ENDIF
+       pts_value_l(0,15) = number_of_particles
+       pts_value_l(0,16) = number_of_particles
+
+!
+!--    Repeat the same for the respective particle group
+       IF ( number_of_particle_groups > 1 )  THEN
+          j = particles(n)%group
+
+          pts_value_l(j,1)  = pts_value_l(j,1)  + 1
+          pts_value_l(j,2)  = pts_value_l(j,2)  + &
+                              ( particles(n)%x - particles(n)%origin_x )
+          pts_value_l(j,3)  = pts_value_l(j,3)  + &
+                              ( particles(n)%y - particles(n)%origin_y )
+          pts_value_l(j,4)  = pts_value_l(j,4)  + &
+                              ( particles(n)%z - particles(n)%origin_z )
+          pts_value_l(j,5)  = pts_value_l(j,5)  + particles(n)%z
+          pts_value_l(j,6)  = pts_value_l(j,6)  + particles(n)%speed_x
+          pts_value_l(j,7)  = pts_value_l(j,7)  + particles(n)%speed_y
+          pts_value_l(j,8)  = pts_value_l(j,8)  + particles(n)%speed_z
+          pts_value_l(j,9)  = pts_value_l(j,9)  + particles(n)%speed_x_sgs
+          pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%speed_y_sgs
+          pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%speed_z_sgs
+          IF ( particles(n)%speed_z > 0.0 )  THEN
+             pts_value_l(j,12) = pts_value_l(j,12) + 1.0
+             pts_value_l(j,13) = pts_value_l(j,13) + particles(n)%speed_z
+          ELSE
+             pts_value_l(j,14) = pts_value_l(j,14) + particles(n)%speed_z
+          ENDIF
+          pts_value_l(j,15) = pts_value_l(j,15) + 1.0
+          pts_value_l(j,16) = pts_value_l(j,16) + 1.0
+
+       ENDIF
+
+    ENDDO
+
+#if defined( __parallel )
+!
+!-- Sum values of the subdomains
+    inum = number_of_particle_groups + 1
+
+    CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 14*inum, MPI_REAL, &
+                        MPI_SUM, comm2d, ierr )
+    CALL MPI_ALLREDUCE( pts_value_l(0,15), pts_value(0,15), inum, MPI_REAL, &
+                        MPI_MAX, comm2d, ierr )
+    CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, &
+                        MPI_MIN, comm2d, ierr )
+#else
+    pts_value(:,1:16) = pts_value_l(:,1:16)
+#endif
+
+!
+!-- Normalize the above calculated quantities with the total number of
+!-- particles
+    IF ( number_of_particle_groups > 1 )  THEN
+       inum = number_of_particle_groups
+    ELSE
+       inum = 0
+    ENDIF
+
+    DO  j = 0, inum
+
+       IF ( pts_value(j,1) > 0.0 )  THEN
+
+          pts_value(j,2:14) = pts_value(j,2:14) / pts_value(j,1)
+          IF ( pts_value(j,12) > 0.0  .AND.  pts_value(j,12) < 1.0 )  THEN
+             pts_value(j,13) = pts_value(j,13) / pts_value(j,12)
+             pts_value(j,14) = pts_value(j,14) / ( 1.0 - pts_value(j,12) )
+          ELSEIF ( pts_value(j,12) == 0.0 )  THEN
+             pts_value(j,13) = -1.0
+          ELSE
+             pts_value(j,14) = -1.0
+          ENDIF
+
+       ENDIF
+
+    ENDDO
+
+!
+!-- Calculate higher order moments of particle time series quantities,
+!-- seperately for each particle group (if there is more than one group)
+    DO  n = 1, number_of_particles
+
+       pts_value_l(0,17) = pts_value_l(0,17) + ( particles(n)%x - &
+                           particles(n)%origin_x - pts_value(0,2) )**2 ! x*2
+       pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%y - &
+                           particles(n)%origin_y - pts_value(0,3) )**2 ! y*2
+       pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%z - &
+                           particles(n)%origin_z - pts_value(0,4) )**2 ! z*2
+       pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%speed_x - &
+                                               pts_value(0,6) )**2     ! u*2
+       pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_y - &
+                                               pts_value(0,7) )**2     ! v*2
+       pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_z - &
+                                               pts_value(0,8) )**2     ! w*2
+       pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_x_sgs - &
+                                               pts_value(0,9) )**2     ! u"2
+       pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%speed_y_sgs - &
+                                               pts_value(0,10) )**2    ! v"2
+       pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%speed_z_sgs - &
+                                               pts_value(0,11) )**2    ! w"2
+!
+!--    Repeat the same for the respective particle group
+       IF ( number_of_particle_groups > 1 )  THEN
+          j = particles(n)%group
+
+          pts_value_l(j,17) = pts_value_l(j,17) + ( particles(n)%x - &
+                              particles(n)%origin_x - pts_value(j,2) )**2
+          pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%y - &
+                              particles(n)%origin_y - pts_value(j,3) )**2
+          pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%z - &
+                              particles(n)%origin_z - pts_value(j,4) )**2
+          pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%speed_x - &
+                                                  pts_value(j,6) )**2
+          pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_y - &
+                                                  pts_value(j,7) )**2
+          pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_z - &
+                                                  pts_value(j,8) )**2
+          pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_x_sgs - &
+                                                  pts_value(j,9) )**2
+          pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%speed_y_sgs - &
+                                                  pts_value(j,10) )**2
+          pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%speed_z_sgs - &
+                                                  pts_value(j,11) )**2
+       ENDIF
+
+    ENDDO
+
+    pts_value_l(0,26) = ( number_of_particles - pts_value(0,1) / numprocs )**2
+                                                 ! variance of particle numbers
+    IF ( number_of_particle_groups > 1 )  THEN
+       DO  j = 1, number_of_particle_groups
+          pts_value_l(j,26) = ( pts_value_l(j,1) - &
+                                pts_value(j,1) / numprocs )**2
+       ENDDO
+    ENDIF
+
+#if defined( __parallel )
+!
+!-- Sum values of the subdomains
+    inum = number_of_particle_groups + 1
+
+    CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum*10, MPI_REAL, &
+                        MPI_SUM, comm2d, ierr )
+#else
+    pts_value(:,17:26) = pts_value_l(:,17:26)
+#endif
+
+!
+!-- Normalize the above calculated quantities with the total number of
+!-- particles
+    IF ( number_of_particle_groups > 1 )  THEN
+       inum = number_of_particle_groups
+    ELSE
+       inum = 0
+    ENDIF
+
+    DO  j = 0, inum
+
+       IF ( pts_value(j,1) > 0.0 )  THEN
+          pts_value(j,17:25) = pts_value(j,17:25) / pts_value(j,1)
+       ENDIF
+       pts_value(j,26) = pts_value(j,26) / numprocs
+
+    ENDDO
+
+#if defined( __netcdf )
+!
+!-- Output particle time series quantities in NetCDF format
+    IF ( myid == 0  .AND.  netcdf_output )  THEN
+       DO  j = 0, inum
+          DO  i = 1, dopts_num
+             nc_stat = NF90_PUT_VAR( id_set_pts, id_var_dopts(i,j),  &
+                                     (/ pts_value(j,i) /),           &
+                                     start = (/ dopts_time_count /), &
+                                     count = (/ 1 /) )
+             CALL handle_netcdf_error( 'data_output_ptseries', 392 )
+          ENDDO
+       ENDDO
+    ENDIF
+#endif
+
+    CALL cpu_log( log_point(36), 'data_output_ptseries','stop', 'nobarrier' )
+
+ END SUBROUTINE data_output_ptseries
Index: palm/tags/release-3.7/SOURCE/data_output_spectra.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_spectra.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_spectra.f90	(revision 393)
@@ -0,0 +1,577 @@
+ SUBROUTINE data_output_spectra
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine.
+!
+! 189 2008-08-13 17:09:26Z letzel
+! allow 100 spectra levels instead of 10 for consistency with
+! define_netcdf_header, +user-defined spectra
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.7  2006/04/11 14:56:38  raasch
+! pl_spectra renamed data_output_sp
+!
+! Revision 1.1  2001/01/05 15:14:20  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Writing spectra data on file, using a special format which allows
+! plotting of these data with PROFIL-graphic-software
+!------------------------------------------------------------------------------!
+#if defined( __spectra )
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE interfaces
+    USE netcdf_control
+    USE pegrid
+    USE spectrum
+    USE statistics
+
+
+    IMPLICIT NONE
+
+    INTEGER :: m, pr, cranz_x, cranz_y
+    LOGICAL :: frame_x, frame_y
+
+    CALL cpu_log( log_point(31), 'data_output_spectra', 'start' )
+
+!
+!-- Output is only performed on PE0
+    IF ( myid == 0 )  THEN
+
+!
+!--    Open file for spectra output in NetCDF format
+       IF ( netcdf_output )  CALL check_open( 107 )
+
+!
+!--    Increment the counter for number of output times
+       dosp_time_count = dosp_time_count + 1
+
+#if defined( __netcdf )
+!
+!--    Update the spectra time axis
+       nc_stat = NF90_PUT_VAR( id_set_sp, id_var_time_sp,        &
+                               (/ time_since_reference_point /), &
+                               start = (/ dosp_time_count /), count = (/ 1 /) )
+       CALL handle_netcdf_error( 'data_output_spectra', 47 )
+#endif
+
+       IF ( profil_output )  THEN
+!
+!--       Compute RAHMEN-Parameter CRANZ for x- and y-spectra separately
+          cranz_x = 0; cranz_y = 0; frame_x = .FALSE.; frame_y = .FALSE.
+
+          m = 1
+          DO WHILE ( data_output_sp(m) /= ' ' .AND. m <= 10 )
+
+             IF ( INDEX( spectra_direction(m), 'x' ) /= 0 )  THEN
+                cranz_x = cranz_x + 1
+             ENDIF
+             IF ( INDEX( spectra_direction(m), 'y' ) /= 0 )  THEN
+                cranz_y = cranz_y + 1
+             ENDIF
+
+             m = m + 1
+
+          ENDDO
+
+       ENDIF
+
+!
+!--    If necessary, calculate time average and reset average counter
+       IF ( average_count_sp == 0 )  THEN
+           message_string = 'no spectra data available'
+           CALL message( 'data_output_spectra', 'PA0186', 0, 0, 0, 6, 0 )
+       ENDIF
+       IF ( average_count_sp /= 1 )  THEN
+          spectrum_x = spectrum_x / REAL( average_count_sp )
+          spectrum_y = spectrum_y / REAL( average_count_sp )
+          average_count_sp = 0
+       ENDIF
+
+!
+!--    Loop over all spectra defined by the user
+       m = 1
+       DO WHILE ( data_output_sp(m) /= ' '  .AND.  m <= 10 )
+
+          SELECT CASE ( TRIM( data_output_sp(m) ) )
+
+             CASE ( 'u' )
+                pr = 1
+
+             CASE ( 'v' )
+                pr = 2
+
+             CASE ( 'w' )
+                pr = 3
+
+             CASE ( 'pt' )
+                pr = 4
+
+             CASE ( 'q' )
+                pr = 5
+
+             CASE DEFAULT
+!
+!--             The DEFAULT case is reached either if the parameter 
+!--             data_output_sp(m) contains a wrong character string or if the 
+!--             user has coded a special case in the user interface. There, the 
+!--             subroutine user_spectra checks which of these two conditions 
+!--             applies.
+                CALL user_spectra( 'data_output', m, pr )
+
+          END SELECT
+
+!
+!--       Output of spectra in NetCDF format
+          IF ( netcdf_output )  THEN
+!
+!--          Output of x-spectra
+             IF ( INDEX( spectra_direction(m), 'x' ) /= 0 ) THEN
+                CALL output_spectra_netcdf( m, 'x' )
+             ENDIF
+!
+!--          Output of y-spectra
+             IF ( INDEX( spectra_direction(m), 'y' ) /= 0 ) THEN
+                CALL output_spectra_netcdf( m, 'y' )
+             ENDIF
+          ENDIF
+
+!
+!--       Output of spectra in profil format
+          IF ( profil_output )  THEN
+!
+!--          Output of x-spectra
+             IF ( INDEX( spectra_direction(m), 'x' ) /= 0 ) THEN
+                CALL data_output_spectra_x( m, cranz_x, pr, frame_x )
+             ENDIF
+
+!
+!--          Output of y-spectra
+             IF ( INDEX( spectra_direction(m), 'y' ) /= 0 ) THEN
+                CALL data_output_spectra_y( m, cranz_y, pr, frame_y )
+             ENDIF
+          ENDIF
+
+!
+!--       Increase counter for next spectrum
+          m = m + 1
+
+       ENDDO
+
+!
+!--    Reset spectra values
+       spectrum_x = 0.0; spectrum_y = 0.0
+
+    ENDIF
+
+    CALL cpu_log( log_point(31), 'data_output_spectra', 'stop' )
+
+#if defined( __parallel )
+!    CALL MPI_BARRIER( comm2d, ierr )  ! really necessary
+#endif
+
+#endif
+ END SUBROUTINE data_output_spectra
+
+
+ SUBROUTINE output_spectra_netcdf( nsp, direction )
+#if defined( __netcdf )
+
+    USE constants
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE netcdf_control
+    USE spectrum
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1), INTENT(IN) ::  direction
+
+    INTEGER, INTENT(IN) ::  nsp
+
+    INTEGER ::  i, k
+
+    REAL ::  frequency
+
+    REAL, DIMENSION(nx/2) ::  netcdf_data_x
+    REAL, DIMENSION(ny/2) ::  netcdf_data_y
+
+
+    IF ( direction == 'x' )  THEN
+
+       DO  k = 1, n_sp_x
+
+          DO  i = 1, nx/2
+             frequency = 2.0 * pi * i / ( dx * ( nx + 1 ) )
+             netcdf_data_x(i) = frequency * spectrum_x(i,k,nsp)
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_dospx(nsp), netcdf_data_x, &
+                                  start = (/ 1, k, dosp_time_count /), &
+                                  count = (/ nx/2, 1, 1 /) )
+          CALL handle_netcdf_error( 'data_output_spectra', 348 )
+
+       ENDDO
+
+    ENDIF
+
+    IF ( direction == 'y' )  THEN
+
+       DO  k = 1, n_sp_y
+
+          DO  i = 1, ny/2
+             frequency = 2.0 * pi * i / ( dy * ( ny + 1 ) )
+             netcdf_data_y(i) = frequency * spectrum_y(i,k,nsp)
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_dospy(nsp), netcdf_data_y, &
+                                  start = (/ 1, k, dosp_time_count /), &
+                                  count = (/ ny/2, 1, 1 /) )
+          CALL handle_netcdf_error( 'data_output_spectra', 349 )
+
+       ENDDO
+
+    ENDIF
+
+#endif
+ END SUBROUTINE output_spectra_netcdf
+
+
+#if defined( __spectra )
+ SUBROUTINE data_output_spectra_x( m, cranz, pr, frame_written )
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE singleton
+    USE spectrum
+    USE statistics
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=30) ::  atext
+    INTEGER            ::  i, j, k, m, pr
+    LOGICAL            ::  frame_written
+    REAL               ::  frequency = 0.0
+
+!
+!-- Variables needed for PROFIL-namelist
+    INTEGER                  :: cranz, labforx = 3, labfory = 3, legpos = 3, &
+                                timodex = 1
+    INTEGER, DIMENSION(1:100):: cucol = 1, klist = 999999, lstyle = 0
+    LOGICAL                  :: datleg = .TRUE., grid = .TRUE., &
+                                lclose = .TRUE., rand = .TRUE., &
+                                swap = .TRUE., twoxa = .TRUE.,  &
+                                xlog = .TRUE., ylog = .TRUE.
+    CHARACTER (LEN=80)       :: rtext, utext, xtext = 'k in m>->1', ytext
+    REAL                     :: gwid = 0.1, rlegfak = 0.7, uxmin, uxmax, &
+                                uymin, uymax
+    REAL, DIMENSION(1:100)   :: lwid = 0.6
+    REAL, DIMENSION(100)     :: uyma, uymi
+
+    NAMELIST /RAHMEN/  cranz, datleg, rtext, swap
+    NAMELIST /CROSS/   rand, cucol, grid, gwid, klist, labforx, labfory,      &
+                       legpos, lclose, lstyle, lwid, rlegfak, timodex, utext, &
+                       uxmin, uxmax, uymin, uymax, twoxa, xlog, xtext, ylog,  &
+                       ytext
+
+
+    rtext = '\0.5 ' // run_description_header
+
+!
+!-- Open parameter- and data-file
+    CALL check_open( 81 )
+    CALL check_open( 82 )
+
+!
+!-- Write file header,
+!-- write RAHMEN-parameters (pr=3: w-array is on zw, other arrys on zu,
+!-- pr serves as an index for output of strings (axis-labels) of the
+!-- different quantities u, v, w, pt and q)
+    DO  k = 1, n_sp_x
+       IF ( k < 100 )  THEN
+          IF ( pr == 3 )  THEN
+             WRITE ( 82, 100 )  '#', k, header_char( pr ),        &
+                                INT( zw(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ELSE
+             WRITE ( 82, 100 )  '#', k, header_char( pr ),        &
+                                INT( zu(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ENDIF
+       ELSE
+          IF ( pr == 3 )  THEN
+             WRITE ( 82, 101 )  '#', k, header_char( pr ),        &
+                                INT( zw(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ELSE
+             WRITE ( 82, 101 )  '#', k, header_char( pr ),        &
+                                INT( zu(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ENDIF
+       ENDIF
+    ENDDO
+
+    IF ( .NOT. frame_written )  THEN
+       WRITE ( 81, RAHMEN )
+       frame_written = .TRUE.
+    ENDIF
+
+!
+!-- Write all data and calculate uymi and uyma. They serve to calculate
+!-- the CROSS-parameters uymin and uymax
+    uymi = 999.999; uyma = -999.999
+    DO  i = 1, nx/2
+       frequency = 2.0 * pi * i / ( dx * ( nx + 1 ) )
+       WRITE ( 82, 102 )  frequency, ( frequency * spectrum_x(i,k,m), k = 1, &
+                          n_sp_x )
+       DO  k = 1, n_sp_x
+          uymi(k) = MIN( uymi(k), frequency * spectrum_x(i,k,m) )
+          uyma(k) = MAX( uyma(k), frequency * spectrum_x(i,k,m) )
+       ENDDO
+    ENDDO
+
+!
+!-- Determine CROSS-parameters
+    cucol(1:n_sp_x)  = (/ ( k, k = 1, n_sp_x ) /)
+    lstyle(1:n_sp_x) = (/ ( lstyles(k), k = 1, n_sp_x ) /)
+
+!
+!-- Calculate klist-values from the available comp_spectra_level values
+    i = 1; k = 1
+    DO WHILE ( i <= 100  .AND.  plot_spectra_level(i) /= 999999 )
+       DO WHILE ( k <= n_sp_x  .AND. &
+                  plot_spectra_level(i) >= comp_spectra_level(k) )
+          IF ( plot_spectra_level(i) == comp_spectra_level(k) )  THEN
+             klist(i) = k + klist_x
+          ELSE
+             uymi(k) =  999.999
+             uyma(k) = -999.999
+          ENDIF
+          k = k + 1
+       ENDDO
+       i = i + 1
+    ENDDO
+    uymi(k:n_sp_x) =  999.999
+    uyma(k:n_sp_x) = -999.999
+    utext = 'x'//utext_char( pr )
+    IF ( averaging_interval_sp /= 0.0 ) THEN
+       WRITE ( atext, 104 )  averaging_interval_sp
+       utext = TRIM(utext) // ',  ' // TRIM( atext )
+    ENDIF
+    uxmin = 0.8 * 2.0 * pi        / ( dx * ( nx + 1 ) )
+    uxmax = 1.2 * 2.0 * pi * nx/2 / ( dx * ( nx + 1 ) )
+    uymin = 0.8 * MIN (  999.999, MINVAL ( uymi ) )
+    uymax = 1.2 * MAX ( -999.999, MAXVAL ( uyma ) )
+    ytext = ytext_char( pr )
+
+!
+!-- Output of CROSS-parameters
+    WRITE ( 81, CROSS )
+
+!
+!-- Increase counter by the number of profiles written in the actual block
+    klist_x = klist_x + n_sp_x
+
+!
+!-- Write end-mark
+    WRITE ( 82, 103 )
+
+!
+!-- Close parameter- and data-file
+    CALL close_file( 81 )
+    CALL close_file( 82 )
+
+!
+!-- Formats
+100 FORMAT (A,I1,1X,A,1X,I4,'m ',A)
+101 FORMAT (A,I2,1X,A,1X,I4,'m ',A)
+102 FORMAT (E15.7,100(1X,E15.7))
+103 FORMAT ('NEXT')
+104 FORMAT ('time averaged over',F7.1,' s')
+
+ END SUBROUTINE data_output_spectra_x
+
+
+ SUBROUTINE data_output_spectra_y( m, cranz, pr, frame_written )
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE singleton
+    USE spectrum
+    USE statistics
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=30) ::  atext
+    INTEGER            :: i, j, k, m, pr
+    LOGICAL            :: frame_written
+    REAL               :: frequency = 0.0
+
+!
+!-- Variables needed for PROFIL-namelist
+    INTEGER                  :: cranz, labforx = 3, labfory = 3, legpos = 3, &
+                                timodex = 1
+    INTEGER, DIMENSION(1:100):: cucol = 1, klist = 999999, lstyle = 0
+    LOGICAL                  :: datleg = .TRUE., grid = .TRUE., &
+                                lclose = .TRUE., rand = .TRUE., &
+                                swap = .TRUE., twoxa = .TRUE.,  &
+                                xlog = .TRUE., ylog = .TRUE.
+    CHARACTER (LEN=80)       :: rtext, utext, xtext = 'k in m>->1', ytext
+    REAL                     :: gwid = 0.1, rlegfak = 0.7, uxmin, uxmax, &
+                                uymin, uymax
+    REAL, DIMENSION(1:100)   :: lwid = 0.6
+    REAL, DIMENSION(100)     :: uyma, uymi
+
+    NAMELIST /RAHMEN/  cranz, datleg, rtext, swap
+    NAMELIST /CROSS/   rand, cucol, grid, gwid, klist, labforx, labfory,      &
+                       legpos, lclose, lstyle, lwid, rlegfak, timodex, utext, &
+                       uxmin, uxmax, uymin, uymax, twoxa, xlog, xtext, ylog,  &
+                       ytext
+
+
+    rtext = '\0.5 ' // run_description_header
+
+!
+!-- Open parameter- and data-file
+    CALL check_open( 83 )
+    CALL check_open( 84 )
+
+!
+!-- Write file header,
+!-- write RAHMEN-parameters (pr=3: w-array is on zw, other arrys on zu,
+!-- pr serves as an index for output of strings (axis-labels) of the
+!-- different quantities u, v, w, pt and q)
+    DO  k = 1, n_sp_y
+       IF ( k < 100 )  THEN
+          IF ( pr == 3 ) THEN
+             WRITE ( 84, 100 )  '#', k, header_char( pr ),        &
+                                INT( zw(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ELSE
+             WRITE ( 84, 100 )  '#', k, header_char( pr ),        &
+                                INT( zu(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ENDIF
+       ELSE
+          IF ( pr == 3 )  THEN
+             WRITE ( 84, 101 )  '#', k, header_char( pr ),        &
+                                INT( zw(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ELSE
+             WRITE ( 84, 101 )  '#', k, header_char( pr ),        &
+                                INT( zu(comp_spectra_level(k)) ), &
+                                simulated_time_chr
+          ENDIF
+       ENDIF
+    ENDDO
+
+    IF ( .NOT. frame_written )  THEN
+       WRITE ( 83, RAHMEN )
+       frame_written = .TRUE.
+    ENDIF
+
+!
+!-- Write all data and calculate uymi and uyma. They serve to calculate
+!-- the CROSS-parameters uymin and uymax
+    uymi = 999.999; uyma = -999.999
+    DO  j = 1, ny/2
+       frequency = 2.0 * pi * j / ( dy * ( ny + 1 ) )
+       WRITE ( 84, 102 ) frequency, ( frequency * spectrum_y(j,k,m), &
+                                      k = 1, n_sp_y ) 
+       DO k = 1, n_sp_y
+          uymi(k) = MIN( uymi(k), frequency * spectrum_y(j,k,m) )
+          uyma(k) = MAX( uyma(k), frequency * spectrum_y(j,k,m) )
+       ENDDO
+    ENDDO
+
+!
+!-- Determine CROSS-parameters
+    cucol(1:n_sp_y)  = (/ ( k, k = 1, n_sp_y ) /)
+    lstyle(1:n_sp_y) = (/ ( lstyles(k), k = 1, n_sp_y ) /)
+
+!
+!-- Calculate klist-values from the available comp_spectra_level values
+    j = 1; k = 1
+    DO WHILE ( j <= 100  .AND.  plot_spectra_level(j) /= 999999 )
+       DO WHILE ( k <= n_sp_y  .AND. &
+                  plot_spectra_level(j) >= comp_spectra_level(k) )
+          IF ( plot_spectra_level(j) == comp_spectra_level(k) )  THEN
+             klist(j) = k + klist_y
+          ELSE
+             uymi(k) =  999.999
+             uyma(k) = -999.999
+          ENDIF
+          k = k + 1
+       ENDDO
+       j = j + 1
+    ENDDO
+    uymi(k:n_sp_y) =  999.999
+    uyma(k:n_sp_y) = -999.999
+    utext = 'y'//utext_char( pr )
+    IF ( averaging_interval_sp /= 0.0 )  THEN
+       WRITE ( atext, 104 )  averaging_interval_sp
+       utext = TRIM(utext) // ',  ' // TRIM( atext )
+    ENDIF
+    uxmin = 0.8 * 2.0 * pi        / ( dy * ( ny + 1 ) )
+    uxmax = 1.2 * 2.0 * pi * ny/2 / ( dy * ( ny + 1 ) )
+    uymin = 0.8 * MIN (  999.999, MINVAL ( uymi ) )
+    uymax = 1.2 * MAX ( -999.999, MAXVAL ( uyma ) )
+    ytext = ytext_char( pr )
+
+!
+!-- Output CROSS-parameters
+    WRITE ( 83, CROSS )
+
+!
+!-- Increase counter by the number of profiles written in the actual block
+    klist_y = klist_y + n_sp_y
+
+!
+!-- Write end-mark
+    WRITE ( 84, 103 )  
+
+!
+!-- Close parameter- and data-file
+    CALL close_file( 83 )
+    CALL close_file( 84 )
+
+!
+!-- Formats
+100 FORMAT (A,I1,1X,A,1X,I4,'m ',A)
+101 FORMAT (A,I2,1X,A,1X,I4,'m ',A)
+102 FORMAT (E15.7,100(1X,E15.7))
+103 FORMAT ('NEXT')
+104 FORMAT ('time averaged over',F7.1,' s')
+
+ END SUBROUTINE data_output_spectra_y
+#endif
Index: palm/tags/release-3.7/SOURCE/data_output_tseries.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/data_output_tseries.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/data_output_tseries.f90	(revision 393)
@@ -0,0 +1,104 @@
+ SUBROUTINE data_output_tseries
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! simulated_time in NetCDF output replaced by time_since_reference_point.
+! Output of NetCDF messages with aid of message handling routine.
+!
+! 48 2007-03-06 12:28:36Z raasch
+! Collection of time series quantities moved to routine flow_statistics,
+! output for "profil" removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.13  2006/03/14 12:42:51  raasch
+! Error removed: NetCDF output only if switched on
+!
+! Revision 1.1  1998/03/03 08:00:13  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Time series output for PROFIL. Always all time series are stored. A selection
+! can be applied via the PROFIL-parameters in close_file.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE netcdf_control
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+
+    INTEGER ::  file_id, i, j, sr
+
+
+!
+!-- If required, compute statistics.
+    IF ( .NOT. flow_statistics_called )  CALL flow_statistics
+
+!
+!-- Flow_statistics has its own cpu-time measuring.
+    CALL cpu_log( log_point(21), 'data_output_tseries', 'start' )
+
+    IF ( myid == 0 )  THEN
+
+!
+!--    Open file for time series output in NetCDF format
+       IF ( netcdf_output )  THEN
+          dots_time_count = dots_time_count + 1
+          CALL check_open( 105 )
+#if defined( __netcdf )
+!
+!--       Update the time series time axis
+          nc_stat = NF90_PUT_VAR( id_set_ts, id_var_time_ts,        &
+                                  (/ time_since_reference_point /), &
+                                  start = (/ dots_time_count /),    &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'data_output_tseries', 350 )
+#endif
+       ENDIF
+
+!
+!--    Time series output for the total domain (and each subregion, if
+!--    applicable)
+       DO  sr = 0, statistic_regions
+
+#if defined( __netcdf )
+          IF ( netcdf_output )  THEN
+             DO  i = 1, dots_num
+                nc_stat = NF90_PUT_VAR( id_set_ts, id_var_dots(i,sr),  &
+                                        (/ ts_value(i,sr) /),          &
+                                        start = (/ dots_time_count /), &
+                                        count = (/ 1 /) )
+                CALL handle_netcdf_error( 'data_output_tseries', 351 )
+             ENDDO
+          ENDIF
+#endif
+
+       ENDDO
+
+    ENDIF
+
+
+    CALL cpu_log( log_point(21), 'data_output_tseries','stop', 'nobarrier' )
+
+!
+!-- formats
+500 FORMAT (23(E15.7,1X))
+
+ END SUBROUTINE data_output_tseries
Index: palm/tags/release-3.7/SOURCE/diffusion_e.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusion_e.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusion_e.f90	(revision 393)
@@ -0,0 +1,379 @@
+ MODULE diffusion_e_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Adjustment of mixing length calculation for the ocean version. zw added to
+! argument list.
+! This is also a bugfix, because the height above the topography is now
+! used instead of the height above level k=0.
+! theta renamed var, dpt_dz renamed dvar_dz, +new argument var_reference
+! use_pt_reference renamed use_reference
+!
+! 65 2007-03-13 12:11:43Z raasch
+! Reference temperature pt_reference can be used in buoyancy term
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Bugfix: ddzw dimensioned 1:nzt"+1"
+! Calculation extended for gridpoint nzt
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.18  2006/08/04 14:29:43  raasch
+! dissipation is stored in extra array diss if needed later on for calculating
+! the sgs particle velocities
+!
+! Revision 1.1  1997/09/19 07:40:24  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diffusion- and dissipation terms for the TKE
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC diffusion_e
+    
+
+    INTERFACE diffusion_e
+       MODULE PROCEDURE diffusion_e
+       MODULE PROCEDURE diffusion_e_ij
+    END INTERFACE diffusion_e
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, var, &
+                            var_reference, rif, tend, zu, zw )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE particle_attributes
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL            ::  dvar_dz, l_stable, phi_m, var_reference
+       REAL            ::  ddzu(1:nzt+1), dd2zu(1:nzt), ddzw(1:nzt+1), &
+                           l_grid(1:nzt), zu(0:nzt+1), zw(0:nzt+1)
+       REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) :: diss, tend
+       REAL, DIMENSION(:,:), POINTER   ::  rif
+       REAL, DIMENSION(:,:,:), POINTER ::  e, km, var
+       REAL, DIMENSION(nzb+1:nzt,nys:nyn) ::  dissipation, l, ll
+ 
+
+!
+!--    This if clause must be outside the k-loop because otherwise
+!--    runtime errors occur with -C hopt on NEC
+       IF ( use_reference )  THEN
+
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+!
+!--             First, calculate phi-function for eventually adjusting the &
+!--             mixing length to the prandtl mixing length
+                IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                   IF ( rif(j,i) >= 0.0 )  THEN
+                      phi_m = 1.0 + 5.0 * rif(j,i)
+                   ELSE
+                      phi_m = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif(j,i) ) )
+                   ENDIF
+                ENDIF
+
+                DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--                Calculate the mixing length (for dissipation)
+                   dvar_dz = atmos_ocean_sign * &
+                             ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
+                   IF ( dvar_dz > 0.0 ) THEN
+                      l_stable = 0.76 * SQRT( e(k,j,i) ) / &
+                                 SQRT( g / var_reference * dvar_dz ) + 1E-5
+                   ELSE
+                      l_stable = l_grid(k)
+                   ENDIF
+!
+!--                Adjustment of the mixing length
+                   IF ( wall_adjustment )  THEN
+                      l(k,j)  = MIN( wall_adjustment_factor *          &
+                                     ( zu(k) - zw(nzb_s_inner(j,i)) ), &
+                                     l_grid(k), l_stable )
+                      ll(k,j) = MIN( wall_adjustment_factor *          &
+                                     ( zu(k) - zw(nzb_s_inner(j,i)) ), &
+                                     l_grid(k) )
+                   ELSE
+                      l(k,j)  = MIN( l_grid(k), l_stable )
+                      ll(k,j) = l_grid(k)
+                   ENDIF
+                   IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                      l(k,j)  = MIN( l(k,j),  kappa *                          &
+                                              ( zu(k) - zw(nzb_s_inner(j,i)) ) &
+                                              / phi_m )
+                      ll(k,j) = MIN( ll(k,j), kappa *                          &
+                                              ( zu(k) - zw(nzb_s_inner(j,i)) ) &
+                                              / phi_m )
+                   ENDIF
+
+                ENDDO
+             ENDDO
+
+!
+!--          Calculate the tendency terms
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+
+                    dissipation(k,j) = ( 0.19 + 0.74 * l(k,j) / ll(k,j) ) * &
+                                       e(k,j,i) * SQRT( e(k,j,i) ) / l(k,j)
+
+                    tend(k,j,i) = tend(k,j,i)                                  &
+                                        + (                                    &
+                          ( km(k,j,i)+km(k,j,i+1) ) * ( e(k,j,i+1)-e(k,j,i) )  &
+                        - ( km(k,j,i)+km(k,j,i-1) ) * ( e(k,j,i)-e(k,j,i-1) )  &
+                                          ) * ddx2                             &
+                                        + (                                    &
+                          ( km(k,j,i)+km(k,j+1,i) ) * ( e(k,j+1,i)-e(k,j,i) )  &
+                        - ( km(k,j,i)+km(k,j-1,i) ) * ( e(k,j,i)-e(k,j-1,i) )  &
+                                          ) * ddy2                             &
+                                        + (                                    &
+               ( km(k,j,i)+km(k+1,j,i) ) * ( e(k+1,j,i)-e(k,j,i) ) * ddzu(k+1) &
+             - ( km(k,j,i)+km(k-1,j,i) ) * ( e(k,j,i)-e(k-1,j,i) ) * ddzu(k)   &
+                                          ) * ddzw(k)                          &
+                             - dissipation(k,j)
+
+                ENDDO
+             ENDDO
+
+!
+!--          Store dissipation if needed for calculating the sgs particle
+!--          velocities
+             IF ( use_sgs_for_particles )  THEN
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      diss(k,j,i) = dissipation(k,j)
+                   ENDDO
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+       ELSE
+
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+!
+!--             First, calculate phi-function for eventually adjusting the &
+!--             mixing length to the prandtl mixing length
+                IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                   IF ( rif(j,i) >= 0.0 )  THEN
+                      phi_m = 1.0 + 5.0 * rif(j,i)
+                   ELSE
+                      phi_m = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif(j,i) ) )
+                   ENDIF
+                ENDIF
+
+                DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--                Calculate the mixing length (for dissipation)
+                   dvar_dz = atmos_ocean_sign * &
+                             ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
+                   IF ( dvar_dz > 0.0 ) THEN
+                      l_stable = 0.76 * SQRT( e(k,j,i) ) / &
+                                        SQRT( g / var(k,j,i) * dvar_dz ) + 1E-5
+                   ELSE
+                      l_stable = l_grid(k)
+                   ENDIF
+!
+!--                Adjustment of the mixing length
+                   IF ( wall_adjustment )  THEN
+                      l(k,j)  = MIN( wall_adjustment_factor *          &
+                                     ( zu(k) - zw(nzb_s_inner(j,i)) ), &
+                                     l_grid(k), l_stable )
+                      ll(k,j) = MIN( wall_adjustment_factor *          &
+                                     ( zu(k) - zw(nzb_s_inner(j,i)) ), &
+                                     l_grid(k) )
+                   ELSE
+                      l(k,j)  = MIN( l_grid(k), l_stable )
+                      ll(k,j) = l_grid(k)
+                   ENDIF
+                   IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                      l(k,j)  = MIN( l(k,j),  kappa *                          &
+                                              ( zu(k) - zw(nzb_s_inner(j,i)) ) &
+                                              / phi_m )
+                      ll(k,j) = MIN( ll(k,j), kappa *                          &
+                                              ( zu(k) - zw(nzb_s_inner(j,i)) ) &
+                                              / phi_m )
+                   ENDIF
+
+                ENDDO
+             ENDDO
+
+!
+!--          Calculate the tendency terms
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+
+                    dissipation(k,j) = ( 0.19 + 0.74 * l(k,j) / ll(k,j) ) * &
+                                       e(k,j,i) * SQRT( e(k,j,i) ) / l(k,j)
+
+                    tend(k,j,i) = tend(k,j,i)                                  &
+                                        + (                                    &
+                          ( km(k,j,i)+km(k,j,i+1) ) * ( e(k,j,i+1)-e(k,j,i) )  &
+                        - ( km(k,j,i)+km(k,j,i-1) ) * ( e(k,j,i)-e(k,j,i-1) )  &
+                                          ) * ddx2                             &
+                                        + (                                    &
+                          ( km(k,j,i)+km(k,j+1,i) ) * ( e(k,j+1,i)-e(k,j,i) )  &
+                        - ( km(k,j,i)+km(k,j-1,i) ) * ( e(k,j,i)-e(k,j-1,i) )  &
+                                          ) * ddy2                             &
+                                        + (                                    &
+               ( km(k,j,i)+km(k+1,j,i) ) * ( e(k+1,j,i)-e(k,j,i) ) * ddzu(k+1) &
+             - ( km(k,j,i)+km(k-1,j,i) ) * ( e(k,j,i)-e(k-1,j,i) ) * ddzu(k)   &
+                                          ) * ddzw(k)                          &
+                             - dissipation(k,j)
+
+                ENDDO
+             ENDDO
+
+!
+!--          Store dissipation if needed for calculating the sgs particle
+!--          velocities
+             IF ( use_sgs_for_particles )  THEN
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      diss(k,j,i) = dissipation(k,j)
+                   ENDDO
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+       ENDIF
+
+!
+!--    Boundary condition for dissipation
+       IF ( use_sgs_for_particles )  THEN
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                diss(nzb_s_inner(j,i),j,i) = diss(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+       ENDIF
+
+    END SUBROUTINE diffusion_e
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_e_ij( i, j, ddzu, dd2zu, ddzw, diss, e, km, l_grid, &
+                               var, var_reference, rif, tend, zu, zw )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE particle_attributes
+
+       IMPLICIT NONE
+
+       INTEGER         ::  i, j, k
+       REAL            ::  dvar_dz, l_stable, phi_m, var_reference
+       REAL            ::  ddzu(1:nzt+1), dd2zu(1:nzt), ddzw(1:nzt+1), &
+                           l_grid(1:nzt), zu(0:nzt+1), zw(0:nzt+1)
+       REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ::  diss, tend
+       REAL, DIMENSION(:,:), POINTER   ::  rif
+       REAL, DIMENSION(:,:,:), POINTER ::  e, km, var
+       REAL, DIMENSION(nzb+1:nzt)    ::  dissipation, l, ll
+
+
+!
+!--    First, calculate phi-function for eventually adjusting the mixing length
+!--    to the prandtl mixing length
+       IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+          IF ( rif(j,i) >= 0.0 )  THEN
+             phi_m = 1.0 + 5.0 * rif(j,i)
+          ELSE
+             phi_m = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif(j,i) ) )
+          ENDIF
+       ENDIF
+
+!
+!--    Calculate the mixing length (for dissipation)
+       DO  k = nzb_s_inner(j,i)+1, nzt
+          dvar_dz = atmos_ocean_sign * &
+                    ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
+          IF ( dvar_dz > 0.0 ) THEN
+             IF ( use_reference )  THEN
+                l_stable = 0.76 * SQRT( e(k,j,i) ) / &
+                                  SQRT( g / var_reference * dvar_dz ) + 1E-5
+             ELSE
+                l_stable = 0.76 * SQRT( e(k,j,i) ) / &
+                                  SQRT( g / var(k,j,i) * dvar_dz ) + 1E-5
+             ENDIF
+          ELSE
+             l_stable = l_grid(k)
+          ENDIF
+!
+!--       Adjustment of the mixing length
+          IF ( wall_adjustment )  THEN
+             l(k)  = MIN( wall_adjustment_factor *                     &
+                          ( zu(k) - zw(nzb_s_inner(j,i)) ), l_grid(k), &
+                          l_stable )
+             ll(k) = MIN( wall_adjustment_factor *                     &
+                          ( zu(k) - zw(nzb_s_inner(j,i)) ), l_grid(k) )
+          ELSE
+             l(k)  = MIN( l_grid(k), l_stable )
+             ll(k) = l_grid(k)
+          ENDIF
+          IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+             l(k)  = MIN( l(k),  kappa * &
+                                 ( zu(k) - zw(nzb_s_inner(j,i)) ) / phi_m )
+             ll(k) = MIN( ll(k), kappa * &
+                                 ( zu(k) - zw(nzb_s_inner(j,i)) ) / phi_m )
+          ENDIF
+
+!
+!--       Calculate the tendency term
+          dissipation(k) = ( 0.19 + 0.74 * l(k) / ll(k) ) * e(k,j,i) * &
+                           SQRT( e(k,j,i) ) / l(k)
+
+          tend(k,j,i) = tend(k,j,i)                                           &
+                                       + (                                    &
+                         ( km(k,j,i)+km(k,j,i+1) ) * ( e(k,j,i+1)-e(k,j,i) )  &
+                       - ( km(k,j,i)+km(k,j,i-1) ) * ( e(k,j,i)-e(k,j,i-1) )  &
+                                         ) * ddx2                             &
+                                       + (                                    &
+                         ( km(k,j,i)+km(k,j+1,i) ) * ( e(k,j+1,i)-e(k,j,i) )  &
+                       - ( km(k,j,i)+km(k,j-1,i) ) * ( e(k,j,i)-e(k,j-1,i) )  &
+                                         ) * ddy2                             &
+                                       + (                                    &
+              ( km(k,j,i)+km(k+1,j,i) ) * ( e(k+1,j,i)-e(k,j,i) ) * ddzu(k+1) &
+            - ( km(k,j,i)+km(k-1,j,i) ) * ( e(k,j,i)-e(k-1,j,i) ) * ddzu(k)   &
+                                         ) * ddzw(k)                          &
+                                       - dissipation(k)
+
+       ENDDO
+
+!
+!--    Store dissipation if needed for calculating the sgs particle velocities
+       IF ( use_sgs_for_particles )  THEN
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             diss(k,j,i) = dissipation(k)
+          ENDDO
+!
+!--       Boundary condition for dissipation
+          diss(nzb_s_inner(j,i),j,i) = diss(nzb_s_inner(j,i)+1,j,i)
+       ENDIF
+
+    END SUBROUTINE diffusion_e_ij
+
+ END MODULE diffusion_e_mod
Index: palm/tags/release-3.7/SOURCE/diffusion_s.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusion_s.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusion_s.f90	(revision 393)
@@ -0,0 +1,265 @@
+ MODULE diffusion_s_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 183 2008-08-04 15:39:12Z letzel
+! bugfix: calculation of fluxes at vertical surfaces
+!
+! 129 2007-10-30 12:12:24Z letzel
+! replace wall_heatflux by wall_s_flux that is now included in the parameter 
+! list, bugfix for assignment of fluxes at walls
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Bugfix: ddzw dimensioned 1:nzt"+1"
+! Calculation extended for gridpoint nzt, fluxes can be given at top,
+! +s_flux_t in parameter list, s_flux renamed s_flux_b
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.8  2006/02/23 10:34:17  raasch
+! nzb_2d replaced by nzb_s_outer in horizontal diffusion and by nzb_s_inner
+! or nzb_diff_s_inner, respectively, in vertical diffusion, prescribed surface
+! fluxes at vertically oriented topography
+!
+! Revision 1.1  2000/04/13 14:54:02  schroeter
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diffusion term of scalar quantities (temperature and water content)
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC diffusion_s
+
+    INTERFACE diffusion_s
+       MODULE PROCEDURE diffusion_s
+       MODULE PROCEDURE diffusion_s_ij
+    END INTERFACE diffusion_s
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_s( ddzu, ddzw, kh, s, s_flux_b, s_flux_t, &
+                            wall_s_flux, tend )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  vertical_gridspace
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL    ::  wall_s_flux(0:4)
+       REAL, DIMENSION(:,:),   POINTER ::  s_flux_b, s_flux_t
+       REAL, DIMENSION(:,:,:), POINTER ::  kh, s
+
+       DO  i = nxl, nxr
+          DO  j = nys,nyn
+!
+!--          Compute horizontal diffusion
+             DO  k = nzb_s_outer(j,i)+1, nzt
+
+                tend(k,j,i) = tend(k,j,i)                                     &
+                                          + 0.5 * (                           &
+                        ( kh(k,j,i) + kh(k,j,i+1) ) * ( s(k,j,i+1)-s(k,j,i) ) &
+                      - ( kh(k,j,i) + kh(k,j,i-1) ) * ( s(k,j,i)-s(k,j,i-1) ) &
+                                                  ) * ddx2                    &
+                                          + 0.5 * (                           &
+                        ( kh(k,j,i) + kh(k,j+1,i) ) * ( s(k,j+1,i)-s(k,j,i) ) &
+                      - ( kh(k,j,i) + kh(k,j-1,i) ) * ( s(k,j,i)-s(k,j-1,i) ) &
+                                                  ) * ddy2
+             ENDDO
+
+!
+!--          Apply prescribed horizontal wall heatflux where necessary
+             IF ( ( wall_w_x(j,i) .NE. 0.0 ) .OR. ( wall_w_y(j,i) .NE. 0.0 ) ) &
+             THEN
+                DO  k = nzb_s_inner(j,i)+1, nzb_s_outer(j,i)
+
+                   tend(k,j,i) = tend(k,j,i)                                  &
+                                                + ( fwxp(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j,i+1) ) * ( s(k,j,i+1)-s(k,j,i) ) &
+                        + ( 1.0 - fwxp(j,i) ) * wall_s_flux(1)                &
+                                                   -fwxm(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j,i-1) ) * ( s(k,j,i)-s(k,j,i-1) ) &
+                        + ( 1.0 - fwxm(j,i) ) * wall_s_flux(2)                &
+                                                  ) * ddx2                    &
+                                                + ( fwyp(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j+1,i) ) * ( s(k,j+1,i)-s(k,j,i) ) &
+                        + ( 1.0 - fwyp(j,i) ) * wall_s_flux(3)                &
+                                                   -fwym(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j-1,i) ) * ( s(k,j,i)-s(k,j-1,i) ) &
+                        + ( 1.0 - fwym(j,i) ) * wall_s_flux(4)                &
+                                                  ) * ddy2
+                ENDDO
+             ENDIF
+
+!
+!--          Compute vertical diffusion. In case that surface fluxes have been
+!--          prescribed or computed at bottom and/or top, index k starts/ends at
+!--          nzb+2 or nzt-1, respectively.
+             DO  k = nzb_diff_s_inner(j,i), nzt_diff
+
+                tend(k,j,i) = tend(k,j,i)                                     &
+                                       + 0.5 * (                              &
+            ( kh(k,j,i) + kh(k+1,j,i) ) * ( s(k+1,j,i)-s(k,j,i) ) * ddzu(k+1) &
+          - ( kh(k,j,i) + kh(k-1,j,i) ) * ( s(k,j,i)-s(k-1,j,i) ) * ddzu(k)   &
+                                               ) * ddzw(k)
+             ENDDO
+
+!
+!--          Vertical diffusion at the first computational gridpoint along
+!--          z-direction
+             IF ( use_surface_fluxes )  THEN
+
+                k = nzb_s_inner(j,i)+1
+
+                tend(k,j,i) = tend(k,j,i)                                     &
+                                       + ( 0.5 * ( kh(k,j,i)+kh(k+1,j,i) )    &
+                                               * ( s(k+1,j,i)-s(k,j,i) )      &
+                                               * ddzu(k+1)                    &
+                                           + s_flux_b(j,i)                    &
+                                         ) * ddzw(k)
+
+             ENDIF
+
+!
+!--          Vertical diffusion at the last computational gridpoint along
+!--          z-direction
+             IF ( use_top_fluxes )  THEN
+
+                k = nzt
+
+                tend(k,j,i) = tend(k,j,i)                                     &
+                                       + ( - s_flux_t(j,i)                    &
+                                           - 0.5 * ( kh(k-1,j,i)+kh(k,j,i) )  &
+                                                 * ( s(k,j,i)-s(k-1,j,i) )    &
+                                                 * ddzu(k)                    &
+                                         ) * ddzw(k)
+
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE diffusion_s
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_s_ij( i, j, ddzu, ddzw, kh, s, s_flux_b, s_flux_t, &
+                               wall_s_flux, tend )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  vertical_gridspace
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL    ::  wall_s_flux(0:4)
+       REAL, DIMENSION(:,:),   POINTER ::  s_flux_b, s_flux_t
+       REAL, DIMENSION(:,:,:), POINTER ::  kh, s
+
+!
+!--    Compute horizontal diffusion
+       DO  k = nzb_s_outer(j,i)+1, nzt
+
+          tend(k,j,i) = tend(k,j,i)                                           &
+                                          + 0.5 * (                           &
+                        ( kh(k,j,i) + kh(k,j,i+1) ) * ( s(k,j,i+1)-s(k,j,i) ) &
+                      - ( kh(k,j,i) + kh(k,j,i-1) ) * ( s(k,j,i)-s(k,j,i-1) ) &
+                                                  ) * ddx2                    &
+                                          + 0.5 * (                           &
+                        ( kh(k,j,i) + kh(k,j+1,i) ) * ( s(k,j+1,i)-s(k,j,i) ) &
+                      - ( kh(k,j,i) + kh(k,j-1,i) ) * ( s(k,j,i)-s(k,j-1,i) ) &
+                                                  ) * ddy2
+       ENDDO
+
+!
+!--    Apply prescribed horizontal wall heatflux where necessary
+       IF ( ( wall_w_x(j,i) .NE. 0.0 ) .OR. ( wall_w_y(j,i) .NE. 0.0 ) ) &
+       THEN
+          DO  k = nzb_s_inner(j,i)+1, nzb_s_outer(j,i)
+
+             tend(k,j,i) = tend(k,j,i)                                        &
+                                                + ( fwxp(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j,i+1) ) * ( s(k,j,i+1)-s(k,j,i) ) &
+                        + ( 1.0 - fwxp(j,i) ) * wall_s_flux(1)                &
+                                                   -fwxm(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j,i-1) ) * ( s(k,j,i)-s(k,j,i-1) ) &
+                        + ( 1.0 - fwxm(j,i) ) * wall_s_flux(2)                &
+                                                  ) * ddx2                    &
+                                                + ( fwyp(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j+1,i) ) * ( s(k,j+1,i)-s(k,j,i) ) &
+                        + ( 1.0 - fwyp(j,i) ) * wall_s_flux(3)                &
+                                                   -fwym(j,i) * 0.5 *         &
+                        ( kh(k,j,i) + kh(k,j-1,i) ) * ( s(k,j,i)-s(k,j-1,i) ) &
+                        + ( 1.0 - fwym(j,i) ) * wall_s_flux(4)                &
+                                                  ) * ddy2
+          ENDDO
+       ENDIF
+
+!
+!--    Compute vertical diffusion. In case that surface fluxes have been
+!--    prescribed or computed at bottom and/or top, index k starts/ends at
+!--    nzb+2 or nzt-1, respectively.
+       DO  k = nzb_diff_s_inner(j,i), nzt_diff
+
+          tend(k,j,i) = tend(k,j,i)                                           &
+                                       + 0.5 * (                              &
+            ( kh(k,j,i) + kh(k+1,j,i) ) * ( s(k+1,j,i)-s(k,j,i) ) * ddzu(k+1) &
+          - ( kh(k,j,i) + kh(k-1,j,i) ) * ( s(k,j,i)-s(k-1,j,i) ) * ddzu(k)   &
+                                               ) * ddzw(k)
+       ENDDO
+
+!
+!--    Vertical diffusion at the first computational gridpoint along z-direction
+       IF ( use_surface_fluxes )  THEN
+
+          k = nzb_s_inner(j,i)+1
+
+          tend(k,j,i) = tend(k,j,i) + ( 0.5 * ( kh(k,j,i)+kh(k+1,j,i) )  &
+                                            * ( s(k+1,j,i)-s(k,j,i) )    &
+                                            * ddzu(k+1)                  &
+                                        + s_flux_b(j,i)                  &
+                                      ) * ddzw(k)
+
+       ENDIF
+
+!
+!--    Vertical diffusion at the last computational gridpoint along z-direction
+       IF ( use_top_fluxes )  THEN
+
+          k = nzt
+
+          tend(k,j,i) = tend(k,j,i) + ( - s_flux_t(j,i)                  &
+                                      - 0.5 * ( kh(k-1,j,i)+kh(k,j,i) )  &
+                                            * ( s(k,j,i)-s(k-1,j,i) )    &
+                                            * ddzu(k)                    &
+                                      ) * ddzw(k)
+
+       ENDIF
+
+    END SUBROUTINE diffusion_s_ij
+
+ END MODULE diffusion_s_mod
Index: palm/tags/release-3.7/SOURCE/diffusion_u.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusion_u.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusion_u.f90	(revision 393)
@@ -0,0 +1,396 @@
+ MODULE diffusion_u_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 366 2009-08-25 08:06:27Z raasch
+! bc_ns replaced by bc_ns_cyc
+!
+! 106 2007-08-16 14:30:26Z raasch
+! Momentumflux at top (uswst) included as boundary condition,
+! i loop is starting from nxlu (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Wall functions now include diabatic conditions, call of routine wall_fluxes,
+! z0 removed from argument list, uxrp eliminated
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Bugfix: ddzw dimensioned 1:nzt"+1"
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 10:35:35  raasch
+! nzb_2d replaced by nzb_u_outer in horizontal diffusion and by nzb_u_inner
+! or nzb_diff_u, respectively, in vertical diffusion,
+! wall functions added for north and south walls, +z0 in argument list,
+! terms containing w(k-1,..) are removed from the Prandtl-layer equation
+! because they cause errors at the edges of topography
+! WARNING: loops containing the MAX function are still not properly vectorized!
+!
+! Revision 1.1  1997/09/12 06:23:51  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diffusion term of the u-component
+! To do: additional damping (needed for non-cyclic bc) causes bad vectorization
+!        and slows down the speed on NEC about 5-10%
+!------------------------------------------------------------------------------!
+
+    USE wall_fluxes_mod
+
+    PRIVATE
+    PUBLIC diffusion_u
+
+    INTERFACE diffusion_u
+       MODULE PROCEDURE diffusion_u
+       MODULE PROCEDURE diffusion_u_ij
+    END INTERFACE diffusion_u
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_u( ddzu, ddzw, km, km_damp_y, tend, u, usws, uswst, &
+                            v, w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmym_x, kmym_y, kmyp_x, kmyp_y, kmzm, kmzp
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_y(nys-1:nyn+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(:,:),   POINTER ::  usws, uswst
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  usvs
+
+!
+!--    First calculate horizontal momentum flux u'v' at vertical walls,
+!--    if neccessary
+       IF ( topography /= 'flat' )  THEN
+          CALL wall_fluxes( usvs, 1.0, 0.0, 0.0, 0.0, nzb_u_inner, &
+                            nzb_u_outer, wall_u )
+       ENDIF
+
+       DO  i = nxlu, nxr
+          DO  j = nys,nyn
+!
+!--          Compute horizontal diffusion
+             DO  k = nzb_u_outer(j,i)+1, nzt
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmyp_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )
+                kmym_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )
+                kmyp_y = kmyp_x
+                kmym_y = kmym_x
+!
+!--             Increase diffusion at the outflow boundary in case of
+!--             non-cyclic lateral boundaries. Damping is only needed for
+!--             velocity components parallel to the outflow boundary in
+!--             the direction normal to the outflow boundary.
+                IF ( .NOT. bc_ns_cyc )  THEN
+                   kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                   kmym_y = MAX( kmym_y, km_damp_y(j) )
+                ENDIF
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + 2.0 * (                                            &
+                      &           km(k,j,i)   * ( u(k,j,i+1) - u(k,j,i)   )  &
+                      &         - km(k,j,i-1) * ( u(k,j,i)   - u(k,j,i-1) )  &
+                      &         ) * ddx2                                     &
+                      & + ( kmyp_y * ( u(k,j+1,i) - u(k,j,i)     ) * ddy     &
+                      &   + kmyp_x * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx     &
+                      &   - kmym_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy         &
+                      &   - kmym_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx         &
+                      &   ) * ddy
+             ENDDO
+
+!
+!--          Wall functions at the north and south walls, respectively
+             IF ( wall_u(j,i) /= 0.0 )  THEN
+
+                DO  k = nzb_u_inner(j,i)+1, nzb_u_outer(j,i)
+                   kmyp_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )
+                   kmym_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )
+                   kmyp_y = kmyp_x
+                   kmym_y = kmym_x
+!
+!--                Increase diffusion at the outflow boundary in case of
+!--                non-cyclic lateral boundaries. Damping is only needed for
+!--                velocity components parallel to the outflow boundary in
+!--                the direction normal to the outflow boundary.
+                   IF ( .NOT. bc_ns_cyc )  THEN
+                      kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                      kmym_y = MAX( kmym_y, km_damp_y(j) )
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i)                                   &
+                                 + 2.0 * (                                     &
+                                       km(k,j,i)   * ( u(k,j,i+1) - u(k,j,i) ) &
+                                     - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) &
+                                         ) * ddx2                              &
+                                 + (   fyp(j,i) * (                            &
+                                  kmyp_y * ( u(k,j+1,i) - u(k,j,i)     ) * ddy &
+                                + kmyp_x * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx &
+                                                  )                            &
+                                     - fym(j,i) * (                            &
+                                  kmym_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy     &
+                                + kmym_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx     &
+                                                  )                            &
+                                     + wall_u(j,i) * usvs(k,j,i)               &
+                                   ) * ddy
+                ENDDO
+             ENDIF
+
+!
+!--          Compute vertical diffusion. In case of simulating a Prandtl layer,
+!--          index k starts at nzb_u_inner+2.
+             DO  k = nzb_diff_u(j,i), nzt_diff
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                       ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+                kmzm = 0.25 * &
+                       ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + ( kmzp * ( ( u(k+1,j,i) - u(k,j,i)   ) * ddzu(k+1) &
+                      &            + ( w(k,j,i)   - w(k,j,i-1) ) * ddx       &
+                      &            )                                         &
+                      &   - kmzm * ( ( u(k,j,i)   - u(k-1,j,i)   ) * ddzu(k) &
+                      &            + ( w(k-1,j,i) - w(k-1,j,i-1) ) * ddx     &
+                      &            )                                         &
+                      &   ) * ddzw(k)
+             ENDDO
+
+!
+!--          Vertical diffusion at the first grid point above the surface,
+!--          if the momentum flux at the bottom is given by the Prandtl law or
+!--          if it is prescribed by the user.
+!--          Difference quotient of the momentum flux is not formed over half
+!--          of the grid spacing (2.0*ddzw(k)) any more, since the comparison
+!--          with other (LES) modell showed that the values of the momentum
+!--          flux becomes too large in this case.
+!--          The term containing w(k-1,..) (see above equation) is removed here
+!--          because the vertical velocity is assumed to be zero at the surface.
+             IF ( use_surface_fluxes )  THEN
+                k = nzb_u_inner(j,i)+1
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                      ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+                kmzm = 0.25 * &
+                      ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + ( kmzp * ( w(k,j,i)   - w(k,j,i-1)   ) * ddx       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( kmzp * ( u(k+1,j,i) - u(k,j,i)     ) * ddzu(k+1) &
+                      &   + usws(j,i)                                        &
+                      &   ) * ddzw(k)
+             ENDIF
+
+!
+!--          Vertical diffusion at the first gridpoint below the top boundary,
+!--          if the momentum flux at the top is prescribed by the user
+             IF ( use_top_fluxes  .AND.  constant_top_momentumflux )  THEN
+                k = nzt
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                       ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+                kmzm = 0.25 * &
+                       ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & - ( kmzm * ( w(k-1,j,i) - w(k-1,j,i-1) ) * ddx       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( -uswst(j,i)                                      &
+                      &   - kmzm * ( u(k,j,i)   - u(k-1,j,i)   ) * ddzu(k)   &
+                      &   ) * ddzw(k)
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE diffusion_u
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_u_ij( i, j, ddzu, ddzw, km, km_damp_y, tend, u, usws, &
+                               uswst, v, w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmym_x, kmym_y, kmyp_x, kmyp_y, kmzm, kmzp
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_y(nys-1:nyn+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(nzb:nzt+1)      ::  usvs
+       REAL, DIMENSION(:,:),   POINTER ::  usws, uswst
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+
+!
+!--    Compute horizontal diffusion
+       DO  k = nzb_u_outer(j,i)+1, nzt
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmyp_x = 0.25 * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )
+          kmym_x = 0.25 * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )
+          kmyp_y = kmyp_x
+          kmym_y = kmym_x
+
+!
+!--       Increase diffusion at the outflow boundary in case of non-cyclic
+!--       lateral boundaries. Damping is only needed for velocity components
+!--       parallel to the outflow boundary in the direction normal to the
+!--       outflow boundary.
+          IF ( .NOT. bc_ns_cyc )  THEN
+             kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+             kmym_y = MAX( kmym_y, km_damp_y(j) )
+          ENDIF
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + 2.0 * (                                            &
+                      &           km(k,j,i)   * ( u(k,j,i+1) - u(k,j,i)   )  &
+                      &         - km(k,j,i-1) * ( u(k,j,i)   - u(k,j,i-1) )  &
+                      &         ) * ddx2                                     &
+                      & + ( kmyp_y * ( u(k,j+1,i) - u(k,j,i)     ) * ddy     &
+                      &   + kmyp_x * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx     &
+                      &   - kmym_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy         &
+                      &   - kmym_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx         &
+                      &   ) * ddy
+       ENDDO
+
+!
+!--    Wall functions at the north and south walls, respectively
+       IF ( wall_u(j,i) .NE. 0.0 )  THEN
+
+!
+!--       Calculate the horizontal momentum flux u'v'
+          CALL wall_fluxes( i, j, nzb_u_inner(j,i)+1, nzb_u_outer(j,i),  &
+                            usvs, 1.0, 0.0, 0.0, 0.0 )
+
+          DO  k = nzb_u_inner(j,i)+1, nzb_u_outer(j,i)
+             kmyp_x = 0.25 * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )
+             kmym_x = 0.25 * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )
+             kmyp_y = kmyp_x
+             kmym_y = kmym_x
+!
+!--          Increase diffusion at the outflow boundary in case of
+!--          non-cyclic lateral boundaries. Damping is only needed for
+!--          velocity components parallel to the outflow boundary in
+!--          the direction normal to the outflow boundary.
+             IF ( .NOT. bc_ns_cyc )  THEN
+                kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                kmym_y = MAX( kmym_y, km_damp_y(j) )
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i)                                         &
+                                 + 2.0 * (                                     &
+                                       km(k,j,i)   * ( u(k,j,i+1) - u(k,j,i) ) &
+                                     - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) &
+                                         ) * ddx2                              &
+                                 + (   fyp(j,i) * (                            &
+                                  kmyp_y * ( u(k,j+1,i) - u(k,j,i)     ) * ddy &
+                                + kmyp_x * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx &
+                                                  )                            &
+                                     - fym(j,i) * (                            &
+                                  kmym_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy     &
+                                + kmym_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx     &
+                                                  )                            &
+                                     + wall_u(j,i) * usvs(k)                   &
+                                   ) * ddy
+          ENDDO
+       ENDIF
+
+!
+!--    Compute vertical diffusion. In case of simulating a Prandtl layer,
+!--    index k starts at nzb_u_inner+2.
+       DO  k = nzb_diff_u(j,i), nzt_diff
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+          kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + ( kmzp * ( ( u(k+1,j,i) - u(k,j,i)   ) * ddzu(k+1) &
+                      &            + ( w(k,j,i)   - w(k,j,i-1) ) * ddx       &
+                      &            )                                         &
+                      &   - kmzm * ( ( u(k,j,i)   - u(k-1,j,i)   ) * ddzu(k) &
+                      &            + ( w(k-1,j,i) - w(k-1,j,i-1) ) * ddx     &
+                      &            )                                         &
+                      &   ) * ddzw(k)
+       ENDDO
+
+!
+!--    Vertical diffusion at the first grid point above the surface, if the
+!--    momentum flux at the bottom is given by the Prandtl law or if it is
+!--    prescribed by the user.
+!--    Difference quotient of the momentum flux is not formed over half of
+!--    the grid spacing (2.0*ddzw(k)) any more, since the comparison with 
+!--    other (LES) modell showed that the values of the momentum flux becomes
+!--    too large in this case.
+!--    The term containing w(k-1,..) (see above equation) is removed here
+!--    because the vertical velocity is assumed to be zero at the surface.
+       IF ( use_surface_fluxes )  THEN
+          k = nzb_u_inner(j,i)+1
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+          kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + ( kmzp * ( w(k,j,i)   - w(k,j,i-1)   ) * ddx       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( kmzp * ( u(k+1,j,i) - u(k,j,i)     ) * ddzu(k+1) &
+                      &   + usws(j,i)                                        &
+                      &   ) * ddzw(k)
+       ENDIF
+
+!
+!--    Vertical diffusion at the first gridpoint below the top boundary,
+!--    if the momentum flux at the top is prescribed by the user
+       IF ( use_top_fluxes  .AND.  constant_top_momentumflux )  THEN
+          k = nzt
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * &
+                 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) )
+          kmzm = 0.25 * &
+                 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & - ( kmzm * ( w(k-1,j,i) - w(k-1,j,i-1) ) * ddx       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( -uswst(j,i)                                      &
+                      &   - kmzm * ( u(k,j,i)   - u(k-1,j,i)   ) * ddzu(k)   &
+                      &   ) * ddzw(k)
+       ENDIF
+
+    END SUBROUTINE diffusion_u_ij
+
+ END MODULE diffusion_u_mod
Index: palm/tags/release-3.7/SOURCE/diffusion_v.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusion_v.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusion_v.f90	(revision 393)
@@ -0,0 +1,395 @@
+ MODULE diffusion_v_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 366 2009-08-25 08:06:27Z raasch
+! bc_lr replaced by bc_lr_cyc
+!
+! 106 2007-08-16 14:30:26Z raasch
+! Momentumflux at top (vswst) included as boundary condition,
+! j loop is starting from nysv (needed for non-cyclic boundary conditions)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Wall functions now include diabatic conditions, call of routine wall_fluxes,
+! z0 removed from argument list, vynp eliminated
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Bugfix: ddzw dimensioned 1:nzt"+1"
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.15  2006/02/23 10:36:00  raasch
+! nzb_2d replaced by nzb_v_outer in horizontal diffusion and by nzb_v_inner
+! or nzb_diff_v, respectively, in vertical diffusion,
+! wall functions added for north and south walls, +z0 in argument list,
+! terms containing w(k-1,..) are removed from the Prandtl-layer equation
+! because they cause errors at the edges of topography
+! WARNING: loops containing the MAX function are still not properly vectorized!
+!
+! Revision 1.1  1997/09/12 06:24:01  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diffusion term of the v-component
+!------------------------------------------------------------------------------!
+
+    USE wall_fluxes_mod
+
+    PRIVATE
+    PUBLIC diffusion_v
+
+    INTERFACE diffusion_v
+       MODULE PROCEDURE diffusion_v
+       MODULE PROCEDURE diffusion_v_ij
+    END INTERFACE diffusion_v
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_v( ddzu, ddzw, km, km_damp_x, tend, u, v, vsws, &
+                            vswst, w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(:,:),   POINTER ::  vsws, vswst
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  vsus
+
+!
+!--    First calculate horizontal momentum flux v'u' at vertical walls,
+!--    if neccessary
+       IF ( topography /= 'flat' )  THEN
+          CALL wall_fluxes( vsus, 0.0, 1.0, 0.0, 0.0, nzb_v_inner, &
+                            nzb_v_outer, wall_v )
+       ENDIF
+
+       DO  i = nxl, nxr
+          DO  j = nysv, nyn
+!
+!--          Compute horizontal diffusion
+             DO  k = nzb_v_outer(j,i)+1, nzt
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmxp_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) )
+                kmxm_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) )
+                kmxp_y = kmxp_x
+                kmxm_y = kmxm_x
+!
+!--             Increase diffusion at the outflow boundary in case of
+!--             non-cyclic lateral boundaries. Damping is only needed for
+!--             velocity components parallel to the outflow boundary in
+!--             the direction normal to the outflow boundary.
+                IF ( .NOT. bc_lr_cyc )  THEN
+                   kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                   kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+                ENDIF
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + ( kmxp_x * ( v(k,j,i+1) - v(k,j,i)     ) * ddx     &
+                      &   + kmxp_y * ( u(k,j,i+1) - u(k,j-1,i+1) ) * ddy     &
+                      &   - kmxm_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx         &
+                      &   - kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy         &
+                      &   ) * ddx                                            &
+                      & + 2.0 * (                                            &
+                      &           km(k,j,i)   * ( v(k,j+1,i) - v(k,j,i) )    &
+                      &         - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) )    &
+                      &         ) * ddy2
+             ENDDO
+
+!
+!--          Wall functions at the left and right walls, respectively
+             IF ( wall_v(j,i) /= 0.0 )  THEN
+
+                DO  k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i)
+                   kmxp_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) )
+                   kmxm_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) )
+                   kmxp_y = kmxp_x
+                   kmxm_y = kmxm_x
+!
+!--                Increase diffusion at the outflow boundary in case of
+!--                non-cyclic lateral boundaries. Damping is only needed for
+!--                velocity components parallel to the outflow boundary in
+!--                the direction normal to the outflow boundary.
+                   IF ( .NOT. bc_lr_cyc )  THEN
+                      kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                      kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i)                                   &
+                                 + 2.0 * (                                     &
+                                       km(k,j,i)   * ( v(k,j+1,i) - v(k,j,i) ) &
+                                     - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) &
+                                         ) * ddy2                              &
+                                 + (   fxp(j,i) * (                            &
+                                  kmxp_x * ( v(k,j,i+1) - v(k,j,i)     ) * ddx &
+                                + kmxp_y * ( u(k,j,i+1) - u(k,j-1,i+1) ) * ddy &
+                                                  )                            &
+                                     - fxm(j,i) * (                            &
+                                  kmxm_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx     &
+                                + kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy     &
+                                                  )                            &
+                                     + wall_v(j,i) * vsus(k,j,i)               &
+                                   ) * ddx
+                ENDDO
+             ENDIF
+
+!
+!--          Compute vertical diffusion. In case of simulating a Prandtl
+!--          layer, index k starts at nzb_v_inner+2.
+             DO  k = nzb_diff_v(j,i), nzt_diff
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                       ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+                kmzm = 0.25 * &
+                       ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + ( kmzp * ( ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)   &
+                      &            + ( w(k,j,i) - w(k,j-1,i) ) * ddy         &
+                      &            )                                         &
+                      &   - kmzm * ( ( v(k,j,i)   - v(k-1,j,i)   ) * ddzu(k) &
+                      &            + ( w(k-1,j,i) - w(k-1,j-1,i) ) * ddy     &
+                      &            )                                         &
+                      &   ) * ddzw(k)
+             ENDDO
+
+!
+!--          Vertical diffusion at the first grid point above the surface,
+!--          if the momentum flux at the bottom is given by the Prandtl law
+!--          or if it is prescribed by the user.
+!--          Difference quotient of the momentum flux is not formed over
+!--          half of the grid spacing (2.0*ddzw(k)) any more, since the
+!--          comparison with other (LES) modell showed that the values of
+!--          the momentum flux becomes too large in this case.
+!--          The term containing w(k-1,..) (see above equation) is removed here
+!--          because the vertical velocity is assumed to be zero at the surface.
+             IF ( use_surface_fluxes )  THEN
+                k = nzb_v_inner(j,i)+1
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                       ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+                kmzm = 0.25 * &
+                       ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & + ( kmzp * ( w(k,j,i) - w(k,j-1,i)     ) * ddy       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( kmzp * ( v(k+1,j,i) - v(k,j,i)     ) * ddzu(k+1) &
+                      &   + vsws(j,i)                                        &
+                      &   ) * ddzw(k)
+             ENDIF
+
+!
+!--          Vertical diffusion at the first gridpoint below the top boundary,
+!--          if the momentum flux at the top is prescribed by the user
+             IF ( use_top_fluxes  .AND.  constant_top_momentumflux )  THEN
+                k = nzt
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmzp = 0.25 * &
+                       ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+                kmzm = 0.25 * &
+                       ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+                tend(k,j,i) = tend(k,j,i)                                    &
+                      & - ( kmzm *  ( w(k-1,j,i) - w(k-1,j-1,i) ) * ddy      &
+                      &   ) * ddzw(k)                                        &
+                      & + ( -vswst(j,i)                                      &
+                      &   - kmzm * ( v(k,j,i)   - v(k-1,j,i)    ) * ddzu(k)  &
+                      &   ) * ddzw(k)
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE diffusion_v
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_v_ij( i, j, ddzu, ddzw, km, km_damp_x, tend, u, v, &
+                               vsws, vswst, w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(nzb:nzt+1)      ::  vsus
+       REAL, DIMENSION(:,:),   POINTER ::  vsws, vswst
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+
+!
+!--    Compute horizontal diffusion
+       DO  k = nzb_v_outer(j,i)+1, nzt
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmxp_x = 0.25 * ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) )
+          kmxm_x = 0.25 * ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) )
+          kmxp_y = kmxp_x
+          kmxm_y = kmxm_x
+!
+!--       Increase diffusion at the outflow boundary in case of non-cyclic
+!--       lateral boundaries. Damping is only needed for velocity components
+!--       parallel to the outflow boundary in the direction normal to the
+!--       outflow boundary.
+          IF ( .NOT. bc_lr_cyc )  THEN
+             kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+             kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+          ENDIF
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + ( kmxp_x * ( v(k,j,i+1) - v(k,j,i)     ) * ddx     &
+                      &   + kmxp_y * ( u(k,j,i+1) - u(k,j-1,i+1) ) * ddy     &
+                      &   - kmxm_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx         &
+                      &   - kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy         &
+                      &   ) * ddx                                            &
+                      & + 2.0 * (                                            &
+                      &           km(k,j,i)   * ( v(k,j+1,i) - v(k,j,i) )    &
+                      &         - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) )    &
+                      &         ) * ddy2
+       ENDDO
+
+!
+!--    Wall functions at the left and right walls, respectively
+       IF ( wall_v(j,i) /= 0.0 )  THEN
+
+!
+!--       Calculate the horizontal momentum flux v'u'
+          CALL wall_fluxes( i, j, nzb_v_inner(j,i)+1, nzb_v_outer(j,i), &
+                            vsus, 0.0, 1.0, 0.0, 0.0 )
+
+          DO  k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i)
+             kmxp_x = 0.25 * &
+                      ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) )
+             kmxm_x = 0.25 * &
+                      ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) )
+             kmxp_y = kmxp_x
+             kmxm_y = kmxm_x
+!
+!--          Increase diffusion at the outflow boundary in case of
+!--          non-cyclic lateral boundaries. Damping is only needed for
+!--          velocity components parallel to the outflow boundary in
+!--          the direction normal to the outflow boundary.
+             IF ( .NOT. bc_lr_cyc )  THEN
+                kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i)                                         &
+                                 + 2.0 * (                                     &
+                                       km(k,j,i)   * ( v(k,j+1,i) - v(k,j,i) ) &
+                                     - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) &
+                                         ) * ddy2                              &
+                                 + (   fxp(j,i) * (                            &
+                                  kmxp_x * ( v(k,j,i+1) - v(k,j,i)     ) * ddx &
+                                + kmxp_y * ( u(k,j,i+1) - u(k,j-1,i+1) ) * ddy &
+                                                  )                            &
+                                     - fxm(j,i) * (                            &
+                                  kmxm_x * ( v(k,j,i) - v(k,j,i-1) ) * ddx     &
+                                + kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy     &
+                                                  )                            &
+                                     + wall_v(j,i) * vsus(k)                   &
+                                   ) * ddx
+          ENDDO
+       ENDIF
+
+!
+!--    Compute vertical diffusion. In case of simulating a Prandtl layer,
+!--    index k starts at nzb_v_inner+2.
+       DO  k = nzb_diff_v(j,i), nzt_diff
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+          kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + ( kmzp * ( ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)   &
+                      &            + ( w(k,j,i) - w(k,j-1,i) ) * ddy         &
+                      &            )                                         &
+                      &   - kmzm * ( ( v(k,j,i)   - v(k-1,j,i)   ) * ddzu(k) &
+                      &            + ( w(k-1,j,i) - w(k-1,j-1,i) ) * ddy     &
+                      &            )                                         &
+                      &   ) * ddzw(k)
+       ENDDO
+
+!
+!--    Vertical diffusion at the first grid point above the surface, if the
+!--    momentum flux at the bottom is given by the Prandtl law or if it is
+!--    prescribed by the user.
+!--    Difference quotient of the momentum flux is not formed over half of
+!--    the grid spacing (2.0*ddzw(k)) any more, since the comparison with 
+!--    other (LES) modell showed that the values of the momentum flux becomes
+!--    too large in this case.
+!--    The term containing w(k-1,..) (see above equation) is removed here
+!--    because the vertical velocity is assumed to be zero at the surface.
+       IF ( use_surface_fluxes )  THEN
+          k = nzb_v_inner(j,i)+1
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+          kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & + ( kmzp * ( w(k,j,i) - w(k,j-1,i)     ) * ddy       &
+                      &   ) * ddzw(k)                                        &
+                      & + ( kmzp * ( v(k+1,j,i) - v(k,j,i)     ) * ddzu(k+1) &
+                      &   + vsws(j,i)                                        &
+                      &   ) * ddzw(k)
+       ENDIF
+
+!
+!--    Vertical diffusion at the first gridpoint below the top boundary,
+!--    if the momentum flux at the top is prescribed by the user
+       IF ( use_top_fluxes  .AND.  constant_top_momentumflux )  THEN
+          k = nzt
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmzp = 0.25 * &
+                 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+          kmzm = 0.25 * &
+                 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )
+
+          tend(k,j,i) = tend(k,j,i)                                          &
+                      & - ( kmzm *  ( w(k-1,j,i) - w(k-1,j-1,i) ) * ddy      &
+                      &   ) * ddzw(k)                                        &
+                      & + ( -vswst(j,i)                                      &
+                      &   - kmzm * ( v(k,j,i)   - v(k-1,j,i)    ) * ddzu(k)  &
+                      &   ) * ddzw(k)
+       ENDIF
+
+    END SUBROUTINE diffusion_v_ij
+
+ END MODULE diffusion_v_mod
Index: palm/tags/release-3.7/SOURCE/diffusion_w.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusion_w.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusion_w.f90	(revision 393)
@@ -0,0 +1,337 @@
+ MODULE diffusion_w_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 366 2009-08-25 08:06:27Z raasch
+! bc_lr/bc_ns replaced by bc_lr_cyc/bc_ns_cyc
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Wall functions now include diabatic conditions, call of routine wall_fluxes,
+! z0 removed from argument list
+!
+! 20 2007-02-26 00:12:32Z raasch
+! Bugfix: ddzw dimensioned 1:nzt"+1"
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 10:38:03  raasch
+! nzb_2d replaced by nzb_w_outer, wall functions added for all vertical walls,
+! +z0 in argument list
+! WARNING: loops containing the MAX function are still not properly vectorized!
+!
+! Revision 1.1  1997/09/12 06:24:11  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diffusion term of the w-component
+!------------------------------------------------------------------------------!
+
+    USE wall_fluxes_mod
+
+    PRIVATE
+    PUBLIC diffusion_w
+
+    INTERFACE diffusion_w
+       MODULE PROCEDURE diffusion_w
+       MODULE PROCEDURE diffusion_w_ij
+    END INTERFACE diffusion_w
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_w( ddzu, ddzw, km, km_damp_x, km_damp_y, tend, u, v, &
+                            w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmxm_x, kmxm_z, kmxp_x, kmxp_z, kmym_y, kmym_z, kmyp_y, &
+                   kmyp_z
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1), &
+                   km_damp_y(nys-1:nyn+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  wsus, wsvs
+
+
+!
+!--    First calculate horizontal momentum flux w'u' and/or w'v' at vertical
+!--    walls, if neccessary
+       IF ( topography /= 'flat' )  THEN
+          CALL wall_fluxes( wsus, 0.0, 0.0, 0.0, 1.0, nzb_w_inner, &
+                            nzb_w_outer, wall_w_x )
+          CALL wall_fluxes( wsvs, 0.0, 0.0, 1.0, 0.0, nzb_w_inner, &
+                            nzb_w_outer, wall_w_y )
+       ENDIF
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_w_outer(j,i)+1, nzt-1
+!
+!--             Interpolate eddy diffusivities on staggered gridpoints
+                kmxp_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j,i+1)+km(k+1,j,i)+km(k+1,j,i+1) )
+                kmxm_x = 0.25 * &
+                         ( km(k,j,i)+km(k,j,i-1)+km(k+1,j,i)+km(k+1,j,i-1) )
+                kmxp_z = kmxp_x
+                kmxm_z = kmxm_x
+                kmyp_y = 0.25 * &
+                         ( km(k,j,i)+km(k+1,j,i)+km(k,j+1,i)+km(k+1,j+1,i) )
+                kmym_y = 0.25 * &
+                         ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+                kmyp_z = kmyp_y
+                kmym_z = kmym_y
+!
+!--             Increase diffusion at the outflow boundary in case of
+!--             non-cyclic lateral boundaries. Damping is only needed for
+!--             velocity components parallel to the outflow boundary in
+!--             the direction normal to the outflow boundary.
+                IF ( .NOT. bc_lr_cyc )  THEN
+                   kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                   kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+                ENDIF
+                IF ( .NOT. bc_ns_cyc )  THEN
+                   kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                   kmym_y = MAX( kmym_y, km_damp_y(j) )
+                ENDIF
+
+                tend(k,j,i) = tend(k,j,i)                                      &
+                      & + ( kmxp_x * ( w(k,j,i+1)   - w(k,j,i)   ) * ddx       &
+                      &   + kmxp_z * ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1) &
+                      &   - kmxm_x * ( w(k,j,i)   - w(k,j,i-1) ) * ddx         &
+                      &   - kmxm_z * ( u(k+1,j,i) - u(k,j,i)   ) * ddzu(k+1)   &
+                      &   ) * ddx                                              &
+                      & + ( kmyp_y * ( w(k,j+1,i)   - w(k,j,i)   ) * ddy       &
+                      &   + kmyp_z * ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1) &
+                      &   - kmym_y * ( w(k,j,i)   - w(k,j-1,i) ) * ddy         &
+                      &   - kmym_z * ( v(k+1,j,i) - v(k,j,i)   ) * ddzu(k+1)   &
+                      &   ) * ddy                                              &
+                      & + 2.0 * (                                              &
+                      &   km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)  &
+                      & - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)  &
+                      &         ) * ddzu(k+1)
+             ENDDO
+
+!
+!--          Wall functions at all vertical walls, where necessary
+             IF ( wall_w_x(j,i) /= 0.0  .OR.  wall_w_y(j,i) /= 0.0 )  THEN
+
+                DO  k = nzb_w_inner(j,i)+1, nzb_w_outer(j,i)
+!
+!--                Interpolate eddy diffusivities on staggered gridpoints
+                   kmxp_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j,i+1)+km(k+1,j,i)+km(k+1,j,i+1) )
+                   kmxm_x = 0.25 * &
+                            ( km(k,j,i)+km(k,j,i-1)+km(k+1,j,i)+km(k+1,j,i-1) )
+                   kmxp_z = kmxp_x
+                   kmxm_z = kmxm_x
+                   kmyp_y = 0.25 * &
+                            ( km(k,j,i)+km(k+1,j,i)+km(k,j+1,i)+km(k+1,j+1,i) )
+                   kmym_y = 0.25 * &
+                            ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+                   kmyp_z = kmyp_y
+                   kmym_z = kmym_y
+!
+!--                Increase diffusion at the outflow boundary in case of
+!--                non-cyclic lateral boundaries. Damping is only needed for
+!--                velocity components parallel to the outflow boundary in
+!--                the direction normal to the outflow boundary.
+                   IF ( .NOT. bc_lr_cyc )  THEN
+                      kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                      kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+                   ENDIF
+                   IF ( .NOT. bc_ns_cyc )  THEN
+                      kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                      kmym_y = MAX( kmym_y, km_damp_y(j) )
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i)                                   &
+                                 + (   fwxp(j,i) * (                           &
+                            kmxp_x * ( w(k,j,i+1)   - w(k,j,i)   ) * ddx       &
+                          + kmxp_z * ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1) &
+                                                   )                           &
+                                     - fwxm(j,i) * (                           &
+                            kmxm_x * ( w(k,j,i)     - w(k,j,i-1) ) * ddx       &
+                          + kmxm_z * ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1) &
+                                                   )                           &
+                                     + wall_w_x(j,i) * wsus(k,j,i)             &
+                                   ) * ddx                                     &
+                                 + (   fwyp(j,i) * (                           &
+                            kmyp_y * ( w(k,j+1,i)   - w(k,j,i)   ) * ddy       &
+                          + kmyp_z * ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1) &
+                                                   )                           &
+                                     - fwym(j,i) * (                           &
+                            kmym_y * ( w(k,j,i)     - w(k,j-1,i) ) * ddy       &
+                          + kmym_z * ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1) &
+                                                   )                           &
+                                     + wall_w_y(j,i) * wsvs(k,j,i)             &
+                                   ) * ddy                                     &
+                                 + 2.0 * (                                     &
+                           km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1) &
+                         - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k) &
+                                         ) * ddzu(k+1)
+                ENDDO
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE diffusion_w
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE diffusion_w_ij( i, j, ddzu, ddzw, km, km_damp_x, km_damp_y, &
+                               tend, u, v, w )
+
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  kmxm_x, kmxm_z, kmxp_x, kmxp_z, kmym_y, kmym_z, kmyp_y, &
+                   kmyp_z
+       REAL    ::  ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1), &
+                   km_damp_y(nys-1:nyn+1)
+       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+       REAL, DIMENSION(nzb:nzt+1)      ::  wsus, wsvs
+       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
+
+
+       DO  k = nzb_w_outer(j,i)+1, nzt-1
+!
+!--       Interpolate eddy diffusivities on staggered gridpoints
+          kmxp_x = 0.25 * ( km(k,j,i)+km(k,j,i+1)+km(k+1,j,i)+km(k+1,j,i+1) )
+          kmxm_x = 0.25 * ( km(k,j,i)+km(k,j,i-1)+km(k+1,j,i)+km(k+1,j,i-1) )
+          kmxp_z = kmxp_x
+          kmxm_z = kmxm_x
+          kmyp_y = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j+1,i)+km(k+1,j+1,i) )
+          kmym_y = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+          kmyp_z = kmyp_y
+          kmym_z = kmym_y
+!
+!--       Increase diffusion at the outflow boundary in case of non-cyclic
+!--       lateral boundaries. Damping is only needed for velocity components
+!--       parallel to the outflow boundary in the direction normal to the
+!--       outflow boundary.
+          IF ( .NOT. bc_lr_cyc )  THEN
+             kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+             kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+          ENDIF
+          IF ( .NOT. bc_ns_cyc )  THEN
+             kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+             kmym_y = MAX( kmym_y, km_damp_y(j) )
+          ENDIF
+
+          tend(k,j,i) = tend(k,j,i)                                            &
+                      & + ( kmxp_x * ( w(k,j,i+1)   - w(k,j,i)   ) * ddx       &
+                      &   + kmxp_z * ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1) &
+                      &   - kmxm_x * ( w(k,j,i)   - w(k,j,i-1) ) * ddx         &
+                      &   - kmxm_z * ( u(k+1,j,i) - u(k,j,i)   ) * ddzu(k+1)   &
+                      &   ) * ddx                                              &
+                      & + ( kmyp_y * ( w(k,j+1,i)   - w(k,j,i)   ) * ddy       &
+                      &   + kmyp_z * ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1) &
+                      &   - kmym_y * ( w(k,j,i)   - w(k,j-1,i) ) * ddy         &
+                      &   - kmym_z * ( v(k+1,j,i) - v(k,j,i)   ) * ddzu(k+1)   &
+                      &   ) * ddy                                              &
+                      & + 2.0 * (                                              &
+                      &   km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)  &
+                      & - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)  &
+                      &         ) * ddzu(k+1)
+       ENDDO
+
+!
+!--    Wall functions at all vertical walls, where necessary
+       IF ( wall_w_x(j,i) /= 0.0  .OR.  wall_w_y(j,i) /= 0.0 )  THEN
+
+!
+!--       Calculate the horizontal momentum fluxes w'u' and/or w'v'
+          IF ( wall_w_x(j,i) /= 0.0 )  THEN
+             CALL wall_fluxes( i, j, nzb_w_inner(j,i)+1, nzb_w_outer(j,i), &
+                               wsus, 0.0, 0.0, 0.0, 1.0 )
+          ELSE
+             wsus = 0.0
+          ENDIF
+
+          IF ( wall_w_y(j,i) /= 0.0 )  THEN
+             CALL wall_fluxes( i, j, nzb_w_inner(j,i)+1, nzb_w_outer(j,i),  &
+                               wsvs, 0.0, 0.0, 1.0, 0.0 )
+          ELSE
+             wsvs = 0.0
+          ENDIF
+
+          DO  k = nzb_w_inner(j,i)+1, nzb_w_outer(j,i)
+!
+!--          Interpolate eddy diffusivities on staggered gridpoints
+             kmxp_x = 0.25 * ( km(k,j,i)+km(k,j,i+1)+km(k+1,j,i)+km(k+1,j,i+1) )
+             kmxm_x = 0.25 * ( km(k,j,i)+km(k,j,i-1)+km(k+1,j,i)+km(k+1,j,i-1) )
+             kmxp_z = kmxp_x
+             kmxm_z = kmxm_x
+             kmyp_y = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j+1,i)+km(k+1,j+1,i) )
+             kmym_y = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
+             kmyp_z = kmyp_y
+             kmym_z = kmym_y
+!
+!--          Increase diffusion at the outflow boundary in case of
+!--          non-cyclic lateral boundaries. Damping is only needed for
+!--          velocity components parallel to the outflow boundary in
+!--          the direction normal to the outflow boundary.
+             IF ( .NOT. bc_lr_cyc )  THEN
+                kmxp_x = MAX( kmxp_x, km_damp_x(i) )
+                kmxm_x = MAX( kmxm_x, km_damp_x(i) )
+             ENDIF
+             IF ( .NOT. bc_ns_cyc )  THEN
+                kmyp_y = MAX( kmyp_y, km_damp_y(j) )
+                kmym_y = MAX( kmym_y, km_damp_y(j) )
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i)                                         &
+                                 + (   fwxp(j,i) * (                           &
+                            kmxp_x * ( w(k,j,i+1)   - w(k,j,i)   ) * ddx       &
+                          + kmxp_z * ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1) &
+                                                   )                           &
+                                     - fwxm(j,i) * (                           &
+                            kmxm_x * ( w(k,j,i)     - w(k,j,i-1) ) * ddx       &
+                          + kmxm_z * ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1) &
+                                                   )                           &
+                                     + wall_w_x(j,i) * wsus(k)                 &
+                                   ) * ddx                                     &
+                                 + (   fwyp(j,i) * (                           &
+                            kmyp_y * ( w(k,j+1,i)   - w(k,j,i)   ) * ddy       &
+                          + kmyp_z * ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1) &
+                                                   )                           &
+                                     - fwym(j,i) * (                           &
+                            kmym_y * ( w(k,j,i)     - w(k,j-1,i) ) * ddy       &
+                          + kmym_z * ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1) &
+                                                   )                           &
+                                     + wall_w_y(j,i) * wsvs(k)                 &
+                                   ) * ddy                                     &
+                                 + 2.0 * (                                     &
+                           km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1) &
+                         - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k) &
+                                         ) * ddzu(k+1)
+          ENDDO
+       ENDIF
+
+    END SUBROUTINE diffusion_w_ij
+
+ END MODULE diffusion_w_mod
Index: palm/tags/release-3.7/SOURCE/diffusivities.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/diffusivities.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/diffusivities.f90	(revision 393)
@@ -0,0 +1,199 @@
+ SUBROUTINE diffusivities( var, var_reference )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+! 
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 137 2007-11-28 08:50:10Z letzel
+! Bugfix for summation of sums_l_l for flow_statistics
+! Vertical scalar profiles now based on nzb_s_inner and ngp_2dh_s_inner.
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Adjustment of mixing length calculation for the ocean version.
+! This is also a bugfix, because the height above the topography is now
+! used instead of the height above level k=0.
+! theta renamed var, dpt_dz renamed dvar_dz, +new argument var_reference
+! use_pt_reference renamed use_reference
+!
+! 57 2007-03-09 12:05:41Z raasch
+! Reference temperature pt_reference can be used in buoyancy term
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.24  2006/04/26 12:16:26  raasch
+! OpenMP optimization (+sums_l_l_t), sqrt_e must be private
+!
+! Revision 1.1  1997/09/19 07:41:10  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Computation of the turbulent diffusion coefficients for momentum and heat 
+! according to Prandtl-Kolmogorov
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, omp_get_thread_num, sr, tn
+
+    REAL    ::  dvar_dz, l_stable, var_reference
+
+    REAL, SAVE ::  phi_m = 1.0
+
+    REAL    ::  var(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+
+    REAL, DIMENSION(1:nzt) ::  l, ll, sqrt_e
+
+
+!
+!-- Default thread number in case of one thread
+    tn = 0
+
+!
+!-- Initialization for calculation of the mixing length profile
+    sums_l_l = 0.0
+
+!
+!-- Compute the turbulent diffusion coefficient for momentum
+    !$OMP PARALLEL PRIVATE (dvar_dz,i,j,k,l,ll,l_stable,phi_m,sqrt_e,sr,tn)
+!$  tn = omp_get_thread_num()
+
+    !$OMP DO
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+
+!
+!--       Compute the Phi-function for a possible adaption of the mixing length
+!--       to the Prandtl mixing length
+          IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+             IF ( rif(j,i) >= 0.0 )  THEN
+                phi_m = 1.0 + 5.0 * rif(j,i)
+             ELSE
+                phi_m = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif(j,i) ) )
+             ENDIF
+          ENDIF
+          
+!
+!--       Introduce an optional minimum tke
+          IF ( e_min > 0.0 )  THEN
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                e(k,j,i) = MAX( e(k,j,i), e_min )
+             ENDDO
+          ENDIF
+
+!
+!--       Calculate square root of e in a seperate loop, because it is used
+!--       twice in the next loop (better vectorization)
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             sqrt_e(k) = SQRT( e(k,j,i) )
+          ENDDO
+
+!
+!--       Determine the mixing length
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             dvar_dz = atmos_ocean_sign * &  ! inverse effect of pt/rho gradient
+                       ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
+             IF ( dvar_dz > 0.0 ) THEN
+                IF ( use_reference )  THEN
+                   l_stable = 0.76 * sqrt_e(k) / &
+                                     SQRT( g / var_reference * dvar_dz ) + 1E-5
+                ELSE
+                   l_stable = 0.76 * sqrt_e(k) / &
+                                     SQRT( g / var(k,j,i) * dvar_dz ) + 1E-5
+                ENDIF
+             ELSE
+                l_stable = l_grid(k)
+             ENDIF
+!
+!--          Adjustment of the mixing length
+             IF ( wall_adjustment )  THEN
+                l(k)  = MIN( l_wall(k,j,i), l_grid(k), l_stable )
+                ll(k) = MIN( l_wall(k,j,i), l_grid(k) )
+             ELSE
+                l(k)  = MIN( l_grid(k), l_stable )
+                ll(k) = l_grid(k)
+             ENDIF
+             IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                l(k)  = MIN( l(k),  kappa * &
+                                    ( zu(k) - zw(nzb_s_inner(j,i)) ) / phi_m )
+                ll(k) = MIN( ll(k), kappa * &
+                                    ( zu(k) - zw(nzb_s_inner(j,i)) ) / phi_m )
+             ENDIF
+
+!
+!--          Compute diffusion coefficients for momentum and heat
+             km(k,j,i) = 0.1 * l(k) * sqrt_e(k)
+             kh(k,j,i) = ( 1.0 + 2.0 * l(k) / ll(k) ) * km(k,j,i)
+
+          ENDDO
+
+!
+!--       Summation for averaged profile (cf. flow_statistics)
+!--       (the IF statement still requires a performance check on NEC machines)
+          DO  sr = 0, statistic_regions
+             IF ( rmask(j,i,sr) /= 0.0 .AND.  &
+                  i >= nxl .AND. i <= nxr .AND. j >= nys .AND. j <= nyn )  THEN
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   sums_l_l(k,sr,tn) = sums_l_l(k,sr,tn) + l(k)
+                ENDDO
+             ENDIF
+          ENDDO
+
+       ENDDO
+    ENDDO
+
+    sums_l_l(nzt+1,:,tn) = sums_l_l(nzt,:,tn)   ! quasi boundary-condition for
+                                                ! data output
+
+    !$OMP END PARALLEL
+
+!
+!-- Set vertical boundary values (Neumann conditions both at bottom and top).
+!-- Horizontal boundary conditions at vertical walls are not set because
+!-- so far vertical walls require usage of a Prandtl-layer where the boundary
+!-- values of the diffusivities are not needed
+    !$OMP PARALLEL DO
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+          km(nzb_s_inner(j,i),j,i) = km(nzb_s_inner(j,i)+1,j,i)
+          km(nzt+1,j,i)            = km(nzt,j,i)
+          kh(nzb_s_inner(j,i),j,i) = kh(nzb_s_inner(j,i)+1,j,i)
+          kh(nzt+1,j,i)            = kh(nzt,j,i)
+       ENDDO
+    ENDDO
+
+!
+!-- Set Neumann boundary conditions at the outflow boundaries in case of
+!-- non-cyclic lateral boundaries
+    IF ( outflow_l )  THEN
+       km(:,:,nxl-1) = km(:,:,nxl)
+       kh(:,:,nxl-1) = kh(:,:,nxl)
+    ENDIF
+    IF ( outflow_r )  THEN
+       km(:,:,nxr+1) = km(:,:,nxr)
+       kh(:,:,nxr+1) = kh(:,:,nxr)
+    ENDIF
+    IF ( outflow_s )  THEN
+       km(:,nys-1,:) = km(:,nys,:)
+       kh(:,nys-1,:) = kh(:,nys,:)
+    ENDIF
+    IF ( outflow_n )  THEN
+       km(:,nyn+1,:) = km(:,nyn,:)
+       kh(:,nyn+1,:) = kh(:,nyn,:)
+    ENDIF
+
+
+ END SUBROUTINE diffusivities
Index: palm/tags/release-3.7/SOURCE/disturb_field.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/disturb_field.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/disturb_field.f90	(revision 393)
@@ -0,0 +1,167 @@
+ SUBROUTINE disturb_field( nzb_uv_inner, dist1, field )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 75 2007-03-22 09:54:05Z raasch
+! xrp, ynp eliminated, 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2006/08/04 14:31:59  raasch
+! izuf renamed iran
+!
+! Revision 1.1  1998/02/04 15:40:45  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Imposing a random perturbation on a 3D-array.
+! On parallel computers, the random number generator is as well called for all
+! gridpoints of the total domain to ensure, regardless of the number of PEs
+! used, that the elements of the array have the same values in the same
+! order in every case. The perturbation range is steered by dist_range.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE random_function_mod
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+    INTEGER ::  nzb_uv_inner(nys-1:nyn+1,nxl-1:nxr+1)
+
+    REAL    ::  randomnumber,                             &
+                dist1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                field(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  dist2
+
+
+    CALL cpu_log( log_point(20), 'disturb_field', 'start' )
+
+!
+!-- Create an additional temporary array and initialize the arrays needed
+!-- to store the disturbance
+    ALLOCATE( dist2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    dist1 = 0.0
+    dist2 = 0.0
+
+!
+!-- Create the random perturbation and store it on temporary array
+    IF ( random_generator == 'numerical-recipes' )  THEN
+       DO  i = dist_nxl(dist_range), dist_nxr(dist_range)
+          DO  j = dist_nys(dist_range), dist_nyn(dist_range)
+             DO  k = disturbance_level_ind_b, disturbance_level_ind_t
+                randomnumber = 3.0 * disturbance_amplitude * &
+                               ( random_function( iran ) - 0.5 )
+                IF ( nxl <= i  .AND.  nxr >= i  .AND.  nys <= j  .AND.  &
+                     nyn >= j ) &
+                THEN
+                   dist1(k,j,i) = randomnumber
+                ENDIF
+             ENDDO
+          ENDDO
+       ENDDO
+    ELSEIF ( random_generator == 'system-specific' )  THEN
+       DO  i = dist_nxl(dist_range), dist_nxr(dist_range)
+          DO  j = dist_nys(dist_range), dist_nyn(dist_range)
+             DO  k = disturbance_level_ind_b, disturbance_level_ind_t
+#if defined( __nec )
+                randomnumber = 3.0 * disturbance_amplitude * &
+                               ( RANDOM( 0 ) - 0.5 )
+#else
+                CALL RANDOM_NUMBER( randomnumber )
+                randomnumber = 3.0 * disturbance_amplitude * &
+                                ( randomnumber - 0.5 )
+#endif
+                IF ( nxl <= i .AND. nxr >= i .AND. nys <= j .AND. nyn >= j ) &
+                THEN
+                   dist1(k,j,i) = randomnumber
+                ENDIF
+             ENDDO
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- Exchange of ghost points for the random perturbation
+    CALL exchange_horiz( dist1 )
+
+!
+!-- Applying the Shuman filter in order to smooth the perturbations.
+!-- Neighboured grid points in all three directions are used for the
+!-- filter operation.
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = disturbance_level_ind_b-1, disturbance_level_ind_t+1
+             dist2(k,j,i) = ( dist1(k,j,i-1) + dist1(k,j,i+1) + dist1(k,j-1,i) &
+                            + dist1(k,j+1,i) + dist1(k+1,j,i) + dist1(k-1,j,i) &
+                            + 6.0 * dist1(k,j,i)                               &
+                            ) / 12.0
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Exchange of ghost points for the filtered perturbation.
+!-- Afterwards, filter operation and exchange of ghost points are repeated.
+    CALL exchange_horiz( dist2 )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = disturbance_level_ind_b-2, disturbance_level_ind_t+2
+             dist1(k,j,i) = ( dist2(k,j,i-1) + dist2(k,j,i+1) + dist2(k,j-1,i) &
+                            + dist2(k,j+1,i) + dist2(k+1,j,i) + dist2(k-1,j,i) &
+                            + 6.0 * dist2(k,j,i)                               &
+                            ) / 12.0
+          ENDDO
+       ENDDO
+    ENDDO
+    CALL exchange_horiz( dist1 )
+
+!
+!-- Remove perturbations below topography (including one gridpoint above it
+!-- in order to allow for larger timesteps at the beginning of the simulation
+!-- (diffusion criterion))
+    IF ( TRIM( topography ) /= 'flat' )  THEN
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             dist1(nzb:nzb_uv_inner(j,i)+1,j,i) = 0.0
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Random perturbation is added to the array to be disturbed.
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+          DO  k = disturbance_level_ind_b-2, disturbance_level_ind_t+2
+             field(k,j,i) = field(k,j,i) + dist1(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Deallocate the temporary array
+    DEALLOCATE( dist2 )
+
+!
+!-- Set a flag, which indicates that a random perturbation is imposed
+    disturbance_created = .TRUE.
+
+
+    CALL cpu_log( log_point(20), 'disturb_field', 'stop' )
+
+
+ END SUBROUTINE disturb_field
Index: palm/tags/release-3.7/SOURCE/disturb_heatflux.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/disturb_heatflux.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/disturb_heatflux.f90	(revision 393)
@@ -0,0 +1,70 @@
+ SUBROUTINE disturb_heatflux
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.7  2006/08/04 14:35:07  raasch
+! Additional parameter in function random_gauss which limits the range of the
+! created random numbers, izuf renamed iran
+!
+! Revision 1.1  1998/03/25 20:03:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Generate random, normally distributed heatflux values and store them as the
+! near-surface heatflux.
+! On parallel computers, too, this random generator is called at all grid points
+! of the total array in order to guarantee the same random distribution of the
+! total array regardless of the number of processors used during the model run.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j
+    REAL    ::  random_gauss, randomnumber
+
+
+    CALL cpu_log( log_point(23), 'disturb_heatflux', 'start' )
+
+!
+!-- Generate random disturbances and store them
+    DO  i = 0, nx
+       DO  j = 0, ny
+          randomnumber = random_gauss( iran, 5.0 )
+          IF ( nxl <= i  .AND.  nxr >= i  .AND.  nys <= j  .AND.  nyn >= j ) &
+          THEN
+             IF ( nzb_s_inner(j,i) == 0 )  THEN
+                shf(j,i) = randomnumber * surface_heatflux
+!
+!--             Over topography surface_heatflux is replaced by wall_heatflux(0)
+                shf(j,i) = randomnumber * wall_heatflux(0)
+             ELSE
+             ENDIF
+          ENDIF
+       ENDDO
+    ENDDO
+
+!
+!-- Exchange lateral boundary conditions for the heatflux array
+    CALL exchange_horiz_2d( shf )
+
+    CALL cpu_log( log_point(23), 'disturb_heatflux', 'stop' )
+
+
+ END SUBROUTINE disturb_heatflux
Index: palm/tags/release-3.7/SOURCE/eqn_state_seawater.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/eqn_state_seawater.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/eqn_state_seawater.f90	(revision 393)
@@ -0,0 +1,241 @@
+ MODULE eqn_state_seawater_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Potential density is additionally calculated in eqn_state_seawater,
+! first constant in array den also defined as type double.
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Equation of state for seawater as a function of potential temperature,
+! salinity, and pressure.
+! For coefficients see Jackett et al., 2006: J. Atm. Ocean Tech.
+! eqn_state_seawater calculates the potential density referred at hyp(0).
+! eqn_state_seawater_func calculates density.
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    PRIVATE
+    PUBLIC eqn_state_seawater, eqn_state_seawater_func
+
+    REAL, DIMENSION(12), PARAMETER ::  nom =                             &
+                      (/ 9.9984085444849347D2,   7.3471625860981584D0,   &
+                        -5.3211231792841769D-2,  3.6492439109814549D-4,  &
+                         2.5880571023991390D0,  -6.7168282786692354D-3,  &
+                         1.9203202055760151D-3,  1.1798263740430364D-2,  &
+                         9.8920219266399117D-8,  4.6996642771754730D-6,  &
+                        -2.5862187075154352D-8, -3.2921414007960662D-12 /)
+
+    REAL, DIMENSION(13), PARAMETER ::  den =                             &
+                      (/ 1.0D0,                  7.2815210113327091D-3,  &
+                        -4.4787265461983921D-5,  3.3851002965802430D-7,  &
+                         1.3651202389758572D-10, 1.7632126669040377D-3,  &
+                        -8.8066583251206474D-6, -1.8832689434804897D-10, &
+                         5.7463776745432097D-6,  1.4716275472242334D-9,  &
+                         6.7103246285651894D-6, -2.4461698007024582D-17, &
+                        -9.1534417604289062D-18 /)
+
+    INTERFACE eqn_state_seawater
+       MODULE PROCEDURE eqn_state_seawater
+       MODULE PROCEDURE eqn_state_seawater_ij
+    END INTERFACE eqn_state_seawater
+ 
+    INTERFACE eqn_state_seawater_func
+       MODULE PROCEDURE eqn_state_seawater_func
+    END INTERFACE eqn_state_seawater_func
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE eqn_state_seawater
+
+       USE arrays_3d
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  pden, pnom, p1, p2, p3, pt1, pt2, pt3, pt4, sa1, sa15, sa2
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--             Pressure is needed in dbar
+                p1 = hyp(k) * 1E-4
+                p2 = p1 * p1
+                p3 = p2 * p1
+
+!
+!--             Temperature needed in degree Celsius
+                pt1 = pt_p(k,j,i) - 273.15
+                pt2 = pt1 * pt1
+                pt3 = pt1 * pt2
+                pt4 = pt2 * pt2
+
+                sa1  = sa_p(k,j,i)
+                sa15 = sa1 * SQRT( sa1 )
+                sa2  = sa1 * sa1
+
+                pnom = nom(1)           + nom(2)*pt1     + nom(3)*pt2     + &
+                       nom(4)*pt3       + nom(5)*sa1     + nom(6)*sa1*pt1 + &
+                       nom(7)*sa2
+
+                pden = den(1)           + den(2)*pt1     + den(3)*pt2     + &
+                       den(4)*pt3       + den(5)*pt4     + den(6)*sa1     + &
+                       den(7)*sa1*pt1   + den(8)*sa1*pt3 + den(9)*sa15    + &
+                       den(10)*sa15*pt2
+
+!
+!--             Potential density (without pressure terms)
+                prho(k,j,i) = pnom / pden
+
+                pnom = pnom +             nom(8)*p1      + nom(9)*p1*pt2  + &
+                       nom(10)*p1*sa1   + nom(11)*p2     + nom(12)*p2*pt2
+
+                pden = pden +             den(11)*p1     + den(12)*p2*pt3 + &
+                       den(13)*p3*pt1
+
+!
+!--             In-situ density
+                rho(k,j,i) = pnom / pden
+
+             ENDDO
+!
+!--          Neumann conditions are assumed at bottom and top boundary
+             prho(nzt+1,j,i)            = prho(nzt,j,i)
+             prho(nzb_s_inner(j,i),j,i) = prho(nzb_s_inner(j,i)+1,j,i)
+             rho(nzt+1,j,i)             = rho(nzt,j,i)
+             rho(nzb_s_inner(j,i),j,i)  = rho(nzb_s_inner(j,i)+1,j,i)
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE eqn_state_seawater
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE eqn_state_seawater_ij( i, j )
+
+       USE arrays_3d
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL ::  pden, pnom, p1, p2, p3, pt1, pt2, pt3, pt4, sa1, sa15, sa2
+
+       DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--       Pressure is needed in dbar
+          p1 = hyp(k) * 1E-4
+          p2 = p1 * p1
+          p3 = p2 * p1
+
+!
+!--       Temperature needed in degree Celsius
+          pt1 = pt_p(k,j,i) - 273.15
+          pt2 = pt1 * pt1
+          pt3 = pt1 * pt2
+          pt4 = pt2 * pt2
+
+          sa1  = sa_p(k,j,i)
+          sa15 = sa1 * SQRT( sa1 )
+          sa2  = sa1 * sa1
+
+          pnom = nom(1)           + nom(2)*pt1     + nom(3)*pt2     + &
+                 nom(4)*pt3       + nom(5)*sa1     + nom(6)*sa1*pt1 + &
+                 nom(7)*sa2
+
+          pden = den(1)           + den(2)*pt1     + den(3)*pt2     + &
+                 den(4)*pt3       + den(5)*pt4     + den(6)*sa1     + &
+                 den(7)*sa1*pt1   + den(8)*sa1*pt3 + den(9)*sa15    + &
+                 den(10)*sa15*pt2
+
+!
+!--       Potential density (without pressure terms)
+          prho(k,j,i) = pnom / pden
+
+          pnom = pnom +             nom(8)*p1      + nom(9)*p1*pt2  + &
+                 nom(10)*p1*sa1   + nom(11)*p2     + nom(12)*p2*pt2
+          pden = pden +             den(11)*p1     + den(12)*p2*pt3 + &
+                 den(13)*p3*pt1
+
+!
+!--       In-situ density
+          rho(k,j,i) = pnom / pden
+
+
+       ENDDO
+
+!
+!--    Neumann conditions are assumed at bottom and top boundary
+       prho(nzt+1,j,i)            = prho(nzt,j,i)
+       prho(nzb_s_inner(j,i),j,i) = prho(nzb_s_inner(j,i)+1,j,i)
+       rho(nzt+1,j,i)             = rho(nzt,j,i)
+       rho(nzb_s_inner(j,i),j,i)  = rho(nzb_s_inner(j,i)+1,j,i)
+
+    END SUBROUTINE eqn_state_seawater_ij
+
+
+!------------------------------------------------------------------------------!
+! Equation of state as a function
+!------------------------------------------------------------------------------!
+    REAL FUNCTION eqn_state_seawater_func( p, pt, sa )
+
+       IMPLICIT NONE
+
+       REAL ::  p, p1, p2, p3, pt, pt1, pt2, pt3, pt4, sa, sa15, sa2
+
+!
+!--    Pressure is needed in dbar
+       p1 = p  * 1E-4
+       p2 = p1 * p1
+       p3 = p2 * p1
+
+!
+!--    Temperature needed in degree Celsius
+       pt1 = pt - 273.15
+       pt2 = pt1 * pt1
+       pt3 = pt1 * pt2
+       pt4 = pt2 * pt2
+
+       sa15 = sa * SQRT( sa )
+       sa2  = sa * sa
+
+
+       eqn_state_seawater_func =                                               &
+         ( nom(1)        + nom(2)*pt1       + nom(3)*pt2    + nom(4)*pt3     + &
+           nom(5)*sa     + nom(6)*sa*pt1    + nom(7)*sa2    + nom(8)*p1      + &
+           nom(9)*p1*pt2 + nom(10)*p1*sa    + nom(11)*p2    + nom(12)*p2*pt2   &
+         ) /                                                                   &
+         ( den(1)        + den(2)*pt1       + den(3)*pt2    + den(4)*pt3     + &
+           den(5)*pt4    + den(6)*sa        + den(7)*sa*pt1 + den(8)*sa*pt3  + &
+           den(9)*sa15   + den(10)*sa15*pt2 + den(11)*p1    + den(12)*p2*pt3 + &
+           den(13)*p3*pt1                                                      &
+         )
+
+
+    END FUNCTION eqn_state_seawater_func
+
+ END MODULE eqn_state_seawater_mod
Index: palm/tags/release-3.7/SOURCE/exchange_horiz.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/exchange_horiz.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/exchange_horiz.f90	(revision 393)
@@ -0,0 +1,133 @@
+ SUBROUTINE exchange_horiz( ar )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Special cases for additional gridpoints along x or y in case of non-cyclic
+! boundary conditions are not regarded any more
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.16  2006/02/23 12:19:08  raasch
+! anz_yz renamed ngp_yz
+!
+! Revision 1.1  1997/07/24 11:13:29  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Exchange of lateral boundary values (parallel computers) and cyclic
+! lateral boundary conditions, respectively.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+#if defined( __parallel )
+    INTEGER, DIMENSION(4)                 ::  req
+    INTEGER, DIMENSION(MPI_STATUS_SIZE,4) ::  wait_stat
+#endif
+
+    REAL ::  ar(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+
+
+    CALL cpu_log( log_point_s(2), 'exchange_horiz', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Exchange of lateral boundary values for parallel computers
+    IF ( pdims(1) == 1  .OR.  mg_switch_to_pe0 )  THEN
+!
+!--    One-dimensional decomposition along y, boundary values can be exchanged
+!--    within the PE memory
+       IF ( bc_lr == 'cyclic' )  THEN
+          ar(:,nys:nyn,nxl-1) = ar(:,nys:nyn,nxr)
+          ar(:,nys:nyn,nxr+1) = ar(:,nys:nyn,nxl)
+       ENDIF
+
+    ELSE
+
+       req = 0
+!
+!--    Send left boundary, receive right one
+       CALL MPI_ISEND(                                                     &
+               ar(nzb,nys-1,nxl), ngp_yz(grid_level), MPI_REAL, pleft,  0, &
+                          comm2d, req(1), ierr )
+       CALL MPI_IRECV(                                                       &
+               ar(nzb,nys-1,nxr+1), ngp_yz(grid_level), MPI_REAL, pright, 0, &
+                          comm2d, req(2), ierr )
+!
+!--    Send right boundary, receive left one
+       CALL MPI_ISEND(                                                     &
+               ar(nzb,nys-1,nxr), ngp_yz(grid_level), MPI_REAL, pright, 1, &
+                          comm2d, req(3), ierr )
+       CALL MPI_IRECV(                                                       &
+               ar(nzb,nys-1,nxl-1), ngp_yz(grid_level), MPI_REAL, pleft,  1, &
+                          comm2d, req(4), ierr )
+       CALL MPI_WAITALL( 4, req, wait_stat, ierr )
+
+    ENDIF
+
+
+    IF ( pdims(2) == 1  .OR.  mg_switch_to_pe0 )  THEN
+!
+!--    One-dimensional decomposition along x, boundary values can be exchanged
+!--    within the PE memory
+       IF ( bc_ns == 'cyclic' )  THEN
+          ar(:,nys-1,:) = ar(:,nyn,:)
+          ar(:,nyn+1,:) = ar(:,nys,:)
+       ENDIF
+
+    ELSE
+
+       req = 0
+!
+!--    Send front boundary, receive rear one
+       CALL MPI_ISEND( ar(nzb,nys,nxl-1),   1, type_xz(grid_level), psouth, 0, &
+                       comm2d, req(1), ierr )
+       CALL MPI_IRECV( ar(nzb,nyn+1,nxl-1), 1, type_xz(grid_level), pnorth, 0, &
+                       comm2d, req(2), ierr )
+!
+!--    Send rear boundary, receive front one
+       CALL MPI_ISEND( ar(nzb,nyn,nxl-1),   1, type_xz(grid_level), pnorth, 1, &
+                       comm2d, req(3), ierr )
+       CALL MPI_IRECV( ar(nzb,nys-1,nxl-1), 1, type_xz(grid_level), psouth, 1, &
+                       comm2d, req(4), ierr )
+       call MPI_WAITALL( 4, req, wait_stat, ierr )
+
+    ENDIF
+
+
+#else
+
+!
+!-- Lateral boundary conditions in the non-parallel case
+    IF ( bc_lr == 'cyclic' )  THEN
+       ar(:,nys:nyn,nxl-1) = ar(:,nys:nyn,nxr)
+       ar(:,nys:nyn,nxr+1) = ar(:,nys:nyn,nxl)
+    ENDIF
+
+    IF ( bc_ns == 'cyclic' )  THEN
+       ar(:,nys-1,:) = ar(:,nyn,:)
+       ar(:,nyn+1,:) = ar(:,nys,:)
+    ENDIF
+
+#endif
+
+    CALL cpu_log( log_point_s(2), 'exchange_horiz', 'stop' )
+
+ END SUBROUTINE exchange_horiz
Index: palm/tags/release-3.7/SOURCE/exchange_horiz_2d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/exchange_horiz_2d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/exchange_horiz_2d.f90	(revision 393)
@@ -0,0 +1,204 @@
+ SUBROUTINE exchange_horiz_2d( ar )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 73 2007-03-20 08:33:14Z raasch
+! Neumann boundary conditions at inflow/outflow in case of non-cyclic boundary
+! conditions
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.9  2006/05/12 19:15:52  letzel
+! MPI_REAL replaced by MPI_INTEGER in exchange_horiz_2d_int
+!
+! Revision 1.1  1998/01/23 09:58:21  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Exchange of lateral (ghost) boundaries (parallel computers) and cyclic
+! boundary conditions, respectively, for 2D-arrays.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    REAL ::  ar(nys-1:nyn+1,nxl-1:nxr+1)
+
+
+    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Exchange of lateral boundary values for parallel computers
+    IF ( pdims(1) == 1 )  THEN
+
+!
+!--    One-dimensional decomposition along y, boundary values can be exchanged
+!--    within the PE memory
+       ar(nys:nyn,nxl-1) = ar(nys:nyn,nxr)
+       ar(nys:nyn,nxr+1) = ar(nys:nyn,nxl)
+
+    ELSE
+!
+!--    Send left boundary, receive right one
+       CALL MPI_SENDRECV( ar(nys,nxl),   ngp_y, MPI_REAL, pleft,  0, &
+                          ar(nys,nxr+1), ngp_y, MPI_REAL, pright, 0, &
+                          comm2d, status, ierr )
+!
+!--    Send right boundary, receive left one
+       CALL MPI_SENDRECV( ar(nys,nxr),   ngp_y, MPI_REAL, pright,  1, &
+                          ar(nys,nxl-1), ngp_y, MPI_REAL, pleft,   1, &
+                          comm2d, status, ierr )
+    ENDIF
+
+    IF ( pdims(2) == 1 )  THEN
+!
+!--    One-dimensional decomposition along x, boundary values can be exchanged
+!--    within the PE memory
+       ar(nys-1,:) = ar(nyn,:)
+       ar(nyn+1,:) = ar(nys,:)
+
+    ELSE
+!
+!--    Send front boundary, receive rear one
+       CALL MPI_SENDRECV( ar(nys,nxl-1),   1, type_x, psouth, 0, &
+                          ar(nyn+1,nxl-1), 1, type_x, pnorth, 0, &
+                          comm2d, status, ierr )
+!
+!--    Send rear boundary, receive front one
+       CALL MPI_SENDRECV( ar(nyn,nxl-1),   1, type_x, pnorth, 1, &
+                          ar(nys-1,nxl-1), 1, type_x, psouth, 1, &
+                          comm2d, status, ierr )
+    ENDIF
+
+#else
+
+!
+!-- Lateral boundary conditions in the non-parallel case
+    IF ( bc_lr == 'cyclic' )  THEN
+       ar(nys:nyn,nxl-1) = ar(nys:nyn,nxr)
+       ar(nys:nyn,nxr+1) = ar(nys:nyn,nxl)
+    ENDIF
+
+    IF ( bc_ns == 'cyclic' )  THEN
+       ar(nys-1,:) = ar(nyn,:)
+       ar(nyn+1,:) = ar(nys,:)
+    ENDIF
+
+#endif
+
+!
+!-- Neumann-conditions at inflow/outflow in case of non-cyclic boundary
+!-- conditions
+    IF ( inflow_l .OR. outflow_l )  ar(:,nxl-1) = ar(:,nxl)
+    IF ( inflow_r .OR. outflow_r )  ar(:,nxr+1) = ar(:,nxr)
+    IF ( inflow_s .OR. outflow_s )  ar(nys-1,:) = ar(nys,:)
+    IF ( inflow_n .OR. outflow_n )  ar(nyn+1,:) = ar(nyn,:)
+
+    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'stop' )
+
+ END SUBROUTINE exchange_horiz_2d
+
+
+
+ SUBROUTINE exchange_horiz_2d_int( ar )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Exchange of lateral (ghost) boundaries (parallel computers) and cyclic
+! boundary conditions, respectively, for 2D integer arrays.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  ar(nys-1:nyn+1,nxl-1:nxr+1)
+
+
+    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'start' )
+
+#if defined( __parallel )
+
+!
+!-- Exchange of lateral boundary values for parallel computers
+    IF ( pdims(1) == 1 )  THEN
+
+!
+!--    One-dimensional decomposition along y, boundary values can be exchanged
+!--    within the PE memory
+       ar(nys:nyn,nxl-1) = ar(nys:nyn,nxr)
+       ar(nys:nyn,nxr+1) = ar(nys:nyn,nxl)
+
+    ELSE
+!
+!--    Send left boundary, receive right one
+       CALL MPI_SENDRECV( ar(nys,nxl),   ngp_y, MPI_INTEGER, pleft,  0, &
+                          ar(nys,nxr+1), ngp_y, MPI_INTEGER, pright, 0, &
+                          comm2d, status, ierr )
+!
+!--    Send right boundary, receive left one
+       CALL MPI_SENDRECV( ar(nys,nxr),   ngp_y, MPI_INTEGER, pright,  1, &
+                          ar(nys,nxl-1), ngp_y, MPI_INTEGER, pleft,   1, &
+                          comm2d, status, ierr )
+    ENDIF
+
+    IF ( pdims(2) == 1 )  THEN
+!
+!--    One-dimensional decomposition along x, boundary values can be exchanged
+!--    within the PE memory
+       ar(nys-1,:) = ar(nyn,:)
+       ar(nyn+1,:) = ar(nys,:)
+
+    ELSE
+!
+!--    Send front boundary, receive rear one
+       CALL MPI_SENDRECV( ar(nys,nxl-1),   1, type_x_int, psouth, 0, &
+                          ar(nyn+1,nxl-1), 1, type_x_int, pnorth, 0, &
+                          comm2d, status, ierr )
+!
+!--    Send rear boundary, receive front one
+       CALL MPI_SENDRECV( ar(nyn,nxl-1),   1, type_x_int, pnorth, 1, &
+                          ar(nys-1,nxl-1), 1, type_x_int, psouth, 1, &
+                          comm2d, status, ierr )
+    ENDIF
+
+#else
+
+!
+!-- Lateral boundary conditions in the non-parallel case
+    IF ( bc_lr == 'cyclic' )  THEN
+       ar(nys:nyn,nxl-1) = ar(nys:nyn,nxr)
+       ar(nys:nyn,nxr+1) = ar(nys:nyn,nxl)
+    ENDIF
+
+    IF ( bc_ns == 'cyclic' )  THEN
+       ar(nys-1,:) = ar(nyn,:)
+       ar(nyn+1,:) = ar(nys,:)
+    ENDIF
+
+#endif
+
+    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'stop' )
+
+ END SUBROUTINE exchange_horiz_2d_int
Index: palm/tags/release-3.7/SOURCE/fft_xy.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/fft_xy.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/fft_xy.f90	(revision 393)
@@ -0,0 +1,830 @@
+ MODULE fft_xy
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! Feb. 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.4  2006/03/28 12:27:09  raasch
+! Stop when system-specific fft is selected on NEC. For unknown reasons this
+! causes a program abort during first allocation in init_grid.
+!
+! Revision 1.2  2004/04/30 11:44:27  raasch
+! Module renamed from fft_for_1d_decomp to fft_xy, 1d-routines renamed to
+! fft_x and fft_y,
+! function FFT replaced by subroutine FFTN due to problems with 64-bit
+! mode on ibm,
+! shape of array cwork is explicitly stored in ishape/jshape and handled
+! to routine FFTN instead of shape-function (due to compiler error on
+! decalpha),
+! non vectorized FFT for nec included
+!
+! Revision 1.1  2002/06/11 13:00:49  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Fast Fourier transformation along x and y for 1d domain decomposition along x.
+! Original version: Klaus Ketelsen (May 2002)
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+    USE control_parameters
+    USE indices
+    USE singleton
+    USE temperton_fft
+
+    IMPLICIT NONE
+
+    PRIVATE
+    PUBLIC fft_x, fft_y, fft_init, fft_x_m, fft_y_m
+
+    INTEGER, DIMENSION(:), ALLOCATABLE, SAVE ::  ifax_x, ifax_y
+
+    LOGICAL, SAVE                            ::  init_fft = .FALSE.
+
+    REAL, SAVE ::  sqr_nx, sqr_ny
+    REAL, DIMENSION(:), ALLOCATABLE, SAVE    ::  trigs_x, trigs_y
+
+#if defined( __ibm )
+    INTEGER, PARAMETER ::  nau1 = 20000, nau2 = 22000
+!
+!-- The following working arrays contain tables and have to be "save" and
+!-- shared in OpenMP sense
+    REAL, DIMENSION(nau1), SAVE ::  aux1, auy1, aux3, auy3
+#elif defined( __nec )
+    INTEGER, SAVE ::  nz1
+    REAL, DIMENSION(:), ALLOCATABLE, SAVE ::  trig_xb, trig_xf, trig_yb, &
+                                              trig_yf
+#endif
+
+!
+!-- Public interfaces
+    INTERFACE fft_init
+       MODULE PROCEDURE fft_init
+    END INTERFACE fft_init
+
+    INTERFACE fft_x
+       MODULE PROCEDURE fft_x
+    END INTERFACE fft_x
+
+    INTERFACE fft_y
+       MODULE PROCEDURE fft_y
+    END INTERFACE fft_y
+
+    INTERFACE fft_x_m
+       MODULE PROCEDURE fft_x_m
+    END INTERFACE fft_x_m
+
+    INTERFACE fft_y_m
+       MODULE PROCEDURE fft_y_m
+    END INTERFACE fft_y_m
+
+ CONTAINS
+
+
+    SUBROUTINE fft_init
+
+       IMPLICIT NONE
+
+!
+!--    The following temporary working arrays have to be on stack or private
+!--    in OpenMP sense
+#if defined( __ibm )
+       REAL, DIMENSION(0:nx+2) :: workx
+       REAL, DIMENSION(0:ny+2) :: worky
+       REAL, DIMENSION(nau2)   :: aux2, auy2, aux4, auy4
+#elif defined( __nec )
+       REAL, DIMENSION(0:nx+3,nz+1)   ::  work_x
+       REAL, DIMENSION(0:ny+3,nz+1)   ::  work_y
+       REAL, DIMENSION(6*(nx+3),nz+1) ::  workx
+       REAL, DIMENSION(6*(ny+3),nz+1) ::  worky
+#endif 
+
+!
+!--    Return, if already called
+       IF ( init_fft )  THEN
+          RETURN
+       ELSE
+          init_fft = .TRUE.
+       ENDIF
+
+       IF ( fft_method == 'system-specific' )  THEN
+
+          sqr_nx = SQRT( 1.0 / ( nx + 1.0 ) )
+          sqr_ny = SQRT( 1.0 / ( ny + 1.0 ) )
+#if defined( __ibm )  &&  ! defined( __ibmy_special )
+!
+!--       Initialize tables for fft along x
+          CALL DRCFT( 1, workx, 1, workx, 1, nx+1, 1,  1, sqr_nx, aux1, nau1, &
+                      aux2, nau2 )
+          CALL DCRFT( 1, workx, 1, workx, 1, nx+1, 1, -1, sqr_nx, aux3, nau1, &
+                      aux4, nau2 )
+!
+!--       Initialize tables for fft along y
+          CALL DRCFT( 1, worky, 1, worky, 1, ny+1, 1,  1, sqr_ny, auy1, nau1, &
+                      auy2, nau2 )
+          CALL DCRFT( 1, worky, 1, worky, 1, ny+1, 1, -1, sqr_ny, auy3, nau1, &
+                      auy4, nau2 )
+#elif defined( __nec )
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" currently does not work on NEC'
+          CALL message( 'fft_init', 'PA0187', 1, 2, 0, 6, 0 )
+
+          ALLOCATE( trig_xb(2*(nx+1)), trig_xf(2*(nx+1)), &
+                    trig_yb(2*(ny+1)), trig_yf(2*(ny+1)) )
+
+          work_x = 0.0
+          work_y = 0.0
+          nz1  = nz + MOD( nz+1, 2 )  ! odd nz slows down fft significantly
+                                      ! when using the NEC ffts
+
+!
+!--       Initialize tables for fft along x (non-vector and vector case (M))
+          CALL DZFFT( 0, nx+1, sqr_nx, work_x, work_x, trig_xf, workx, 0 )
+          CALL ZDFFT( 0, nx+1, sqr_nx, work_x, work_x, trig_xb, workx, 0 )
+          CALL DZFFTM( 0, nx+1, nz1, sqr_nx, work_x, nx+4, work_x, nx+4, &
+                       trig_xf, workx, 0 )
+          CALL ZDFFTM( 0, nx+1, nz1, sqr_nx, work_x, nx+4, work_x, nx+4, &
+                       trig_xb, workx, 0 )
+!
+!--       Initialize tables for fft along y (non-vector and vector case (M))
+          CALL DZFFT( 0, ny+1, sqr_ny, work_y, work_y, trig_yf, worky, 0 )
+          CALL ZDFFT( 0, ny+1, sqr_ny, work_y, work_y, trig_yb, worky, 0 )
+          CALL DZFFTM( 0, ny+1, nz1, sqr_ny, work_y, ny+4, work_y, ny+4, &
+                       trig_yf, worky, 0 )
+          CALL ZDFFTM( 0, ny+1, nz1, sqr_ny, work_y, ny+4, work_y, ny+4, &
+                       trig_yb, worky, 0 )
+#else
+          message_string = 'no system-specific fft-call available'
+          CALL message( 'fft_init', 'PA0188', 1, 2, 0, 6, 0 )
+#endif
+       ELSEIF ( fft_method == 'temperton-algorithm' )  THEN
+!
+!--       Temperton-algorithm
+!--       Initialize tables for fft along x and y
+          ALLOCATE( ifax_x(nx+1), ifax_y(ny+1), trigs_x(nx+1), trigs_y(ny+1) )
+
+          CALL set99( trigs_x, ifax_x, nx+1 )
+          CALL set99( trigs_y, ifax_y, ny+1 )
+
+       ELSEIF ( fft_method == 'singleton-algorithm' )  THEN
+
+          CONTINUE
+
+       ELSE
+
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" not available'
+          CALL message( 'fft_init', 'PA0189', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    END SUBROUTINE fft_init
+
+
+    SUBROUTINE fft_x( ar, direction )
+
+!----------------------------------------------------------------------!
+!                                 fft_x                                !
+!                                                                      !
+!               Fourier-transformation along x-direction               !
+!                                                                      !
+!      fft_x uses internal algorithms (Singleton or Temperton) or      !
+!           system-specific routines, if they are available            !
+!----------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER ::  i, ishape(1)
+
+!kk    REAL, DIMENSION(:)        ::  ar !kk Does NOT work (Bug??)
+       REAL, DIMENSION(0:nx)     ::  ar
+       REAL, DIMENSION(0:nx+2)   ::  work
+       REAL, DIMENSION(nx+2)     ::  work1
+       COMPLEX, DIMENSION(:), ALLOCATABLE ::  cwork
+#if defined( __ibm )
+       REAL, DIMENSION(nau2)     ::  aux2, aux4
+#elif defined( __nec )
+       REAL, DIMENSION(6*(nx+1)) ::  work2
+#endif
+
+       IF ( fft_method == 'singleton-algorithm' )  THEN
+
+!
+!--       Performing the fft with singleton's software works on every system,
+!--       since it is part of the model
+          ALLOCATE( cwork(0:nx) )
+      
+          IF ( direction == 'forward')   then
+
+             DO  i = 0, nx
+                cwork(i) = CMPLX( ar(i) )
+             ENDDO
+             ishape = SHAPE( cwork )
+             CALL FFTN( cwork, ishape )
+
+             DO  i = 0, (nx+1)/2
+                ar(i) = REAL( cwork(i) )
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                ar(nx+1-i) = -AIMAG( cwork(i) )
+             ENDDO
+
+          ELSE
+
+             cwork(0) = CMPLX( ar(0), 0.0 )
+             DO  i = 1, (nx+1)/2 - 1
+                cwork(i)      = CMPLX( ar(i), -ar(nx+1-i) )
+                cwork(nx+1-i) = CMPLX( ar(i),  ar(nx+1-i) )
+             ENDDO
+             cwork((nx+1)/2) = CMPLX( ar((nx+1)/2), 0.0 )
+
+             ishape = SHAPE( cwork )
+             CALL FFTN( cwork, ishape, inv = .TRUE. )
+
+             DO  i = 0, nx
+                ar(i) = REAL( cwork(i) )
+             ENDDO
+
+          ENDIF
+
+          DEALLOCATE( cwork )
+
+       ELSEIF ( fft_method == 'temperton-algorithm' )  THEN
+
+!
+!--       Performing the fft with Temperton's software works on every system,
+!--       since it is part of the model
+          IF ( direction == 'forward' )  THEN
+
+             work(0:nx) = ar
+             CALL fft991cy( work, work1, trigs_x, ifax_x, 1, nx+1, nx+1, 1, -1 )
+
+             DO  i = 0, (nx+1)/2
+                ar(i) = work(2*i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                ar(nx+1-i) = work(2*i+1)
+             ENDDO
+
+          ELSE
+
+             DO  i = 0, (nx+1)/2
+                work(2*i) = ar(i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                work(2*i+1) = ar(nx+1-i)
+             ENDDO
+             work(1)    = 0.0
+             work(nx+2) = 0.0
+
+             CALL fft991cy( work, work1, trigs_x, ifax_x, 1, nx+1, nx+1, 1, 1 )
+             ar = work(0:nx)
+
+          ENDIF
+
+       ELSEIF ( fft_method == 'system-specific' )  THEN
+
+#if defined( __ibm )  &&  ! defined( __ibmy_special )
+          IF ( direction == 'forward' )  THEN
+
+             CALL DRCFT( 0, ar, 1, work, 1, nx+1, 1, 1, sqr_nx, aux1, nau1, &
+                         aux2, nau2 )
+
+             DO  i = 0, (nx+1)/2
+                ar(i) = work(2*i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                ar(nx+1-i) = work(2*i+1)
+             ENDDO
+
+          ELSE
+
+             DO  i = 0, (nx+1)/2
+                work(2*i) = ar(i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                work(2*i+1) = ar(nx+1-i)
+             ENDDO
+             work(1) = 0.0
+             work(nx+2) = 0.0
+
+             CALL DCRFT( 0, work, 1, work, 1, nx+1, 1, -1, sqr_nx, aux3, nau1, &
+                         aux4, nau2 )
+
+             DO  i = 0, nx
+                ar(i) = work(i)
+             ENDDO
+
+          ENDIF
+#elif defined( __nec )
+          IF ( direction == 'forward' )  THEN
+
+             work(0:nx) = ar(0:nx)
+
+             CALL DZFFT( 1, nx+1, sqr_nx, work, work, trig_xf, work2, 0 )
+
+             DO  i = 0, (nx+1)/2
+                ar(i) = work(2*i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                ar(nx+1-i) = work(2*i+1)
+             ENDDO
+
+          ELSE
+
+             DO  i = 0, (nx+1)/2
+                work(2*i) = ar(i)
+             ENDDO
+             DO  i = 1, (nx+1)/2 - 1
+                work(2*i+1) = ar(nx+1-i)
+             ENDDO
+             work(1) = 0.0
+             work(nx+2) = 0.0
+
+             CALL ZDFFT( -1, nx+1, sqr_nx, work, work, trig_xb, work2, 0 )
+
+             ar(0:nx) = work(0:nx)
+
+          ENDIF
+#else
+          message_string = 'no system-specific fft-call available'
+          CALL message( 'fft_x', 'PA0188', 1, 2, 0, 6, 0 )
+#endif
+       ELSE
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" not available'
+          CALL message( 'fft_x', 'PA0189', 1, 2, 0, 6, 0 )
+
+       ENDIF
+
+    END SUBROUTINE fft_x
+
+    SUBROUTINE fft_y( ar, direction )
+
+!----------------------------------------------------------------------!
+!                                 fft_y                                !
+!                                                                      !
+!               Fourier-transformation along y-direction               !
+!                                                                      !
+!      fft_y uses internal algorithms (Singleton or Temperton) or      !
+!           system-specific routines, if they are available            !
+!----------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER ::  j, jshape(1)
+
+!kk    REAL, DIMENSION(:)        ::  ar !kk Does NOT work (Bug??)
+       REAL, DIMENSION(0:ny)     ::  ar
+       REAL, DIMENSION(0:ny+2)   ::  work
+       REAL, DIMENSION(ny+2)     ::  work1
+       COMPLEX, DIMENSION(:), ALLOCATABLE ::  cwork
+#if defined( __ibm )
+       REAL, DIMENSION(nau2)     ::  auy2, auy4
+#elif defined( __nec )
+       REAL, DIMENSION(6*(ny+1)) ::  work2
+#endif
+
+       IF ( fft_method == 'singleton-algorithm' )  THEN
+
+!
+!--       Performing the fft with singleton's software works on every system,
+!--       since it is part of the model
+          ALLOCATE( cwork(0:ny) )
+
+          IF ( direction == 'forward')  THEN
+
+             DO  j = 0, ny
+                cwork(j) = CMPLX( ar(j) )
+             ENDDO
+
+             jshape = SHAPE( cwork )
+             CALL FFTN( cwork, jshape )
+
+             DO  j = 0, (ny+1)/2
+                ar(j) = REAL( cwork(j) )
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                ar(ny+1-j) = -AIMAG( cwork(j) )
+             ENDDO
+
+          ELSE
+
+             cwork(0) = CMPLX( ar(0), 0.0 )
+             DO  j = 1, (ny+1)/2 - 1
+                cwork(j)      = CMPLX( ar(j), -ar(ny+1-j) )
+                cwork(ny+1-j) = CMPLX( ar(j),  ar(ny+1-j) )
+             ENDDO
+             cwork((ny+1)/2) = CMPLX( ar((ny+1)/2), 0.0 )
+
+             jshape = SHAPE( cwork )
+             CALL FFTN( cwork, jshape, inv = .TRUE. )
+
+             DO  j = 0, ny
+                ar(j) = REAL( cwork(j) )
+             ENDDO
+
+          ENDIF
+
+          DEALLOCATE( cwork )
+
+       ELSEIF ( fft_method == 'temperton-algorithm' )  THEN
+
+!
+!--       Performing the fft with Temperton's software works on every system,
+!--       since it is part of the model
+          IF ( direction == 'forward' )  THEN
+
+             work(0:ny) = ar
+             CALL fft991cy( work, work1, trigs_y, ifax_y, 1, ny+1, ny+1, 1, -1 )
+
+             DO  j = 0, (ny+1)/2
+                ar(j) = work(2*j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                ar(ny+1-j) = work(2*j+1)
+             ENDDO
+
+          ELSE
+
+             DO  j = 0, (ny+1)/2
+                work(2*j) = ar(j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                work(2*j+1) = ar(ny+1-j)
+             ENDDO
+             work(1)    = 0.0
+             work(ny+2) = 0.0
+
+             CALL fft991cy( work, work1, trigs_y, ifax_y, 1, ny+1, ny+1, 1, 1 )
+             ar = work(0:ny)
+
+          ENDIF
+
+       ELSEIF ( fft_method == 'system-specific' )  THEN
+
+#if defined( __ibm )  &&  ! defined( __ibmy_special )
+          IF ( direction == 'forward')  THEN
+
+             CALL DRCFT( 0, ar, 1, work, 1, ny+1, 1, 1, sqr_ny, auy1, nau1, &
+                         auy2, nau2 )
+
+             DO  j = 0, (ny+1)/2
+                ar(j) = work(2*j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                ar(ny+1-j) = work(2*j+1)
+             ENDDO
+
+          ELSE
+
+             DO  j = 0, (ny+1)/2
+                work(2*j) = ar(j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                work(2*j+1) = ar(ny+1-j)
+             ENDDO
+             work(1)    = 0.0
+             work(ny+2) = 0.0
+
+             CALL DCRFT( 0, work, 1, work, 1, ny+1, 1, -1, sqr_ny, auy3, nau1, &
+                         auy4, nau2 )
+
+             DO  j = 0, ny
+                ar(j) = work(j)
+             ENDDO
+
+          ENDIF
+#elif defined( __nec )
+          IF ( direction == 'forward' )  THEN
+
+             work(0:ny) = ar(0:ny)
+
+             CALL DZFFT( 1, ny+1, sqr_ny, work, work, trig_yf, work2, 0 )
+
+             DO  j = 0, (ny+1)/2
+                ar(j) = work(2*j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                ar(ny+1-j) = work(2*j+1)
+             ENDDO
+
+          ELSE
+
+             DO  j = 0, (ny+1)/2
+                work(2*j) = ar(j)
+             ENDDO
+             DO  j = 1, (ny+1)/2 - 1
+                work(2*j+1) = ar(ny+1-j)
+             ENDDO
+             work(1) = 0.0
+             work(ny+2) = 0.0
+
+             CALL ZDFFT( -1, ny+1, sqr_ny, work, work, trig_yb, work2, 0 )
+
+             ar(0:ny) = work(0:ny)
+
+          ENDIF
+#else
+          message_string = 'no system-specific fft-call available'
+          CALL message( 'fft_y', 'PA0188', 1, 2, 0, 6, 0 ) 
+
+#endif
+
+       ELSE
+
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" not available'
+          CALL message( 'fft_y', 'PA0189', 1, 2, 0, 6, 0 )
+
+       ENDIF
+
+    END SUBROUTINE fft_y
+
+    SUBROUTINE fft_x_m( ar, direction )
+
+!----------------------------------------------------------------------!
+!                               fft_x_m                                !
+!                                                                      !
+!               Fourier-transformation along x-direction               !
+!                 Version for 1d domain decomposition                  !
+!             using multiple 1D FFT from Math Keisan on NEC            !
+!                       or Temperton-algorithm                         !
+!       (no singleton-algorithm on NEC because it does not vectorize)  !
+!                                                                      !
+!----------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*)              ::  direction
+       INTEGER                        ::  i, k, siza, sizw
+
+       REAL, DIMENSION(0:nx,nz)       ::  ar
+       REAL, DIMENSION(0:nx+3,nz+1)   ::  ai
+       REAL, DIMENSION(6*(nx+4),nz+1) ::  work1
+#if defined( __nec )
+       COMPLEX, DIMENSION((nx+4)/2+1,nz+1) ::  work
+#endif
+
+       IF ( fft_method == 'temperton-algorithm' )  THEN
+
+          siza = SIZE( ai, 1 )
+
+          IF ( direction == 'forward')  THEN
+
+             ai(0:nx,1:nz) = ar(0:nx,1:nz)
+             ai(nx+1:,:)   = 0.0
+
+             CALL fft991cy( ai, work1, trigs_x, ifax_x, 1, siza, nx+1, nz, -1 )
+
+             DO  k = 1, nz
+                DO  i = 0, (nx+1)/2
+                   ar(i,k) = ai(2*i,k)
+                ENDDO
+                DO  i = 1, (nx+1)/2 - 1
+                   ar(nx+1-i,k) = ai(2*i+1,k)
+                ENDDO
+             ENDDO
+
+          ELSE
+
+             DO  k = 1, nz
+                DO  i = 0, (nx+1)/2
+                   ai(2*i,k) = ar(i,k)
+                ENDDO
+                DO  i = 1, (nx+1)/2 - 1
+                   ai(2*i+1,k) = ar(nx+1-i,k)
+                ENDDO
+                ai(1,k) = 0.0
+                ai(nx+2,k) = 0.0
+             ENDDO
+
+             CALL fft991cy( ai, work1, trigs_x, ifax_x, 1, siza, nx+1, nz, 1 )
+
+             ar(0:nx,1:nz) = ai(0:nx,1:nz)
+
+          ENDIF
+
+       ELSEIF ( fft_method == 'system-specific' )  THEN
+
+#if defined( __nec )
+          siza = SIZE( ai, 1 )
+          sizw = SIZE( work, 1 )
+
+          IF ( direction == 'forward')  THEN
+
+!
+!--          Tables are initialized once more. This call should not be
+!--          necessary, but otherwise program aborts in asymmetric case
+             CALL DZFFTM( 0, nx+1, nz1, sqr_nx, work, nx+4, work, nx+4, &
+                          trig_xf, work1, 0 )
+
+             ai(0:nx,1:nz) = ar(0:nx,1:nz)
+             IF ( nz1 > nz )  THEN
+                ai(:,nz1) = 0.0
+             ENDIF
+
+             CALL DZFFTM( 1, nx+1, nz1, sqr_nx, ai, siza, work, sizw, &
+                          trig_xf, work1, 0 )
+
+             DO  k = 1, nz
+                DO  i = 0, (nx+1)/2
+                   ar(i,k) = REAL( work(i+1,k) )
+                ENDDO
+                DO  i = 1, (nx+1)/2 - 1
+                   ar(nx+1-i,k) = AIMAG( work(i+1,k) )
+                ENDDO
+             ENDDO
+
+          ELSE
+
+!
+!--          Tables are initialized once more. This call should not be
+!--          necessary, but otherwise program aborts in asymmetric case
+             CALL ZDFFTM( 0, nx+1, nz1, sqr_nx, work, nx+4, work, nx+4, &
+                          trig_xb, work1, 0 )
+
+             IF ( nz1 > nz )  THEN
+                work(:,nz1) = 0.0
+             ENDIF
+             DO  k = 1, nz
+                work(1,k) = CMPLX( ar(0,k), 0.0 )
+                DO  i = 1, (nx+1)/2 - 1
+                   work(i+1,k) = CMPLX( ar(i,k), ar(nx+1-i,k) )
+                ENDDO
+                work(((nx+1)/2)+1,k) = CMPLX( ar((nx+1)/2,k), 0.0 )
+             ENDDO
+
+             CALL ZDFFTM( -1, nx+1, nz1, sqr_nx, work, sizw, ai, siza, &
+                          trig_xb, work1, 0 )
+
+             ar(0:nx,1:nz) = ai(0:nx,1:nz)
+
+          ENDIF
+
+#else
+          message_string = 'no system-specific fft-call available'
+          CALL message( 'fft_x_m', 'PA0188', 1, 2, 0, 6, 0 ) 
+#endif
+
+       ELSE
+
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" not available'
+          CALL message( 'fft_x_m', 'PA0189', 1, 2, 0, 6, 0 )
+
+       ENDIF
+
+    END SUBROUTINE fft_x_m
+
+    SUBROUTINE fft_y_m( ar, ny1, direction )
+
+!----------------------------------------------------------------------!
+!                               fft_y_m                                !
+!                                                                      !
+!               Fourier-transformation along y-direction               !
+!                 Version for 1d domain decomposition                  !
+!             using multiple 1D FFT from Math Keisan on NEC            !
+!                       or Temperton-algorithm                         !
+!       (no singleton-algorithm on NEC because it does not vectorize)  !
+!                                                                      !
+!----------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*)              ::  direction
+       INTEGER                        ::  j, k, ny1, siza, sizw
+
+       REAL, DIMENSION(0:ny1,nz)      ::  ar
+       REAL, DIMENSION(0:ny+3,nz+1)   ::  ai
+       REAL, DIMENSION(6*(ny+4),nz+1) ::  work1
+#if defined( __nec )
+       COMPLEX, DIMENSION((ny+4)/2+1,nz+1) ::  work
+#endif
+
+       IF ( fft_method == 'temperton-algorithm' )  THEN
+
+          siza = SIZE( ai, 1 )
+
+          IF ( direction == 'forward')  THEN
+
+             ai(0:ny,1:nz) = ar(0:ny,1:nz)
+             ai(ny+1:,:)   = 0.0
+
+             CALL fft991cy( ai, work1, trigs_y, ifax_y, 1, siza, ny+1, nz, -1 )
+
+             DO  k = 1, nz
+                DO  j = 0, (ny+1)/2
+                   ar(j,k) = ai(2*j,k)
+                ENDDO
+                DO  j = 1, (ny+1)/2 - 1
+                   ar(ny+1-j,k) = ai(2*j+1,k)
+                ENDDO
+             ENDDO
+
+          ELSE
+
+             DO  k = 1, nz
+                DO  j = 0, (ny+1)/2
+                   ai(2*j,k) = ar(j,k)
+                ENDDO
+                DO  j = 1, (ny+1)/2 - 1
+                   ai(2*j+1,k) = ar(ny+1-j,k)
+                ENDDO
+                ai(1,k) = 0.0
+                ai(ny+2,k) = 0.0
+             ENDDO
+
+             CALL fft991cy( ai, work1, trigs_y, ifax_y, 1, siza, ny+1, nz, 1 )
+
+             ar(0:ny,1:nz) = ai(0:ny,1:nz)
+
+          ENDIF
+
+       ELSEIF ( fft_method == 'system-specific' )  THEN
+
+#if defined( __nec )
+          siza = SIZE( ai, 1 )
+          sizw = SIZE( work, 1 )
+
+          IF ( direction == 'forward')  THEN
+
+!
+!--          Tables are initialized once more. This call should not be
+!--          necessary, but otherwise program aborts in asymmetric case
+             CALL DZFFTM( 0, ny+1, nz1, sqr_ny, work, ny+4, work, ny+4, &
+                          trig_yf, work1, 0 )
+
+             ai(0:ny,1:nz) = ar(0:ny,1:nz)
+             IF ( nz1 > nz )  THEN
+                ai(:,nz1) = 0.0
+             ENDIF
+
+             CALL DZFFTM( 1, ny+1, nz1, sqr_ny, ai, siza, work, sizw, &
+                          trig_yf, work1, 0 )
+
+             DO  k = 1, nz
+                DO  j = 0, (ny+1)/2
+                   ar(j,k) = REAL( work(j+1,k) )
+                ENDDO
+                DO  j = 1, (ny+1)/2 - 1
+                   ar(ny+1-j,k) = AIMAG( work(j+1,k) )
+                ENDDO
+             ENDDO
+
+          ELSE
+
+!
+!--          Tables are initialized once more. This call should not be
+!--          necessary, but otherwise program aborts in asymmetric case
+             CALL ZDFFTM( 0, ny+1, nz1, sqr_ny, work, ny+4, work, ny+4, &
+                          trig_yb, work1, 0 )
+
+             IF ( nz1 > nz )  THEN
+                work(:,nz1) = 0.0
+             ENDIF
+             DO  k = 1, nz
+                work(1,k) = CMPLX( ar(0,k), 0.0 )
+                DO  j = 1, (ny+1)/2 - 1
+                   work(j+1,k) = CMPLX( ar(j,k), ar(ny+1-j,k) )
+                ENDDO
+                work(((ny+1)/2)+1,k) = CMPLX( ar((ny+1)/2,k), 0.0 )
+             ENDDO
+
+             CALL ZDFFTM( -1, ny+1, nz1, sqr_ny, work, sizw, ai, siza, &
+                          trig_yb, work1, 0 )
+
+             ar(0:ny,1:nz) = ai(0:ny,1:nz)
+
+          ENDIF
+
+#else
+          message_string = 'no system-specific fft-call available'
+          CALL message( 'fft_y_m', 'PA0188', 1, 2, 0, 6, 0 ) 
+#endif
+
+       ELSE
+         
+          message_string = 'fft method "' // TRIM( fft_method) // &
+                           '" not available'
+          CALL message( 'fft_x_m', 'PA0189', 1, 2, 0, 6, 0 )
+
+       ENDIF
+
+    END SUBROUTINE fft_y_m
+
+ END MODULE fft_xy
Index: palm/tags/release-3.7/SOURCE/flow_statistics.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/flow_statistics.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/flow_statistics.f90	(revision 393)
@@ -0,0 +1,1075 @@
+ SUBROUTINE flow_statistics
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Vertical profiles of potential density and hydrostatic pressure are
+! calculated.
+! Added missing timeseries calculation of w"q"(0), moved timeseries q* to the
+! end.
+! Temperature gradient criterion for estimating the boundary layer height
+! replaced by the gradient criterion of Sullivan et al. (1998).
+! Output of messages replaced by message handling routine.
+!
+! 197 2008-09-16 15:29:03Z raasch
+! Spline timeseries splptx etc. removed, timeseries w'u', w'v', w'q' (k=0)
+! added,
+! bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) 
+! (like other scalars)
+!
+! 133 2007-11-20 10:10:53Z letzel
+! Vertical profiles now based on nzb_s_inner; they are divided by 
+! ngp_2dh_s_inner (scalars, procucts of scalars) and ngp_2dh (staggered 
+! velocity components and their products, procucts of scalars and velocity 
+! components), respectively.
+!
+! 106 2007-08-16 14:30:26Z raasch
+! Prescribed momentum fluxes at the top surface are used,
+! profiles for w*p* and w"e are calculated
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Statistics for ocean version (salinity, density) added,
+! calculation of z_i and Deardorff velocity scale adjusted to be used with
+! the ocean version
+!
+! 87 2007-05-22 15:46:47Z raasch
+! Two more arguments added to user_statistics, which is now also called for
+! user-defined profiles,
+! var_hom and var_sum renamed pr_palm
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Cpp-directive lcmuk changed to intel_openmp_bug
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Collection of time series quantities moved from routine flow_statistics to
+! here, routine user_statistics is called for each statistic region,
+! moisture renamed humidity
+!
+! 19 2007-02-23 04:53:48Z raasch
+! fluxes at top modified (tswst, qswst)
+! 
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.41  2006/08/04 14:37:50  raasch
+! Error removed in non-parallel part (sums_l)
+!
+! Revision 1.1  1997/08/11 06:15:17  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Compute average profiles and further average flow quantities for the different
+! user-defined (sub-)regions. The region indexed 0 is the total model domain.
+!
+! NOTE: For simplicity, nzb_s_inner and nzb_diff_s_inner are being used as a
+! ----  lower vertical index for k-loops for all variables, although strictly 
+! speaking the k-loops would have to be split up according to the staggered 
+! grid. However, this implies no error since staggered velocity components are 
+! zero at the walls and inside buildings.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE cloud_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE statistics
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, omp_get_thread_num, sr, tn
+    LOGICAL ::  first
+    REAL    ::  dptdz_threshold, height, pts, sums_l_eper, sums_l_etot, ust, &
+                ust2, u2, vst, vst2, v2, w2, z_i(2)
+    REAL    ::  dptdz(nzb+1:nzt+1)
+    REAL    ::  sums_ll(nzb:nzt+1,2)
+
+
+    CALL cpu_log( log_point(10), 'flow_statistics', 'start' )
+
+!
+!-- To be on the safe side, check whether flow_statistics has already been
+!-- called once after the current time step
+    IF ( flow_statistics_called )  THEN
+
+       message_string = 'flow_statistics is called two times within one ' // &
+                        'timestep'
+       CALL message( 'flow_statistics', 'PA0190', 1, 2, 0, 6, 0 )
+      
+    ENDIF
+
+!
+!-- Compute statistics for each (sub-)region
+    DO  sr = 0, statistic_regions
+
+!
+!--    Initialize (local) summation array
+       sums_l = 0.0
+
+!
+!--    Store sums that have been computed in other subroutines in summation
+!--    array
+       sums_l(:,11,:) = sums_l_l(:,sr,:)      ! mixing length from diffusivities
+!--    WARNING: next line still has to be adjusted for OpenMP 
+       sums_l(:,21,0) = sums_wsts_bc_l(:,sr)  ! heat flux from advec_s_bc
+       sums_l(nzb+9,pr_palm,0)  = sums_divold_l(sr)  ! old divergence from pres
+       sums_l(nzb+10,pr_palm,0) = sums_divnew_l(sr)  ! new divergence from pres
+
+! 
+!--    Horizontally averaged profiles of horizontal velocities and temperature.
+!--    They must have been computed before, because they are already required
+!--    for other horizontal averages.
+       tn = 0
+       !$OMP PARALLEL PRIVATE( i, j, k, tn )
+#if defined( __intel_openmp_bug )
+       tn = omp_get_thread_num()
+#else
+!$     tn = omp_get_thread_num()
+#endif
+
+       !$OMP DO
+       DO  i = nxl, nxr
+          DO  j =  nys, nyn
+             DO  k = nzb_s_inner(j,i), nzt+1
+                sums_l(k,1,tn)  = sums_l(k,1,tn)  + u(k,j,i)  * rmask(j,i,sr)
+                sums_l(k,2,tn)  = sums_l(k,2,tn)  + v(k,j,i)  * rmask(j,i,sr)
+                sums_l(k,4,tn)  = sums_l(k,4,tn)  + pt(k,j,i) * rmask(j,i,sr)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Horizontally averaged profile of salinity
+       IF ( ocean )  THEN
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j =  nys, nyn
+                DO  k = nzb_s_inner(j,i), nzt+1
+                   sums_l(k,23,tn)  = sums_l(k,23,tn) + &
+                                      sa(k,j,i) * rmask(j,i,sr)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+
+!
+!--    Horizontally averaged profiles of virtual potential temperature,
+!--    total water content, specific humidity and liquid water potential
+!--    temperature
+       IF ( humidity )  THEN
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j =  nys, nyn
+                DO  k = nzb_s_inner(j,i), nzt+1
+                   sums_l(k,44,tn)  = sums_l(k,44,tn) + &
+                                      vpt(k,j,i) * rmask(j,i,sr)
+                   sums_l(k,41,tn)  = sums_l(k,41,tn) + &
+                                      q(k,j,i) * rmask(j,i,sr)
+                ENDDO
+             ENDDO
+          ENDDO
+          IF ( cloud_physics )  THEN
+             !$OMP DO
+             DO  i = nxl, nxr
+                DO  j =  nys, nyn
+                   DO  k = nzb_s_inner(j,i), nzt+1
+                      sums_l(k,42,tn) = sums_l(k,42,tn) + &
+                                      ( q(k,j,i) - ql(k,j,i) ) * rmask(j,i,sr)
+                      sums_l(k,43,tn) = sums_l(k,43,tn) + ( &
+                                      pt(k,j,i) + l_d_cp*pt_d_t(k) * ql(k,j,i) &
+                                                          ) * rmask(j,i,sr)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+       ENDIF
+
+!
+!--    Horizontally averaged profiles of passive scalar
+       IF ( passive_scalar )  THEN
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j =  nys, nyn
+                DO  k = nzb_s_inner(j,i), nzt+1
+                   sums_l(k,41,tn)  = sums_l(k,41,tn) + q(k,j,i) * rmask(j,i,sr)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+       !$OMP END PARALLEL
+
+!
+!--    Summation of thread sums
+       IF ( threads_per_task > 1 )  THEN
+          DO  i = 1, threads_per_task-1
+             sums_l(:,1,0) = sums_l(:,1,0) + sums_l(:,1,i)
+             sums_l(:,2,0) = sums_l(:,2,0) + sums_l(:,2,i)
+             sums_l(:,4,0) = sums_l(:,4,0) + sums_l(:,4,i)
+             IF ( ocean )  THEN
+                sums_l(:,23,0) = sums_l(:,23,0) + sums_l(:,23,i)
+             ENDIF
+             IF ( humidity )  THEN
+                sums_l(:,41,0) = sums_l(:,41,0) + sums_l(:,41,i)
+                sums_l(:,44,0) = sums_l(:,44,0) + sums_l(:,44,i)
+                IF ( cloud_physics )  THEN
+                   sums_l(:,42,0) = sums_l(:,42,0) + sums_l(:,42,i)
+                   sums_l(:,43,0) = sums_l(:,43,0) + sums_l(:,43,i)
+                ENDIF
+             ENDIF
+             IF ( passive_scalar )  THEN
+                sums_l(:,41,0) = sums_l(:,41,0) + sums_l(:,41,i)
+             ENDIF
+          ENDDO
+       ENDIF
+
+#if defined( __parallel )
+!
+!--    Compute total sum from local sums
+       CALL MPI_ALLREDUCE( sums_l(nzb,1,0), sums(nzb,1), nzt+2-nzb, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )
+       CALL MPI_ALLREDUCE( sums_l(nzb,2,0), sums(nzb,2), nzt+2-nzb, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )
+       CALL MPI_ALLREDUCE( sums_l(nzb,4,0), sums(nzb,4), nzt+2-nzb, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )
+       IF ( ocean )  THEN
+          CALL MPI_ALLREDUCE( sums_l(nzb,23,0), sums(nzb,23), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+       ENDIF
+       IF ( humidity ) THEN
+          CALL MPI_ALLREDUCE( sums_l(nzb,44,0), sums(nzb,44), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( sums_l(nzb,41,0), sums(nzb,41), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+          IF ( cloud_physics ) THEN
+             CALL MPI_ALLREDUCE( sums_l(nzb,42,0), sums(nzb,42), nzt+2-nzb, &
+                                 MPI_REAL, MPI_SUM, comm2d, ierr )
+             CALL MPI_ALLREDUCE( sums_l(nzb,43,0), sums(nzb,43), nzt+2-nzb, &
+                                 MPI_REAL, MPI_SUM, comm2d, ierr )
+          ENDIF
+       ENDIF
+
+       IF ( passive_scalar )  THEN
+          CALL MPI_ALLREDUCE( sums_l(nzb,41,0), sums(nzb,41), nzt+2-nzb, &
+                              MPI_REAL, MPI_SUM, comm2d, ierr )
+       ENDIF
+#else
+       sums(:,1) = sums_l(:,1,0)
+       sums(:,2) = sums_l(:,2,0)
+       sums(:,4) = sums_l(:,4,0)
+       IF ( ocean )  sums(:,23) = sums_l(:,23,0)
+       IF ( humidity ) THEN
+          sums(:,44) = sums_l(:,44,0)
+          sums(:,41) = sums_l(:,41,0)
+          IF ( cloud_physics ) THEN
+             sums(:,42) = sums_l(:,42,0)
+             sums(:,43) = sums_l(:,43,0)
+          ENDIF
+       ENDIF
+       IF ( passive_scalar )  sums(:,41) = sums_l(:,41,0)
+#endif
+
+!
+!--    Final values are obtained by division by the total number of grid points 
+!--    used for summation. After that store profiles.
+       sums(:,1) = sums(:,1) / ngp_2dh(sr)
+       sums(:,2) = sums(:,2) / ngp_2dh(sr)
+       sums(:,4) = sums(:,4) / ngp_2dh_s_inner(:,sr)
+       hom(:,1,1,sr) = sums(:,1)             ! u
+       hom(:,1,2,sr) = sums(:,2)             ! v
+       hom(:,1,4,sr) = sums(:,4)             ! pt
+
+!
+!--    Salinity
+       IF ( ocean )  THEN
+          sums(:,23) = sums(:,23) / ngp_2dh_s_inner(:,sr)
+          hom(:,1,23,sr) = sums(:,23)             ! sa
+       ENDIF
+
+!
+!--    Humidity and cloud parameters
+       IF ( humidity ) THEN
+          sums(:,44) = sums(:,44) / ngp_2dh_s_inner(:,sr)
+          sums(:,41) = sums(:,41) / ngp_2dh_s_inner(:,sr)
+          hom(:,1,44,sr) = sums(:,44)             ! vpt
+          hom(:,1,41,sr) = sums(:,41)             ! qv (q)
+          IF ( cloud_physics ) THEN
+             sums(:,42) = sums(:,42) / ngp_2dh_s_inner(:,sr)
+             sums(:,43) = sums(:,43) / ngp_2dh_s_inner(:,sr)
+             hom(:,1,42,sr) = sums(:,42)             ! qv
+             hom(:,1,43,sr) = sums(:,43)             ! pt
+          ENDIF
+       ENDIF
+
+!
+!--    Passive scalar
+       IF ( passive_scalar )  hom(:,1,41,sr) = sums(:,41) /  &
+            ngp_2dh_s_inner(:,sr)                    ! s (q)
+
+!
+!--    Horizontally averaged profiles of the remaining prognostic variables,
+!--    variances, the total and the perturbation energy (single values in last
+!--    column of sums_l) and some diagnostic quantities.
+!--    NOTE: for simplicity, nzb_s_inner is used below, although strictly 
+!--    ----  speaking the following k-loop would have to be split up and 
+!--          rearranged according to the staggered grid.
+!--          However, this implies no error since staggered velocity components
+!--          are zero at the walls and inside buildings.
+       tn = 0
+#if defined( __intel_openmp_bug )
+       !$OMP PARALLEL PRIVATE( i, j, k, pts, sums_ll, sums_l_eper, sums_l_etot, &
+       !$OMP                    tn, ust, ust2, u2, vst, vst2, v2, w2 )
+       tn = omp_get_thread_num()
+#else
+       !$OMP PARALLEL PRIVATE( i, j, k, pts, sums_ll, sums_l_eper, sums_l_etot, tn, ust, ust2, u2, vst, vst2, v2, w2 )
+!$     tn = omp_get_thread_num()
+#endif
+       !$OMP DO
+       DO  i = nxl, nxr
+          DO  j =  nys, nyn
+             sums_l_etot = 0.0
+             sums_l_eper = 0.0
+             DO  k = nzb_s_inner(j,i), nzt+1
+                u2   = u(k,j,i)**2
+                v2   = v(k,j,i)**2
+                w2   = w(k,j,i)**2
+                ust2 = ( u(k,j,i) - hom(k,1,1,sr) )**2
+                vst2 = ( v(k,j,i) - hom(k,1,2,sr) )**2
+!
+!--             Prognostic and diagnostic variables
+                sums_l(k,3,tn)  = sums_l(k,3,tn)  + w(k,j,i)  * rmask(j,i,sr)
+                sums_l(k,8,tn)  = sums_l(k,8,tn)  + e(k,j,i)  * rmask(j,i,sr)
+                sums_l(k,9,tn)  = sums_l(k,9,tn)  + km(k,j,i) * rmask(j,i,sr)
+                sums_l(k,10,tn) = sums_l(k,10,tn) + kh(k,j,i) * rmask(j,i,sr)
+                sums_l(k,40,tn) = sums_l(k,40,tn) + p(k,j,i)
+
+!
+!--             Variances
+                sums_l(k,30,tn) = sums_l(k,30,tn) + ust2 * rmask(j,i,sr)
+                sums_l(k,31,tn) = sums_l(k,31,tn) + vst2 * rmask(j,i,sr)
+                sums_l(k,32,tn) = sums_l(k,32,tn) + w2   * rmask(j,i,sr)
+                sums_l(k,33,tn) = sums_l(k,33,tn) + &
+                                  ( pt(k,j,i)-hom(k,1,4,sr) )**2 * rmask(j,i,sr)
+!
+!--             Higher moments
+!--             (Computation of the skewness of w further below)
+                sums_l(k,38,tn) = sums_l(k,38,tn) + w(k,j,i) * w2 * &
+                                                    rmask(j,i,sr)
+!
+!--             Perturbation energy
+                sums_l(k,34,tn) = sums_l(k,34,tn) + 0.5 * ( ust2 + vst2 + w2 ) &
+                                                    * rmask(j,i,sr)
+                sums_l_etot  = sums_l_etot + &
+                                        0.5 * ( u2 + v2 + w2 ) * rmask(j,i,sr)
+                sums_l_eper  = sums_l_eper + &
+                                        0.5 * ( ust2+vst2+w2 ) * rmask(j,i,sr)
+             ENDDO
+!
+!--          Total and perturbation energy for the total domain (being
+!--          collected in the last column of sums_l). Summation of these
+!--          quantities is seperated from the previous loop in order to
+!--          allow vectorization of that loop.
+             sums_l(nzb+4,pr_palm,tn) = sums_l(nzb+4,pr_palm,tn) + sums_l_etot
+             sums_l(nzb+5,pr_palm,tn) = sums_l(nzb+5,pr_palm,tn) + sums_l_eper
+!
+!--          2D-arrays (being collected in the last column of sums_l)
+             sums_l(nzb,pr_palm,tn)   = sums_l(nzb,pr_palm,tn) +   &
+                                        us(j,i)   * rmask(j,i,sr)
+             sums_l(nzb+1,pr_palm,tn) = sums_l(nzb+1,pr_palm,tn) + &
+                                        usws(j,i) * rmask(j,i,sr)
+             sums_l(nzb+2,pr_palm,tn) = sums_l(nzb+2,pr_palm,tn) + &
+                                        vsws(j,i) * rmask(j,i,sr)
+             sums_l(nzb+3,pr_palm,tn) = sums_l(nzb+3,pr_palm,tn) + &
+                                        ts(j,i)   * rmask(j,i,sr)
+             IF ( humidity )  THEN
+                sums_l(nzb+12,pr_palm,tn) = sums_l(nzb+12,pr_palm,tn) + &
+                                            qs(j,i)   * rmask(j,i,sr)
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Horizontally averaged profiles of the vertical fluxes
+       !$OMP DO
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+!
+!--          Subgridscale fluxes (without Prandtl layer from k=nzb, 
+!--          oterwise from k=nzb+1)
+!--          NOTE: for simplicity, nzb_diff_s_inner is used below, although
+!--          ----  strictly speaking the following k-loop would have to be
+!--                split up according to the staggered grid.
+!--                However, this implies no error since staggered velocity 
+!--                components are zero at the walls and inside buildings.
+
+             DO  k = nzb_diff_s_inner(j,i)-1, nzt_diff
+!
+!--             Momentum flux w"u"
+                sums_l(k,12,tn) = sums_l(k,12,tn) - 0.25 * (                   &
+                               km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) &
+                                                           ) * (               &
+                                   ( u(k+1,j,i) - u(k,j,i)   ) * ddzu(k+1)     &
+                                 + ( w(k,j,i)   - w(k,j,i-1) ) * ddx           &
+                                                               ) * rmask(j,i,sr)
+!
+!--             Momentum flux w"v"
+                sums_l(k,14,tn) = sums_l(k,14,tn) - 0.25 * (                   &
+                               km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) &
+                                                           ) * (               &
+                                   ( v(k+1,j,i) - v(k,j,i)   ) * ddzu(k+1)     &
+                                 + ( w(k,j,i)   - w(k,j-1,i) ) * ddy           &
+                                                               ) * rmask(j,i,sr)
+!
+!--             Heat flux w"pt"
+                sums_l(k,16,tn) = sums_l(k,16,tn)                              &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( pt(k+1,j,i) - pt(k,j,i) )   &
+                                               * ddzu(k+1) * rmask(j,i,sr)
+
+
+!
+!--             Salinity flux w"sa"
+                IF ( ocean )  THEN
+                   sums_l(k,65,tn) = sums_l(k,65,tn)                           &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( sa(k+1,j,i) - sa(k,j,i) )   &
+                                               * ddzu(k+1) * rmask(j,i,sr)
+                ENDIF
+
+!
+!--             Buoyancy flux, water flux (humidity flux) w"q"
+                IF ( humidity ) THEN
+                   sums_l(k,45,tn) = sums_l(k,45,tn)                           &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( vpt(k+1,j,i) - vpt(k,j,i) ) &
+                                               * ddzu(k+1) * rmask(j,i,sr)
+                   sums_l(k,48,tn) = sums_l(k,48,tn)                           &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( q(k+1,j,i) - q(k,j,i) )     &
+                                               * ddzu(k+1) * rmask(j,i,sr)
+                   IF ( cloud_physics ) THEN
+                      sums_l(k,51,tn) = sums_l(k,51,tn)                        &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( ( q(k+1,j,i) - ql(k+1,j,i) )&
+                                                - ( q(k,j,i) - ql(k,j,i) ) )   &
+                                               * ddzu(k+1) * rmask(j,i,sr) 
+                   ENDIF
+                ENDIF
+
+!
+!--             Passive scalar flux
+                IF ( passive_scalar )  THEN
+                   sums_l(k,48,tn) = sums_l(k,48,tn)                           &
+                                         - 0.5 * ( kh(k,j,i) + kh(k+1,j,i) )   &
+                                               * ( q(k+1,j,i) - q(k,j,i) )     &
+                                               * ddzu(k+1) * rmask(j,i,sr)
+                ENDIF
+
+             ENDDO
+
+!
+!--          Subgridscale fluxes in the Prandtl layer
+             IF ( use_surface_fluxes )  THEN
+                sums_l(nzb,12,tn) = sums_l(nzb,12,tn) + &
+                                    usws(j,i) * rmask(j,i,sr)     ! w"u"
+                sums_l(nzb,14,tn) = sums_l(nzb,14,tn) + &
+                                    vsws(j,i) * rmask(j,i,sr)     ! w"v"
+                sums_l(nzb,16,tn) = sums_l(nzb,16,tn) + &
+                                    shf(j,i)  * rmask(j,i,sr)     ! w"pt"
+                sums_l(nzb,58,tn) = sums_l(nzb,58,tn) + &
+                                    0.0 * rmask(j,i,sr)           ! u"pt"
+                sums_l(nzb,61,tn) = sums_l(nzb,61,tn) + &
+                                    0.0 * rmask(j,i,sr)           ! v"pt"
+                IF ( ocean )  THEN
+                   sums_l(nzb,65,tn) = sums_l(nzb,65,tn) + &
+                                       saswsb(j,i) * rmask(j,i,sr)  ! w"sa"
+                ENDIF
+                IF ( humidity )  THEN
+                   sums_l(nzb,48,tn) = sums_l(nzb,48,tn) + &
+                                       qsws(j,i) * rmask(j,i,sr)  ! w"q" (w"qv")
+                   IF ( cloud_physics )  THEN
+                      sums_l(nzb,45,tn) = sums_l(nzb,45,tn) + (           &
+                                          ( 1.0 + 0.61 * q(nzb,j,i) ) *   &
+                                          shf(j,i) + 0.61 * pt(nzb,j,i) * &
+                                                     qsws(j,i)            &
+                                                              )
+!
+!--                   Formula does not work if ql(nzb) /= 0.0
+                      sums_l(nzb,51,tn) = sums_l(nzb,51,tn) + &   ! w"q" (w"qv")
+                                          qsws(j,i) * rmask(j,i,sr)
+                   ENDIF
+                ENDIF
+                IF ( passive_scalar )  THEN
+                   sums_l(nzb,48,tn) = sums_l(nzb,48,tn) + &
+                                       qsws(j,i) * rmask(j,i,sr)  ! w"q" (w"qv")
+                ENDIF
+             ENDIF
+
+!
+!--          Subgridscale fluxes at the top surface
+             IF ( use_top_fluxes )  THEN
+                sums_l(nzt,12,tn) = sums_l(nzt,12,tn) + &
+                                    uswst(j,i) * rmask(j,i,sr)    ! w"u"
+                sums_l(nzt,14,tn) = sums_l(nzt,14,tn) + &
+                                    vswst(j,i) * rmask(j,i,sr)    ! w"v"
+                sums_l(nzt,16,tn) = sums_l(nzt,16,tn) + &
+                                    tswst(j,i)  * rmask(j,i,sr)   ! w"pt"
+                sums_l(nzt,58,tn) = sums_l(nzt,58,tn) + &
+                                    0.0 * rmask(j,i,sr)           ! u"pt"
+                sums_l(nzt,61,tn) = sums_l(nzt,61,tn) + &
+                                    0.0 * rmask(j,i,sr)           ! v"pt"
+                IF ( ocean )  THEN
+                   sums_l(nzt,65,tn) = sums_l(nzt,65,tn) + &
+                                       saswst(j,i) * rmask(j,i,sr)  ! w"sa"
+                ENDIF
+                IF ( humidity )  THEN
+                   sums_l(nzt,48,tn) = sums_l(nzt,48,tn) + &
+                                       qswst(j,i) * rmask(j,i,sr) ! w"q" (w"qv")
+                   IF ( cloud_physics )  THEN
+                      sums_l(nzt,45,tn) = sums_l(nzt,45,tn) + (           &
+                                          ( 1.0 + 0.61 * q(nzt,j,i) ) *   &
+                                          tswst(j,i) + 0.61 * pt(nzt,j,i) * &
+                                                     qsws(j,i)            &
+                                                              )
+!
+!--                   Formula does not work if ql(nzb) /= 0.0
+                      sums_l(nzt,51,tn) = sums_l(nzt,51,tn) + &   ! w"q" (w"qv")
+                                          qswst(j,i) * rmask(j,i,sr)
+                   ENDIF
+                ENDIF
+                IF ( passive_scalar )  THEN
+                   sums_l(nzt,48,tn) = sums_l(nzt,48,tn) + &
+                                       qswst(j,i) * rmask(j,i,sr) ! w"q" (w"qv")
+                ENDIF
+             ENDIF
+
+!
+!--          Resolved fluxes (can be computed for all horizontal points)
+!--          NOTE: for simplicity, nzb_s_inner is used below, although strictly 
+!--          ----  speaking the following k-loop would have to be split up and 
+!--                rearranged according to the staggered grid.
+             DO  k = nzb_s_inner(j,i), nzt
+                ust = 0.5 * ( u(k,j,i)   - hom(k,1,1,sr) + &
+                              u(k+1,j,i) - hom(k+1,1,1,sr) )
+                vst = 0.5 * ( v(k,j,i)   - hom(k,1,2,sr) + &
+                              v(k+1,j,i) - hom(k+1,1,2,sr) )
+                pts = 0.5 * ( pt(k,j,i)   - hom(k,1,4,sr) + &
+                              pt(k+1,j,i) - hom(k+1,1,4,sr) )
+!
+!--             Momentum flux w*u*
+                sums_l(k,13,tn) = sums_l(k,13,tn) + 0.5 *                     &
+                                                    ( w(k,j,i-1) + w(k,j,i) ) &
+                                                    * ust * rmask(j,i,sr)
+!
+!--             Momentum flux w*v*
+                sums_l(k,15,tn) = sums_l(k,15,tn) + 0.5 *                     &
+                                                    ( w(k,j-1,i) + w(k,j,i) ) &
+                                                    * vst * rmask(j,i,sr)
+!
+!--             Heat flux w*pt*
+!--             The following formula (comment line, not executed) does not
+!--             work if applied to subregions
+!                sums_l(k,17,tn) = sums_l(k,17,tn) + 0.5 *                     &
+!                                                    ( pt(k,j,i)+pt(k+1,j,i) ) &
+!                                                    * w(k,j,i) * rmask(j,i,sr)
+                sums_l(k,17,tn) = sums_l(k,17,tn) + pts * w(k,j,i) * &
+                                                    rmask(j,i,sr)
+!
+!--             Higher moments
+                sums_l(k,35,tn) = sums_l(k,35,tn) + pts * w(k,j,i)**2 * &
+                                                    rmask(j,i,sr)
+                sums_l(k,36,tn) = sums_l(k,36,tn) + pts**2 * w(k,j,i) * &
+                                                    rmask(j,i,sr)
+
+!
+!--             Salinity flux and density (density does not belong to here,
+!--             but so far there is no other suitable place to calculate)
+                IF ( ocean )  THEN
+                   pts = 0.5 * ( sa(k,j,i)   - hom(k,1,23,sr) + &
+                                 sa(k+1,j,i) - hom(k+1,1,23,sr) )
+                   sums_l(k,66,tn) = sums_l(k,66,tn) + pts * w(k,j,i) * &
+                                                       rmask(j,i,sr)
+                   sums_l(k,64,tn) = sums_l(k,64,tn) + rho(k,j,i) * &
+                                                       rmask(j,i,sr)
+                   sums_l(k,71,tn) = sums_l(k,71,tn) + prho(k,j,i) * &
+                                                       rmask(j,i,sr)
+                ENDIF
+
+!
+!--             Buoyancy flux, water flux, humidity flux and liquid water
+!--             content
+                IF ( humidity )  THEN
+                   pts = 0.5 * ( vpt(k,j,i)   - hom(k,1,44,sr) + &
+                                 vpt(k+1,j,i) - hom(k+1,1,44,sr) )
+                   sums_l(k,46,tn) = sums_l(k,46,tn) + pts * w(k,j,i) * &
+                                                       rmask(j,i,sr)
+                   pts = 0.5 * ( q(k,j,i)   - hom(k,1,41,sr) + &
+                                 q(k+1,j,i) - hom(k+1,1,41,sr) )
+                   sums_l(k,49,tn) = sums_l(k,49,tn) + pts * w(k,j,i) * &
+                                                       rmask(j,i,sr)
+                   IF ( cloud_physics  .OR.  cloud_droplets )  THEN
+                      pts = 0.5 *                                            &
+                             ( ( q(k,j,i)   - ql(k,j,i)   ) - hom(k,1,42,sr) &
+                             + ( q(k+1,j,i) - ql(k+1,j,i) ) - hom(k+1,1,42,sr) )
+                      sums_l(k,52,tn) = sums_l(k,52,tn) + pts * w(k,j,i) * &
+                                                          rmask(j,i,sr)
+                      sums_l(k,54,tn) = sums_l(k,54,tn) + ql(k,j,i) * &
+                                                          rmask(j,i,sr)
+                   ENDIF
+                ENDIF
+
+!
+!--             Passive scalar flux
+                IF ( passive_scalar )  THEN
+                   pts = 0.5 * ( q(k,j,i)   - hom(k,1,41,sr) + &
+                                 q(k+1,j,i) - hom(k+1,1,41,sr) )
+                   sums_l(k,49,tn) = sums_l(k,49,tn) + pts * w(k,j,i) * &
+                                                       rmask(j,i,sr)
+                ENDIF
+
+!
+!--             Energy flux w*e*
+                sums_l(k,37,tn) = sums_l(k,37,tn) + w(k,j,i) * 0.5 *           &
+                                              ( ust**2 + vst**2 + w(k,j,i)**2 )&
+                                              * rmask(j,i,sr)
+          
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Density at top follows Neumann condition
+       IF ( ocean )  THEN
+          sums_l(nzt+1,64,tn) = sums_l(nzt,64,tn)
+          sums_l(nzt+1,71,tn) = sums_l(nzt,71,tn)
+       ENDIF
+
+!
+!--    Divergence of vertical flux of resolved scale energy and pressure
+!--    fluctuations as well as flux of pressure fluctuation itself (68).
+!--    First calculate the products, then the divergence.
+!--    Calculation is time consuming. Do it only, if profiles shall be plotted.
+       IF ( hom(nzb+1,2,55,0) /= 0.0  .OR.  hom(nzb+1,2,68,0) /= 0.0 )  THEN
+
+          sums_ll = 0.0  ! local array
+
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+
+                   sums_ll(k,1) = sums_ll(k,1) + 0.5 * w(k,j,i) * (        &
+                  ( 0.25 * ( u(k,j,i)+u(k+1,j,i)+u(k,j,i+1)+u(k+1,j,i+1)   &
+                           - 2.0 * ( hom(k,1,1,sr) + hom(k+1,1,1,sr) )     &
+                           ) )**2                                          &
+                + ( 0.25 * ( v(k,j,i)+v(k+1,j,i)+v(k,j+1,i)+v(k+1,j+1,i)   &
+                           - 2.0 * ( hom(k,1,2,sr) + hom(k+1,1,2,sr) )     &
+                           ) )**2                                          &
+                   + w(k,j,i)**2                                  )
+
+                   sums_ll(k,2) = sums_ll(k,2) + 0.5 * w(k,j,i) &
+                                               * ( p(k,j,i) + p(k+1,j,i) )
+
+                ENDDO
+             ENDDO
+          ENDDO
+          sums_ll(0,1)     = 0.0    ! because w is zero at the bottom
+          sums_ll(nzt+1,1) = 0.0
+          sums_ll(0,2)     = 0.0
+          sums_ll(nzt+1,2) = 0.0
+
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             sums_l(k,55,tn) = ( sums_ll(k,1) - sums_ll(k-1,1) ) * ddzw(k)
+             sums_l(k,56,tn) = ( sums_ll(k,2) - sums_ll(k-1,2) ) * ddzw(k)
+             sums_l(k,68,tn) = sums_ll(k,2)
+          ENDDO
+          sums_l(nzb,55,tn) = sums_l(nzb+1,55,tn)
+          sums_l(nzb,56,tn) = sums_l(nzb+1,56,tn)
+          sums_l(nzb,68,tn) = 0.0    ! because w* = 0 at nzb
+
+       ENDIF
+
+!
+!--    Divergence of vertical flux of SGS TKE and the flux itself (69)
+       IF ( hom(nzb+1,2,57,0) /= 0.0  .OR.  hom(nzb+1,2,69,0) /= 0.0 )  THEN
+
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+
+                   sums_l(k,57,tn) = sums_l(k,57,tn) - 0.5 * (                 &
+                   (km(k,j,i)+km(k+1,j,i)) * (e(k+1,j,i)-e(k,j,i)) * ddzu(k+1) &
+                 - (km(k-1,j,i)+km(k,j,i)) * (e(k,j,i)-e(k-1,j,i)) * ddzu(k)   &
+                                                             ) * ddzw(k)
+
+                   sums_l(k,69,tn) = sums_l(k,69,tn) - 0.5 * (                 &
+                   (km(k,j,i)+km(k+1,j,i)) * (e(k+1,j,i)-e(k,j,i)) * ddzu(k+1) &
+                                                              )
+
+                ENDDO
+             ENDDO
+          ENDDO
+          sums_l(nzb,57,tn) = sums_l(nzb+1,57,tn)
+          sums_l(nzb,69,tn) = sums_l(nzb+1,69,tn)
+
+       ENDIF
+
+!
+!--    Horizontal heat fluxes (subgrid, resolved, total). 
+!--    Do it only, if profiles shall be plotted. 
+       IF ( hom(nzb+1,2,58,0) /= 0.0 ) THEN
+
+          !$OMP DO
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+!
+!--                Subgrid horizontal heat fluxes u"pt", v"pt"
+                   sums_l(k,58,tn) = sums_l(k,58,tn) - 0.5 *                   &
+                                                   ( kh(k,j,i) + kh(k,j,i-1) ) &
+                                                 * ( pt(k,j,i-1) - pt(k,j,i) ) &
+                                                 * ddx * rmask(j,i,sr)
+                   sums_l(k,61,tn) = sums_l(k,61,tn) - 0.5 *                   &
+                                                   ( kh(k,j,i) + kh(k,j-1,i) ) &
+                                                 * ( pt(k,j-1,i) - pt(k,j,i) ) &
+                                                 * ddy * rmask(j,i,sr)
+!
+!--                Resolved horizontal heat fluxes u*pt*, v*pt*
+                   sums_l(k,59,tn) = sums_l(k,59,tn) +                         &
+                                                  ( u(k,j,i) - hom(k,1,1,sr) ) &
+                                       * 0.5 * ( pt(k,j,i-1) - hom(k,1,4,sr) + &
+                                                 pt(k,j,i)   - hom(k,1,4,sr) )
+                   pts = 0.5 * ( pt(k,j-1,i) - hom(k,1,4,sr) + &
+                                 pt(k,j,i)   - hom(k,1,4,sr) )
+                   sums_l(k,62,tn) = sums_l(k,62,tn) +                         &
+                                                  ( v(k,j,i) - hom(k,1,2,sr) ) &
+                                       * 0.5 * ( pt(k,j-1,i) - hom(k,1,4,sr) + &
+                                                 pt(k,j,i)   - hom(k,1,4,sr) )
+                ENDDO
+             ENDDO
+          ENDDO
+!
+!--       Fluxes at the surface must be zero (e.g. due to the Prandtl-layer)
+          sums_l(nzb,58,tn) = 0.0
+          sums_l(nzb,59,tn) = 0.0
+          sums_l(nzb,60,tn) = 0.0
+          sums_l(nzb,61,tn) = 0.0
+          sums_l(nzb,62,tn) = 0.0
+          sums_l(nzb,63,tn) = 0.0
+
+       ENDIF
+
+!
+!--    Calculate the user-defined profiles
+       CALL user_statistics( 'profiles', sr, tn )
+       !$OMP END PARALLEL
+
+!
+!--    Summation of thread sums
+       IF ( threads_per_task > 1 )  THEN
+          DO  i = 1, threads_per_task-1
+             sums_l(:,3,0)          = sums_l(:,3,0) + sums_l(:,3,i)
+             sums_l(:,4:40,0)       = sums_l(:,4:40,0) + sums_l(:,4:40,i)
+             sums_l(:,45:pr_palm,0) = sums_l(:,45:pr_palm,0) + &
+                                      sums_l(:,45:pr_palm,i)
+             IF ( max_pr_user > 0 )  THEN
+                sums_l(:,pr_palm+1:pr_palm+max_pr_user,0) = &
+                                   sums_l(:,pr_palm+1:pr_palm+max_pr_user,0) + &
+                                   sums_l(:,pr_palm+1:pr_palm+max_pr_user,i)
+             ENDIF
+          ENDDO
+       ENDIF
+
+#if defined( __parallel )
+!
+!--    Compute total sum from local sums
+       CALL MPI_ALLREDUCE( sums_l(nzb,1,0), sums(nzb,1), ngp_sums, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )
+#else
+       sums = sums_l(:,:,0)
+#endif
+
+!
+!--    Final values are obtained by division by the total number of grid points 
+!--    used for summation. After that store profiles.
+!--    Profiles:
+       DO  k = nzb, nzt+1
+          sums(k,3)               = sums(k,3)           / ngp_2dh(sr)
+          sums(k,8:11)            = sums(k,8:11)        / ngp_2dh_s_inner(k,sr)
+          sums(k,12:22)           = sums(k,12:22)       / ngp_2dh(sr)
+          sums(k,23:29)           = sums(k,23:29)       / ngp_2dh_s_inner(k,sr)
+          sums(k,30:32)           = sums(k,30:32)       / ngp_2dh(sr)
+          sums(k,33:34)           = sums(k,33:34)       / ngp_2dh_s_inner(k,sr)
+          sums(k,35:39)           = sums(k,35:39)       / ngp_2dh(sr)
+          sums(k,40)              = sums(k,40)          / ngp_2dh_s_inner(k,sr)
+          sums(k,45:53)           = sums(k,45:53)       / ngp_2dh(sr)
+          sums(k,54)              = sums(k,54)          / ngp_2dh_s_inner(k,sr)
+          sums(k,55:63)           = sums(k,55:63)       / ngp_2dh(sr)
+          sums(k,64)              = sums(k,64)          / ngp_2dh_s_inner(k,sr)
+          sums(k,65:69)           = sums(k,65:69)       / ngp_2dh(sr)
+          sums(k,70:pr_palm-2)    = sums(k,70:pr_palm-2)/ ngp_2dh_s_inner(k,sr)
+       ENDDO
+!--    Upstream-parts
+       sums(nzb:nzb+11,pr_palm-1) = sums(nzb:nzb+11,pr_palm-1) / ngp_3d(sr)
+!--    u* and so on
+!--    As sums(nzb:nzb+3,pr_palm) are full 2D arrays (us, usws, vsws, ts) whose
+!--    size is always ( nx + 1 ) * ( ny + 1 ), defined at the first grid layer
+!--    above the topography, they are being divided by ngp_2dh(sr)
+       sums(nzb:nzb+3,pr_palm)    = sums(nzb:nzb+3,pr_palm)    / &
+                                    ngp_2dh(sr)
+       sums(nzb+12,pr_palm)       = sums(nzb+12,pr_palm)       / &    ! qs
+                                    ngp_2dh(sr)
+!--    eges, e*
+       sums(nzb+4:nzb+5,pr_palm)  = sums(nzb+4:nzb+5,pr_palm)  / &
+                                    ngp_3d(sr)
+!--    Old and new divergence
+       sums(nzb+9:nzb+10,pr_palm) = sums(nzb+9:nzb+10,pr_palm) / &
+                                    ngp_3d_inner(sr)
+
+!--    User-defined profiles
+       IF ( max_pr_user > 0 )  THEN
+          DO  k = nzb, nzt+1
+             sums(k,pr_palm+1:pr_palm+max_pr_user) = &
+                                    sums(k,pr_palm+1:pr_palm+max_pr_user) / &
+                                    ngp_2dh_s_inner(k,sr)
+          ENDDO
+       ENDIF
+
+!
+!--    Collect horizontal average in hom.
+!--    Compute deduced averages (e.g. total heat flux)
+       hom(:,1,3,sr)  = sums(:,3)      ! w
+       hom(:,1,8,sr)  = sums(:,8)      ! e     profiles 5-7 are initial profiles
+       hom(:,1,9,sr)  = sums(:,9)      ! km
+       hom(:,1,10,sr) = sums(:,10)     ! kh
+       hom(:,1,11,sr) = sums(:,11)     ! l
+       hom(:,1,12,sr) = sums(:,12)     ! w"u"
+       hom(:,1,13,sr) = sums(:,13)     ! w*u*
+       hom(:,1,14,sr) = sums(:,14)     ! w"v"
+       hom(:,1,15,sr) = sums(:,15)     ! w*v*
+       hom(:,1,16,sr) = sums(:,16)     ! w"pt"
+       hom(:,1,17,sr) = sums(:,17)     ! w*pt*
+       hom(:,1,18,sr) = sums(:,16) + sums(:,17)    ! wpt
+       hom(:,1,19,sr) = sums(:,12) + sums(:,13)    ! wu
+       hom(:,1,20,sr) = sums(:,14) + sums(:,15)    ! wv
+       hom(:,1,21,sr) = sums(:,21)     ! w*pt*BC
+       hom(:,1,22,sr) = sums(:,16) + sums(:,21)    ! wptBC
+                                       ! profile 24 is initial profile (sa)
+                                       ! profiles 25-29 left empty for initial 
+                                       ! profiles
+       hom(:,1,30,sr) = sums(:,30)     ! u*2
+       hom(:,1,31,sr) = sums(:,31)     ! v*2
+       hom(:,1,32,sr) = sums(:,32)     ! w*2
+       hom(:,1,33,sr) = sums(:,33)     ! pt*2
+       hom(:,1,34,sr) = sums(:,34)     ! e*
+       hom(:,1,35,sr) = sums(:,35)     ! w*2pt*
+       hom(:,1,36,sr) = sums(:,36)     ! w*pt*2
+       hom(:,1,37,sr) = sums(:,37)     ! w*e*
+       hom(:,1,38,sr) = sums(:,38)     ! w*3
+       hom(:,1,39,sr) = sums(:,38) / ( sums(:,32) + 1E-20 )**1.5    ! Sw
+       hom(:,1,40,sr) = sums(:,40)     ! p
+       hom(:,1,45,sr) = sums(:,45)     ! w"q"
+       hom(:,1,46,sr) = sums(:,46)     ! w*vpt*       
+       hom(:,1,47,sr) = sums(:,45) + sums(:,46)    ! wvpt
+       hom(:,1,48,sr) = sums(:,48)     ! w"q" (w"qv")
+       hom(:,1,49,sr) = sums(:,49)     ! w*q* (w*qv*)
+       hom(:,1,50,sr) = sums(:,48) + sums(:,49)    ! wq (wqv)
+       hom(:,1,51,sr) = sums(:,51)     ! w"qv"
+       hom(:,1,52,sr) = sums(:,52)     ! w*qv*       
+       hom(:,1,53,sr) = sums(:,52) + sums(:,51)    ! wq (wqv)
+       hom(:,1,54,sr) = sums(:,54)     ! ql
+       hom(:,1,55,sr) = sums(:,55)     ! w*u*u*/dz
+       hom(:,1,56,sr) = sums(:,56)     ! w*p*/dz
+       hom(:,1,57,sr) = sums(:,57)     ! ( w"e + w"p"/rho )/dz
+       hom(:,1,58,sr) = sums(:,58)     ! u"pt"
+       hom(:,1,59,sr) = sums(:,59)     ! u*pt*
+       hom(:,1,60,sr) = sums(:,58) + sums(:,59)    ! upt_t
+       hom(:,1,61,sr) = sums(:,61)     ! v"pt"
+       hom(:,1,62,sr) = sums(:,62)     ! v*pt*
+       hom(:,1,63,sr) = sums(:,61) + sums(:,62)    ! vpt_t
+       hom(:,1,64,sr) = sums(:,64)     ! rho
+       hom(:,1,65,sr) = sums(:,65)     ! w"sa"
+       hom(:,1,66,sr) = sums(:,66)     ! w*sa*
+       hom(:,1,67,sr) = sums(:,65) + sums(:,66)    ! wsa
+       hom(:,1,68,sr) = sums(:,68)     ! w*p*
+       hom(:,1,69,sr) = sums(:,69)     ! w"e + w"p"/rho
+       hom(:,1,70,sr) = sums(:,70)     ! q*2
+       hom(:,1,71,sr) = sums(:,71)     ! prho
+       hom(:,1,72,sr) = hyp * 1E-4     ! hyp in kPa
+
+       hom(:,1,pr_palm-1,sr) = sums(:,pr_palm-1)
+                                       ! upstream-parts u_x, u_y, u_z, v_x,
+                                       ! v_y, usw. (in last but one profile)
+       hom(:,1,pr_palm,sr) =   sums(:,pr_palm)  
+                                       ! u*, w'u', w'v', t* (in last profile)
+
+       IF ( max_pr_user > 0 )  THEN    ! user-defined profiles
+          hom(:,1,pr_palm+1:pr_palm+max_pr_user,sr) = &
+                               sums(:,pr_palm+1:pr_palm+max_pr_user)
+       ENDIF
+
+!
+!--    Determine the boundary layer height using two different schemes.
+!--    First scheme: Starting from the Earth's (Ocean's) surface, look for the
+!--    first relative minimum (maximum) of the total heat flux.
+!--    The corresponding height is assumed as the boundary layer height, if it
+!--    is less than 1.5 times the height where the heat flux becomes negative
+!--    (positive) for the first time.
+       z_i(1) = 0.0
+       first = .TRUE.
+       IF ( ocean )  THEN
+          DO  k = nzt, nzb+1, -1
+             IF ( first .AND. hom(k,1,18,sr) < 0.0 )  THEN
+                first = .FALSE.
+                height = zw(k)
+             ENDIF
+             IF ( hom(k,1,18,sr) < 0.0  .AND. &
+                  hom(k-1,1,18,sr) > hom(k,1,18,sr) )  THEN
+                IF ( zw(k) < 1.5 * height )  THEN
+                   z_i(1) = zw(k)
+                ELSE
+                   z_i(1) = height
+                ENDIF
+                EXIT
+             ENDIF
+          ENDDO
+       ELSE
+          DO  k = nzb, nzt-1
+             IF ( first .AND. hom(k,1,18,sr) < 0.0 )  THEN
+                first = .FALSE.
+                height = zw(k)
+             ENDIF
+             IF ( hom(k,1,18,sr) < 0.0  .AND. &
+                  hom(k+1,1,18,sr) > hom(k,1,18,sr) )  THEN
+                IF ( zw(k) < 1.5 * height )  THEN
+                   z_i(1) = zw(k)
+                ELSE
+                   z_i(1) = height
+                ENDIF
+                EXIT
+             ENDIF
+          ENDDO
+       ENDIF
+
+!
+!--    Second scheme: Gradient scheme from Sullivan et al. (1998), modified 
+!--    by Uhlenbrock(2006). The boundary layer height is the height with the 
+!--    maximal local temperature gradient: starting from the second (the last
+!--    but one) vertical gridpoint, the local gradient must be at least 
+!--    0.2K/100m and greater than the next four gradients.
+!--    WARNING: The threshold value of 0.2K/100m must be adjusted for the
+!--             ocean case! 
+       z_i(2) = 0.0
+       DO  k = nzb+1, nzt+1
+          dptdz(k) = ( hom(k,1,4,sr) - hom(k-1,1,4,sr) ) * ddzu(k)
+       ENDDO
+       dptdz_threshold = 0.2 / 100.0
+
+       IF ( ocean )  THEN
+          DO  k = nzt+1, nzb+5, -1
+             IF ( dptdz(k) > dptdz_threshold  .AND.                           &
+                  dptdz(k) > dptdz(k-1)  .AND.  dptdz(k) > dptdz(k-2)  .AND.  &
+                  dptdz(k) > dptdz(k-3)  .AND.  dptdz(k) > dptdz(k-4) )  THEN
+                z_i(2) = zw(k-1)
+                EXIT
+             ENDIF
+          ENDDO
+       ELSE
+          DO  k = nzb+1, nzt-3
+             IF ( dptdz(k) > dptdz_threshold  .AND.                           &
+                  dptdz(k) > dptdz(k+1)  .AND.  dptdz(k) > dptdz(k+2)  .AND.  &
+                  dptdz(k) > dptdz(k+3)  .AND.  dptdz(k) > dptdz(k+4) )  THEN
+                z_i(2) = zw(k-1)
+                EXIT
+             ENDIF
+          ENDDO
+       ENDIF
+
+       hom(nzb+6,1,pr_palm,sr) = z_i(1)
+       hom(nzb+7,1,pr_palm,sr) = z_i(2)
+
+!
+!--    Computation of both the characteristic vertical velocity and
+!--    the characteristic convective boundary layer temperature.
+!--    The horizontal average at nzb+1 is input for the average temperature.
+       IF ( hom(nzb,1,18,sr) > 0.0  .AND.  z_i(1) /= 0.0 )  THEN
+          hom(nzb+8,1,pr_palm,sr)  = ( g / hom(nzb+1,1,4,sr) * &
+                                       hom(nzb,1,18,sr) *      &
+                                       ABS( z_i(1) ) )**0.333333333
+!--       so far this only works if Prandtl layer is used
+          hom(nzb+11,1,pr_palm,sr) = hom(nzb,1,16,sr) / hom(nzb+8,1,pr_palm,sr)
+       ELSE
+          hom(nzb+8,1,pr_palm,sr)  = 0.0
+          hom(nzb+11,1,pr_palm,sr) = 0.0
+       ENDIF
+
+!
+!--    Collect the time series quantities
+       ts_value(1,sr) = hom(nzb+4,1,pr_palm,sr)     ! E
+       ts_value(2,sr) = hom(nzb+5,1,pr_palm,sr)     ! E*
+       ts_value(3,sr) = dt_3d
+       ts_value(4,sr) = hom(nzb,1,pr_palm,sr)       ! u*
+       ts_value(5,sr) = hom(nzb+3,1,pr_palm,sr)     ! th*
+       ts_value(6,sr) = u_max
+       ts_value(7,sr) = v_max
+       ts_value(8,sr) = w_max
+       ts_value(9,sr) = hom(nzb+10,1,pr_palm,sr)    ! new divergence
+       ts_value(10,sr) = hom(nzb+9,1,pr_palm,sr)    ! old Divergence
+       ts_value(11,sr) = hom(nzb+6,1,pr_palm,sr)    ! z_i(1)
+       ts_value(12,sr) = hom(nzb+7,1,pr_palm,sr)    ! z_i(2)
+       ts_value(13,sr) = hom(nzb+8,1,pr_palm,sr)    ! w*
+       ts_value(14,sr) = hom(nzb,1,16,sr)           ! w'pt'   at k=0
+       ts_value(15,sr) = hom(nzb+1,1,16,sr)         ! w'pt'   at k=1
+       ts_value(16,sr) = hom(nzb+1,1,18,sr)         ! wpt     at k=1
+       ts_value(17,sr) = hom(nzb,1,4,sr)            ! pt(0)
+       ts_value(18,sr) = hom(nzb+1,1,4,sr)          ! pt(zp)
+       ts_value(19,sr) = hom(nzb+1,1,pr_palm,sr)    ! u'w'    at k=0
+       ts_value(20,sr) = hom(nzb+2,1,pr_palm,sr)    ! v'w'    at k=0
+       ts_value(21,sr) = hom(nzb,1,48,sr)           ! w"q"    at k=0
+
+       IF ( ts_value(5,sr) /= 0.0 )  THEN
+          ts_value(22,sr) = ts_value(4,sr)**2 / &
+                            ( kappa * g * ts_value(5,sr) / ts_value(18,sr) ) ! L
+       ELSE
+          ts_value(22,sr) = 10000.0
+       ENDIF
+
+       ts_value(23,sr) = hom(nzb+12,1,pr_palm,sr)   ! q*
+!
+!--    Calculate additional statistics provided by the user interface
+       CALL user_statistics( 'time_series', sr, 0 )
+
+    ENDDO    ! loop of the subregions
+
+!
+!-- If required, sum up horizontal averages for subsequent time averaging
+    IF ( do_sum )  THEN
+       IF ( average_count_pr == 0 )  hom_sum = 0.0
+       hom_sum = hom_sum + hom(:,1,:,:)
+       average_count_pr = average_count_pr + 1
+       do_sum = .FALSE.
+    ENDIF
+
+!
+!-- Set flag for other UPs (e.g. output routines, but also buoyancy).
+!-- This flag is reset after each time step in time_integration.
+    flow_statistics_called = .TRUE.
+
+    CALL cpu_log( log_point(10), 'flow_statistics', 'stop' )
+
+
+ END SUBROUTINE flow_statistics
+
+
+
Index: palm/tags/release-3.7/SOURCE/global_min_max.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/global_min_max.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/global_min_max.f90	(revision 393)
@@ -0,0 +1,226 @@
+ SUBROUTINE global_min_max( i1, i2, j1, j2, k1, k2, ar, mode, value, &
+                            value_ijk, value1, value1_ijk )
+
+!-------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2003/04/16 12:56:58  raasch
+! Index values of the extrema are limited to the range 0..nx, 0..ny
+!
+! Revision 1.1  1997/07/24 11:14:03  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Determine the array minimum/maximum and the corresponding indices.
+!-------------------------------------------------------------------------------!
+
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  mode
+
+    INTEGER           ::  i, i1, i2, id_fmax, id_fmin, j, j1, j2, k, k1, k2, &
+                          fmax_ijk(3), fmax_ijk_l(3), fmin_ijk(3), &
+                          fmin_ijk_l(3), value_ijk(3)
+    INTEGER, OPTIONAL ::  value1_ijk(3)
+    REAL              ::  value, &
+                          ar(i1:i2,j1:j2,k1:k2)
+#if defined( __ibm )
+    REAL (KIND=4)     ::  fmax(2), fmax_l(2), fmin(2), fmin_l(2)  ! on 32bit-
+                          ! machines MPI_2REAL must not be replaced by
+                          ! MPI_2DOUBLE_PRECISION
+#else
+    REAL              ::  fmax(2), fmax_l(2), fmin(2), fmin_l(2)
+#endif
+    REAL, OPTIONAL    ::  value1
+
+
+!
+!-- Determine array minimum
+    IF ( mode == 'min'  .OR.  mode == 'minmax' )  THEN
+
+!
+!--    Determine the local minimum
+       fmin_ijk_l = MINLOC( ar )
+       fmin_ijk_l(1) = i1 + fmin_ijk_l(1) - 1    ! MINLOC assumes lowerbound = 1
+       fmin_ijk_l(2) = j1 + fmin_ijk_l(2) - 1
+       fmin_ijk_l(3) = k1 + fmin_ijk_l(3) - 1
+       fmin_l(1)  = ar(fmin_ijk_l(1),fmin_ijk_l(2),fmin_ijk_l(3))
+
+#if defined( __parallel )
+       fmin_l(2)  = myid
+       CALL MPI_ALLREDUCE( fmin_l, fmin, 1, MPI_2REAL, MPI_MINLOC, comm2d, ierr )
+
+!
+!--    Determine the global minimum. Result stored on PE0.
+       id_fmin = fmin(2)
+       IF ( id_fmin /= 0 )  THEN
+          IF ( myid == 0 )  THEN
+             CALL MPI_RECV( fmin_ijk, 3, MPI_INTEGER, id_fmin, 0, comm2d, &
+                            status, ierr )
+          ELSEIF ( myid == id_fmin )  THEN
+             CALL MPI_SEND( fmin_ijk_l, 3, MPI_INTEGER, 0, 0, comm2d, ierr )
+          ENDIF
+       ELSE
+          fmin_ijk = fmin_ijk_l
+       ENDIF
+!
+!--    Send the indices of the just determined array minimum to other PEs
+       CALL MPI_BCAST( fmin_ijk, 3, MPI_INTEGER, 0, comm2d, ierr )
+#else
+       fmin(1)  = fmin_l(1)
+       fmin_ijk = fmin_ijk_l
+#endif
+
+    ENDIF
+
+!
+!-- Determine array maximum
+    IF ( mode == 'max'  .OR.  mode == 'minmax' )  THEN
+
+!
+!--    Determine the local maximum
+       fmax_ijk_l = MAXLOC( ar )
+       fmax_ijk_l(1) = i1 + fmax_ijk_l(1) - 1    ! MAXLOC assumes lowerbound = 1
+       fmax_ijk_l(2) = j1 + fmax_ijk_l(2) - 1
+       fmax_ijk_l(3) = k1 + fmax_ijk_l(3) - 1
+       fmax_l(1) = ar(fmax_ijk_l(1),fmax_ijk_l(2),fmax_ijk_l(3))
+
+#if defined( __parallel )
+       fmax_l(2)  = myid
+       CALL MPI_ALLREDUCE( fmax_l, fmax, 1, MPI_2REAL, MPI_MAXLOC, comm2d, ierr )
+
+!
+!--    Determine the global maximum. Result stored on PE0.
+       id_fmax = fmax(2)
+       IF ( id_fmax /= 0 )  THEN
+          IF ( myid == 0 )  THEN
+             CALL MPI_RECV( fmax_ijk, 3, MPI_INTEGER, id_fmax, 0, comm2d, &
+                            status, ierr )
+          ELSEIF ( myid == id_fmax )  THEN
+             CALL MPI_SEND( fmax_ijk_l, 3, MPI_INTEGER, 0, 0, comm2d, ierr )
+          ENDIF
+       ELSE
+          fmax_ijk = fmax_ijk_l
+       ENDIF
+!
+!--    send the indices of the just determined array maximum to other PEs
+       CALL MPI_BCAST( fmax_ijk, 3, MPI_INTEGER, 0, comm2d, ierr )
+#else
+       fmax(1)  = fmax_l(1)
+       fmax_ijk = fmax_ijk_l
+#endif
+
+    ENDIF
+
+!
+!-- Determine absolute array maximum
+    IF ( mode == 'abs' )  THEN
+
+!
+!--    Determine the local absolut maximum
+       fmax_l(1)     = 0.0
+       fmax_ijk_l(1) =  i1
+       fmax_ijk_l(2) =  j1
+       fmax_ijk_l(3) =  k1
+       DO  k = k1, k2
+          DO  j = j1, j2
+             DO  i = i1, i2
+                IF ( ABS( ar(i,j,k) ) > fmax_l(1) )  THEN
+                   fmax_l(1) = ABS( ar(i,j,k) )
+                   fmax_ijk_l(1) = i
+                   fmax_ijk_l(2) = j
+                   fmax_ijk_l(3) = k
+                ENDIF
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Set a flag in case that the determined value is negative.
+!--    A constant offset has to be subtracted in order to handle the special
+!--    case i=0 correctly
+       IF ( ar(fmax_ijk_l(1),fmax_ijk_l(2),fmax_ijk_l(3)) < 0.0 )  THEN
+          fmax_ijk_l(1) = -fmax_ijk_l(1) - 10
+       ENDIF
+
+#if defined( __parallel )
+       fmax_l(2)  = myid
+       CALL MPI_ALLREDUCE( fmax_l, fmax, 1, MPI_2REAL, MPI_MAXLOC, comm2d, &
+                           ierr )
+
+!
+!--    Determine the global absolut maximum. Result stored on PE0.
+       id_fmax = fmax(2)
+       IF ( id_fmax /= 0 )  THEN
+          IF ( myid == 0 )  THEN
+             CALL MPI_RECV( fmax_ijk, 3, MPI_INTEGER, id_fmax, 0, comm2d, &
+                            status, ierr )
+          ELSEIF ( myid == id_fmax )  THEN
+             CALL MPI_SEND( fmax_ijk_l, 3, MPI_INTEGER, 0, 0, comm2d, ierr )
+          ENDIF
+       ELSE
+          fmax_ijk = fmax_ijk_l
+       ENDIF
+!
+!--    Send the indices of the just determined absolut maximum to other PEs
+       CALL MPI_BCAST( fmax_ijk, 3, MPI_INTEGER, 0, comm2d, ierr )
+#else
+       fmax(1)  = fmax_l(1)
+       fmax_ijk = fmax_ijk_l
+#endif
+
+    ENDIF
+
+!
+!-- Determine output parameters
+    SELECT CASE( mode )
+
+       CASE( 'min' )
+
+          value     = fmin(1)
+          value_ijk = fmin_ijk
+
+       CASE( 'max' )
+
+          value     = fmax(1)
+          value_ijk = fmax_ijk
+
+       CASE( 'minmax' )
+
+          value      = fmin(1)
+          value_ijk  = fmin_ijk
+          value1     = fmax(1)
+          value1_ijk = fmax_ijk
+
+       CASE( 'abs' )
+
+          value     = fmax(1)
+          value_ijk = fmax_ijk
+          IF ( fmax_ijk(1) < 0 )  THEN
+             value        = -value
+             value_ijk(1) = -value_ijk(1) - 10
+          ENDIF
+
+    END SELECT
+
+!
+!-- Limit index values to the range 0..nx, 0..ny
+    IF ( value_ijk(3) ==   -1 )  value_ijk(3) = nx
+    IF ( value_ijk(3) == nx+1 )  value_ijk(3) =  0
+    IF ( value_ijk(2) ==   -1 )  value_ijk(2) = ny
+    IF ( value_ijk(2) == ny+1 )  value_ijk(2) =  0
+
+
+ END SUBROUTINE global_min_max
Index: palm/tags/release-3.7/SOURCE/header.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/header.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/header.f90	(revision 393)
@@ -0,0 +1,1787 @@
+ SUBROUTINE header
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 346 2009-07-06 10:13:41Z raasch
+! initializing_actions='read_data_for_recycling' renamed to 'cyclic_fill'
+! Coupling with independent precursor runs.
+! Output of messages replaced by message handling routine.
+! Output of several additional dvr parameters
+! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left,
+! canyon_wall_south, conserve_volume_flow_mode, dp_external, dp_level_b, 
+! dp_smooth, dpdxy, u_bulk, v_bulk
+! topography_grid_convention moved from user_header
+! small bugfix concerning 3d 64bit netcdf output format
+!
+! 206 2008-10-13 14:59:11Z raasch
+! Bugfix: error in zu index in case of section_xy = -1
+!
+! 198 2008-09-17 08:55:28Z raasch
+! Format adjustments allowing output of larger revision numbers
+!
+! 197 2008-09-16 15:29:03Z raasch
+! allow 100 spectra levels instead of 10 for consistency with 
+! define_netcdf_header,
+! bugfix in the output of the characteristic levels of potential temperature, 
+! geostrophic wind, scalar concentration, humidity and leaf area density,
+! output of turbulence recycling informations
+!
+! 138 2007-11-28 10:03:58Z letzel
+! Allow new case bc_uv_t = 'dirichlet_0' for channel flow.
+! Allow two instead of one digit to specify isosurface and slicer variables.
+! Output of sorting frequency of particles
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Output of informations for coupled model runs (boundary conditions etc.)
+! + output of momentumfluxes at the top boundary
+! Rayleigh damping for ocean, e_init
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Adjustments for the ocean version.
+! use_pt_reference renamed use_reference
+!
+! 87 2007-05-22 15:46:47Z raasch
+! Bugfix: output of use_upstream_for_tke
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! routine local_flush is used for buffer flushing
+!
+! 76 2007-03-29 00:58:32Z raasch
+! Output of netcdf_64bit_3d, particles-package is now part of the default code,
+! output of the loop optimization method, moisture renamed humidity,
+! output of subversion revision number
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Output of scalar flux applied at top boundary
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.63  2006/08/22 13:53:13  raasch
+! Output of dz_max
+!
+! Revision 1.1  1997/08/11 06:17:20  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Writing a header with all important informations about the actual run.
+! This subroutine is called three times, two times at the beginning 
+! (writing information on files RUN_CONTROL and HEADER) and one time at the
+! end of the run, then writing additional information about CPU-usage on file
+! header.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cloud_parameters
+    USE cpulog
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE model_1d
+    USE particle_attributes
+    USE pegrid
+    USE spectrum
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1)  ::  prec
+    CHARACTER (LEN=2)  ::  do2d_mode
+    CHARACTER (LEN=5)  ::  section_chr
+    CHARACTER (LEN=9)  ::  time_to_string
+    CHARACTER (LEN=10) ::  coor_chr, host_chr
+    CHARACTER (LEN=16) ::  begin_chr
+    CHARACTER (LEN=23) ::  ver_rev
+    CHARACTER (LEN=40) ::  output_format
+    CHARACTER (LEN=70) ::  char1, char2, dopr_chr, &
+                           do2d_xy, do2d_xz, do2d_yz, do3d_chr, &
+                           run_classification
+    CHARACTER (LEN=86) ::  coordinates, gradients, learde, slices,  &
+                           temperatures, ugcomponent, vgcomponent
+    CHARACTER (LEN=85) ::  roben, runten
+
+    INTEGER ::  av, bh, blx, bly, bxl, bxr, byn, bys, ch, cwx, cwy, cxl, cxr, &
+                cyn, cys, i, ihost, io, j, l, ll, m, mpi_type
+    REAL    ::  cpuseconds_per_simulated_second
+
+!
+!-- Open the output file. At the end of the simulation, output is directed
+!-- to unit 19.
+    IF ( ( runnr == 0 .OR. force_print_header )  .AND. &
+         .NOT. simulated_time_at_begin /= simulated_time )  THEN
+       io = 15   !  header output on file RUN_CONTROL
+    ELSE
+       io = 19   !  header output on file HEADER
+    ENDIF
+    CALL check_open( io )
+
+!
+!-- At the end of the run, output file (HEADER) will be rewritten with
+!-- new informations
+    IF ( io == 19 .AND. simulated_time_at_begin /= simulated_time ) REWIND( 19 )
+
+!
+!-- Determine kind of model run
+    IF ( TRIM( initializing_actions ) == 'read_restart_data' )  THEN
+       run_classification = '3D - restart run'
+    ELSEIF ( TRIM( initializing_actions ) == 'cyclic_fill' )  THEN
+       run_classification = '3D - run with cyclic fill of 3D - prerun data'
+    ELSEIF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0 )  THEN
+       run_classification = '3D - run without 1D - prerun'
+    ELSEIF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       run_classification = '3D - run with 1D - prerun'
+    ELSEIF ( INDEX( initializing_actions, 'by_user' ) /=0 )  THEN
+       run_classification = '3D - run initialized by user'
+    ELSE
+       message_string = ' unknown action(s): ' // TRIM( initializing_actions )
+       CALL message( 'header', 'PA0191', 0, 0, 0, 6, 0 )
+    ENDIF
+    IF ( ocean )  THEN
+       run_classification = 'ocean - ' // run_classification
+    ELSE
+       run_classification = 'atmosphere - ' // run_classification
+    ENDIF
+
+!
+!-- Run-identification, date, time, host
+    host_chr = host(1:10)
+    ver_rev = TRIM( version ) // '  ' // TRIM( revision )
+    WRITE ( io, 100 )  ver_rev, TRIM( run_classification )
+    IF ( TRIM( coupling_mode ) /= 'uncoupled' )  THEN
+#if defined( __mpi2 )
+       mpi_type = 2
+#else
+       mpi_type = 1
+#endif
+       WRITE ( io, 101 )  mpi_type, coupling_mode
+    ENDIF
+    WRITE ( io, 102 )  run_date, run_identifier, run_time, runnr, &
+                       ADJUSTR( host_chr )
+#if defined( __parallel )
+    IF ( npex == -1  .AND.  pdims(2) /= 1 )  THEN
+       char1 = 'calculated'
+    ELSEIF ( ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec'  .OR.  &
+               host(1:2) == 'lc' )  .AND.                          &
+             npex == -1  .AND.  pdims(2) == 1 )  THEN
+       char1 = 'forced'
+    ELSE
+       char1 = 'predefined'
+    ENDIF
+    IF ( threads_per_task == 1 )  THEN
+       WRITE ( io, 103 )  numprocs, pdims(1), pdims(2), TRIM( char1 )
+    ELSE
+       WRITE ( io, 104 )  numprocs*threads_per_task, numprocs, &
+                          threads_per_task, pdims(1), pdims(2), TRIM( char1 )
+    ENDIF
+    IF ( ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec'  .OR.    &
+           host(1:2) == 'lc'   .OR.  host(1:3) == 'dec' )  .AND. &
+         npex == -1  .AND.  pdims(2) == 1 )                      &
+    THEN
+       WRITE ( io, 106 )
+    ELSEIF ( pdims(2) == 1 )  THEN
+       WRITE ( io, 107 )  'x'
+    ELSEIF ( pdims(1) == 1 )  THEN
+       WRITE ( io, 107 )  'y'
+    ENDIF
+    IF ( use_seperate_pe_for_dvrp_output )  WRITE ( io, 105 )
+#endif
+    WRITE ( io, 99 )
+
+!
+!-- Numerical schemes
+    WRITE ( io, 110 )
+    IF ( psolver(1:7) == 'poisfft' )  THEN
+       WRITE ( io, 111 )  TRIM( fft_method )
+       IF ( psolver == 'poisfft_hybrid' )  WRITE ( io, 138 )
+    ELSEIF ( psolver == 'sor' )  THEN
+       WRITE ( io, 112 )  nsor_ini, nsor, omega_sor
+    ELSEIF ( psolver == 'multigrid' )  THEN
+       WRITE ( io, 135 )  cycle_mg, maximum_grid_level, ngsrb
+       IF ( mg_cycles == -1 )  THEN
+          WRITE ( io, 140 )  residual_limit
+       ELSE
+          WRITE ( io, 141 )  mg_cycles
+       ENDIF
+       IF ( mg_switch_to_pe0_level == 0 )  THEN
+          WRITE ( io, 136 )  nxr_mg(1)-nxl_mg(1)+1, nyn_mg(1)-nys_mg(1)+1, &
+                             nzt_mg(1)
+       ELSEIF (  mg_switch_to_pe0_level /= -1 )  THEN
+          WRITE ( io, 137 )  mg_switch_to_pe0_level,            &
+                             mg_loc_ind(2,0)-mg_loc_ind(1,0)+1, &
+                             mg_loc_ind(4,0)-mg_loc_ind(3,0)+1, &
+                             nzt_mg(mg_switch_to_pe0_level),    &
+                             nxr_mg(1)-nxl_mg(1)+1, nyn_mg(1)-nys_mg(1)+1, &
+                             nzt_mg(1)
+       ENDIF
+    ENDIF
+    IF ( call_psolver_at_all_substeps  .AND. timestep_scheme(1:5) == 'runge' ) &
+    THEN
+       WRITE ( io, 142 )
+    ENDIF
+
+    IF ( momentum_advec == 'pw-scheme' )  THEN
+       WRITE ( io, 113 )
+    ELSE
+       WRITE ( io, 114 )
+       IF ( cut_spline_overshoot )  WRITE ( io, 124 )
+       IF ( overshoot_limit_u /= 0.0  .OR.  overshoot_limit_v /= 0.0  .OR. &
+            overshoot_limit_w /= 0.0 )  THEN
+          WRITE ( io, 127 )  overshoot_limit_u, overshoot_limit_v, &
+                             overshoot_limit_w
+       ENDIF
+       IF ( ups_limit_u /= 0.0  .OR.  ups_limit_v /= 0.0  .OR. &
+            ups_limit_w /= 0.0 )                               &
+       THEN
+          WRITE ( io, 125 )  ups_limit_u, ups_limit_v, ups_limit_w
+       ENDIF
+       IF ( long_filter_factor /= 0.0 )  WRITE ( io, 115 )  long_filter_factor
+    ENDIF
+    IF ( scalar_advec == 'pw-scheme' )  THEN
+       WRITE ( io, 116 )
+    ELSEIF ( scalar_advec == 'ups-scheme' )  THEN
+       WRITE ( io, 117 )
+       IF ( cut_spline_overshoot )  WRITE ( io, 124 )
+       IF ( overshoot_limit_e /= 0.0  .OR.  overshoot_limit_pt /= 0.0 )  THEN
+          WRITE ( io, 128 )  overshoot_limit_e, overshoot_limit_pt
+       ENDIF
+       IF ( ups_limit_e /= 0.0  .OR.  ups_limit_pt /= 0.0 )  THEN
+          WRITE ( io, 126 )  ups_limit_e, ups_limit_pt
+       ENDIF
+    ELSE
+       WRITE ( io, 118 )
+    ENDIF
+
+    WRITE ( io, 139 )  TRIM( loop_optimization )
+
+    IF ( galilei_transformation )  THEN
+       IF ( use_ug_for_galilei_tr )  THEN
+          char1 = 'geostrophic wind'
+       ELSE
+          char1 = 'mean wind in model domain'
+       ENDIF
+       IF ( simulated_time_at_begin == simulated_time )  THEN
+          char2 = 'at the start of the run'
+       ELSE
+          char2 = 'at the end of the run'
+       ENDIF
+       WRITE ( io, 119 )  TRIM( char1 ), TRIM( char2 ), &
+                          advected_distance_x/1000.0, advected_distance_y/1000.0
+    ENDIF
+    IF ( timestep_scheme == 'leapfrog' )  THEN
+       WRITE ( io, 120 )
+    ELSEIF ( timestep_scheme == 'leapfrog+euler' )  THEN
+       WRITE ( io, 121 )
+    ELSE
+       WRITE ( io, 122 )  timestep_scheme
+    ENDIF
+    IF ( use_upstream_for_tke )  WRITE ( io, 143 )
+    IF ( rayleigh_damping_factor /= 0.0 )  THEN
+       IF ( .NOT. ocean )  THEN
+          WRITE ( io, 123 )  'above', rayleigh_damping_height, &
+               rayleigh_damping_factor
+       ELSE
+          WRITE ( io, 123 )  'below', rayleigh_damping_height, &
+               rayleigh_damping_factor
+       ENDIF
+    ENDIF
+    IF ( humidity )  THEN
+       IF ( .NOT. cloud_physics )  THEN
+          WRITE ( io, 129 )
+       ELSE
+          WRITE ( io, 130 )
+          WRITE ( io, 131 )
+          IF ( radiation )      WRITE ( io, 132 )
+          IF ( precipitation )  WRITE ( io, 133 )
+       ENDIF
+    ENDIF
+    IF ( passive_scalar )  WRITE ( io, 134 )
+    IF ( conserve_volume_flow )  THEN
+       WRITE ( io, 150 )  conserve_volume_flow_mode
+       IF ( TRIM( conserve_volume_flow_mode ) == 'bulk_velocity' )  THEN
+          WRITE ( io, 151 )  u_bulk, v_bulk
+       ENDIF
+    ELSEIF ( dp_external )  THEN
+       IF ( dp_smooth )  THEN
+          WRITE ( io, 152 )  dpdxy, dp_level_b, ', vertically smoothed.'
+       ELSE
+          WRITE ( io, 152 )  dpdxy, dp_level_b, '.'
+       ENDIF
+    ENDIF
+    WRITE ( io, 99 )
+
+!
+!-- Runtime and timestep informations
+    WRITE ( io, 200 )
+    IF ( .NOT. dt_fixed )  THEN
+       WRITE ( io, 201 )  dt_max, cfl_factor
+    ELSE
+       WRITE ( io, 202 )  dt
+    ENDIF
+    WRITE ( io, 203 )  simulated_time_at_begin, end_time
+
+    IF ( time_restart /= 9999999.9  .AND. &
+         simulated_time_at_begin == simulated_time )  THEN
+       IF ( dt_restart == 9999999.9 )  THEN
+          WRITE ( io, 204 )  ' Restart at:       ',time_restart
+       ELSE
+          WRITE ( io, 205 )  ' Restart at:       ',time_restart, dt_restart
+       ENDIF
+    ENDIF
+
+    IF ( simulated_time_at_begin /= simulated_time )  THEN
+       i = MAX ( log_point_s(10)%counts, 1 )
+       IF ( ( simulated_time - simulated_time_at_begin ) == 0.0 )  THEN
+          cpuseconds_per_simulated_second = 0.0
+       ELSE
+          cpuseconds_per_simulated_second = log_point_s(10)%sum / &
+                                            ( simulated_time -    &
+                                              simulated_time_at_begin )
+       ENDIF
+       WRITE ( io, 206 )  simulated_time, log_point_s(10)%sum, &
+                          log_point_s(10)%sum / REAL( i ),     &
+                          cpuseconds_per_simulated_second
+       IF ( time_restart /= 9999999.9  .AND.  time_restart < end_time )  THEN
+          IF ( dt_restart == 9999999.9 )  THEN
+             WRITE ( io, 204 )  ' Next restart at:  ',time_restart
+          ELSE
+             WRITE ( io, 205 )  ' Next restart at:  ',time_restart, dt_restart
+          ENDIF
+       ENDIF
+    ENDIF
+
+!
+!-- Start time for coupled runs, if independent precursor runs for atmosphere
+!-- and ocean are used. In this case, coupling_start_time defines the time
+!-- when the coupling is switched on.
+    IF ( coupling_start_time /= 0.0 )  THEN
+       IF ( coupling_start_time >= simulated_time_at_begin )  THEN
+          char1 = 'Precursor run for a coupled atmosphere-ocean run'
+       ELSE
+          char1 = 'Coupled atmosphere-ocean run following independent ' // &
+                  'precursor runs'
+       ENDIF
+       WRITE ( io, 207 )  char1, coupling_start_time
+    ENDIF
+
+!
+!-- Computational grid
+    IF ( .NOT. ocean )  THEN
+       WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(nzt+1)
+       IF ( dz_stretch_level_index < nzt+1 )  THEN
+          WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
+                             dz_stretch_factor, dz_max
+       ENDIF
+    ELSE
+       WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(0)
+       IF ( dz_stretch_level_index > 0 )  THEN
+          WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
+                             dz_stretch_factor, dz_max
+       ENDIF
+    ENDIF
+    WRITE ( io, 254 )  nx, ny, nzt+1, MIN( nnx, nx+1 ), MIN( nny, ny+1 ), &
+                       MIN( nnz+2, nzt+2 )
+    IF ( numprocs > 1 )  THEN
+       IF ( nxa == nx  .AND.  nya == ny  .AND.  nza == nz )  THEN
+          WRITE ( io, 255 )
+       ELSE
+          WRITE ( io, 256 )  nnx-(nxa-nx), nny-(nya-ny), nzt+2
+       ENDIF
+    ENDIF
+    IF ( sloping_surface )  WRITE ( io, 260 )  alpha_surface
+
+!
+!-- Topography
+    WRITE ( io, 270 )  topography
+    SELECT CASE ( TRIM( topography ) )
+
+       CASE ( 'flat' )
+          ! no actions necessary
+
+       CASE ( 'single_building' )
+          blx = INT( building_length_x / dx )
+          bly = INT( building_length_y / dy )
+          bh  = INT( building_height / dz )
+
+          IF ( building_wall_left == 9999999.9 )  THEN
+             building_wall_left = ( nx + 1 - blx ) / 2 * dx
+          ENDIF
+          bxl = INT ( building_wall_left / dx + 0.5 )
+          bxr = bxl + blx
+
+          IF ( building_wall_south == 9999999.9 )  THEN
+             building_wall_south = ( ny + 1 - bly ) / 2 * dy
+          ENDIF
+          bys = INT ( building_wall_south / dy + 0.5 )
+          byn = bys + bly
+
+          WRITE ( io, 271 )  building_length_x, building_length_y, &
+                             building_height, bxl, bxr, bys, byn
+
+       CASE ( 'single_street_canyon' )
+          ch  = NINT( canyon_height / dz )
+          IF ( canyon_width_x /= 9999999.9 )  THEN
+!
+!--          Street canyon in y direction
+             cwx = NINT( canyon_width_x / dx )
+             IF ( canyon_wall_left == 9999999.9 )  THEN
+                canyon_wall_left = ( nx + 1 - cwx ) / 2 * dx
+             ENDIF
+             cxl = NINT( canyon_wall_left / dx )
+             cxr = cxl + cwx
+             WRITE ( io, 272 )  'y', canyon_height, ch, 'u', cxl, cxr
+
+          ELSEIF ( canyon_width_y /= 9999999.9 )  THEN
+!
+!--          Street canyon in x direction
+             cwy = NINT( canyon_width_y / dy )
+             IF ( canyon_wall_south == 9999999.9 )  THEN
+                canyon_wall_south = ( ny + 1 - cwy ) / 2 * dy
+             ENDIF
+             cys = NINT( canyon_wall_south / dy )
+             cyn = cys + cwy
+             WRITE ( io, 272 )  'x', canyon_height, ch, 'v', cys, cyn
+          ENDIF
+
+    END SELECT
+
+    IF ( TRIM( topography ) /= 'flat' )  THEN
+       IF ( TRIM( topography_grid_convention ) == ' ' )  THEN
+          IF ( TRIM( topography ) == 'single_building' .OR.  &
+               TRIM( topography ) == 'single_street_canyon' )  THEN
+             WRITE ( io, 278 )
+          ELSEIF ( TRIM( topography ) == 'read_from_file' )  THEN
+             WRITE ( io, 279 )
+          ENDIF
+       ELSEIF ( TRIM( topography_grid_convention ) == 'cell_edge' )  THEN
+          WRITE ( io, 278 )
+       ELSEIF ( TRIM( topography_grid_convention ) == 'cell_center' )  THEN
+          WRITE ( io, 279 )
+       ENDIF
+    ENDIF
+
+    IF ( plant_canopy ) THEN
+
+       WRITE ( io, 280 ) canopy_mode, pch_index, drag_coefficient
+       IF ( passive_scalar ) THEN
+          WRITE ( io, 281 ) scalar_exchange_coefficient,   &
+                            leaf_surface_concentration
+       ENDIF
+
+!
+!--    Heat flux at the top of vegetation
+       WRITE ( io, 282 ) cthf
+
+!
+!--    Leaf area density profile
+!--    Building output strings, starting with surface value
+       WRITE ( learde, '(F6.2)' )  lad_surface
+       gradients = '------'
+       slices = '     0'
+       coordinates = '   0.0'
+       i = 1
+       DO  WHILE ( lad_vertical_gradient_level_ind(i) /= -9999 )
+
+          WRITE (coor_chr,'(F7.2)')  lad(lad_vertical_gradient_level_ind(i))
+          learde = TRIM( learde ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(F7.2)')  lad_vertical_gradient(i)
+          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(I7)')  lad_vertical_gradient_level_ind(i)
+          slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(F7.1)')  lad_vertical_gradient_level(i)
+          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
+
+          i = i + 1
+       ENDDO
+
+       WRITE ( io, 283 )  TRIM( coordinates ), TRIM( learde ), &
+                          TRIM( gradients ), TRIM( slices )
+
+    ENDIF
+
+!
+!-- Boundary conditions
+    IF ( ibc_p_b == 0 )  THEN
+       runten = 'p(0)     = 0      |'
+    ELSEIF ( ibc_p_b == 1 )  THEN
+       runten = 'p(0)     = p(1)   |'
+    ELSE
+       runten = 'p(0)     = p(1) +R|'
+    ENDIF
+    IF ( ibc_p_t == 0 )  THEN
+       roben  = 'p(nzt+1) = 0      |'
+    ELSE
+       roben  = 'p(nzt+1) = p(nzt) |'
+    ENDIF
+
+    IF ( ibc_uv_b == 0 )  THEN
+       runten = TRIM( runten ) // ' uv(0)     = -uv(1)                |'
+    ELSE
+       runten = TRIM( runten ) // ' uv(0)     = uv(1)                 |'
+    ENDIF
+    IF ( TRIM( bc_uv_t ) == 'dirichlet_0' )  THEN
+       roben  = TRIM( roben  ) // ' uv(nzt+1) = 0                     |'
+    ELSEIF ( ibc_uv_t == 0 )  THEN
+       roben  = TRIM( roben  ) // ' uv(nzt+1) = ug(nzt+1), vg(nzt+1)  |'
+    ELSE
+       roben  = TRIM( roben  ) // ' uv(nzt+1) = uv(nzt)               |'
+    ENDIF
+
+    IF ( ibc_pt_b == 0 )  THEN
+       runten = TRIM( runten ) // ' pt(0)   = pt_surface'
+    ELSEIF ( ibc_pt_b == 1 )  THEN
+       runten = TRIM( runten ) // ' pt(0)   = pt(1)'
+    ELSEIF ( ibc_pt_b == 2 )  THEN
+       runten = TRIM( runten ) // ' pt(0) = from coupled model'
+    ENDIF
+    IF ( ibc_pt_t == 0 )  THEN
+       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt_top'
+    ELSEIF( ibc_pt_t == 1 )  THEN
+       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt(nzt)'
+    ELSEIF( ibc_pt_t == 2 )  THEN
+       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt(nzt) + dpt/dz_ini'
+    ENDIF
+
+    WRITE ( io, 300 )  runten, roben
+
+    IF ( .NOT. constant_diffusion )  THEN
+       IF ( ibc_e_b == 1 )  THEN
+          runten = 'e(0)     = e(1)'
+       ELSE
+          runten = 'e(0)     = e(1) = (u*/0.1)**2'
+       ENDIF
+       roben = 'e(nzt+1) = e(nzt) = e(nzt-1)'
+
+       WRITE ( io, 301 )  'e', runten, roben       
+
+    ENDIF
+
+    IF ( ocean )  THEN
+       runten = 'sa(0)    = sa(1)'
+       IF ( ibc_sa_t == 0 )  THEN
+          roben =  'sa(nzt+1) = sa_surface'
+       ELSE
+          roben =  'sa(nzt+1) = sa(nzt)'
+       ENDIF
+       WRITE ( io, 301 ) 'sa', runten, roben
+    ENDIF
+
+    IF ( humidity )  THEN
+       IF ( ibc_q_b == 0 )  THEN
+          runten = 'q(0)     = q_surface'
+       ELSE
+          runten = 'q(0)     = q(1)'
+       ENDIF
+       IF ( ibc_q_t == 0 )  THEN
+          roben =  'q(nzt)   = q_top'
+       ELSE
+          roben =  'q(nzt)   = q(nzt-1) + dq/dz'
+       ENDIF
+       WRITE ( io, 301 ) 'q', runten, roben
+    ENDIF
+
+    IF ( passive_scalar )  THEN
+       IF ( ibc_q_b == 0 )  THEN
+          runten = 's(0)     = s_surface'
+       ELSE
+          runten = 's(0)     = s(1)'
+       ENDIF
+       IF ( ibc_q_t == 0 )  THEN
+          roben =  's(nzt)   = s_top'
+       ELSE
+          roben =  's(nzt)   = s(nzt-1) + ds/dz'
+       ENDIF
+       WRITE ( io, 301 ) 's', runten, roben
+    ENDIF
+
+    IF ( use_surface_fluxes )  THEN
+       WRITE ( io, 303 )
+       IF ( constant_heatflux )  THEN
+          WRITE ( io, 306 )  surface_heatflux
+          IF ( random_heatflux )  WRITE ( io, 307 )
+       ENDIF
+       IF ( humidity  .AND.  constant_waterflux )  THEN
+          WRITE ( io, 311 ) surface_waterflux
+       ENDIF
+       IF ( passive_scalar  .AND.  constant_waterflux )  THEN
+          WRITE ( io, 313 ) surface_waterflux
+       ENDIF
+    ENDIF
+
+    IF ( use_top_fluxes )  THEN
+       WRITE ( io, 304 )
+       IF ( coupling_mode == 'uncoupled' )  THEN
+          WRITE ( io, 320 )  top_momentumflux_u, top_momentumflux_v
+          IF ( constant_top_heatflux )  THEN
+             WRITE ( io, 306 )  top_heatflux
+          ENDIF
+       ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+          WRITE ( io, 316 )
+       ENDIF
+       IF ( ocean  .AND.  constant_top_salinityflux )  THEN
+          WRITE ( io, 309 )  top_salinityflux
+       ENDIF
+       IF ( humidity  .OR.  passive_scalar )  THEN
+          WRITE ( io, 315 )
+       ENDIF
+    ENDIF
+
+    IF ( prandtl_layer )  THEN
+       WRITE ( io, 305 )  0.5 * (zu(1)-zu(0)), roughness_length, kappa, &
+                          rif_min, rif_max
+       IF ( .NOT. constant_heatflux )  WRITE ( io, 308 )
+       IF ( humidity  .AND.  .NOT. constant_waterflux )  THEN
+          WRITE ( io, 312 )
+       ENDIF
+       IF ( passive_scalar  .AND.  .NOT. constant_waterflux )  THEN
+          WRITE ( io, 314 )
+       ENDIF
+    ELSE
+       IF ( INDEX(initializing_actions, 'set_1d-model_profiles') /= 0 )  THEN
+          WRITE ( io, 310 )  rif_min, rif_max
+       ENDIF
+    ENDIF
+
+    WRITE ( io, 317 )  bc_lr, bc_ns
+    IF ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' )  THEN
+       WRITE ( io, 318 )  outflow_damping_width, km_damp_max
+       IF ( turbulent_inflow )  THEN
+          WRITE ( io, 319 )  recycling_width, recycling_plane, &
+                             inflow_damping_height, inflow_damping_width
+       ENDIF
+    ENDIF
+
+!
+!-- Listing of 1D-profiles
+    WRITE ( io, 325 )  dt_dopr_listing
+    IF ( averaging_interval_pr /= 0.0 )  THEN
+       WRITE ( io, 326 )  averaging_interval_pr, dt_averaging_input_pr
+    ENDIF
+
+!
+!-- DATA output
+    WRITE ( io, 330 )
+    IF ( averaging_interval_pr /= 0.0 )  THEN
+       WRITE ( io, 326 )  averaging_interval_pr, dt_averaging_input_pr
+    ENDIF
+
+!
+!-- 1D-profiles
+    dopr_chr = 'Profile:'
+    IF ( dopr_n /= 0 )  THEN
+       WRITE ( io, 331 )
+
+       output_format = ''
+       IF ( netcdf_output )  THEN
+          IF ( netcdf_64bit )  THEN
+             output_format = 'netcdf (64 bit offset)'
+          ELSE
+             output_format = 'netcdf'
+          ENDIF
+       ENDIF
+       IF ( profil_output )  THEN
+          IF ( netcdf_output )  THEN
+             output_format = TRIM( output_format ) // ' and profil'
+          ELSE
+             output_format = 'profil'
+          ENDIF
+       ENDIF
+       WRITE ( io, 344 )  output_format
+
+       DO  i = 1, dopr_n
+          dopr_chr = TRIM( dopr_chr ) // ' ' // TRIM( data_output_pr(i) ) // ','
+          IF ( LEN_TRIM( dopr_chr ) >= 60 )  THEN
+             WRITE ( io, 332 )  dopr_chr
+             dopr_chr = '       :'
+          ENDIF
+       ENDDO
+
+       IF ( dopr_chr /= '' )  THEN
+          WRITE ( io, 332 )  dopr_chr
+       ENDIF
+       WRITE ( io, 333 )  dt_dopr, averaging_interval_pr, dt_averaging_input_pr
+       IF ( skip_time_dopr /= 0.0 )  WRITE ( io, 339 )  skip_time_dopr
+    ENDIF
+
+!
+!-- 2D-arrays
+    DO  av = 0, 1
+
+       i = 1
+       do2d_xy = ''
+       do2d_xz = ''
+       do2d_yz = ''
+       DO  WHILE ( do2d(av,i) /= ' ' )
+
+          l = MAX( 2, LEN_TRIM( do2d(av,i) ) )
+          do2d_mode = do2d(av,i)(l-1:l)
+
+          SELECT CASE ( do2d_mode )
+             CASE ( 'xy' )
+                ll = LEN_TRIM( do2d_xy )
+                do2d_xy = do2d_xy(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
+             CASE ( 'xz' )
+                ll = LEN_TRIM( do2d_xz )
+                do2d_xz = do2d_xz(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
+             CASE ( 'yz' )
+                ll = LEN_TRIM( do2d_yz )
+                do2d_yz = do2d_yz(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
+          END SELECT
+
+          i = i + 1
+
+       ENDDO
+
+       IF ( ( ( do2d_xy /= ''  .AND.  section(1,1) /= -9999 )  .OR.    &
+              ( do2d_xz /= ''  .AND.  section(1,2) /= -9999 )  .OR.    &
+              ( do2d_yz /= ''  .AND.  section(1,3) /= -9999 ) )  .AND. &
+            ( netcdf_output  .OR.  iso2d_output ) )  THEN
+
+          IF (  av == 0 )  THEN
+             WRITE ( io, 334 )  ''
+          ELSE
+             WRITE ( io, 334 )  '(time-averaged)'
+          ENDIF
+
+          IF ( do2d_at_begin )  THEN
+             begin_chr = 'and at the start'
+          ELSE
+             begin_chr = ''
+          ENDIF
+
+          output_format = ''
+          IF ( netcdf_output )  THEN
+             IF ( netcdf_64bit )  THEN
+                output_format = 'netcdf (64 bit offset)'
+             ELSE
+                output_format = 'netcdf'
+             ENDIF
+          ENDIF
+          IF ( iso2d_output )  THEN
+             IF ( netcdf_output )  THEN
+                output_format = TRIM( output_format ) // ' and iso2d'
+             ELSE
+                output_format = 'iso2d'
+             ENDIF
+          ENDIF
+          WRITE ( io, 344 )  output_format
+
+          IF ( do2d_xy /= ''  .AND.  section(1,1) /= -9999 )  THEN
+             i = 1
+             slices = '/'
+             coordinates = '/'
+!
+!--          Building strings with index and coordinate informations of the
+!--          slices
+             DO  WHILE ( section(i,1) /= -9999 )
+
+                WRITE (section_chr,'(I5)')  section(i,1)
+                section_chr = ADJUSTL( section_chr )
+                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
+
+                IF ( section(i,1) == -1 )  THEN
+                   WRITE (coor_chr,'(F10.1)')  -1.0
+                ELSE
+                   WRITE (coor_chr,'(F10.1)')  zu(section(i,1))
+                ENDIF
+                coor_chr = ADJUSTL( coor_chr )
+                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
+
+                i = i + 1
+             ENDDO
+             IF ( av == 0 )  THEN
+                WRITE ( io, 335 )  'XY', do2d_xy, dt_do2d_xy, &
+                                   TRIM( begin_chr ), 'k', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_do2d_xy /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_do2d_xy
+                ENDIF
+             ELSE
+                WRITE ( io, 342 )  'XY', do2d_xy, dt_data_output_av, &
+                                   TRIM( begin_chr ), averaging_interval, &
+                                   dt_averaging_input, 'k', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_data_output_av /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_data_output_av
+                ENDIF
+             ENDIF
+
+          ENDIF
+
+          IF ( do2d_xz /= ''  .AND.  section(1,2) /= -9999 )  THEN
+             i = 1
+             slices = '/'
+             coordinates = '/'
+!
+!--          Building strings with index and coordinate informations of the
+!--          slices
+             DO  WHILE ( section(i,2) /= -9999 )
+
+                WRITE (section_chr,'(I5)')  section(i,2)
+                section_chr = ADJUSTL( section_chr )
+                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
+
+                WRITE (coor_chr,'(F10.1)')  section(i,2) * dy
+                coor_chr = ADJUSTL( coor_chr )
+                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
+
+                i = i + 1
+             ENDDO
+             IF ( av == 0 )  THEN
+                WRITE ( io, 335 )  'XZ', do2d_xz, dt_do2d_xz, &
+                                   TRIM( begin_chr ), 'j', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_do2d_xz /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_do2d_xz
+                ENDIF
+             ELSE
+                WRITE ( io, 342 )  'XZ', do2d_xz, dt_data_output_av, &
+                                   TRIM( begin_chr ), averaging_interval, &
+                                   dt_averaging_input, 'j', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_data_output_av /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_data_output_av
+                ENDIF
+             ENDIF
+          ENDIF
+
+          IF ( do2d_yz /= ''  .AND.  section(1,3) /= -9999 )  THEN
+             i = 1
+             slices = '/'
+             coordinates = '/'
+!
+!--          Building strings with index and coordinate informations of the
+!--          slices
+             DO  WHILE ( section(i,3) /= -9999 )
+
+                WRITE (section_chr,'(I5)')  section(i,3)
+                section_chr = ADJUSTL( section_chr )
+                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
+
+                WRITE (coor_chr,'(F10.1)')  section(i,3) * dx
+                coor_chr = ADJUSTL( coor_chr )
+                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
+
+                i = i + 1
+             ENDDO
+             IF ( av == 0 )  THEN
+                WRITE ( io, 335 )  'YZ', do2d_yz, dt_do2d_yz, &
+                                   TRIM( begin_chr ), 'i', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_do2d_yz /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_do2d_yz
+                ENDIF
+             ELSE
+                WRITE ( io, 342 )  'YZ', do2d_yz, dt_data_output_av, &
+                                   TRIM( begin_chr ), averaging_interval, &
+                                   dt_averaging_input, 'i', TRIM( slices ), &
+                                   TRIM( coordinates )
+                IF ( skip_time_data_output_av /= 0.0 )  THEN
+                   WRITE ( io, 339 )  skip_time_data_output_av
+                ENDIF
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+    ENDDO
+
+!
+!-- 3d-arrays
+    DO  av = 0, 1
+
+       i = 1
+       do3d_chr = ''
+       DO  WHILE ( do3d(av,i) /= ' ' )
+
+          do3d_chr = TRIM( do3d_chr ) // ' ' // TRIM( do3d(av,i) ) // ','
+          i = i + 1
+
+       ENDDO
+
+       IF ( do3d_chr /= '' )  THEN
+          IF ( av == 0 )  THEN
+             WRITE ( io, 336 )  ''
+          ELSE
+             WRITE ( io, 336 )  '(time-averaged)'
+          ENDIF
+
+          output_format = ''
+          IF ( netcdf_output )  THEN
+             IF ( netcdf_64bit_3d )  THEN
+                output_format = 'netcdf (64 bit offset)'
+             ELSE
+                output_format = 'netcdf'
+             ENDIF
+          ENDIF
+          IF ( avs_output )  THEN
+             IF ( netcdf_output )  THEN
+                output_format = TRIM( output_format ) // ' and avs'
+             ELSE
+                output_format = 'avs'
+             ENDIF
+          ENDIF
+          WRITE ( io, 344 )  output_format
+
+          IF ( do3d_at_begin )  THEN
+             begin_chr = 'and at the start'
+          ELSE
+             begin_chr = ''
+          ENDIF
+          IF ( av == 0 )  THEN
+             WRITE ( io, 337 )  do3d_chr, dt_do3d, TRIM( begin_chr ), &
+                                zu(nz_do3d), nz_do3d
+          ELSE
+             WRITE ( io, 343 )  do3d_chr, dt_data_output_av,           &
+                                TRIM( begin_chr ), averaging_interval, &
+                                dt_averaging_input, zu(nz_do3d), nz_do3d
+          ENDIF
+
+          IF ( do3d_compress )  THEN
+             do3d_chr = ''
+             i = 1
+             DO WHILE ( do3d(av,i) /= ' ' )
+
+                SELECT CASE ( do3d(av,i) )
+                   CASE ( 'u' )
+                      j = 1
+                   CASE ( 'v' )
+                      j = 2
+                   CASE ( 'w' )
+                      j = 3
+                   CASE ( 'p' )
+                      j = 4
+                   CASE ( 'pt' )
+                      j = 5
+                END SELECT
+                WRITE ( prec, '(I1)' )  plot_3d_precision(j)%precision
+                do3d_chr = TRIM( do3d_chr ) // ' ' // TRIM( do3d(av,i) ) // &
+                           ':' // prec // ','
+                i = i + 1
+
+             ENDDO
+             WRITE ( io, 338 )  do3d_chr
+
+          ENDIF
+
+          IF ( av == 0 )  THEN
+             IF ( skip_time_do3d /= 0.0 )  THEN
+                WRITE ( io, 339 )  skip_time_do3d
+             ENDIF
+          ELSE
+             IF ( skip_time_data_output_av /= 0.0 )  THEN
+                WRITE ( io, 339 )  skip_time_data_output_av
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+    ENDDO
+
+!
+!-- Timeseries
+    IF ( dt_dots /= 9999999.9 )  THEN
+       WRITE ( io, 340 )
+
+       output_format = ''
+       IF ( netcdf_output )  THEN
+          IF ( netcdf_64bit )  THEN
+             output_format = 'netcdf (64 bit offset)'
+          ELSE
+             output_format = 'netcdf'
+          ENDIF
+       ENDIF
+       IF ( profil_output )  THEN
+          IF ( netcdf_output )  THEN
+             output_format = TRIM( output_format ) // ' and profil'
+          ELSE
+             output_format = 'profil'
+          ENDIF
+       ENDIF
+       WRITE ( io, 344 )  output_format
+       WRITE ( io, 341 )  dt_dots
+    ENDIF
+
+#if defined( __dvrp_graphics )
+!
+!-- Dvrp-output
+    IF ( dt_dvrp /= 9999999.9 )  THEN
+       WRITE ( io, 360 )  dt_dvrp, TRIM( dvrp_output ), TRIM( dvrp_host ), &
+                          TRIM( dvrp_username ), TRIM( dvrp_directory )
+       i = 1
+       l = 0
+       m = 0
+       DO WHILE ( mode_dvrp(i) /= ' ' )
+          IF ( mode_dvrp(i)(1:10) == 'isosurface' )  THEN
+             READ ( mode_dvrp(i), '(10X,I2)' )  j
+             l = l + 1
+             IF ( do3d(0,j) /= ' ' )  THEN
+                WRITE ( io, 361 )  TRIM( do3d(0,j) ), threshold(l), &
+                                   isosurface_color(:,l)
+             ENDIF
+          ELSEIF ( mode_dvrp(i)(1:6) == 'slicer' )  THEN
+             READ ( mode_dvrp(i), '(6X,I2)' )  j
+             m = m + 1
+             IF ( do2d(0,j) /= ' ' )  THEN
+                WRITE ( io, 362 )  TRIM( do2d(0,j) ), &
+                                   slicer_range_limits_dvrp(:,m)
+             ENDIF
+          ELSEIF ( mode_dvrp(i)(1:9) == 'particles' )  THEN
+             WRITE ( io, 363 )  dvrp_psize
+             IF ( particle_dvrpsize /= 'none' )  THEN
+                WRITE ( io, 364 )  'size', TRIM( particle_dvrpsize ), &
+                                   dvrpsize_interval
+             ENDIF
+             IF ( particle_color /= 'none' )  THEN
+                WRITE ( io, 364 )  'color', TRIM( particle_color ), &
+                                   color_interval
+             ENDIF
+          ENDIF
+          i = i + 1
+       ENDDO
+
+       WRITE ( io, 365 )  groundplate_color, superelevation_x, &
+                          superelevation_y, superelevation, clip_dvrp_l, &
+                          clip_dvrp_r, clip_dvrp_s, clip_dvrp_n
+
+       IF ( TRIM( topography ) /= 'flat' )  THEN
+          WRITE ( io, 366 )  topography_color
+          IF ( cluster_size > 1 )  THEN
+             WRITE ( io, 367 )  cluster_size
+          ENDIF
+       ENDIF
+
+    ENDIF
+#endif
+
+#if defined( __spectra )
+!
+!-- Spectra output
+    IF ( dt_dosp /= 9999999.9 ) THEN
+       WRITE ( io, 370 )
+
+       output_format = ''
+       IF ( netcdf_output )  THEN
+          IF ( netcdf_64bit )  THEN
+             output_format = 'netcdf (64 bit offset)'
+          ELSE
+             output_format = 'netcdf'
+          ENDIF
+       ENDIF
+       IF ( profil_output )  THEN
+          IF ( netcdf_output )  THEN
+             output_format = TRIM( output_format ) // ' and profil'
+          ELSE
+             output_format = 'profil'
+          ENDIF
+       ENDIF
+       WRITE ( io, 344 )  output_format
+       WRITE ( io, 371 )  dt_dosp
+       IF ( skip_time_dosp /= 0.0 )  WRITE ( io, 339 )  skip_time_dosp
+       WRITE ( io, 372 )  ( data_output_sp(i), i = 1,10 ),     &
+                          ( spectra_direction(i), i = 1,10 ),  &
+                          ( comp_spectra_level(i), i = 1,100 ), &
+                          ( plot_spectra_level(i), i = 1,100 ), &
+                          averaging_interval_sp, dt_averaging_input_pr
+    ENDIF
+#endif
+
+    WRITE ( io, 99 )
+
+!
+!-- Physical quantities
+    WRITE ( io, 400 )
+
+!
+!-- Geostrophic parameters
+    WRITE ( io, 410 )  omega, phi, f, fs
+
+!
+!-- Other quantities
+    WRITE ( io, 411 )  g
+    IF ( use_reference )  THEN
+       IF ( ocean )  THEN
+          WRITE ( io, 412 )  prho_reference
+       ELSE
+          WRITE ( io, 413 )  pt_reference
+       ENDIF
+    ENDIF
+
+!
+!-- Cloud physics parameters
+    IF ( cloud_physics ) THEN
+       WRITE ( io, 415 )
+       WRITE ( io, 416 ) surface_pressure, r_d, rho_surface, cp, l_v
+    ENDIF
+
+!-- Profile of the geostrophic wind (component ug)
+!-- Building output strings
+    WRITE ( ugcomponent, '(F6.2)' )  ug_surface
+    gradients = '------'
+    slices = '     0'
+    coordinates = '   0.0'
+    i = 1
+    DO  WHILE ( ug_vertical_gradient_level_ind(i) /= -9999 )
+      
+       WRITE (coor_chr,'(F6.2,1X)')  ug(ug_vertical_gradient_level_ind(i))
+       ugcomponent = TRIM( ugcomponent ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F6.2,1X)')  ug_vertical_gradient(i)
+       gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(I6,1X)')  ug_vertical_gradient_level_ind(i)
+       slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F6.1,1X)')  ug_vertical_gradient_level(i)
+       coordinates = TRIM( coordinates ) // '  ' // TRIM( coor_chr )
+
+       i = i + 1
+    ENDDO
+
+    WRITE ( io, 423 )  TRIM( coordinates ), TRIM( ugcomponent ), &
+                       TRIM( gradients ), TRIM( slices )
+
+!-- Profile of the geostrophic wind (component vg)
+!-- Building output strings
+    WRITE ( vgcomponent, '(F6.2)' )  vg_surface
+    gradients = '------'
+    slices = '     0'
+    coordinates = '   0.0'
+    i = 1
+    DO  WHILE ( vg_vertical_gradient_level_ind(i) /= -9999 )
+
+       WRITE (coor_chr,'(F6.2,1X)')  vg(vg_vertical_gradient_level_ind(i))
+       vgcomponent = TRIM( vgcomponent ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F6.2,1X)')  vg_vertical_gradient(i)
+       gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(I6,1X)')  vg_vertical_gradient_level_ind(i)
+       slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F6.1,1X)')  vg_vertical_gradient_level(i)
+       coordinates = TRIM( coordinates ) // '  ' // TRIM( coor_chr )
+
+       i = i + 1 
+    ENDDO
+
+    WRITE ( io, 424 )  TRIM( coordinates ), TRIM( vgcomponent ), &
+                       TRIM( gradients ), TRIM( slices )
+
+!
+!-- Initial temperature profile
+!-- Building output strings, starting with surface temperature
+    WRITE ( temperatures, '(F6.2)' )  pt_surface
+    gradients = '------'
+    slices = '     0'
+    coordinates = '   0.0'
+    i = 1
+    DO  WHILE ( pt_vertical_gradient_level_ind(i) /= -9999 )
+
+       WRITE (coor_chr,'(F7.2)')  pt_init(pt_vertical_gradient_level_ind(i))
+       temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F7.2)')  pt_vertical_gradient(i)
+       gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(I7)')  pt_vertical_gradient_level_ind(i)
+       slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
+
+       WRITE (coor_chr,'(F7.1)')  pt_vertical_gradient_level(i)
+       coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
+
+       i = i + 1
+    ENDDO
+
+    WRITE ( io, 420 )  TRIM( coordinates ), TRIM( temperatures ), &
+                       TRIM( gradients ), TRIM( slices )
+
+!
+!-- Initial humidity profile
+!-- Building output strings, starting with surface humidity
+    IF ( humidity  .OR.  passive_scalar )  THEN
+       WRITE ( temperatures, '(E8.1)' )  q_surface
+       gradients = '--------'
+       slices = '       0'
+       coordinates = '     0.0'
+       i = 1
+       DO  WHILE ( q_vertical_gradient_level_ind(i) /= -9999 )
+          
+          WRITE (coor_chr,'(E8.1,4X)')  q_init(q_vertical_gradient_level_ind(i))
+          temperatures = TRIM( temperatures ) // '  ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(E8.1,4X)')  q_vertical_gradient(i)
+          gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
+          
+          WRITE (coor_chr,'(I8,4X)')  q_vertical_gradient_level_ind(i)
+          slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
+          
+          WRITE (coor_chr,'(F8.1,4X)')  q_vertical_gradient_level(i)
+          coordinates = TRIM( coordinates ) // '  '  // TRIM( coor_chr )
+
+          i = i + 1
+       ENDDO
+
+       IF ( humidity )  THEN
+          WRITE ( io, 421 )  TRIM( coordinates ), TRIM( temperatures ), &
+                             TRIM( gradients ), TRIM( slices )
+       ELSE
+          WRITE ( io, 422 )  TRIM( coordinates ), TRIM( temperatures ), &
+                             TRIM( gradients ), TRIM( slices )
+       ENDIF
+    ENDIF
+
+!
+!-- Initial salinity profile
+!-- Building output strings, starting with surface salinity
+    IF ( ocean )  THEN
+       WRITE ( temperatures, '(F6.2)' )  sa_surface
+       gradients = '------'
+       slices = '     0'
+       coordinates = '   0.0'
+       i = 1
+       DO  WHILE ( sa_vertical_gradient_level_ind(i) /= -9999 )
+
+          WRITE (coor_chr,'(F7.2)')  sa_init(sa_vertical_gradient_level_ind(i))
+          temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(F7.2)')  sa_vertical_gradient(i)
+          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(I7)')  sa_vertical_gradient_level_ind(i)
+          slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
+
+          WRITE (coor_chr,'(F7.1)')  sa_vertical_gradient_level(i)
+          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
+
+          i = i + 1
+       ENDDO
+
+       WRITE ( io, 425 )  TRIM( coordinates ), TRIM( temperatures ), &
+                          TRIM( gradients ), TRIM( slices )
+    ENDIF
+
+!
+!-- LES / turbulence parameters
+    WRITE ( io, 450 )
+
+!--
+! ... LES-constants used must still be added here
+!--
+    IF ( constant_diffusion )  THEN
+       WRITE ( io, 451 )  km_constant, km_constant/prandtl_number, &
+                          prandtl_number
+    ENDIF
+    IF ( .NOT. constant_diffusion)  THEN
+       IF ( e_init > 0.0 )  WRITE ( io, 455 )  e_init
+       IF ( e_min > 0.0 )  WRITE ( io, 454 )  e_min
+       IF ( wall_adjustment )  WRITE ( io, 453 )  wall_adjustment_factor
+       IF ( adjust_mixing_length  .AND.  prandtl_layer )  WRITE ( io, 452 )
+    ENDIF
+
+!
+!-- Special actions during the run
+    WRITE ( io, 470 )
+    IF ( create_disturbances )  THEN
+       WRITE ( io, 471 )  dt_disturb, disturbance_amplitude,                   &
+                          zu(disturbance_level_ind_b), disturbance_level_ind_b,&
+                          zu(disturbance_level_ind_t), disturbance_level_ind_t
+       IF ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' )  THEN
+          WRITE ( io, 472 )  inflow_disturbance_begin, inflow_disturbance_end
+       ELSE
+          WRITE ( io, 473 )  disturbance_energy_limit
+       ENDIF
+       WRITE ( io, 474 )  TRIM( random_generator )
+    ENDIF
+    IF ( pt_surface_initial_change /= 0.0 )  THEN
+       WRITE ( io, 475 )  pt_surface_initial_change
+    ENDIF
+    IF ( humidity  .AND.  q_surface_initial_change /= 0.0 )  THEN
+       WRITE ( io, 476 )  q_surface_initial_change       
+    ENDIF
+    IF ( passive_scalar  .AND.  q_surface_initial_change /= 0.0 )  THEN
+       WRITE ( io, 477 )  q_surface_initial_change       
+    ENDIF
+
+    IF ( particle_advection )  THEN
+!
+!--    Particle attributes
+       WRITE ( io, 480 )  particle_advection_start, dt_prel, bc_par_lr, &
+                          bc_par_ns, bc_par_b, bc_par_t, particle_maximum_age, &
+                          end_time_prel, dt_sort_particles
+       IF ( use_sgs_for_particles )  WRITE ( io, 488 )  dt_min_part
+       IF ( random_start_position )  WRITE ( io, 481 )
+       IF ( particles_per_point > 1 )  WRITE ( io, 489 )  particles_per_point
+       WRITE ( io, 495 )  total_number_of_particles
+       IF ( maximum_number_of_tailpoints /= 0 )  THEN
+          WRITE ( io, 483 )  maximum_number_of_tailpoints
+          IF ( minimum_tailpoint_distance /= 0 )  THEN
+             WRITE ( io, 484 )  total_number_of_tails,      &
+                                minimum_tailpoint_distance, &
+                                maximum_tailpoint_age
+          ENDIF
+       ENDIF
+       IF ( dt_write_particle_data /= 9999999.9 )  THEN
+          WRITE ( io, 485 )  dt_write_particle_data
+          output_format = ''
+          IF ( netcdf_output )  THEN
+             IF ( netcdf_64bit )  THEN
+                output_format = 'netcdf (64 bit offset) and binary'
+             ELSE
+                output_format = 'netcdf and binary'
+             ENDIF
+          ELSE
+             output_format = 'binary'
+          ENDIF
+          WRITE ( io, 344 )  output_format
+       ENDIF
+       IF ( dt_dopts /= 9999999.9 )  WRITE ( io, 494 )  dt_dopts
+       IF ( write_particle_statistics )  WRITE ( io, 486 )
+
+       WRITE ( io, 487 )  number_of_particle_groups
+
+       DO  i = 1, number_of_particle_groups
+          IF ( i == 1  .AND.  density_ratio(i) == 9999999.9 )  THEN
+             WRITE ( io, 490 )  i, 0.0
+             WRITE ( io, 492 )
+          ELSE
+             WRITE ( io, 490 )  i, radius(i)
+             IF ( density_ratio(i) /= 0.0 )  THEN
+                WRITE ( io, 491 )  density_ratio(i)
+             ELSE
+                WRITE ( io, 492 )
+             ENDIF
+          ENDIF
+          WRITE ( io, 493 )  psl(i), psr(i), pss(i), psn(i), psb(i), pst(i), &
+                             pdx(i), pdy(i), pdz(i)
+          IF ( .NOT. vertical_particle_advection(i) )  WRITE ( io, 482 )
+       ENDDO
+
+    ENDIF
+
+
+!
+!-- Parameters of 1D-model
+    IF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       WRITE ( io, 500 )  end_time_1d, dt_run_control_1d, dt_pr_1d, &
+                          mixing_length_1d, dissipation_1d
+       IF ( damp_level_ind_1d /= nzt+1 )  THEN
+          WRITE ( io, 502 )  zu(damp_level_ind_1d), damp_level_ind_1d
+       ENDIF
+    ENDIF
+
+!
+!-- User-defined informations
+    CALL user_header( io )
+
+    WRITE ( io, 99 )
+
+!
+!-- Write buffer contents to disc immediately
+    CALL local_flush( io )
+
+!
+!-- Here the FORMATs start
+
+ 99 FORMAT (1X,78('-'))
+100 FORMAT (/1X,'***************************',9X,42('-')/        &
+            1X,'* ',A,' *',9X,A/                               &
+            1X,'***************************',9X,42('-'))
+101 FORMAT (37X,'coupled run using MPI-',I1,': ',A/ &
+            37X,42('-'))
+102 FORMAT (/' Date:              ',A8,9X,'Run:       ',A20/      &
+            ' Time:              ',A8,9X,'Run-No.:   ',I2.2/     &
+            ' Run on host:     ',A10)
+#if defined( __parallel )
+103 FORMAT (' Number of PEs:',8X,I5,9X,'Processor grid (x,y): (',I3,',',I3, &
+              ')',1X,A)
+104 FORMAT (' Number of PEs:',8X,I5,9X,'Tasks:',I4,'   threads per task:',I4/ &
+              37X,'Processor grid (x,y): (',I3,',',I3,')',1X,A)
+105 FORMAT (37X,'One additional PE is used to handle'/37X,'the dvrp output!')
+106 FORMAT (37X,'A 1d-decomposition along x is forced'/ &
+            37X,'because the job is running on an SMP-cluster')
+107 FORMAT (37X,'A 1d-decomposition along ',A,' is used')
+#endif
+110 FORMAT (/' Numerical Schemes:'/ &
+             ' -----------------'/)
+111 FORMAT (' --> Solve perturbation pressure via FFT using ',A,' routines')
+112 FORMAT (' --> Solve perturbation pressure via SOR-Red/Black-Schema'/ &
+            '     Iterations (initial/other): ',I3,'/',I3,'  omega = ',F5.3)
+113 FORMAT (' --> Momentum advection via Piascek-Williams-Scheme (Form C3)', &
+                  ' or Upstream')
+114 FORMAT (' --> Momentum advection via Upstream-Spline-Scheme')
+115 FORMAT ('     Tendencies are smoothed via Long-Filter with factor ',F5.3) 
+116 FORMAT (' --> Scalar advection via Piascek-Williams-Scheme (Form C3)', &
+                  ' or Upstream')
+117 FORMAT (' --> Scalar advection via Upstream-Spline-Scheme')
+118 FORMAT (' --> Scalar advection via Bott-Chlond-Scheme')
+119 FORMAT (' --> Galilei-Transform applied to horizontal advection', &
+            '     Translation velocity = ',A/ &
+            '     distance advected ',A,':  ',F8.3,' km(x)  ',F8.3,' km(y)')
+120 FORMAT (' --> Time differencing scheme: leapfrog only (no euler in case', &
+                  ' of timestep changes)')
+121 FORMAT (' --> Time differencing scheme: leapfrog + euler in case of', &
+                  ' timestep changes')
+122 FORMAT (' --> Time differencing scheme: ',A)
+123 FORMAT (' --> Rayleigh-Damping active, starts ',A,' z = ',F8.2,' m'/ &
+            '     maximum damping coefficient: ',F5.3, ' 1/s')
+124 FORMAT ('     Spline-overshoots are being suppressed')
+125 FORMAT ('     Upstream-Scheme is used if Upstream-differences fall short', &
+                  ' of'/                                                       &
+            '     delta_u = ',F6.4,4X,'delta_v = ',F6.4,4X,'delta_w = ',F6.4)
+126 FORMAT ('     Upstream-Scheme is used if Upstream-differences fall short', &
+                  ' of'/                                                       &
+            '     delta_e = ',F6.4,4X,'delta_pt = ',F6.4)
+127 FORMAT ('     The following absolute overshoot differences are tolerated:'/&
+            '     delta_u = ',F6.4,4X,'delta_v = ',F6.4,4X,'delta_w = ',F6.4)
+128 FORMAT ('     The following absolute overshoot differences are tolerated:'/&
+            '     delta_e = ',F6.4,4X,'delta_pt = ',F6.4)
+129 FORMAT (' --> Additional prognostic equation for the specific humidity')
+130 FORMAT (' --> Additional prognostic equation for the total water content')
+131 FORMAT (' --> Parameterization of condensation processes via (0%-or100%)')
+132 FORMAT (' --> Parameterization of long-wave radiation processes via'/ &
+            '     effective emissivity scheme')
+133 FORMAT (' --> Precipitation parameterization via Kessler-Scheme')
+134 FORMAT (' --> Additional prognostic equation for a passive scalar')
+135 FORMAT (' --> Solve perturbation pressure via multigrid method (', &
+                  A,'-cycle)'/ &
+            '     number of grid levels:                   ',I2/ &
+            '     Gauss-Seidel red/black iterations:       ',I2)
+136 FORMAT ('     gridpoints of coarsest subdomain (x,y,z): (',I3,',',I3,',', &
+                  I3,')')
+137 FORMAT ('     level data gathered on PE0 at level:     ',I2/ &
+            '     gridpoints of coarsest subdomain (x,y,z): (',I3,',',I3,',', &
+                  I3,')'/ &
+            '     gridpoints of coarsest domain (x,y,z):    (',I3,',',I3,',', &
+                  I3,')')
+138 FORMAT ('     Using hybrid version for 1d-domain-decomposition')
+139 FORMAT (' --> Loop optimization method: ',A)
+140 FORMAT ('     maximum residual allowed:                ',E10.3)
+141 FORMAT ('     fixed number of multigrid cycles:        ',I4)
+142 FORMAT ('     perturbation pressure is calculated at every Runge-Kutta ', &
+                  'step')
+143 FORMAT ('     Euler/upstream scheme is used for the SGS turbulent ', &
+                  'kinetic energy')
+150 FORMAT (' --> Volume flow at the right and north boundary will be ', &
+                  'conserved'/ &
+            '     using the ',A,' mode')
+151 FORMAT ('     with u_bulk = ',F7.3,' m/s and v_bulk = ',F7.3,' m/s')
+152 FORMAT (' --> External pressure gradient directly prescribed by the user:',&
+           /'     ',2(1X,E12.5),'Pa/m in x/y direction', &
+           /'     starting from dp_level_b =', F8.3, 'm', A /)
+200 FORMAT (//' Run time and time step information:'/ &
+             ' ----------------------------------'/)
+201 FORMAT ( ' Timestep:          variable     maximum value: ',F6.3,' s', &
+             '    CFL-factor: ',F4.2)
+202 FORMAT ( ' Timestep:       dt = ',F6.3,' s'/)
+203 FORMAT ( ' Start time:       ',F9.3,' s'/ &
+             ' End time:         ',F9.3,' s')
+204 FORMAT ( A,F9.3,' s')
+205 FORMAT ( A,F9.3,' s',5X,'restart every',17X,F9.3,' s')
+206 FORMAT (/' Time reached:     ',F9.3,' s'/ &
+             ' CPU-time used:    ',F9.3,' s     per timestep:               ', &
+               '  ',F9.3,' s'/                                                 &
+             '                                   per second of simulated tim', &
+               'e: ',F9.3,' s')
+207 FORMAT ( A/' Coupling start time:',F9.3,' s')
+250 FORMAT (//' Computational grid and domain size:'/ &
+              ' ----------------------------------'// &
+              ' Grid length:      dx =    ',F7.3,' m    dy =    ',F7.3, &
+              ' m    dz =    ',F7.3,' m'/ &
+              ' Domain size:       x = ',F10.3,' m     y = ',F10.3, &
+              ' m  z(u) = ',F10.3,' m'/)
+252 FORMAT (' dz constant up to ',F10.3,' m (k=',I4,'), then stretched by', &
+              ' factor: ',F5.3/ &
+            ' maximum dz not to be exceeded is dz_max = ',F10.3,' m'/)
+254 FORMAT (' Number of gridpoints (x,y,z):  (0:',I4,', 0:',I4,', 0:',I4,')'/ &
+            ' Subdomain size (x,y,z):        (  ',I4,',   ',I4,',   ',I4,')'/)
+255 FORMAT (' Subdomains have equal size')
+256 FORMAT (' Subdomains at the upper edges of the virtual processor grid ', &
+              'have smaller sizes'/                                          &
+            ' Size of smallest subdomain:    (  ',I4,',   ',I4,',   ',I4,')')
+260 FORMAT (/' The model has a slope in x-direction. Inclination angle: ',F6.2,&
+             ' degrees')
+270 FORMAT (//' Topography informations:'/ &
+              ' -----------------------'// &
+              1X,'Topography: ',A)
+271 FORMAT (  ' Building size (x/y/z) in m: ',F5.1,' / ',F5.1,' / ',F5.1/ &
+              ' Horizontal index bounds (l/r/s/n): ',I4,' / ',I4,' / ',I4, &
+                ' / ',I4)
+272 FORMAT (  ' Single quasi-2D street canyon of infinite length in ',A, &
+              ' direction' / &
+              ' Canyon height: ', F6.2, 'm, ch = ', I4, '.'      / &
+              ' Canyon position (',A,'-walls): cxl = ', I4,', cxr = ', I4, '.')
+278 FORMAT (' Topography grid definition convention:'/ &
+            ' cell edge (staggered grid points'/  &
+            ' (u in x-direction, v in y-direction))' /)
+279 FORMAT (' Topography grid definition convention:'/ &
+            ' cell center (scalar grid points)' /)
+280 FORMAT (//' Vegetation canopy (drag) model:'/ &
+              ' ------------------------------'// &
+              ' Canopy mode: ', A / &
+              ' Canopy top: ',I4 / &
+              ' Leaf drag coefficient: ',F6.2 /)
+281 FORMAT (/ ' Scalar_exchange_coefficient: ',F6.2 / &
+              ' Scalar concentration at leaf surfaces in kg/m**3: ',F6.2 /)
+282 FORMAT (' Predefined constant heatflux at the top of the vegetation: ',F6.2,' K m/s')
+283 FORMAT (/ ' Characteristic levels of the leaf area density:'// &
+              ' Height:              ',A,'  m'/ &
+              ' Leaf area density:   ',A,'  m**2/m**3'/ &
+              ' Gradient:            ',A,'  m**2/m**4'/ &
+              ' Gridpoint:           ',A)
+               
+300 FORMAT (//' Boundary conditions:'/ &
+             ' -------------------'// &
+             '                     p                    uv             ', &
+             '                   pt'// &
+             ' B. bound.: ',A/ &
+             ' T. bound.: ',A)
+301 FORMAT (/'                     ',A// &
+             ' B. bound.: ',A/ &
+             ' T. bound.: ',A)
+303 FORMAT (/' Bottom surface fluxes are used in diffusion terms at k=1')
+304 FORMAT (/' Top surface fluxes are used in diffusion terms at k=nzt')
+305 FORMAT (//'    Prandtl-Layer between bottom surface and first ', &
+               'computational u,v-level:'// &
+             '       zp = ',F6.2,' m   z0 = ',F6.4,' m   kappa = ',F4.2/ &
+             '       Rif value range:   ',F6.2,' <= rif <=',F6.2)
+306 FORMAT ('       Predefined constant heatflux:   ',F9.6,' K m/s')
+307 FORMAT ('       Heatflux has a random normal distribution')
+308 FORMAT ('       Predefined surface temperature')
+309 FORMAT ('       Predefined constant salinityflux:   ',F9.6,' psu m/s')
+310 FORMAT (//'    1D-Model:'// &
+             '       Rif value range:   ',F6.2,' <= rif <=',F6.2)
+311 FORMAT ('       Predefined constant humidity flux: ',E10.3,' m/s')
+312 FORMAT ('       Predefined surface humidity')
+313 FORMAT ('       Predefined constant scalar flux: ',E10.3,' kg/(m**2 s)')
+314 FORMAT ('       Predefined scalar value at the surface')
+315 FORMAT ('       Humidity / scalar flux at top surface is 0.0')
+316 FORMAT ('       Sensible heatflux and momentum flux from coupled ', &
+                    'atmosphere model')
+317 FORMAT (//' Lateral boundaries:'/ &
+            '       left/right:  ',A/    &
+            '       north/south: ',A)
+318 FORMAT (/'       outflow damping layer width: ',I3,' gridpoints with km_', &
+                    'max =',F5.1,' m**2/s')
+319 FORMAT ('       turbulence recycling at inflow switched on'/ &
+            '       width of recycling domain: ',F7.1,' m   grid index: ',I4/ &
+            '       inflow damping height: ',F6.1,' m   width: ',F6.1,' m')
+320 FORMAT ('       Predefined constant momentumflux:  u: ',F9.6,' m**2/s**2'/ &
+            '                                          v: ',F9.6,' m**2/s**2')
+325 FORMAT (//' List output:'/ &
+             ' -----------'//  &
+            '    1D-Profiles:'/    &
+            '       Output every             ',F8.2,' s')
+326 FORMAT ('       Time averaged over       ',F8.2,' s'/ &
+            '       Averaging input every    ',F8.2,' s')
+330 FORMAT (//' Data output:'/ &
+             ' -----------'/)
+331 FORMAT (/'    1D-Profiles:')
+332 FORMAT (/'       ',A)
+333 FORMAT ('       Output every             ',F8.2,' s',/ &
+            '       Time averaged over       ',F8.2,' s'/ &
+            '       Averaging input every    ',F8.2,' s')
+334 FORMAT (/'    2D-Arrays',A,':')
+335 FORMAT (/'       ',A2,'-cross-section  Arrays: ',A/ &
+            '       Output every             ',F8.2,' s  ',A/ &
+            '       Cross sections at ',A1,' = ',A/ &
+            '       scalar-coordinates:   ',A,' m'/)
+336 FORMAT (/'    3D-Arrays',A,':')
+337 FORMAT (/'       Arrays: ',A/ &
+            '       Output every             ',F8.2,' s  ',A/ &
+            '       Upper output limit at    ',F8.2,' m  (GP ',I4,')'/)
+338 FORMAT ('       Compressed data output'/ &
+            '       Decimal precision: ',A/)
+339 FORMAT ('       No output during initial ',F8.2,' s')
+340 FORMAT (/'    Time series:')
+341 FORMAT ('       Output every             ',F8.2,' s'/)
+342 FORMAT (/'       ',A2,'-cross-section  Arrays: ',A/ &
+            '       Output every             ',F8.2,' s  ',A/ &
+            '       Time averaged over       ',F8.2,' s'/ &
+            '       Averaging input every    ',F8.2,' s'/ &
+            '       Cross sections at ',A1,' = ',A/ &
+            '       scalar-coordinates:   ',A,' m'/)
+343 FORMAT (/'       Arrays: ',A/ &
+            '       Output every             ',F8.2,' s  ',A/ &
+            '       Time averaged over       ',F8.2,' s'/ &
+            '       Averaging input every    ',F8.2,' s'/ &
+            '       Upper output limit at    ',F8.2,' m  (GP ',I4,')'/)
+344 FORMAT ('       Output format: ',A/)
+#if defined( __dvrp_graphics )
+360 FORMAT ('    Plot-Sequence with dvrp-software:'/ &
+            '       Output every      ',F7.1,' s'/ &
+            '       Output mode:      ',A/ &
+            '       Host / User:      ',A,' / ',A/ &
+            '       Directory:        ',A// &
+            '       The sequence contains:')
+361 FORMAT (/'       Isosurface of "',A,'"    Threshold value: ', E12.3/ &
+            '          Isosurface color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)')
+362 FORMAT (/'       Slicer plane ',A/ &
+            '       Slicer limits: [',F6.2,',',F6.2,']')
+363 FORMAT (/'       Particles'/ &
+            '          particle size:  ',F7.2,' m')
+364 FORMAT ('          particle ',A,' controlled by "',A,'" with interval [', &
+                       F6.2,',',F6.2,']')
+365 FORMAT (/'       Groundplate color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)'/ &
+            '       Superelevation along (x,y,z): (',F4.1,',',F4.1,',',F4.1, &
+                     ')'/ &
+            '       Clipping limits: from x = ',F9.1,' m to x = ',F9.1,' m'/ &
+            '                        from y = ',F9.1,' m to y = ',F9.1,' m')
+366 FORMAT (/'       Topography color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)')
+367 FORMAT ('       Polygon reduction for topography: cluster_size = ', I1)
+#endif
+#if defined( __spectra )
+370 FORMAT ('    Spectra:')
+371 FORMAT ('       Output every ',F7.1,' s'/)
+372 FORMAT ('       Arrays:     ', 10(A5,',')/                         &
+            '       Directions: ', 10(A5,',')/                         &
+            '       height levels  k = ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 19(I3,','),I3,'.'/           &
+            '       height levels selected for standard plot:'/        &
+            '                      k = ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 20(I3,',')/                  &
+            '                          ', 19(I3,','),I3,'.'/           &
+            '       Time averaged over ', F7.1, ' s,' /                &
+            '       Profiles for the time averaging are taken every ', &
+                    F6.1,' s')
+#endif
+400 FORMAT (//' Physical quantities:'/ &
+              ' -------------------'/)
+410 FORMAT ('    Angular velocity    :   omega = ',E9.3,' rad/s'/  &
+            '    Geograph. latitude  :   phi   = ',F4.1,' degr'/   &
+            '    Coriolis parameter  :   f     = ',F9.6,' 1/s'/    &
+            '                            f*    = ',F9.6,' 1/s')
+411 FORMAT (/'    Gravity             :   g     = ',F4.1,' m/s**2')
+412 FORMAT (/'    Reference density in buoyancy terms: ',F8.3,' kg/m**3')
+413 FORMAT (/'    Reference temperature in buoyancy terms: ',F8.4,' K')
+415 FORMAT (/'    Cloud physics parameters:'/ &
+             '    ------------------------'/)
+416 FORMAT ('        Surface pressure   :   p_0   = ',F7.2,' hPa'/      &
+            '        Gas constant       :   R     = ',F5.1,' J/(kg K)'/ &
+            '        Density of air     :   rho_0 = ',F5.3,' kg/m**3'/  &
+            '        Specific heat cap. :   c_p   = ',F6.1,' J/(kg K)'/ &
+            '        Vapourization heat :   L_v   = ',E8.2,' J/kg')
+420 FORMAT (/'    Characteristic levels of the initial temperature profile:'// &
+            '       Height:        ',A,'  m'/ &
+            '       Temperature:   ',A,'  K'/ &
+            '       Gradient:      ',A,'  K/100m'/ &
+            '       Gridpoint:     ',A)
+421 FORMAT (/'    Characteristic levels of the initial humidity profile:'// &
+            '       Height:      ',A,'  m'/ &
+            '       Humidity:    ',A,'  kg/kg'/ &
+            '       Gradient:    ',A,'  (kg/kg)/100m'/ &
+            '       Gridpoint:   ',A)
+422 FORMAT (/'    Characteristic levels of the initial scalar profile:'// &
+            '       Height:                  ',A,'  m'/ &
+            '       Scalar concentration:    ',A,'  kg/m**3'/ &
+            '       Gradient:                ',A,'  (kg/m**3)/100m'/ &
+            '       Gridpoint:               ',A)
+423 FORMAT (/'    Characteristic levels of the geo. wind component ug:'// &
+            '       Height:      ',A,'  m'/ &
+            '       ug:          ',A,'  m/s'/ &
+            '       Gradient:    ',A,'  1/100s'/ &
+            '       Gridpoint:   ',A)
+424 FORMAT (/'    Characteristic levels of the geo. wind component vg:'// &
+            '       Height:      ',A,'  m'/ &
+            '       vg:          ',A,'  m/s'/ &
+            '       Gradient:    ',A,'  1/100s'/ &
+            '       Gridpoint:   ',A)
+425 FORMAT (/'    Characteristic levels of the initial salinity profile:'// &
+            '       Height:     ',A,'  m'/ &
+            '       Salinity:   ',A,'  psu'/ &
+            '       Gradient:   ',A,'  psu/100m'/ &
+            '       Gridpoint:  ',A)
+450 FORMAT (//' LES / Turbulence quantities:'/ &
+              ' ---------------------------'/)
+451 FORMAT ('   Diffusion coefficients are constant:'/ &
+            '   Km = ',F6.2,' m**2/s   Kh = ',F6.2,' m**2/s   Pr = ',F5.2)
+452 FORMAT ('   Mixing length is limited to the Prandtl mixing lenth.')
+453 FORMAT ('   Mixing length is limited to ',F4.2,' * z')
+454 FORMAT ('   TKE is not allowed to fall below ',E9.2,' (m/s)**2')
+455 FORMAT ('   initial TKE is prescribed as ',E9.2,' (m/s)**2')
+470 FORMAT (//' Actions during the simulation:'/ &
+              ' -----------------------------'/)
+471 FORMAT ('    Disturbance impulse (u,v) every :   ',F6.2,' s'/            &
+            '    Disturbance amplitude           :     ',F4.2, ' m/s'/       &
+            '    Lower disturbance level         : ',F8.2,' m (GP ',I4,')'/  &
+            '    Upper disturbance level         : ',F8.2,' m (GP ',I4,')')
+472 FORMAT ('    Disturbances continued during the run from i/j =',I4, &
+                 ' to i/j =',I4)
+473 FORMAT ('    Disturbances cease as soon as the disturbance energy exceeds',&
+                 1X,F5.3, ' m**2/s**2')
+474 FORMAT ('    Random number generator used    : ',A/)
+475 FORMAT ('    The surface temperature is increased (or decreased, ', &
+                 'respectively, if'/ &
+            '    the value is negative) by ',F5.2,' K at the beginning of the',&
+                 ' 3D-simulation'/)
+476 FORMAT ('    The surface humidity is increased (or decreased, ',&
+                 'respectively, if the'/ &
+            '    value is negative) by ',E8.1,' kg/kg at the beginning of', &
+                 ' the 3D-simulation'/)
+477 FORMAT ('    The scalar value is increased at the surface (or decreased, ',&
+                 'respectively, if the'/ &
+            '    value is negative) by ',E8.1,' kg/m**3 at the beginning of', &
+                 ' the 3D-simulation'/)
+480 FORMAT ('    Particles:'/ &
+            '    ---------'// &
+            '       Particle advection is active (switched on at t = ', F7.1, &
+                    ' s)'/ &
+            '       Start of new particle generations every  ',F6.1,' s'/ &
+            '       Boundary conditions: left/right: ', A, ' north/south: ', A/&
+            '                            bottom:     ', A, ' top:         ', A/&
+            '       Maximum particle age:                 ',F9.1,' s'/ &
+            '       Advection stopped at t = ',F9.1,' s'/ &
+            '       Particles are sorted every ',F9.1,' s'/)
+481 FORMAT ('       Particles have random start positions'/)
+482 FORMAT ('          Particles are advected only horizontally'/)
+483 FORMAT ('       Particles have tails with a maximum of ',I3,' points')
+484 FORMAT ('            Number of tails of the total domain: ',I10/ &
+            '            Minimum distance between tailpoints: ',F8.2,' m'/ &
+            '            Maximum age of the end of the tail:  ',F8.2,' s')
+485 FORMAT ('       Particle data are written on file every ', F9.1, ' s')
+486 FORMAT ('       Particle statistics are written on file'/)
+487 FORMAT ('       Number of particle groups: ',I2/)
+488 FORMAT ('       SGS velocity components are used for particle advection'/ &
+            '          minimum timestep for advection: ', F7.5/)
+489 FORMAT ('       Number of particles simultaneously released at each ', &
+                    'point: ', I5/)
+490 FORMAT ('       Particle group ',I2,':'/ &
+            '          Particle radius: ',E10.3, 'm')
+491 FORMAT ('          Particle inertia is activated'/ &
+            '             density_ratio (rho_fluid/rho_particle) = ',F5.3/)
+492 FORMAT ('          Particles are advected only passively (no inertia)'/)
+493 FORMAT ('          Boundaries of particle source: x:',F8.1,' - ',F8.1,' m'/&
+            '                                         y:',F8.1,' - ',F8.1,' m'/&
+            '                                         z:',F8.1,' - ',F8.1,' m'/&
+            '          Particle distances:  dx = ',F8.1,' m  dy = ',F8.1, &
+                       ' m  dz = ',F8.1,' m'/)
+494 FORMAT ('       Output of particle time series in NetCDF format every ', &
+                    F8.2,' s'/)
+495 FORMAT ('       Number of particles in total domain: ',I10/)
+500 FORMAT (//' 1D-Model parameters:'/                           &
+              ' -------------------'//                           &
+            '    Simulation time:                   ',F8.1,' s'/ &
+            '    Run-controll output every:         ',F8.1,' s'/ &
+            '    Vertical profile output every:     ',F8.1,' s'/ &
+            '    Mixing length calculation:         ',A/         &
+            '    Dissipation calculation:           ',A/)
+502 FORMAT ('    Damping layer starts from ',F7.1,' m (GP ',I4,')'/)
+
+
+ END SUBROUTINE header
Index: palm/tags/release-3.7/SOURCE/impact_of_latent_heat.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/impact_of_latent_heat.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/impact_of_latent_heat.f90	(revision 393)
@@ -0,0 +1,107 @@
+ MODULE impact_of_latent_heat_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 72 2007-03-19 08:20:46Z
+! precipitation_rate renamed dqdt_precip
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Calculation extended for gridpoint nzt
+! 
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2004/01/30 10:25:59  raasch
+! Scalar lower k index nzb replaced by 2d-array nzb_2d
+!
+! Revision 1.1  2000/04/13 14:48:40  schroeter
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Calculate the impact of latent heat due to precipitation
+! (simplified Kessler scheme)
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC impact_of_latent_heat
+
+    INTERFACE impact_of_latent_heat
+       MODULE PROCEDURE impact_of_latent_heat
+       MODULE PROCEDURE impact_of_latent_heat_ij
+    END INTERFACE impact_of_latent_heat
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE impact_of_latent_heat
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE constants
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  dqdt_precip
+
+ 
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_2d(j,i)+1, nzt
+
+                IF ( ql(k,j,i) > ql_crit )  THEN
+                   dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
+                ELSE
+                   dqdt_precip = 0.0
+                ENDIF
+                tend(k,j,i) = tend(k,j,i) + dqdt_precip * l_d_cp * pt_d_t(k)
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE impact_of_latent_heat
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE impact_of_latent_heat_ij( i, j )
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE constants
+       USE indices
+   
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+       REAL    ::  dqdt_precip
+
+
+       DO  k = nzb_2d(j,i)+1, nzt
+
+          IF ( ql(k,j,i) > ql_crit )  THEN
+             dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
+          ELSE
+             dqdt_precip = 0.0
+          ENDIF
+          tend(k,j,i) = tend(k,j,i) + dqdt_precip * l_d_cp * pt_d_t(k)
+
+       ENDDO
+
+    END SUBROUTINE impact_of_latent_heat_ij
+
+ END MODULE impact_of_latent_heat_mod
Index: palm/tags/release-3.7/SOURCE/inflow_turbulence.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/inflow_turbulence.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/inflow_turbulence.f90	(revision 393)
@@ -0,0 +1,216 @@
+ SUBROUTINE inflow_turbulence
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 222 2009-01-12 16:04:16Z letzel
+! Bugfix for nonparallel execution
+!
+! Initial version (2008/03/07)
+!
+! Description:
+! ------------
+! Imposing turbulence at the respective inflow using the turbulence
+! recycling method of Kataoka and Mizuno (2002).
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, imax, j, k, ngp_ifd, ngp_pr
+
+    REAL, DIMENSION(1:2) ::  volume_flow_l, volume_flow_offset
+    REAL, DIMENSION(nzb:nzt+1,5) ::  avpr, avpr_l
+    REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,5) ::  inflow_dist
+
+    CALL cpu_log( log_point(40), 'inflow_turbulence', 'start' )
+
+!
+!-- Carry out horizontal averaging in the recycling plane
+    avpr_l = 0.0
+    ngp_pr = ( nzt - nzb + 2 ) * 5
+    ngp_ifd = ngp_pr * ( nyn - nys + 3 )
+
+!
+!-- First, local averaging within the recycling domain
+    IF ( recycling_plane >= nxl )  THEN
+
+       imax = MIN( nxr, recycling_plane )
+
+       DO  i = nxl, imax
+          DO  j = nys, nyn
+             DO  k = nzb, nzt+1
+
+                avpr_l(k,1) = avpr_l(k,1) + u(k,j,i)
+                avpr_l(k,2) = avpr_l(k,2) + v(k,j,i)
+                avpr_l(k,3) = avpr_l(k,3) + w(k,j,i)
+                avpr_l(k,4) = avpr_l(k,4) + pt(k,j,i)
+                avpr_l(k,5) = avpr_l(k,5) + e(k,j,i)
+
+             ENDDO
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!    WRITE (9,*) '*** averaged profiles avpr_l'
+!    DO  k = nzb, nzt+1
+!       WRITE (9,'(F5.1,1X,F5.1,1X,F5.1,1X,F6.1,1X,F7.2)') avpr_l(k,1),avpr_l(k,2),avpr_l(k,3),avpr_l(k,4),avpr_l(k,5)
+!    ENDDO
+!    WRITE (9,*) ' '
+
+#if defined( __parallel )
+!
+!-- Now, averaging over all PEs
+    CALL MPI_ALLREDUCE( avpr_l(nzb,1), avpr(nzb,1), ngp_pr, MPI_REAL, MPI_SUM, &
+                        comm2d, ierr )
+#else
+    avpr = avpr_l
+#endif
+
+    avpr = avpr / ( ( ny + 1 ) * ( recycling_plane + 1 ) )
+
+!    WRITE (9,*) '*** averaged profiles'
+!    DO  k = nzb, nzt+1
+!       WRITE (9,'(F5.1,1X,F5.1,1X,F5.1,1X,F6.1,1X,F7.2)') avpr(k,1),avpr(k,2),avpr(k,3),avpr(k,4),avpr(k,5)
+!    ENDDO
+!    WRITE (9,*) ' '
+
+!
+!-- Calculate the disturbances at the recycling plane
+    i = recycling_plane
+
+#if defined( __parallel )
+    IF ( myidx == id_recycling )  THEN
+
+       DO  j = nys-1, nyn+1
+          DO  k = nzb, nzt+1
+
+              inflow_dist(k,j,1) = u(k,j,i+1) - avpr(k,1)
+              inflow_dist(k,j,2) = v(k,j,i)   - avpr(k,2)
+              inflow_dist(k,j,3) = w(k,j,i)   - avpr(k,3)
+              inflow_dist(k,j,4) = pt(k,j,i)  - avpr(k,4)
+              inflow_dist(k,j,5) = e(k,j,i)   - avpr(k,5)
+
+          ENDDO
+       ENDDO
+
+    ENDIF
+#else
+    DO  j = nys-1, nyn+1
+       DO  k = nzb, nzt+1
+
+          inflow_dist(k,j,1) = u(k,j,i+1) - avpr(k,1)
+          inflow_dist(k,j,2) = v(k,j,i)   - avpr(k,2)
+          inflow_dist(k,j,3) = w(k,j,i)   - avpr(k,3)
+          inflow_dist(k,j,4) = pt(k,j,i)  - avpr(k,4)
+          inflow_dist(k,j,5) = e(k,j,i)   - avpr(k,5)
+
+       ENDDO
+    ENDDO
+#endif
+
+!
+!-- For parallel runs, send the disturbances to the respective inflow PE
+#if defined( __parallel )
+    IF ( myidx == id_recycling  .AND.  myidx /= id_inflow )  THEN
+
+       CALL MPI_SEND( inflow_dist(nzb,nys-1,1), ngp_ifd, MPI_REAL, &
+                      id_inflow, 1, comm1dx, ierr )
+
+    ELSEIF ( myidx /= id_recycling  .AND.  myidx == id_inflow )  THEN
+
+       inflow_dist = 0.0
+       CALL MPI_RECV( inflow_dist(nzb,nys-1,1), ngp_ifd, MPI_REAL, &
+                      id_recycling, 1, comm1dx, status, ierr )
+
+    ENDIF
+#endif
+
+!
+!-- Add the disturbance at the inflow
+    IF ( nxl == 0 )  THEN
+
+       DO  j = nys-1, nyn+1
+          DO  k = nzb, nzt+1
+
+!              WRITE (9,*) 'j=',j,' k=',k
+!              WRITE (9,*) 'mean_u = ', mean_inflow_profiles(k,1), ' dist_u = ',&
+!                          inflow_dist(k,j,1)
+!              WRITE (9,*) 'mean_v = ', mean_inflow_profiles(k,2), ' dist_v = ',&
+!                          inflow_dist(k,j,2)
+!              WRITE (9,*) 'mean_w = 0.0', ' dist_w = ',&
+!                          inflow_dist(k,j,3)
+!              WRITE (9,*) 'mean_pt = ', mean_inflow_profiles(k,4), ' dist_pt = ',&
+!                          inflow_dist(k,j,4)
+!              WRITE (9,*) 'mean_e = ', mean_inflow_profiles(k,5), ' dist_e = ',&
+!                          inflow_dist(k,j,5)
+              u(k,j,0)   = mean_inflow_profiles(k,1) + &
+                           inflow_dist(k,j,1) * inflow_damping_factor(k)
+              v(k,j,-1)  = mean_inflow_profiles(k,2) + &
+                           inflow_dist(k,j,2) * inflow_damping_factor(k)
+              w(k,j,-1)  = inflow_dist(k,j,3) * inflow_damping_factor(k)
+              pt(k,j,-1) = mean_inflow_profiles(k,4) + &
+                           inflow_dist(k,j,4) * inflow_damping_factor(k)
+              e(k,j,-1)  = mean_inflow_profiles(k,5) + &
+                           inflow_dist(k,j,5) * inflow_damping_factor(k)
+              e(k,j,-1)  = MAX( e(k,j,-1), 0.0 )
+
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- Conserve the volume flow at the inflow in order to avoid generation of
+!-- waves in the stable layer
+!    IF ( conserve_volume_flow  .AND.  inflow_l )  THEN
+
+!       volume_flow(1)   = 0.0
+!       volume_flow_l(1) = 0.0
+
+!       i = 0
+
+!       DO  j = nys, nyn
+!
+!--       Sum up the volume flow through the south/north boundary
+!          DO  k = nzb_2d(j,i) + 1, nzt
+!             volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzu(k)
+!          ENDDO
+!       ENDDO
+
+#if defined( __parallel )   
+!       CALL MPI_ALLREDUCE( volume_flow_l(1), volume_flow(1), 1, MPI_REAL, &
+!                           MPI_SUM, comm1dy, ierr )   
+#else
+!       volume_flow = volume_flow_l  
+#endif
+!       volume_flow_offset(1) = ( volume_flow_initial(1) - volume_flow(1) )    &
+!                               / volume_flow_area(1)
+
+!       DO  j = nys-1, nyn+1
+!          DO  k = nzb_v_inner(j,i) + 1, nzt
+!             u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
+!          ENDDO
+!       ENDDO
+
+!    ENDIF
+
+    CALL cpu_log( log_point(40), 'inflow_turbulence', 'stop' )
+
+
+ END SUBROUTINE inflow_turbulence
Index: palm/tags/release-3.7/SOURCE/init_1d_model.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_1d_model.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_1d_model.f90	(revision 393)
@@ -0,0 +1,986 @@
+ SUBROUTINE init_1d_model
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 254 2009-03-05 15:33:42Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 184 2008-08-04 15:53:39Z letzel
+! provisional solution for run_control_1d output: add 'CALL check_open( 15 )'
+!
+! 135 2007-11-22 12:24:23Z raasch
+! Bugfix: absolute value of f must be used when calculating the Blackadar
+! mixing length
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! routine local_flush is used for buffer flushing
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Bugfix: preset of tendencies te_em, te_um, te_vm,
+! moisture renamed humidity
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.21  2006/06/02 15:19:57  raasch
+! cpp-directives extended for lctit
+!
+! Revision 1.1  1998/03/09 16:22:10  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! 1D-model to initialize the 3D-arrays.
+! The temperature profile is set as steady and a corresponding steady solution 
+! of the wind profile is being computed.
+! All subroutines required can be found within this file.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE model_1d
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  k
+    REAL    ::  lambda
+
+!
+!-- Allocate required 1D-arrays
+    ALLOCATE( e1d(nzb:nzt+1),    e1d_m(nzb:nzt+1),   e1d_p(nzb:nzt+1), &
+              kh1d(nzb:nzt+1),   kh1d_m(nzb:nzt+1),  km1d(nzb:nzt+1),  &
+              km1d_m(nzb:nzt+1), l_black(nzb:nzt+1), l1d(nzb:nzt+1),   &
+              l1d_m(nzb:nzt+1),  rif1d(nzb:nzt+1),   te_e(nzb:nzt+1),  &
+              te_em(nzb:nzt+1),  te_u(nzb:nzt+1),    te_um(nzb:nzt+1), &
+              te_v(nzb:nzt+1),   te_vm(nzb:nzt+1),   u1d(nzb:nzt+1),   &
+              u1d_m(nzb:nzt+1),  u1d_p(nzb:nzt+1),   v1d(nzb:nzt+1),   &
+              v1d_m(nzb:nzt+1),  v1d_p(nzb:nzt+1) )
+
+!
+!-- Initialize arrays
+    IF ( constant_diffusion )  THEN
+       km1d   = km_constant
+       km1d_m = km_constant
+       kh1d   = km_constant / prandtl_number
+       kh1d_m = km_constant / prandtl_number
+    ELSE
+       e1d = 0.0; e1d_m = 0.0; e1d_p = 0.0
+       kh1d = 0.0; kh1d_m = 0.0; km1d = 0.0; km1d_m = 0.0
+       rif1d = 0.0
+!
+!--    Compute the mixing length
+       l_black(nzb) = 0.0
+
+       IF ( TRIM( mixing_length_1d ) == 'blackadar' )  THEN
+!
+!--       Blackadar mixing length
+          IF ( f /= 0.0 )  THEN
+             lambda = 2.7E-4 * SQRT( ug(nzt+1)**2 + vg(nzt+1)**2 ) / &
+                               ABS( f ) + 1E-10
+          ELSE
+             lambda = 30.0
+          ENDIF
+
+          DO  k = nzb+1, nzt+1
+             l_black(k) = kappa * zu(k) / ( 1.0 + kappa * zu(k) / lambda )
+          ENDDO
+
+       ELSEIF ( TRIM( mixing_length_1d ) == 'as_in_3d_model' )  THEN
+!
+!--       Use the same mixing length as in 3D model
+          l_black(1:nzt) = l_grid
+          l_black(nzt+1) = l_black(nzt)
+
+       ENDIF
+
+!
+!--    Adjust mixing length to the prandtl mixing length (within the prandtl
+!--    layer)
+       IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+          k = nzb+1
+          l_black(k) = MIN( l_black(k), kappa * zu(k) )
+       ENDIF
+    ENDIF
+    l1d   = l_black
+    l1d_m = l_black
+    u1d   = u_init
+    u1d_m = u_init
+    u1d_p = u_init
+    v1d   = v_init
+    v1d_m = v_init
+    v1d_p = v_init
+
+!
+!-- Set initial horizontal velocities at the lowest grid levels to a very small
+!-- value in order to avoid too small time steps caused by the diffusion limit
+!-- in the initial phase of a run (at k=1, dz/2 occurs in the limiting formula!)
+    u1d(0:1)   = 0.1
+    u1d_m(0:1) = 0.1
+    u1d_p(0:1) = 0.1
+    v1d(0:1)   = 0.1
+    v1d_m(0:1) = 0.1
+    v1d_p(0:1) = 0.1
+
+!
+!-- For u*, theta* and the momentum fluxes plausible values are set
+    IF ( prandtl_layer )  THEN
+       us1d = 0.1   ! without initial friction the flow would not change
+    ELSE
+       e1d(nzb+1)  = 1.0
+       km1d(nzb+1) = 1.0
+       us1d = 0.0
+    ENDIF
+    ts1d = 0.0
+    usws1d = 0.0; usws1d_m = 0.0
+    vsws1d = 0.0; vsws1d_m = 0.0
+    z01d = roughness_length
+    IF ( humidity .OR. passive_scalar )  qs1d = 0.0
+
+!
+!-- Tendencies must be preset in order to avoid runtime errors within the
+!-- first Runge-Kutta step
+    te_em = 0.0
+    te_um = 0.0
+    te_vm = 0.0
+
+!
+!-- Set start time in hh:mm:ss - format
+    simulated_time_chr = time_to_string( simulated_time_1d )
+
+!
+!-- Integrate the 1D-model equations using the leap-frog scheme
+    CALL time_integration_1d
+
+
+ END SUBROUTINE init_1d_model
+
+
+
+ SUBROUTINE time_integration_1d
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Leap-frog time differencing scheme for the 1D-model.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE indices
+    USE model_1d
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  k
+    REAL    ::  a, b, dissipation, dpt_dz, flux, kmzm, kmzp, l_stable, pt_0, &
+                uv_total
+
+!
+!-- Determine the time step at the start of a 1D-simulation and
+!-- determine and printout quantities used for run control
+    CALL timestep_1d
+    CALL run_control_1d
+
+!
+!-- Start of time loop
+    DO  WHILE ( simulated_time_1d < end_time_1d  .AND.  .NOT. stop_dt_1d )
+
+!
+!--    Depending on the timestep scheme, carry out one or more intermediate
+!--    timesteps
+
+       intermediate_timestep_count = 0
+       DO  WHILE ( intermediate_timestep_count < &
+                   intermediate_timestep_count_max )
+
+          intermediate_timestep_count = intermediate_timestep_count + 1
+
+          CALL timestep_scheme_steering
+
+!
+!--       Compute all tendency terms. If a Prandtl-layer is simulated, k starts 
+!--       at nzb+2.
+          DO  k = nzb_diff, nzt
+
+             kmzm = 0.5 * ( km1d_m(k-1) + km1d_m(k) )
+             kmzp = 0.5 * ( km1d_m(k) + km1d_m(k+1) )
+!
+!--          u-component
+             te_u(k) =  f * ( v1d(k) - vg(k) ) + ( &
+                              kmzp * ( u1d_m(k+1) - u1d_m(k) ) * ddzu(k+1) &
+                            - kmzm * ( u1d_m(k) - u1d_m(k-1) ) * ddzu(k)   &
+                                              ) * ddzw(k)
+!
+!--          v-component
+             te_v(k) = -f * ( u1d(k) - ug(k) ) + ( &
+                              kmzp * ( v1d_m(k+1) - v1d_m(k) ) * ddzu(k+1) &
+                            - kmzm * ( v1d_m(k) - v1d_m(k-1) ) * ddzu(k)   &
+                                              ) * ddzw(k)
+          ENDDO
+          IF ( .NOT. constant_diffusion )  THEN
+             DO  k = nzb_diff, nzt
+!
+!--             TKE
+                kmzm = 0.5 * ( km1d_m(k-1) + km1d_m(k) )
+                kmzp = 0.5 * ( km1d_m(k) + km1d_m(k+1) )
+                IF ( .NOT. humidity )  THEN
+                   pt_0 = pt_init(k)
+                   flux =  ( pt_init(k+1)-pt_init(k-1) ) * dd2zu(k)
+                ELSE
+                   pt_0 = pt_init(k) * ( 1.0 + 0.61 * q_init(k) )
+                   flux = ( ( pt_init(k+1) - pt_init(k-1) ) +                 &
+                            0.61 * pt_init(k) * ( q_init(k+1) - q_init(k-1) ) &
+                          ) * dd2zu(k)
+                ENDIF
+
+                IF ( dissipation_1d == 'detering' )  THEN
+!
+!--                According to Detering, c_e=0.064
+                   dissipation = 0.064 * e1d_m(k) * SQRT( e1d_m(k) ) / l1d_m(k)
+                ELSEIF ( dissipation_1d == 'as_in_3d_model' )  THEN
+                   dissipation = ( 0.19 + 0.74 * l1d_m(k) / l_grid(k) ) &
+                                 * e1d_m(k) * SQRT( e1d_m(k) ) / l1d_m(k)
+                ENDIF
+
+                te_e(k) = km1d(k) * ( ( ( u1d(k+1) - u1d(k-1) ) * dd2zu(k) )**2&
+                                    + ( ( v1d(k+1) - v1d(k-1) ) * dd2zu(k) )**2&
+                                    )                                          &
+                                    - g / pt_0 * kh1d(k) * flux                &
+                                    +            (                             &
+                                 kmzp * ( e1d_m(k+1) - e1d_m(k) ) * ddzu(k+1)  &
+                               - kmzm * ( e1d_m(k) - e1d_m(k-1) ) * ddzu(k)    &
+                                                 ) * ddzw(k)                   &
+                               - dissipation
+             ENDDO
+          ENDIF
+
+!
+!--       Tendency terms at the top of the Prandtl-layer.
+!--       Finite differences of the momentum fluxes are computed using half the 
+!--       normal grid length (2.0*ddzw(k)) for the sake of enhanced accuracy 
+          IF ( prandtl_layer )  THEN
+
+             k = nzb+1
+             kmzm = 0.5 * ( km1d_m(k-1) + km1d_m(k) )
+             kmzp = 0.5 * ( km1d_m(k) + km1d_m(k+1) )
+             IF ( .NOT. humidity )  THEN
+                pt_0 = pt_init(k)
+                flux =  ( pt_init(k+1)-pt_init(k-1) ) * dd2zu(k)
+             ELSE
+                pt_0 = pt_init(k) * ( 1.0 + 0.61 * q_init(k) )
+                flux = ( ( pt_init(k+1) - pt_init(k-1) ) +                 &
+                         0.61 * pt_init(k) * ( q_init(k+1) - q_init(k-1) ) &
+                       ) * dd2zu(k)
+             ENDIF
+
+             IF ( dissipation_1d == 'detering' )  THEN
+!
+!--             According to Detering, c_e=0.064
+                dissipation = 0.064 * e1d_m(k) * SQRT( e1d_m(k) ) / l1d_m(k)
+             ELSEIF ( dissipation_1d == 'as_in_3d_model' )  THEN
+                dissipation = ( 0.19 + 0.74 * l1d_m(k) / l_grid(k) ) &
+                              * e1d_m(k) * SQRT( e1d_m(k) ) / l1d_m(k)
+             ENDIF
+
+!
+!--          u-component
+             te_u(k) = f * ( v1d(k) - vg(k) ) + ( &
+                       kmzp * ( u1d_m(k+1) - u1d_m(k) ) * ddzu(k+1) + usws1d_m &
+                                               ) * 2.0 * ddzw(k)
+!
+!--          v-component
+             te_v(k) = -f * ( u1d(k) - ug(k) ) + ( &
+                       kmzp * ( v1d_m(k+1) - v1d_m(k) ) * ddzu(k+1) + vsws1d_m &
+                                           ) * 2.0 * ddzw(k)
+!
+!--          TKE
+             te_e(k) = km1d(k) * ( ( ( u1d(k+1) - u1d(k-1) ) * dd2zu(k) )**2   &
+                                 + ( ( v1d(k+1) - v1d(k-1) ) * dd2zu(k) )**2   &
+                                 )                                             &
+                                 - g / pt_0 * kh1d(k) * flux                   &
+                                 +           (                                 &
+                              kmzp * ( e1d_m(k+1) - e1d_m(k) ) * ddzu(k+1)     &
+                            - kmzm * ( e1d_m(k) - e1d_m(k-1) ) * ddzu(k)       &
+                                              ) * ddzw(k)                      &
+                            - dissipation
+          ENDIF
+
+!
+!--       Prognostic equations for all 1D variables
+          DO  k = nzb+1, nzt
+
+             u1d_p(k) = ( 1. - tsc(1) ) * u1d_m(k) + &
+                        tsc(1) * u1d(k) + dt_1d * ( tsc(2) * te_u(k) + &
+                                                    tsc(3) * te_um(k) ) 
+             v1d_p(k) = ( 1. - tsc(1) ) * v1d_m(k) + &
+                        tsc(1) * v1d(k) + dt_1d * ( tsc(2) * te_v(k) + &
+                                                    tsc(3) * te_vm(k) ) 
+
+          ENDDO
+          IF ( .NOT. constant_diffusion )  THEN
+             DO  k = nzb+1, nzt
+
+                e1d_p(k) = ( 1. - tsc(1) ) * e1d_m(k) + &
+                           tsc(1) * e1d(k) + dt_1d * ( tsc(2) * te_e(k) + &
+                                                       tsc(3) * te_em(k) ) 
+
+             ENDDO
+!
+!--          Eliminate negative TKE values, which can result from the
+!--          integration due to numerical inaccuracies. In such cases the TKE
+!--          value is reduced to 10 percent of its old value.
+             WHERE ( e1d_p < 0.0 )  e1d_p = 0.1 * e1d
+          ENDIF
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' ) THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+
+                DO  k = nzb+1, nzt
+                   te_um(k) = te_u(k)
+                   te_vm(k) = te_v(k)
+                ENDDO
+
+                IF ( .NOT. constant_diffusion )  THEN
+                   DO k = nzb+1, nzt
+                      te_em(k) = te_e(k)
+                   ENDDO
+                ENDIF
+
+             ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+
+                DO  k = nzb+1, nzt
+                   te_um(k) = -9.5625 * te_u(k) + 5.3125 * te_um(k)
+                   te_vm(k) = -9.5625 * te_v(k) + 5.3125 * te_vm(k)
+                ENDDO
+
+                IF ( .NOT. constant_diffusion )  THEN
+                   DO k = nzb+1, nzt
+                      te_em(k) = -9.5625 * te_e(k) + 5.3125 * te_em(k)
+                   ENDDO
+                ENDIF
+
+             ENDIF
+          ENDIF
+
+
+!
+!--       Boundary conditions for the prognostic variables.
+!--       At the top boundary (nzt+1) u,v and e keep their initial values 
+!--       (ug(nzt+1), vg(nzt+1), 0), at the bottom boundary the mirror 
+!--       boundary condition applies to u and v.
+!--       The boundary condition for e is set further below ( (u*/cm)**2 ).
+          u1d_p(nzb) = -u1d_p(nzb+1)
+          v1d_p(nzb) = -v1d_p(nzb+1)
+
+!
+!--       If necessary, apply the time filter
+          IF ( asselin_filter_factor /= 0.0  .AND. &
+               timestep_scheme(1:5) /= 'runge' )  THEN
+
+             u1d = u1d + asselin_filter_factor * ( u1d_p - 2.0 * u1d + u1d_m )
+             v1d = v1d + asselin_filter_factor * ( v1d_p - 2.0 * v1d + v1d_m )
+
+             IF ( .NOT. constant_diffusion )  THEN
+                e1d = e1d + asselin_filter_factor * &
+                            ( e1d_p - 2.0 * e1d + e1d_m )
+             ENDIF
+
+          ENDIF
+
+!
+!--       Swap the time levels in preparation for the next time step.
+          IF ( timestep_scheme(1:4) == 'leap' )  THEN
+             u1d_m  = u1d
+             v1d_m  = v1d
+             IF ( .NOT. constant_diffusion )  THEN
+                e1d_m  = e1d
+                kh1d_m = kh1d  ! The old diffusion quantities are required for
+                km1d_m = km1d  ! explicit diffusion in the leap-frog scheme.
+                l1d_m  = l1d
+                IF ( prandtl_layer )  THEN
+                   usws1d_m = usws1d
+                   vsws1d_m = vsws1d
+                ENDIF
+             ENDIF
+          ENDIF
+          u1d  = u1d_p
+          v1d  = v1d_p
+          IF ( .NOT. constant_diffusion )  THEN
+             e1d  = e1d_p
+          ENDIF
+
+!
+!--       Compute diffusion quantities
+          IF ( .NOT. constant_diffusion )  THEN
+
+!
+!--          First compute the vertical fluxes in the Prandtl-layer
+             IF ( prandtl_layer )  THEN
+!
+!--             Compute theta* using Rif numbers of the previous time step
+                IF ( rif1d(1) >= 0.0 )  THEN
+!
+!--                Stable stratification
+                   ts1d = kappa * ( pt_init(nzb+1) - pt_init(nzb) ) /      &
+                          ( LOG( zu(nzb+1) / z01d ) + 5.0 * rif1d(nzb+1) * &
+                                          ( zu(nzb+1) - z01d ) / zu(nzb+1) &
+                          )
+                ELSE
+!
+!--                Unstable stratification
+                   a = SQRT( 1.0 - 16.0 * rif1d(nzb+1) )
+                   b = SQRT( 1.0 - 16.0 * rif1d(nzb+1) / zu(nzb+1) * z01d )
+!
+!--                In the borderline case the formula for stable stratification 
+!--                must be applied, because otherwise a zero division would
+!--                occur in the argument of the logarithm.
+                   IF ( a == 0.0  .OR.  b == 0.0 )  THEN
+                      ts1d = kappa * ( pt_init(nzb+1) - pt_init(nzb) ) /      &
+                             ( LOG( zu(nzb+1) / z01d ) + 5.0 * rif1d(nzb+1) * &
+                                             ( zu(nzb+1) - z01d ) / zu(nzb+1) &
+                             )
+                   ELSE
+                      ts1d = kappa * ( pt_init(nzb+1) - pt_init(nzb) ) / &
+                             LOG( (a-1.0) / (a+1.0) * (b+1.0) / (b-1.0) )
+                   ENDIF
+                ENDIF
+
+             ENDIF    ! prandtl_layer
+
+!
+!--          Compute the Richardson-flux numbers,
+!--          first at the top of the Prandtl-layer using u* of the previous
+!--          time step (+1E-30, if u* = 0), then in the remaining area. There
+!--          the rif-numbers of the previous time step are used.
+
+             IF ( prandtl_layer )  THEN
+                IF ( .NOT. humidity )  THEN
+                   pt_0 = pt_init(nzb+1)
+                   flux = ts1d
+                ELSE
+                   pt_0 = pt_init(nzb+1) * ( 1.0 + 0.61 * q_init(nzb+1) )
+                   flux = ts1d + 0.61 * pt_init(k) * qs1d
+                ENDIF
+                rif1d(nzb+1) = zu(nzb+1) * kappa * g * flux / &
+                               ( pt_0 * ( us1d**2 + 1E-30 ) )
+             ENDIF
+
+             DO  k = nzb_diff, nzt
+                IF ( .NOT. humidity )  THEN
+                   pt_0 = pt_init(k)
+                   flux = ( pt_init(k+1) - pt_init(k-1) ) * dd2zu(k)
+                ELSE
+                   pt_0 = pt_init(k) * ( 1.0 + 0.61 * q_init(k) )
+                   flux = ( ( pt_init(k+1) - pt_init(k-1) )                    &
+                            + 0.61 * pt_init(k) * ( q_init(k+1) - q_init(k-1) )&
+                          ) * dd2zu(k)
+                ENDIF
+                IF ( rif1d(k) >= 0.0 )  THEN
+                   rif1d(k) = g / pt_0 * flux /                              &
+                              (  ( ( u1d(k+1) - u1d(k-1) ) * dd2zu(k) )**2   &
+                               + ( ( v1d(k+1) - v1d(k-1) ) * dd2zu(k) )**2   &
+                               + 1E-30                                       &
+                              )
+                ELSE
+                   rif1d(k) = g / pt_0 * flux /                              &
+                              (  ( ( u1d(k+1) - u1d(k-1) ) * dd2zu(k) )**2   &
+                               + ( ( v1d(k+1) - v1d(k-1) ) * dd2zu(k) )**2   &
+                               + 1E-30                                       &
+                              ) * ( 1.0 - 16.0 * rif1d(k) )**0.25
+                ENDIF
+             ENDDO
+!
+!--          Richardson-numbers must remain restricted to a realistic value
+!--          range. It is exceeded excessively for very small velocities
+!--          (u,v --> 0).
+             WHERE ( rif1d < rif_min )  rif1d = rif_min
+             WHERE ( rif1d > rif_max )  rif1d = rif_max
+
+!
+!--          Compute u* from the absolute velocity value
+             IF ( prandtl_layer )  THEN
+                uv_total = SQRT( u1d(nzb+1)**2 + v1d(nzb+1)**2 )
+
+                IF ( rif1d(nzb+1) >= 0.0 )  THEN
+!
+!--                Stable stratification
+                   us1d = kappa * uv_total / (                                 &
+                             LOG( zu(nzb+1) / z01d ) + 5.0 * rif1d(nzb+1) *    &
+                                              ( zu(nzb+1) - z01d ) / zu(nzb+1) &
+                                             )
+                ELSE
+!
+!--                Unstable stratification
+                   a = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif1d(nzb+1) ) )
+                   b = 1.0 / SQRT( SQRT( 1.0 - 16.0 * rif1d(nzb+1) / zu(nzb+1) &
+                                                    * z01d ) )
+!
+!--                In the borderline case the formula for stable stratification 
+!--                must be applied, because otherwise a zero division would
+!--                occur in the argument of the logarithm.
+                   IF ( a == 1.0  .OR.  b == 1.0 )  THEN
+                      us1d = kappa * uv_total / (                            &
+                             LOG( zu(nzb+1) / z01d ) +                       &
+                             5.0 * rif1d(nzb+1) * ( zu(nzb+1) - z01d ) /     &
+                                                  zu(nzb+1) )
+                   ELSE
+                      us1d = kappa * uv_total / (                              &
+                                 LOG( (1.0+b) / (1.0-b) * (1.0-a) / (1.0+a) ) +&
+                                 2.0 * ( ATAN( b ) - ATAN( a ) )               &
+                                                )
+                   ENDIF
+                ENDIF
+
+!
+!--             Compute the momentum fluxes for the diffusion terms
+                usws1d  = - u1d(nzb+1) / uv_total * us1d**2
+                vsws1d  = - v1d(nzb+1) / uv_total * us1d**2
+
+!
+!--             Boundary condition for the turbulent kinetic energy at the top
+!--             of the Prandtl-layer. c_m = 0.4 according to Detering.
+!--             Additional Neumann condition de/dz = 0 at nzb is set to ensure
+!--             compatibility with the 3D model.
+                IF ( ibc_e_b == 2 )  THEN
+                   e1d(nzb+1) = ( us1d / 0.1 )**2
+!                  e1d(nzb+1) = ( us1d / 0.4 )**2  !not used so far, see also
+                                                   !prandtl_fluxes
+                ENDIF
+                e1d(nzb) = e1d(nzb+1)
+
+                IF ( humidity .OR. passive_scalar ) THEN
+!
+!--                Compute q* 
+                   IF ( rif1d(1) >= 0.0 )  THEN
+!
+!--                Stable stratification
+                   qs1d = kappa * ( q_init(nzb+1) - q_init(nzb) ) /        &
+                          ( LOG( zu(nzb+1) / z01d ) + 5.0 * rif1d(nzb+1) * &
+                                          ( zu(nzb+1) - z01d ) / zu(nzb+1) &
+                          )
+                ELSE
+!
+!--                Unstable stratification
+                   a = SQRT( 1.0 - 16.0 * rif1d(nzb+1) )
+                   b = SQRT( 1.0 - 16.0 * rif1d(nzb+1) / zu(nzb+1) * z01d )
+!
+!--                In the borderline case the formula for stable stratification 
+!--                must be applied, because otherwise a zero division would
+!--                occur in the argument of the logarithm.
+                   IF ( a == 1.0  .OR.  b == 1.0 )  THEN
+                      qs1d = kappa * ( q_init(nzb+1) - q_init(nzb) ) /        &
+                             ( LOG( zu(nzb+1) / z01d ) + 5.0 * rif1d(nzb+1) * &
+                                             ( zu(nzb+1) - z01d ) / zu(nzb+1) &
+                             )
+                   ELSE
+                      qs1d = kappa * ( q_init(nzb+1) - q_init(nzb) ) / &
+                             LOG( (a-1.0) / (a+1.0) * (b+1.0) / (b-1.0) )
+                   ENDIF
+                ENDIF                
+                ELSE
+                   qs1d = 0.0
+                ENDIF             
+
+             ENDIF   !  prandtl_layer
+
+!
+!--          Compute the diabatic mixing length
+             IF ( mixing_length_1d == 'blackadar' )  THEN
+                DO  k = nzb+1, nzt
+                   IF ( rif1d(k) >= 0.0 )  THEN
+                      l1d(k) = l_black(k) / ( 1.0 + 5.0 * rif1d(k) )
+                   ELSE
+                      l1d(k) = l_black(k) * ( 1.0 - 16.0 * rif1d(k) )**0.25
+                   ENDIF
+                   l1d(k) = l_black(k)
+                ENDDO
+
+             ELSEIF ( mixing_length_1d == 'as_in_3d_model' )  THEN
+                DO  k = nzb+1, nzt
+                   dpt_dz = ( pt_init(k+1) - pt_init(k-1) ) * dd2zu(k)
+                   IF ( dpt_dz > 0.0 )  THEN
+                      l_stable = 0.76 * SQRT( e1d(k) ) / &
+                                     SQRT( g / pt_init(k) * dpt_dz ) + 1E-5
+                   ELSE
+                      l_stable = l_grid(k)
+                   ENDIF
+                   l1d(k) = MIN( l_grid(k), l_stable )
+                ENDDO
+             ENDIF
+
+!
+!--          Adjust mixing length to the prandtl mixing length
+             IF ( adjust_mixing_length  .AND.  prandtl_layer )  THEN
+                k = nzb+1
+                IF ( rif1d(k) >= 0.0 )  THEN
+                   l1d(k) = MIN( l1d(k), kappa * zu(k) / ( 1.0 + 5.0 * &
+                                                           rif1d(k) ) )
+                ELSE
+                   l1d(k) = MIN( l1d(k), kappa * zu(k) *          &
+                                  SQRT( SQRT( 1.0 - 16.0 * rif1d(k) ) ) )
+                ENDIF
+             ENDIF
+
+!
+!--          Compute the diffusion coefficients for momentum via the
+!--          corresponding Prandtl-layer relationship and according to
+!--          Prandtl-Kolmogorov, respectively. The unstable stratification is
+!--          computed via the adiabatic mixing length, for the unstability has
+!--          already been taken account of via the TKE (cf. also Diss.).
+             IF ( prandtl_layer )  THEN
+                IF ( rif1d(nzb+1) >= 0.0 )  THEN
+                   km1d(nzb+1) = us1d * kappa * zu(nzb+1) / &
+                                 ( 1.0 + 5.0 * rif1d(nzb+1) )
+                ELSE
+                   km1d(nzb+1) = us1d * kappa * zu(nzb+1) * &
+                                 ( 1.0 - 16.0 * rif1d(nzb+1) )**0.25
+                ENDIF
+             ENDIF
+             DO  k = nzb_diff, nzt
+!                km1d(k) = 0.4 * SQRT( e1d(k) ) !changed: adjustment to 3D-model
+                km1d(k) = 0.1 * SQRT( e1d(k) )
+                IF ( rif1d(k) >= 0.0 )  THEN
+                   km1d(k) = km1d(k) * l1d(k)
+                ELSE
+                   km1d(k) = km1d(k) * l_black(k)
+                ENDIF
+             ENDDO
+
+!
+!--          Add damping layer
+             DO  k = damp_level_ind_1d+1, nzt+1
+                km1d(k) = 1.1 * km1d(k-1)
+                km1d(k) = MIN( km1d(k), 10.0 )
+             ENDDO
+
+!
+!--          Compute the diffusion coefficient for heat via the relationship
+!--          kh = phim / phih * km
+             DO  k = nzb+1, nzt
+                IF ( rif1d(k) >= 0.0 )  THEN
+                   kh1d(k) = km1d(k)
+                ELSE
+                   kh1d(k) = km1d(k) * ( 1.0 - 16.0 * rif1d(k) )**0.25
+                ENDIF
+             ENDDO
+
+          ENDIF   ! .NOT. constant_diffusion
+
+!
+!--       The Runge-Kutta scheme needs the recent diffusion quantities
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             u1d_m  = u1d
+             v1d_m  = v1d
+             IF ( .NOT. constant_diffusion )  THEN
+                e1d_m  = e1d
+                kh1d_m = kh1d
+                km1d_m = km1d
+                l1d_m  = l1d
+                IF ( prandtl_layer )  THEN
+                   usws1d_m = usws1d
+                   vsws1d_m = vsws1d
+                ENDIF
+             ENDIF
+          ENDIF
+
+
+       ENDDO   ! intermediate step loop
+
+!
+!--    Increment simulated time and output times
+       current_timestep_number_1d = current_timestep_number_1d + 1
+       simulated_time_1d          = simulated_time_1d + dt_1d
+       simulated_time_chr         = time_to_string( simulated_time_1d )
+       time_pr_1d                 = time_pr_1d          + dt_1d
+       time_run_control_1d        = time_run_control_1d + dt_1d
+
+!
+!--    Determine and print out quantities for run control
+       IF ( time_run_control_1d >= dt_run_control_1d )  THEN
+          CALL run_control_1d
+          time_run_control_1d = time_run_control_1d - dt_run_control_1d
+       ENDIF
+
+!
+!--    Profile output on file
+       IF ( time_pr_1d >= dt_pr_1d )  THEN
+          CALL print_1d_model
+          time_pr_1d = time_pr_1d - dt_pr_1d
+       ENDIF
+
+!
+!--    Determine size of next time step
+       CALL timestep_1d
+
+    ENDDO   ! time loop
+
+
+ END SUBROUTINE time_integration_1d
+
+
+ SUBROUTINE run_control_1d
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Compute and print out quantities for run control of the 1D model.
+!------------------------------------------------------------------------------!
+
+    USE constants
+    USE indices
+    USE model_1d
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  k
+    REAL    ::  alpha, energy, umax, uv_total, vmax
+
+!
+!-- Output
+    IF ( myid == 0 )  THEN
+!
+!--    If necessary, write header
+       IF ( .NOT. run_control_header_1d )  THEN
+          CALL check_open( 15 )
+          WRITE ( 15, 100 )
+          run_control_header_1d = .TRUE.
+       ENDIF
+
+!
+!--    Compute control quantities
+!--    grid level nzp is excluded due to mirror boundary condition
+       umax = 0.0; vmax = 0.0; energy = 0.0
+       DO  k = nzb+1, nzt+1
+          umax = MAX( ABS( umax ), ABS( u1d(k) ) )
+          vmax = MAX( ABS( vmax ), ABS( v1d(k) ) )
+          energy = energy + 0.5 * ( u1d(k)**2 + v1d(k)**2 )
+       ENDDO
+       energy = energy / REAL( nzt - nzb + 1 )
+
+       uv_total = SQRT( u1d(nzb+1)**2 + v1d(nzb+1)**2 )
+       IF ( ABS( v1d(nzb+1) ) .LT. 1.0E-5 )  THEN
+          alpha = ACOS( SIGN( 1.0 , u1d(nzb+1) ) )
+       ELSE
+          alpha = ACOS( u1d(nzb+1) / uv_total )
+          IF ( v1d(nzb+1) <= 0.0 )  alpha = 2.0 * pi - alpha
+       ENDIF
+       alpha = alpha / ( 2.0 * pi ) * 360.0
+
+       WRITE ( 15, 101 )  current_timestep_number_1d, simulated_time_chr, &
+                          dt_1d, umax, vmax, us1d, alpha, energy
+!
+!--    Write buffer contents to disc immediately
+       CALL local_flush( 15 )
+
+    ENDIF
+
+!
+!-- formats
+100 FORMAT (///'1D-Zeitschrittkontrollausgaben:'/ &
+              &'------------------------------'// &
+           &'ITER.  HH:MM:SS    DT      UMAX   VMAX    U*   ALPHA   ENERG.'/ &
+           &'-------------------------------------------------------------')
+101 FORMAT (I5,2X,A9,1X,F6.2,2X,F6.2,1X,F6.2,2X,F5.3,2X,F5.1,2X,F7.2)
+
+
+ END SUBROUTINE run_control_1d
+
+
+
+ SUBROUTINE timestep_1d
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Compute the time step w.r.t. the diffusion criterion
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE model_1d
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  k
+    REAL    ::  div, dt_diff, fac, percent_change, value
+
+
+!
+!-- Compute the currently feasible time step according to the diffusion
+!-- criterion. At nzb+1 the half grid length is used.
+    IF ( timestep_scheme(1:4) == 'leap' )  THEN
+       fac = 0.25
+    ELSE
+       fac = 0.35
+    ENDIF
+    dt_diff = dt_max_1d
+    DO  k = nzb+2, nzt
+       value   = fac * dzu(k) * dzu(k) / ( km1d(k) + 1E-20 )
+       dt_diff = MIN( value, dt_diff )
+    ENDDO
+    value   = fac * zu(nzb+1) * zu(nzb+1) / ( km1d(nzb+1) + 1E-20 )
+    dt_1d = MIN( value, dt_diff )
+
+!
+!-- Set flag when the time step becomes too small
+    IF ( dt_1d < ( 0.00001 * dt_max_1d ) )  THEN
+       stop_dt_1d = .TRUE.
+
+       WRITE( message_string, * ) 'timestep has exceeded the lower limit &', &
+                                  'dt_1d = ',dt_1d,' s   simulation stopped!'
+       CALL message( 'timestep_1d', 'PA0192', 1, 2, 0, 6, 0 )
+       
+    ENDIF
+
+    IF ( timestep_scheme(1:4) == 'leap' )  THEN
+
+!
+!--    The current time step will only be changed if the new time step exceeds
+!--    its previous value by 5 % or falls 2 % below. After a time step
+!--    reduction at least 30 iterations must be done with this value before a
+!--    new reduction will be allowed again.
+!--    The control parameters for application of Euler- or leap-frog schemes are
+!--    set accordingly.
+       percent_change = dt_1d / old_dt_1d - 1.0
+       IF ( percent_change > 0.05  .OR.  percent_change < -0.02 )  THEN
+
+!
+!--       Each time step increase is by at most 2 %
+          IF ( percent_change > 0.0  .AND.  simulated_time_1d /= 0.0 )  THEN
+             dt_1d = 1.02 * old_dt_1d
+          ENDIF
+
+!
+!--       A more or less simple new time step value is obtained taking only the
+!--       first two significant digits
+          div = 1000.0
+          DO  WHILE ( dt_1d < div )
+             div = div / 10.0
+          ENDDO
+          dt_1d = NINT( dt_1d * 100.0 / div ) * div / 100.0
+
+!
+!--       Now the time step can be changed.
+          IF ( percent_change < 0.0 )  THEN
+!
+!--          Time step reduction
+             old_dt_1d = dt_1d
+             last_dt_change_1d = current_timestep_number_1d
+          ELSE
+!
+!--          Time step will only be increased if at least 30 iterations have
+!--          been done since the previous time step change, and of course at
+!--          simulation start, respectively.
+             IF ( current_timestep_number_1d >= last_dt_change_1d + 30  .OR. &
+                     simulated_time_1d == 0.0 )  THEN
+                old_dt_1d = dt_1d
+                last_dt_change_1d = current_timestep_number_1d
+             ELSE
+                dt_1d = old_dt_1d
+             ENDIF
+          ENDIF
+       ELSE
+!
+!--       No time step change since the difference is too small
+          dt_1d = old_dt_1d
+       ENDIF
+
+    ELSE    ! Runge-Kutta
+
+!--    A more or less simple new time step value is obtained taking only the
+!--    first two significant digits
+       div = 1000.0
+       DO  WHILE ( dt_1d < div )
+          div = div / 10.0
+       ENDDO
+       dt_1d = NINT( dt_1d * 100.0 / div ) * div / 100.0
+
+       old_dt_1d = dt_1d
+       last_dt_change_1d = current_timestep_number_1d
+
+    ENDIF
+
+ END SUBROUTINE timestep_1d
+
+
+
+ SUBROUTINE print_1d_model
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! List output of profiles from the 1D-model
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE model_1d
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+
+    INTEGER ::  k
+
+
+    IF ( myid == 0 )  THEN
+!
+!--    Open list output file for profiles from the 1D-model
+       CALL check_open( 17 )
+
+!
+!--    Write Header
+       WRITE ( 17, 100 )  TRIM( run_description_header ), &
+                          TRIM( simulated_time_chr )
+       WRITE ( 17, 101 )
+
+!
+!--    Write the values
+       WRITE ( 17, 102 )
+       WRITE ( 17, 101 )
+       DO  k = nzt+1, nzb, -1
+          WRITE ( 17, 103)  k, zu(k), u1d(k), v1d(k), pt_init(k), e1d(k), &
+                            rif1d(k), km1d(k), kh1d(k), l1d(k), zu(k), k
+       ENDDO
+       WRITE ( 17, 101 )
+       WRITE ( 17, 102 )
+       WRITE ( 17, 101 )
+
+!
+!--    Write buffer contents to disc immediately
+       CALL local_flush( 17 )
+
+    ENDIF
+
+!
+!-- Formats
+100 FORMAT (//1X,A/1X,10('-')/' 1d-model profiles'/ &
+            ' Time: ',A)
+101 FORMAT (1X,79('-'))
+102 FORMAT ('   k     zu      u      v     pt      e    rif    Km    Kh     ', &
+            'l      zu      k')
+103 FORMAT (1X,I4,1X,F7.1,1X,F6.2,1X,F6.2,1X,F6.2,1X,F6.2,1X,F5.2,1X,F5.2, &
+            1X,F5.2,1X,F6.2,1X,F7.1,2X,I4)
+
+
+ END SUBROUTINE print_1d_model
Index: palm/tags/release-3.7/SOURCE/init_3d_model.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_3d_model.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_3d_model.f90	(revision 393)
@@ -0,0 +1,1564 @@
+#if defined( __ibmy_special )
+@PROCESS NOOPTimize
+#endif
+ SUBROUTINE init_3d_model
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Initialization of prho added.
+! bugfix: correction of initial volume flow for non-flat topography
+! bugfix: zero initialization of arrays within buildings for 'cyclic_fill'
+! bugfix: avoid that ngp_2dh_s_inner becomes zero
+! initializing_actions='read_data_for_recycling' renamed to 'cyclic_fill', now
+! independent of turbulent_inflow
+! Output of messages replaced by message handling routine.
+! Set the starting level and the vertical smoothing factor used for 
+! the external pressure gradient
+! +conserve_volume_flow_mode: 'default', 'initial_profiles', 'inflow_profile'
+! and 'bulk_velocity'
+! If the inversion height calculated by the prerun is zero,
+! inflow_damping_height must be explicitly specified.
+!
+! 181 2008-07-30 07:07:47Z raasch
+! bugfix: zero assignments to tendency arrays in case of restarts,
+! further extensions and modifications in the initialisation of the plant 
+! canopy model,
+! allocation of hom_sum moved to parin, initialization of spectrum_x|y directly
+! after allocating theses arrays,
+! read data for recycling added as new initialization option,
+! dummy allocation for diss
+!
+! 138 2007-11-28 10:03:58Z letzel
+! New counter ngp_2dh_s_inner.
+! Allow new case bc_uv_t = 'dirichlet_0' for channel flow.
+! Corrected calculation of initial volume flow for 'set_1d-model_profiles' and
+! 'set_constant_profiles' in case of buildings in the reference cross-sections.
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Flux initialization in case of coupled runs, +momentum fluxes at top boundary,
+! +arrays for phase speed c_u, c_v, c_w, indices for u|v|w_m_l|r changed
+! +qswst_remote in case of atmosphere model with humidity coupled to ocean
+! Rayleigh damping for ocean, optionally calculate km and kh from initial
+! TKE e_init
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Initialization of salinity, call of init_ocean
+!
+! 87 2007-05-22 15:46:47Z raasch
+! var_hom and var_sum renamed pr_palm
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Arrays for radiation boundary conditions are allocated (u_m_l, u_m_r, etc.),
+! bugfix for cases with the outflow damping layer extending over more than one
+! subdomain, moisture renamed humidity,
+! new initializing action "by_user" calls user_init_3d_model,
+! precipitation_amount/rate, ts_value are allocated, +module netcdf_control,
+! initial velocities at nzb+1 are regarded for volume
+! flow control in case they have been set zero before (to avoid small timesteps)
+! -uvmean_outflow, uxrp, vynp eliminated
+!
+! 19 2007-02-23 04:53:48Z raasch
+! +handling of top fluxes
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.49  2006/08/22 15:59:07  raasch
+! No optimization of this file on the ibmy (Yonsei Univ.)
+!
+! Revision 1.1  1998/03/09 16:22:22  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Allocation of arrays and initialization of the 3D model via
+! a) pre-run the 1D model
+! or
+! b) pre-set constant linear profiles
+! or
+! c) read values of a previous run
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE constants
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE model_1d
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE random_function_mod
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ind_array(1), j, k, sr
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  ngp_2dh_l, ngp_3d_inner_l
+
+    INTEGER, DIMENSION(:,:), ALLOCATABLE ::  ngp_2dh_outer_l,  &
+         ngp_2dh_s_inner_l
+
+    REAL ::  a, b
+
+    REAL, DIMENSION(1:2) ::  volume_flow_area_l, volume_flow_initial_l
+
+
+!
+!-- Allocate arrays
+    ALLOCATE( ngp_2dh(0:statistic_regions), ngp_2dh_l(0:statistic_regions), &
+              ngp_3d(0:statistic_regions),                                  &
+              ngp_3d_inner(0:statistic_regions),                            &
+              ngp_3d_inner_l(0:statistic_regions),                          &
+              sums_divnew_l(0:statistic_regions),                           &
+              sums_divold_l(0:statistic_regions) )
+    ALLOCATE( dp_smooth_factor(nzb:nzt), rdf(nzb+1:nzt) )
+    ALLOCATE( ngp_2dh_outer(nzb:nzt+1,0:statistic_regions),                 &
+              ngp_2dh_outer_l(nzb:nzt+1,0:statistic_regions),               &
+              ngp_2dh_s_inner(nzb:nzt+1,0:statistic_regions),               &
+              ngp_2dh_s_inner_l(nzb:nzt+1,0:statistic_regions),             &
+              rmask(nys-1:nyn+1,nxl-1:nxr+1,0:statistic_regions),           &
+              sums(nzb:nzt+1,pr_palm+max_pr_user),                          &
+              sums_l(nzb:nzt+1,pr_palm+max_pr_user,0:threads_per_task-1),   &
+              sums_l_l(nzb:nzt+1,0:statistic_regions,0:threads_per_task-1), &
+              sums_up_fraction_l(10,3,0:statistic_regions),                 &
+              sums_wsts_bc_l(nzb:nzt+1,0:statistic_regions),                &
+              ts_value(var_ts,0:statistic_regions) )
+    ALLOCATE( km_damp_x(nxl-1:nxr+1), km_damp_y(nys-1:nyn+1) )
+
+    ALLOCATE( rif_1(nys-1:nyn+1,nxl-1:nxr+1), shf_1(nys-1:nyn+1,nxl-1:nxr+1), &
+              ts(nys-1:nyn+1,nxl-1:nxr+1), tswst_1(nys-1:nyn+1,nxl-1:nxr+1),  &
+              us(nys-1:nyn+1,nxl-1:nxr+1), usws_1(nys-1:nyn+1,nxl-1:nxr+1),   &
+              uswst_1(nys-1:nyn+1,nxl-1:nxr+1),                               &
+              vsws_1(nys-1:nyn+1,nxl-1:nxr+1),                                &
+              vswst_1(nys-1:nyn+1,nxl-1:nxr+1), z0(nys-1:nyn+1,nxl-1:nxr+1) )
+
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--    Leapfrog scheme needs two timelevels of diffusion quantities
+       ALLOCATE( rif_2(nys-1:nyn+1,nxl-1:nxr+1),   &
+                 shf_2(nys-1:nyn+1,nxl-1:nxr+1),   &
+                 tswst_2(nys-1:nyn+1,nxl-1:nxr+1), &
+                 usws_2(nys-1:nyn+1,nxl-1:nxr+1),  &
+                 uswst_2(nys-1:nyn+1,nxl-1:nxr+1), &
+                 vswst_2(nys-1:nyn+1,nxl-1:nxr+1), &
+                 vsws_2(nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+    ALLOCATE( d(nzb+1:nzta,nys:nyna,nxl:nxra),         &
+              e_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              e_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              e_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              kh_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              km_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              p(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),    &
+              pt_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              pt_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              pt_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              u_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              u_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              u_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              v_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              v_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              v_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+              w_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              w_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+              w_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       ALLOCATE( kh_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 km_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+    IF ( humidity  .OR.  passive_scalar ) THEN
+!
+!--    2D-humidity/scalar arrays
+       ALLOCATE ( qs(nys-1:nyn+1,nxl-1:nxr+1),     &
+                  qsws_1(nys-1:nyn+1,nxl-1:nxr+1), &
+                  qswst_1(nys-1:nyn+1,nxl-1:nxr+1) )
+
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+          ALLOCATE( qsws_2(nys-1:nyn+1,nxl-1:nxr+1), &
+                    qswst_2(nys-1:nyn+1,nxl-1:nxr+1) )
+       ENDIF
+!
+!--    3D-humidity/scalar arrays
+       ALLOCATE( q_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 q_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 q_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+!
+!--    3D-arrays needed for humidity only
+       IF ( humidity )  THEN
+          ALLOCATE( vpt_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+          IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+             ALLOCATE( vpt_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+          ENDIF
+
+          IF ( cloud_physics ) THEN
+!
+!--          Liquid water content
+             ALLOCATE ( ql_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+!
+!--          Precipitation amount and rate (only needed if output is switched)
+             ALLOCATE( precipitation_amount(nys-1:nyn+1,nxl-1:nxr+1), &
+                       precipitation_rate(nys-1:nyn+1,nxl-1:nxr+1) )
+          ENDIF
+
+          IF ( cloud_droplets )  THEN
+!
+!--          Liquid water content, change in liquid water content,
+!--          real volume of particles (with weighting), volume of particles
+             ALLOCATE ( ql_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                        ql_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                        ql_v(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                        ql_vp(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+          ENDIF
+
+       ENDIF
+
+    ENDIF
+
+    IF ( ocean )  THEN
+       ALLOCATE( saswsb_1(nys-1:nyn+1,nxl-1:nxr+1), &
+                 saswst_1(nys-1:nyn+1,nxl-1:nxr+1) )
+       ALLOCATE( prho_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 rho_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+                 sa_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),   &
+                 sa_2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),   &
+                 sa_3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+       prho => prho_1
+       rho  => rho_1  ! routines calc_mean_profile and diffusion_e require
+                      ! density to be apointer
+       IF ( humidity_remote )  THEN
+          ALLOCATE( qswst_remote(nys-1:nyn+1,nxl-1:nxr+1) )
+          qswst_remote = 0.0
+       ENDIF
+    ENDIF
+
+!
+!-- 3D-array for storing the dissipation, needed for calculating the sgs
+!-- particle velocities
+    IF ( use_sgs_for_particles )  THEN
+       ALLOCATE ( diss(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ELSE
+       ALLOCATE ( diss(2,2,2) )  ! required because diss is used as a
+                                 ! formal parameter
+    ENDIF
+
+    IF ( dt_dosp /= 9999999.9 )  THEN
+       ALLOCATE( spectrum_x( 1:nx/2, 1:10, 1:10 ), &
+                 spectrum_y( 1:ny/2, 1:10, 1:10 ) )
+       spectrum_x = 0.0
+       spectrum_y = 0.0
+    ENDIF
+
+!
+!-- 3D-arrays for the leaf area density and the canopy drag coefficient
+    IF ( plant_canopy ) THEN
+       ALLOCATE ( lad_s(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+                  lad_u(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+                  lad_v(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+                  lad_w(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),  &
+                  cdc(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+       IF ( passive_scalar ) THEN
+          ALLOCATE ( sls(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),   &
+                     sec(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) 
+       ENDIF
+
+       IF ( cthf /= 0.0 ) THEN
+          ALLOCATE ( lai(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),   &
+                     canopy_heat_flux(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+       ENDIF
+
+    ENDIF
+
+!
+!-- 4D-array for storing the Rif-values at vertical walls
+    IF ( topography /= 'flat' )  THEN
+       ALLOCATE( rif_wall(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1,1:4) )
+       rif_wall = 0.0
+    ENDIF
+
+!
+!-- Velocities at nzb+1 needed for volume flow control
+    IF ( conserve_volume_flow )  THEN
+       ALLOCATE( u_nzb_p1_for_vfc(nys:nyn), v_nzb_p1_for_vfc(nxl:nxr) )
+       u_nzb_p1_for_vfc = 0.0
+       v_nzb_p1_for_vfc = 0.0
+    ENDIF
+
+!
+!-- Arrays to store velocity data from t-dt and the phase speeds which
+!-- are needed for radiation boundary conditions
+    IF ( outflow_l )  THEN
+       ALLOCATE( u_m_l(nzb:nzt+1,nys-1:nyn+1,1:2), &
+                 v_m_l(nzb:nzt+1,nys-1:nyn+1,0:1), &
+                 w_m_l(nzb:nzt+1,nys-1:nyn+1,0:1) )
+    ENDIF
+    IF ( outflow_r )  THEN
+       ALLOCATE( u_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx), &
+                 v_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx), &
+                 w_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx) )
+    ENDIF
+    IF ( outflow_l  .OR.  outflow_r )  THEN
+       ALLOCATE( c_u(nzb:nzt+1,nys-1:nyn+1), c_v(nzb:nzt+1,nys-1:nyn+1), &
+                 c_w(nzb:nzt+1,nys-1:nyn+1) )
+    ENDIF
+    IF ( outflow_s )  THEN
+       ALLOCATE( u_m_s(nzb:nzt+1,0:1,nxl-1:nxr+1), &
+                 v_m_s(nzb:nzt+1,1:2,nxl-1:nxr+1), &
+                 w_m_s(nzb:nzt+1,0:1,nxl-1:nxr+1) )
+    ENDIF
+    IF ( outflow_n )  THEN
+       ALLOCATE( u_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1), &
+                 v_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1), &
+                 w_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1) )
+    ENDIF
+    IF ( outflow_s  .OR.  outflow_n )  THEN
+       ALLOCATE( c_u(nzb:nzt+1,nxl-1:nxr+1), c_v(nzb:nzt+1,nxl-1:nxr+1), &
+                 c_w(nzb:nzt+1,nxl-1:nxr+1) )
+    ENDIF
+
+!
+!-- Initial assignment of the pointers
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+
+       rif_m   => rif_1;    rif   => rif_2
+       shf_m   => shf_1;    shf   => shf_2
+       tswst_m => tswst_1;  tswst => tswst_2
+       usws_m  => usws_1;   usws  => usws_2
+       uswst_m => uswst_1;  uswst => uswst_2
+       vsws_m  => vsws_1;   vsws  => vsws_2
+       vswst_m => vswst_1;  vswst => vswst_2
+       e_m  => e_1;   e  => e_2;   e_p  => e_3;   te_m  => e_3
+       kh_m => kh_1;  kh => kh_2
+       km_m => km_1;  km => km_2
+       pt_m => pt_1;  pt => pt_2;  pt_p => pt_3;  tpt_m => pt_3
+       u_m  => u_1;   u  => u_2;   u_p  => u_3;   tu_m  => u_3
+       v_m  => v_1;   v  => v_2;   v_p  => v_3;   tv_m  => v_3
+       w_m  => w_1;   w  => w_2;   w_p  => w_3;   tw_m  => w_3
+
+       IF ( humidity  .OR.  passive_scalar )  THEN
+          qsws_m  => qsws_1;   qsws  => qsws_2
+          qswst_m => qswst_1;  qswst => qswst_2
+          q_m    => q_1;     q    => q_2;     q_p => q_3;     tq_m => q_3
+          IF ( humidity )        vpt_m  => vpt_1;   vpt  => vpt_2
+          IF ( cloud_physics )   ql   => ql_1
+          IF ( cloud_droplets )  THEN
+             ql   => ql_1
+             ql_c => ql_2
+          ENDIF
+       ENDIF
+
+    ELSE
+
+       rif   => rif_1
+       shf   => shf_1
+       tswst => tswst_1
+       usws  => usws_1
+       uswst => uswst_1
+       vsws  => vsws_1
+       vswst => vswst_1
+       e     => e_1;   e_p  => e_2;   te_m  => e_3;   e_m  => e_3
+       kh    => kh_1
+       km    => km_1
+       pt    => pt_1;  pt_p => pt_2;  tpt_m => pt_3;  pt_m => pt_3
+       u     => u_1;   u_p  => u_2;   tu_m  => u_3;   u_m  => u_3
+       v     => v_1;   v_p  => v_2;   tv_m  => v_3;   v_m  => v_3
+       w     => w_1;   w_p  => w_2;   tw_m  => w_3;   w_m  => w_3
+
+       IF ( humidity  .OR.  passive_scalar )  THEN
+          qsws   => qsws_1
+          qswst  => qswst_1
+          q      => q_1;     q_p  => q_2;     tq_m  => q_3;    q_m => q_3
+          IF ( humidity )        vpt  => vpt_1
+          IF ( cloud_physics )   ql   => ql_1
+          IF ( cloud_droplets )  THEN
+             ql   => ql_1
+             ql_c => ql_2
+          ENDIF
+       ENDIF
+
+       IF ( ocean )  THEN
+          saswsb => saswsb_1
+          saswst => saswst_1
+          sa     => sa_1;    sa_p => sa_2;    tsa_m => sa_3
+       ENDIF
+
+    ENDIF
+
+!
+!-- Initialize model variables
+    IF ( TRIM( initializing_actions ) /= 'read_restart_data'  .AND.  &
+         TRIM( initializing_actions ) /= 'cyclic_fill' )  THEN
+!
+!--    First model run of a possible job queue.
+!--    Initial profiles of the variables must be computes.
+       IF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+!
+!--       Use solutions of the 1D model as initial profiles,
+!--       start 1D model
+          CALL init_1d_model
+!
+!--       Transfer initial profiles to the arrays of the 3D model
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                e(:,j,i)  = e1d
+                kh(:,j,i) = kh1d
+                km(:,j,i) = km1d
+                pt(:,j,i) = pt_init
+                u(:,j,i)  = u1d
+                v(:,j,i)  = v1d
+             ENDDO
+          ENDDO
+
+          IF ( humidity  .OR.  passive_scalar )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   q(:,j,i) = q_init
+                ENDDO
+             ENDDO
+          ENDIF
+
+          IF ( .NOT. constant_diffusion )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   e(:,j,i)  = e1d
+                ENDDO
+             ENDDO
+!
+!--          Store initial profiles for output purposes etc.
+             hom(:,1,25,:) = SPREAD( l1d, 2, statistic_regions+1 )
+
+             IF ( prandtl_layer )  THEN
+                rif  = rif1d(nzb+1)
+                ts   = 0.0  ! could actually be computed more accurately in the
+                            ! 1D model. Update when opportunity arises.
+                us   = us1d
+                usws = usws1d
+                vsws = vsws1d
+             ELSE
+                ts   = 0.0  ! must be set, because used in
+                rif  = 0.0  ! flowste
+                us   = 0.0
+                usws = 0.0
+                vsws = 0.0
+             ENDIF
+
+          ELSE
+             e    = 0.0  ! must be set, because used in
+             rif  = 0.0  ! flowste
+             ts   = 0.0
+             us   = 0.0
+             usws = 0.0
+             vsws = 0.0
+          ENDIF
+          uswst = top_momentumflux_u
+          vswst = top_momentumflux_v
+
+!
+!--       In every case qs = 0.0 (see also pt)
+!--       This could actually be computed more accurately in the 1D model.
+!--       Update when opportunity arises!
+          IF ( humidity  .OR.  passive_scalar )  qs = 0.0
+
+!
+!--       inside buildings set velocities back to zero
+          IF ( topography /= 'flat' )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   u(nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v(nzb:nzb_v_inner(j,i),j,i) = 0.0
+                ENDDO
+             ENDDO
+             IF ( conserve_volume_flow )  THEN
+                IF ( nxr == nx )  THEN
+                   DO  j = nys, nyn
+                      DO  k = nzb + 1, nzb_u_inner(j,nx)
+                         u_nzb_p1_for_vfc(j) = u_nzb_p1_for_vfc(j) + &
+                                               u1d(k) * dzu(k)
+                      ENDDO
+                   ENDDO
+                ENDIF
+                IF ( nyn == ny )  THEN
+                   DO  i = nxl, nxr
+                      DO  k = nzb + 1, nzb_v_inner(ny,i)
+                         v_nzb_p1_for_vfc(i) = v_nzb_p1_for_vfc(i) + &
+                                               v1d(k) * dzu(k)
+                      ENDDO
+                   ENDDO
+                ENDIF
+             ENDIF
+!
+!--          WARNING: The extra boundary conditions set after running the
+!--          -------  1D model impose an error on the divergence one layer
+!--                   below the topography; need to correct later 
+!--          ATTENTION: Provisional correction for Piacsek & Williams
+!--          ---------  advection scheme: keep u and v zero one layer below
+!--                     the topography.
+             IF ( ibc_uv_b == 0 )  THEN
+!
+!--             Satisfying the Dirichlet condition with an extra layer below
+!--             the surface where the u and v component change their sign.
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      IF ( nzb_u_inner(j,i) == 0 ) u(0,j,i) = -u(1,j,i)
+                      IF ( nzb_v_inner(j,i) == 0 ) v(0,j,i) = -v(1,j,i)
+                   ENDDO
+                ENDDO
+
+             ELSE
+!
+!--             Neumann condition
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      IF ( nzb_u_inner(j,i) == 0 ) u(0,j,i) = u(1,j,i)
+                      IF ( nzb_v_inner(j,i) == 0 ) v(0,j,i) = v(1,j,i)
+                   ENDDO
+                ENDDO
+
+             ENDIF
+
+          ENDIF
+
+       ELSEIF ( INDEX(initializing_actions, 'set_constant_profiles') /= 0 ) &
+       THEN
+!
+!--       Use constructed initial profiles (velocity constant with height,
+!--       temperature profile with constant gradient)
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                pt(:,j,i) = pt_init
+                u(:,j,i)  = u_init
+                v(:,j,i)  = v_init
+             ENDDO
+          ENDDO
+
+!
+!--       Set initial horizontal velocities at the lowest computational grid 
+!--       levels to zero in order to avoid too small time steps caused by the 
+!--       diffusion limit in the initial phase of a run (at k=1, dz/2 occurs
+!--       in the limiting formula!). The original values are stored to be later
+!--       used for volume flow control.
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                u(nzb:nzb_u_inner(j,i)+1,j,i) = 0.0
+                v(nzb:nzb_v_inner(j,i)+1,j,i) = 0.0
+             ENDDO
+          ENDDO
+          IF ( conserve_volume_flow )  THEN
+             IF ( nxr == nx )  THEN
+                DO  j = nys, nyn
+                   DO  k = nzb + 1, nzb_u_inner(j,nx) + 1
+                      u_nzb_p1_for_vfc(j) = u_nzb_p1_for_vfc(j) + &
+                                            u_init(k) * dzu(k)
+                   ENDDO
+                ENDDO
+             ENDIF
+             IF ( nyn == ny )  THEN
+                DO  i = nxl, nxr
+                   DO  k = nzb + 1, nzb_v_inner(ny,i) + 1
+                      v_nzb_p1_for_vfc(i) = v_nzb_p1_for_vfc(i) + &
+                                            v_init(k) * dzu(k)
+                   ENDDO
+                ENDDO
+             ENDIF
+          ENDIF
+
+          IF ( humidity  .OR.  passive_scalar )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   q(:,j,i) = q_init
+                ENDDO
+             ENDDO
+          ENDIF
+
+          IF ( ocean )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   sa(:,j,i) = sa_init
+                ENDDO
+             ENDDO
+          ENDIF
+          
+          IF ( constant_diffusion )  THEN
+             km   = km_constant
+             kh   = km / prandtl_number
+             e    = 0.0
+          ELSEIF ( e_init > 0.0 )  THEN
+             DO  k = nzb+1, nzt
+                km(k,:,:) = 0.1 * l_grid(k) * SQRT( e_init )
+             ENDDO
+             km(nzb,:,:)   = km(nzb+1,:,:)
+             km(nzt+1,:,:) = km(nzt,:,:)
+             kh   = km / prandtl_number
+             e    = e_init
+          ELSE
+             IF ( .NOT. ocean )  THEN
+                kh   = 0.01   ! there must exist an initial diffusion, because 
+                km   = 0.01   ! otherwise no TKE would be produced by the
+                              ! production terms, as long as not yet
+                              ! e = (u*/cm)**2 at k=nzb+1
+             ELSE
+                kh   = 0.00001
+                km   = 0.00001
+             ENDIF
+             e    = 0.0
+          ENDIF
+          rif   = 0.0
+          ts    = 0.0
+          us    = 0.0
+          usws  = 0.0
+          uswst = top_momentumflux_u
+          vsws  = 0.0
+          vswst = top_momentumflux_v
+          IF ( humidity  .OR.  passive_scalar ) qs = 0.0
+
+!
+!--       Compute initial temperature field and other constants used in case
+!--       of a sloping surface
+          IF ( sloping_surface )  CALL init_slope
+
+       ELSEIF ( INDEX(initializing_actions, 'by_user') /= 0 ) &
+       THEN
+!
+!--       Initialization will completely be done by the user
+          CALL user_init_3d_model
+
+       ENDIF
+
+!
+!--    Apply channel flow boundary condition
+       IF ( TRIM( bc_uv_t ) == 'dirichlet_0' )  THEN
+
+          u(nzt+1,:,:) = 0.0
+          v(nzt+1,:,:) = 0.0
+
+!--       For the Dirichlet condition to be correctly applied at the top, set
+!--       ug and vg to zero there
+          ug(nzt+1)    = 0.0
+          vg(nzt+1)    = 0.0
+
+       ENDIF
+
+!
+!--    Calculate virtual potential temperature
+       IF ( humidity ) vpt = pt * ( 1.0 + 0.61 * q )
+
+!
+!--    Store initial profiles for output purposes etc.
+       hom(:,1,5,:) = SPREAD( u(:,nys,nxl), 2, statistic_regions+1 )
+       hom(:,1,6,:) = SPREAD( v(:,nys,nxl), 2, statistic_regions+1 )
+       IF ( ibc_uv_b == 0 )  THEN
+          hom(nzb,1,5,:) = -hom(nzb+1,1,5,:)  ! due to satisfying the Dirichlet 
+          hom(nzb,1,6,:) = -hom(nzb+1,1,6,:)  ! condition with an extra layer 
+              ! below the surface where the u and v component change their sign
+       ENDIF
+       hom(:,1,7,:)  = SPREAD( pt(:,nys,nxl), 2, statistic_regions+1 )
+       hom(:,1,23,:) = SPREAD( km(:,nys,nxl), 2, statistic_regions+1 )
+       hom(:,1,24,:) = SPREAD( kh(:,nys,nxl), 2, statistic_regions+1 )
+
+       IF ( ocean )  THEN
+!
+!--       Store initial salinity profile
+          hom(:,1,26,:)  = SPREAD( sa(:,nys,nxl), 2, statistic_regions+1 )
+       ENDIF
+
+       IF ( humidity )  THEN
+!
+!--       Store initial profile of total water content, virtual potential
+!--       temperature 
+          hom(:,1,26,:) = SPREAD(   q(:,nys,nxl), 2, statistic_regions+1 )
+          hom(:,1,29,:) = SPREAD( vpt(:,nys,nxl), 2, statistic_regions+1 )
+          IF ( cloud_physics  .OR.  cloud_droplets ) THEN
+!
+!--          Store initial profile of specific humidity and potential
+!--          temperature
+             hom(:,1,27,:) = SPREAD(  q(:,nys,nxl), 2, statistic_regions+1 )
+             hom(:,1,28,:) = SPREAD( pt(:,nys,nxl), 2, statistic_regions+1 )
+          ENDIF
+       ENDIF
+
+       IF ( passive_scalar )  THEN
+!
+!--       Store initial scalar profile
+          hom(:,1,26,:) = SPREAD(  q(:,nys,nxl), 2, statistic_regions+1 )
+       ENDIF
+
+!
+!--    Initialize fluxes at bottom surface
+       IF ( use_surface_fluxes )  THEN
+
+          IF ( constant_heatflux )  THEN
+!
+!--          Heat flux is prescribed
+             IF ( random_heatflux )  THEN
+                CALL disturb_heatflux
+             ELSE
+                shf = surface_heatflux
+!
+!--             Over topography surface_heatflux is replaced by wall_heatflux(0)
+                IF ( TRIM( topography ) /= 'flat' )  THEN
+                   DO  i = nxl-1, nxr+1
+                      DO  j = nys-1, nyn+1
+                         IF ( nzb_s_inner(j,i) /= 0 )  THEN
+                            shf(j,i) = wall_heatflux(0)
+                         ENDIF
+                      ENDDO
+                   ENDDO
+                ENDIF
+             ENDIF
+             IF ( ASSOCIATED( shf_m ) )  shf_m = shf
+          ENDIF
+
+!
+!--       Determine the near-surface water flux
+          IF ( humidity  .OR.  passive_scalar )  THEN
+             IF ( constant_waterflux )  THEN
+                qsws   = surface_waterflux
+                IF ( ASSOCIATED( qsws_m ) )  qsws_m = qsws
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+!
+!--    Initialize fluxes at top surface
+!--    Currently, only the heatflux and salinity flux can be prescribed.
+!--    The latent flux is zero in this case!
+       IF ( use_top_fluxes )  THEN
+
+          IF ( constant_top_heatflux )  THEN
+!
+!--          Heat flux is prescribed
+             tswst = top_heatflux
+             IF ( ASSOCIATED( tswst_m ) )  tswst_m = tswst
+
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                qswst = 0.0
+                IF ( ASSOCIATED( qswst_m ) )  qswst_m = qswst
+             ENDIF
+
+             IF ( ocean )  THEN
+                saswsb = bottom_salinityflux
+                saswst = top_salinityflux
+             ENDIF
+          ENDIF
+
+!
+!--       Initialization in case of a coupled model run
+          IF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+             tswst = 0.0
+             IF ( ASSOCIATED( tswst_m ) )  tswst_m = tswst
+          ENDIF
+
+       ENDIF
+
+!
+!--    Initialize Prandtl layer quantities
+       IF ( prandtl_layer )  THEN
+
+          z0 = roughness_length
+
+          IF ( .NOT. constant_heatflux )  THEN 
+!
+!--          Surface temperature is prescribed. Here the heat flux cannot be
+!--          simply estimated, because therefore rif, u* and theta* would have
+!--          to be computed by iteration. This is why the heat flux is assumed
+!--          to be zero before the first time step. It approaches its correct
+!--          value in the course of the first few time steps.
+             shf   = 0.0
+             IF ( ASSOCIATED( shf_m ) )  shf_m = 0.0
+          ENDIF
+
+          IF ( humidity  .OR.  passive_scalar )  THEN
+             IF ( .NOT. constant_waterflux )  THEN
+                qsws   = 0.0
+                IF ( ASSOCIATED( qsws_m ) )   qsws_m = 0.0
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+!
+!--    Calculate the initial volume flow at the right and north boundary
+       IF ( conserve_volume_flow )  THEN
+
+          volume_flow_initial_l = 0.0
+          volume_flow_area_l    = 0.0
+  
+          IF ( nxr == nx )  THEN
+             DO  j = nys, nyn
+                DO  k = nzb_2d(j,nx) + 1, nzt
+                   volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
+                                              u(k,j,nx) * dzu(k)
+                   volume_flow_area_l(1)    = volume_flow_area_l(1) + dzu(k)
+                ENDDO
+!
+!--             Correction if velocity at nzb+1 has been set zero further above
+                volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
+                                           u_nzb_p1_for_vfc(j)
+             ENDDO
+          ENDIF
+
+          IF ( nyn == ny )  THEN
+             DO  i = nxl, nxr
+                DO  k = nzb_2d(ny,i) + 1, nzt  
+                   volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
+                                              v(k,ny,i) * dzu(k)
+                   volume_flow_area_l(2)    = volume_flow_area_l(2) + dzu(k)
+                ENDDO
+!
+!--             Correction if velocity at nzb+1 has been set zero further above
+                volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
+                                           v_nzb_p1_for_vfc(i)
+             ENDDO
+          ENDIF
+
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( volume_flow_initial_l(1), volume_flow_initial(1),&
+                              2, MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( volume_flow_area_l(1), volume_flow_area(1),      &
+                              2, MPI_REAL, MPI_SUM, comm2d, ierr )
+#else
+          volume_flow_initial = volume_flow_initial_l
+          volume_flow_area    = volume_flow_area_l
+#endif
+!
+!--       In case of 'bulk_velocity' mode, volume_flow_initial is overridden
+!--       and calculated from u|v_bulk instead.
+          IF ( TRIM( conserve_volume_flow_mode ) == 'bulk_velocity' )  THEN
+             volume_flow_initial(1) = u_bulk * volume_flow_area(1)
+             volume_flow_initial(2) = v_bulk * volume_flow_area(2)
+          ENDIF
+
+       ENDIF
+
+!
+!--    For the moment, perturbation pressure and vertical velocity are zero
+       p = 0.0; w = 0.0
+
+!
+!--    Initialize array sums (must be defined in first call of pres)
+       sums = 0.0
+
+!
+!--    Treating cloud physics, liquid water content and precipitation amount
+!--    are zero at beginning of the simulation
+       IF ( cloud_physics )  THEN
+          ql = 0.0
+          IF ( precipitation )  precipitation_amount = 0.0
+       ENDIF
+
+!
+!--    Impose vortex with vertical axis on the initial velocity profile
+       IF ( INDEX( initializing_actions, 'initialize_vortex' ) /= 0 )  THEN
+          CALL init_rankine
+       ENDIF
+
+!
+!--    Impose temperature anomaly (advection test only)
+       IF ( INDEX( initializing_actions, 'initialize_ptanom' ) /= 0 )  THEN
+          CALL init_pt_anomaly
+       ENDIF
+
+!
+!--    If required, change the surface temperature at the start of the 3D run
+       IF ( pt_surface_initial_change /= 0.0 )  THEN
+          pt(nzb,:,:) = pt(nzb,:,:) + pt_surface_initial_change
+       ENDIF
+
+!
+!--    If required, change the surface humidity/scalar at the start of the 3D
+!--    run
+       IF ( ( humidity .OR. passive_scalar ) .AND. &
+            q_surface_initial_change /= 0.0 )  THEN
+          q(nzb,:,:) = q(nzb,:,:) + q_surface_initial_change
+       ENDIF
+
+!
+!--    Initialize the random number generator (from numerical recipes)
+       CALL random_function_ini
+
+!
+!--    Impose random perturbation on the horizontal velocity field and then
+!--    remove the divergences from the velocity field
+       IF ( create_disturbances )  THEN
+          CALL disturb_field( nzb_u_inner, tend, u )
+          CALL disturb_field( nzb_v_inner, tend, v )
+          n_sor = nsor_ini
+          CALL pres
+          n_sor = nsor
+       ENDIF
+
+!
+!--    Once again set the perturbation pressure explicitly to zero in order to
+!--    assure that it does not generate any divergences in the first time step.
+!--    At t=0 the velocity field is free of divergence (as constructed above).
+!--    Divergences being created during a time step are not yet known and thus
+!--    cannot be corrected during the time step yet.
+       p = 0.0
+
+!
+!--    Initialize old and new time levels.
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+          e_m = e; pt_m = pt; u_m = u; v_m = v; w_m = w; kh_m = kh; km_m = km
+       ELSE
+          te_m = 0.0; tpt_m = 0.0; tu_m = 0.0; tv_m = 0.0; tw_m = 0.0
+       ENDIF
+       e_p = e; pt_p = pt; u_p = u; v_p = v; w_p = w
+
+       IF ( humidity  .OR.  passive_scalar )  THEN
+          IF ( ASSOCIATED( q_m ) )  q_m = q
+          IF ( timestep_scheme(1:5) == 'runge' )  tq_m = 0.0
+          q_p = q
+          IF ( humidity  .AND.  ASSOCIATED( vpt_m ) )  vpt_m = vpt
+       ENDIF
+
+       IF ( ocean )  THEN
+          tsa_m = 0.0
+          sa_p  = sa
+       ENDIF
+
+
+    ELSEIF ( TRIM( initializing_actions ) == 'read_restart_data'  .OR.    &
+             TRIM( initializing_actions ) == 'cyclic_fill' )  &
+    THEN
+!
+!--    When reading data for cyclic fill of 3D prerun data, first read
+!--    some of the global variables from restart file
+       IF ( TRIM( initializing_actions ) == 'cyclic_fill' )  THEN
+
+          WRITE (9,*) 'before read_parts_of_var_list'
+          CALL local_flush( 9 )
+          CALL read_parts_of_var_list
+          WRITE (9,*) 'after read_parts_of_var_list'
+          CALL local_flush( 9 )
+          CALL close_file( 13 )
+
+!
+!--       Initialization of the turbulence recycling method
+          IF ( turbulent_inflow )  THEN
+!
+!--          Store temporally and horizontally averaged vertical profiles to be
+!--          used as mean inflow profiles
+             ALLOCATE( mean_inflow_profiles(nzb:nzt+1,5) )
+
+             mean_inflow_profiles(:,1) = hom_sum(:,1,0)    ! u
+             mean_inflow_profiles(:,2) = hom_sum(:,2,0)    ! v
+             mean_inflow_profiles(:,4) = hom_sum(:,4,0)    ! pt
+             mean_inflow_profiles(:,5) = hom_sum(:,8,0)    ! e
+
+!
+!--          Use these mean profiles for the inflow (provided that Dirichlet
+!--          conditions are used)
+             IF ( inflow_l )  THEN
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      u(k,j,-1)  = mean_inflow_profiles(k,1)
+                      v(k,j,-1)  = mean_inflow_profiles(k,2)
+                      w(k,j,-1)  = 0.0
+                      pt(k,j,-1) = mean_inflow_profiles(k,4)
+                      e(k,j,-1)  = mean_inflow_profiles(k,5)
+                   ENDDO
+                ENDDO
+             ENDIF
+
+!
+!--          Calculate the damping factors to be used at the inflow. For a
+!--          turbulent inflow the turbulent fluctuations have to be limited
+!--          vertically because otherwise the turbulent inflow layer will grow
+!--          in time.
+             IF ( inflow_damping_height == 9999999.9 )  THEN
+!
+!--             Default: use the inversion height calculated by the prerun; if
+!--             this is zero, inflow_damping_height must be explicitly
+!--             specified.
+                IF ( hom_sum(nzb+6,pr_palm,0) /= 0.0 )  THEN
+                   inflow_damping_height = hom_sum(nzb+6,pr_palm,0)
+                ELSE
+                   WRITE( message_string, * ) 'inflow_damping_height must be ',&
+                        'explicitly specified because&the inversion height ', &
+                        'calculated by the prerun is zero.'
+                   CALL message( 'init_3d_model', 'PA0318', 1, 2, 0, 6, 0 )
+                ENDIF
+
+             ENDIF
+
+             IF ( inflow_damping_width == 9999999.9 )  THEN
+!
+!--             Default for the transition range: one tenth of the undamped
+!--             layer
+                inflow_damping_width = 0.1 * inflow_damping_height
+
+             ENDIF
+
+             ALLOCATE( inflow_damping_factor(nzb:nzt+1) )
+
+             DO  k = nzb, nzt+1
+
+                IF ( zu(k) <= inflow_damping_height )  THEN
+                   inflow_damping_factor(k) = 1.0
+                ELSEIF ( zu(k) <= inflow_damping_height +  &
+                                  inflow_damping_width )  THEN
+                   inflow_damping_factor(k) = 1.0 -                            &
+                                           ( zu(k) - inflow_damping_height ) / &
+                                           inflow_damping_width
+                ELSE
+                   inflow_damping_factor(k) = 0.0
+                ENDIF
+
+             ENDDO
+          ENDIF
+
+       ENDIF
+
+!
+!--    Read binary data from restart file
+          WRITE (9,*) 'before read_3d_binary'
+          CALL local_flush( 9 )
+       CALL read_3d_binary
+          WRITE (9,*) 'after read_3d_binary'
+          CALL local_flush( 9 )
+
+!
+!--    Inside buildings set velocities and TKE back to zero
+       IF ( TRIM( initializing_actions ) == 'cyclic_fill' .AND.  &
+            topography /= 'flat' )  THEN
+!
+!--       Correction of initial volume flow
+          IF ( conserve_volume_flow )  THEN
+             IF ( nxr == nx )  THEN
+                DO  j = nys, nyn
+                   DO  k = nzb + 1, nzb_u_inner(j,nx)
+                      u_nzb_p1_for_vfc(j) = u_nzb_p1_for_vfc(j) + &
+                                            u(k,j,nx) * dzu(k)
+                   ENDDO
+                ENDDO
+             ENDIF
+             IF ( nyn == ny )  THEN
+                DO  i = nxl, nxr
+                   DO  k = nzb + 1, nzb_v_inner(ny,i)
+                      v_nzb_p1_for_vfc(i) = v_nzb_p1_for_vfc(i) + &
+                                            v(k,ny,i) * dzu(k)
+                   ENDDO
+                ENDDO
+             ENDIF
+          ENDIF
+
+!
+!--       Inside buildings set velocities and TKE back to zero.
+!--       Other scalars (pt, q, s, km, kh, p, sa, ...) are ignored at present,
+!--       maybe revise later.
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   u  (nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v  (nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   w  (nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   e  (nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   u_m(nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v_m(nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   w_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   e_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   tu_m(nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   tv_m(nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   tw_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   te_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   tpt_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                ENDDO
+             ENDDO
+          ELSE
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   u  (nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v  (nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   w  (nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   e  (nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   u_m(nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v_m(nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   w_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   e_m(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   u_p(nzb:nzb_u_inner(j,i),j,i) = 0.0
+                   v_p(nzb:nzb_v_inner(j,i),j,i) = 0.0
+                   w_p(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                   e_p(nzb:nzb_w_inner(j,i),j,i) = 0.0
+                ENDDO
+             ENDDO
+          ENDIF
+
+       ENDIF
+
+!
+!--    Calculate the initial volume flow at the right and north boundary
+       IF ( conserve_volume_flow  .AND.  &
+            TRIM( initializing_actions ) == 'cyclic_fill' )  THEN
+
+          volume_flow_initial_l = 0.0
+          volume_flow_area_l    = 0.0
+  
+          IF ( nxr == nx )  THEN
+             DO  j = nys, nyn
+                DO  k = nzb_2d(j,nx) + 1, nzt
+                   volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
+                                              u(k,j,nx) * dzu(k)
+                   volume_flow_area_l(1)    = volume_flow_area_l(1) + dzu(k)
+                ENDDO
+!
+!--             Correction if velocity inside buildings has been set to zero
+!--             further above
+                volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
+                                           u_nzb_p1_for_vfc(j)
+             ENDDO
+          ENDIF
+
+          IF ( nyn == ny )  THEN
+             DO  i = nxl, nxr
+                DO  k = nzb_2d(ny,i) + 1, nzt  
+                   volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
+                                              v(k,ny,i) * dzu(k)
+                   volume_flow_area_l(2)    = volume_flow_area_l(2) + dzu(k)
+                ENDDO
+!
+!--             Correction if velocity inside buildings has been set to zero
+!--             further above
+                volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
+                                           v_nzb_p1_for_vfc(i)
+             ENDDO
+          ENDIF
+
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( volume_flow_initial_l(1), volume_flow_initial(1),&
+                              2, MPI_REAL, MPI_SUM, comm2d, ierr )
+          CALL MPI_ALLREDUCE( volume_flow_area_l(1), volume_flow_area(1),      &
+                              2, MPI_REAL, MPI_SUM, comm2d, ierr )
+#else
+          volume_flow_initial = volume_flow_initial_l
+          volume_flow_area    = volume_flow_area_l
+#endif  
+       ENDIF
+
+
+!
+!--    Calculate initial temperature field and other constants used in case
+!--    of a sloping surface
+       IF ( sloping_surface )  CALL init_slope
+
+!
+!--    Initialize new time levels (only done in order to set boundary values
+!--    including ghost points)
+       e_p = e; pt_p = pt; u_p = u; v_p = v; w_p = w
+       IF ( humidity  .OR.  passive_scalar )  q_p = q
+       IF ( ocean )  sa_p = sa
+
+!
+!--    Allthough tendency arrays are set in prognostic_equations, they have
+!--    have to be predefined here because they are used (but multiplied with 0)
+!--    there before they are set. 
+       IF ( timestep_scheme(1:5) == 'runge' )  THEN
+          te_m = 0.0; tpt_m = 0.0; tu_m = 0.0; tv_m = 0.0; tw_m = 0.0
+          IF ( humidity  .OR.  passive_scalar )  tq_m = 0.0
+          IF ( ocean )  tsa_m = 0.0
+       ENDIF
+
+    ELSE
+!
+!--    Actually this part of the programm should not be reached
+       message_string = 'unknown initializing problem'
+       CALL message( 'init_3d_model', 'PA0193', 1, 2, 0, 6, 0 )
+    ENDIF
+
+
+    IF (  TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
+!
+!--    Initialize old timelevels needed for radiation boundary conditions
+       IF ( outflow_l )  THEN
+          u_m_l(:,:,:) = u(:,:,1:2)
+          v_m_l(:,:,:) = v(:,:,0:1)
+          w_m_l(:,:,:) = w(:,:,0:1)
+       ENDIF
+       IF ( outflow_r )  THEN
+          u_m_r(:,:,:) = u(:,:,nx-1:nx)
+          v_m_r(:,:,:) = v(:,:,nx-1:nx)
+          w_m_r(:,:,:) = w(:,:,nx-1:nx)
+       ENDIF
+       IF ( outflow_s )  THEN
+          u_m_s(:,:,:) = u(:,0:1,:)
+          v_m_s(:,:,:) = v(:,1:2,:)
+          w_m_s(:,:,:) = w(:,0:1,:)
+       ENDIF
+       IF ( outflow_n )  THEN
+          u_m_n(:,:,:) = u(:,ny-1:ny,:)
+          v_m_n(:,:,:) = v(:,ny-1:ny,:)
+          w_m_n(:,:,:) = w(:,ny-1:ny,:)
+       ENDIF
+
+    ENDIF
+
+!
+!-- Initialization of the leaf area density
+    IF ( plant_canopy ) THEN
+ 
+       SELECT CASE ( TRIM( canopy_mode ) )
+
+          CASE( 'block' )
+
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   lad_s(:,j,i) = lad(:)
+                   cdc(:,j,i)   = drag_coefficient
+                   IF ( passive_scalar ) THEN
+                      sls(:,j,i) = leaf_surface_concentration
+                      sec(:,j,i) = scalar_exchange_coefficient
+                   ENDIF
+                ENDDO
+             ENDDO
+
+          CASE DEFAULT
+
+!
+!--          The DEFAULT case is reached either if the parameter 
+!--          canopy mode contains a wrong character string or if the 
+!--          user has coded a special case in the user interface. 
+!--          There, the subroutine user_init_plant_canopy checks 
+!--          which of these two conditions applies.
+             CALL user_init_plant_canopy
+ 
+          END SELECT
+
+       CALL exchange_horiz( lad_s )
+       CALL exchange_horiz( cdc )
+
+       IF ( passive_scalar ) THEN
+          CALL exchange_horiz( sls )
+          CALL exchange_horiz( sec )
+       ENDIF
+
+!
+!--    Sharp boundaries of the plant canopy in horizontal directions
+!--    In vertical direction the interpolation is retained, as the leaf
+!--    area density is initialised by prescribing a vertical profile 
+!--    consisting of piecewise linear segments. The upper boundary 
+!--    of the plant canopy is now defined by lad_w(pch_index,:,:) = 0.0.
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb, nzt+1 
+                IF ( lad_s(k,j,i) > 0.0 ) THEN
+                   lad_u(k,j,i)   = lad_s(k,j,i) 
+                   lad_u(k,j,i+1) = lad_s(k,j,i)
+                   lad_v(k,j,i)   = lad_s(k,j,i)
+                   lad_v(k,j+1,i) = lad_s(k,j,i)
+                ENDIF
+             ENDDO
+             DO  k = nzb, nzt
+                lad_w(k,j,i) = 0.5 * ( lad_s(k+1,j,i) + lad_s(k,j,i) )
+             ENDDO
+          ENDDO
+       ENDDO
+
+       lad_w(pch_index,:,:) = 0.0
+       lad_w(nzt+1,:,:)     = lad_w(nzt,:,:)
+
+       CALL exchange_horiz( lad_u )
+       CALL exchange_horiz( lad_v )
+       CALL exchange_horiz( lad_w )
+
+!
+!--    Initialisation of the canopy heat source distribution
+       IF ( cthf /= 0.0 ) THEN
+!
+!--       Piecewise evaluation of the leaf area index by 
+!--       integration of the leaf area density
+          lai(:,:,:) = 0.0
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                DO  k = pch_index-1, 0, -1
+                   lai(k,j,i) = lai(k+1,j,i) +                   &
+                                ( 0.5 * ( lad_w(k+1,j,i) +       &
+                                          lad_s(k+1,j,i) ) *     &
+                                  ( zw(k+1) - zu(k+1) ) )  +     &
+                                ( 0.5 * ( lad_w(k,j,i)   +       &
+                                          lad_s(k+1,j,i) ) *     &
+                                  ( zu(k+1) - zw(k) ) )
+                ENDDO
+             ENDDO
+          ENDDO
+
+!
+!--       Evaluation of the upward kinematic vertical heat flux within the 
+!--       canopy
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                DO  k = 0, pch_index
+                   canopy_heat_flux(k,j,i) = cthf *                    &
+                                             exp( -0.6 * lai(k,j,i) )
+                ENDDO
+             ENDDO
+          ENDDO
+
+!
+!--       The near surface heat flux is derived from the heat flux 
+!--       distribution within the canopy
+          shf(:,:) = canopy_heat_flux(0,:,:)
+
+          IF ( ASSOCIATED( shf_m ) ) shf_m = shf
+
+       ENDIF
+
+    ENDIF
+
+!
+!-- If required, initialize dvrp-software
+    IF ( dt_dvrp /= 9999999.9 )  CALL init_dvrp
+
+    IF ( ocean )  THEN
+!
+!--    Initialize quantities needed for the ocean model
+       CALL init_ocean
+
+    ELSE
+!
+!--    Initialize quantities for handling cloud physics
+!--    This routine must be called before init_particles, because
+!--    otherwise, array pt_d_t, needed in data_output_dvrp (called by
+!--    init_particles) is not defined.
+       CALL init_cloud_physics
+    ENDIF
+
+!
+!-- If required, initialize particles
+    IF ( particle_advection )  CALL init_particles
+
+!
+!-- Initialize quantities for special advections schemes
+    CALL init_advec
+
+!
+!-- Initialize Rayleigh damping factors
+    rdf = 0.0
+    IF ( rayleigh_damping_factor /= 0.0 )  THEN
+       IF ( .NOT. ocean )  THEN
+          DO  k = nzb+1, nzt
+             IF ( zu(k) >= rayleigh_damping_height )  THEN
+                rdf(k) = rayleigh_damping_factor * &
+                      ( SIN( pi * 0.5 * ( zu(k) - rayleigh_damping_height )    &
+                                      / ( zu(nzt) - rayleigh_damping_height ) )&
+                      )**2
+             ENDIF
+          ENDDO
+       ELSE
+          DO  k = nzt, nzb+1, -1
+             IF ( zu(k) <= rayleigh_damping_height )  THEN
+                rdf(k) = rayleigh_damping_factor * &
+                      ( SIN( pi * 0.5 * ( rayleigh_damping_height - zu(k) )    &
+                                      / ( rayleigh_damping_height - zu(nzb+1)))&
+                      )**2
+             ENDIF
+          ENDDO
+       ENDIF
+    ENDIF
+
+!
+!-- Initialize the starting level and the vertical smoothing factor used for 
+!-- the external pressure gradient
+    dp_smooth_factor = 1.0
+    IF ( dp_external )  THEN
+!
+!--    Set the starting level dp_level_ind_b only if it has not been set before
+!--    (e.g. in init_grid).
+       IF ( dp_level_ind_b == 0 )  THEN
+          ind_array = MINLOC( ABS( dp_level_b - zu ) )
+          dp_level_ind_b = ind_array(1) - 1 + nzb 
+                                        ! MINLOC uses lower array bound 1
+       ENDIF
+       IF ( dp_smooth )  THEN
+          dp_smooth_factor(:dp_level_ind_b) = 0.0
+          DO  k = dp_level_ind_b+1, nzt
+             dp_smooth_factor(k) = 0.5 * ( 1.0 + SIN( pi * &
+                  ( REAL( k - dp_level_ind_b ) /  &
+                    REAL( nzt - dp_level_ind_b ) - 0.5 ) ) )
+          ENDDO
+       ENDIF
+    ENDIF
+
+!
+!-- Initialize diffusivities used within the outflow damping layer in case of
+!-- non-cyclic lateral boundaries. A linear increase is assumed over the first
+!-- half of the width of the damping layer
+    IF ( bc_lr == 'dirichlet/radiation' )  THEN
+
+       DO  i = nxl-1, nxr+1
+          IF ( i >= nx - outflow_damping_width )  THEN
+             km_damp_x(i) = km_damp_max * MIN( 1.0,                    &
+                            ( i - ( nx - outflow_damping_width ) ) /   &
+                            REAL( outflow_damping_width/2 )            &
+                                             )
+          ELSE
+             km_damp_x(i) = 0.0
+          ENDIF
+       ENDDO
+
+    ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
+
+       DO  i = nxl-1, nxr+1
+          IF ( i <= outflow_damping_width )  THEN
+             km_damp_x(i) = km_damp_max * MIN( 1.0,                    &
+                            ( outflow_damping_width - i ) /            &
+                            REAL( outflow_damping_width/2 )            &
+                                             )
+          ELSE
+             km_damp_x(i) = 0.0
+          ENDIF
+       ENDDO
+
+    ENDIF
+
+    IF ( bc_ns == 'dirichlet/radiation' )  THEN
+
+       DO  j = nys-1, nyn+1
+          IF ( j >= ny - outflow_damping_width )  THEN
+             km_damp_y(j) = km_damp_max * MIN( 1.0,                    &
+                            ( j - ( ny - outflow_damping_width ) ) /   &
+                            REAL( outflow_damping_width/2 )            &
+                                             )
+          ELSE
+             km_damp_y(j) = 0.0
+          ENDIF
+       ENDDO
+
+    ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
+
+       DO  j = nys-1, nyn+1
+          IF ( j <= outflow_damping_width )  THEN
+             km_damp_y(j) = km_damp_max * MIN( 1.0,                    &
+                            ( outflow_damping_width - j ) /            &
+                            REAL( outflow_damping_width/2 )            &
+                                             )
+          ELSE
+             km_damp_y(j) = 0.0
+          ENDIF
+       ENDDO
+
+    ENDIF
+
+!
+!-- Initialize local summation arrays for UP flow_statistics. This is necessary
+!-- because they may not yet have been initialized when they are called from 
+!-- flow_statistics (or - depending on the chosen model run - are never 
+!-- initialized)
+    sums_divnew_l      = 0.0
+    sums_divold_l      = 0.0
+    sums_l_l           = 0.0
+    sums_up_fraction_l = 0.0
+    sums_wsts_bc_l     = 0.0
+
+!
+!-- Pre-set masks for regional statistics. Default is the total model domain.
+    rmask = 1.0
+
+!
+!-- User-defined initializing actions. Check afterwards, if maximum number
+!-- of allowed timeseries is not exceeded
+    CALL user_init
+
+    IF ( dots_num > dots_max )  THEN
+       WRITE( message_string, * ) 'number of time series quantities exceeds', &
+                                  ' its maximum of dots_max = ', dots_max,    &
+                                  ' &Please increase dots_max in modules.f90.'
+       CALL message( 'init_3d_model', 'PA0194', 1, 2, 0, 6, 0 )    
+    ENDIF
+
+!
+!-- Input binary data file is not needed anymore. This line must be placed
+!-- after call of user_init!
+    CALL close_file( 13 )
+
+!
+!-- Compute total sum of active mask grid points
+!-- ngp_2dh: number of grid points of a horizontal cross section through the
+!--          total domain
+!-- ngp_3d:  number of grid points of the total domain
+    ngp_2dh_outer_l   = 0
+    ngp_2dh_outer     = 0
+    ngp_2dh_s_inner_l = 0
+    ngp_2dh_s_inner   = 0
+    ngp_2dh_l         = 0
+    ngp_2dh           = 0
+    ngp_3d_inner_l    = 0
+    ngp_3d_inner      = 0
+    ngp_3d            = 0
+    ngp_sums          = ( nz + 2 ) * ( pr_palm + max_pr_user )
+
+    DO  sr = 0, statistic_regions
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             IF ( rmask(j,i,sr) == 1.0 )  THEN
+!
+!--             All xy-grid points
+                ngp_2dh_l(sr) = ngp_2dh_l(sr) + 1
+!
+!--             xy-grid points above topography
+                DO  k = nzb_s_outer(j,i), nz + 1
+                   ngp_2dh_outer_l(k,sr) = ngp_2dh_outer_l(k,sr) + 1
+                ENDDO
+                DO  k = nzb_s_inner(j,i), nz + 1
+                   ngp_2dh_s_inner_l(k,sr) = ngp_2dh_s_inner_l(k,sr) + 1
+                ENDDO
+!
+!--             All grid points of the total domain above topography
+                ngp_3d_inner_l(sr) = ngp_3d_inner_l(sr) + &
+                                     ( nz - nzb_s_inner(j,i) + 2 )
+             ENDIF
+          ENDDO
+       ENDDO
+    ENDDO
+
+    sr = statistic_regions + 1
+#if defined( __parallel )
+    CALL MPI_ALLREDUCE( ngp_2dh_l(0), ngp_2dh(0), sr, MPI_INTEGER, MPI_SUM,  &
+                        comm2d, ierr )
+    CALL MPI_ALLREDUCE( ngp_2dh_outer_l(0,0), ngp_2dh_outer(0,0), (nz+2)*sr, &
+                        MPI_INTEGER, MPI_SUM, comm2d, ierr )
+    CALL MPI_ALLREDUCE( ngp_2dh_s_inner_l(0,0), ngp_2dh_s_inner(0,0),        &
+                        (nz+2)*sr, MPI_INTEGER, MPI_SUM, comm2d, ierr )
+    CALL MPI_ALLREDUCE( ngp_3d_inner_l(0), ngp_3d_inner(0), sr, MPI_INTEGER, &
+                        MPI_SUM, comm2d, ierr )
+#else
+    ngp_2dh         = ngp_2dh_l
+    ngp_2dh_outer   = ngp_2dh_outer_l
+    ngp_2dh_s_inner = ngp_2dh_s_inner_l
+    ngp_3d_inner    = ngp_3d_inner_l
+#endif
+
+    ngp_3d = ngp_2dh * ( nz + 2 )
+
+!
+!-- Set a lower limit of 1 in order to avoid zero divisions in flow_statistics,
+!-- buoyancy, etc. A zero value will occur for cases where all grid points of
+!-- the respective subdomain lie below the surface topography
+    ngp_2dh_outer   = MAX( 1, ngp_2dh_outer(:,:)   ) 
+    ngp_3d_inner    = MAX( 1, ngp_3d_inner(:)      )
+    ngp_2dh_s_inner = MAX( 1, ngp_2dh_s_inner(:,:) ) 
+
+    DEALLOCATE( ngp_2dh_l, ngp_2dh_outer_l, ngp_3d_inner_l )
+
+
+ END SUBROUTINE init_3d_model
Index: palm/tags/release-3.7/SOURCE/init_advec.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_advec.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_advec.f90	(revision 393)
@@ -0,0 +1,236 @@
+ SUBROUTINE init_advec
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2004/04/30 11:59:31  raasch
+! impulse_advec renamed momentum_advec
+!
+! Revision 1.1  1999/02/05 09:07:38  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initialize constant coefficients and parameters for certain advection schemes.
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE arrays_3d
+    USE indices
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER :: i, intervals, j, k
+    REAL    :: delt, dn, dnneu, ex1, ex2, ex3, ex4, ex5, ex6, spl_alpha, &
+               spl_beta, sterm
+    REAL, DIMENSION(:), ALLOCATABLE ::  spl_u, temp
+
+
+    IF ( scalar_advec == 'bc-scheme' )  THEN
+
+!
+!--    Compute exponential coefficients for the Bott-Chlond scheme
+       intervals = 1000
+       ALLOCATE( aex(intervals), bex(intervals), dex(intervals), eex(intervals) )
+
+       delt  = 1.0 / REAL( intervals )
+       sterm = delt * 0.5
+
+       DO  i = 1, intervals
+
+          IF ( sterm > 0.5 )  THEN
+             dn = -5.0
+          ELSE
+             dn = 5.0
+          ENDIF
+
+          DO  j = 1, 15
+             ex1 = dn * EXP( -dn ) - EXP( 0.5 * dn ) + EXP( -0.5 * dn )
+             ex2 = EXP( dn ) - EXP( -dn )
+             ex3 = EXP( -dn ) * ( 1.0 - dn ) - 0.5 * EXP(  0.5 * dn ) &
+                                             - 0.5 * EXP( -0.5 * dn )
+             ex4 = EXP( dn ) + EXP( -dn )
+             ex5 = dn * sterm + ex1 / ex2
+             ex6 = sterm + ( ex3 * ex2 - ex4 * ex1 ) / ( ex2 * ex2 )
+             dnneu = dn - ex5 / ex6
+             dn  = dnneu
+          ENDDO
+
+          IF ( sterm < 0.5 )  dn = MAX(  2.95E-2, dn )
+          IF ( sterm > 0.5 )  dn = MIN( -2.95E-2, dn )
+          ex1 = EXP( -dn )
+          ex2 = EXP( dn ) - ex1
+          aex(i) = -ex1 / ex2
+          bex(i) = 1.0 / ex2
+          dex(i) = dn
+          eex(i) = EXP( dex(i) * 0.5 )
+          sterm = sterm + delt
+
+       ENDDO
+
+    ENDIF
+
+    IF ( momentum_advec == 'ups-scheme' .OR. scalar_advec  == 'ups-scheme' )  &
+    THEN
+
+!
+!--    Provide the constant parameters for the Upstream-Spline advection scheme.
+!--    In x- und y-direction the Sherman-Morrison formula is applied
+!--    (cf. Press et al, 1986 (Numerical Recipes)).
+!
+!--    Allocate nonlocal arrays
+       ALLOCATE( spl_z_x(0:nx), spl_z_y(0:ny), spl_tri_x(5,0:nx), &
+                 spl_tri_y(5,0:ny), spl_tri_zu(5,nzb:nzt+1),      &
+                 spl_tri_zw(5,nzb:nzt+1) )
+
+!
+!--    Provide diagonal elements of the tridiagonal matrices for all 
+!--    directions
+       spl_tri_x(1,:)  = 2.0
+       spl_tri_y(1,:)  = 2.0
+       spl_tri_zu(1,:) = 2.0
+       spl_tri_zw(1,:) = 2.0
+
+!
+!--    Elements of the cyclic tridiagonal matrix
+!--    (same for all horizontal directions)
+       spl_alpha = 0.5
+       spl_beta  = 0.5
+
+!
+!--    Sub- and superdiagonal elements, x-direction
+       spl_tri_x(2,0:nx) = 0.5
+       spl_tri_x(3,0:nx) = 0.5
+
+!
+!--    mMdify the diagonal elements (Sherman-Morrison)
+       spl_gamma_x    = -spl_tri_x(1,0)
+       spl_tri_x(1,0)  = spl_tri_x(1,0) - spl_gamma_x
+       spl_tri_x(1,nx) = spl_tri_x(1,nx) - spl_alpha * spl_beta / spl_gamma_x
+
+!
+!--    Split the tridiagonal matrix for Thomas algorithm
+       spl_tri_x(4,0) = spl_tri_x(1,0)
+       DO  i = 1, nx
+          spl_tri_x(5,i) = spl_tri_x(2,i) / spl_tri_x(4,i-1)
+          spl_tri_x(4,i) = spl_tri_x(1,i) - spl_tri_x(5,i) * spl_tri_x(3,i-1)
+       ENDDO
+
+!
+!--    Allocate arrays required locally
+       ALLOCATE( temp(0:nx), spl_u(0:nx) )
+
+!
+!--    Provide "corrective vector", x-direction
+       spl_u(0)      = spl_gamma_x
+       spl_u(1:nx-1) = 0.0
+       spl_u(nx)     = spl_alpha
+
+!
+!--    Solve the system of equations for the corrective vector
+!--    (Sherman-Morrison)
+       temp(0) = spl_u(0)
+       DO  i = 1, nx
+          temp(i) = spl_u(i) - spl_tri_x(5,i) * temp(i-1)
+       ENDDO
+       spl_z_x(nx) = temp(nx) / spl_tri_x(4,nx)
+       DO  i = nx-1, 0, -1
+          spl_z_x(i) = ( temp(i) - spl_tri_x(3,i) * spl_z_x(i+1) ) / &
+                       spl_tri_x(4,i)
+       ENDDO
+
+!
+!--    Deallocate local arrays, for they are allocated in a different way for
+!--    operations in y-direction
+       DEALLOCATE( temp, spl_u )    
+    
+!
+!--    Provide sub- and superdiagonal elements, y-direction
+       spl_tri_y(2,0:ny) = 0.5
+       spl_tri_y(3,0:ny) = 0.5
+
+!
+!--    Modify the diagonal elements (Sherman-Morrison)
+       spl_gamma_y    = -spl_tri_y(1,0) 
+       spl_tri_y(1,0)  = spl_tri_y(1,0) - spl_gamma_y
+       spl_tri_y(1,ny) = spl_tri_y(1,ny) - spl_alpha * spl_beta / spl_gamma_y
+
+!
+!--    Split the tridiagonal matrix for Thomas algorithm
+       spl_tri_y(4,0) = spl_tri_y(1,0)
+       DO  j = 1, ny
+          spl_tri_y(5,j) = spl_tri_y(2,j) / spl_tri_y(4,j-1)
+          spl_tri_y(4,j) = spl_tri_y(1,j) - spl_tri_y(5,j) * spl_tri_y(3,j-1)
+       ENDDO
+
+!
+!--    Allocate arrays required locally
+       ALLOCATE( temp(0:ny), spl_u(0:ny) )
+
+!
+!--    Provide "corrective vector", y-direction
+       spl_u(0)      = spl_gamma_y
+       spl_u(1:ny-1) = 0.0
+       spl_u(ny)     = spl_alpha
+    
+!
+!--    Solve the system of equations for the corrective vector
+!--    (Sherman-Morrison)
+       temp = 0.0
+       spl_z_y = 0.0
+       temp(0) = spl_u(0)
+       DO  j = 1, ny
+          temp(j) = spl_u(j) - spl_tri_y(5,j) * temp(j-1)
+       ENDDO
+       spl_z_y(ny) = temp(ny) / spl_tri_y(4,ny)
+       DO  j = ny-1, 0, -1
+          spl_z_y(j) = ( temp(j) - spl_tri_y(3,j) * spl_z_y(j+1) ) / &
+                       spl_tri_y(4,j)
+       ENDDO
+
+!
+!--    deallocate local arrays, for they are no longer required
+       DEALLOCATE( temp, spl_u )
+
+!
+!--    provide sub- and superdiagonal elements, z-direction
+       spl_tri_zu(2,nzb)   = 0.0
+       spl_tri_zu(2,nzt+1) = 1.0
+       spl_tri_zw(2,nzb)   = 0.0
+       spl_tri_zw(2,nzt+1) = 1.0
+
+       spl_tri_zu(3,nzb)   = 1.0
+       spl_tri_zu(3,nzt+1) = 0.0
+       spl_tri_zw(3,nzb)   = 1.0
+       spl_tri_zw(3,nzt+1) = 0.0
+
+       DO  k = nzb+1, nzt
+          spl_tri_zu(2,k) = dzu(k) / ( dzu(k) + dzu(k+1) )
+          spl_tri_zw(2,k) = dzw(k) / ( dzw(k) + dzw(k+1) )
+          spl_tri_zu(3,k) = 1.0 - spl_tri_zu(2,k)
+          spl_tri_zw(3,k) = 1.0 - spl_tri_zw(2,k)
+       ENDDO
+    
+       spl_tri_zu(4,nzb) = spl_tri_zu(1,nzb)
+       spl_tri_zw(4,nzb) = spl_tri_zw(1,nzb)
+       DO  k = nzb+1, nzt+1
+          spl_tri_zu(5,k) = spl_tri_zu(2,k) / spl_tri_zu(4,k-1)
+          spl_tri_zw(5,k) = spl_tri_zw(2,k) / spl_tri_zw(4,k-1)
+          spl_tri_zu(4,k) = spl_tri_zu(1,k) - spl_tri_zu(5,k) * &
+                            spl_tri_zu(3,k-1)
+          spl_tri_zw(4,k) = spl_tri_zw(1,k) - spl_tri_zw(5,k) * &
+                            spl_tri_zw(3,k-1)
+       ENDDO
+
+    ENDIF
+
+ END SUBROUTINE init_advec
Index: palm/tags/release-3.7/SOURCE/init_cloud_physics.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_cloud_physics.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_cloud_physics.f90	(revision 393)
@@ -0,0 +1,85 @@
+ SUBROUTINE init_cloud_physics
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ------------------
+! $Id$
+!
+! 221 2009-01-12 15:32:23Z raasch
+! Bugfix: abort in case that absolute temperature is below zero
+!
+! 95 2007-06-02 16:48:38Z raasch
+! hydro_press renamed hyp
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2005/06/26 19:55:58  raasch
+! Initialization of cloud droplet constants, gas_constant renamed r_d,
+! latent_heat renamed l_v
+!
+! Revision 1.1  2000/04/13 14:37:22  schroeter
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initialization of parameters for handling cloud-physics
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE cloud_parameters
+    USE control_parameters
+    USE grid_variables
+    USE indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  k
+    REAL    ::  t_surface
+
+    ALLOCATE( hyp(nzb:nzt+1), pt_d_t(nzb:nzt+1), t_d_pt(nzb:nzt+1) )
+
+!
+!-- Compute frequently used parameters
+    l_d_cp = l_v / cp
+    l_d_r  = l_v / r_d
+    l_d_rv = l_v / r_v
+
+!
+!-- Constant b in equation for droplet growth by condensation / evaporation.
+!-- Factor 1E-3 is needed because formula is in cgs units
+    mass_of_solute = 1.0E-17            ! in kg
+    molecular_weight_of_solute = 58.5   ! NaCl
+    b_cond = 4.3 * 2.0 * mass_of_solute / molecular_weight_of_solute * 1.0E-6
+
+!
+!-- Calculate:
+!-- pt / t : ratio of potential and actual temperature (pt_d_t)
+!-- t / pt : ratio of actual and potential temperature (t_d_pt)
+!-- p_0(z) : vertical profile of the hydrostatic pressure (hyp)
+    t_surface = pt_surface * ( surface_pressure / 1000.0 )**0.286
+    DO  k = nzb, nzt+1
+!
+!--    Check temperature in case of too large domain height
+       IF ( ( t_surface - g/cp * zu(k) ) < 0.0 )  THEN
+          WRITE( message_string, * )  'absolute temperature < 0.0 at zu(', k, &
+                                      ') = ', zu(k)
+          CALL message( 'init_cloud_physics', 'PA0142', 1, 2, 0, 6, 0 )
+       ENDIF
+       hyp(k)    = surface_pressure * 100.0 * &
+                   ( (t_surface - g/cp * zu(k)) / t_surface )**(1.0/0.286)
+       pt_d_t(k) = ( 100000.0 / hyp(k) )**0.286
+       t_d_pt(k) = 1.0 / pt_d_t(k)       
+    ENDDO
+
+!
+!-- Compute reference density
+    rho_surface = surface_pressure * 100.0 / ( r_d * t_surface )
+
+
+ END SUBROUTINE init_cloud_physics
Index: palm/tags/release-3.7/SOURCE/init_coupling.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_coupling.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_coupling.f90	(revision 393)
@@ -0,0 +1,132 @@
+  SUBROUTINE init_coupling
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ------------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! Coupling with independent precursor runs.
+!
+! 222 2009-01-12 16:04:16Z letzel
+! Initial revision
+!
+! Description:
+! ------------
+! Initializing coupling via MPI-1 or MPI-2 if the coupled version of PALM is
+! called.
+!------------------------------------------------------------------------------!
+
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    INTEGER               ::  i, inter_color
+    INTEGER, DIMENSION(:) ::  bc_data(0:3) = 0
+
+!
+!-- Get information about the coupling mode from the environment variable
+!-- which has been set by the mpiexec command.
+!-- This method is currently not used because the mpiexec command is not
+!-- available on some machines
+!    CALL local_getenv( 'coupling_mode', 13, coupling_mode, i )
+!    IF ( i == 0 )  coupling_mode = 'uncoupled'
+!    IF ( coupling_mode == 'ocean_to_atmosphere' )  coupling_char = '_O'
+
+!
+!-- Get information about the coupling mode from standard input (PE0 only) and
+!-- distribute it to the other PEs. If __mpi2 was defined, suggest a 
+!-- coupling via MPI-2. Otherwise initate a coupling using MPI-1 only.
+!-- In this case, distribute PEs to 2 new communicators.
+!-- ATTENTION: numprocs will be reset according to the new communicators
+#if defined ( __parallel )
+    IF ( myid == 0 )  THEN
+       READ (*,*,ERR=10,END=10)  coupling_mode, bc_data(1), bc_data(2)
+10     CONTINUE
+#if defined( __mpi2 )
+       IF ( TRIM( coupling_mode ) == 'atmosphere_to_ocean' )  THEN
+          i = 1
+       ELSEIF ( TRIM( coupling_mode ) == 'ocean_to_atmosphere' )  THEN
+          i = 2
+       ELSE
+          i = 0
+       ENDIF
+#else
+       IF ( TRIM( coupling_mode ) == 'coupled_run' )  THEN
+          i = 1
+       ELSE
+          i = 0
+       ENDIF
+#endif
+       bc_data(0) = i
+
+!
+!--    Check if '_O' has to be used as file extension in an uncoupled ocean
+!--    run. This is required, if this run shall be continued as a coupled run.
+       IF ( TRIM( coupling_mode ) == 'precursor_ocean' )  bc_data(3) = 1
+
+    ENDIF
+
+    CALL MPI_BCAST( bc_data(0), 4, MPI_INTEGER, 0, MPI_COMM_WORLD, ierr )
+    i = bc_data(0)
+
+#if defined ( __mpi2 )
+    IF ( i == 0 )  THEN
+       coupling_mode = 'uncoupled'
+    ELSEIF ( i == 1 )  THEN
+       coupling_mode = 'atmosphere_to_ocean'
+    ELSEIF ( i == 2 )  THEN
+       coupling_mode = 'ocean_to_atmosphere'
+    ENDIF
+    target_id = myid
+#else
+    IF ( i == 0 ) THEN
+       coupling_mode = 'uncoupled'
+    ELSE
+       comm_inter = MPI_COMM_WORLD
+
+       IF ( myid < bc_data(1) ) THEN
+          inter_color = 0
+          numprocs = bc_data(1)
+       ELSE
+          inter_color = 1
+          numprocs = bc_data(2)
+       ENDIF
+!
+!--    Calculate the target PE for coupling and set up the new communicators.
+!--    Currently only 1:1 topologies are supported.
+       target_id = myid - ISIGN( numprocs, inter_color - 1 )
+       IF ( inter_color == 0 ) THEN
+          coupling_mode = 'atmosphere_to_ocean'
+       ELSE
+          coupling_mode = 'ocean_to_atmosphere'
+       ENDIF
+       CALL MPI_COMM_SPLIT( MPI_COMM_WORLD, inter_color, 0, comm_palm, ierr )
+       comm2d = comm_palm
+
+!
+!--    Write a flag file for the ocean model and the other atmosphere
+!--    processes.
+       OPEN( 90, FILE='COUPLING_PORT_OPENED', FORM='FORMATTED' )
+       WRITE ( 90, '(''TRUE'')' )
+       CLOSE ( 90 )
+    ENDIF
+#endif
+#endif
+
+!
+!-- In case of a precursor ocean run (followed by a coupled run), or a
+!-- coupled atmosphere-ocean run, set the file extension for the ocean files
+    IF ( TRIM( coupling_mode ) == 'ocean_to_atmosphere' .OR. bc_data(3) == 1 ) &
+    THEN
+       coupling_char = '_O'
+    ENDIF
+
+ END SUBROUTINE init_coupling
Index: palm/tags/release-3.7/SOURCE/init_dvrp.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_dvrp.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_dvrp.f90	(revision 393)
@@ -0,0 +1,787 @@
+  SUBROUTINE init_dvrp
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 284 2009-04-06 06:36:10Z raasch
+! Definition of a colortable to be used for particles.
+! Output names are changed: surface=groundplate, buildings=topography
+! Output of messages replaced by message handling routine.
+! Clipping implemented.
+! Polygon reduction for building and ground plate isosurface. Reduction level
+! for buildings can be chosen with parameter cluster_size.
+! Steering, splitting, and rtsp routines not used on nec.
+! ToDo: checking of mode_dvrp for legal values is not correct
+! Implementation of a MPI-1 coupling: __mpi2 adjustments for MPI_COMM_WORLD
+!
+! 210 2008-11-06 08:54:02Z raasch
+! DVRP arguments changed to single precision, mode pathlines added
+!
+! 155 2008-03-28 10:56:30Z letzel
+! introduce prefix_chr to ensure unique dvrp_file path
+!
+! 130 2007-11-13 14:08:40Z letzel
+! allow two instead of one digit to specify isosurface and slicer variables
+! Test output of isosurface on camera file
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! routine local_flush is used for buffer flushing
+!
+! 17 2007-02-19 01:57:39Z raasch
+! dvrp_output_local activated for all streams
+!
+! 13 2007-02-14 12:15:07Z raasch
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/02/23 12:30:22  raasch
+! ebene renamed section, pl.. replaced by do..,
+!
+! Revision 1.1  2000/04/27 06:24:39  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initializing actions needed when using dvrp-software
+!------------------------------------------------------------------------------!
+#if defined( __dvrp_graphics )
+
+    USE arrays_3d
+    USE DVRP
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2)  ::  section_chr
+    CHARACTER (LEN=3)  ::  prefix_chr
+    CHARACTER (LEN=80) ::  dvrp_file_local
+    INTEGER ::  cluster_mode, cluster_size_x, cluster_size_y, cluster_size_z, &
+                gradient_normals, i, j, k, l, m, nx_dvrp_l, nx_dvrp_r,        &
+                ny_dvrp_n, ny_dvrp_s, pn, tv, vn
+    LOGICAL ::  allocated
+    REAL(4) ::  center(3), cluster_alpha, distance, tmp_b, tmp_g, tmp_r, &
+                tmp_t, tmp_th, tmp_thr, tmp_x1, tmp_x2, tmp_y1, tmp_y2,  &
+                tmp_z1, tmp_z2, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6, tmp_7
+
+    REAL(4), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf
+
+    TYPE(CSTRING), SAVE ::  dvrp_directory_c, dvrp_file_c, &
+                            dvrp_file_local_c,dvrp_host_c, &
+                            dvrp_password_c, dvrp_username_c, name_c
+
+!
+!-- Set clipping to default (total domain), if not set by user
+    IF ( clip_dvrp_l == 9999999.9 )  clip_dvrp_l = 0.0
+    IF ( clip_dvrp_r == 9999999.9 )  clip_dvrp_r = ( nx + 1 ) * dx
+    IF ( clip_dvrp_s == 9999999.9 )  clip_dvrp_s = 0.0
+    IF ( clip_dvrp_n == 9999999.9 )  clip_dvrp_n = ( ny + 1 ) * dy
+
+!
+!-- Calculate the clipping index limits
+    nx_dvrp_l = clip_dvrp_l / dx
+    nx_dvrp_r = clip_dvrp_r / dx
+    ny_dvrp_s = clip_dvrp_s / dy
+    ny_dvrp_n = clip_dvrp_n / dy
+
+    IF ( nx_dvrp_l < nxr  .AND.  nx_dvrp_r > nxl  .AND. &
+         ny_dvrp_s < nyn  .AND.  ny_dvrp_n > nys )  THEN
+
+       dvrp_overlap = .TRUE.
+       nxl_dvrp = MAX( nxl, nx_dvrp_l )
+       nxr_dvrp = MIN( nxr, nx_dvrp_r )
+       nys_dvrp = MAX( nys, ny_dvrp_s )
+       nyn_dvrp = MIN( nyn, ny_dvrp_n )
+
+       IF ( nxl_dvrp == nxl  .AND.  nxr_dvrp == nxr  .AND.  &
+            nys_dvrp == nys  .AND.  nyn_dvrp == nyn )  THEN
+          dvrp_total_overlap = .TRUE.
+       ELSE
+          dvrp_total_overlap = .FALSE.
+       ENDIF
+
+    ELSE
+!
+!--    This subdomain does not overlap with the clipping area. Define an
+!--    arbitrary (small) domain within in the clipping area.
+       dvrp_overlap       = .FALSE.
+       dvrp_total_overlap = .FALSE.
+!       nxl_dvrp = nx_dvrp_l
+!       nxr_dvrp = nxl_dvrp + 4
+!       nys_dvrp = ny_dvrp_s
+!       nyn_dvrp = nys_dvrp + 4
+       nxl_dvrp = nxl
+       nxr_dvrp = MIN( nxl+4, nxr )
+       nys_dvrp = nys
+       nyn_dvrp = MIN( nys+4, nyn )
+
+    ENDIF
+
+!
+!-- Set the maximum time the program can be suspended on user request (by
+!-- dvrp steering). This variable is defined in module DVRP.
+    DVRP_MAX_SUSPEND_TIME = 7200
+
+!
+!-- Allocate array holding the names and limits of the steering variables
+!-- (must have the same number of elements as array mode_dvrp!)
+    ALLOCATE( steering_dvrp(10) )
+
+!
+!-- Check, if output parameters are given and/or allowed
+!-- and set default-values, where necessary
+    IF ( dvrp_username == ' ' )  THEN
+        message_string = 'dvrp_username is undefined'
+        CALL message( 'init_dvrp', 'PA0195', 1, 2, 0, 6, 0 )         
+    ENDIF
+
+    IF ( dvrp_output /= 'ftp'  .AND.  dvrp_output /= 'rtsp'  .AND. &
+         dvrp_output /= 'local' )  THEN
+       message_string = 'dvrp_output="' // TRIM( dvrp_output ) // &
+                        '" not allowed'
+       CALL message( 'init_dvrp', 'PA0196', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    IF ( dvrp_directory == 'default' )  THEN
+       dvrp_directory = TRIM( dvrp_username ) // '/' // TRIM( run_identifier )
+    ENDIF
+
+!
+!-- A local dvrserver running always outputs on temporary directory DATA_DVR
+    IF ( local_dvrserver_running )  THEN
+       dvrp_directory = 'DATA_DVR'
+    ENDIF
+
+    IF ( dvrp_output /= 'local' )  THEN
+       IF ( dvrp_file /= 'default'  .AND.  dvrp_file /= '/dev/null' )  THEN
+          message_string = 'dvrp_file="' // TRIM( dvrp_file ) // '" not allowed'
+          CALL message( 'init_dvrp', 'PA0197', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF
+
+!
+!-- Strings are assigned to strings of special type which have a CHAR( 0 )
+!-- (C end-of-character symbol) at their end. This is needed when strings are
+!-- passed to C routines.
+    dvrp_directory_c = dvrp_directory
+    dvrp_file_c      = dvrp_file
+    dvrp_host_c      = dvrp_host
+    dvrp_password_c  = dvrp_password
+    dvrp_username_c  = dvrp_username
+
+!
+!-- Loop over all output modes choosed
+    m = 1
+    allocated = .FALSE.
+    DO WHILE ( mode_dvrp(m) /= ' ' )
+    
+!
+!--    Check, if mode is allowed
+       IF ( mode_dvrp(m)(1:10) /= 'isosurface'  .AND. &
+            mode_dvrp(m)(1:6)  /= 'slicer'      .AND. &
+            mode_dvrp(m)(1:9)  /= 'particles'   .AND. &
+            mode_dvrp(m)(1:9)  /= 'pathlines' )  THEN
+
+          message_string = 'mode_dvrp="' // TRIM( mode_dvrp(m) ) // &
+                           '" not allowed'
+          CALL message( 'init_dvrp', 'PA0198', 1, 2, 0, 6, 0 )
+          CALL local_stop
+
+       ENDIF
+!
+!--    Determine prefix for dvrp_file
+       WRITE ( prefix_chr, '(I2.2,''_'')' )  m
+!
+!--    Camera position must be computed and written on file when no dvrp-output
+!--    has been generated so far (in former runs)
+!       IF ( dvrp_filecount == 0 )  THEN
+!
+!--       Compute center of domain and distance of camera from center
+          center(1) = ( clip_dvrp_l + clip_dvrp_r ) * 0.5 * superelevation_x
+          center(2) = ( clip_dvrp_s + clip_dvrp_n ) * 0.5 * superelevation_y
+          center(3) = ( zu(nz_do3d) - zu(nzb) ) * 0.5 * superelevation
+          distance  = 1.5 * MAX( (clip_dvrp_r-clip_dvrp_l) * superelevation_x, &
+                                 (clip_dvrp_n-clip_dvrp_s) * superelevation_y, &
+	                         ( zu(nz_do3d) - zu(nzb) ) * superelevation )
+
+!
+!--       Write camera position on file
+          CALL DVRP_INIT( m-1, 0 )
+
+!
+!--       Create filename for camera
+          IF ( dvrp_output == 'rtsp' )  THEN
+
+             dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) ) // '/camera.dvr'
+             dvrp_file_c = dvrp_file
+             CALL DVRP_OUTPUT_RTSP( m-1, dvrp_host_c, dvrp_username_c, &
+                                    dvrp_password_c, dvrp_directory_c, &
+                                    dvrp_file_c )
+
+          ELSEIF ( dvrp_output == 'ftp' )  THEN
+
+             dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) ) // '.camera.dvr'
+             dvrp_file_c = dvrp_file
+!             CALL DVRP_OUTPUT_FTP( m-1, 0, dvrp_host_c, dvrp_username_c, &
+!                                   dvrp_password_c, dvrp_directory_c,    &
+!                                   dvrp_file_c )
+
+          ELSE
+
+             IF ( dvrp_file(1:9) /= '/dev/null' )  THEN
+                dvrp_file_local   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                     // '.camera.dvr'
+                dvrp_file_local_c = dvrp_file_local
+             ELSE
+                dvrp_file_local_c = dvrp_file_c
+             ENDIF
+             CALL DVRP_OUTPUT_LOCAL( m-1, 0, dvrp_file_local_c )
+
+          ENDIF
+
+          CALL DVRP_CAMERA( m-1, center, distance )
+
+!
+!--       Define bounding box material and create a bounding box
+          tmp_r = 0.5;  tmp_g = 0.5;  tmp_b = 0.5;  tmp_t = 0.0
+          CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+          tmp_1 = 0.01;
+          tmp_2 = clip_dvrp_l * superelevation_x
+          tmp_3 = clip_dvrp_s * superelevation_y
+          tmp_4 = 0.0
+          tmp_5 = (clip_dvrp_r+dx) * superelevation_x
+          tmp_6 = (clip_dvrp_n+dy) * superelevation_y
+          tmp_7 = zu(nz_do3d) * superelevation
+          CALL DVRP_BOUNDINGBOX( m-1, 1, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, &
+                                 tmp_6, tmp_7 )
+
+          CALL DVRP_VISUALIZE( m-1, 0, 0 )
+          CALL DVRP_EXIT( m-1 )
+
+!
+!--       Write topography isosurface on file
+          IF ( TRIM( topography ) /= 'flat' )  THEN
+
+             CALL DVRP_INIT( m-1, 0 )
+
+!
+!--          Create filename for topography
+             IF ( dvrp_output == 'rtsp' )  THEN
+
+                dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                              // '/topography.dvr'
+                dvrp_file_c = dvrp_file
+                CALL DVRP_OUTPUT_RTSP( m-1, dvrp_host_c, dvrp_username_c, &
+                                       dvrp_password_c, dvrp_directory_c, &
+                                       dvrp_file_c )
+
+             ELSEIF ( dvrp_output == 'ftp' )  THEN
+
+                dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                              // '.topography.dvr'
+                dvrp_file_c = dvrp_file
+!                CALL DVRP_OUTPUT_FTP( m-1, 0, dvrp_host_c, dvrp_username_c, &
+!                                      dvrp_password_c, dvrp_directory_c,    &
+!                                      dvrp_file_c )
+
+             ELSE
+
+                IF ( dvrp_file(1:9) /= '/dev/null' )  THEN
+                   dvrp_file_local   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                                       // '.topography.dvr'
+                   dvrp_file_local_c = dvrp_file_local
+                ELSE
+                   dvrp_file_local_c = dvrp_file_c
+                ENDIF
+                CALL DVRP_OUTPUT_LOCAL( m-1, 0, dvrp_file_local_c )
+
+             ENDIF
+
+!
+!--          Determine local gridpoint coordinates
+             IF ( .NOT. allocated )  THEN
+                ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
+                          ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
+                          zcoor_dvrp(nzb:nz_do3d) )
+                allocated = .TRUE.
+
+                DO  i = nxl_dvrp, nxr_dvrp+1
+                   xcoor_dvrp(i) = i * dx * superelevation_x
+                ENDDO
+                DO  j = nys_dvrp, nyn_dvrp+1
+                   ycoor_dvrp(j) = j * dy * superelevation_y
+                ENDDO
+                zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
+                nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
+                ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
+                nz_dvrp    = nz_do3d - nzb + 1
+             ENDIF
+
+!
+!--          Define the grid used by dvrp
+             CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
+             CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, &
+                             ycoor_dvrp, zcoor_dvrp )
+
+             tmp_r = topography_color(1)
+             tmp_g = topography_color(2)
+             tmp_b = topography_color(3)
+             tmp_t = 0.0
+             CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+!
+!--          Compute and plot isosurface in dvr-format
+             ALLOCATE( local_pf(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1, &
+                                nzb:nz_do3d) )
+             local_pf = 0.0
+             IF ( dvrp_overlap )  THEN
+                DO  i = nxl_dvrp, nxr_dvrp+1
+                   DO  j = nys_dvrp, nyn_dvrp+1
+                      IF ( nzb_s_inner(j,i) > 0 )  THEN
+                         local_pf(i,j,nzb:nzb_s_inner(j,i)) = 1.0
+                      ENDIF
+                   ENDDO
+                ENDDO
+             ENDIF
+
+             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
+                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
+
+             tmp_th = 1.0
+             CALL DVRP_THRESHOLD( m-1, tmp_th )
+
+!
+!--          Reduce the number of polygones, if required
+             IF ( cluster_size > 1 )  THEN
+
+                cluster_size_x = cluster_size
+                cluster_size_y = cluster_size
+                cluster_size_z = cluster_size
+                cluster_mode     = 4    ! vertex clustering mode
+                gradient_normals = 0    ! use flat-shading
+
+                CALL DVRP_CLUSTER_SIZE( m-1, cluster_size_x, cluster_size_y, &
+                                        cluster_size_z )
+                CALL DVRP_CLUSTERING_MODE( m-1, cluster_mode )
+                CALL DVRP_GRADIENTNORMALS( m-1, gradient_normals )
+!
+!--             Set parameter for vertex clustering mode 4.
+!--             ATTENTION: A seperate procedure for setting cluster_alpha will
+!--                        be in the next version of libDVRP (Feb 09)
+                cluster_alpha = 38.0
+                CALL DVRP_THRESHOLD( -(m-1)-1, cluster_alpha )
+
+                CALL DVRP_VISUALIZE( m-1, 21, 0 )
+
+             ELSE
+!
+!--             No polygon reduction
+                CALL DVRP_VISUALIZE( m-1, 1, 0 )
+
+             ENDIF
+
+             DEALLOCATE( local_pf )
+
+             CALL DVRP_EXIT( m-1 )
+
+          ENDIF
+
+!
+!--       Write the ground plate (z=0) isosurface on file
+          CALL DVRP_INIT( m-1, 0 )
+
+!
+!--       Create filename for surface
+          IF ( dvrp_output == 'rtsp' )  THEN
+
+             dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) ) // &
+                           '/groundplate.dvr'
+             dvrp_file_c = dvrp_file
+             CALL DVRP_OUTPUT_RTSP( m-1, dvrp_host_c, dvrp_username_c, &
+                                    dvrp_password_c, dvrp_directory_c, &
+                                    dvrp_file_c )
+
+          ELSEIF ( dvrp_output == 'ftp' )  THEN
+
+             dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) ) // &
+                           '.groundplate.dvr'
+             dvrp_file_c = dvrp_file
+!             CALL DVRP_OUTPUT_FTP( m-1, 0, dvrp_host_c, dvrp_username_c, &
+!                                   dvrp_password_c, dvrp_directory_c,    &
+!                                   dvrp_file_c )
+
+          ELSE
+
+             IF ( dvrp_file(1:9) /= '/dev/null' )  THEN
+                dvrp_file_local   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                     // '.groundplate.dvr'
+                dvrp_file_local_c = dvrp_file_local
+             ELSE
+                dvrp_file_local_c = dvrp_file_c
+             ENDIF
+             CALL DVRP_OUTPUT_LOCAL( m-1, 0, dvrp_file_local_c )
+
+          ENDIF
+
+!
+!--       Determine local gridpoint coordinates
+          IF ( .NOT. allocated )  THEN
+             ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
+                       ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
+                       zcoor_dvrp(nzb:nz_do3d) )
+             allocated = .TRUE.
+
+             DO  i = nxl_dvrp, nxr_dvrp+1
+                xcoor_dvrp(i) = i * dx * superelevation_x
+             ENDDO
+             DO  j = nys_dvrp, nyn_dvrp+1
+                ycoor_dvrp(j) = j * dy * superelevation_y
+             ENDDO
+             zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
+             nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
+             ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
+             nz_dvrp    = nz_do3d - nzb + 1
+          ENDIF
+
+!
+!--       Define the grid used by dvrp
+          CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
+          CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, &
+                          ycoor_dvrp, zcoor_dvrp )
+
+          tmp_r = groundplate_color(1)
+          tmp_g = groundplate_color(2)
+          tmp_b = groundplate_color(3)
+          tmp_t = 0.0
+          CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
+
+!
+!--       Compute and plot isosurface in dvr-format
+          ALLOCATE( local_pf(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1, &
+                             nzb:nz_do3d) )
+          local_pf = 0.0
+          IF (dvrp_overlap )  local_pf(:,:,0) = 1.0
+
+          CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
+                          cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
+          tmp_th = 1.0
+          CALL DVRP_THRESHOLD( m-1, tmp_th )
+
+!
+!--       Always reduce the number of polygones as much as possible
+          cluster_size_x = 5
+          cluster_size_y = 5
+          cluster_size_z = 5
+          cluster_mode     = 4    ! vertex clustering mode
+          gradient_normals = 0    ! use flat-shading
+
+          CALL DVRP_CLUSTER_SIZE( m-1, cluster_size_x, cluster_size_y, &
+                                  cluster_size_z )
+          CALL DVRP_CLUSTERING_MODE( m-1, cluster_mode )
+          CALL DVRP_GRADIENTNORMALS( m-1, gradient_normals )
+!
+!--       Set parameter for vertex clustering mode 4.
+!--       ATTENTION: A seperate procedure for setting cluster_alpha will be in
+!--                  the next version of libDVRP (Feb 09)
+          cluster_alpha = 38.0
+          CALL DVRP_THRESHOLD( -(m-1)-1, cluster_alpha )
+
+          CALL DVRP_VISUALIZE( m-1, 21, 0 )
+
+          DEALLOCATE( local_pf )
+
+          CALL DVRP_EXIT( m-1 )
+    
+!       ENDIF
+
+
+!
+!--    Initialize dvrp for all dvrp-calls during the run
+       CALL DVRP_INIT( m-1, 0 )
+
+!
+!--    Preliminary definition of filename for dvrp-output
+       IF ( dvrp_output == 'rtsp' )  THEN
+
+!
+!--       First initialize parameters for possible interactive steering.
+!--       Every parameter has to be passed to the respective stream.
+          pn = 1
+!
+!--       Initialize threshold counter needed for initialization of the
+!--       isosurface steering variables
+          tv = 0
+
+          DO WHILE ( mode_dvrp(pn) /= ' ' )
+
+             IF ( mode_dvrp(pn)(1:10) == 'isosurface' )  THEN
+
+                READ ( mode_dvrp(pn), '(10X,I2)' )  vn
+                steering_dvrp(pn)%name = do3d(0,vn)
+                tv = tv + 1
+
+                IF ( do3d(0,vn)(1:1) == 'w' )  THEN
+                   steering_dvrp(pn)%min  = -4.0
+                   steering_dvrp(pn)%max  =  5.0
+                ELSE
+                   steering_dvrp(pn)%min  = 288.0
+                   steering_dvrp(pn)%max  = 292.0
+                ENDIF
+
+                name_c  = TRIM( do3d(0,vn) )
+                tmp_thr = threshold(tv)
+                CALL DVRP_STEERING_INIT( m-1, name_c, steering_dvrp(pn)%min, &
+                                         steering_dvrp(pn)%max, tmp_thr )
+
+             ELSEIF ( mode_dvrp(pn)(1:6) == 'slicer' )  THEN
+
+                READ ( mode_dvrp(pn), '(6X,I2)' )  vn
+                steering_dvrp(pn)%name = do2d(0,vn)
+                name_c = TRIM( do2d(0,vn) )
+
+                l = MAX( 2, LEN_TRIM( do2d(0,vn) ) )
+                section_chr = do2d(0,vn)(l-1:l)
+                SELECT CASE ( section_chr )
+                   CASE ( 'xy' )
+                      steering_dvrp(pn)%imin   = 0
+                      steering_dvrp(pn)%imax   = nz_do3d
+                      slicer_position_dvrp(pn) = section(1,1)
+                      CALL DVRP_STEERING_INIT( m-1, name_c,            &
+                                               steering_dvrp(pn)%imin, &
+                                               steering_dvrp(pn)%imax, &
+                                               slicer_position_dvrp(pn) )
+                   CASE ( 'xz' )
+                      steering_dvrp(pn)%imin   = 0
+                      steering_dvrp(pn)%imax   = ny
+                      slicer_position_dvrp(pn) = section(1,2)
+                      CALL DVRP_STEERING_INIT( m-1, name_c,            &
+                                               steering_dvrp(pn)%imin, &
+                                               steering_dvrp(pn)%imax, &
+                                               slicer_position_dvrp(pn) )
+                   CASE ( 'yz' )
+                      steering_dvrp(pn)%imin = 0
+                      steering_dvrp(pn)%imax = nx
+                      slicer_position_dvrp(pn) = section(1,3)
+                      CALL DVRP_STEERING_INIT( m-1, name_c,            &
+                                               steering_dvrp(pn)%imin, &
+                                               steering_dvrp(pn)%imax, &
+                                               slicer_position_dvrp(pn) )
+                END SELECT
+
+             ENDIF
+
+             pn = pn + 1
+
+          ENDDO
+
+          dvrp_file = prefix_chr // TRIM( mode_dvrp(m) ) // '/*****.dvr'
+          dvrp_file_c = dvrp_file
+          CALL DVRP_OUTPUT_RTSP( m-1, dvrp_host_c, dvrp_username_c, &
+                                 dvrp_password_c, dvrp_directory_c, &
+                                 dvrp_file_c )
+
+       ELSEIF ( dvrp_output == 'ftp' )  THEN
+
+          dvrp_file   = prefix_chr // TRIM( mode_dvrp(m) ) // '.%05d.dvr'
+          dvrp_file_c = dvrp_file
+!          CALL DVRP_OUTPUT_FTP( m-1, 0, dvrp_host_c, dvrp_username_c, &
+!                                dvrp_password_c, dvrp_directory_c, dvrp_file_c )
+
+       ELSE
+
+          IF ( dvrp_file(1:9) /= '/dev/null' )  THEN
+             dvrp_file_local   = prefix_chr // TRIM( mode_dvrp(m) )  &
+                  // '_%05d.dvr'
+             dvrp_file_local_c = dvrp_file_local
+          ELSE
+             dvrp_file_local_c = dvrp_file_c
+          ENDIF
+          CALL DVRP_OUTPUT_LOCAL( m-1, 0, dvrp_file_local_c )
+
+       ENDIF
+
+!
+!--    Determine local gridpoint coordinates
+       IF ( .NOT. allocated )  THEN
+          ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
+                    ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
+                    zcoor_dvrp(nzb:nz_do3d) )
+          allocated = .TRUE.
+
+          DO  i = nxl_dvrp, nxr_dvrp+1
+             xcoor_dvrp(i) = i * dx * superelevation_x
+          ENDDO
+          DO  j = nys_dvrp, nyn_dvrp+1
+             ycoor_dvrp(j) = j * dy * superelevation_y
+          ENDDO
+          zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
+          nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
+          ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
+          nz_dvrp    = nz_do3d - nzb + 1
+       ENDIF
+
+!
+!--    Define the grid used by dvrp
+       IF ( mode_dvrp(m) /= 'pathlines' )  THEN
+          CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
+       ENDIF
+       CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, ycoor_dvrp, &
+                       zcoor_dvrp )
+
+       IF ( mode_dvrp(m) == 'pathlines' )  THEN
+
+          tmp_x1 = 0.0;  tmp_y1 = 0.0;  tmp_z1 = 0.0
+          tmp_x2 = 1.0;  tmp_y2 = 1.0;  tmp_z2 = 0.3
+          CALL DVRP_CUBIC_SEEDING( m-1, tmp_x1, tmp_y1, tmp_z1, tmp_x2, tmp_y2,&
+                                   tmp_z2, pathlines_linecount, 2, 0 )
+!
+!--       Set wavecount and wavetime
+          CALL DVRP_PATHLINES_BEHAVIOUR_WAVE( m-1, pathlines_wavecount, &
+                                              pathlines_wavetime,       &
+                                              pathlines_fadeintime,     &
+                                              pathlines_fadeouttime )
+!
+!--       Set pathline length
+          CALL DVRP_PATHLINES_SETMAXHISTORY( m-1, pathlines_maxhistory )
+          CALL DVRP_PATHLINES_SETFADING( m-1, 1, 0.0 )
+
+          CALL DVRP_INIT_PATHLINES( m-1, 0 )
+
+       ENDIF
+
+       IF ( mode_dvrp(m)(1:9) == 'particles' )  THEN
+!
+!--       Define a default colourtable for particles
+          DO  i = 1, 11
+             interval_values_dvrp_prt(1,i) = i - 1.0
+             interval_values_dvrp_prt(2,i) = REAL( i )
+             interval_h_dvrp_prt(:,i) = 270.0 - ( i - 1.0 ) * 9.0
+          ENDDO
+
+          DO  i = 12, 22
+             interval_values_dvrp_prt(1,i) = i - 1.0
+             interval_values_dvrp_prt(2,i) = REAL( i )
+             interval_h_dvrp_prt(:,i) = 70.0 - ( i - 12.0 ) * 9.5
+          ENDDO
+
+          dvrp_colortable_entries_prt = 22
+
+       ENDIF
+
+       m = m + 1
+
+    ENDDO
+
+#endif
+ END SUBROUTINE init_dvrp
+
+ 
+ SUBROUTINE init_dvrp_logging
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Initializes logging events for time measurement with dvrp software
+! and splits one PE from the global communicator in case that dvrp output
+! shall be done by one single PE.
+!------------------------------------------------------------------------------!
+#if defined( __dvrp_graphics )
+
+    USE control_parameters
+    USE dvrp_variables
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=4) ::  chr
+    INTEGER           ::  idummy
+
+!
+!-- Initialize logging of calls by DVRP graphic software
+    CALL DVRP_LOG_INIT( 'DVRP_LOG' // CHAR( 0 ), 0 )
+
+!
+!-- User-defined logging events: #1 (total time needed by PALM)
+    CALL DVRP_LOG_SYMBOL( 1, 'PALM_total' // CHAR( 0 ) )
+    CALL DVRP_LOG_SYMBOL( 2, 'PALM_timestep' // CHAR( 0 ) )
+    CALL DVRP_LOG_EVENT( 1, 1 )
+
+#if defined( __parallel )
+!
+!-- Find out, if dvrp output shall be done by a dedicated PE
+    CALL local_getenv( 'use_seperate_pe_for_dvrp_output', 31, chr, idummy )
+    IF ( chr == 'true' )  THEN
+
+       use_seperate_pe_for_dvrp_output = .TRUE.
+
+!
+!--    Adjustment for new MPI-1 coupling. This might be unnecessary.
+#if defined( __mpi2 )
+       CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm )
+#else
+       IF ( coupling_mode /= 'uncoupled' ) THEN
+          message_string = 'split of communicator not realized with' // &
+                          ' MPI1 coupling atmosphere-ocean'
+          CALL message( 'init_dvrp_logging', 'PA0199', 1, 2, 0, 6, 0 )
+ 
+          CALL DVRP_SPLIT( comm_inter, comm_palm )
+       ELSE
+          CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm )
+       ENDIF
+#endif
+
+       CALL MPI_COMM_SIZE( comm_palm, numprocs, ierr )
+
+    ENDIF
+#endif
+
+#endif
+ END SUBROUTINE init_dvrp_logging
+
+
+ SUBROUTINE close_dvrp
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Exit of dvrp software and finish dvrp logging
+!------------------------------------------------------------------------------!
+#if defined( __dvrp_graphics )
+
+    USE control_parameters
+    USE dvrp
+    USE dvrp_variables
+
+    INTEGER ::  m
+
+!
+!-- If required, close dvrp-software and logging of dvrp-calls
+    IF ( dt_dvrp /= 9999999.9 )  THEN
+       m = 1
+       DO WHILE ( mode_dvrp(m) /= ' ' )
+          CALL DVRP_EXIT( m-1 )
+          m = m + 1
+       ENDDO
+       CALL DVRP_LOG_EVENT( -1, 1 )   ! Logging of total cpu-time used by PALM
+       IF ( use_seperate_pe_for_dvrp_output )  THEN
+#ifndef __nec
+          CALL DVRP_SPLIT_EXIT( 1 )      ! Argument 0: reduced output
+#endif
+       ELSE
+          CALL DVRP_LOG_EXIT( 1 )        ! Argument 0: reduced output
+       ENDIF
+    ENDIF
+
+#endif
+ END SUBROUTINE close_dvrp
Index: palm/tags/release-3.7/SOURCE/init_grid.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_grid.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_grid.f90	(revision 393)
@@ -0,0 +1,1100 @@
+ SUBROUTINE init_grid
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+! new topography case 'single_street_canyon'
+!
+! 217 2008-12-09 18:00:48Z letzel
+! +topography_grid_convention
+!
+! 134 2007-11-21 07:28:38Z letzel
+! Redefine initial nzb_local as the actual total size of topography (later the 
+! extent of topography in nzb_local is reduced by 1dx at the E topography walls 
+! and by 1dy at the N topography walls to form the basis for nzb_s_inner); 
+! for consistency redefine 'single_building' case.
+! Calculation of wall flag arrays
+!
+! 94 2007-06-01 15:25:22Z raasch
+! Grid definition for ocean version
+!
+! 75 2007-03-22 09:54:05Z raasch
+! storage of topography height arrays zu_s_inner and zw_s_inner,
+! 2nd+3rd argument removed from exchange horiz
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Setting of nzt_diff
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.17  2006/08/22 14:00:05  raasch
+! +dz_max to limit vertical stretching,
+! bugfix in index array initialization for line- or point-like topography
+! structures
+!
+! Revision 1.1  1997/08/11 06:17:45  raasch
+! Initial revision (Testversion)
+!
+!
+! Description:
+! ------------
+! Creating grid depending constants
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  bh, blx, bly, bxl, bxr, byn, bys, ch, cwx, cwy, cxl, cxr, cyn, &
+                cys, gls, i, inc, i_center, j, j_center, k, l, nxl_l, nxr_l, &
+                nyn_l, nys_l, nzb_si, nzt_l, vi
+
+    INTEGER, DIMENSION(:), ALLOCATABLE   ::  vertical_influence
+
+    INTEGER, DIMENSION(:,:), ALLOCATABLE ::  corner_nl, corner_nr, corner_sl,  &
+                                             corner_sr, wall_l, wall_n, wall_r,&
+                                             wall_s, nzb_local, nzb_tmp
+
+    REAL    ::  dx_l, dy_l, dz_stretched
+
+    REAL, DIMENSION(0:ny,0:nx)          ::  topo_height
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  distance
+
+!
+!-- Allocate grid arrays
+    ALLOCATE( ddzu(1:nzt+1), ddzw(1:nzt+1), dd2zu(1:nzt), dzu(1:nzt+1), &
+              dzw(1:nzt+1), l_grid(1:nzt), zu(0:nzt+1), zw(0:nzt+1) )
+
+!
+!-- Compute height of u-levels from constant grid length and dz stretch factors
+    IF ( dz == -1.0 )  THEN
+       message_string = 'missing dz'
+       CALL message( 'init_grid', 'PA0200', 1, 2, 0, 6, 0 ) 
+    ELSEIF ( dz <= 0.0 )  THEN
+       WRITE( message_string, * ) 'dz=',dz,' <= 0.0'
+       CALL message( 'init_grid', 'PA0201', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Define the vertical grid levels
+    IF ( .NOT. ocean )  THEN
+!
+!--    Grid for atmosphere with surface at z=0 (k=0, w-grid).
+!--    Since the w-level lies on the surface, the first u-level (staggered!)
+!--    lies below the surface (used for "mirror" boundary condition).
+!--    The first u-level above the surface corresponds to the top of the 
+!--    Prandtl-layer.
+       zu(0) = - dz * 0.5
+       zu(1) =   dz * 0.5
+
+       dz_stretch_level_index = nzt+1
+       dz_stretched = dz
+       DO  k = 2, nzt+1
+          IF ( dz_stretch_level <= zu(k-1)  .AND.  dz_stretched < dz_max )  THEN
+             dz_stretched = dz_stretched * dz_stretch_factor
+             dz_stretched = MIN( dz_stretched, dz_max )
+             IF ( dz_stretch_level_index == nzt+1 ) dz_stretch_level_index = k-1
+          ENDIF
+          zu(k) = zu(k-1) + dz_stretched
+       ENDDO
+
+!
+!--    Compute the w-levels. They are always staggered half-way between the 
+!--    corresponding u-levels. The top w-level is extrapolated linearly.
+       zw(0) = 0.0
+       DO  k = 1, nzt
+          zw(k) = ( zu(k) + zu(k+1) ) * 0.5
+       ENDDO
+       zw(nzt+1) = zw(nzt) + 2.0 * ( zu(nzt+1) - zw(nzt) )
+
+    ELSE
+!
+!--    Grid for ocean with solid surface at z=0 (k=0, w-grid). The free water
+!--    surface is at k=nzt (w-grid).
+!--    Since the w-level lies always on the surface, the first/last u-level
+!--    (staggered!) lies below the bottom surface / above the free surface.
+!--    It is used for "mirror" boundary condition.
+!--    The first u-level above the bottom surface corresponds to the top of the 
+!--    Prandtl-layer.
+       zu(nzt+1) =   dz * 0.5
+       zu(nzt)   = - dz * 0.5
+
+       dz_stretch_level_index = 0
+       dz_stretched = dz
+       DO  k = nzt-1, 0, -1
+          IF ( dz_stretch_level <= ABS( zu(k+1) )  .AND.  &
+               dz_stretched < dz_max )  THEN
+             dz_stretched = dz_stretched * dz_stretch_factor
+             dz_stretched = MIN( dz_stretched, dz_max )
+             IF ( dz_stretch_level_index == 0 ) dz_stretch_level_index = k+1
+          ENDIF
+          zu(k) = zu(k+1) - dz_stretched
+       ENDDO
+
+!
+!--    Compute the w-levels. They are always staggered half-way between the 
+!--    corresponding u-levels.
+!--    The top w-level (nzt+1) is not used but set for consistency, since
+!--    w and all scalar variables are defined up tp nzt+1.
+       zw(nzt+1) = dz
+       zw(nzt)   = 0.0
+       DO  k = 0, nzt
+          zw(k) = ( zu(k) + zu(k+1) ) * 0.5
+       ENDDO
+
+    ENDIF
+
+!
+!-- Compute grid lengths.
+    DO  k = 1, nzt+1
+       dzu(k)  = zu(k) - zu(k-1)
+       ddzu(k) = 1.0 / dzu(k)
+       dzw(k)  = zw(k) - zw(k-1)
+       ddzw(k) = 1.0 / dzw(k)
+    ENDDO
+
+    DO  k = 1, nzt
+       dd2zu(k) = 1.0 / ( dzu(k) + dzu(k+1) )
+    ENDDO
+
+!
+!-- In case of multigrid method, compute grid lengths and grid factors for the
+!-- grid levels
+    IF ( psolver == 'multigrid' )  THEN
+
+       ALLOCATE( ddx2_mg(maximum_grid_level), ddy2_mg(maximum_grid_level), &
+                 dzu_mg(nzb+1:nzt+1,maximum_grid_level),                   &
+                 dzw_mg(nzb+1:nzt+1,maximum_grid_level),                   &
+                 f1_mg(nzb+1:nzt,maximum_grid_level),                      &
+                 f2_mg(nzb+1:nzt,maximum_grid_level),                      &
+                 f3_mg(nzb+1:nzt,maximum_grid_level) )
+
+       dzu_mg(:,maximum_grid_level) = dzu
+       dzw_mg(:,maximum_grid_level) = dzw
+       nzt_l = nzt
+       DO  l = maximum_grid_level-1, 1, -1
+           dzu_mg(nzb+1,l) = 2.0 * dzu_mg(nzb+1,l+1)
+           dzw_mg(nzb+1,l) = 2.0 * dzw_mg(nzb+1,l+1)
+           nzt_l = nzt_l / 2
+           DO  k = 2, nzt_l+1
+              dzu_mg(k,l) = dzu_mg(2*k-2,l+1) + dzu_mg(2*k-1,l+1)
+              dzw_mg(k,l) = dzw_mg(2*k-2,l+1) + dzw_mg(2*k-1,l+1)
+           ENDDO
+       ENDDO
+
+       nzt_l = nzt
+       dx_l  = dx
+       dy_l  = dy
+       DO  l = maximum_grid_level, 1, -1
+          ddx2_mg(l) = 1.0 / dx_l**2
+          ddy2_mg(l) = 1.0 / dy_l**2
+          DO  k = nzb+1, nzt_l
+             f2_mg(k,l) = 1.0 / ( dzu_mg(k+1,l) * dzw_mg(k,l) )
+             f3_mg(k,l) = 1.0 / ( dzu_mg(k,l)   * dzw_mg(k,l) )
+             f1_mg(k,l) = 2.0 * ( ddx2_mg(l) + ddy2_mg(l) ) + &
+                          f2_mg(k,l) + f3_mg(k,l)
+          ENDDO
+          nzt_l = nzt_l / 2
+          dx_l  = dx_l * 2.0
+          dy_l  = dy_l * 2.0
+       ENDDO
+
+    ENDIF
+
+!
+!-- Compute the reciprocal values of the horizontal grid lengths.
+    ddx = 1.0 / dx
+    ddy = 1.0 / dy
+    dx2 = dx * dx
+    dy2 = dy * dy
+    ddx2 = 1.0 / dx2
+    ddy2 = 1.0 / dy2
+
+!
+!-- Compute the grid-dependent mixing length.
+    DO  k = 1, nzt
+       l_grid(k)  = ( dx * dy * dzw(k) )**0.33333333333333
+    ENDDO
+
+!
+!-- Allocate outer and inner index arrays for topography and set
+!-- defaults.
+!-- nzb_local has to contain additional layers of ghost points for calculating
+!-- the flag arrays needed for the multigrid method
+    gls = 2**( maximum_grid_level )
+    ALLOCATE( corner_nl(nys:nyn,nxl:nxr), corner_nr(nys:nyn,nxl:nxr),       &
+              corner_sl(nys:nyn,nxl:nxr), corner_sr(nys:nyn,nxl:nxr),       &
+              nzb_local(-gls:ny+gls,-gls:nx+gls), nzb_tmp(-1:ny+1,-1:nx+1), &
+              wall_l(nys:nyn,nxl:nxr), wall_n(nys:nyn,nxl:nxr),             &
+              wall_r(nys:nyn,nxl:nxr), wall_s(nys:nyn,nxl:nxr) )
+    ALLOCATE( fwxm(nys-1:nyn+1,nxl-1:nxr+1), fwxp(nys-1:nyn+1,nxl-1:nxr+1), &
+              fwym(nys-1:nyn+1,nxl-1:nxr+1), fwyp(nys-1:nyn+1,nxl-1:nxr+1), &
+              fxm(nys-1:nyn+1,nxl-1:nxr+1), fxp(nys-1:nyn+1,nxl-1:nxr+1),   &
+              fym(nys-1:nyn+1,nxl-1:nxr+1), fyp(nys-1:nyn+1,nxl-1:nxr+1),   &
+              nzb_s_inner(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_s_outer(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_u_inner(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_u_outer(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_v_inner(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_v_outer(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_w_inner(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_w_outer(nys-1:nyn+1,nxl-1:nxr+1),                         &
+              nzb_diff_s_inner(nys-1:nyn+1,nxl-1:nxr+1),                    &
+              nzb_diff_s_outer(nys-1:nyn+1,nxl-1:nxr+1),                    &
+              nzb_diff_u(nys-1:nyn+1,nxl-1:nxr+1),                          &
+              nzb_diff_v(nys-1:nyn+1,nxl-1:nxr+1),                          &
+              nzb_2d(nys-1:nyn+1,nxl-1:nxr+1),                              &
+              wall_e_x(nys-1:nyn+1,nxl-1:nxr+1),                            &
+              wall_e_y(nys-1:nyn+1,nxl-1:nxr+1),                            &
+              wall_u(nys-1:nyn+1,nxl-1:nxr+1),                              &
+              wall_v(nys-1:nyn+1,nxl-1:nxr+1),                              &
+              wall_w_x(nys-1:nyn+1,nxl-1:nxr+1),                            &
+              wall_w_y(nys-1:nyn+1,nxl-1:nxr+1) )
+
+    ALLOCATE( l_wall(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+    nzb_s_inner = nzb;  nzb_s_outer = nzb
+    nzb_u_inner = nzb;  nzb_u_outer = nzb
+    nzb_v_inner = nzb;  nzb_v_outer = nzb
+    nzb_w_inner = nzb;  nzb_w_outer = nzb
+
+!
+!-- Define vertical gridpoint from (or to) which on the usual finite difference
+!-- form (which does not use surface fluxes) is applied 
+    IF ( prandtl_layer  .OR.  use_surface_fluxes )  THEN
+       nzb_diff = nzb + 2
+    ELSE
+       nzb_diff = nzb + 1
+    ENDIF
+    IF ( use_top_fluxes )  THEN
+       nzt_diff = nzt - 1
+    ELSE
+       nzt_diff = nzt
+    ENDIF
+
+    nzb_diff_s_inner = nzb_diff;  nzb_diff_s_outer = nzb_diff
+    nzb_diff_u = nzb_diff;  nzb_diff_v = nzb_diff
+
+    wall_e_x = 0.0;  wall_e_y = 0.0;  wall_u = 0.0;  wall_v = 0.0
+    wall_w_x = 0.0;  wall_w_y = 0.0
+    fwxp = 1.0;  fwxm = 1.0;  fwyp = 1.0;  fwym = 1.0
+    fxp  = 1.0;  fxm  = 1.0;  fyp  = 1.0;  fym  = 1.0
+
+!
+!-- Initialize near-wall mixing length l_wall only in the vertical direction
+!-- for the moment,
+!-- multiplication with wall_adjustment_factor near the end of this routine
+    l_wall(nzb,:,:)   = l_grid(1)
+    DO  k = nzb+1, nzt
+       l_wall(k,:,:)  = l_grid(k)
+    ENDDO
+    l_wall(nzt+1,:,:) = l_grid(nzt)
+
+    ALLOCATE ( vertical_influence(nzb:nzt) )
+    DO  k = 1, nzt
+       vertical_influence(k) = MIN ( INT( l_grid(k) / &
+                     ( wall_adjustment_factor * dzw(k) ) + 0.5 ), nzt - k )
+    ENDDO
+
+    DO  k = 1, MAXVAL( nzb_s_inner )
+       IF ( l_grid(k) > 1.5 * dx * wall_adjustment_factor .OR.  &
+            l_grid(k) > 1.5 * dy * wall_adjustment_factor )  THEN
+          WRITE( message_string, * ) 'grid anisotropy exceeds ', &
+                                     'threshold given by only local', &
+                                     ' &horizontal reduction of near_wall ', &
+                                     'mixing length l_wall', &
+                                     ' &starting from height level k = ', k, '.'
+          CALL message( 'init_grid', 'PA0202', 0, 1, 0, 6, 0 )
+          EXIT
+       ENDIF
+    ENDDO
+    vertical_influence(0) = vertical_influence(1)
+
+    DO  i = nxl-1, nxr+1
+       DO  j = nys-1, nyn+1
+          DO  k = nzb_s_inner(j,i) + 1, &
+                  nzb_s_inner(j,i) + vertical_influence(nzb_s_inner(j,i))
+             l_wall(k,j,i) = zu(k) - zw(nzb_s_inner(j,i))
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Set outer and inner index arrays for non-flat topography.
+!-- Here consistency checks concerning domain size and periodicity are
+!-- necessary.
+!-- Within this SELECT CASE structure only nzb_local is initialized
+!-- individually depending on the chosen topography type, all other index 
+!-- arrays are initialized further below.
+    SELECT CASE ( TRIM( topography ) )
+
+       CASE ( 'flat' )
+!
+!--       No actions necessary
+
+       CASE ( 'single_building' )
+!
+!--       Single rectangular building, by default centered in the middle of the
+!--       total domain
+          blx = NINT( building_length_x / dx )
+          bly = NINT( building_length_y / dy )
+          bh  = NINT( building_height / dz )
+
+          IF ( building_wall_left == 9999999.9 )  THEN
+             building_wall_left = ( nx + 1 - blx ) / 2 * dx
+          ENDIF
+          bxl = NINT( building_wall_left / dx )
+          bxr = bxl + blx
+
+          IF ( building_wall_south == 9999999.9 )  THEN
+             building_wall_south = ( ny + 1 - bly ) / 2 * dy
+          ENDIF
+          bys = NINT( building_wall_south / dy )
+          byn = bys + bly
+
+!
+!--       Building size has to meet some requirements
+          IF ( ( bxl < 1 ) .OR. ( bxr > nx-1 ) .OR. ( bxr < bxl+3 ) .OR.  &
+               ( bys < 1 ) .OR. ( byn > ny-1 ) .OR. ( byn < bys+3 ) )  THEN
+             WRITE( message_string, * ) 'inconsistent building parameters:',   &
+                                      '& bxl=', bxl, 'bxr=', bxr, 'bys=', bys, &
+                                      'byn=', byn, 'nx=', nx, 'ny=', ny
+             CALL message( 'init_grid', 'PA0203', 1, 2, 0, 6, 0 )
+          ENDIF
+
+!
+!--       Define the building.
+          nzb_local = 0
+          nzb_local(bys:byn,bxl:bxr) = bh
+
+       CASE ( 'single_street_canyon' )
+!
+!--       Single quasi-2D street canyon of infinite length in x or y direction.
+!--       The canyon is centered in the other direction by default.
+          IF ( canyon_width_x /= 9999999.9 )  THEN
+!
+!--          Street canyon in y direction
+             cwx = NINT( canyon_width_x / dx )
+             IF ( canyon_wall_left == 9999999.9 )  THEN
+                canyon_wall_left = ( nx + 1 - cwx ) / 2 * dx
+             ENDIF
+             cxl = NINT( canyon_wall_left / dx )
+             cxr = cxl + cwx
+
+          ELSEIF ( canyon_width_y /= 9999999.9 )  THEN
+!
+!--          Street canyon in x direction
+             cwy = NINT( canyon_width_y / dy )
+             IF ( canyon_wall_south == 9999999.9 )  THEN
+                canyon_wall_south = ( ny + 1 - cwy ) / 2 * dy
+             ENDIF
+             cys = NINT( canyon_wall_south / dy )
+             cyn = cys + cwy
+
+          ELSE
+             
+             message_string = 'no street canyon width given'
+             CALL message( 'init_grid', 'PA0204', 1, 2, 0, 6, 0 )
+  
+          ENDIF
+
+          ch             = NINT( canyon_height / dz )
+          dp_level_ind_b = ch
+!
+!--       Street canyon size has to meet some requirements
+          IF ( canyon_width_x /= 9999999.9 )  THEN
+             IF ( ( cxl < 1 ) .OR. ( cxr > nx-1 ) .OR. ( cwx < 3 ) .OR.  &
+               ( ch < 3 ) )  THEN
+                WRITE( message_string, * ) 'inconsistent canyon parameters:', &
+                                           '&cxl=', cxl, 'cxr=', cxr,         &
+                                           'cwx=', cwx,                       &
+                                           'ch=', ch, 'nx=', nx, 'ny=', ny
+                CALL message( 'init_grid', 'PA0205', 1, 2, 0, 6, 0 ) 
+             ENDIF
+          ELSEIF ( canyon_width_y /= 9999999.9 )  THEN
+             IF ( ( cys < 1 ) .OR. ( cyn > ny-1 ) .OR. ( cwy < 3 ) .OR.  &
+               ( ch < 3 ) )  THEN
+                WRITE( message_string, * ) 'inconsistent canyon parameters:', &
+                                           '&cys=', cys, 'cyn=', cyn,         &
+                                           'cwy=', cwy,                       &
+                                           'ch=', ch, 'nx=', nx, 'ny=', ny
+                CALL message( 'init_grid', 'PA0206', 1, 2, 0, 6, 0 ) 
+             ENDIF
+          ENDIF
+          IF ( canyon_width_x /= 9999999.9 .AND. canyon_width_y /= 9999999.9 ) &
+               THEN
+             message_string = 'inconsistent canyon parameters:' //     &  
+                              '&street canyon can only be oriented' // &
+                              '&either in x- or in y-direction'
+             CALL message( 'init_grid', 'PA0207', 1, 2, 0, 6, 0 )
+          ENDIF
+
+          nzb_local = ch
+          IF ( canyon_width_x /= 9999999.9 )  THEN
+             nzb_local(:,cxl+1:cxr-1) = 0
+          ELSEIF ( canyon_width_y /= 9999999.9 )  THEN
+             nzb_local(cys+1:cyn-1,:) = 0
+          ENDIF
+
+       CASE ( 'read_from_file' )
+!
+!--       Arbitrary irregular topography data in PALM format (exactly matching
+!--       the grid size and total domain size)
+          OPEN( 90, FILE='TOPOGRAPHY_DATA', STATUS='OLD', FORM='FORMATTED',  &
+               ERR=10 )
+          DO  j = ny, 0, -1
+             READ( 90, *, ERR=11, END=11 )  ( topo_height(j,i), i = 0, nx )
+          ENDDO
+!
+!--       Calculate the index height of the topography
+          DO  i = 0, nx
+             DO  j = 0, ny
+                nzb_local(j,i) = NINT( topo_height(j,i) / dz )
+             ENDDO
+          ENDDO
+!
+!--       Add cyclic boundaries (additional layers are for calculating flag
+!--       arrays needed for the multigrid sover)
+          nzb_local(-gls:-1,0:nx)     = nzb_local(ny-gls+1:ny,0:nx)
+          nzb_local(ny+1:ny+gls,0:nx) = nzb_local(0:gls-1,0:nx)
+          nzb_local(:,-gls:-1)        = nzb_local(:,nx-gls+1:nx)
+          nzb_local(:,nx+1:nx+gls)    = nzb_local(:,0:gls-1)
+      
+          GOTO 12
+          
+ 10       message_string = 'file TOPOGRAPHY_DATA does not exist'
+          CALL message( 'init_grid', 'PA0208', 1, 2, 0, 6, 0 )
+
+ 11       message_string = 'errors in file TOPOGRAPHY_DATA'
+          CALL message( 'init_grid', 'PA0209', 1, 2, 0, 6, 0 )
+
+ 12       CLOSE( 90 )
+
+       CASE DEFAULT
+!
+!--       The DEFAULT case is reached either if the parameter topography
+!--       contains a wrong character string or if the user has defined a special
+!--       case in the user interface. There, the subroutine user_init_grid 
+!--       checks which of these two conditions applies.
+          CALL user_init_grid( gls, nzb_local )
+
+    END SELECT
+
+!
+!-- Test output of nzb_local -1:ny+1,-1:nx+1
+!    WRITE (9,*)  '*** nzb_local ***'
+!    DO  j = ny+1, -1, -1
+!       WRITE (9,'(194(1X,I2))')  ( nzb_local(j,i), i = -1, nx+1 )
+!    ENDDO
+
+!
+!-- Consistency checks and index array initialization are only required for
+!-- non-flat topography, also the initialization of topography height arrays
+!-- zu_s_inner and zw_w_inner
+    IF ( TRIM( topography ) /= 'flat' )  THEN
+
+!
+!--    Consistency checks
+       IF ( MINVAL( nzb_local ) < 0  .OR.  MAXVAL( nzb_local ) > nz + 1 )  THEN
+          WRITE( message_string, * ) 'nzb_local values are outside the',      &
+                                'model domain',                               &
+                                '&MINVAL( nzb_local ) = ', MINVAL(nzb_local), &
+                                '&MAXVAL( nzb_local ) = ', MAXVAL(nzb_local)
+          CALL message( 'init_grid', 'PA0210', 1, 2, 0, 6, 0 )
+       ENDIF
+
+       IF ( bc_lr == 'cyclic' )  THEN
+          IF ( ANY( nzb_local(:,-1) /= nzb_local(:,nx)   )  .OR. &
+               ANY( nzb_local(:,0)  /= nzb_local(:,nx+1) ) )  THEN
+             message_string = 'nzb_local does not fulfill cyclic' // &
+                              ' boundary condition in x-direction'
+             CALL message( 'init_grid', 'PA0211', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+       IF ( bc_ns == 'cyclic' )  THEN
+          IF ( ANY( nzb_local(-1,:) /= nzb_local(ny,:)   )  .OR. &
+               ANY( nzb_local(0,:)  /= nzb_local(ny+1,:) ) )  THEN
+             message_string = 'nzb_local does not fulfill cyclic' // &
+                              ' boundary condition in y-direction'
+             CALL message( 'init_grid', 'PA0212', 1, 2, 0, 6, 0 )
+          ENDIF
+       ENDIF
+
+       IF ( topography_grid_convention == 'cell_edge' )  THEN
+! 
+!--       The array nzb_local as defined using the 'cell_edge' convention 
+!--       describes the actual total size of topography which is defined at the 
+!--       cell edges where u=0 on the topography walls in x-direction and v=0 
+!--       on the topography walls in y-direction. However, PALM uses individual
+!--       arrays nzb_u|v|w|s_inner|outer that are based on nzb_s_inner.
+!--       Therefore, the extent of topography in nzb_local is now reduced by 
+!--       1dx at the E topography walls and by 1dy at the N topography walls 
+!--       to form the basis for nzb_s_inner.
+          DO  j = -gls, ny + gls
+             DO  i = -gls, nx
+                nzb_local(j,i) = MIN( nzb_local(j,i), nzb_local(j,i+1) )
+             ENDDO
+          ENDDO
+!--       apply cyclic boundary conditions in x-direction 
+!(ist das erforderlich? Ursache von Seung Bus Fehler?)
+          nzb_local(:,nx+1:nx+gls) = nzb_local(:,0:gls-1)
+          DO  i = -gls, nx + gls
+             DO  j = -gls, ny
+                nzb_local(j,i) = MIN( nzb_local(j,i), nzb_local(j+1,i) )
+             ENDDO
+          ENDDO
+!--       apply cyclic boundary conditions in y-direction
+!(ist das erforderlich? Ursache von Seung Bus Fehler?)
+          nzb_local(ny+1:ny+gls,:) = nzb_local(0:gls-1,:)
+       ENDIF
+
+!
+!--    Initialize index arrays nzb_s_inner and nzb_w_inner
+       nzb_s_inner = nzb_local(nys-1:nyn+1,nxl-1:nxr+1)
+       nzb_w_inner = nzb_local(nys-1:nyn+1,nxl-1:nxr+1)
+
+!
+!--    Initialize remaining index arrays:
+!--    first pre-initialize them with nzb_s_inner...
+       nzb_u_inner = nzb_s_inner
+       nzb_u_outer = nzb_s_inner
+       nzb_v_inner = nzb_s_inner
+       nzb_v_outer = nzb_s_inner
+       nzb_w_outer = nzb_s_inner
+       nzb_s_outer = nzb_s_inner
+
+!
+!--    ...then extend pre-initialized arrays in their according directions
+!--    based on nzb_local using nzb_tmp as a temporary global index array
+
+!
+!--    nzb_s_outer: 
+!--    extend nzb_local east-/westwards first, then north-/southwards
+       nzb_tmp = nzb_local(-1:ny+1,-1:nx+1)
+       DO  j = -1, ny + 1
+          DO  i = 0, nx
+             nzb_tmp(j,i) = MAX( nzb_local(j,i-1), nzb_local(j,i), &
+                                 nzb_local(j,i+1) )
+          ENDDO
+       ENDDO
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             nzb_s_outer(j,i) = MAX( nzb_tmp(j-1,i), nzb_tmp(j,i), &
+                                     nzb_tmp(j+1,i) )
+          ENDDO
+!
+!--       non-cyclic boundary conditions (overwritten by call of
+!--       exchange_horiz_2d_int below in case of cyclic boundary conditions)
+          IF ( nys == 0 )  THEN
+             j = -1
+             nzb_s_outer(j,i) = MAX( nzb_tmp(j+1,i), nzb_tmp(j,i) )
+          ENDIF
+          IF ( nys == ny )  THEN
+             j = ny + 1
+             nzb_s_outer(j,i) = MAX( nzb_tmp(j-1,i), nzb_tmp(j,i) )
+          ENDIF
+       ENDDO
+!
+!--    nzb_w_outer: 
+!--    identical to nzb_s_outer
+       nzb_w_outer = nzb_s_outer
+
+!
+!--    nzb_u_inner: 
+!--    extend nzb_local rightwards only
+       nzb_tmp = nzb_local(-1:ny+1,-1:nx+1)
+       DO  j = -1, ny + 1
+          DO  i = 0, nx + 1
+             nzb_tmp(j,i) = MAX( nzb_local(j,i-1), nzb_local(j,i) )
+          ENDDO
+       ENDDO
+       nzb_u_inner = nzb_tmp(nys-1:nyn+1,nxl-1:nxr+1)
+
+!
+!--    nzb_u_outer: 
+!--    extend current nzb_tmp (nzb_u_inner) north-/southwards
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             nzb_u_outer(j,i) = MAX( nzb_tmp(j-1,i), nzb_tmp(j,i), &
+                                     nzb_tmp(j+1,i) )
+          ENDDO
+!
+!--       non-cyclic boundary conditions (overwritten by call of
+!--       exchange_horiz_2d_int below in case of cyclic boundary conditions)
+          IF ( nys == 0 )  THEN
+             j = -1
+             nzb_u_outer(j,i) = MAX( nzb_tmp(j+1,i), nzb_tmp(j,i) )
+          ENDIF
+          IF ( nys == ny )  THEN
+             j = ny + 1
+             nzb_u_outer(j,i) = MAX( nzb_tmp(j-1,i), nzb_tmp(j,i) )
+          ENDIF
+       ENDDO
+
+!
+!--    nzb_v_inner:
+!--    extend nzb_local northwards only
+       nzb_tmp = nzb_local(-1:ny+1,-1:nx+1)
+       DO  i = -1, nx + 1
+          DO  j = 0, ny + 1
+             nzb_tmp(j,i) = MAX( nzb_local(j-1,i), nzb_local(j,i) )
+          ENDDO
+       ENDDO
+       nzb_v_inner = nzb_tmp(nys-1:nyn+1,nxl-1:nxr+1)
+
+!
+!--    nzb_v_outer: 
+!--    extend current nzb_tmp (nzb_v_inner) right-/leftwards
+       DO  j = nys, nyn
+          DO  i = nxl, nxr
+             nzb_v_outer(j,i) = MAX( nzb_tmp(j,i-1), nzb_tmp(j,i), &
+                                     nzb_tmp(j,i+1) )
+          ENDDO
+!
+!--       non-cyclic boundary conditions (overwritten by call of
+!--       exchange_horiz_2d_int below in case of cyclic boundary conditions)
+          IF ( nxl == 0 )  THEN
+             i = -1
+             nzb_v_outer(j,i) = MAX( nzb_tmp(j,i+1), nzb_tmp(j,i) )
+          ENDIF
+          IF ( nxr == nx )  THEN
+             i = nx + 1
+             nzb_v_outer(j,i) = MAX( nzb_tmp(j,i-1), nzb_tmp(j,i) )
+          ENDIF
+       ENDDO
+
+!
+!--    Exchange of lateral boundary values (parallel computers) and cyclic
+!--    boundary conditions, if applicable.
+!--    Since nzb_s_inner and nzb_w_inner are derived directly from nzb_local
+!--    they do not require exchange and are not included here.
+       CALL exchange_horiz_2d_int( nzb_u_inner )
+       CALL exchange_horiz_2d_int( nzb_u_outer )
+       CALL exchange_horiz_2d_int( nzb_v_inner )
+       CALL exchange_horiz_2d_int( nzb_v_outer )
+       CALL exchange_horiz_2d_int( nzb_w_outer )
+       CALL exchange_horiz_2d_int( nzb_s_outer )
+
+!
+!--    Allocate and set the arrays containing the topography height
+       IF ( myid == 0 )  THEN
+
+          ALLOCATE( zu_s_inner(0:nx+1,0:ny+1), zw_w_inner(0:nx+1,0:ny+1) )
+
+          DO  i = 0, nx + 1
+             DO  j = 0, ny + 1
+                zu_s_inner(i,j) = zu(nzb_local(j,i))
+                zw_w_inner(i,j) = zw(nzb_local(j,i))
+             ENDDO
+          ENDDO
+          
+       ENDIF
+
+    ENDIF
+
+!
+!-- Preliminary: to be removed after completion of the topography code!
+!-- Set the former default k index arrays nzb_2d
+    nzb_2d      = nzb
+
+!
+!-- Set the individual index arrays which define the k index from which on
+!-- the usual finite difference form (which does not use surface fluxes) is
+!-- applied 
+    IF ( prandtl_layer  .OR.  use_surface_fluxes )  THEN
+       nzb_diff_u         = nzb_u_inner + 2
+       nzb_diff_v         = nzb_v_inner + 2
+       nzb_diff_s_inner   = nzb_s_inner + 2
+       nzb_diff_s_outer   = nzb_s_outer + 2
+    ELSE
+       nzb_diff_u         = nzb_u_inner + 1
+       nzb_diff_v         = nzb_v_inner + 1
+       nzb_diff_s_inner   = nzb_s_inner + 1
+       nzb_diff_s_outer   = nzb_s_outer + 1
+    ENDIF
+
+!
+!-- Calculation of wall switches and factors required by diffusion_u/v.f90 and 
+!-- for limitation of near-wall mixing length l_wall further below
+    corner_nl = 0
+    corner_nr = 0
+    corner_sl = 0
+    corner_sr = 0
+    wall_l    = 0
+    wall_n    = 0
+    wall_r    = 0
+    wall_s    = 0
+
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+!
+!--       u-component
+          IF ( nzb_u_outer(j,i) > nzb_u_outer(j+1,i) )  THEN
+             wall_u(j,i) = 1.0   ! north wall (location of adjacent fluid)
+             fym(j,i)    = 0.0
+             fyp(j,i)    = 1.0
+          ELSEIF ( nzb_u_outer(j,i) > nzb_u_outer(j-1,i) )  THEN
+             wall_u(j,i) = 1.0   ! south wall (location of adjacent fluid)
+             fym(j,i)    = 1.0
+             fyp(j,i)    = 0.0
+          ENDIF
+!
+!--       v-component
+          IF ( nzb_v_outer(j,i) > nzb_v_outer(j,i+1) )  THEN
+             wall_v(j,i) = 1.0   ! rigth wall (location of adjacent fluid)
+             fxm(j,i)    = 0.0
+             fxp(j,i)    = 1.0
+          ELSEIF ( nzb_v_outer(j,i) > nzb_v_outer(j,i-1) )  THEN
+             wall_v(j,i) = 1.0   ! left wall (location of adjacent fluid)
+             fxm(j,i)    = 1.0
+             fxp(j,i)    = 0.0
+          ENDIF
+!
+!--       w-component, also used for scalars, separate arrays for shear 
+!--       production of tke
+          IF ( nzb_w_outer(j,i) > nzb_w_outer(j+1,i) )  THEN
+             wall_e_y(j,i) =  1.0   ! north wall (location of adjacent fluid)
+             wall_w_y(j,i) =  1.0
+             fwym(j,i)     =  0.0
+             fwyp(j,i)     =  1.0
+          ELSEIF ( nzb_w_outer(j,i) > nzb_w_outer(j-1,i) )  THEN
+             wall_e_y(j,i) = -1.0   ! south wall (location of adjacent fluid)
+             wall_w_y(j,i) =  1.0
+             fwym(j,i)     =  1.0
+             fwyp(j,i)     =  0.0
+          ENDIF
+          IF ( nzb_w_outer(j,i) > nzb_w_outer(j,i+1) )  THEN
+             wall_e_x(j,i) =  1.0   ! right wall (location of adjacent fluid)
+             wall_w_x(j,i) =  1.0
+             fwxm(j,i)     =  0.0
+             fwxp(j,i)     =  1.0
+          ELSEIF ( nzb_w_outer(j,i) > nzb_w_outer(j,i-1) )  THEN
+             wall_e_x(j,i) = -1.0   ! left wall (location of adjacent fluid)
+             wall_w_x(j,i) =  1.0
+             fwxm(j,i)     =  1.0
+             fwxp(j,i)     =  0.0
+          ENDIF
+!
+!--       Wall and corner locations inside buildings for limitation of
+!--       near-wall mixing length l_wall
+          IF ( nzb_s_inner(j,i) > nzb_s_inner(j+1,i) )  THEN
+
+             wall_n(j,i) = nzb_s_inner(j+1,i) + 1            ! North wall
+
+             IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i-1) )  THEN
+                corner_nl(j,i) = MAX( nzb_s_inner(j+1,i),  & ! Northleft corner
+                                      nzb_s_inner(j,i-1) ) + 1
+             ENDIF
+
+             IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i+1) )  THEN
+                corner_nr(j,i) = MAX( nzb_s_inner(j+1,i),  & ! Northright corner
+                                      nzb_s_inner(j,i+1) ) + 1
+             ENDIF
+
+          ENDIF
+
+          IF ( nzb_s_inner(j,i) > nzb_s_inner(j-1,i) )  THEN
+
+             wall_s(j,i) = nzb_s_inner(j-1,i) + 1            ! South wall
+             IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i-1) )  THEN
+                corner_sl(j,i) = MAX( nzb_s_inner(j-1,i),  & ! Southleft corner
+                                      nzb_s_inner(j,i-1) ) + 1
+             ENDIF
+
+             IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i+1) )  THEN
+                corner_sr(j,i) = MAX( nzb_s_inner(j-1,i),  & ! Southright corner
+                                      nzb_s_inner(j,i+1) ) + 1
+             ENDIF
+
+          ENDIF
+
+          IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i-1) )  THEN
+             wall_l(j,i) = nzb_s_inner(j,i-1) + 1            ! Left wall
+          ENDIF
+
+          IF ( nzb_s_inner(j,i) > nzb_s_inner(j,i+1) )  THEN
+             wall_r(j,i) = nzb_s_inner(j,i+1) + 1            ! Right wall
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+!
+!-- Calculate wall flag arrays for the multigrid method
+    IF ( psolver == 'multigrid' )  THEN
+!
+!--    Gridpoint increment of the current level
+       inc = 1
+
+       DO  l = maximum_grid_level, 1 , -1
+
+          nxl_l = nxl_mg(l)
+          nxr_l = nxr_mg(l)
+          nys_l = nys_mg(l)
+          nyn_l = nyn_mg(l)
+          nzt_l = nzt_mg(l)
+
+!
+!--       Assign the flag level to be calculated
+          SELECT CASE ( l )
+             CASE ( 1 )
+                flags => wall_flags_1
+             CASE ( 2 )
+                flags => wall_flags_2
+             CASE ( 3 )
+                flags => wall_flags_3
+             CASE ( 4 )
+                flags => wall_flags_4
+             CASE ( 5 )
+                flags => wall_flags_5
+             CASE ( 6 )
+                flags => wall_flags_6
+             CASE ( 7 )
+                flags => wall_flags_7
+             CASE ( 8 )
+                flags => wall_flags_8
+             CASE ( 9 )
+                flags => wall_flags_9
+             CASE ( 10 )
+                flags => wall_flags_10
+          END SELECT
+
+!
+!--       Depending on the grid level, set the respective bits in case of
+!--       neighbouring walls
+!--       Bit 0:  wall to the bottom
+!--       Bit 1:  wall to the top (not realized in remaining PALM code so far)
+!--       Bit 2:  wall to the south
+!--       Bit 3:  wall to the north
+!--       Bit 4:  wall to the left
+!--       Bit 5:  wall to the right
+!--       Bit 6:  inside building
+
+          flags = 0
+
+          DO  i = nxl_l-1, nxr_l+1
+             DO  j = nys_l-1, nyn_l+1
+                DO  k = nzb, nzt_l+1
+                         
+!
+!--                Inside/outside building (inside building does not need
+!--                further tests for walls)
+                   IF ( k*inc <= nzb_local(j*inc,i*inc) )  THEN
+
+                      flags(k,j,i) = IBSET( flags(k,j,i), 6 )
+
+                   ELSE
+!
+!--                   Bottom wall
+                      IF ( (k-1)*inc <= nzb_local(j*inc,i*inc) )  THEN
+                         flags(k,j,i) = IBSET( flags(k,j,i), 0 )
+                      ENDIF
+!
+!--                   South wall
+                      IF ( k*inc <= nzb_local((j-1)*inc,i*inc) )  THEN
+                         flags(k,j,i) = IBSET( flags(k,j,i), 2 )
+                      ENDIF
+!
+!--                   North wall
+                      IF ( k*inc <= nzb_local((j+1)*inc,i*inc) )  THEN
+                         flags(k,j,i) = IBSET( flags(k,j,i), 3 )
+                      ENDIF
+!
+!--                   Left wall
+                      IF ( k*inc <= nzb_local(j*inc,(i-1)*inc) )  THEN
+                         flags(k,j,i) = IBSET( flags(k,j,i), 4 )
+                      ENDIF
+!
+!--                   Right wall
+                      IF ( k*inc <= nzb_local(j*inc,(i+1)*inc) )  THEN
+                         flags(k,j,i) = IBSET( flags(k,j,i), 5 )
+                      ENDIF
+
+                   ENDIF
+                            
+                ENDDO
+             ENDDO
+          ENDDO 
+
+!
+!--       Test output of flag arrays
+!          i = nxl_l
+!          WRITE (9,*)  ' '
+!          WRITE (9,*)  '*** mg level ', l, ' ***', mg_switch_to_pe0_level
+!          WRITE (9,*)  '    inc=', inc, '  i =', nxl_l
+!          WRITE (9,*)  '    nxl_l',nxl_l,' nxr_l=',nxr_l,' nys_l=',nys_l,' nyn_l=',nyn_l
+!          DO  k = nzt_l+1, nzb, -1
+!             WRITE (9,'(194(1X,I2))')  ( flags(k,j,i), j = nys_l-1, nyn_l+1 )
+!          ENDDO
+
+          inc = inc * 2
+
+       ENDDO
+
+    ENDIF
+
+!
+!-- In case of topography: limit near-wall mixing length l_wall further:
+!-- Go through all points of the subdomain one by one and look for the closest
+!-- surface
+    IF ( TRIM(topography) /= 'flat' )  THEN
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+
+             nzb_si = nzb_s_inner(j,i)
+             vi     = vertical_influence(nzb_si)
+
+             IF ( wall_n(j,i) > 0 )  THEN
+!
+!--             North wall (y distance)
+                DO  k = wall_n(j,i), nzb_si
+                   l_wall(k,j+1,i) = MIN( l_wall(k,j+1,i), 0.5 * dy )
+                ENDDO
+!
+!--             Above North wall (yz distance)
+                DO  k = nzb_si + 1, nzb_si + vi
+                   l_wall(k,j+1,i) = MIN( l_wall(k,j+1,i),     &
+                                          SQRT( 0.25 * dy**2 + &
+                                          ( zu(k) - zw(nzb_si) )**2 ) )
+                ENDDO
+!
+!--             Northleft corner (xy distance)
+                IF ( corner_nl(j,i) > 0 )  THEN
+                   DO  k = corner_nl(j,i), nzb_si
+                      l_wall(k,j+1,i-1) = MIN( l_wall(k,j+1,i-1), &
+                                               0.5 * SQRT( dx**2 + dy**2 ) )
+                   ENDDO
+!
+!--                Above Northleft corner (xyz distance)
+                   DO  k = nzb_si + 1, nzb_si + vi
+                      l_wall(k,j+1,i-1) = MIN( l_wall(k,j+1,i-1),             &
+                                               SQRT( 0.25 * (dx**2 + dy**2) + &
+                                               ( zu(k) - zw(nzb_si) )**2 ) )
+                   ENDDO
+                ENDIF
+!
+!--             Northright corner (xy distance)
+                IF ( corner_nr(j,i) > 0 )  THEN
+                   DO  k = corner_nr(j,i), nzb_si
+                       l_wall(k,j+1,i+1) = MIN( l_wall(k,j+1,i+1), &
+                                                0.5 * SQRT( dx**2 + dy**2 ) )
+                   ENDDO
+!
+!--                Above northright corner (xyz distance)
+                   DO  k = nzb_si + 1, nzb_si + vi
+                      l_wall(k,j+1,i+1) = MIN( l_wall(k,j+1,i+1), &
+                                               SQRT( 0.25 * (dx**2 + dy**2) + &
+                                               ( zu(k) - zw(nzb_si) )**2 ) )
+                   ENDDO
+                ENDIF
+             ENDIF
+
+             IF ( wall_s(j,i) > 0 )  THEN
+!
+!--             South wall (y distance)
+                DO  k = wall_s(j,i), nzb_si
+                   l_wall(k,j-1,i) = MIN( l_wall(k,j-1,i), 0.5 * dy )
+                ENDDO
+!
+!--             Above south wall (yz distance)
+                DO  k = nzb_si + 1, &
+                        nzb_si + vi
+                   l_wall(k,j-1,i) = MIN( l_wall(k,j-1,i),     &
+                                          SQRT( 0.25 * dy**2 + &
+                                          ( zu(k) - zw(nzb_si) )**2 ) )
+                ENDDO
+!
+!--             Southleft corner (xy distance)
+                IF ( corner_sl(j,i) > 0 )  THEN
+                   DO  k = corner_sl(j,i), nzb_si
+                      l_wall(k,j-1,i-1) = MIN( l_wall(k,j-1,i-1), &
+                                               0.5 * SQRT( dx**2 + dy**2 ) )
+                   ENDDO
+!
+!--                Above southleft corner (xyz distance)
+                   DO  k = nzb_si + 1, nzb_si + vi
+                      l_wall(k,j-1,i-1) = MIN( l_wall(k,j-1,i-1),             &
+                                               SQRT( 0.25 * (dx**2 + dy**2) + &
+                                               ( zu(k) - zw(nzb_si) )**2 ) )
+                   ENDDO
+                ENDIF
+!
+!--             Southright corner (xy distance)
+                IF ( corner_sr(j,i) > 0 )  THEN
+                   DO  k = corner_sr(j,i), nzb_si
+                      l_wall(k,j-1,i+1) = MIN( l_wall(k,j-1,i+1), &
+                                               0.5 * SQRT( dx**2 + dy**2 ) )
+                   ENDDO
+!
+!--                Above southright corner (xyz distance)
+                   DO  k = nzb_si + 1, nzb_si + vi
+                      l_wall(k,j-1,i+1) = MIN( l_wall(k,j-1,i+1),             &
+                                               SQRT( 0.25 * (dx**2 + dy**2) + &
+                                               ( zu(k) - zw(nzb_si) )**2 ) )
+                   ENDDO
+                ENDIF
+
+             ENDIF
+
+             IF ( wall_l(j,i) > 0 )  THEN
+!
+!--             Left wall (x distance)
+                DO  k = wall_l(j,i), nzb_si
+                   l_wall(k,j,i-1) = MIN( l_wall(k,j,i-1), 0.5 * dx )
+                ENDDO
+!
+!--             Above left wall (xz distance)
+                DO  k = nzb_si + 1, nzb_si + vi
+                   l_wall(k,j,i-1) = MIN( l_wall(k,j,i-1),     &
+                                          SQRT( 0.25 * dx**2 + &
+                                          ( zu(k) - zw(nzb_si) )**2 ) )
+                ENDDO
+             ENDIF
+
+             IF ( wall_r(j,i) > 0 )  THEN
+!
+!--             Right wall (x distance)
+                DO  k = wall_r(j,i), nzb_si
+                   l_wall(k,j,i+1) = MIN( l_wall(k,j,i+1), 0.5 * dx )
+                ENDDO
+!
+!--             Above right wall (xz distance)
+                DO  k = nzb_si + 1, nzb_si + vi
+                   l_wall(k,j,i+1) = MIN( l_wall(k,j,i+1),     &
+                                          SQRT( 0.25 * dx**2 + &
+                                          ( zu(k) - zw(nzb_si) )**2 ) )
+                ENDDO
+
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- Multiplication with wall_adjustment_factor
+    l_wall = wall_adjustment_factor * l_wall
+
+!
+!-- Need to set lateral boundary conditions for l_wall
+    CALL exchange_horiz( l_wall )
+
+    DEALLOCATE( corner_nl, corner_nr, corner_sl, corner_sr, nzb_local, &
+                nzb_tmp, vertical_influence, wall_l, wall_n, wall_r, wall_s )
+
+
+ END SUBROUTINE init_grid
Index: palm/tags/release-3.7/SOURCE/init_ocean.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_ocean.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_ocean.f90	(revision 393)
@@ -0,0 +1,110 @@
+ SUBROUTINE init_ocean
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ------------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Bugfix: Initial profiles of hydrostatic pressure and density are calculated
+! iteratively. First calculation of hyp(0) changed.
+!
+! 124 2007-10-19 15:47:46Z raasch
+! Bugfix: Initial density rho is calculated
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Initial revision
+!
+! Description:
+! ------------
+! Initialization of quantities needed for the ocean version
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE eqn_state_seawater_mod
+    USE pegrid
+    USE grid_variables
+    USE indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  k, n
+
+    REAL    ::  sa_l, pt_l
+
+    REAL, DIMENSION(nzb:nzt+1) ::  rho_init
+
+    ALLOCATE( hyp(nzb:nzt+1) )
+
+!
+!-- Set water density near the ocean surface
+    rho_surface = 1027.62
+
+!
+!-- Calculate initial vertical profile of hydrostatic pressure (in Pa)
+!-- and the reference density (used later in buoyancy term)
+!-- First step: Calculate pressure using reference density
+    hyp(nzt+1) = surface_pressure * 100.0
+
+    hyp(nzt)      = hyp(nzt+1) + rho_surface * g * 0.5 * dzu(nzt+1)
+    rho_init(nzt) = rho_surface
+
+    DO  k = nzt-1, 1, -1
+       hyp(k) = hyp(k+1) + rho_surface * g * dzu(k)
+    ENDDO
+    hyp(0) = hyp(1) + rho_surface * g * dzu(1)
+
+!
+!-- Second step: Iteratively calculate in situ density (based on presssure)
+!-- and pressure (based on in situ density)
+    DO  n = 1, 5
+
+       rho_reference = rho_surface * 0.5 * dzu(nzt+1)
+
+       DO  k = nzt-1, 0, -1
+
+          sa_l = 0.5 * ( sa_init(k) + sa_init(k+1) )
+          pt_l = 0.5 * ( pt_init(k) + pt_init(k+1) )
+
+          rho_init(k) = eqn_state_seawater_func( hyp(k), pt_l, sa_l )
+
+          rho_reference = rho_reference + rho_init(k) * dzu(k+1)
+
+       ENDDO
+
+       rho_reference = rho_reference / ( zw(nzt) - zu(nzb) )
+
+       DO  k = nzt-1, 0, -1
+          hyp(k) = hyp(k+1) + g * 0.5 * ( rho_init(k) + rho_init(k+1 ) ) * &
+                              dzu(k+1)
+       ENDDO
+
+    ENDDO
+
+!
+!-- Calculate the reference potential density
+    prho_reference = 0.0
+    DO  k = 0, nzt
+
+       sa_l = 0.5 * ( sa_init(k) + sa_init(k+1) )
+       pt_l = 0.5 * ( pt_init(k) + pt_init(k+1) )
+
+       prho_reference = prho_reference + dzu(k+1) * &
+                        eqn_state_seawater_func( 0.0, pt_l, sa_l )
+
+    ENDDO
+
+    prho_reference = prho_reference / ( zu(nzt) - zu(nzb) )
+
+!
+!-- Calculate the 3d array of initial in situ and potential density,
+!-- based on the initial temperature and salinity profile
+    CALL eqn_state_seawater
+
+
+ END SUBROUTINE init_ocean
Index: palm/tags/release-3.7/SOURCE/init_particles.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_particles.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_particles.f90	(revision 393)
@@ -0,0 +1,580 @@
+ SUBROUTINE init_particles
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 336 2009-06-10 11:19:35Z raasch
+! Maximum number of tails is calculated from maximum number of particles and
+! skip_particles_for_tail,
+! output of messages replaced by message handling routine
+! Bugfix: arrays for tails are allocated with a minimum size of 10 tails if
+! there is no tail initially
+!
+! 150 2008-02-29 08:19:58Z raasch
+! Setting offset_ocean_* needed for calculating vertical indices within ocean
+! runs
+!
+! 117 2007-10-11 03:27:59Z raasch
+! Sorting of particles only in case of cloud droplets
+!
+! 106 2007-08-16 14:30:26Z raasch
+! variable iran replaced by iran_part
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor directives for old systems removed
+!
+! 70 2007-03-18 23:46:30Z raasch
+! displacements for mpi_particle_type changed, age_m initialized,
+! particles-package is now part of the default code
+!
+! 16 2007-02-15 13:16:47Z raasch
+! Bugfix: MPI_REAL in MPI_ALLREDUCE replaced by MPI_INTEGER
+!
+! r4 | raasch | 2007-02-13 12:33:16 +0100 (Tue, 13 Feb 2007)
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.24  2007/02/11 13:00:17  raasch
+! Bugfix: allocation of tail_mask and new_tail_id in case of restart-runs
+! Bugfix: __ was missing in a cpp-directive
+!
+! Revision 1.1  1999/11/25 16:22:38  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! This routine initializes a set of particles and their attributes (position,
+! radius, ..). Advection of these particles is carried out by advec_particles,
+! plotting is done in data_output_dvrp.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE particle_attributes
+    USE pegrid
+    USE random_function_mod
+
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  particle_binary_version, version_on_file
+
+    INTEGER ::  i, j, n, nn
+#if defined( __parallel )
+    INTEGER, DIMENSION(3) ::  blocklengths, displacements, types
+#endif
+    LOGICAL ::  uniform_particles_l
+    REAL    ::  factor, pos_x, pos_y, pos_z, value
+
+
+#if defined( __parallel )
+!
+!-- Define MPI derived datatype for FORTRAN datatype particle_type (see module
+!-- particle_attributes). Integer length is 4 byte, Real is 8 byte
+    blocklengths(1)  = 19;  blocklengths(2)  =   4;  blocklengths(3)  =   1
+    displacements(1) =  0;  displacements(2) = 152;  displacements(3) = 168
+
+    types(1) = MPI_REAL
+    types(2) = MPI_INTEGER
+    types(3) = MPI_UB
+    CALL MPI_TYPE_STRUCT( 3, blocklengths, displacements, types, &
+                          mpi_particle_type, ierr )
+    CALL MPI_TYPE_COMMIT( mpi_particle_type, ierr )
+#endif
+
+!
+!-- In case of oceans runs, the vertical index calculations need an offset,
+!-- because otherwise the k indices will become negative
+    IF ( ocean )  THEN
+       offset_ocean_nzt    = nzt
+       offset_ocean_nzt_m1 = nzt - 1
+    ENDIF
+
+
+!
+!-- Check the number of particle groups.
+    IF ( number_of_particle_groups > max_number_of_particle_groups )  THEN
+       WRITE( message_string, * ) 'max_number_of_particle_groups =',      &
+                                  max_number_of_particle_groups ,         &
+                                  '&number_of_particle_groups reset to ', &
+                                  max_number_of_particle_groups
+       CALL message( 'init_particles', 'PA0213', 0, 1, 0, 6, 0 )
+       number_of_particle_groups = max_number_of_particle_groups
+    ENDIF
+
+!
+!-- Set default start positions, if necessary
+    IF ( psl(1) == 9999999.9 )  psl(1) = -0.5 * dx
+    IF ( psr(1) == 9999999.9 )  psr(1) = ( nx + 0.5 ) * dx
+    IF ( pss(1) == 9999999.9 )  pss(1) = -0.5 * dy
+    IF ( psn(1) == 9999999.9 )  psn(1) = ( ny + 0.5 ) * dy
+    IF ( psb(1) == 9999999.9 )  psb(1) = zu(nz/2)
+    IF ( pst(1) == 9999999.9 )  pst(1) = psb(1)
+
+    IF ( pdx(1) == 9999999.9  .OR.  pdx(1) == 0.0 )  pdx(1) = dx
+    IF ( pdy(1) == 9999999.9  .OR.  pdy(1) == 0.0 )  pdy(1) = dy
+    IF ( pdz(1) == 9999999.9  .OR.  pdz(1) == 0.0 )  pdz(1) = zu(2) - zu(1)
+
+    DO  j = 2, number_of_particle_groups
+       IF ( psl(j) == 9999999.9 )  psl(j) = psl(j-1)
+       IF ( psr(j) == 9999999.9 )  psr(j) = psr(j-1)
+       IF ( pss(j) == 9999999.9 )  pss(j) = pss(j-1)
+       IF ( psn(j) == 9999999.9 )  psn(j) = psn(j-1)
+       IF ( psb(j) == 9999999.9 )  psb(j) = psb(j-1)
+       IF ( pst(j) == 9999999.9 )  pst(j) = pst(j-1)
+       IF ( pdx(j) == 9999999.9  .OR.  pdx(j) == 0.0 )  pdx(j) = pdx(j-1)
+       IF ( pdy(j) == 9999999.9  .OR.  pdy(j) == 0.0 )  pdy(j) = pdy(j-1)
+       IF ( pdz(j) == 9999999.9  .OR.  pdz(j) == 0.0 )  pdz(j) = pdz(j-1)
+    ENDDO
+
+!
+!-- For the first model run of a possible job chain initialize the
+!-- particles, otherwise read the particle data from file.
+    IF ( TRIM( initializing_actions ) == 'read_restart_data'  &
+         .AND.  read_particles_from_restartfile )  THEN
+
+!
+!--    Read particle data from previous model run.
+!--    First open the input unit.
+       IF ( myid_char == '' )  THEN
+          OPEN ( 90, FILE='PARTICLE_RESTART_DATA_IN'//myid_char, &
+                     FORM='UNFORMATTED' )
+       ELSE
+          OPEN ( 90, FILE='PARTICLE_RESTART_DATA_IN/'//myid_char, &
+                     FORM='UNFORMATTED' )
+       ENDIF
+
+!
+!--    First compare the version numbers
+       READ ( 90 )  version_on_file
+       particle_binary_version = '3.0'
+       IF ( TRIM( version_on_file ) /= TRIM( particle_binary_version ) )  THEN
+          message_string = 'version mismatch concerning data from prior ' // &
+                           'run &version on file    = "' //                  &
+                                         TRIM( version_on_file ) //          &
+                           '&version in program = "' //                      &
+                                         TRIM( particle_binary_version ) // '"'
+          CALL message( 'init_particles', 'PA0214', 1, 2, 0, 6, 0 )
+       ENDIF
+
+!
+!--    Read some particle parameters and the size of the particle arrays,
+!--    allocate them and read their contents.
+       READ ( 90 )  bc_par_b, bc_par_lr, bc_par_ns, bc_par_t,                  &
+                    maximum_number_of_particles, maximum_number_of_tailpoints, &
+                    maximum_number_of_tails, number_of_initial_particles,      &
+                    number_of_particles, number_of_particle_groups,            &
+                    number_of_tails, particle_groups, time_prel,               &
+                    time_write_particle_data, uniform_particles
+
+       IF ( number_of_initial_particles /= 0 )  THEN
+          ALLOCATE( initial_particles(1:number_of_initial_particles) )
+          READ ( 90 )  initial_particles
+       ENDIF
+
+       ALLOCATE( prt_count(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),       &
+                 prt_start_index(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 particle_mask(maximum_number_of_particles),         &
+                 particles(maximum_number_of_particles) )
+
+       READ ( 90 )  prt_count, prt_start_index
+       READ ( 90 )  particles
+
+       IF ( use_particle_tails )  THEN
+          ALLOCATE( particle_tail_coordinates(maximum_number_of_tailpoints,5, &
+                    maximum_number_of_tails),                                 &
+                    new_tail_id(maximum_number_of_tails),                     &
+                    tail_mask(maximum_number_of_tails) )
+          READ ( 90 )  particle_tail_coordinates
+       ENDIF
+
+       CLOSE ( 90 )
+
+    ELSE
+
+!
+!--    Allocate particle arrays and set attributes of the initial set of
+!--    particles, which can be also periodically released at later times.
+!--    Also allocate array for particle tail coordinates, if needed.
+       ALLOCATE( prt_count(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1),       &
+                 prt_start_index(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1), &
+                 particle_mask(maximum_number_of_particles),         &
+                 particles(maximum_number_of_particles) )
+
+!
+!--    Initialize all particles with dummy values (otherwise errors may
+!--    occur within restart runs). The reason for this is still not clear
+!--    and may be presumably caused by errors in the respective user-interface.
+       particles = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+                                  0.0, 0, 0, 0, 0 )
+       particle_groups = particle_groups_type( 0.0, 0.0, 0.0, 0.0 )
+
+!
+!--    Set the default particle size used for dvrp plots
+       IF ( dvrp_psize == 9999999.9 )  dvrp_psize = 0.2 * dx
+
+!
+!--    Set values for the density ratio and radius for all particle
+!--    groups, if necessary
+       IF ( density_ratio(1) == 9999999.9 )  density_ratio(1) = 0.0
+       IF ( radius(1)        == 9999999.9 )  radius(1) = 0.0
+       DO  i = 2, number_of_particle_groups
+          IF ( density_ratio(i) == 9999999.9 )  THEN
+             density_ratio(i) = density_ratio(i-1)
+          ENDIF
+          IF ( radius(i) == 9999999.9 )  radius(i) = radius(i-1)
+       ENDDO
+
+       DO  i = 1, number_of_particle_groups
+          IF ( density_ratio(i) /= 0.0  .AND.  radius(i) == 0 )  THEN
+             WRITE( message_string, * ) 'particle group #', i, 'has a', &
+                                        'density ratio /= 0 but radius = 0'
+             CALL message( 'init_particles', 'PA0215', 1, 2, 0, 6, 0 )
+          ENDIF
+          particle_groups(i)%density_ratio = density_ratio(i)
+          particle_groups(i)%radius        = radius(i)
+       ENDDO
+
+!
+!--    Calculate particle positions and store particle attributes, if
+!--    particle is situated on this PE
+       n = 0
+
+       DO  i = 1, number_of_particle_groups
+
+          pos_z = psb(i)
+
+          DO WHILE ( pos_z <= pst(i) )
+
+             pos_y = pss(i)
+
+             DO WHILE ( pos_y <= psn(i) )
+
+                IF ( pos_y >= ( nys - 0.5 ) * dy  .AND.  &
+                     pos_y <  ( nyn + 0.5 ) * dy )  THEN
+
+                   pos_x = psl(i)
+
+                   DO WHILE ( pos_x <= psr(i) )
+
+                      IF ( pos_x >= ( nxl - 0.5 ) * dx  .AND.  &
+                           pos_x <  ( nxr + 0.5 ) * dx )  THEN
+
+                         DO  j = 1, particles_per_point
+
+                            n = n + 1
+                            IF ( n > maximum_number_of_particles )  THEN
+                               WRITE( message_string, * ) 'number of initial', &
+                                      'particles (', n, ') exceeds',           &
+                                      '&maximum_number_of_particles (',        &
+                                      maximum_number_of_particles, ') on PE ', &
+                                             myid
+                               CALL message( 'init_particles', 'PA0216', &
+                                                                 2, 2, -1, 6, 1 )
+                            ENDIF
+                            particles(n)%x             = pos_x
+                            particles(n)%y             = pos_y
+                            particles(n)%z             = pos_z
+                            particles(n)%age           = 0.0
+                            particles(n)%age_m         = 0.0
+                            particles(n)%dt_sum        = 0.0
+                            particles(n)%dvrp_psize    = dvrp_psize
+                            particles(n)%e_m           = 0.0
+                            particles(n)%speed_x       = 0.0
+                            particles(n)%speed_x_sgs   = 0.0
+                            particles(n)%speed_y       = 0.0
+                            particles(n)%speed_y_sgs   = 0.0
+                            particles(n)%speed_z       = 0.0
+                            particles(n)%speed_z_sgs   = 0.0
+                            particles(n)%origin_x      = pos_x
+                            particles(n)%origin_y      = pos_y
+                            particles(n)%origin_z      = pos_z
+                            particles(n)%radius      = particle_groups(i)%radius
+                            particles(n)%weight_factor =initial_weighting_factor
+                            particles(n)%color         = 1
+                            particles(n)%group         = i
+                            particles(n)%tailpoints    = 0
+                            IF ( use_particle_tails  .AND. &
+                                 MOD( n, skip_particles_for_tail ) == 0 )  THEN
+                               number_of_tails         = number_of_tails + 1
+!
+!--                            This is a temporary provisional setting (see
+!--                            further below!)
+                               particles(n)%tail_id    = number_of_tails
+                            ELSE
+                               particles(n)%tail_id    = 0
+                            ENDIF
+
+                         ENDDO
+
+                      ENDIF
+
+                      pos_x = pos_x + pdx(i)
+
+                   ENDDO
+
+                ENDIF
+
+                pos_y = pos_y + pdy(i)
+
+             ENDDO
+
+             pos_z = pos_z + pdz(i)
+
+          ENDDO
+
+       ENDDO
+
+       number_of_initial_particles = n
+       number_of_particles         = n
+
+!
+!--    Calculate the number of particles and tails of the total domain
+#if defined( __parallel )
+       CALL MPI_ALLREDUCE( number_of_particles, total_number_of_particles, 1, &
+                           MPI_INTEGER, MPI_SUM, comm2d, ierr )
+       CALL MPI_ALLREDUCE( number_of_tails, total_number_of_tails, 1, &
+                           MPI_INTEGER, MPI_SUM, comm2d, ierr )
+#else
+       total_number_of_particles = number_of_particles
+       total_number_of_tails     = number_of_tails
+#endif
+
+!
+!--    Set a seed value for the random number generator to be exclusively
+!--    used for the particle code. The generated random numbers should be
+!--    different on the different PEs.
+       iran_part = iran_part + myid
+
+!
+!--    User modification of initial particles
+       CALL user_init_particles
+
+!
+!--    Store the initial set of particles for release at later times
+       IF ( number_of_initial_particles /= 0 )  THEN
+          ALLOCATE( initial_particles(1:number_of_initial_particles) )
+          initial_particles(1:number_of_initial_particles) = &
+                                        particles(1:number_of_initial_particles)
+       ENDIF
+
+!
+!--    Add random fluctuation to particle positions
+       IF ( random_start_position )  THEN
+
+          DO  n = 1, number_of_initial_particles
+             IF ( psl(particles(n)%group) /= psr(particles(n)%group) )  THEN
+                particles(n)%x = particles(n)%x + &
+                                 ( random_function( iran_part ) - 0.5 ) * &
+                                 pdx(particles(n)%group)
+                IF ( particles(n)%x  <=  ( nxl - 0.5 ) * dx )  THEN
+                   particles(n)%x = ( nxl - 0.4999999999 ) * dx
+                ELSEIF ( particles(n)%x  >=  ( nxr + 0.5 ) * dx )  THEN
+                   particles(n)%x = ( nxr + 0.4999999999 ) * dx
+                ENDIF
+             ENDIF
+             IF ( pss(particles(n)%group) /= psn(particles(n)%group) )  THEN
+                particles(n)%y = particles(n)%y + &
+                                 ( random_function( iran_part ) - 0.5 ) * &
+                                 pdy(particles(n)%group)
+                IF ( particles(n)%y  <=  ( nys - 0.5 ) * dy )  THEN
+                   particles(n)%y = ( nys - 0.4999999999 ) * dy
+                ELSEIF ( particles(n)%y  >=  ( nyn + 0.5 ) * dy )  THEN
+                   particles(n)%y = ( nyn + 0.4999999999 ) * dy
+                ENDIF
+             ENDIF
+             IF ( psb(particles(n)%group) /= pst(particles(n)%group) )  THEN
+                particles(n)%z = particles(n)%z + &
+                                 ( random_function( iran_part ) - 0.5 ) * &
+                                 pdz(particles(n)%group)
+             ENDIF
+          ENDDO
+       ENDIF
+
+!
+!--    Sort particles in the sequence the gridboxes are stored in the memory.
+!--    Only required if cloud droplets are used.
+       IF ( cloud_droplets )  CALL sort_particles
+
+!
+!--    Open file for statistical informations about particle conditions
+       IF ( write_particle_statistics )  THEN
+          CALL check_open( 80 )
+          WRITE ( 80, 8000 )  current_timestep_number, simulated_time, &
+                              number_of_initial_particles,             &
+                              maximum_number_of_particles
+          CALL close_file( 80 )
+       ENDIF
+
+!
+!--    Check if particles are really uniform in color and radius (dvrp_size)
+!--    (uniform_particles is preset TRUE)
+       IF ( uniform_particles )  THEN
+          IF ( number_of_initial_particles == 0 )  THEN
+             uniform_particles_l = .TRUE.
+          ELSE
+             n = number_of_initial_particles
+             IF ( MINVAL( particles(1:n)%dvrp_psize  ) ==     &
+                  MAXVAL( particles(1:n)%dvrp_psize  )  .AND. &
+                  MINVAL( particles(1:n)%color ) ==     &
+                  MAXVAL( particles(1:n)%color ) )  THEN
+                uniform_particles_l = .TRUE.
+             ELSE
+                uniform_particles_l = .FALSE.
+             ENDIF
+          ENDIF
+
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( uniform_particles_l, uniform_particles, 1, &
+                              MPI_LOGICAL, MPI_LAND, comm2d, ierr )
+#else
+          uniform_particles = uniform_particles_l
+#endif
+
+       ENDIF
+
+!
+!--    Particles will probably become none-uniform, if their size and color
+!--    will be determined by flow variables
+       IF ( particle_color /= 'none'  .OR.  particle_dvrpsize /= 'none' )  THEN
+          uniform_particles = .FALSE.
+       ENDIF
+
+!
+!--    Set the beginning of the particle tails and their age
+       IF ( use_particle_tails )  THEN
+!
+!--       Choose the maximum number of tails with respect to the maximum number
+!--       of particles and skip_particles_for_tail
+          maximum_number_of_tails = maximum_number_of_particles / &
+                                    skip_particles_for_tail
+
+!
+!--       Create a minimum number of tails in case that there is no tail
+!--       initially (otherwise, index errors will occur when adressing the
+!--       arrays below)
+          IF ( maximum_number_of_tails == 0 )  maximum_number_of_tails = 10
+
+          ALLOCATE( particle_tail_coordinates(maximum_number_of_tailpoints,5, &
+                    maximum_number_of_tails),                                 &
+                    new_tail_id(maximum_number_of_tails),                     &
+                    tail_mask(maximum_number_of_tails) )
+
+          particle_tail_coordinates  = 0.0
+          minimum_tailpoint_distance = minimum_tailpoint_distance**2
+          number_of_initial_tails    = number_of_tails
+
+          nn = 0
+          DO  n = 1, number_of_particles
+!
+!--          Only for those particles marked above with a provisional tail_id
+!--          tails will be created. Particles now get their final tail_id.
+             IF ( particles(n)%tail_id /= 0 )  THEN
+
+                nn = nn + 1
+                particles(n)%tail_id = nn
+
+                particle_tail_coordinates(1,1,nn) = particles(n)%x
+                particle_tail_coordinates(1,2,nn) = particles(n)%y
+                particle_tail_coordinates(1,3,nn) = particles(n)%z
+                particle_tail_coordinates(1,4,nn) = particles(n)%color
+                particles(n)%tailpoints = 1
+                IF ( minimum_tailpoint_distance /= 0.0 )  THEN
+                   particle_tail_coordinates(2,1,nn) = particles(n)%x
+                   particle_tail_coordinates(2,2,nn) = particles(n)%y
+                   particle_tail_coordinates(2,3,nn) = particles(n)%z
+                   particle_tail_coordinates(2,4,nn) = particles(n)%color
+                   particle_tail_coordinates(1:2,5,nn) = 0.0
+                   particles(n)%tailpoints = 2
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDIF
+
+!
+!--    Plot initial positions of particles (only if particle advection is
+!--    switched on from the beginning of the simulation (t=0))
+       IF ( particle_advection_start == 0.0 )  CALL data_output_dvrp
+
+    ENDIF
+
+!
+!-- Check boundary condition and set internal variables
+    SELECT CASE ( bc_par_b )
+    
+       CASE ( 'absorb' )
+          ibc_par_b = 1
+
+       CASE ( 'reflect' )
+          ibc_par_b = 2
+          
+       CASE DEFAULT
+          WRITE( message_string, * )  'unknown boundary condition ',   &
+                                       'bc_par_b = "', TRIM( bc_par_b ), '"'
+          CALL message( 'init_particles', 'PA0217', 1, 2, 0, 6, 0 )
+          
+    END SELECT
+    SELECT CASE ( bc_par_t )
+    
+       CASE ( 'absorb' )
+          ibc_par_t = 1
+
+       CASE ( 'reflect' )
+          ibc_par_t = 2
+          
+       CASE DEFAULT
+          WRITE( message_string, * ) 'unknown boundary condition ',   &
+                                     'bc_par_t = "', TRIM( bc_par_t ), '"'
+          CALL message( 'init_particles', 'PA0218', 1, 2, 0, 6, 0 )
+          
+    END SELECT
+    SELECT CASE ( bc_par_lr )
+
+       CASE ( 'cyclic' )
+          ibc_par_lr = 0
+
+       CASE ( 'absorb' )
+          ibc_par_lr = 1
+
+       CASE ( 'reflect' )
+          ibc_par_lr = 2
+          
+       CASE DEFAULT
+          WRITE( message_string, * ) 'unknown boundary condition ',   &
+                                     'bc_par_lr = "', TRIM( bc_par_lr ), '"'
+          CALL message( 'init_particles', 'PA0219', 1, 2, 0, 6, 0 )
+          
+    END SELECT
+    SELECT CASE ( bc_par_ns )
+
+       CASE ( 'cyclic' )
+          ibc_par_ns = 0
+
+       CASE ( 'absorb' )
+          ibc_par_ns = 1
+
+       CASE ( 'reflect' )
+          ibc_par_ns = 2
+          
+       CASE DEFAULT
+          WRITE( message_string, * ) 'unknown boundary condition ',   &
+                                     'bc_par_ns = "', TRIM( bc_par_ns ), '"'
+          CALL message( 'init_particles', 'PA0220', 1, 2, 0, 6, 0 )
+          
+    END SELECT
+!
+!-- Formats
+8000 FORMAT (I6,1X,F7.2,4X,I6,71X,I6)
+
+ END SUBROUTINE init_particles
Index: palm/tags/release-3.7/SOURCE/init_pegrid.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_pegrid.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_pegrid.f90	(revision 393)
@@ -0,0 +1,1048 @@
+ SUBROUTINE init_pegrid
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+! ATTENTION: nnz_x undefined problem still has to be solved!!!!!!!!
+! TEST OUTPUT (TO BE REMOVED) logging mpi2 ierr values
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 206 2008-10-13 14:59:11Z raasch
+! Implementation of a MPI-1 coupling: added __parallel within the __mpi2 part
+! 2d-decomposition is default on SGI-ICE systems
+!
+! 197 2008-09-16 15:29:03Z raasch
+! multigrid levels are limited by subdomains if mg_switch_to_pe0_level = -1,
+! nz is used instead nnz for calculating mg-levels
+! Collect on PE0 horizontal index bounds from all other PEs,
+! broadcast the id of the inflow PE (using the respective communicator)
+!
+! 114 2007-10-10 00:03:15Z raasch
+! Allocation of wall flag arrays for multigrid solver
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Intercommunicator (comm_inter) and derived data type (type_xy) for
+! coupled model runs created, assign coupling_mode_remote,
+! indices nxlu and nysv are calculated (needed for non-cyclic boundary
+! conditions)
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Cpp-directive lcmuk changed to intel_openmp_bug, setting of host on lcmuk by
+! cpp-directive removed
+!
+! 75 2007-03-22 09:54:05Z raasch
+! uxrp, vynp eliminated,
+! dirichlet/neumann changed to dirichlet/radiation, etc.,
+! poisfft_init is only called if fft-solver is switched on
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.28  2006/04/26 13:23:32  raasch
+! lcmuk does not understand the !$ comment so a cpp-directive is required
+!
+! Revision 1.1  1997/07/24 11:15:09  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Determination of the virtual processor topology (if not prescribed by the
+! user)and computation of the grid point number and array bounds of the local
+! domains.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE fft_xy
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE poisfft_mod
+    USE poisfft_hybrid_mod
+    USE statistics
+    USE transpose_indices
+
+
+    IMPLICIT NONE
+
+    INTEGER ::  gathered_size, i, id_inflow_l, id_recycling_l, ind(5), j, k, &
+                maximum_grid_level_l, mg_switch_to_pe0_level_l, mg_levels_x, &
+                mg_levels_y, mg_levels_z, nnx_y, nnx_z, nny_x, nny_z, nnz_x, &
+                nnz_y, numproc_sqr, nx_total, nxl_l, nxr_l, nyn_l, nys_l,    &
+                nzb_l, nzt_l, omp_get_num_threads, subdomain_size
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  ind_all, nxlf, nxrf, nynf, nysf
+
+    LOGICAL ::  found
+
+!
+!-- Get the number of OpenMP threads
+    !$OMP PARALLEL
+#if defined( __intel_openmp_bug )
+    threads_per_task = omp_get_num_threads()
+#else
+!$  threads_per_task = omp_get_num_threads()
+#endif
+    !$OMP END PARALLEL
+
+
+#if defined( __parallel )
+!
+!-- Determine the processor topology or check it, if prescribed by the user
+    IF ( npex == -1  .AND.  npey == -1 )  THEN
+
+!
+!--    Automatic determination of the topology
+!--    The default on SMP- and cluster-hosts is a 1d-decomposition along x
+       IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec'      .OR. &
+            ( host(1:2) == 'lc'  .AND.  host(3:5) /= 'sgi' )  .OR. &
+             host(1:3) == 'dec' )  THEN
+
+          pdims(1) = numprocs
+          pdims(2) = 1
+
+       ELSE
+
+          numproc_sqr = SQRT( REAL( numprocs ) )
+          pdims(1)    = MAX( numproc_sqr , 1 )
+          DO  WHILE ( MOD( numprocs , pdims(1) ) /= 0 )
+             pdims(1) = pdims(1) - 1
+          ENDDO
+          pdims(2) = numprocs / pdims(1)
+
+       ENDIF
+
+    ELSEIF ( npex /= -1  .AND.  npey /= -1 )  THEN
+
+!
+!--    Prescribed by user. Number of processors on the prescribed topology
+!--    must be equal to the number of PEs available to the job
+       IF ( ( npex * npey ) /= numprocs )  THEN
+          WRITE( message_string, * ) 'number of PEs of the prescribed ',      & 
+                 'topology (', npex*npey,') does not match & the number of ', & 
+                 'PEs available to the job (', numprocs, ')'
+          CALL message( 'init_pegrid', 'PA0221', 1, 2, 0, 6, 0 )
+       ENDIF
+       pdims(1) = npex
+       pdims(2) = npey
+
+    ELSE
+!
+!--    If the processor topology is prescribed by the user, the number of
+!--    PEs must be given in both directions
+       message_string = 'if the processor topology is prescribed by the, ' //  &
+                   ' user& both values of "npex" and "npey" must be given ' // &
+                   'in the &NAMELIST-parameter file'
+       CALL message( 'init_pegrid', 'PA0222', 1, 2, 0, 6, 0 )
+
+    ENDIF
+
+!
+!-- The hybrid solver can only be used in case of a 1d-decomposition along x
+    IF ( pdims(2) /= 1  .AND.  psolver == 'poisfft_hybrid' )  THEN
+       message_string = 'psolver = "poisfft_hybrid" can only be' // &
+                        '& used in case of a 1d-decomposition along x'
+       CALL message( 'init_pegrid', 'PA0223', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- If necessary, set horizontal boundary conditions to non-cyclic
+    IF ( bc_lr /= 'cyclic' )  cyclic(1) = .FALSE.
+    IF ( bc_ns /= 'cyclic' )  cyclic(2) = .FALSE.
+
+!
+!-- Create the virtual processor grid
+    CALL MPI_CART_CREATE( comm_palm, ndim, pdims, cyclic, reorder, &
+                          comm2d, ierr )
+    CALL MPI_COMM_RANK( comm2d, myid, ierr )
+    WRITE (myid_char,'(''_'',I4.4)')  myid
+
+    CALL MPI_CART_COORDS( comm2d, myid, ndim, pcoord, ierr )
+    CALL MPI_CART_SHIFT( comm2d, 0, 1, pleft, pright, ierr )
+    CALL MPI_CART_SHIFT( comm2d, 1, 1, psouth, pnorth, ierr )
+
+!
+!-- Determine sub-topologies for transpositions
+!-- Transposition from z to x:
+    remain_dims(1) = .TRUE.
+    remain_dims(2) = .FALSE.
+    CALL MPI_CART_SUB( comm2d, remain_dims, comm1dx, ierr )
+    CALL MPI_COMM_RANK( comm1dx, myidx, ierr )
+!
+!-- Transposition from x to y
+    remain_dims(1) = .FALSE.
+    remain_dims(2) = .TRUE.
+    CALL MPI_CART_SUB( comm2d, remain_dims, comm1dy, ierr )
+    CALL MPI_COMM_RANK( comm1dy, myidy, ierr )
+
+
+!
+!-- Find a grid (used for array d) which will match the transposition demands
+    IF ( grid_matching == 'strict' )  THEN
+
+       nxa = nx;  nya = ny;  nza = nz
+
+    ELSE
+
+       found = .FALSE.
+   xn: DO  nxa = nx, 2*nx
+!
+!--       Meet conditions for nx
+          IF ( MOD( nxa+1, pdims(1) ) /= 0 .OR. &
+               MOD( nxa+1, pdims(2) ) /= 0 )  CYCLE xn
+
+      yn: DO  nya = ny, 2*ny
+!
+!--          Meet conditions for ny
+             IF ( MOD( nya+1, pdims(2) ) /= 0 .OR. &
+                  MOD( nya+1, pdims(1) ) /= 0 )  CYCLE yn
+
+
+         zn: DO  nza = nz, 2*nz
+!
+!--             Meet conditions for nz
+                IF ( ( MOD( nza, pdims(1) ) /= 0  .AND.  pdims(1) /= 1  .AND. &
+                       pdims(2) /= 1 )  .OR.                                  &
+                     ( MOD( nza, pdims(2) ) /= 0  .AND.  dt_dosp /= 9999999.9 &
+                     ) )  THEN
+                   CYCLE zn
+                ELSE
+                   found = .TRUE.
+                   EXIT xn
+                ENDIF
+
+             ENDDO zn
+
+          ENDDO yn
+
+       ENDDO xn
+
+       IF ( .NOT. found )  THEN
+          message_string = 'no matching grid for transpositions found'
+          CALL message( 'init_pegrid', 'PA0224', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ENDIF
+
+!
+!-- Calculate array bounds in x-direction for every PE.
+!-- The last PE along x may get less grid points than the others
+    ALLOCATE( nxlf(0:pdims(1)-1), nxrf(0:pdims(1)-1), nynf(0:pdims(2)-1), &
+              nysf(0:pdims(2)-1), nnx_pe(0:pdims(1)-1), nny_pe(0:pdims(2)-1) )
+
+    IF ( MOD( nxa+1 , pdims(1) ) /= 0 )  THEN
+       WRITE( message_string, * ) 'x-direction: gridpoint number (',nx+1,') ',&
+                               'is not an& integral divisor of the number ',  &
+                               'processors (', pdims(1),')'
+       CALL message( 'init_pegrid', 'PA0225', 1, 2, 0, 6, 0 )
+    ELSE
+       nnx  = ( nxa + 1 ) / pdims(1)
+       IF ( nnx*pdims(1) - ( nx + 1) > nnx )  THEN
+          WRITE( message_string, * ) 'x-direction: nx does not match the',    & 
+                       'requirements given by the number of PEs &used',       &
+                       '& please use nx = ', nx - ( pdims(1) - ( nnx*pdims(1) &
+	                           - ( nx + 1 ) ) ), ' instead of nx =', nx
+          CALL message( 'init_pegrid', 'PA0226', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF    
+
+!
+!-- Left and right array bounds, number of gridpoints
+    DO  i = 0, pdims(1)-1
+       nxlf(i)   = i * nnx
+       nxrf(i)   = ( i + 1 ) * nnx - 1
+       nnx_pe(i) = MIN( nx, nxrf(i) ) - nxlf(i) + 1
+    ENDDO
+
+!
+!-- Calculate array bounds in y-direction for every PE.
+    IF ( MOD( nya+1 , pdims(2) ) /= 0 )  THEN
+       WRITE( message_string, * ) 'y-direction: gridpoint number (',ny+1,') ', &
+                           'is not an& integral divisor of the number of',     &
+                           'processors (', pdims(2),')'
+       CALL message( 'init_pegrid', 'PA0227', 1, 2, 0, 6, 0 )
+    ELSE
+       nny  = ( nya + 1 ) / pdims(2)
+       IF ( nny*pdims(2) - ( ny + 1) > nny )  THEN
+          WRITE( message_string, * ) 'y-direction: ny does not match the',    &
+                       'requirements given by the number of PEs &used ',      &
+                       '& please use ny = ', ny - ( pdims(2) - ( nnx*pdims(2) &
+                                     - ( ny + 1 ) ) ), ' instead of ny =', ny
+          CALL message( 'init_pegrid', 'PA0228', 1, 2, 0, 6, 0 )
+       ENDIF
+    ENDIF    
+
+!
+!-- South and north array bounds
+    DO  j = 0, pdims(2)-1
+       nysf(j)   = j * nny
+       nynf(j)   = ( j + 1 ) * nny - 1
+       nny_pe(j) = MIN( ny, nynf(j) ) - nysf(j) + 1
+    ENDDO
+
+!
+!-- Local array bounds of the respective PEs
+    nxl  = nxlf(pcoord(1))
+    nxra = nxrf(pcoord(1))
+    nxr  = MIN( nx, nxra )
+    nys  = nysf(pcoord(2))
+    nyna = nynf(pcoord(2))
+    nyn  = MIN( ny, nyna )
+    nzb  = 0
+    nzta = nza
+    nzt  = MIN( nz, nzta )
+    nnz  = nza
+
+!
+!-- Calculate array bounds and gridpoint numbers for the transposed arrays
+!-- (needed in the pressure solver)
+!-- For the transposed arrays, cyclic boundaries as well as top and bottom
+!-- boundaries are omitted, because they are obstructive to the transposition
+
+!
+!-- 1. transposition  z --> x
+!-- This transposition is not neccessary in case of a 1d-decomposition along x,
+!-- except that the uptream-spline method is switched on
+    IF ( pdims(2) /= 1  .OR.  momentum_advec == 'ups-scheme'  .OR. &
+         scalar_advec == 'ups-scheme' )  THEN
+
+       IF ( pdims(2) == 1  .AND. ( momentum_advec == 'ups-scheme'  .OR. &
+            scalar_advec == 'ups-scheme' ) )  THEN
+          message_string = '1d-decomposition along x ' // &
+                           'chosen but nz restrictions may occur' // &
+                           '& since ups-scheme is activated'
+          CALL message( 'init_pegrid', 'PA0229', 0, 1, 0, 6, 0 )
+       ENDIF
+       nys_x  = nys
+       nyn_xa = nyna
+       nyn_x  = nyn
+       nny_x  = nny
+       IF ( MOD( nza , pdims(1) ) /= 0 )  THEN
+          WRITE( message_string, * ) 'transposition z --> x:',                &
+                       '&nz=',nz,' is not an integral divisior of pdims(1)=', &
+                                                                   pdims(1)
+          CALL message( 'init_pegrid', 'PA0230', 1, 2, 0, 6, 0 )
+       ENDIF
+       nnz_x  = nza / pdims(1)
+       nzb_x  = 1 + myidx * nnz_x
+       nzt_xa = ( myidx + 1 ) * nnz_x
+       nzt_x  = MIN( nzt, nzt_xa )
+
+       sendrecvcount_zx = nnx * nny * nnz_x
+
+    ELSE
+!
+!---   Setting of dummy values because otherwise variables are undefined in
+!---   the next step  x --> y
+!---   WARNING: This case has still to be clarified!!!!!!!!!!!!
+       nnz_x  = 1
+       nzb_x  = 1
+       nzt_xa = 1
+       nzt_x  = 1
+       nny_x  = nny
+
+    ENDIF
+
+!
+!-- 2. transposition  x --> y
+    nnz_y  = nnz_x
+    nzb_y  = nzb_x
+    nzt_ya = nzt_xa
+    nzt_y  = nzt_x
+    IF ( MOD( nxa+1 , pdims(2) ) /= 0 )  THEN
+       WRITE( message_string, * ) 'transposition x --> y:',                &
+                         '&nx+1=',nx+1,' is not an integral divisor of ',&
+                         'pdims(2)=',pdims(2)
+       CALL message( 'init_pegrid', 'PA0231', 1, 2, 0, 6, 0 )
+    ENDIF
+    nnx_y = (nxa+1) / pdims(2)
+    nxl_y = myidy * nnx_y
+    nxr_ya = ( myidy + 1 ) * nnx_y - 1
+    nxr_y  = MIN( nx, nxr_ya )
+
+    sendrecvcount_xy = nnx_y * nny_x * nnz_y
+
+!
+!-- 3. transposition  y --> z  (ELSE:  x --> y  in case of 1D-decomposition
+!-- along x)
+    IF ( pdims(2) /= 1  .OR.  momentum_advec == 'ups-scheme'  .OR. &
+         scalar_advec == 'ups-scheme' )  THEN
+!
+!--    y --> z
+!--    This transposition is not neccessary in case of a 1d-decomposition
+!--    along x, except that the uptream-spline method is switched on
+       nnx_z  = nnx_y
+       nxl_z  = nxl_y
+       nxr_za = nxr_ya
+       nxr_z  = nxr_y
+       IF ( MOD( nya+1 , pdims(1) ) /= 0 )  THEN
+          WRITE( message_string, * ) 'transposition y --> z:',            &
+                            '& ny+1=',ny+1,' is not an integral divisor of ',&
+                            'pdims(1)=',pdims(1)
+          CALL message( 'init_pegrid', 'PA0232', 1, 2, 0, 6, 0 )
+       ENDIF
+       nny_z  = (nya+1) / pdims(1)
+       nys_z  = myidx * nny_z
+       nyn_za = ( myidx + 1 ) * nny_z - 1
+       nyn_z  = MIN( ny, nyn_za )
+
+       sendrecvcount_yz = nnx_y * nny_z * nnz_y
+
+    ELSE
+!
+!--    x --> y. This condition must be fulfilled for a 1D-decomposition along x
+       IF ( MOD( nya+1 , pdims(1) ) /= 0 )  THEN
+          WRITE( message_string, * ) 'transposition x --> y:',               &
+                            '& ny+1=',ny+1,' is not an integral divisor of ',&
+                            'pdims(1)=',pdims(1)
+          CALL message( 'init_pegrid', 'PA0233', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ENDIF
+
+!
+!-- Indices for direct transpositions z --> y (used for calculating spectra)
+    IF ( dt_dosp /= 9999999.9 )  THEN
+       IF ( MOD( nza, pdims(2) ) /= 0 )  THEN
+          WRITE( message_string, * ) 'direct transposition z --> y (needed ', &
+                    'for spectra):& nz=',nz,' is not an integral divisor of ',&
+                    'pdims(2)=',pdims(2)
+          CALL message( 'init_pegrid', 'PA0234', 1, 2, 0, 6, 0 )
+       ELSE
+          nxl_yd  = nxl
+          nxr_yda = nxra
+          nxr_yd  = nxr
+          nzb_yd  = 1 + myidy * ( nza / pdims(2) )
+          nzt_yda = ( myidy + 1 ) * ( nza / pdims(2) )
+          nzt_yd  = MIN( nzt, nzt_yda )
+
+          sendrecvcount_zyd = nnx * nny * ( nza / pdims(2) )
+       ENDIF
+    ENDIF
+
+!
+!-- Indices for direct transpositions y --> x (they are only possible in case
+!-- of a 1d-decomposition along x)
+    IF ( pdims(2) == 1 )  THEN
+       nny_x  = nny / pdims(1)
+       nys_x  = myid * nny_x
+       nyn_xa = ( myid + 1 ) * nny_x - 1
+       nyn_x  = MIN( ny, nyn_xa )
+       nzb_x  = 1
+       nzt_xa = nza
+       nzt_x  = nz
+       sendrecvcount_xy = nnx * nny_x * nza
+    ENDIF
+
+!
+!-- Indices for direct transpositions x --> y (they are only possible in case
+!-- of a 1d-decomposition along y)
+    IF ( pdims(1) == 1 )  THEN
+       nnx_y  = nnx / pdims(2)
+       nxl_y  = myid * nnx_y
+       nxr_ya = ( myid + 1 ) * nnx_y - 1
+       nxr_y  = MIN( nx, nxr_ya )
+       nzb_y  = 1
+       nzt_ya = nza
+       nzt_y  = nz
+       sendrecvcount_xy = nnx_y * nny * nza
+    ENDIF
+
+!
+!-- Arrays for storing the array bounds are needed any more
+    DEALLOCATE( nxlf , nxrf , nynf , nysf )
+
+!
+!-- Collect index bounds from other PEs (to be written to restart file later)
+    ALLOCATE( hor_index_bounds(4,0:numprocs-1) )
+
+    IF ( myid == 0 )  THEN
+
+       hor_index_bounds(1,0) = nxl
+       hor_index_bounds(2,0) = nxr
+       hor_index_bounds(3,0) = nys
+       hor_index_bounds(4,0) = nyn
+
+!
+!--    Receive data from all other PEs
+       DO  i = 1, numprocs-1
+          CALL MPI_RECV( ibuf, 4, MPI_INTEGER, i, MPI_ANY_TAG, comm2d, status, &
+                         ierr )
+          hor_index_bounds(:,i) = ibuf(1:4)
+       ENDDO
+
+    ELSE
+!
+!--    Send index bounds to PE0
+       ibuf(1) = nxl
+       ibuf(2) = nxr
+       ibuf(3) = nys
+       ibuf(4) = nyn
+       CALL MPI_SEND( ibuf, 4, MPI_INTEGER, 0, myid, comm2d, ierr )
+
+    ENDIF
+
+#if defined( __print )
+!
+!-- Control output
+    IF ( myid == 0 )  THEN
+       PRINT*, '*** processor topology ***'
+       PRINT*, ' '
+       PRINT*, 'myid   pcoord    left right  south north  idx idy   nxl: nxr',&
+               &'   nys: nyn'
+       PRINT*, '------------------------------------------------------------',&
+               &'-----------'
+       WRITE (*,1000)  0, pcoord(1), pcoord(2), pleft, pright, psouth, pnorth, &
+                       myidx, myidy, nxl, nxr, nys, nyn
+1000   FORMAT (I4,2X,'(',I3,',',I3,')',3X,I4,2X,I4,3X,I4,2X,I4,2X,I3,1X,I3, &
+               2(2X,I4,':',I4))
+
+!
+!--    Receive data from the other PEs
+       DO  i = 1,numprocs-1
+          CALL MPI_RECV( ibuf, 12, MPI_INTEGER, i, MPI_ANY_TAG, comm2d, status, &
+                         ierr )
+          WRITE (*,1000)  i, ( ibuf(j) , j = 1,12 )
+       ENDDO
+    ELSE
+
+!
+!--    Send data to PE0
+       ibuf(1) = pcoord(1); ibuf(2) = pcoord(2); ibuf(3) = pleft
+       ibuf(4) = pright; ibuf(5) = psouth; ibuf(6) = pnorth; ibuf(7) = myidx
+       ibuf(8) = myidy; ibuf(9) = nxl; ibuf(10) = nxr; ibuf(11) = nys
+       ibuf(12) = nyn
+       CALL MPI_SEND( ibuf, 12, MPI_INTEGER, 0, myid, comm2d, ierr )       
+    ENDIF
+#endif
+
+#if defined( __parallel )
+#if defined( __mpi2 )
+!
+!-- In case of coupled runs, get the port name on PE0 of the atmosphere model
+!-- and pass it to PE0 of the ocean model
+    IF ( myid == 0 )  THEN
+
+       IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+
+          CALL MPI_OPEN_PORT( MPI_INFO_NULL, port_name, ierr )
+!
+!--       TEST OUTPUT (TO BE REMOVED)
+          WRITE(9,*)  TRIM( coupling_mode ),  &
+               ', ierr after MPI_OPEN_PORT: ', ierr
+          CALL LOCAL_FLUSH( 9 )
+
+          CALL MPI_PUBLISH_NAME( 'palm_coupler', MPI_INFO_NULL, port_name, &
+                                 ierr )
+!
+!--       TEST OUTPUT (TO BE REMOVED)
+          WRITE(9,*)  TRIM( coupling_mode ),  &
+               ', ierr after MPI_PUBLISH_NAME: ', ierr
+          CALL LOCAL_FLUSH( 9 )
+
+!
+!--       Write a flag file for the ocean model and the other atmosphere
+!--       processes.
+!--       There seems to be a bug in MPICH2 which causes hanging processes
+!--       in case that execution of LOOKUP_NAME is continued too early
+!--       (i.e. before the port has been created)
+          OPEN( 90, FILE='COUPLING_PORT_OPENED', FORM='FORMATTED' )
+          WRITE ( 90, '(''TRUE'')' )
+          CLOSE ( 90 )
+
+       ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+
+!
+!--       Continue only if the atmosphere model has created the port.
+!--       There seems to be a bug in MPICH2 which causes hanging processes
+!--       in case that execution of LOOKUP_NAME is continued too early
+!--       (i.e. before the port has been created)
+          INQUIRE( FILE='COUPLING_PORT_OPENED', EXIST=found )
+          DO WHILE ( .NOT. found )
+             INQUIRE( FILE='COUPLING_PORT_OPENED', EXIST=found )
+          ENDDO
+
+          CALL MPI_LOOKUP_NAME( 'palm_coupler', MPI_INFO_NULL, port_name, ierr )
+!
+!--       TEST OUTPUT (TO BE REMOVED)
+          WRITE(9,*)  TRIM( coupling_mode ),  &
+               ', ierr after MPI_LOOKUP_NAME: ', ierr
+          CALL LOCAL_FLUSH( 9 )
+
+
+       ENDIF
+
+    ENDIF
+
+!
+!-- In case of coupled runs, establish the connection between the atmosphere
+!-- and the ocean model and define the intercommunicator (comm_inter)
+    CALL MPI_BARRIER( comm2d, ierr )
+    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+
+       PRINT*, '... before COMM_ACCEPT'
+       CALL MPI_COMM_ACCEPT( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &
+                             comm_inter, ierr )
+       PRINT*, '--- ierr = ', ierr
+       PRINT*, '--- comm_inter atmosphere = ', comm_inter
+
+       coupling_mode_remote = 'ocean_to_atmosphere'
+
+    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+
+       IF ( myid == 0 )  PRINT*, '*** read: ', port_name, '  ierr = ', ierr
+       PRINT*, '... before COMM_CONNECT'
+       CALL MPI_COMM_CONNECT( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &
+                              comm_inter, ierr )
+       PRINT*, '--- ierr = ', ierr
+       PRINT*, '--- comm_inter ocean      = ', comm_inter
+
+       coupling_mode_remote = 'atmosphere_to_ocean'
+
+    ENDIF
+#endif
+
+!
+!-- In case of coupled runs, create a new MPI derived datatype for the
+!-- exchange of surface (xy) data .
+!-- Gridpoint number for the exchange of ghost points (xy-plane)
+    ngp_xy  = ( nxr - nxl + 3 ) * ( nyn - nys + 3 )
+
+!
+!-- Define a new MPI derived datatype for the exchange of ghost points in
+!-- y-direction for 2D-arrays (line)
+    CALL MPI_TYPE_VECTOR( ngp_xy, 1, nzt-nzb+2, MPI_REAL, type_xy, ierr )
+    CALL MPI_TYPE_COMMIT( type_xy, ierr )
+#endif
+
+#else
+
+!
+!-- Array bounds when running on a single PE (respectively a non-parallel
+!-- machine)
+    nxl  = 0
+    nxr  = nx
+    nxra = nx
+    nnx  = nxr - nxl + 1
+    nys  = 0
+    nyn  = ny
+    nyna = ny
+    nny  = nyn - nys + 1
+    nzb  = 0
+    nzt  = nz
+    nzta = nz
+    nnz  = nz
+
+    ALLOCATE( hor_index_bounds(4,0:0) )
+    hor_index_bounds(1,0) = nxl
+    hor_index_bounds(2,0) = nxr
+    hor_index_bounds(3,0) = nys
+    hor_index_bounds(4,0) = nyn
+
+!
+!-- Array bounds for the pressure solver (in the parallel code, these bounds
+!-- are the ones for the transposed arrays)
+    nys_x  = nys
+    nyn_x  = nyn
+    nyn_xa = nyn
+    nzb_x  = nzb + 1
+    nzt_x  = nzt
+    nzt_xa = nzt
+
+    nxl_y  = nxl
+    nxr_y  = nxr
+    nxr_ya = nxr
+    nzb_y  = nzb + 1
+    nzt_y  = nzt
+    nzt_ya = nzt
+
+    nxl_z  = nxl
+    nxr_z  = nxr
+    nxr_za = nxr
+    nys_z  = nys
+    nyn_z  = nyn
+    nyn_za = nyn
+
+#endif
+
+!
+!-- Calculate number of grid levels necessary for the multigrid poisson solver
+!-- as well as the gridpoint indices on each level
+    IF ( psolver == 'multigrid' )  THEN
+
+!
+!--    First calculate number of possible grid levels for the subdomains
+       mg_levels_x = 1
+       mg_levels_y = 1
+       mg_levels_z = 1
+
+       i = nnx
+       DO WHILE ( MOD( i, 2 ) == 0  .AND.  i /= 2 )
+          i = i / 2
+          mg_levels_x = mg_levels_x + 1
+       ENDDO
+
+       j = nny
+       DO WHILE ( MOD( j, 2 ) == 0  .AND.  j /= 2 )
+          j = j / 2
+          mg_levels_y = mg_levels_y + 1
+       ENDDO
+
+       k = nz    ! do not use nnz because it might be > nz due to transposition
+                 ! requirements
+       DO WHILE ( MOD( k, 2 ) == 0  .AND.  k /= 2 )
+          k = k / 2
+          mg_levels_z = mg_levels_z + 1
+       ENDDO
+
+       maximum_grid_level = MIN( mg_levels_x, mg_levels_y, mg_levels_z )
+
+!
+!--    Find out, if the total domain allows more levels. These additional
+!--    levels are processed on PE0 only.
+       IF ( numprocs > 1  .AND.  mg_switch_to_pe0_level /= -1 )  THEN
+          IF ( mg_levels_z > MIN( mg_levels_x, mg_levels_y ) )  THEN
+             mg_switch_to_pe0_level_l = maximum_grid_level
+
+             mg_levels_x = 1
+             mg_levels_y = 1
+
+             i = nx+1
+             DO WHILE ( MOD( i, 2 ) == 0  .AND.  i /= 2 )
+                i = i / 2
+                mg_levels_x = mg_levels_x + 1
+             ENDDO
+
+             j = ny+1
+             DO WHILE ( MOD( j, 2 ) == 0  .AND.  j /= 2 )
+                j = j / 2
+                mg_levels_y = mg_levels_y + 1
+             ENDDO
+
+             maximum_grid_level_l = MIN( mg_levels_x, mg_levels_y, mg_levels_z )
+
+             IF ( maximum_grid_level_l > mg_switch_to_pe0_level_l )  THEN
+                mg_switch_to_pe0_level_l = maximum_grid_level_l - &
+                                           mg_switch_to_pe0_level_l + 1
+             ELSE
+                mg_switch_to_pe0_level_l = 0
+             ENDIF
+          ELSE
+             mg_switch_to_pe0_level_l = 0
+             maximum_grid_level_l = maximum_grid_level
+          ENDIF
+
+!
+!--       Use switch level calculated above only if it is not pre-defined
+!--       by user
+          IF ( mg_switch_to_pe0_level == 0 )  THEN
+
+             IF ( mg_switch_to_pe0_level_l /= 0 )  THEN
+                mg_switch_to_pe0_level = mg_switch_to_pe0_level_l
+                maximum_grid_level     = maximum_grid_level_l
+             ENDIF
+
+          ELSE
+!
+!--          Check pre-defined value and reset to default, if neccessary
+             IF ( mg_switch_to_pe0_level < mg_switch_to_pe0_level_l  .OR.  &
+                  mg_switch_to_pe0_level >= maximum_grid_level_l )  THEN
+                message_string = 'mg_switch_to_pe0_level ' // &
+                                 'out of range and reset to default (=0)'
+                CALL message( 'init_pegrid', 'PA0235', 0, 1, 0, 6, 0 )
+                mg_switch_to_pe0_level = 0
+             ELSE
+!
+!--             Use the largest number of possible levels anyway and recalculate
+!--             the switch level to this largest number of possible values
+                maximum_grid_level = maximum_grid_level_l
+
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+       ALLOCATE( grid_level_count(maximum_grid_level),                   &
+                 nxl_mg(maximum_grid_level), nxr_mg(maximum_grid_level), &
+                 nyn_mg(maximum_grid_level), nys_mg(maximum_grid_level), &
+                 nzt_mg(maximum_grid_level) )
+
+       grid_level_count = 0
+       nxl_l = nxl; nxr_l = nxr; nys_l = nys; nyn_l = nyn; nzt_l = nzt
+
+       DO  i = maximum_grid_level, 1 , -1
+
+          IF ( i == mg_switch_to_pe0_level )  THEN
+#if defined( __parallel )
+!
+!--          Save the grid size of the subdomain at the switch level, because
+!--          it is needed in poismg.
+!--          Array bounds of the local subdomain grids are gathered on PE0
+             ind(1) = nxl_l; ind(2) = nxr_l
+             ind(3) = nys_l; ind(4) = nyn_l
+             ind(5) = nzt_l
+             ALLOCATE( ind_all(5*numprocs), mg_loc_ind(5,0:numprocs-1) )
+             CALL MPI_ALLGATHER( ind, 5, MPI_INTEGER, ind_all, 5, &
+                                 MPI_INTEGER, comm2d, ierr )
+             DO  j = 0, numprocs-1
+                DO  k = 1, 5
+                   mg_loc_ind(k,j) = ind_all(k+j*5)
+                ENDDO
+             ENDDO
+             DEALLOCATE( ind_all )
+!
+!--          Calculate the grid size of the total domain gathered on PE0
+             nxr_l = ( nxr_l-nxl_l+1 ) * pdims(1) - 1
+             nxl_l = 0
+             nyn_l = ( nyn_l-nys_l+1 ) * pdims(2) - 1
+             nys_l = 0
+!
+!--          The size of this gathered array must not be larger than the
+!--          array tend, which is used in the multigrid scheme as a temporary
+!--          array
+             subdomain_size = ( nxr - nxl + 3 )     * ( nyn - nys + 3 )     * &
+                              ( nzt - nzb + 2 )
+             gathered_size  = ( nxr_l - nxl_l + 3 ) * ( nyn_l - nys_l + 3 ) * &
+                              ( nzt_l - nzb + 2 )
+
+             IF ( gathered_size > subdomain_size )  THEN
+                message_string = 'not enough memory for storing ' // &
+                                 'gathered multigrid data on PE0'
+                CALL message( 'init_pegrid', 'PA0236', 1, 2, 0, 6, 0 )
+             ENDIF
+#else
+             message_string = 'multigrid gather/scatter impossible ' // &
+                          'in non parallel mode'
+             CALL message( 'init_pegrid', 'PA0237', 1, 2, 0, 6, 0 )
+#endif
+          ENDIF
+
+          nxl_mg(i) = nxl_l
+          nxr_mg(i) = nxr_l
+          nys_mg(i) = nys_l
+          nyn_mg(i) = nyn_l
+          nzt_mg(i) = nzt_l
+
+          nxl_l = nxl_l / 2 
+          nxr_l = nxr_l / 2
+          nys_l = nys_l / 2 
+          nyn_l = nyn_l / 2 
+          nzt_l = nzt_l / 2 
+       ENDDO
+
+    ELSE
+
+       maximum_grid_level = 1
+
+    ENDIF
+
+    grid_level = maximum_grid_level
+
+#if defined( __parallel )
+!
+!-- Gridpoint number for the exchange of ghost points (y-line for 2D-arrays)
+    ngp_y  = nyn - nys + 1
+
+!
+!-- Define a new MPI derived datatype for the exchange of ghost points in
+!-- y-direction for 2D-arrays (line)
+    CALL MPI_TYPE_VECTOR( nxr-nxl+3, 1, ngp_y+2, MPI_REAL, type_x, ierr )
+    CALL MPI_TYPE_COMMIT( type_x, ierr )
+    CALL MPI_TYPE_VECTOR( nxr-nxl+3, 1, ngp_y+2, MPI_INTEGER, type_x_int, ierr )
+    CALL MPI_TYPE_COMMIT( type_x_int, ierr )
+
+!
+!-- Calculate gridpoint numbers for the exchange of ghost points along x
+!-- (yz-plane for 3D-arrays) and define MPI derived data type(s) for the
+!-- exchange of ghost points in y-direction (xz-plane).
+!-- Do these calculations for the model grid and (if necessary) also
+!-- for the coarser grid levels used in the multigrid method
+    ALLOCATE ( ngp_yz(maximum_grid_level), type_xz(maximum_grid_level) )
+
+    nxl_l = nxl; nxr_l = nxr; nys_l = nys; nyn_l = nyn; nzb_l = nzb; nzt_l = nzt
+         
+    DO i = maximum_grid_level, 1 , -1
+       ngp_yz(i) = (nzt_l - nzb_l + 2) * (nyn_l - nys_l + 3)
+
+       CALL MPI_TYPE_VECTOR( nxr_l-nxl_l+3, nzt_l-nzb_l+2, ngp_yz(i), &
+                             MPI_REAL, type_xz(i), ierr )
+       CALL MPI_TYPE_COMMIT( type_xz(i), ierr )
+
+       nxl_l = nxl_l / 2 
+       nxr_l = nxr_l / 2
+       nys_l = nys_l / 2 
+       nyn_l = nyn_l / 2 
+       nzt_l = nzt_l / 2 
+    ENDDO
+#endif
+
+#if defined( __parallel )
+!
+!-- Setting of flags for inflow/outflow conditions in case of non-cyclic
+!-- horizontal boundary conditions.
+    IF ( pleft == MPI_PROC_NULL )  THEN
+       IF ( bc_lr == 'dirichlet/radiation' )  THEN
+          inflow_l  = .TRUE.
+       ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
+          outflow_l = .TRUE.
+       ENDIF
+    ENDIF
+
+    IF ( pright == MPI_PROC_NULL )  THEN
+       IF ( bc_lr == 'dirichlet/radiation' )  THEN
+          outflow_r = .TRUE.
+       ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
+          inflow_r  = .TRUE.
+       ENDIF
+    ENDIF
+
+    IF ( psouth == MPI_PROC_NULL )  THEN
+       IF ( bc_ns == 'dirichlet/radiation' )  THEN
+          outflow_s = .TRUE.
+       ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
+          inflow_s  = .TRUE.
+       ENDIF
+    ENDIF
+
+    IF ( pnorth == MPI_PROC_NULL )  THEN
+       IF ( bc_ns == 'dirichlet/radiation' )  THEN
+          inflow_n  = .TRUE.
+       ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
+          outflow_n = .TRUE.
+       ENDIF
+    ENDIF
+
+!
+!-- Broadcast the id of the inflow PE
+    IF ( inflow_l )  THEN
+       id_inflow_l = myidx
+    ELSE
+       id_inflow_l = 0
+    ENDIF
+    CALL MPI_ALLREDUCE( id_inflow_l, id_inflow, 1, MPI_INTEGER, MPI_SUM, &
+                        comm1dx, ierr )
+
+!
+!-- Broadcast the id of the recycling plane
+!-- WARNING: needs to be adjusted in case of inflows other than from left side!
+    IF ( ( recycling_width / dx ) >= nxl  .AND.  ( recycling_width / dx ) <= nxr ) &
+    THEN
+       id_recycling_l = myidx
+    ELSE
+       id_recycling_l = 0
+    ENDIF
+    CALL MPI_ALLREDUCE( id_recycling_l, id_recycling, 1, MPI_INTEGER, MPI_SUM, &
+                        comm1dx, ierr )
+
+#else
+    IF ( bc_lr == 'dirichlet/radiation' )  THEN
+       inflow_l  = .TRUE.
+       outflow_r = .TRUE.
+    ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
+       outflow_l = .TRUE.
+       inflow_r  = .TRUE.
+    ENDIF
+
+    IF ( bc_ns == 'dirichlet/radiation' )  THEN
+       inflow_n  = .TRUE.
+       outflow_s = .TRUE.
+    ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
+       outflow_n = .TRUE.
+       inflow_s  = .TRUE.
+    ENDIF
+#endif
+!
+!-- At the outflow, u or v, respectively, have to be calculated for one more
+!-- grid point.
+    IF ( outflow_l )  THEN
+       nxlu = nxl + 1
+    ELSE
+       nxlu = nxl
+    ENDIF
+    IF ( outflow_s )  THEN
+       nysv = nys + 1
+    ELSE
+       nysv = nys
+    ENDIF
+
+    IF ( psolver == 'poisfft_hybrid' )  THEN
+       CALL poisfft_hybrid_ini
+    ELSEIF ( psolver == 'poisfft' )  THEN
+       CALL poisfft_init
+    ENDIF
+
+!
+!-- Allocate wall flag arrays used in the multigrid solver
+    IF ( psolver == 'multigrid' )  THEN
+
+       DO  i = maximum_grid_level, 1, -1
+
+           SELECT CASE ( i )
+
+              CASE ( 1 )
+                 ALLOCATE( wall_flags_1(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 2 )
+                 ALLOCATE( wall_flags_2(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 3 )
+                 ALLOCATE( wall_flags_3(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 4 )
+                 ALLOCATE( wall_flags_4(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 5 )
+                 ALLOCATE( wall_flags_5(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 6 )
+                 ALLOCATE( wall_flags_6(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 7 )
+                 ALLOCATE( wall_flags_7(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 8 )
+                 ALLOCATE( wall_flags_8(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 9 )
+                 ALLOCATE( wall_flags_9(nzb:nzt_mg(i)+1,         &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE ( 10 )
+                 ALLOCATE( wall_flags_10(nzb:nzt_mg(i)+1,        &
+                                        nys_mg(i)-1:nyn_mg(i)+1, &
+                                        nxl_mg(i)-1:nxr_mg(i)+1) )
+
+              CASE DEFAULT
+                 message_string = 'more than 10 multigrid levels'
+                 CALL message( 'init_pegrid', 'PA0238', 1, 2, 0, 6, 0 )
+
+          END SELECT
+
+       ENDDO
+
+    ENDIF
+
+ END SUBROUTINE init_pegrid
Index: palm/tags/release-3.7/SOURCE/init_pt_anomaly.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_pt_anomaly.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_pt_anomaly.f90	(revision 393)
@@ -0,0 +1,78 @@
+ SUBROUTINE init_pt_anomaly
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 75 2007-03-22 09:54:05Z raasch
+! 2nd+3rd argument removed from exchange horiz
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Calculation extended for gridpoint nzt
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.7  2005/03/26 20:36:55  raasch
+! Arguments for non-cyclic boundary conditions added to argument list of
+! routine exchange_horiz
+!
+! Revision 1.1  1997/08/29 08:58:56  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Impose a temperature perturbation for an advection test.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE constants
+    USE grid_variables
+    USE indices
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ic, j, jc, k, kc
+    REAL    ::  betrag, radius, rc, x, y, z
+
+!
+!-- Defaults: radius rc, strength z,
+!--           position of centre: ic, jc, kc
+    rc =  10.0 * dx
+    ic =  ( nx+1 ) / 2
+    jc =  ic
+    kc = nzt / 2
+
+!
+!-- Compute the perturbation.
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             x = ( i - ic ) * dx
+             y = ( j - jc ) * dy
+             z = ABS( zu(k) - zu(kc) )
+             radius = SQRT( x**2 + y**2 + z**2 )
+             IF ( radius <= rc )  THEN
+                betrag = 5.0 * EXP( -( radius / 2.0 )**2 )
+             ELSE
+                betrag = 0.0
+             ENDIF
+
+             pt(k,j,i) = pt(k,j,i) + betrag
+
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Exchange of boundary values for temperature
+    CALL exchange_horiz( pt )
+
+
+ END SUBROUTINE init_pt_anomaly
Index: palm/tags/release-3.7/SOURCE/init_rankine.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_rankine.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_rankine.f90	(revision 393)
@@ -0,0 +1,158 @@
+ SUBROUTINE init_rankine
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 107 2007-08-17 13:54:45Z raasch
+! Initial profiles are reset to constant profiles
+!
+! 75 2007-03-22 09:54:05Z raasch
+! uxrp, vynp eliminated, 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2005/03/26 20:38:49  raasch
+! Arguments for non-cyclic boundary conditions added to argument list of
+! routine exchange_horiz
+!
+! Revision 1.1  1997/08/11 06:18:43  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initialize a (nondivergent) Rankine eddy with a vertical axis in order to test 
+! the advection terms and the pressure solver.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE constants
+    USE grid_variables
+    USE indices
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ic, j, jc, k, kc1, kc2
+    REAL    ::  alpha, betrag, radius, rc, uw, vw, x, y
+
+!
+!-- Default: eddy radius rc, eddy strength z,
+!--          position of eddy centre: ic, jc, kc1, kc2
+    rc  =  4.0 * dx
+    ic  =  ( nx+1 ) / 2
+    jc  =  ic
+    kc1 = nzb
+    kc2 = nzt+1
+
+!
+!-- Reset initial profiles to constant profiles
+    IF ( INDEX(initializing_actions, 'set_constant_profiles') /= 0 )  THEN
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             pt(:,j,i) = pt_init
+             u(:,j,i)  = u_init
+             v(:,j,i)  = v_init
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Compute the u-component.
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          x = ( i - ic - 0.5 ) * dx
+          y = ( j - jc ) * dy
+          radius = SQRT( x**2 + y**2 )
+          IF ( radius <= 2.0 * rc )  THEN
+             betrag = radius / ( 2.0 * rc ) * 0.08
+          ELSEIF ( radius > 2.0 * rc  .AND.  radius < 8.0 * rc )  THEN
+             betrag = 0.08 * EXP( -( radius - 2.0 * rc ) / 2.0 )
+          ELSE
+             betrag = 0.0
+          ENDIF
+
+          IF ( x == 0.0 )  THEN
+             IF ( y > 0.0 )  THEN
+                alpha = pi / 2.0
+             ELSEIF ( y < 0.0 )  THEN
+                alpha = 3.0 * pi / 2.0
+             ENDIF
+          ELSE
+             IF ( x < 0.0 )  THEN
+                alpha = ATAN( y / x ) + pi
+             ELSE
+                IF ( y < 0.0 )  THEN
+                   alpha = ATAN( y / x ) + 2.0 * pi
+                ELSE
+                   alpha = ATAN( y / x )
+                ENDIF
+             ENDIF
+          ENDIF
+
+          uw = -SIN( alpha ) * betrag
+
+          DO  k = kc1, kc2
+             u(k,j,i) = u(k,j,i) + uw
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Compute the v-component.
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          x = ( i - ic ) * dx
+          y = ( j - jc - 0.5) * dy
+          radius = SQRT( x**2 + y**2 )
+          IF ( radius <= 2.0 * rc )  THEN
+             betrag = radius / ( 2.0 * rc ) * 0.08
+          ELSEIF ( radius > 2.0 * rc  .AND.  radius < 8.0 * rc )  THEN
+             betrag = 0.08 * EXP( -( radius - 2.0 * rc ) / 2.0 )
+          ELSE
+             betrag = 0.0
+          ENDIF
+
+          IF ( x == 0.0 )  THEN
+             IF ( y > 0.0 )  THEN
+                alpha = pi / 2.0
+             ELSEIF ( y < 0.0 )  THEN
+                alpha = 3.0 * pi / 2.0
+             ENDIF
+          ELSE
+             IF ( x < 0.0 )  THEN
+                alpha = ATAN( y / x ) + pi
+             ELSE
+                IF ( y < 0.0 )  THEN
+                   alpha = ATAN( y / x ) + 2.0 * pi
+                ELSE
+                   alpha = ATAN( y / x )
+                ENDIF
+             ENDIF
+          ENDIF
+
+          vw = COS( alpha ) * betrag
+
+          DO  k = kc1, kc2
+             v(k,j,i) = v(k,j,i) + vw
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Exchange of boundary values for the velocities.
+    CALL exchange_horiz( u )
+    CALL exchange_horiz( v )
+!
+!-- Make velocity field nondivergent.
+    n_sor = nsor_ini
+    CALL pres
+    n_sor = nsor
+
+ END SUBROUTINE init_rankine
Index: palm/tags/release-3.7/SOURCE/init_slope.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/init_slope.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/init_slope.f90	(revision 393)
@@ -0,0 +1,116 @@
+ SUBROUTINE init_slope
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2006/02/23 12:35:34  raasch
+! nanz_2dh renamed ngp_2dh
+!
+! Revision 1.1  2000/04/27 07:06:24  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initialization of the temperature field and other variables used in case
+! of a sloping surface.
+! Remember: when a sloping surface is used, only one constant temperature
+!           gradient is allowed!
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE constants
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+    REAL    ::  alpha, height, pt_value, radius
+    REAL, DIMENSION(:), ALLOCATABLE ::  pt_init_local
+
+!
+!-- Calculate reference temperature field needed for computing buoyancy
+    ALLOCATE( pt_slope_ref(nzb:nzt+1,nxl-1:nxr+1) )
+
+    DO  i = nxl-1, nxr+1
+       DO  k = nzb, nzt+1
+
+!
+!--       Compute height of grid-point relative to lower left corner of
+!--       the total domain.
+!--       First compute the distance between the actual grid point and the
+!--       lower left corner as well as the angle between the line connecting
+!--       these points and the bottom of the model.
+          IF ( k /= nzb )  THEN
+             radius = SQRT( ( i * dx )**2 + zu(k)**2 )
+             height = zu(k)
+          ELSE
+             radius = SQRT( ( i * dx )**2 )
+             height = 0.0
+          ENDIF
+          IF ( radius /= 0.0 )  THEN
+             alpha = ASIN( height / radius )
+          ELSE
+             alpha = 0.0
+          ENDIF
+!
+!--       Compute temperatures in the rotated coordinate system
+          alpha    = alpha + alpha_surface / 180.0 * pi
+          pt_value = pt_surface + radius * SIN( alpha ) * &
+                                  pt_vertical_gradient(1) / 100.0
+          pt_slope_ref(k,i) = pt_value
+       ENDDO                
+    ENDDO
+
+!
+!-- Temperature difference between left and right boundary of the total domain,
+!-- used for the cyclic boundary in x-direction
+    pt_slope_offset = (nx+1) * dx * sin_alpha_surface * &
+                      pt_vertical_gradient(1) / 100.0
+
+
+!
+!-- Following action must only be executed for initial runs
+    IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
+!
+!--    Set initial temperature equal to the reference temperature field
+       DO  j = nys-1, nyn+1
+          pt(:,j,:) = pt_slope_ref
+       ENDDO
+
+!
+!--    Recompute the mean initial temperature profile (mean along x-direction of
+!--    the rotated coordinate system)
+       ALLOCATE( pt_init_local(nzb:nzt+1) )
+       pt_init_local = 0.0
+       DO  i = nxl, nxr
+          DO  j =  nys, nyn
+             DO  k = nzb, nzt+1
+                pt_init_local(k) = pt_init_local(k) + pt(k,j,i)
+             ENDDO
+          ENDDO
+      ENDDO
+
+#if defined( __parallel )
+      CALL MPI_ALLREDUCE( pt_init_local, pt_init, nzt+2-nzb, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )
+#else
+      pt_init = pt_init_local
+#endif
+
+      pt_init = pt_init / ngp_2dh(0)
+      DEALLOCATE( pt_init_local )
+
+   ENDIF
+
+ END SUBROUTINE init_slope
Index: palm/tags/release-3.7/SOURCE/interaction_droplets_ptq.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/interaction_droplets_ptq.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/interaction_droplets_ptq.f90	(revision 393)
@@ -0,0 +1,87 @@
+ MODULE interaction_droplets_ptq_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.1  2005/06/26 19:57:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Release of latent heat and change of specific humidity due to condensation /
+! evaporation of droplets.
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC interaction_droplets_ptq
+
+    INTERFACE interaction_droplets_ptq
+       MODULE PROCEDURE interaction_droplets_ptq
+       MODULE PROCEDURE interaction_droplets_ptq_ij
+    END INTERFACE interaction_droplets_ptq
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE interaction_droplets_ptq
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE indices
+
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+ 
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_2d(j,i)+1, nzt
+                q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
+                pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE interaction_droplets_ptq
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE interaction_droplets_ptq_ij( i, j )
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE indices
+
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+
+       DO  k = nzb_2d(j,i)+1, nzt
+          q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
+          pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i)
+       ENDDO
+
+    END SUBROUTINE interaction_droplets_ptq_ij
+
+ END MODULE interaction_droplets_ptq_mod
Index: palm/tags/release-3.7/SOURCE/local_flush.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_flush.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_flush.f90	(revision 393)
@@ -0,0 +1,27 @@
+ SUBROUTINE local_flush( file_id )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! Initial revision (raasch 12/04/07)
+!
+!
+! Description:
+! ------------
+! Flush calls for different operating systems
+!------------------------------------------------------------------------------!
+
+    INTEGER ::  file_id
+
+#if defined( __ibm )
+    CALL FLUSH_( file_id )
+#elif defined( __lc )  ||  defined( __nec )
+    CALL FLUSH( file_id )
+#endif
+
+ END SUBROUTINE local_flush    
Index: palm/tags/release-3.7/SOURCE/local_getenv.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_getenv.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_getenv.f90	(revision 393)
@@ -0,0 +1,55 @@
+ SUBROUTINE local_getenv( var, ivar, value, ivalue )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor directives for old systems removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.5  2003/05/09 14:37:07  raasch
+! On the MUK cluster, only PE0 is able to read environment variables.
+! Therefore, they have to be communicated via broadcast to the other PEs.
+!
+! Revision 1.1  1997/08/11 06:21:01  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Getting the values of environment-variabls (for different operating-systems)
+!------------------------------------------------------------------------------!
+
+#if defined( __lcmuk )
+    USE pegrid
+#endif
+    CHARACTER (LEN=*) ::  var, value
+    INTEGER           ::  ivalue, ivar
+#if defined( __lcmuk )
+    INTEGER            ::  i, ia(20)
+#endif
+
+    CALL GETENV( var(1:ivar), value )
+    ivalue = LEN_TRIM( value )
+
+#if defined( __lcmuk )  &&  defined( __parallel )
+    ia = IACHAR( ' ' )
+    IF ( myid == 0 )  THEN
+       DO  i = 1, ivalue
+          ia(i) = IACHAR( value(i:i) )
+       ENDDO
+    ENDIF
+    CALL MPI_BCAST( ia(1), 20, MPI_INTEGER, 0, comm2d, ierr )
+    DO  i = 1, 20
+       IF ( ACHAR( ia(i) ) /= ' ' )  value(i:i) = ACHAR( ia(i) )
+    ENDDO
+    ivalue = LEN_TRIM( value )
+#endif
+ END SUBROUTINE local_getenv    
Index: palm/tags/release-3.7/SOURCE/local_stop.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_stop.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_stop.f90	(revision 393)
@@ -0,0 +1,130 @@
+ SUBROUTINE local_stop
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 213 2008-11-13 10:26:18Z raasch
+! Implementation of a MPI-1 coupling: replaced myid with target_id.
+! The uncoupled case allows stop or mpi_abort depending on new steering
+! parameter abort_mode, which is set in routine message.
+!
+! 147 2008-02-01 12:41:46Z raasch
+! Bugfix: a stop command was missing in some cases of the parallel branch
+!
+! 108 2007-08-24 15:10:38Z letzel
+! modifications to terminate coupled runs
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2003/03/16 09:40:28  raasch
+! Two underscores (_) are placed in front of all define-strings
+!
+! Revision 1.1  2002/12/19 15:46:23  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Stop program execution
+!------------------------------------------------------------------------------!
+
+    USE pegrid
+    USE control_parameters
+
+
+#if defined( __parallel )
+    IF ( coupling_mode == 'uncoupled' )  THEN
+       IF ( abort_mode == 1 )  THEN
+          CALL MPI_FINALIZE( ierr )
+          STOP
+       ELSEIF ( abort_mode == 2 )  THEN
+          CALL MPI_ABORT( comm2d, 9999, ierr )
+       ENDIF
+    ELSE
+
+       SELECT CASE ( terminate_coupled_remote )
+
+          CASE ( 0 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    local model "', TRIM( coupling_mode ), &
+                     '" stops now'
+             ENDIF
+!
+!--          Inform the remote model of the termination and its reason, provided
+!--          the remote model has not already been informed of another 
+!--          termination reason (terminate_coupled > 0) before.
+             IF ( terminate_coupled == 0 )  THEN
+                terminate_coupled = 1
+                CALL MPI_SENDRECV( &
+                     terminate_coupled,        1, MPI_INTEGER, target_id,  0, &
+                     terminate_coupled_remote, 1, MPI_INTEGER, target_id,  0, &
+                     comm_inter, status, ierr )
+             ENDIF
+             CALL MPI_FINALIZE( ierr )
+             STOP
+
+          CASE ( 1 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    remote model "', TRIM( coupling_mode_remote ), &
+                     '" stopped'
+             ENDIF
+             CALL MPI_FINALIZE( ierr )
+             STOP
+
+          CASE ( 2 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    remote model "', TRIM( coupling_mode_remote ), &
+                     '" terminated'
+                PRINT*, '    with stop_dt = .T.'
+             ENDIF
+             stop_dt = .TRUE.
+
+          CASE ( 3 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    remote model "', TRIM( coupling_mode_remote ), &
+                     '" terminated'
+                PRINT*, '    with terminate_run = .T. (CPU-time limit)'
+             ENDIF
+             terminate_run = .TRUE.
+
+          CASE ( 4 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    remote model "', TRIM( coupling_mode_remote ), &
+                     '" terminated'
+                PRINT*, '    with terminate_run = .T. (restart)'
+             ENDIF
+             terminate_run = .TRUE.
+             time_restart = time_restart + dt_restart
+
+          CASE ( 5 )
+             IF ( myid == 0 )  THEN
+                PRINT*, '+++ local_stop:'
+                PRINT*, '    remote model "', TRIM( coupling_mode_remote ), &
+                     '" terminated'
+                PRINT*, '    with terminate_run = .T. (single restart)'
+             ENDIF
+             terminate_run = .TRUE.
+             time_restart = 9999999.9
+
+       END SELECT
+
+    ENDIF
+
+#else
+
+    STOP
+
+#endif
+
+ END SUBROUTINE local_stop    
Index: palm/tags/release-3.7/SOURCE/local_system.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_system.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_system.f90	(revision 393)
@@ -0,0 +1,33 @@
+ SUBROUTINE local_system( command )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor directives for old systems removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.4  2003/03/16 09:40:33  raasch
+! Two underscores (_) are placed in front of all define-strings
+!
+! Revision 1.1  1997/09/03 06:27:27  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! System calls for different operating systems
+!------------------------------------------------------------------------------!
+
+    CHARACTER (LEN=*) ::  command
+
+    CALL SYSTEM( command )
+
+ END SUBROUTINE local_system    
Index: palm/tags/release-3.7/SOURCE/local_tremain.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_tremain.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_tremain.f90	(revision 393)
@@ -0,0 +1,75 @@
+ SUBROUTINE local_tremain( remaining_time )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 225 2009-01-26 14:44:20Z raasch
+! Type of count and count_rate changed to INTEGER(8) in order to avoid out of
+! range problems (which result in measured negative time intervals)
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! preprocessor directives for old systems removed
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.14  2006/06/02 15:20:33  raasch
+! Extended to TIT Sun Fire X4600 System (lctit)
+!
+! Revision 1.1  1998/03/18 20:14:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! For different operating systems get the remaining cpu-time of the job
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE pegrid
+
+    IMPLICIT NONE
+
+    REAL ::  remaining_time
+#if defined( __ibm )
+    INTEGER(8) ::  IRTC
+    REAL       ::  actual_wallclock_time
+#elif defined( __lc )
+    INTEGER(8) ::  count, count_rate
+    REAL       ::  actual_wallclock_time
+#endif
+
+#if defined( __ibm )
+
+    actual_wallclock_time = IRTC( ) * 1E-9
+    remaining_time = maximum_cpu_time_allowed - &
+                     ( actual_wallclock_time - initial_wallclock_time )
+
+#elif defined( __lc )
+
+    CALL SYSTEM_CLOCK( count, count_rate )
+    actual_wallclock_time = REAL( count ) / REAL( count_rate )
+    remaining_time = maximum_cpu_time_allowed - &
+                     ( actual_wallclock_time - initial_wallclock_time )
+
+#elif defined( __nec )
+    
+    CALL TREMAIN( remaining_time )
+    remaining_time = remaining_time / tasks_per_node
+
+#else
+
+!
+!-- No stop due to running out of cpu-time on other machines
+    remaining_time = 9999999.9
+
+#endif
+
+ END SUBROUTINE local_tremain
Index: palm/tags/release-3.7/SOURCE/local_tremain_ini.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/local_tremain_ini.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/local_tremain_ini.f90	(revision 393)
@@ -0,0 +1,67 @@
+ SUBROUTINE local_tremain_ini
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 225 2009-01-26 14:44:20Z raasch
+! Type of count and count_rate changed to INTEGER(8) in order to avoid out of
+! range problems (which result in measured negative time intervals)
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Cpp-directive lctit renamed lc
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.13  2007/02/11 13:07:03  raasch
+! Allowed cpu limit is now read from file instead of reading the value from
+! environment variable (see routine parin)
+!
+! Revision 1.1  1998/03/18 20:15:05  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Initialization of CPU-time measurements for different operating systems
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+
+    IMPLICIT NONE
+
+#if defined( __ibm )
+    CHARACTER (LEN=10) ::  value_chr
+    INTEGER            ::  idum
+    INTEGER(8)         ::  IRTC
+#elif defined( __lc )
+    CHARACTER (LEN=10) ::  value_chr
+    INTEGER            ::  idum
+    INTEGER(8)         ::  count, count_rate
+#endif
+
+
+!
+!-- Get initial wall clock time
+#if defined( __ibm )
+
+    initial_wallclock_time = IRTC( ) * 1E-9
+
+#elif defined( __lc )
+
+    CALL SYSTEM_CLOCK( count, count_rate )
+    initial_wallclock_time = REAL( count ) / REAL( count_rate )
+
+#else
+!
+!-- So far, nothing is done on these machines
+#endif
+
+
+ END SUBROUTINE local_tremain_ini
Index: palm/tags/release-3.7/SOURCE/message.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/message.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/message.f90	(revision 393)
@@ -0,0 +1,169 @@
+ SUBROUTINE message( routine_name, message_identifier, requested_action, &
+                     message_level, output_on_pe, file_id, flush )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 213 2008-11-13 10:26:18Z raasch
+! Initial revision
+!
+! Description:
+! ------------
+! Handling of the different kinds of messages.
+! Meaning of formal parameters:
+! requested_action: 0 - continue, 1 - abort by stop, 2 - abort by mpi_abort
+! message_level: 0 - informative, 1 - warning, 2 - error
+! output_on_pe: -1 - all, else - output on specified PE
+! file_id: 6 - stdout (*)
+! flush: 0 - no action, 1 - flush the respective output buffer
+!------------------------------------------------------------------------------!
+
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    CHARACTER(LEN=6)   ::  message_identifier
+    CHARACTER(LEN=*)   ::  routine_name
+    CHARACTER(LEN=200) ::  header_string, information_string_1,information_string_2
+
+    INTEGER ::  file_id, flush, i, message_level, output_on_pe, requested_action
+
+    LOGICAL ::  do_output, pe_out_of_range
+
+
+    do_output       = .FALSE.
+    pe_out_of_range = .FALSE.
+
+!    print*, '#1'
+!
+!-- Create the complete output string, starting with the message level
+    IF ( message_level == 0 )  THEN
+       header_string = '--- informative message ---  ID:'
+    ELSEIF ( message_level == 1 )  THEN
+       header_string = '+++ warning message ---  ID:'
+    ELSEIF ( message_level == 2 )  THEN
+       header_string = '+++ error message ---  ID:'
+    ELSE
+       WRITE( header_string,'(A,I2)' )  '+++ unknown message level: ', &
+                                        message_level
+    ENDIF
+
+!    print*, '#2'
+!
+!-- Add the message identifier and the generating routine
+    header_string = TRIM( header_string ) // ' ' // message_identifier // &
+                    '   generated by routine: ' // TRIM( routine_name )
+  
+    information_string_1 = 'Further information can be found at'
+    IF(message_identifier(1:2) == 'NC') THEN
+       information_string_2 = 'http://www.muk.uni-hannover.de/~raasch/PALM_group/doc' // &
+                              '/app/appendix_a.html#NC****'
+    ELSE
+       information_string_2 = 'http://www.muk.uni-hannover.de/~raasch/PALM_group/doc' // &
+                              '/app/appendix_a.html#' // message_identifier
+    END IF
+    
+
+!    print*, '#3'
+!
+!-- Output the output string and the corresponding message string which had
+!-- been already assigned in the calling subroutine.
+!
+!-- First find out if output shall be done on this PE.
+    IF ( output_on_pe == -1 )  THEN
+       do_output = .TRUE.
+    ELSEIF ( myid == output_on_pe )  THEN
+       do_output = .TRUE.
+    ENDIF
+!    print*, '#4'
+#if defined( __parallel )
+!
+!-- In case of illegal pe number output on pe0
+    IF ( output_on_pe > numprocs-1 )  THEN
+       pe_out_of_range = .TRUE.
+       IF ( myid == 0 )  do_output = .TRUE.
+    ENDIF
+!    print*, '#5'
+#endif
+
+!
+!-- Now do the output
+    IF ( do_output )  THEN
+!    print*, '#6'
+       IF ( file_id == 6 )  THEN
+!
+!--       Output on stdout
+          WRITE( *, '(A/)' )  TRIM( header_string )
+!    print*, '#7'
+!
+!--       Cut message string into pieces and output one piece per line.
+!--       Remove leading blanks.
+          message_string = ADJUSTL( message_string )
+          i = INDEX( message_string, '&' )
+          DO WHILE ( i /= 0 )
+             WRITE( *, '(4X,A)' )  ADJUSTL( message_string(1:i-1) )
+             message_string = ADJUSTL( message_string(i+1:) )
+             i = INDEX( message_string, '&' )
+          ENDDO
+          WRITE( *, '(4X,A)' )  TRIM( message_string )
+!    print*, '#8'
+          WRITE( *, '(4X,A)' )  ''
+          WRITE( *, '(4X,A)' )  TRIM( information_string_1 ) 
+          WRITE( *, '(4X,A)' )  TRIM( information_string_2 ) 
+          WRITE( *, '(4X,A)' )  ''
+
+       ELSE
+!    print*, '#9'
+!
+!--       Output on requested file id (file must have been opened elsewhere!)
+          WRITE( file_id, '(A/)' )  TRIM( header_string )
+!
+!--       Cut message string into pieces and output one piece per line.
+!--       Remove leading blanks.
+          message_string = ADJUSTL( message_string )
+          i = INDEX( message_string, '&' )
+          DO WHILE ( i /= 0 )
+             WRITE( file_id, '(4X,A)' )  ADJUSTL( message_string(1:i-1) )
+             message_string = ADJUSTL( message_string(i+1:) )
+             i = INDEX( message_string, '&' )
+          ENDDO
+          WRITE( file_id, '(4X,A)' )  TRIM( message_string )
+          WRITE( file_id, '(4X,A)' )  ''
+          WRITE( file_id, '(4X,A)' )  TRIM( information_string_1 ) 
+          WRITE( file_id, '(4X,A)' )  TRIM( information_string_2 ) 
+          WRITE( file_id, '(4X,A)' )  ''
+!
+!--       Flush buffer, if requested
+          IF ( flush == 1 )  CALL local_flush( file_id )
+       ENDIF
+!    print*, '#10'
+
+       IF ( pe_out_of_range )  THEN
+          WRITE ( *, '(A)' )  '+++ WARNING from routine message:'
+          WRITE ( *, '(A,I6,A)' )  '    PE ', output_on_pe, &
+                                   ' choosed for output is larger '
+          WRITE ( *, '(A,I6)' )  '    than the maximum number of used PEs', &
+                                 numprocs-1
+          WRITE ( *, '(A)' )  '    Output is done on PE0 instead'
+       ENDIF
+!    print*, '#11'
+
+    ENDIF
+
+!
+!-- Abort execution, if requested
+!    print*, '#12'
+    IF ( requested_action > 0 )  THEN
+       abort_mode = requested_action
+       CALL local_stop
+    ENDIF
+!    print*, '#13'
+
+ END SUBROUTINE message
Index: palm/tags/release-3.7/SOURCE/modules.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/modules.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/modules.f90	(revision 393)
@@ -0,0 +1,1266 @@
+ MODULE advection
+
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! +prho, prho_1
+! +bc_lr_cyc, bc_ns_cyc
+! +output_for_t0 
+! translation error of actual -> current revisions fixed
+! +q* in dots_label, dots_unit. increased dots_num respectively
+! typographical error in dots_unit fixed
+! +clip_dvrp_*, cluster_size, color_interval, dvrpsize_interval, dvrp_overlap,
+! dvrp_total_overlap, groundplate_color, local_dvrserver_running, n*_dvrp,
+! interval_*_dvrp_prt, isosurface_color, particle_color, particle_dvrpsize,
+! topography color in dvrp_variables,
+! vertical_particle_advection is a 1d-array,
+! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left, 
+! canyon_wall_south, conserve_volume_flow_mode, coupling_start_time,
+! dp_external, dp_level_b, dp_level_ind_b, dp_smooth, dp_smooth_factor, dpdxy,
+! run_coupled, time_since_reference_point, u_bulk, v_bulk in control_parameters,
+! default value of grid_matching changed to strict
+! +shf_av, qsws_av
+!
+! 217 2008-12-09 18:00:48Z letzel
+! +topography_grid_convention
+! some dvrp-variables changed to single precision, variables for dvrp-mode
+! pathlines added, +target_id, abort_mode, message_string
+!
+! 197 2008-09-16 15:29:03Z raasch
+! allow 100 spectra levels instead of 10 for consistency with 
+! define_netcdf_header, +canopy_heat_flux, cthf, lai,
+! +leaf_surface_concentration, scalar_exchange_coefficient, sec, sls
+! +hor_index_bounds, hor_index_bounds_previous_run, id_inflow, id_recycling,
+! inflow_damping_*, mean_inflow_profiles, numprocs_previous_run, nx_on_file,
+! ny_on_file, offset_ocean_*, recycling_plane, recycling_width, turbulent_inflow
+! -myid_char_14
+!
+! 138 2007-11-28 10:03:58Z letzel
+! +drag_coefficient, pch_index, lad_surface, lad_vertical_gradient, 
+! lad_vertical_gradient_level, plant_canopy, lad, lad_s, lad_u, lad_v, 
+! lad_w, cdc, lad_vertical_gradient_level_ind, canopy_mode
+! +dt_sort_particles, ngp_2dh_s_inner, time_sort_particles, flags, 
+! wall_flags_1..10, wall_humidityflux(0:4), wall_qflux(0:4), 
+! wall_salinityflux(0:4), wall_scalarflux(0:4)
+!
+! 108 2007-08-24 15:10:38Z letzel
+! +comm_inter, constant_top_momentumflux, coupling_char, coupling_mode,
+! coupling_mode_remote, c_u, c_v, c_w, dt_coupling, e_init, humidity_remote, 
+! ngp_xy, nxlu, nysv, port_name, qswst_remote, terminate_coupled, 
+! terminate_coupled_remote, time_coupling, top_momentumflux_u|v, type_xy, 
+! uswst*, vswst*
+!
+! 97 2007-06-21 08:23:15Z raasch
+! +atmos_ocean_sign, ocean, r, + salinity variables
+! defaults of .._vertical_gradient_levels changed from -1.0 to -9999999.9
+! hydro_press renamed hyp, use_pt_reference renamed use_reference
+!
+! 89 2007-05-25 12:08:31Z raasch
+! +data_output_pr_user, max_pr_user, size of data_output_pr, dopr_index,
+! dopr_initial_index and dopr_unit enlarged,
+! var_hom and var_sum renamed pr_palm
+!
+! 82 2007-04-16 15:40:52Z raasch
+! +return_addres, return_username
+! Cpp-directive lcmuk renamed lc
+!
+! 75 2007-03-22 09:54:05Z raasch
+! +arrays precipitation_amount, precipitation_rate, precipitation_rate_av,
+! rif_wall, z0_av, +arrays u_m_l, u_m_r, etc. for radiation boundary conditions,
+! +loop_optimization, netcdf_64bit_3d, zu_s_inner, zw_w_inner, id_var_zusi_*,
+! id_var_zwwi_*, ts_value, u_nzb_p1_for_vfc, v_nzb_p1_for_vfc, pt_reference,
+! use_pt_reference, precipitation_amount_interval, revision
+! +age_m in particle_type, moisture renamed humidity,
+! -data_output_ts, dots_n, uvmean_outflow, uxrp, vynp,
+! arrays dots_label and dots_unit now dimensioned with dots_max,
+! setting of palm version moved to main program
+!
+! 37 2007-03-01 08:33:54Z raasch
+! +constant_top_heatflux, top_heatflux, use_top_fluxes, +arrays for top fluxes,
+! +nzt_diff, default of bc_pt_t renamed "initial_gradient"
+! Bugfix: p is not a pointer
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.95  2007/02/11 13:18:30  raasch
+! version 3.1b (last under RCS control)
+!
+! Revision 1.1  1997/07/24 11:21:26  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Definition of variables for special advection schemes
+!------------------------------------------------------------------------------!
+
+    REAL ::  spl_gamma_x, spl_gamma_y
+
+    REAL, DIMENSION(:), ALLOCATABLE   ::  aex, bex, dex, eex, spl_z_x, spl_z_y
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  spl_tri_x, spl_tri_y, spl_tri_zu, &
+                                          spl_tri_zw
+
+    SAVE
+
+ END MODULE advection
+
+
+
+
+ MODULE array_kind
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of type parameters (used for the definition of single or double
+! precision variables)
+!------------------------------------------------------------------------------!
+
+    INTEGER, PARAMETER ::  dpk = SELECTED_REAL_KIND( 12 ), &
+                           spk = SELECTED_REAL_KIND( 6 )
+
+    SAVE
+
+ END MODULE array_kind
+
+
+
+
+ MODULE arrays_3d
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of all arrays defined on the computational grid
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+
+    REAL, DIMENSION(:), ALLOCATABLE ::                                         &
+          ddzu, dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor, km_damp_x,  &
+          km_damp_y, lad, l_grid, pt_init, q_init, rdf, sa_init, ug, u_init,   &
+          u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, zu, zw
+
+    REAL, DIMENSION(:,:), ALLOCATABLE ::                                       &
+          c_u, c_v, c_w, dzu_mg, dzw_mg, f1_mg, f2_mg, f3_mg,                  &
+          mean_inflow_profiles, pt_slope_ref, qs, qswst_remote, ts, us, z0
+
+    REAL, DIMENSION(:,:), ALLOCATABLE, TARGET ::                               &
+          qsws_1, qsws_2, qswst_1, qswst_2, rif_1, rif_2, saswsb_1, saswst_1,  &
+          shf_1, shf_2, tswst_1, tswst_2, usws_1, usws_2, uswst_1, uswst_2,    &
+          vsws_1, vsws_2, vswst_1, vswst_2
+
+    REAL, DIMENSION(:,:), POINTER ::                                           &
+          qsws, qsws_m, qswst, qswst_m, rif, rif_m, saswsb, saswst, shf,       &
+          shf_m, tswst, tswst_m, usws, uswst, usws_m, uswst_m, vsws, vswst,    &
+          vsws_m, vswst_m
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::                                     &
+          canopy_heat_flux, cdc, d, diss, lad_s, lad_u, lad_v, lad_w, lai,     &
+          l_wall, sec, sls, tend, u_m_l, u_m_n, u_m_r, u_m_s, v_m_l, v_m_n,    &
+          v_m_r, v_m_s, w_m_l, w_m_n, w_m_r, w_m_s
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::                             &
+          ql_v, ql_vp
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::                             &
+          e_1, e_2, e_3, kh_1, kh_2, km_1, km_2, p, prho_1, pt_1, pt_2, pt_3,  &
+          q_1, q_2, q_3, ql_1, ql_2, rho_1, sa_1, sa_2, sa_3, u_1, u_2, u_3,   &
+          v_1, v_2, v_3, vpt_1, vpt_2, w_1, w_2, w_3
+
+    REAL, DIMENSION(:,:,:), POINTER ::                                         &
+          e, e_m, e_p, kh, kh_m, km, km_m, prho, pt, pt_m, pt_p, q, q_m, q_p,  &
+          ql, ql_c, rho, sa, sa_p, te_m, tpt_m, tq_m, tsa_m, tu_m, tv_m, tw_m, &
+          u, u_m, u_p, v, v_m, v_p, vpt, vpt_m, w, w_m, w_p
+
+    REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  rif_wall
+
+    SAVE
+
+ END MODULE arrays_3d
+
+
+
+
+ MODULE averaging
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables needed for time-averaging of 2d/3d data
+!------------------------------------------------------------------------------!
+
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  lwp_av, precipitation_rate_av,       &
+                                          qsws_av, shf_av,ts_av, us_av, z0_av
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: &
+          e_av, p_av, pc_av, pr_av, pt_av, q_av, ql_av, ql_c_av, ql_v_av, &
+          ql_vp_av, qv_av, rho_av, s_av, sa_av, u_av, v_av, vpt_av, w_av
+
+ END MODULE averaging
+
+
+
+
+ MODULE cloud_parameters
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables and constants for cloud physics
+!------------------------------------------------------------------------------!
+
+    REAL  ::  b_cond, cp = 1005.0, diff_coeff_l = 0.23E-4,                     &
+              effective_coll_efficiency, l_d_cp, l_d_r, l_d_rv, l_v = 2.5E+06, &
+              mass_of_solute, molecular_weight_of_solute,                      &
+              prec_time_const = 0.001, ql_crit = 0.0005, rho_l = 1.0E3,        &
+              r_d = 287.0, r_v = 461.51, thermal_conductivity_l = 2.43E-2
+
+    REAL, DIMENSION(:), ALLOCATABLE   ::  pt_d_t, t_d_pt
+
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  precipitation_amount, &
+                                          precipitation_rate
+
+    SAVE
+
+ END MODULE cloud_parameters
+
+
+
+
+ MODULE constants
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of general constants
+!------------------------------------------------------------------------------!
+
+    REAL    ::  pi = 3.141592654
+
+    SAVE
+
+ END MODULE constants
+
+
+
+
+ MODULE control_parameters
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of parameters for program control
+!------------------------------------------------------------------------------!
+
+    TYPE plot_precision
+       CHARACTER (LEN=6) ::  variable
+       INTEGER           ::  precision
+    END TYPE plot_precision
+
+    TYPE(plot_precision), DIMENSION(100) ::  plot_3d_precision =               &
+                        (/ plot_precision( 'u', 2 ), plot_precision( 'v', 2 ), &
+                           plot_precision( 'w', 2 ), plot_precision( 'p', 5 ), &
+                           plot_precision( 'pt', 2 ),                          &
+                           ( plot_precision( ' ', 1 ), i9 = 1,95 ) /)
+
+    TYPE file_status
+       LOGICAL ::  opened, opened_before
+    END TYPE file_status
+
+    TYPE(file_status), DIMENSION(200) :: openfile = file_status(.FALSE.,.FALSE.)
+
+
+    CHARACTER (LEN=1)    ::  cycle_mg = 'w', timestep_reason = ' '
+    CHARACTER (LEN=2)    ::  coupling_char = ''
+    CHARACTER (LEN=5)    ::  write_binary = 'false'
+    CHARACTER (LEN=6)    ::  grid_matching = 'strict'
+    CHARACTER (LEN=8)    ::  run_date, run_time
+    CHARACTER (LEN=9)    ::  simulated_time_chr
+    CHARACTER (LEN=11)   ::  topography_grid_convention = ' '
+    CHARACTER (LEN=12)   ::  version = ' ', revision = ' '
+    CHARACTER (LEN=16)   ::  conserve_volume_flow_mode = 'default', &
+                             loop_optimization = 'default', &
+                             momentum_advec = 'pw-scheme', &
+                             psolver = 'poisfft', &
+                             scalar_advec = 'pw-scheme'
+    CHARACTER (LEN=20)   ::  bc_e_b = 'neumann', bc_lr = 'cyclic', &
+                             bc_ns = 'cyclic', bc_p_b = 'neumann', &
+                             bc_p_t = 'dirichlet', bc_pt_b = 'dirichlet', &
+                             bc_pt_t = 'initial_gradient', &
+                             bc_q_b = 'dirichlet', bc_q_t = 'neumann', &
+                             bc_s_b = 'dirichlet', bc_s_t = 'neumann', &
+                             bc_sa_t = 'neumann', &
+                             bc_uv_b = 'dirichlet', bc_uv_t = 'dirichlet', &
+                             canopy_mode = 'block', &
+                             coupling_mode = 'uncoupled', &
+                             coupling_mode_remote = 'uncoupled', &
+                             dissipation_1d = 'as_in_3d_model', &
+                             fft_method = 'system-specific', &
+                             mixing_length_1d = 'as_in_3d_model', &
+                             random_generator = 'numerical-recipes', &
+                             return_addres, return_username, &
+                             timestep_scheme = 'runge-kutta-3'
+    CHARACTER (LEN=40)   ::  avs_data_file, topography = 'flat'
+    CHARACTER (LEN=64)   ::  host = ' '
+    CHARACTER (LEN=80)   ::  log_message, run_identifier
+    CHARACTER (LEN=100)  ::  initializing_actions = ' ', run_description_header
+    CHARACTER (LEN=1000) ::  message_string = ' '
+
+    CHARACTER (LEN=7),  DIMENSION(100) ::  do3d_comp_prec = ' '
+    CHARACTER (LEN=10), DIMENSION(10)  ::  data_output_format = ' '
+    CHARACTER (LEN=11), DIMENSION(100) ::  data_output = ' ',    &
+                                           data_output_user = ' ', doav = ' '
+    CHARACTER (LEN=10), DIMENSION(300) ::  data_output_pr = ' '
+    CHARACTER (LEN=10), DIMENSION(200) ::  data_output_pr_user = ' '
+    CHARACTER (LEN=20), DIMENSION(10)  ::  netcdf_precision = ' '
+
+    CHARACTER (LEN=10), DIMENSION(0:1,100) ::  do2d = ' ', do3d = ' '
+
+    INTEGER ::  abort_mode = 1, average_count_pr = 0, average_count_sp = 0, &
+                average_count_3d = 0, current_timestep_number = 0, &
+                dist_range = 0, disturbance_level_ind_b, &
+                disturbance_level_ind_t, doav_n = 0, dopr_n = 0, &
+                dopr_time_count = 0, dopts_time_count = 0, &
+                dosp_time_count = 0, dots_time_count = 0, &
+                do2d_xy_n = 0, do2d_xz_n = 0, do2d_yz_n = 0, do3d_avs_n = 0, &
+                dp_level_ind_b = 0, &
+                dvrp_filecount = 0, dz_stretch_level_index, gamma_mg, &
+                grid_level, ibc_e_b, ibc_p_b, ibc_p_t, ibc_pt_b, ibc_pt_t, &
+                ibc_q_b, ibc_q_t, ibc_sa_t, ibc_uv_b, ibc_uv_t, &
+                inflow_disturbance_begin = -1, inflow_disturbance_end = -1, &
+                intermediate_timestep_count, intermediate_timestep_count_max, &
+                iran = -1234567, last_dt_change = 0, maximum_grid_level, &
+                max_pr_user = 0, mgcycles = 0, mg_cycles = -1, &
+                mg_switch_to_pe0_level = 0, ngsrb = 2, nsor = 20, &
+                nsor_ini = 100, n_sor, normalizing_region = 0, &
+                nz_do1d, nz_do3d = -9999, outflow_damping_width = -1, &
+                pch_index = 0, prt_time_count = 0, recycling_plane, runnr = 0, &
+                skip_do_avs = 0, terminate_coupled = 0, &
+                terminate_coupled_remote = 0, timestep_count = 0
+
+    INTEGER ::  dist_nxl(0:1), dist_nxr(0:1), dist_nyn(0:1), dist_nys(0:1), &
+                do2d_no(0:1) = 0, do2d_xy_time_count(0:1), &
+                do2d_xz_time_count(0:1), do2d_yz_time_count(0:1), &
+                do3d_no(0:1) = 0, do3d_time_count(0:1), &
+                lad_vertical_gradient_level_ind(10) = -9999, &
+                pt_vertical_gradient_level_ind(10) = -9999, &
+                q_vertical_gradient_level_ind(10) = -9999, &
+                sa_vertical_gradient_level_ind(10) = -9999, &
+                section(100,3), section_xy(100) = -9999, &
+                section_xz(100) = -9999, section_yz(100) = -9999, &
+                ug_vertical_gradient_level_ind(10) = -9999, &
+                vg_vertical_gradient_level_ind(10) = -9999
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  grid_level_count
+
+    LOGICAL ::  adjust_mixing_length = .FALSE., avs_output = .FALSE., &
+                bc_lr_cyc =.TRUE., bc_ns_cyc = .TRUE., &
+                call_psolver_at_all_substeps = .TRUE., &
+                cloud_droplets = .FALSE., cloud_physics = .FALSE., &
+                conserve_volume_flow = .FALSE., constant_diffusion = .FALSE., &
+                constant_heatflux = .TRUE., constant_top_heatflux = .TRUE., &
+                constant_top_momentumflux = .FALSE., &
+                constant_top_salinityflux = .TRUE., &
+                constant_waterflux = .TRUE., create_disturbances = .TRUE., &
+                cut_spline_overshoot = .TRUE., &
+                data_output_2d_on_each_pe = .TRUE., do2d_at_begin = .FALSE., &
+                do3d_at_begin = .FALSE., do3d_compress = .FALSE., &
+                do_sum = .FALSE., dp_external = .FALSE., dp_smooth = .FALSE., &
+                dt_changed = .FALSE., dt_fixed = .FALSE., &
+                disturbance_created = .FALSE., &
+                first_call_advec_particles = .TRUE., &
+                force_print_header = .FALSE., galilei_transformation = .FALSE.,&
+                humidity = .FALSE., humidity_remote = .FALSE., &
+                inflow_l = .FALSE., inflow_n = .FALSE., &
+                inflow_r = .FALSE., inflow_s = .FALSE., iso2d_output = .FALSE.,&
+                mg_switch_to_pe0 = .FALSE., &
+                netcdf_output = .FALSE., netcdf_64bit = .FALSE., &
+                netcdf_64bit_3d = .TRUE., ocean = .FALSE., &
+                outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., &
+                outflow_s = .FALSE., passive_scalar = .FALSE., &
+                plant_canopy = .FALSE., &
+                prandtl_layer = .TRUE., precipitation = .FALSE., &
+                profil_output = .FALSE., radiation = .FALSE., &
+                random_heatflux = .FALSE., run_control_header = .FALSE., &
+                run_coupled = .TRUE., sloping_surface = .FALSE., &
+                stop_dt = .FALSE., terminate_run = .FALSE., &
+                turbulent_inflow = .FALSE., &
+                use_prior_plot1d_parameters = .FALSE., use_reference = .FALSE.,&
+                use_surface_fluxes = .FALSE., use_top_fluxes = .FALSE., &
+                use_ug_for_galilei_tr = .TRUE., use_upstream_for_tke = .FALSE.,&
+                wall_adjustment = .TRUE.
+
+    LOGICAL ::  data_output_xy(0:1) = .FALSE., data_output_xz(0:1) = .FALSE., &
+                data_output_yz(0:1) = .FALSE.
+
+    REAL ::  advected_distance_x = 0.0, advected_distance_y = 0.0, &
+             alpha_surface = 0.0, asselin_filter_factor = 0.1, &
+             atmos_ocean_sign = 1.0, &
+             averaging_interval = 0.0, averaging_interval_pr = 9999999.9, &
+             averaging_interval_sp = 9999999.9, bc_pt_t_val, bc_q_t_val, &
+             bottom_salinityflux = 0.0, &
+             building_height = 50.0, building_length_x = 50.0, &
+             building_length_y = 50.0, building_wall_left = 9999999.9, &
+             building_wall_south = 9999999.9, canyon_height = 50.0, &
+             canyon_width_x = 9999999.9, canyon_width_y = 9999999.9, &
+             canyon_wall_left = 9999999.9, canyon_wall_south = 9999999.9, &
+             cthf = 0.0, cfl_factor = -1.0, cos_alpha_surface, &
+             coupling_start_time, disturbance_amplitude = 0.25, &
+             disturbance_energy_limit = 0.01, &
+             disturbance_level_b = -9999999.9, &
+             disturbance_level_t = -9999999.9, &
+             dp_level_b = 0.0, drag_coefficient = 0.0, &
+             dt = -1.0, dt_averaging_input = 0.0, &
+             dt_averaging_input_pr = 9999999.9, dt_coupling = 9999999.9, &
+             dt_data_output = 9999999.9, &
+             dt_data_output_av = 9999999.9, dt_disturb = 9999999.9, &
+             dt_dopr = 9999999.9, dt_dopr_listing = 9999999.9, &
+             dt_dopts = 9999999.9, dt_dosp = 9999999.9, dt_dots = 9999999.9, &
+             dt_do2d_xy = 9999999.9, dt_do2d_xz = 9999999.9, &
+             dt_do2d_yz = 9999999.9, dt_do3d = 9999999.9, dt_dvrp = 9999999.9, &
+             dt_max = 20.0, dt_prel = 9999999.9, dt_restart = 9999999.9, &
+             dt_run_control = 60.0, dt_3d = -1.0, dz = -1.0, &
+             dz_max = 9999999.9, dz_stretch_factor = 1.08, &
+             dz_stretch_level = 100000.0, e_init = 0.0, e_min = 0.0, &
+             end_time = 0.0, &
+             f = 0.0, fs = 0.0, g = 9.81, inflow_damping_height = 9999999.9, &
+             inflow_damping_width = 9999999.9, kappa = 0.4, km_constant = -1.0,&
+             km_damp_max = -1.0, lad_surface = 0.0,  &
+             leaf_surface_concentration = 0.0, long_filter_factor = 0.0, &
+             maximum_cpu_time_allowed = 0.0, molecular_viscosity = 1.461E-5, &
+             old_dt = 1.0E-10, omega = 7.29212E-5, omega_sor = 1.8, &
+             overshoot_limit_e = 0.0, overshoot_limit_pt = 0.0, &
+             overshoot_limit_u = 0.0, overshoot_limit_v = 0.0, &
+             overshoot_limit_w = 0.0, particle_maximum_age = 9999999.9, &
+             phi = 55.0, prandtl_number = 1.0, &
+             precipitation_amount_interval = 9999999.9, prho_reference, &
+             pt_reference = 9999999.9, pt_slope_offset = 0.0, &
+             pt_surface = 300.0, pt_surface_initial_change = 0.0, &
+             q_surface = 0.0, q_surface_initial_change = 0.0, &
+             rayleigh_damping_factor = -1.0, rayleigh_damping_height = -1.0, &
+             recycling_width = 9999999.9, residual_limit = 1.0E-4, &
+             restart_time = 9999999.9, rho_reference, rho_surface, &
+             rif_max = 1.0, rif_min = -5.0, roughness_length = 0.1, &
+             sa_surface = 35.0, scalar_exchange_coefficient = 0.0, &
+             simulated_time = 0.0, simulated_time_at_begin, sin_alpha_surface, &
+             skip_time_data_output = 0.0, skip_time_data_output_av = 9999999.9,&
+             skip_time_dopr = 9999999.9, skip_time_dosp = 9999999.9, &
+             skip_time_do2d_xy = 9999999.9, skip_time_do2d_xz = 9999999.9, &
+             skip_time_do2d_yz = 9999999.9, skip_time_do3d = 9999999.9, &
+             surface_heatflux = 9999999.9, surface_pressure = 1013.25, &
+             surface_scalarflux = 0.0, surface_waterflux = 0.0, &
+             s_surface = 0.0, s_surface_initial_change = 0.0, &
+             termination_time_needed = -1.0, time_coupling = 0.0, &
+             time_disturb = 0.0, time_dopr = 0.0, time_dopr_av = 0.0, &
+             time_dopr_listing = 0.0, time_dopts = 0.0, time_dosp = 0.0, &
+             time_dosp_av = 0.0, time_dots = 0.0, time_do2d_xy = 0.0, &
+             time_do2d_xz = 0.0, time_do2d_yz = 0.0, time_do3d = 0.0, &
+             time_do_av = 0.0, time_do_sla = 0.0, time_dvrp = 0.0, &
+             time_prel = 0.0, time_restart = 9999999.9, time_run_control = 0.0,&
+             time_since_reference_point, top_heatflux = 9999999.9, &
+             top_momentumflux_u = 9999999.9, &
+             top_momentumflux_v = 9999999.9, top_salinityflux = 9999999.9, &
+             ug_surface = 0.0, u_bulk = 0.0, u_gtrans = 0.0, &
+             ups_limit_e = 0.0, ups_limit_pt = 0.0, ups_limit_u = 0.0, &
+             ups_limit_v = 0.0, ups_limit_w = 0.0, vg_surface = 0.0, &
+             v_bulk = 0.0, v_gtrans = 0.0, wall_adjustment_factor = 1.8, &
+             z_max_do1d = -1.0, z_max_do1d_normalized = -1.0, z_max_do2d = -1.0
+
+    REAL ::  do2d_xy_last_time(0:1) = -1.0, do2d_xz_last_time(0:1) = -1.0, &
+             do2d_yz_last_time(0:1) = -1.0, dpdxy(1:2) = 0.0, &
+             lad_vertical_gradient(10) = 0.0, &
+             lad_vertical_gradient_level(10) = -9999999.9, &
+             pt_vertical_gradient(10) = 0.0, &
+             pt_vertical_gradient_level(10) = -9999999.9, &
+             q_vertical_gradient(10) = 0.0, &
+             q_vertical_gradient_level(10) = -1.0, &
+             s_vertical_gradient(10) = 0.0, &
+             s_vertical_gradient_level(10) = -1.0, &
+             sa_vertical_gradient(10) = 0.0, &
+             sa_vertical_gradient_level(10) = -9999999.9, threshold(20) = 0.0, &
+             tsc(10) = (/ 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 /), &
+             ug_vertical_gradient(10) = 0.0, &
+             ug_vertical_gradient_level(10) = -9999999.9, &
+             vg_vertical_gradient(10) = 0.0, &
+             vg_vertical_gradient_level(10) = -9999999.9, &
+             volume_flow(1:2) = 0.0, volume_flow_area(1:2) = 0.0, &
+             volume_flow_initial(1:2) = 0.0, wall_heatflux(0:4) = 0.0, &
+             wall_humidityflux(0:4) = 0.0, wall_qflux(0:4) = 0.0, &
+             wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0
+
+    REAL, DIMENSION(:), ALLOCATABLE ::  dp_smooth_factor
+
+
+    SAVE
+
+ END MODULE control_parameters
+
+
+
+
+ MODULE cpulog
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables for cpu-time measurements
+!------------------------------------------------------------------------------!
+
+    REAL ::  initial_wallclock_time
+
+    TYPE logpoint
+       REAL               ::  isum, ivect, mean, mtime, mtimevec, sum, vector
+       INTEGER            ::  counts
+       CHARACTER (LEN=20) ::  place
+    END TYPE logpoint
+
+    TYPE(logpoint), DIMENSION(100) ::  log_point = logpoint( 0.0, 0.0, 0.0,   &
+                                       0.0, 0.0, 0.0, 0.0, 0, ' ' ),          &
+                                       log_point_s = logpoint( 0.0, 0.0, 0.0, &
+                                       0.0, 0.0, 0.0, 0.0, 0, ' ' )
+
+    SAVE
+
+ END MODULE cpulog
+
+
+
+
+ MODULE dvrp_variables
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables used with dvrp-software
+!------------------------------------------------------------------------------!
+
+    CHARACTER (LEN=10) ::  dvrp_output = 'rtsp', particle_color = 'none', &
+                           particle_dvrpsize = 'none'
+
+    CHARACTER (LEN=20), DIMENSION(10) ::  mode_dvrp = &
+                                     (/ ( '                    ', i9 = 1,10 ) /)
+
+    CHARACTER (LEN=80) ::  dvrp_directory = 'default',                    &
+                           dvrp_file      = 'default',                    &
+                           dvrp_host      = 'origin.rvs.uni-hannover.de', &
+                           dvrp_password  = '********',                   &
+                           dvrp_username  = ' '
+
+    INTEGER ::  cluster_size = 1, dvrp_colortable_entries = 4,                 &
+                dvrp_colortable_entries_prt = 22, islice_dvrp,                 &
+                nx_dvrp, nxl_dvrp, nxr_dvrp, ny_dvrp, nyn_dvrp, nys_dvrp,      &
+                nz_dvrp, pathlines_fadeintime = 5, pathlines_fadeouttime = 5,  &
+                pathlines_linecount = 1000, pathlines_maxhistory = 40,         &
+                pathlines_wavecount = 10, pathlines_wavetime = 50,             &
+                vc_gradient_normals = 0, vc_mode = 0, vc_size_x = 2,           &
+                vc_size_y = 2, vc_size_z = 2
+
+    INTEGER, DIMENSION(10) ::  slicer_position_dvrp
+
+    LOGICAL ::  cyclic_dvrp = .FALSE., dvrp_overlap, dvrp_total_overlap, &
+                local_dvrserver_running, lock_steering_update = .FALSE., &
+                use_seperate_pe_for_dvrp_output = .FALSE.
+
+    REAL    ::  clip_dvrp_l = 9999999.9, clip_dvrp_n = 9999999.9, &
+                clip_dvrp_r = 9999999.9, clip_dvrp_s = 9999999.9, &
+                superelevation = 1.0, superelevation_x = 1.0,     &
+                superelevation_y = 1.0, vc_alpha = 38.0
+
+    REAL, DIMENSION(2) ::  color_interval = (/ 0.0, 1.0 /), &
+                           dvrpsize_interval = (/ 0.0, 1.0 /)
+
+    REAL, DIMENSION(3) ::  groundplate_color = (/ 0.0, 0.6, 0.0 /), &
+                           topography_color = (/ 0.8, 0.7, 0.6 /)
+
+#if defined( __decalpha )
+    REAL, DIMENSION(2,10)  ::  slicer_range_limits_dvrp = (/ &
+                                -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
+                                -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
+                                -1.0, 1.0, -1.0, 1.0 /)
+
+    REAL, DIMENSION(3,10)  ::  isosurface_color = (/ &
+                                0.9, 0.9, 0.9,  0.8, 0.1, 0.1,  0.1, 0.1, 0.8, &
+                                0.1, 0.8, 0.1,  0.6, 0.1, 0.1,  0.1, 0.1, 0.6, &
+                                0.1, 0.6, 0.1,  0.4, 0.1, 0.1,  0.1, 0.1, 0.4  &
+                                0.1, 0.4, 0.1 /)
+
+    REAL(4), DIMENSION(2,100) ::  interval_values_dvrp, interval_h_dvrp =      &
+                                  (/ 270.0, 225.0, 225.0, 180.0, 70.0, 25.0,   &
+                                     25.0, -25.0, ( 0.0, i9 = 1, 192 ) /),     &
+                                  interval_l_dvrp = 0.5, interval_s_dvrp = 1.0,&
+                                  interval_a_dvrp = 0.0,                       &
+                                  interval_values_dvrp_prt,                    &
+                                  interval_h_dvrp_prt,                         &
+                                  (/ 270.0, 225.0, 225.0, 180.0, 70.0, 25.0,   &
+                                     25.0, -25.0, ( 0.0, i9 = 1, 192 ) /),     &
+                                  interval_l_dvrp_prt = 0.5,                   &
+                                  interval_s_dvrp_prt = 1.0,                   &
+                                  interval_a_dvrp_prt = 0.0
+#else
+    REAL, DIMENSION(2,10)     ::  slicer_range_limits_dvrp
+
+    REAL, DIMENSION(3,10)     ::  isosurface_color
+
+    REAL(4), DIMENSION(2,100) ::  interval_values_dvrp,                       &
+                                  interval_values_dvrp_prt, interval_h_dvrp,  &
+                                  interval_h_dvrp_prt, interval_l_dvrp = 0.5, &
+                                  interval_l_dvrp_prt = 0.5, interval_s_dvrp = 1.0, &
+                                  interval_s_dvrp_prt = 1.0, interval_a_dvrp = 0.0, &
+                                  interval_a_dvrp_prt = 0.0
+
+    DATA  slicer_range_limits_dvrp / -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
+                                     -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
+                                     -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
+                                     -1.0, 1.0 /
+
+    DATA  isosurface_color / 0.9, 0.9, 0.9,  0.8, 0.1, 0.1,  0.1, 0.1, 0.8, &
+                             0.1, 0.8, 0.1,  0.6, 0.1, 0.1,  0.1, 0.1, 0.6, &
+                             0.1, 0.6, 0.1,  0.4, 0.1, 0.1,  0.1, 0.1, 0.4, &
+                             0.1, 0.4, 0.1 /
+
+    DATA  interval_h_dvrp / 270.0, 225.0, 225.0, 180.0, 70.0, 25.0, &
+                            25.0, -25.0, 192 * 0.0 /
+
+    DATA  interval_h_dvrp_prt / 270.0, 225.0, 225.0, 180.0, 70.0, 25.0, &
+                                25.0, -25.0, 192 * 0.0 /
+#endif
+
+    REAL(4), DIMENSION(:), ALLOCATABLE ::  xcoor_dvrp, ycoor_dvrp, zcoor_dvrp
+
+    TYPE steering
+       CHARACTER (LEN=20) ::  name
+       REAL(4)            ::  min, max
+       INTEGER            ::  imin, imax
+    END TYPE steering
+
+    TYPE(steering), DIMENSION(:), ALLOCATABLE ::  steering_dvrp
+
+    SAVE
+
+ END MODULE dvrp_variables
+
+
+
+
+ MODULE grid_variables
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of grid spacings
+!------------------------------------------------------------------------------!
+
+    REAL ::  ddx, ddx2, dx = 1.0, dx2, ddy, ddy2, dy = 1.0, dy2
+
+    REAL, DIMENSION(:), ALLOCATABLE ::  ddx2_mg, ddy2_mg
+
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  fwxm, fwxp, fwym, fwyp, fxm, fxp,   &
+                                          fym, fyp, wall_e_x, wall_e_y,       &
+                                          wall_u, wall_v, wall_w_x, wall_w_y, &
+                                          zu_s_inner, zw_w_inner
+
+    SAVE
+
+ END MODULE grid_variables
+
+
+
+
+ MODULE indices
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of array bounds and number of gridpoints
+!------------------------------------------------------------------------------!
+
+    INTEGER ::  ngp_sums, nnx, nx = 0, nxa, nxl, nxlu, nxr, nxra, nx_on_file,  &
+                nny, ny = 0, nya, nyn, nyna, nys, nysv, ny_on_file, nnz,       &
+                nz = 0, nza, nzb, nzb_diff, nzt, nzta, nzt_diff
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::                                      &
+                ngp_2dh, ngp_3d, ngp_3d_inner,                                 &
+                nnx_pe, nny_pe, nxl_mg, nxr_mg, nyn_mg, nys_mg, nzt_mg
+
+    INTEGER, DIMENSION(:,:), ALLOCATABLE ::                                    &
+                ngp_2dh_outer, ngp_2dh_s_inner, mg_loc_ind, nzb_diff_s_inner,  &
+                nzb_diff_s_outer, nzb_diff_u, nzb_diff_v, nzb_inner, nzb_outer,&
+                nzb_s_inner, nzb_s_outer, nzb_u_inner, nzb_u_outer,            &
+                nzb_v_inner, nzb_v_outer, nzb_w_inner, nzb_w_outer, nzb_2d
+
+    INTEGER, DIMENSION(:,:,:), POINTER ::  flags
+
+    INTEGER, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  wall_flags_1,           &
+                wall_flags_2, wall_flags_3, wall_flags_4, wall_flags_5,        &
+                wall_flags_6, wall_flags_7, wall_flags_8, wall_flags_9,        &
+                wall_flags_10
+
+    SAVE
+
+ END MODULE indices
+
+
+
+
+ MODULE interfaces
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Interfaces for special subroutines which use optional parameters
+!------------------------------------------------------------------------------!
+
+    INTERFACE
+
+       SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
+
+          USE cpulog
+
+          CHARACTER (LEN=*)           ::  modus, place
+          CHARACTER (LEN=*), OPTIONAL ::  barrierwait
+          TYPE(logpoint)              ::  log_event
+
+       END SUBROUTINE cpu_log
+
+    END INTERFACE
+
+
+
+    INTERFACE
+
+       SUBROUTINE global_min_max ( i1, i2, j1, j2, k1, k2, feld, mode, wert, &
+                                   wert_ijk, wert1, wert1_ijk )
+          CHARACTER (LEN=*), INTENT(IN) ::  mode
+          INTEGER, INTENT(IN)           ::  i1, i2, j1, j2, k1, k2
+          INTEGER                       ::  wert_ijk(3)
+          INTEGER, OPTIONAL             ::  wert1_ijk(3)
+          REAL                          ::  wert
+          REAL, OPTIONAL                ::  wert1
+          REAL, INTENT(IN)              ::  feld(i1:i2,j1:j2,k1:k2)
+
+       END SUBROUTINE global_min_max
+
+    END INTERFACE
+
+    SAVE
+
+ END MODULE interfaces
+
+
+
+ MODULE pointer_interfaces
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Interfaces for subroutines with pointer arguments called in
+! prognostic_equations
+!------------------------------------------------------------------------------!
+
+    INTERFACE
+
+       SUBROUTINE advec_s_bc( sk, sk_char )
+
+          CHARACTER (LEN=*), INTENT(IN)   ::  sk_char
+          REAL, DIMENSION(:,:,:), POINTER ::  sk
+
+       END SUBROUTINE advec_s_bc
+
+    END INTERFACE
+
+
+    SAVE
+
+ END MODULE pointer_interfaces
+
+
+
+
+ MODULE model_1d
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables for the 1D-model
+!------------------------------------------------------------------------------!
+
+    INTEGER ::  current_timestep_number_1d = 0, damp_level_ind_1d, &
+                last_dt_change_1d = 0 
+
+    LOGICAL ::  run_control_header_1d = .FALSE., stop_dt_1d = .FALSE. 
+
+    REAL ::     damp_level_1d = -1.0, dt_1d = 60.0, dt_max_1d = 300.0, &
+                dt_pr_1d = 9999999.9, dt_run_control_1d = 60.0, &
+                end_time_1d = 864000.0, old_dt_1d = 1.0E-10, &
+                qs1d, simulated_time_1d = 0.0, time_pr_1d = 0.0, &
+                time_run_control_1d = 0.0, ts1d, us1d, usws1d, usws1d_m, &
+                vsws1d, vsws1d_m, z01d
+
+
+    REAL, DIMENSION(:), ALLOCATABLE ::  e1d, e1d_m, e1d_p, kh1d, kh1d_m, km1d, &
+                                        km1d_m, l_black, l1d, l1d_m, rif1d,    &
+                                        te_e, te_em, te_u, te_um, te_v, te_vm, &
+                                        u1d, u1d_m, u1d_p, v1d, v1d_m, v1d_p
+
+    SAVE
+
+ END MODULE model_1d
+
+
+
+
+ MODULE netcdf_control
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of parameters and variables for netcdf control.
+!------------------------------------------------------------------------------!
+
+#if defined( __netcdf )
+    USE netcdf
+#endif
+
+    INTEGER, PARAMETER ::  dopr_norm_num = 7, dopts_num = 26, dots_max = 100, &
+                           replace_num = 6
+
+    INTEGER ::  dots_num = 23
+
+    CHARACTER, DIMENSION( replace_num ) :: &
+                           replace_char = (/ '''', '"', '*', '/', '(', ')' /), &
+                           replace_by   = (/ 'p' , 'p', 's', 'o', '_', '_' /)
+
+    CHARACTER (LEN=6), DIMENSION(dopr_norm_num) ::  dopr_norm_names =   &
+         (/ 'wpt0  ', 'ws2   ', 'tsw2  ', 'ws3   ', 'ws2tsw', 'wstsw2', &
+            'z_i   ' /)
+
+    CHARACTER (LEN=6), DIMENSION(dopr_norm_num) ::  dopr_norm_longnames = &
+         (/ 'wpt0  ', 'w*2   ', 't*w2  ', 'w*3   ', 'w*2t*w', 'w*t*w2',   &
+            'z_i   ' /)
+
+    CHARACTER (LEN=7), DIMENSION(dopts_num) :: dopts_label = &
+          (/ 'tnpt   ', 'x_     ', 'y_     ', 'z_     ', 'z_abs  ', 'u      ', &
+             'v      ', 'w      ', 'u"     ', 'v"     ', 'w"     ', 'npt_up ', &
+             'w_up   ', 'w_down ', 'npt_max', 'npt_min', 'x*2    ', 'y*2    ', &
+             'z*2    ', 'u*2    ', 'v*2    ', 'w*2    ', 'u"2    ', 'v"2    ', &
+             'w"2    ', 'npt*2  ' /)
+
+    CHARACTER (LEN=7), DIMENSION(dopts_num) :: dopts_unit = &
+          (/ 'number ', 'm      ', 'm      ', 'm      ', 'm      ', 'm/s    ', &
+             'm/s    ', 'm/s    ', 'm/s    ', 'm/s    ', 'm/s    ', 'number ', &
+             'm/s    ', 'm/s    ', 'number ', 'number ', 'm2     ', 'm2     ', &
+             'm2     ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', &
+             'm2/s2  ', 'number2' /)
+
+    CHARACTER (LEN=7), DIMENSION(dots_max) :: dots_label = &
+          (/ 'E      ', 'E*     ', 'dt     ', 'u*     ', 'th*    ', 'umax   ', &
+             'vmax   ', 'wmax   ', 'div_new', 'div_old', 'z_i_wpt', 'z_i_pt ', &
+             'w*     ', 'w"pt"0 ', 'w"pt"  ', 'wpt    ', 'pt(0)  ', 'pt(zp) ', &
+             'w"u"0  ', 'w"v"0  ', 'w"q"0  ', 'mo_L   ', 'q*     ',            &
+             ( 'unknown', i9 = 1, 77) /)
+
+    CHARACTER (LEN=7), DIMENSION(dots_max) :: dots_unit = &
+          (/ 'm2/s2  ', 'm2/s2  ', 's      ', 'm/s    ', 'K      ', 'm/s    ', &
+             'm/s    ', 'm/s    ', 's-1    ', 's-1    ', 'm      ', 'm      ', &
+             'm/s    ', 'K m/s  ', 'K m/s  ', 'K m/s  ', 'K      ', 'K      ', &
+             'm2/s2  ', 'm2/s2  ', 'kg m/s ', 'm      ', 'kg/kg  ',            &
+             ( 'unknown', i9 = 1, 77 ) /)
+
+    CHARACTER (LEN=7), DIMENSION(300) ::  dopr_unit = 'unknown'
+
+    CHARACTER (LEN=7), DIMENSION(0:1,100) ::  do2d_unit, do3d_unit
+
+    CHARACTER (LEN=16), DIMENSION(25) ::  prt_var_names = &
+          (/ 'pt_age          ', 'pt_dvrp_size    ', 'pt_origin_x     ', &
+             'pt_origin_y     ', 'pt_origin_z     ', 'pt_radius       ', &
+             'pt_speed_x      ', 'pt_speed_y      ', 'pt_speed_z      ', &
+             'pt_weight_factor', 'pt_x            ', 'pt_y            ', &
+             'pt_z            ', 'pt_color        ', 'pt_group        ', &
+             'pt_tailpoints   ', 'pt_tail_id      ', 'pt_density_ratio', &
+             'pt_exp_arg      ', 'pt_exp_term     ', 'not_used        ', &
+             'not_used        ', 'not_used        ', 'not_used        ', &
+             'not_used        ' /)
+
+    CHARACTER (LEN=16), DIMENSION(25) ::  prt_var_units = &
+          (/ 'seconds         ', 'meters          ', 'meters          ', &
+             'meters          ', 'meters          ', 'meters          ', &
+             'm/s             ', 'm/s             ', 'm/s             ', &
+             'factor          ', 'meters          ', 'meters          ', &
+             'meters          ', 'none            ', 'none            ', &
+             'none            ', 'none            ', 'ratio           ', &
+             'none            ', 'none            ', 'not_used        ', &
+             'not_used        ', 'not_used        ', 'not_used        ', &
+             'not_used        ' /)
+
+    INTEGER ::  id_dim_prtnum, id_dim_time_pr, id_dim_time_prt, &
+                id_dim_time_pts, id_dim_time_sp, id_dim_time_ts, id_dim_x_sp, &
+                id_dim_y_sp, id_dim_zu_sp, id_dim_zw_sp, id_set_pr, &
+                id_set_prt, id_set_pts, id_set_sp, id_set_ts, id_var_prtnum, &
+                id_var_rnop_prt, id_var_time_pr, id_var_time_prt, &
+                id_var_time_pts, id_var_time_sp, id_var_time_ts, id_var_x_sp, &
+                id_var_y_sp, id_var_zu_sp, id_var_zw_sp, nc_stat
+
+    INTEGER, DIMENSION(0:1) ::  id_dim_time_xy, id_dim_time_xz, &
+                id_dim_time_yz, id_dim_time_3d, id_dim_x_xy, id_dim_xu_xy, &
+                id_dim_x_xz, id_dim_xu_xz, id_dim_x_yz, id_dim_xu_yz, &
+                id_dim_x_3d, id_dim_xu_3d, id_dim_y_xy, id_dim_yv_xy, &
+                id_dim_y_xz, id_dim_yv_xz, id_dim_y_yz, id_dim_yv_yz, &
+                id_dim_y_3d, id_dim_yv_3d, id_dim_zu_xy, id_dim_zu1_xy, &
+                id_dim_zu_xz, id_dim_zu_yz, id_dim_zu_3d, id_dim_zw_xy, &
+                id_dim_zw_xz, id_dim_zw_yz, id_dim_zw_3d, id_set_xy, &
+                id_set_xz, id_set_yz, id_set_3d, id_var_ind_x_yz, &
+                id_var_ind_y_xz, id_var_ind_z_xy, id_var_time_xy, &
+                id_var_time_xz, id_var_time_yz, id_var_time_3d, id_var_x_xy, &
+                id_var_xu_xy, id_var_x_xz, id_var_xu_xz, id_var_x_yz, &
+                id_var_xu_yz, id_var_x_3d, id_var_xu_3d, id_var_y_xy, &
+                id_var_yv_xy, id_var_y_xz, id_var_yv_xz, id_var_y_yz, &
+                id_var_yv_yz, id_var_y_3d, id_var_yv_3d, id_var_zusi_xy, &
+                id_var_zusi_3d, id_var_zu_xy, id_var_zu1_xy, id_var_zu_xz, &
+                id_var_zu_yz, id_var_zu_3d, id_var_zwwi_xy, id_var_zwwi_3d, &
+                id_var_zw_xy, id_var_zw_xz, id_var_zw_yz, id_var_zw_3d
+
+    INTEGER, DIMENSION(10)  ::  id_var_dospx, id_var_dospy, nc_precision 
+    INTEGER, DIMENSION(20)  ::  id_var_prt
+    INTEGER, DIMENSION(dopr_norm_num) ::  id_var_norm_dopr
+
+    INTEGER, DIMENSION(dopts_num,0:10) ::  id_var_dopts
+    INTEGER, DIMENSION(0:1,100)        ::  id_var_do2d, id_var_do3d
+    INTEGER, DIMENSION(100,0:9)        ::  id_dim_z_pr, id_var_dopr, &
+                                           id_var_z_pr
+    INTEGER, DIMENSION(dots_max,0:9)   ::  id_var_dots
+
+    LOGICAL ::  output_for_t0 = .FALSE.
+
+    SAVE
+
+ END MODULE netcdf_control
+
+
+
+ MODULE particle_attributes
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables used to compute particle transport
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+
+    CHARACTER (LEN=15)  ::  bc_par_lr = 'cyclic',  bc_par_ns = 'cyclic', &
+                            bc_par_b  = 'reflect', bc_par_t  = 'absorb'
+
+#if defined( __parallel )
+    INTEGER ::  mpi_particle_type
+#endif
+    INTEGER ::  ibc_par_lr, ibc_par_ns, ibc_par_b, ibc_par_t,                  &
+                iran_part = -1234567, maximum_number_of_particles = 1000,      &
+                maximum_number_of_tailpoints = 100,                            &
+                maximum_number_of_tails = 0,                                   &
+                number_of_initial_particles = 0, number_of_particles = 0,      &
+                number_of_particle_groups = 1, number_of_tails = 0,            &
+                number_of_initial_tails = 0, offset_ocean_nzt = 0,             &
+                offset_ocean_nzt_m1 = 0, particles_per_point = 1,              &
+                particle_file_count = 0, skip_particles_for_tail = 100,        &
+                total_number_of_particles, total_number_of_tails = 0
+
+    INTEGER, PARAMETER ::  max_number_of_particle_groups = 10
+
+    INTEGER, DIMENSION(:), ALLOCATABLE     ::  new_tail_id
+    INTEGER, DIMENSION(:,:,:), ALLOCATABLE ::  prt_count, prt_start_index
+
+    LOGICAL ::  particle_advection = .FALSE., random_start_position = .FALSE., &
+                read_particles_from_restartfile = .TRUE.,                      &
+                uniform_particles = .TRUE., use_particle_tails = .FALSE.,      &
+                use_sgs_for_particles = .FALSE.,                               &
+                write_particle_statistics = .FALSE.
+
+    LOGICAL, DIMENSION(max_number_of_particle_groups) ::                       &
+                vertical_particle_advection = .TRUE.
+
+    LOGICAL, DIMENSION(:), ALLOCATABLE ::  particle_mask, tail_mask
+
+    REAL    ::  c_0 = 3.0, dt_min_part = 0.0002, dt_sort_particles = 0.0,      &
+                dt_write_particle_data = 9999999.9, dvrp_psize = 9999999.9,    &
+                end_time_prel = 9999999.9, initial_weighting_factor = 1.0,     &
+                maximum_tailpoint_age = 100000.0,                              &
+                minimum_tailpoint_distance = 0.0,                              &
+                particle_advection_start = 0.0, sgs_wfu_part = 0.3333333,      &
+                sgs_wfv_part = 0.3333333, sgs_wfw_part = 0.3333333,            &
+                time_sort_particles = 0.0, time_write_particle_data = 0.0
+
+    REAL, DIMENSION(max_number_of_particle_groups) ::  &
+                density_ratio = 9999999.9, pdx = 9999999.9, pdy = 9999999.9, &
+                pdz = 9999999.9, psb = 9999999.9, psl = 9999999.9,           &
+                psn = 9999999.9, psr = 9999999.9, pss = 9999999.9,           &
+                pst = 9999999.9, radius = 9999999.9
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  particle_tail_coordinates
+
+
+    TYPE particle_type
+       SEQUENCE
+       REAL    ::  age, age_m, dt_sum, dvrp_psize, e_m, origin_x, origin_y, &
+                   origin_z, radius, speed_x, speed_x_sgs, speed_y,         &
+                   speed_y_sgs, speed_z, speed_z_sgs, weight_factor, x, y, z
+       INTEGER ::  color, group, tailpoints, tail_id
+    END TYPE particle_type
+
+    TYPE(particle_type), DIMENSION(:), ALLOCATABLE ::  initial_particles, &
+                                                       particles
+
+    TYPE particle_groups_type
+       SEQUENCE
+       REAL    ::  density_ratio, radius, exp_arg, exp_term
+    END TYPE particle_groups_type
+
+    TYPE(particle_groups_type), DIMENSION(max_number_of_particle_groups) ::&
+                   particle_groups
+
+    SAVE
+
+ END MODULE particle_attributes
+
+
+
+
+
+ MODULE pegrid
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables which define processor topology and the exchange of
+! ghost point layers. This modules must be placed in all routines which contain
+! MPI-calls.
+!------------------------------------------------------------------------------!
+
+#if defined( __parallel )
+#if defined( __lc )
+    USE MPI
+#else
+    INCLUDE "mpif.h"
+#endif
+#endif
+    CHARACTER(LEN=5)       ::  myid_char = ''
+    INTEGER                ::  id_inflow = 0, id_recycling = 0, myid = 0,      &
+                               target_id, npex = -1, npey = -1, numprocs = 1,  &
+                               numprocs_previous_run = -1,                     &
+                               tasks_per_node = -9999, threads_per_task = 1
+
+    INTEGER, DIMENSION(:,:), ALLOCATABLE ::  hor_index_bounds, &
+                                             hor_index_bounds_previous_run
+
+#if defined( __parallel )
+#if defined( __mpi2 )
+    CHARACTER (LEN=MPI_MAX_PORT_NAME) ::  port_name
+#endif
+
+    INTEGER ::  comm1dx, comm1dy, comm2d, comm_inter, comm_palm, ierr, myidx,  &
+                myidy, ndim = 2, ngp_xy, ngp_y, pleft, pnorth, pright, psouth, &
+                sendrecvcount_xy, sendrecvcount_yz, sendrecvcount_zx,          &
+                sendrecvcount_zyd, sendrecvcount_yxd,                          &
+                type_x, type_x_int, type_xy
+
+    INTEGER ::  ibuf(12), pcoord(2), pdims(2), status(MPI_STATUS_SIZE)
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  ngp_yz, type_xz
+
+    LOGICAL ::  reorder = .TRUE.
+    LOGICAL, DIMENSION(2) ::  cyclic = (/ .TRUE. , .TRUE. /), &
+                              remain_dims
+#endif
+
+    SAVE
+
+ END MODULE pegrid
+
+
+
+
+ MODULE profil_parameter
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of variables which control PROFIL-output
+!------------------------------------------------------------------------------!
+
+    INTEGER, PARAMETER ::  crmax = 100
+
+    CHARACTER (LEN=10), DIMENSION(100) ::  dopr_label = ' '
+
+    CHARACTER (LEN=10), DIMENSION(crmax) ::  cross_normalized_x = ' ', &
+                                             cross_normalized_y = ' '
+
+    CHARACTER (LEN=20), DIMENSION(20) ::  cross_ts_profiles = &
+                           (/ ' E E*               ', ' dt                 ', &
+                              ' u* w*              ', ' th*                ', &
+                              ' umax vmax wmax     ', ' div_old div_new    ', &
+                              ' z_i_wpt z_i_pt     ', ' w"pt"0 w"pt" wpt   ', &
+                              ' pt(0) pt(zp)       ', ' splux spluy spluz  ', &
+                              ' L                  ',                         &
+                            ( '                    ', i9 = 1, 9 ) /)
+
+    CHARACTER (LEN=40), DIMENSION(crmax) ::  cross_xtext = &
+                           (/ 'windspeed in ms>->1         ', &
+                              'pot. temperature in K       ', &
+                              'heat flux in K ms>->1       ', &
+                              'momentum flux in m>2s>2     ', &
+                              'eddy diffusivity in m>2s>->1', &
+                              'mixing length in m          ', &
+                            ( '                            ', i9 = 1, 94 ) /)
+
+    CHARACTER (LEN=100), DIMENSION(crmax) ::  cross_profiles = &
+                           (/ ' u v                           ', &
+                              ' pt                            ', &
+                              ' w"pt" w*pt* w*pt*BC wpt wptBC ', &
+                              ' w"u" w*u* wu w"v" w*v* wv     ', &
+                              ' km kh                         ', &
+                              ' l                             ', &
+                         ( '                               ', i9 = 1, 94 ) /)
+
+    INTEGER ::  profile_columns = 3, profile_rows = 2, profile_number = 0
+
+    INTEGER ::  cross_linecolors(100,crmax) = 1, &
+                cross_linestyles(100,crmax) = 0, &
+                cross_profile_numbers(100,crmax) = 0, &
+                cross_pnc_local(crmax), cross_profile_number_count(crmax) = 0, &
+                cross_ts_numbers(crmax,crmax) = 0, &
+                cross_ts_number_count(crmax) = 0, dopr_crossindex(100) = 0, &
+                dopr_index(300) = 0, dopr_initial_index(300) = 0, &
+                dots_crossindex(100) = 0, dots_index(100) = 0, &
+                linecolors(10) = (/ 2, 3, 4,  5, 7, 8, 12, 15, 16, 23 /), &
+                linestyles(11) = (/ 0, 7, 3, 10, 4, 1,  9,  2,  5,  8, 6 /)
+                
+
+    REAL ::  cross_normx_factor(100,crmax) = 1.0, &
+             cross_normy_factor(100,crmax) = 1.0, &
+             cross_ts_uymax(20) = &
+                             (/ 999.999, 999.999, 999.999, 999.999, 999.999,   &
+                                999.999, 999.999, 999.999, 999.999, 999.999,   &
+                                999.999, 999.999, 999.999, 999.999, 999.999,   &
+                                999.999, 999.999, 999.999, 999.999, 999.999 /),&
+             cross_ts_uymax_computed(20) = 999.999, &
+             cross_ts_uymin(20) = &
+                             (/ 999.999, 999.999, 999.999,  -5.000, 999.999,   &
+                                999.999,   0.000, 999.999, 999.999, 999.999,   &
+                                999.999, 999.999, 999.999, 999.999, 999.999,   &
+                                999.999, 999.999, 999.999, 999.999, 999.999 /),&
+             cross_ts_uymin_computed(20) = 999.999, &
+             cross_uxmax(crmax) = 0.0, cross_uxmax_computed(crmax) = -1.0, &
+             cross_uxmax_normalized(crmax) = 0.0, &
+             cross_uxmax_normalized_computed(crmax) = -1.0, &
+             cross_uxmin(crmax) = 0.0, cross_uxmin_computed(crmax) =  1.0, &
+             cross_uxmin_normalized(crmax) = 0.0, &
+             cross_uxmin_normalized_computed(crmax) = 1.0, &
+             cross_uymax(crmax), cross_uymin(crmax)
+
+    SAVE
+
+ END MODULE profil_parameter
+
+
+
+
+ MODULE spectrum
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of quantities used for computing spectra
+!------------------------------------------------------------------------------!
+
+    CHARACTER (LEN=6),  DIMENSION(1:5) ::  header_char = (/ 'PS(u) ', 'PS(v) ',&
+                                           'PS(w) ', 'PS(pt)', 'PS(q) ' /)
+    CHARACTER (LEN=2),  DIMENSION(10)  ::  spectra_direction = 'x'
+    CHARACTER (LEN=10), DIMENSION(10)  ::  data_output_sp  = ' '
+    CHARACTER (LEN=25), DIMENSION(1:5) ::  utext_char =                    &
+                                           (/ '-power spectrum of u     ', &
+                                              '-power spectrum of v     ', &
+                                              '-power spectrum of w     ', &
+                                              '-power spectrum of ^1185 ', &
+                                              '-power spectrum of q     ' /)
+    CHARACTER (LEN=39), DIMENSION(1:5) ::  ytext_char =                        &
+                                 (/ 'k ^2236 ^2566^2569<u(k) in m>2s>->2    ', &
+                                    'k ^2236 ^2566^2569<v(k) in m>2s>->2    ', &
+                                    'k ^2236 ^2566^2569<w(k) in m>2s>->2    ', &
+                                    'k ^2236 ^2566^2569<^1185(k) in m>2s>->2', &
+                                    'k ^2236 ^2566^2569<q(k) in m>2s>->2    ' /)
+
+    INTEGER ::  klist_x = 0, klist_y = 0, n_sp_x = 0, n_sp_y = 0
+
+    INTEGER ::  comp_spectra_level(100) = 999999,                   &
+                lstyles(100) = (/ 0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8,    &
+                                  0, 7, 3, 10, 1, 4, 9, 2, 6, 8 /), &
+                plot_spectra_level(100) = 999999
+
+    REAL    ::  time_to_start_sp = 0.0
+
+    SAVE
+
+ END MODULE spectrum
+
+
+
+
+ MODULE statistics
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of statistical quantities, e.g. global sums
+!------------------------------------------------------------------------------!
+
+    CHARACTER (LEN=40) ::  region(0:9)
+    INTEGER ::  pr_palm = 80, statistic_regions = 0, var_ts = 100
+    INTEGER ::  u_max_ijk(3), v_max_ijk(3), w_max_ijk(3)
+    LOGICAL ::  flow_statistics_called = .FALSE.
+    REAL ::     u_max, v_max, w_max
+    REAL, DIMENSION(:), ALLOCATABLE       ::  sums_divnew_l, sums_divold_l
+    REAL, DIMENSION(:,:), ALLOCATABLE     ::  sums, sums_wsts_bc_l, ts_value
+    REAL, DIMENSION(:,:,:), ALLOCATABLE   ::  hom_sum, rmask, spectrum_x, &
+                                              spectrum_y, sums_l, sums_l_l, &
+                                              sums_up_fraction_l
+    REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  hom
+
+    SAVE
+
+ END MODULE statistics
+
+
+
+
+ MODULE transpose_indices
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Definition of indices for transposed arrays
+!------------------------------------------------------------------------------!
+
+    INTEGER ::  nxl_y, nxl_yd, nxl_z, nxr_y, nxr_ya, nxr_yd, nxr_yda, nxr_z, &
+                nxr_za, nyn_x, nyn_xa, nyn_z, nyn_za, nys_x, nys_z, nzb_x,   &
+                nzb_y, nzb_yd, nzt_x, nzt_xa, nzt_y, nzt_ya, nzt_yd, nzt_yda
+                
+
+    SAVE
+
+ END MODULE transpose_indices
Index: palm/tags/release-3.7/SOURCE/netcdf.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/netcdf.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/netcdf.f90	(revision 393)
@@ -0,0 +1,3791 @@
+#if defined( __ibmy_special )
+@PROCESS NOOPTimize
+#endif
+ SUBROUTINE define_netcdf_header( callmode, extend, av )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! ------------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 359 2009-08-19 16:56:44Z letzel
+! For extended NetCDF files, the updated title attribute includes an update of
+! time_average_text where appropriate.
+! Bugfix for extended NetCDF files: In order to avoid 'data mode' errors if 
+! updated attributes are larger than their original size, NF90_PUT_ATT is called
+! in 'define mode' enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a
+! possible performance loss; an alternative strategy would be to ensure equal
+! attribute size in a job chain.
+! NetCDF unit attribute in timeseries output in case of statistic
+! regions added.
+! Output of NetCDF messages with aid of message handling routine.
+! Output of messages replaced by message handling routine.
+! Typographical errors fixed.
+!
+! 216 2008-11-25 07:12:43Z raasch
+! Origin of the xy-coordinate system shifted from the center of the first
+! grid cell (indices i=0, j=0) to the south-left corner of this cell.
+!
+! 189 2008-08-13 17:09:26Z letzel
+! consistently allow 100 spectra levels instead of 10
+! bug fix in the determination of the number of output heights for spectra,
+! +user-defined spectra
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Grids defined for rho and sa
+!
+! 48 2007-03-06 12:28:36Z raasch
+! Output topography height information (zu_s_inner, zw_s_inner) to 2d-xy and 3d
+! datasets
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.12  2006/09/26 19:35:16  raasch
+! Bugfix yv coordinates for yz cross sections
+!
+! Revision 1.1  2005/05/18 15:37:16  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! In case of extend = .FALSE.:
+! Define all necessary dimensions, axes and variables for the different
+! NetCDF datasets. This subroutine is called from check_open after a new
+! dataset is created. It leaves the open NetCDF files ready to write.
+!
+! In case of extend = .TRUE.:
+! Find out if dimensions and variables of an existing file match the values
+! of the actual run. If so, get all necessary informations (ids, etc.) from
+! this file.
+!
+! Parameter av can assume values 0 (non-averaged data) and 1 (time averaged
+! data)
+!------------------------------------------------------------------------------!
+#if defined( __netcdf )
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE netcdf_control
+    USE pegrid
+    USE particle_attributes
+    USE profil_parameter
+    USE spectrum
+    USE statistics
+
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=2)              ::  suffix
+    CHARACTER (LEN=2), INTENT (IN) ::  callmode
+    CHARACTER (LEN=3)              ::  suffix1
+    CHARACTER (LEN=4)              ::  grid_x, grid_y, grid_z
+    CHARACTER (LEN=6)              ::  mode
+    CHARACTER (LEN=10)             ::  netcdf_var_name, netcdf_var_name_base, &
+                                       precision, var
+    CHARACTER (LEN=80)             ::  time_average_text
+    CHARACTER (LEN=2000)           ::  var_list, var_list_old
+
+    INTEGER ::  av, i, id_x, id_y, id_z, j, ns, ns_old, nz_old
+
+    INTEGER, DIMENSION(1) ::  id_dim_time_old, id_dim_x_yz_old,  &
+                              id_dim_y_xz_old, id_dim_zu_sp_old, &
+                              id_dim_zu_xy_old, id_dim_zu_3d_old
+
+    LOGICAL ::  found
+
+    LOGICAL, INTENT (INOUT) ::  extend
+
+    LOGICAL, SAVE ::  init_netcdf = .FALSE.
+
+    REAL, DIMENSION(1) ::  last_time_coordinate
+
+    REAL, DIMENSION(:), ALLOCATABLE ::  netcdf_data
+
+
+!
+!-- Initializing actions (return to calling routine check_parameters afterwards)
+    IF ( .NOT. init_netcdf )  THEN
+!
+!--    Check and set accuracy for NetCDF output. First set default value
+       nc_precision = NF90_REAL4
+
+       i = 1
+       DO  WHILE ( netcdf_precision(i) /= ' ' )
+          j = INDEX( netcdf_precision(i), '_' )
+          IF ( j == 0 )  THEN
+             WRITE ( message_string, * ) 'netcdf_precision must contain a ', &
+                                         '"_"netcdf_precision(', i, ')="',   &
+                                         TRIM( netcdf_precision(i) ),'"'
+             CALL message( 'define_netcdf_header', 'PA0241', 1, 2, 0, 6, 0 )
+          ENDIF
+
+          var       = netcdf_precision(i)(1:j-1)
+          precision = netcdf_precision(i)(j+1:)
+
+          IF ( precision == 'NF90_REAL4' )  THEN
+             j = NF90_REAL4
+          ELSEIF ( precision == 'NF90_REAL8' )  THEN
+             j = NF90_REAL8
+          ELSE
+             WRITE ( message_string, * ) 'illegal netcdf precision: ',  &
+                                         'netcdf_precision(', i, ')="', &
+                                         TRIM( netcdf_precision(i) ),'"'
+             CALL message( 'define_netcdf_header', 'PA0242', 1, 2, 0, 6, 0 )
+          ENDIF
+
+          SELECT CASE ( var )
+             CASE ( 'xy' )
+                nc_precision(1) = j
+             CASE ( 'xz' )
+                nc_precision(2) = j
+             CASE ( 'yz' )
+                nc_precision(3) = j
+             CASE ( '2d' )
+                nc_precision(1:3) = j
+             CASE ( '3d' )
+                nc_precision(4) = j
+             CASE ( 'pr' )
+                nc_precision(5) = j
+             CASE ( 'ts' )
+                nc_precision(6) = j
+             CASE ( 'sp' )
+                nc_precision(7) = j
+             CASE ( 'prt' )
+                nc_precision(8) = j
+             CASE ( 'all' )
+                nc_precision    = j
+
+             CASE DEFAULT
+                WRITE ( message_string, * ) 'unknown variable in inipar ',    & 
+                                  'assignment: netcdf_precision(', i, ')="',  &
+                                            TRIM( netcdf_precision(i) ),'"'
+                CALL message( 'define_netcdf_header', 'PA0243', 1, 2, 0, 6, 0 ) 
+
+          END SELECT
+
+          i = i + 1
+          IF ( i > 10 )  EXIT
+       ENDDO
+
+       init_netcdf = .TRUE.
+
+       RETURN
+
+    ENDIF
+
+!
+!-- Determine the mode to be processed
+    IF ( extend )  THEN
+       mode = callmode // '_ext'
+    ELSE
+       mode = callmode // '_new'
+    ENDIF
+
+!
+!-- Select the mode to be processed. Possibilities are 3d, xy, xz, yz,
+!-- pr and ts.
+    SELECT CASE ( mode )
+
+       CASE ( '3d_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), NF90_GLOBAL, 'Conventions', &
+                                  'COARDS' )
+          CALL handle_netcdf_error( 'netcdf', 62 )
+
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 63 )
+          IF ( av == 1 )  THEN
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 63 )
+          ENDIF
+
+!
+!--       Define time coordinate for volume data (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'time', NF90_UNLIMITED, &
+                                  id_dim_time_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 64 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'time', NF90_DOUBLE, &
+                                  id_dim_time_3d(av), id_var_time_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 65 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_time_3d(av), 'units', &
+                                  'seconds')
+          CALL handle_netcdf_error( 'netcdf', 66 )
+
+!
+!--       Define spatial dimensions and coordinates:
+!--       Define vertical coordinate grid (zu grid)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'zu_3d', nz_do3d-nzb+1, &
+                                  id_dim_zu_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 67 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'zu_3d', NF90_DOUBLE, &
+                                  id_dim_zu_3d(av), id_var_zu_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 68 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zu_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 69 )
+
+!
+!--       Define vertical coordinate grid (zw grid)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'zw_3d', nz_do3d-nzb+1, &
+                                  id_dim_zw_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 70 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'zw_3d', NF90_DOUBLE, &
+                                  id_dim_zw_3d(av), id_var_zw_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 71 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zw_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 72 )
+
+!
+!--       Define x-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'x', nx+2, id_dim_x_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 73 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'x', NF90_DOUBLE, &
+                                  id_dim_x_3d(av), id_var_x_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 74 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_x_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 75 )
+
+!
+!--       Define x-axis (for u position)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'xu', nx+2, id_dim_xu_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 358 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'xu', NF90_DOUBLE, &
+                                  id_dim_xu_3d(av), id_var_xu_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 359 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_xu_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 360 )
+
+!
+!--       Define y-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'y', ny+2, id_dim_y_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 76 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'y', NF90_DOUBLE, &
+                                  id_dim_y_3d(av), id_var_y_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 77 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_y_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 78 )
+
+!
+!--       Define y-axis (for v position)
+          nc_stat = NF90_DEF_DIM( id_set_3d(av), 'yv', ny+2, id_dim_yv_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 361 )
+
+          nc_stat = NF90_DEF_VAR( id_set_3d(av), 'yv', NF90_DOUBLE, &
+                                  id_dim_yv_3d(av), id_var_yv_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 362 )
+
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_yv_3d(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 363 )
+
+!
+!--       In case of non-flat topography define 2d-arrays containing the height
+!--       informations
+          IF ( TRIM( topography ) /= 'flat' )  THEN
+!
+!--          Define zusi = zu(nzb_s_inner)
+             nc_stat = NF90_DEF_VAR( id_set_3d(av), 'zusi', NF90_DOUBLE,     &
+                                     (/ id_dim_x_3d(av), id_dim_y_3d(av) /), &
+                                     id_var_zusi_3d(av) )
+             CALL handle_netcdf_error( 'netcdf', 413 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zusi_3d(av), &
+                                     'units', 'meters' )
+             CALL handle_netcdf_error( 'netcdf', 414 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zusi_3d(av), &
+                                     'long_name', 'zu(nzb_s_inner)' )
+             CALL handle_netcdf_error( 'netcdf', 415 )
+
+!             
+!--          Define zwwi = zw(nzb_w_inner)
+             nc_stat = NF90_DEF_VAR( id_set_3d(av), 'zwwi', NF90_DOUBLE,     &
+                                     (/ id_dim_x_3d(av), id_dim_y_3d(av) /), &
+                                     id_var_zwwi_3d(av) )
+             CALL handle_netcdf_error( 'netcdf', 416 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zwwi_3d(av), &
+                                     'units', 'meters' )
+             CALL handle_netcdf_error( 'netcdf', 417 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_zwwi_3d(av), &
+                                     'long_name', 'zw(nzb_w_inner)' )
+             CALL handle_netcdf_error( 'netcdf', 418 )
+
+          ENDIF             
+
+
+!
+!--       Define the variables
+          var_list = ';'
+          i = 1
+
+          DO WHILE ( do3d(av,i)(1:1) /= ' ' )
+
+!
+!--          Check for the grid
+             found = .TRUE.
+             SELECT CASE ( do3d(av,i) )
+!
+!--             Most variables are defined on the scalar grid
+                CASE ( 'e', 'p', 'pc', 'pr', 'pt', 'q', 'ql', 'ql_c', 'ql_v', &
+                       'ql_vp', 'qv', 'rho', 's', 'sa', 'vpt' )
+
+                   grid_x = 'x'
+                   grid_y = 'y'
+                   grid_z = 'zu'
+!
+!--             u grid
+                CASE ( 'u' )
+
+                   grid_x = 'xu'
+                   grid_y = 'y'
+                   grid_z = 'zu'
+!
+!--             v grid
+                CASE ( 'v' )
+
+                   grid_x = 'x'
+                   grid_y = 'yv'
+                   grid_z = 'zu'
+!
+!--             w grid
+                CASE ( 'w' )
+
+                   grid_x = 'x'
+                   grid_y = 'y'
+                   grid_z = 'zw'
+
+                CASE DEFAULT
+!
+!--                Check for user-defined quantities
+                   CALL user_define_netcdf_grid( do3d(av,i), found, grid_x, &
+                                                 grid_y, grid_z )
+
+             END SELECT
+
+!
+!--          Select the respective dimension ids
+             IF ( grid_x == 'x' )  THEN
+                id_x = id_dim_x_3d(av)
+             ELSEIF ( grid_x == 'xu' )  THEN
+                id_x = id_dim_xu_3d(av)
+             ENDIF
+
+             IF ( grid_y == 'y' )  THEN
+                id_y = id_dim_y_3d(av)
+             ELSEIF ( grid_y == 'yv' )  THEN
+                id_y = id_dim_yv_3d(av)
+             ENDIF
+
+             IF ( grid_z == 'zu' )  THEN
+                id_z = id_dim_zu_3d(av)
+             ELSEIF ( grid_z == 'zw' )  THEN
+                id_z = id_dim_zw_3d(av)
+             ENDIF
+
+!
+!--          Define the grid
+             nc_stat = NF90_DEF_VAR( id_set_3d(av), do3d(av,i),                &
+                                     nc_precision(4),                          &
+                                   (/ id_x, id_y, id_z, id_dim_time_3d(av) /), &
+                                     id_var_do3d(av,i) )
+
+             IF ( .NOT. found )  THEN
+                WRITE ( message_string, * ) 'no grid defined for', &
+                                            ' variable ', TRIM( do3d(av,i) )
+                CALL message( 'define_netcdf_header', 'PA0244', 0, 1, 0, 6, 0 )
+             ENDIF
+
+             var_list = TRIM( var_list ) // TRIM( do3d(av,i) ) // ';'
+
+             CALL handle_netcdf_error( 'netcdf', 79 )
+!
+!--          Store the 'real' name of the variable (with *, for example)
+!--          in the long_name attribute. This is evaluated by Ferret,
+!--          for example.
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_do3d(av,i), &
+                                     'long_name', do3d(av,i) )
+             CALL handle_netcdf_error( 'netcdf', 80 )
+!
+!--          Define the variable's unit
+             nc_stat = NF90_PUT_ATT( id_set_3d(av), id_var_do3d(av,i), &
+                                     'units', TRIM( do3d_unit(av,i) ) )
+             CALL handle_netcdf_error( 'netcdf', 357 )
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       No arrays to output
+          IF ( i == 1 )  RETURN
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs and by combine_plot_fields)
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list )
+          CALL handle_netcdf_error( 'netcdf', 81 )
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 82 )
+
+!
+!--       Write data for x (shifted by +dx/2) and xu axis
+          ALLOCATE( netcdf_data(0:nx+1) )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = ( i + 0.5 ) * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_x_3d(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 83 )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = i * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_xu_3d(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 385 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write data for y (shifted by +dy/2) and yv axis
+          ALLOCATE( netcdf_data(0:ny+1) )
+
+          DO  i = 0, ny+1
+             netcdf_data(i) = ( i + 0.5 ) * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_y_3d(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ny+2 /))
+          CALL handle_netcdf_error( 'netcdf', 84 )
+
+          DO  i = 0, ny+1
+             netcdf_data(i) = i * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_yv_3d(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ny+2 /))
+          CALL handle_netcdf_error( 'netcdf', 387 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write zu and zw data (vertical axes)
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_zu_3d(av),    &
+                                  zu(nzb:nz_do3d), start = (/ 1 /), &
+                                  count = (/ nz_do3d-nzb+1 /) )
+          CALL handle_netcdf_error( 'netcdf', 85 )
+
+
+          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_zw_3d(av),    &
+                                  zw(nzb:nz_do3d), start = (/ 1 /), &
+                                  count = (/ nz_do3d-nzb+1 /) )
+          CALL handle_netcdf_error( 'netcdf', 86 )
+
+
+!
+!--       In case of non-flat topography write height information
+          IF ( TRIM( topography ) /= 'flat' )  THEN
+
+             nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_zusi_3d(av), &
+                                     zu_s_inner(0:nx+1,0:ny+1), &
+                                     start = (/ 1, 1 /), &
+                                     count = (/ nx+2, ny+2 /) )
+             CALL handle_netcdf_error( 'netcdf', 419 )
+
+             nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_zwwi_3d(av), &
+                                     zw_w_inner(0:nx+1,0:ny+1), &
+                                     start = (/ 1, 1 /), &
+                                     count = (/ nx+2, ny+2 /) )
+             CALL handle_netcdf_error( 'netcdf', 420 )
+
+          ENDIF
+
+       CASE ( '3d_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_3d(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 87 )
+
+          var_list = ';'
+          i = 1
+          DO WHILE ( do3d(av,i)(1:1) /= ' ' )
+             var_list = TRIM(var_list) // TRIM( do3d(av,i) ) // ';'
+             i = i + 1
+          ENDDO
+
+          IF ( av == 0 )  THEN
+             var = '(3d)'
+          ELSE
+             var = '(3d_av)'
+          ENDIF
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for volume data ' //             &  
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                      &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0245', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get and compare the number of vertical gridpoints
+          nc_stat = NF90_INQ_VARID( id_set_3d(av), 'zu_3d', id_var_zu_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 88 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_3d(av), id_var_zu_3d(av), &
+                                           dimids = id_dim_zu_3d_old )
+          CALL handle_netcdf_error( 'netcdf', 89 )
+          id_dim_zu_3d(av) = id_dim_zu_3d_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_3d(av), id_dim_zu_3d(av), &
+                                            len = nz_old )
+          CALL handle_netcdf_error( 'netcdf', 90 )
+
+          IF ( nz_do3d-nzb+1 /= nz_old )  THEN
+              message_string = 'NetCDF file for volume data ' //             &
+                               TRIM( var ) // ' from previous run found,' // &
+                               '&but this file cannot be extended due to' // &
+                               ' mismatch in number of' //                   &
+                               '&vertical grid points (nz_do3d).' //         &
+                               '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0246', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is pl3d..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_3d(av), 'time', id_var_time_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 91 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_3d(av), id_var_time_3d(av), &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 92 )
+
+          id_dim_time_3d(av) = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_3d(av), id_dim_time_3d(av), &
+                                            len = do3d_time_count(av) )
+          CALL handle_netcdf_error( 'netcdf', 93 )
+
+          nc_stat = NF90_GET_VAR( id_set_3d(av), id_var_time_3d(av), &
+                                  last_time_coordinate,              &
+                                  start = (/ do3d_time_count(av) /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 94 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for volume data ' // &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0247', 0, 1, 0, 6, 0 )
+             do3d_time_count(av) = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO WHILE ( do3d(av,i)(1:1) /= ' ' )
+             nc_stat = NF90_INQ_VARID( id_set_3d(av), TRIM( do3d(av,i) ), &
+                                       id_var_do3d(av,i) )
+             CALL handle_netcdf_error( 'netcdf', 95 )
+             i = i + 1
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size. Maybe revise later.
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_REDEF( id_set_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 429 )
+          nc_stat = NF90_PUT_ATT( id_set_3d(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 96 )
+          nc_stat = NF90_ENDDEF( id_set_3d(av) )
+          CALL handle_netcdf_error( 'netcdf', 430 )
+          message_string = 'NetCDF file for volume data ' //             &
+                           TRIM( var ) // ' from previous run found.' // &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0248', 0, 0, 0, 6, 0 )
+
+       CASE ( 'xy_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), NF90_GLOBAL, 'Conventions', &
+                                  'COARDS' )
+          CALL handle_netcdf_error( 'netcdf', 97 )
+
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 98 )
+          IF ( av == 1 )  THEN
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval
+             nc_stat = NF90_PUT_ATT( id_set_xy(av), NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 98 )
+          ENDIF
+
+!
+!--       Define time coordinate for xy sections (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'time', NF90_UNLIMITED, &
+                                  id_dim_time_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 99 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'time', NF90_DOUBLE, &
+                                  id_dim_time_xy(av), id_var_time_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 100 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_time_xy(av), 'units', &
+                                  'seconds')
+          CALL handle_netcdf_error( 'netcdf', 101 )
+
+!
+!--       Define the spatial dimensions and coordinates for xy-sections.
+!--       First, determine the number of horizontal sections to be written.
+          IF ( section(1,1) == -9999 )  THEN
+             RETURN
+          ELSE
+             ns = 1
+             DO WHILE ( section(ns,1) /= -9999  .AND.  ns <= 100 )
+                ns = ns + 1
+             ENDDO
+             ns = ns - 1
+          ENDIF
+
+!
+!--       Define vertical coordinate grid (zu grid)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'zu_xy', ns, id_dim_zu_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 102 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'zu_xy', NF90_DOUBLE, &
+                                  id_dim_zu_xy(av), id_var_zu_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 103 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zu_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 104 )
+
+!
+!--       Define vertical coordinate grid (zw grid)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'zw_xy', ns, id_dim_zw_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 105 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'zw_xy', NF90_DOUBLE, &
+                                  id_dim_zw_xy(av), id_var_zw_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 106 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zw_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 107 )
+
+!
+!--       Define a pseudo vertical coordinate grid for the surface variables
+!--       u* and t* to store their height level
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'zu1_xy', 1, &
+                                  id_dim_zu1_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 108 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'zu1_xy', NF90_DOUBLE, &
+                                  id_dim_zu1_xy(av), id_var_zu1_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 109 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zu1_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 110 )
+
+!
+!--       Define a variable to store the layer indices of the horizontal cross
+!--       sections, too
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'ind_z_xy', NF90_DOUBLE, &
+                                  id_dim_zu_xy(av), id_var_ind_z_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 111 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_ind_z_xy(av), 'units', &
+                                  'gridpoints')
+          CALL handle_netcdf_error( 'netcdf', 112 )
+
+!
+!--       Define x-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'x', nx+2, id_dim_x_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 113 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'x', NF90_DOUBLE, &
+                                  id_dim_x_xy(av), id_var_x_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 114 )
+
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_x_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 115 )
+
+!
+!--       Define x-axis (for u position)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'xu', nx+2, id_dim_xu_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 388 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'xu', NF90_DOUBLE, &
+                                  id_dim_xu_xy(av), id_var_xu_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 389 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_xu_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 390 )
+
+!
+!--       Define y-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'y', ny+2, id_dim_y_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 116 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'y', NF90_DOUBLE, &
+                                  id_dim_y_xy(av), id_var_y_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 117 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_y_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 118 )
+
+!
+!--       Define y-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_xy(av), 'yv', ny+2, id_dim_yv_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 364 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xy(av), 'yv', NF90_DOUBLE, &
+                                  id_dim_yv_xy(av), id_var_yv_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 365 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_yv_xy(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 366 )
+
+!
+!--       In case of non-flat topography define 2d-arrays containing the height
+!--       informations
+          IF ( TRIM( topography ) /= 'flat' )  THEN
+!
+!--          Define zusi = zu(nzb_s_inner)
+             nc_stat = NF90_DEF_VAR( id_set_xy(av), 'zusi', NF90_DOUBLE, &
+                                     (/ id_dim_x_xy(av), id_dim_y_xy(av) /), &
+                                     id_var_zusi_xy(av) )
+             CALL handle_netcdf_error( 'netcdf', 421 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zusi_xy(av), &
+                                     'units', 'meters' )
+             CALL handle_netcdf_error( 'netcdf', 422 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zusi_xy(av), &
+                                     'long_name', 'zu(nzb_s_inner)' )
+             CALL handle_netcdf_error( 'netcdf', 423 )
+
+!             
+!--          Define zwwi = zw(nzb_w_inner)
+             nc_stat = NF90_DEF_VAR( id_set_xy(av), 'zwwi', NF90_DOUBLE, &
+                                     (/ id_dim_x_xy(av), id_dim_y_xy(av) /), &
+                                     id_var_zwwi_xy(av) )
+             CALL handle_netcdf_error( 'netcdf', 424 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zwwi_xy(av), &
+                                     'units', 'meters' )
+             CALL handle_netcdf_error( 'netcdf', 425 )
+             
+             nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_zwwi_xy(av), &
+                                     'long_name', 'zw(nzb_w_inner)' )
+             CALL handle_netcdf_error( 'netcdf', 426 )
+
+          ENDIF
+
+
+!
+!--       Define the variables
+          var_list = ';'
+          i = 1
+
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+
+             IF ( INDEX( do2d(av,i), 'xy' ) /= 0 )  THEN
+!
+!--             If there is a star in the variable name (u* or t*), it is a
+!--             surface variable. Define it with id_dim_zu1_xy.
+                IF ( INDEX( do2d(av,i), '*' ) /= 0 )  THEN
+!
+!--                First, remove those characters not allowed by NetCDF
+                   netcdf_var_name = do2d(av,i)
+                   CALL clean_netcdf_varname( netcdf_var_name )
+
+                   nc_stat = NF90_DEF_VAR( id_set_xy(av), netcdf_var_name,     &
+                                           nc_precision(1),                    &
+                                           (/ id_dim_x_xy(av), id_dim_y_xy(av),&
+                                              id_dim_zu1_xy(av),               &
+                                              id_dim_time_xy(av) /),           &
+                                           id_var_do2d(av,i) )
+
+                   var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+
+                ELSE
+
+!
+!--                Check for the grid
+                   found = .TRUE.
+                   SELECT CASE ( do2d(av,i) )
+!
+!--                   Most variables are defined on the zu grid
+                      CASE ( 'e_xy', 'p_xy', 'pc_xy', 'pr_xy', 'pt_xy', 'q_xy',&
+                             'ql_xy', 'ql_c_xy', 'ql_v_xy', 'ql_vp_xy',        &
+                             'qv_xy', 'rho_xy', 's_xy', 'sa_xy', 'vpt_xy' )
+
+                         grid_x = 'x'
+                         grid_y = 'y'
+                         grid_z = 'zu'
+!
+!--                   u grid
+                      CASE ( 'u_xy' )
+
+                         grid_x = 'xu'
+                         grid_y = 'y'
+                         grid_z = 'zu'
+!
+!--                   v grid
+                      CASE ( 'v_xy' )
+
+                         grid_x = 'x'
+                         grid_y = 'yv'
+                         grid_z = 'zu'
+!
+!--                   w grid
+                      CASE ( 'w_xy' )
+
+                         grid_x = 'x'
+                         grid_y = 'y'
+                         grid_z = 'zw'
+
+                      CASE DEFAULT
+!
+!--                      Check for user-defined quantities
+                         CALL user_define_netcdf_grid( do2d(av,i), found, &
+                                                       grid_x, grid_y, grid_z )
+
+                   END SELECT
+
+!
+!--                Select the respective dimension ids
+                   IF ( grid_x == 'x' )  THEN
+                      id_x = id_dim_x_xy(av)
+                   ELSEIF ( grid_x == 'xu' )  THEN
+                      id_x = id_dim_xu_xy(av)
+                   ENDIF
+
+                   IF ( grid_y == 'y' )  THEN
+                      id_y = id_dim_y_xy(av)
+                   ELSEIF ( grid_y == 'yv' )  THEN
+                      id_y = id_dim_yv_xy(av)
+                   ENDIF
+
+                   IF ( grid_z == 'zu' )  THEN
+                      id_z = id_dim_zu_xy(av)
+                   ELSEIF ( grid_z == 'zw' )  THEN
+                      id_z = id_dim_zw_xy(av)
+                   ENDIF
+
+!
+!--                Define the grid
+                   nc_stat = NF90_DEF_VAR( id_set_xy(av), do2d(av,i),          &
+                                           nc_precision(1),                    &
+                                   (/ id_x, id_y, id_z, id_dim_time_xy(av) /), &
+                                           id_var_do2d(av,i) )
+
+                   IF ( .NOT. found )  THEN
+                      WRITE ( message_string, * ) 'no grid defined for', &
+                                            ' variable ', TRIM( do2d(av,i) )
+                      CALL message( 'define_netcdf_header', 'PA0244',&
+                                                                0, 1, 0, 6, 0 )
+                   ENDIF
+
+                   var_list = TRIM( var_list ) // TRIM( do2d(av,i) ) // ';'
+
+                ENDIF
+
+                CALL handle_netcdf_error( 'netcdf', 119 )
+!
+!--             Store the 'real' name of the variable (with *, for example)
+!--             in the long_name attribute. This is evaluated by Ferret,
+!--             for example.
+                nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_do2d(av,i), &
+                                        'long_name', do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 120 )
+!
+!--             Define the variable's unit
+                nc_stat = NF90_PUT_ATT( id_set_xy(av), id_var_do2d(av,i), &
+                                        'units', TRIM( do2d_unit(av,i) ) )
+                CALL handle_netcdf_error( 'netcdf', 354 ) 
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       No arrays to output. Close the netcdf file and return.
+          IF ( i == 1 )  RETURN
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs and by combine_plot_fields)
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list )
+          CALL handle_netcdf_error( 'netcdf', 121 ) 
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 122 ) 
+
+!
+!--       Write axis data: z_xy, x, y
+          ALLOCATE( netcdf_data(1:ns) )
+
+!
+!--       Write zu data
+          DO  i = 1, ns
+             IF( section(i,1) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along z
+             ELSE
+                netcdf_data(i) = zu( section(i,1) )
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_zu_xy(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 123 )
+
+!
+!--       Write zw data
+          DO  i = 1, ns
+             IF( section(i,1) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along z
+             ELSE
+                netcdf_data(i) = zw( section(i,1) )
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_zw_xy(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 124 )
+
+!
+!--       Write gridpoint number data
+          netcdf_data(1:ns) = section(1:ns,1)
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_ind_z_xy(av), &
+                                  netcdf_data, start = (/ 1 /),       &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 125 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write the cross section height u*, t*
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_zu1_xy(av), &
+                                  (/ zu(nzb+1) /), start = (/ 1 /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 126 )
+
+!
+!--       Write data for x (shifted by +dx/2) and xu axis
+          ALLOCATE( netcdf_data(0:nx+1) )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = ( i + 0.5 ) * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_x_xy(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 127 )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = i * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_xu_xy(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 367 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write data for y (shifted by +dy/2) and yv axis
+          ALLOCATE( netcdf_data(0:ny+1) )
+
+          DO  i = 0, ny+1
+             netcdf_data(i) = ( i + 0.5 ) * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_y_xy(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ny+2 /))
+          CALL handle_netcdf_error( 'netcdf', 128 )
+
+          DO  i = 0, ny+1
+             netcdf_data(i) = i * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_yv_xy(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ny+2 /))
+          CALL handle_netcdf_error( 'netcdf', 368 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       In case of non-flat topography write height information
+          IF ( TRIM( topography ) /= 'flat' )  THEN
+
+             nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_zusi_xy(av), &
+                                     zu_s_inner(0:nx+1,0:ny+1), &
+                                     start = (/ 1, 1 /), &
+                                     count = (/ nx+2, ny+2 /) )
+             CALL handle_netcdf_error( 'netcdf', 427 )
+
+             nc_stat = NF90_PUT_VAR( id_set_xy(av), id_var_zwwi_xy(av), &
+                                     zw_w_inner(0:nx+1,0:ny+1), &
+                                     start = (/ 1, 1 /), &
+                                     count = (/ nx+2, ny+2 /) )
+             CALL handle_netcdf_error( 'netcdf', 428 )
+
+          ENDIF
+
+
+       CASE ( 'xy_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_xy(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 129 )
+
+          var_list = ';'
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'xy' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+             ENDIF
+             i = i + 1
+          ENDDO
+
+          IF ( av == 0 )  THEN
+             var = '(xy)'
+          ELSE
+             var = '(xy_av)'
+          ENDIF
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for cross-sections ' //           &
+                              TRIM( var ) // ' from previous run found,' //  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0249', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Calculate the number of current sections
+          ns = 1
+          DO WHILE ( section(ns,1) /= -9999  .AND.  ns <= 100 )
+             ns = ns + 1
+          ENDDO
+          ns = ns - 1
+
+!
+!--       Get and compare the number of horizontal cross sections
+          nc_stat = NF90_INQ_VARID( id_set_xy(av), 'zu_xy', id_var_zu_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 130 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_xy(av), id_var_zu_xy(av), &
+                                           dimids = id_dim_zu_xy_old )
+          CALL handle_netcdf_error( 'netcdf', 131 )
+          id_dim_zu_xy(av) = id_dim_zu_xy_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_xy(av), id_dim_zu_xy(av), &
+                                            len = ns_old )
+          CALL handle_netcdf_error( 'netcdf', 132 )
+
+          IF ( ns /= ns_old )  THEN
+             message_string = 'NetCDF file for cross-sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended due to' // &
+                              ' mismatch in number of' //                   &
+                              '&cross sections.' //                         &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0250', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get and compare the heights of the cross sections
+          ALLOCATE( netcdf_data(1:ns_old) )
+
+          nc_stat = NF90_GET_VAR( id_set_xy(av), id_var_zu_xy(av), netcdf_data )
+          CALL handle_netcdf_error( 'netcdf', 133 )
+
+          DO  i = 1, ns
+             IF ( section(i,1) /= -1 )  THEN
+                IF ( zu(section(i,1)) /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //     &
+                               TRIM( var ) // ' from previous run found,' // &
+                               '&but this file cannot be extended' //        &
+                               ' due to mismatch in cross' //                &
+                               '&section levels.' //                         &
+                               '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251', &
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ELSE
+                IF ( -1.0 /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //     &
+                               TRIM( var ) // ' from previous run found,' // &
+                               '&but this file cannot be extended' //        &
+                               ' due to mismatch in cross' //                &
+                               '&section levels.' //                         &
+                               '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251',&
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ENDIF
+          ENDDO
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is do2d..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_xy(av), 'time', id_var_time_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 134 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_xy(av), id_var_time_xy(av), &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 135 )
+          id_dim_time_xy(av) = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_xy(av), id_dim_time_xy(av), &
+                                            len = do2d_xy_time_count(av) )
+          CALL handle_netcdf_error( 'netcdf', 136 )
+
+          nc_stat = NF90_GET_VAR( id_set_xy(av), id_var_time_xy(av),    &
+                                  last_time_coordinate,                 &
+                                  start = (/ do2d_xy_time_count(av) /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 137 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for cross sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0252', 0, 1, 0, 6, 0 )
+             do2d_xy_time_count(av) = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'xy' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                nc_stat = NF90_INQ_VARID( id_set_xy(av), netcdf_var_name, &
+                                          id_var_do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 138 )
+             ENDIF
+             i = i + 1
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_REDEF( id_set_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 431 )
+          nc_stat = NF90_PUT_ATT( id_set_xy(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 139 )
+          nc_stat = NF90_ENDDEF( id_set_xy(av) )
+          CALL handle_netcdf_error( 'netcdf', 432 )
+          message_string = 'NetCDF file for cross-sections ' //           & 
+                            TRIM( var ) // ' from previous run found.' // &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0253', 0, 0, 0, 6, 0 )
+          
+
+       CASE ( 'xz_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), NF90_GLOBAL, 'Conventions', &
+                                  'COARDS' )
+          CALL handle_netcdf_error( 'netcdf', 140 )
+
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header )  //   &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 141 )
+          IF ( av == 1 )  THEN
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval
+             nc_stat = NF90_PUT_ATT( id_set_xz(av), NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 141 )
+          ENDIF
+
+!
+!--       Define time coordinate for xz sections (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'time', NF90_UNLIMITED, &
+                                  id_dim_time_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 142 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'time', NF90_DOUBLE, &
+                                  id_dim_time_xz(av), id_var_time_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 143 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_time_xz(av), 'units', &
+                                  'seconds')
+          CALL handle_netcdf_error( 'netcdf', 144 )
+
+!
+!--       Define the spatial dimensions and coordinates for xz-sections.
+!--       First, determine the number of vertical sections to be written.
+          IF ( section(1,2) == -9999 )  THEN
+             RETURN
+          ELSE
+             ns = 1
+             DO WHILE ( section(ns,2) /= -9999  .AND.  ns <= 100 )
+                ns = ns + 1
+             ENDDO
+             ns = ns - 1
+          ENDIF
+
+!
+!--       Define y-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'y_xz', ns, id_dim_y_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 145 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'y_xz', NF90_DOUBLE, &
+                                  id_dim_y_xz(av), id_var_y_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 146 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_y_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 147 )
+
+!
+!--       Define y-axis (for v position)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'yv_xz', ns, id_dim_yv_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 369 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'yv_xz', NF90_DOUBLE, &
+                                  id_dim_yv_xz(av), id_var_yv_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 370 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_yv_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 371 )
+
+!
+!--       Define a variable to store the layer indices of the vertical cross
+!--       sections
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'ind_y_xz', NF90_DOUBLE, &
+                                  id_dim_y_xz(av), id_var_ind_y_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 148 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_ind_y_xz(av), 'units', &
+                                  'gridpoints')
+          CALL handle_netcdf_error( 'netcdf', 149 )
+
+!
+!--       Define x-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'x', nx+2, id_dim_x_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 150 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'x', NF90_DOUBLE, &
+                                  id_dim_x_xz(av), id_var_x_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 151 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_x_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 152 )
+
+!
+!--       Define x-axis (for u position)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'xu', nx+2, id_dim_xu_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 372 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'xu', NF90_DOUBLE, &
+                                  id_dim_xu_xz(av), id_var_xu_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 373 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_xu_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 374 )
+
+!
+!--       Define the two z-axes (zu and zw)
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'zu', nz+2, id_dim_zu_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 153 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'zu', NF90_DOUBLE, &
+                                  id_dim_zu_xz(av), id_var_zu_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 154 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_zu_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 155 )
+
+          nc_stat = NF90_DEF_DIM( id_set_xz(av), 'zw', nz+2, id_dim_zw_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 156 )
+
+          nc_stat = NF90_DEF_VAR( id_set_xz(av), 'zw', NF90_DOUBLE, &
+                                  id_dim_zw_xz(av), id_var_zw_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 157 )
+
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_zw_xz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 158 )
+
+
+!
+!--       Define the variables
+          var_list = ';'
+          i = 1
+
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+
+             IF ( INDEX( do2d(av,i), 'xz' ) /= 0 )  THEN
+
+!
+!--             Check for the grid
+                found = .TRUE.
+                SELECT CASE ( do2d(av,i) )
+!
+!--                Most variables are defined on the zu grid
+                   CASE ( 'e_xz', 'p_xz', 'pc_xz', 'pr_xz', 'pt_xz', 'q_xz',  &
+                          'ql_xz', 'ql_c_xz', 'ql_v_xz', 'ql_vp_xz', 'qv_xz', &
+                          'rho_xz', 's_xz', 'sa_xz', 'vpt_xz' )
+
+                      grid_x = 'x'
+                      grid_y = 'y'
+                      grid_z = 'zu'
+!
+!--                u grid
+                   CASE ( 'u_xz' )
+
+                      grid_x = 'xu'
+                      grid_y = 'y'
+                      grid_z = 'zu'
+!
+!--                v grid
+                   CASE ( 'v_xz' )
+
+                      grid_x = 'x'
+                      grid_y = 'yv'
+                      grid_z = 'zu'
+!
+!--                w grid
+                   CASE ( 'w_xz' )
+
+                      grid_x = 'x'
+                      grid_y = 'y'
+                      grid_z = 'zw'
+
+                   CASE DEFAULT
+!
+!--                   Check for user-defined quantities
+                      CALL user_define_netcdf_grid( do2d(av,i), found, &
+                                                    grid_x, grid_y, grid_z )
+
+                END SELECT
+
+!
+!--             Select the respective dimension ids
+                IF ( grid_x == 'x' )  THEN
+                   id_x = id_dim_x_xz(av)
+                ELSEIF ( grid_x == 'xu' )  THEN
+                   id_x = id_dim_xu_xz(av)
+                ENDIF
+
+                IF ( grid_y == 'y' )  THEN
+                   id_y = id_dim_y_xz(av)
+                ELSEIF ( grid_y == 'yv' )  THEN
+                   id_y = id_dim_yv_xz(av)
+                ENDIF
+
+                IF ( grid_z == 'zu' )  THEN
+                   id_z = id_dim_zu_xz(av)
+                ELSEIF ( grid_z == 'zw' )  THEN
+                   id_z = id_dim_zw_xz(av)
+                ENDIF
+
+!
+!--             Define the grid
+                nc_stat = NF90_DEF_VAR( id_set_xz(av), do2d(av,i),             &
+                                        nc_precision(2),                       &
+                                   (/ id_x, id_y, id_z, id_dim_time_xz(av) /), &
+                                        id_var_do2d(av,i) )
+
+                IF ( .NOT. found )  THEN
+                   WRITE ( message_string, * ) 'no grid defined for', &
+                                            ' variable ', TRIM( do2d(av,i) )
+                   CALL message( 'define_netcdf_header', 'PA0244',&
+                                                                 0, 1, 0, 6, 0 )
+                ENDIF
+
+                var_list = TRIM( var_list ) // TRIM( do2d(av,i) ) // ';'
+
+                CALL handle_netcdf_error( 'netcdf', 159 )
+!
+!--             Store the 'real' name of the variable (with *, for example)
+!--             in the long_name attribute. This is evaluated by Ferret,
+!--             for example.
+                nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_do2d(av,i), &
+                                        'long_name', do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 160 )
+!
+!--             Define the variable's unit
+                nc_stat = NF90_PUT_ATT( id_set_xz(av), id_var_do2d(av,i), &
+                                        'units', TRIM( do2d_unit(av,i) ) )
+                CALL handle_netcdf_error( 'netcdf', 355 )
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       No arrays to output. Close the netcdf file and return.
+          IF ( i == 1 )  RETURN
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs and by combine_plot_fields)
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list )
+          CALL handle_netcdf_error( 'netcdf', 161 )
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 162 )
+
+!
+!--       Write axis data: y_xz, x, zu, zw
+          ALLOCATE( netcdf_data(1:ns) )
+
+!
+!--       Write y_xz data (shifted by +dy/2)
+          DO  i = 1, ns
+             IF( section(i,2) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along y
+             ELSE
+                netcdf_data(i) = ( section(i,2) + 0.5 ) * dy
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_y_xz(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 163 )
+
+!
+!--       Write yv_xz data 
+          DO  i = 1, ns
+             IF( section(i,2) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along y
+             ELSE
+                netcdf_data(i) = section(i,2) * dy
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_yv_xz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 375 )
+
+!
+!--       Write gridpoint number data
+          netcdf_data(1:ns) = section(1:ns,2)
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_ind_y_xz(av), &
+                                  netcdf_data, start = (/ 1 /),       &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 164 )
+
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write data for x (shifted by +dx/2) and xu axis
+          ALLOCATE( netcdf_data(0:nx+1) )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = ( i + 0.5 ) * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_x_xz(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 165 )
+
+          DO  i = 0, nx+1
+             netcdf_data(i) = i * dx
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_xu_xz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nx+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 377 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write zu and zw data (vertical axes)
+          ALLOCATE( netcdf_data(0:nz+1) )
+
+          netcdf_data(0:nz+1) = zu(nzb:nzt+1)
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_zu_xz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nz+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 166 )
+
+          netcdf_data(0:nz+1) = zw(nzb:nzt+1)
+          nc_stat = NF90_PUT_VAR( id_set_xz(av), id_var_zw_xz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nz+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 167 )
+
+          DEALLOCATE( netcdf_data )
+
+
+       CASE ( 'xz_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_xz(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 168 )
+
+          var_list = ';'
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'xz' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+             ENDIF
+             i = i + 1
+          ENDDO
+
+          IF ( av == 0 )  THEN
+             var = '(xz)'
+          ELSE
+             var = '(xz_av)'
+          ENDIF
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for cross-sections ' //           &
+                              TRIM( var ) // ' from previous run found,' //  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0249', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Calculate the number of current sections
+          ns = 1
+          DO WHILE ( section(ns,2) /= -9999  .AND.  ns <= 100 )
+             ns = ns + 1
+          ENDDO
+          ns = ns - 1
+
+!
+!--       Get and compare the number of vertical cross sections
+          nc_stat = NF90_INQ_VARID( id_set_xz(av), 'y_xz', id_var_y_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 169 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_xz(av), id_var_y_xz(av), &
+                                           dimids = id_dim_y_xz_old )
+          CALL handle_netcdf_error( 'netcdf', 170 )
+          id_dim_y_xz(av) = id_dim_y_xz_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_xz(av), id_dim_y_xz(av), &
+                                            len = ns_old )
+          CALL handle_netcdf_error( 'netcdf', 171 )
+
+          IF ( ns /= ns_old )  THEN
+             message_string = 'NetCDF file for cross-sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended due to' // &
+                              ' mismatch in number of' //                   & 
+                              '&cross sections.' //                         &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0250', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get and compare the heights of the cross sections
+          ALLOCATE( netcdf_data(1:ns_old) )
+
+          nc_stat = NF90_GET_VAR( id_set_xz(av), id_var_y_xz(av), netcdf_data )
+          CALL handle_netcdf_error( 'netcdf', 172 )
+
+          DO  i = 1, ns
+             IF ( section(i,2) /= -1 )  THEN
+                IF ( ( section(i,2) * dy ) /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //     &
+                               TRIM( var ) // ' from previous run found,' // &
+                               '&but this file cannot be extended' //        &
+                               ' due to mismatch in cross' //                &
+                               '&section levels.' //                         &
+                                '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251', &
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ELSE
+                IF ( -1.0 /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //     &
+                               TRIM( var ) // ' from previous run found,' // &
+                               '&but this file cannot be extended' //        &
+                               ' due to mismatch in cross' //                &
+                               '&section levels.' //                         &
+                               '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251', &
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ENDIF
+          ENDDO
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is do2d..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_xz(av), 'time', id_var_time_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 173 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_xz(av), id_var_time_xz(av), &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 174 )
+          id_dim_time_xz(av) = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_xz(av), id_dim_time_xz(av), &
+                                            len = do2d_xz_time_count(av) )
+          CALL handle_netcdf_error( 'netcdf', 175 )
+
+          nc_stat = NF90_GET_VAR( id_set_xz(av), id_var_time_xz(av),    &
+                                  last_time_coordinate,                 &
+                                  start = (/ do2d_xz_time_count(av) /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 176 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for cross sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0252', 0, 1, 0, 6, 0 )
+             do2d_xz_time_count(av) = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'xz' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                nc_stat = NF90_INQ_VARID( id_set_xz(av), netcdf_var_name, &
+                                          id_var_do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 177 )
+             ENDIF
+             i = i + 1
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_REDEF( id_set_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 433 )
+          nc_stat = NF90_PUT_ATT( id_set_xz(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 178 )
+          nc_stat = NF90_ENDDEF( id_set_xz(av) )
+          CALL handle_netcdf_error( 'netcdf', 434 )
+          message_string = 'NetCDF file for cross-sections ' //           & 
+                            TRIM( var ) // ' from previous run found.' // &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0253', 0, 0, 0, 6, 0 )
+
+
+       CASE ( 'yz_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), NF90_GLOBAL, 'Conventions', &
+                                  'COARDS' )
+          CALL handle_netcdf_error( 'netcdf', 179 )
+
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 180 )
+          IF ( av == 1 )  THEN
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval
+             nc_stat = NF90_PUT_ATT( id_set_yz(av), NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 180 )
+          ENDIF
+
+!
+!--       Define time coordinate for yz sections (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'time', NF90_UNLIMITED, &
+                                  id_dim_time_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 181 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'time', NF90_DOUBLE, &
+                                  id_dim_time_yz(av), id_var_time_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 182 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_time_yz(av), 'units', &
+                                  'seconds')
+          CALL handle_netcdf_error( 'netcdf', 183 )
+
+!
+!--       Define the spatial dimensions and coordinates for yz-sections.
+!--       First, determine the number of vertical sections to be written.
+          IF ( section(1,3) == -9999 )  THEN
+             RETURN
+          ELSE
+             ns = 1
+             DO WHILE ( section(ns,3) /= -9999  .AND.  ns <= 100 )
+                ns = ns + 1
+             ENDDO
+             ns = ns - 1
+          ENDIF
+
+!
+!--       Define x axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'x_yz', ns, id_dim_x_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 184 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'x_yz', NF90_DOUBLE, &
+                                  id_dim_x_yz(av), id_var_x_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 185 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_x_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 186 )
+
+!
+!--       Define x axis (for u position)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'xu_yz', ns, id_dim_xu_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 377 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'xu_yz', NF90_DOUBLE, &
+                                  id_dim_xu_yz(av), id_var_xu_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 378 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_xu_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 379 )
+
+!
+!--       Define a variable to store the layer indices of the vertical cross
+!--       sections
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'ind_x_yz', NF90_DOUBLE, &
+                                  id_dim_x_yz(av), id_var_ind_x_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 187 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_ind_x_yz(av), 'units', &
+                                  'gridpoints')
+          CALL handle_netcdf_error( 'netcdf', 188 )
+
+!
+!--       Define y-axis (for scalar position)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'y', ny+2, id_dim_y_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 189 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'y', NF90_DOUBLE, &
+                                  id_dim_y_yz(av), id_var_y_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 190 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_y_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 191 )
+
+!
+!--       Define y-axis (for v position)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'yv', ny+2, id_dim_yv_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 380 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'yv', NF90_DOUBLE, &
+                                  id_dim_yv_yz(av), id_var_yv_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 381 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_yv_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 382 )
+
+!
+!--       Define the two z-axes (zu and zw)
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'zu', nz+2, id_dim_zu_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 192 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'zu', NF90_DOUBLE, &
+                                  id_dim_zu_yz(av), id_var_zu_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 193 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_zu_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 194 )
+
+          nc_stat = NF90_DEF_DIM( id_set_yz(av), 'zw', nz+2, id_dim_zw_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 195 )
+
+          nc_stat = NF90_DEF_VAR( id_set_yz(av), 'zw', NF90_DOUBLE, &
+                                  id_dim_zw_yz(av), id_var_zw_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 196 )
+
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_zw_yz(av), 'units', &
+                                  'meters' )
+          CALL handle_netcdf_error( 'netcdf', 197 )
+
+
+!
+!--       Define the variables
+          var_list = ';'
+          i = 1
+
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+
+             IF ( INDEX( do2d(av,i), 'yz' ) /= 0 )  THEN
+
+!
+!--             Check for the grid
+                found = .TRUE.
+                SELECT CASE ( do2d(av,i) )
+!
+!--                Most variables are defined on the zu grid
+                   CASE ( 'e_yz', 'p_yz', 'pc_yz', 'pr_yz', 'pt_yz', 'q_yz',  &
+                          'ql_yz', 'ql_c_yz', 'ql_v_yz', 'ql_vp_yz', 'qv_yz', &
+                          'rho_yz', 's_yz', 'sa_yz', 'vpt_yz' )
+
+                      grid_x = 'x'
+                      grid_y = 'y'
+                      grid_z = 'zu'
+!
+!--                u grid
+                   CASE ( 'u_yz' )
+
+                      grid_x = 'xu'
+                      grid_y = 'y'
+                      grid_z = 'zu'
+!
+!--                v grid
+                   CASE ( 'v_yz' )
+
+                      grid_x = 'x'
+                      grid_y = 'yv'
+                      grid_z = 'zu'
+!
+!--                w grid
+                   CASE ( 'w_yz' )
+
+                      grid_x = 'x'
+                      grid_y = 'y'
+                      grid_z = 'zw'
+
+                   CASE DEFAULT
+!
+!--                   Check for user-defined quantities
+                      CALL user_define_netcdf_grid( do2d(av,i), found, &
+                                                    grid_x, grid_y, grid_z )
+
+                END SELECT
+
+!
+!--             Select the respective dimension ids
+                IF ( grid_x == 'x' )  THEN
+                   id_x = id_dim_x_yz(av)
+                ELSEIF ( grid_x == 'xu' )  THEN
+                   id_x = id_dim_xu_yz(av)
+                ENDIF
+
+                IF ( grid_y == 'y' )  THEN
+                   id_y = id_dim_y_yz(av)
+                ELSEIF ( grid_y == 'yv' )  THEN
+                   id_y = id_dim_yv_yz(av)
+                ENDIF
+
+                IF ( grid_z == 'zu' )  THEN
+                   id_z = id_dim_zu_yz(av)
+                ELSEIF ( grid_z == 'zw' )  THEN
+                   id_z = id_dim_zw_yz(av)
+                ENDIF
+
+!
+!--             Define the grid
+                nc_stat = NF90_DEF_VAR( id_set_yz(av), do2d(av,i),             &
+                                        nc_precision(3),                       &
+                                   (/ id_x, id_y, id_z, id_dim_time_yz(av) /), &
+                                        id_var_do2d(av,i) )
+
+                IF ( .NOT. found )  THEN
+                   WRITE ( message_string, * ) 'no grid defined for', &
+                                            ' variable ', TRIM( do2d(av,i) )
+                   CALL message( 'define_netcdf_header', 'PA0244',&
+                                                                 0, 1, 0, 6, 0 )
+                ENDIF
+
+                var_list = TRIM( var_list ) // TRIM( do2d(av,i) ) // ';'
+
+                CALL handle_netcdf_error( 'netcdf', 198 )
+!
+!--             Store the 'real' name of the variable (with *, for example)
+!--             in the long_name attribute. This is evaluated by Ferret,
+!--             for example.
+                nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_do2d(av,i), &
+                                        'long_name', do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 199 )
+!
+!--             Define the variable's unit
+                nc_stat = NF90_PUT_ATT( id_set_yz(av), id_var_do2d(av,i), &
+                                        'units', TRIM( do2d_unit(av,i) ) )
+                CALL handle_netcdf_error( 'netcdf', 356 )
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       No arrays to output. Close the netcdf file and return.
+          IF ( i == 1 )  RETURN
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs and by combine_plot_fields)
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list )
+          CALL handle_netcdf_error( 'netcdf', 200 )
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 201 )
+
+!
+!--       Write axis data: x_yz, y, zu, zw
+          ALLOCATE( netcdf_data(1:ns) )
+
+!
+!--       Write x_yz data (shifted by +dx/2)
+          DO  i = 1, ns
+             IF( section(i,3) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along x
+             ELSE
+                netcdf_data(i) = ( section(i,3) + 0.5 ) * dx
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_x_yz(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 202 ) 
+
+!
+!--       Write x_yz data (xu grid)
+          DO  i = 1, ns
+             IF( section(i,3) == -1 )  THEN
+                netcdf_data(i) = -1.0  ! section averaged along x
+             ELSE
+                netcdf_data(i) = section(i,3) * dx
+             ENDIF
+          ENDDO
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_xu_yz(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 383 ) 
+
+!
+!--       Write gridpoint number data
+          netcdf_data(1:ns) = section(1:ns,3)
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_ind_x_yz(av), &
+                                  netcdf_data, start = (/ 1 /),       &
+                                  count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 203 ) 
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write data for y (shifted by +dy/2) and yv axis
+          ALLOCATE( netcdf_data(0:ny+1) )
+
+          DO  j = 0, ny+1
+             netcdf_data(j) = ( j + 0.5 ) * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_y_yz(av), netcdf_data, &
+                                  start = (/ 1 /), count = (/ ny+2 /) )
+           CALL handle_netcdf_error( 'netcdf', 204 ) 
+
+          DO  j = 0, ny+1
+             netcdf_data(j) = j * dy
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_yv_yz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ ny+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 384 ) 
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write zu and zw data (vertical axes)
+          ALLOCATE( netcdf_data(0:nz+1) )
+
+          netcdf_data(0:nz+1) = zu(nzb:nzt+1)
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_zu_yz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nz+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 205 ) 
+
+          netcdf_data(0:nz+1) = zw(nzb:nzt+1)
+          nc_stat = NF90_PUT_VAR( id_set_yz(av), id_var_zw_yz(av), &
+                                  netcdf_data, start = (/ 1 /),    &
+                                  count = (/ nz+2 /) )
+          CALL handle_netcdf_error( 'netcdf', 206 ) 
+
+          DEALLOCATE( netcdf_data )
+
+
+       CASE ( 'yz_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_yz(av), NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 207 )
+
+          var_list = ';'
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'yz' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+             ENDIF
+             i = i + 1
+          ENDDO
+
+          IF ( av == 0 )  THEN
+             var = '(yz)'
+          ELSE
+             var = '(yz_av)'
+          ENDIF
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for cross-sections ' //           &
+                              TRIM( var ) // ' from previous run found,' //  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       & 
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0249', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Calculate the number of current sections
+          ns = 1
+          DO WHILE ( section(ns,3) /= -9999  .AND.  ns <= 100 )
+             ns = ns + 1
+          ENDDO
+          ns = ns - 1
+
+!
+!--       Get and compare the number of vertical cross sections
+          nc_stat = NF90_INQ_VARID( id_set_yz(av), 'x_yz', id_var_x_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 208 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_yz(av), id_var_x_yz(av), &
+                                           dimids = id_dim_x_yz_old )
+          CALL handle_netcdf_error( 'netcdf', 209 )
+          id_dim_x_yz(av) = id_dim_x_yz_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_yz(av), id_dim_x_yz(av), &
+                                            len = ns_old )
+          CALL handle_netcdf_error( 'netcdf', 210 )
+
+          IF ( ns /= ns_old )  THEN
+             message_string = 'NetCDF file for cross-sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended due to' // &
+                              ' mismatch in number of' //                   &
+                              '&cross sections.' //                         &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0250', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get and compare the heights of the cross sections
+          ALLOCATE( netcdf_data(1:ns_old) )
+
+          nc_stat = NF90_GET_VAR( id_set_yz(av), id_var_x_yz(av), netcdf_data )
+          CALL handle_netcdf_error( 'netcdf', 211 )
+
+          DO  i = 1, ns
+             IF ( section(i,3) /= -1 )  THEN
+                IF ( ( section(i,3) * dx ) /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //    &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended' //        &
+                              ' due to mismatch in cross' //                &
+                              '&section levels.' //                         &
+                             '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251', &
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ELSE
+                IF ( -1.0 /= netcdf_data(i) )  THEN
+                   message_string = 'NetCDF file for cross-sections ' //    &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended' //        &
+                              ' due to mismatch in cross' //                &
+                              '&section levels.' //                         &
+                              '&New file is created instead.'
+                   CALL message( 'define_netcdf_header', 'PA0251', &
+                                                                 0, 1, 0, 6, 0 )
+                   extend = .FALSE.
+                   RETURN
+                ENDIF
+             ENDIF
+          ENDDO
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is pl2d..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_yz(av), 'time', id_var_time_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 212 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_yz(av), id_var_time_yz(av), &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 213 )
+          id_dim_time_yz(av) = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_yz(av), id_dim_time_yz(av), &
+                                            len = do2d_yz_time_count(av) )
+          CALL handle_netcdf_error( 'netcdf', 214 )
+
+          nc_stat = NF90_GET_VAR( id_set_yz(av), id_var_time_yz(av),    &
+                                  last_time_coordinate,                 &
+                                  start = (/ do2d_yz_time_count(av) /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 215 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for cross sections ' //          &
+                              TRIM( var ) // ' from previous run found,' // &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0252', 0, 1, 0, 6, 0 )
+             do2d_yz_time_count(av) = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO WHILE ( do2d(av,i)(1:1) /= ' ' )
+             IF ( INDEX( do2d(av,i), 'yz' ) /= 0 )  THEN
+                netcdf_var_name = do2d(av,i)
+                CALL clean_netcdf_varname( netcdf_var_name )
+                nc_stat = NF90_INQ_VARID( id_set_yz(av), netcdf_var_name, &
+                                          id_var_do2d(av,i) )
+                CALL handle_netcdf_error( 'netcdf', 216 )
+             ENDIF
+             i = i + 1
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          IF ( av == 0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval
+          ENDIF
+          nc_stat = NF90_REDEF( id_set_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 435 )
+          nc_stat = NF90_PUT_ATT( id_set_yz(av), NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 217 )
+          nc_stat = NF90_ENDDEF( id_set_yz(av) )
+          CALL handle_netcdf_error( 'netcdf', 436 )
+          message_string = 'NetCDF file for cross-sections ' //           & 
+                            TRIM( var ) // ' from previous run found.' // &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0253', 0, 0, 0, 6, 0 )
+
+
+       CASE ( 'pr_new' )
+
+!
+!--       Define some global attributes of the dataset
+          IF ( averaging_interval_pr /= 0.0 )  THEN
+             WRITE (time_average_text,'('', '',F7.1,'' s average'')') &
+                                                            averaging_interval_pr
+             nc_stat = NF90_PUT_ATT( id_set_pr, NF90_GLOBAL, 'title',   &
+                                     TRIM( run_description_header ) //  &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 218 )
+
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' ) averaging_interval_pr
+             nc_stat = NF90_PUT_ATT( id_set_pr, NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+          ELSE
+             nc_stat = NF90_PUT_ATT( id_set_pr, NF90_GLOBAL, 'title', &
+                                     TRIM( run_description_header ) )
+          ENDIF
+          CALL handle_netcdf_error( 'netcdf', 219 )
+
+!
+!--       Define time coordinate for profiles (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_pr, 'time', NF90_UNLIMITED, &
+                                  id_dim_time_pr )
+          CALL handle_netcdf_error( 'netcdf', 220 )
+
+          nc_stat = NF90_DEF_VAR( id_set_pr, 'time', NF90_DOUBLE, &
+                                  id_dim_time_pr, id_var_time_pr )
+          CALL handle_netcdf_error( 'netcdf', 221 )
+
+          nc_stat = NF90_PUT_ATT( id_set_pr, id_var_time_pr, 'units', 'seconds')
+          CALL handle_netcdf_error( 'netcdf', 222 )
+
+!
+!--       Define the variables
+          var_list = ';'
+          DO  i = 1, dopr_n
+!
+!--          First, remove those characters not allowed by NetCDF
+             netcdf_var_name = data_output_pr(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             IF ( statistic_regions == 0 )  THEN
+
+!
+!--             Define the z-axes (each variable gets its own z-axis)
+                nc_stat = NF90_DEF_DIM( id_set_pr, 'z'//TRIM(netcdf_var_name), &
+                                        nzt+2-nzb, id_dim_z_pr(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 223 )
+
+                nc_stat = NF90_DEF_VAR( id_set_pr, 'z'//TRIM(netcdf_var_name), &
+                                        NF90_DOUBLE, id_dim_z_pr(i,0),         &
+                                        id_var_z_pr(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 224 )
+
+                nc_stat = NF90_PUT_ATT( id_set_pr, id_var_z_pr(i,0), 'units', &
+                                        'meters' )
+                CALL handle_netcdf_error( 'netcdf', 225 )
+!
+!--             Define the variable
+                nc_stat = NF90_DEF_VAR( id_set_pr, netcdf_var_name,           &
+                                        nc_precision(5), (/ id_dim_z_pr(i,0), &
+                                        id_dim_time_pr /), id_var_dopr(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 226 )
+
+                nc_stat = NF90_PUT_ATT( id_set_pr, id_var_dopr(i,0), &
+                                        'long_name', TRIM( data_output_pr(i) ) )
+                CALL handle_netcdf_error( 'netcdf', 227 )
+
+                nc_stat = NF90_PUT_ATT( id_set_pr, id_var_dopr(i,0), &
+                                        'units', TRIM( dopr_unit(i) ) )
+                CALL handle_netcdf_error( 'netcdf', 228 )
+
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+
+             ELSE
+!
+!--             If statistic regions are defined, add suffix _SR+#SR to the
+!--             names
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+
+!
+!--                Define the z-axes (each variable gets it own z-axis)
+                   nc_stat = NF90_DEF_DIM( id_set_pr,                          &
+                                           'z'//TRIM(netcdf_var_name)//suffix, &
+                                           nzt+2-nzb, id_dim_z_pr(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 229 )
+
+                   nc_stat = NF90_DEF_VAR( id_set_pr,                          &
+                                           'z'//TRIM(netcdf_var_name)//suffix, &
+                                           nc_precision(5), id_dim_z_pr(i,j),  &
+                                           id_var_z_pr(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 230 )
+
+                   nc_stat = NF90_PUT_ATT( id_set_pr, id_var_z_pr(i,j), &
+                                           'units', 'meters' )
+                   CALL handle_netcdf_error( 'netcdf', 231 )
+
+!
+!--                Define the variable
+                   nc_stat = NF90_DEF_VAR( id_set_pr,                         &
+                                           TRIM( netcdf_var_name ) // suffix, &
+                                           nc_precision(5),                   &
+                                           (/ id_dim_z_pr(i,j),               &
+                                           id_dim_time_pr /), id_var_dopr(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 232 )
+
+                   nc_stat = NF90_PUT_ATT( id_set_pr, id_var_dopr(i,j),        &
+                                           'long_name',                        &
+                                           TRIM( data_output_pr(i) ) // ' SR ' &
+                                           // suffix(2:2) )
+                   CALL handle_netcdf_error( 'netcdf', 233 )
+
+                   nc_stat = NF90_PUT_ATT( id_set_pr, id_var_dopr(i,j), &
+                                           'units', TRIM( dopr_unit(i) ) )
+                   CALL handle_netcdf_error( 'netcdf', 234 )
+
+                   var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                              suffix // ';'
+
+                ENDDO
+
+             ENDIF
+
+          ENDDO
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs)
+          nc_stat = NF90_PUT_ATT( id_set_pr, NF90_GLOBAL, 'VAR_LIST', var_list )
+          CALL handle_netcdf_error( 'netcdf', 235 )
+
+!
+!--       Define normalization variables (as time series)
+          DO  i = 1, dopr_norm_num
+
+             nc_stat = NF90_DEF_VAR( id_set_pr, 'NORM_' // &
+                                     TRIM( dopr_norm_names(i) ), &
+                                     nc_precision(5), (/ id_dim_time_pr /), &
+                                     id_var_norm_dopr(i) )
+             CALL handle_netcdf_error( 'netcdf', 236 )
+
+             nc_stat = NF90_PUT_ATT( id_set_pr, id_var_norm_dopr(i), &
+                                     'long_name',                    &
+                                     TRIM( dopr_norm_longnames(i) ) )
+             CALL handle_netcdf_error( 'netcdf', 237 )
+
+          ENDDO
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_pr )
+          CALL handle_netcdf_error( 'netcdf', 238 )
+
+!
+!--       Write z-axes data
+          DO  i = 1, dopr_n
+             DO  j = 0, statistic_regions
+
+                nc_stat = NF90_PUT_VAR( id_set_pr, id_var_z_pr(i,j),      &
+                                        hom(nzb:nzt+1,2,dopr_index(i),0), &
+                                        start = (/ 1 /),                  &
+                                        count = (/ nzt-nzb+2 /) )
+                CALL handle_netcdf_error( 'netcdf', 239 )
+
+             ENDDO
+          ENDDO
+
+
+       CASE ( 'pr_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_pr, NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 240 )
+
+          var_list = ';'
+          DO  i = 1, dopr_n
+
+             netcdf_var_name = data_output_pr(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             IF ( statistic_regions == 0 )  THEN
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+             ELSE
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+                   var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                              suffix // ';'
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for vertical profiles ' //        &
+                              'from previous run found,' //                  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0254', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is dopr..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_pr, 'time', id_var_time_pr )
+          CALL handle_netcdf_error( 'netcdf', 241 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_pr, id_var_time_pr, &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 242 )
+          id_dim_time_pr = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_pr, id_dim_time_pr, &
+                                            len = dopr_time_count )
+          CALL handle_netcdf_error( 'netcdf', 243 )
+
+          nc_stat = NF90_GET_VAR( id_set_pr, id_var_time_pr,        &
+                                  last_time_coordinate,             &
+                                  start = (/ dopr_time_count /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 244 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for vertical profiles ' //       &
+                              'from previous run found,' //                 &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0255', 0, 1, 0, 6, 0 )
+             dopr_time_count = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO  i = 1, dopr_n
+ 
+             netcdf_var_name_base = data_output_pr(i)
+             CALL clean_netcdf_varname( netcdf_var_name_base )
+
+             IF ( statistic_regions == 0 )  THEN
+                nc_stat = NF90_INQ_VARID( id_set_pr, netcdf_var_name_base, &
+                                          id_var_dopr(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 245 )
+             ELSE
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+                   netcdf_var_name = TRIM( netcdf_var_name_base ) // suffix
+                   nc_stat = NF90_INQ_VARID( id_set_pr, netcdf_var_name, &
+                                             id_var_dopr(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 246 )
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+!
+!--       Get ids of the normalization variables
+          DO  i = 1, dopr_norm_num
+             nc_stat = NF90_INQ_VARID( id_set_pr,                             &
+                                       'NORM_' // TRIM( dopr_norm_names(i) ), &
+                                       id_var_norm_dopr(i) )
+             CALL handle_netcdf_error( 'netcdf', 247 )
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          IF ( averaging_interval_pr == 0.0 )  THEN
+             time_average_text = ' '
+          ELSE
+             WRITE (time_average_text, '('', '',F7.1,'' s average'')') &
+                                                            averaging_interval_pr
+          ENDIF
+          nc_stat = NF90_REDEF( id_set_pr )
+          CALL handle_netcdf_error( 'netcdf', 437 )
+          nc_stat = NF90_PUT_ATT( id_set_pr, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) //    &
+                                  TRIM( time_average_text ) )
+          CALL handle_netcdf_error( 'netcdf', 248 )
+          nc_stat = NF90_ENDDEF( id_set_pr )
+          CALL handle_netcdf_error( 'netcdf', 438 )
+          message_string = 'NetCDF file for vertical profiles ' // & 
+                           'from previous run found.' //           &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0256', 0, 0, 0, 6, 0 )
+
+
+       CASE ( 'ts_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_ts, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) )
+          CALL handle_netcdf_error( 'netcdf', 249 )
+
+!
+!--       Define time coordinate for time series (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_ts, 'time', NF90_UNLIMITED, &
+                                  id_dim_time_ts )
+          CALL handle_netcdf_error( 'netcdf', 250 )
+
+          nc_stat = NF90_DEF_VAR( id_set_ts, 'time', NF90_DOUBLE, &
+                                  id_dim_time_ts, id_var_time_ts )
+          CALL handle_netcdf_error( 'netcdf', 251 )
+
+          nc_stat = NF90_PUT_ATT( id_set_ts, id_var_time_ts, 'units', 'seconds')
+          CALL handle_netcdf_error( 'netcdf', 252 )
+
+!
+!--       Define the variables
+          var_list = ';'
+          DO  i = 1, dots_num
+!
+!--          First, remove those characters not allowed by NetCDF
+             netcdf_var_name = dots_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             IF ( statistic_regions == 0 )  THEN
+
+                nc_stat = NF90_DEF_VAR( id_set_ts, netcdf_var_name,            &
+                                        nc_precision(6), (/ id_dim_time_ts /), &
+                                        id_var_dots(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 253 )
+
+                nc_stat = NF90_PUT_ATT( id_set_ts, id_var_dots(i,0), &
+                                        'long_name', TRIM( dots_label(i) ) )
+                CALL handle_netcdf_error( 'netcdf', 254 )
+
+                nc_stat = NF90_PUT_ATT( id_set_ts, id_var_dots(i,0), &
+                                        'units', TRIM( dots_unit(i) ) )
+                CALL handle_netcdf_error( 'netcdf', 255 )
+
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+
+             ELSE
+!
+!--             If statistic regions are defined, add suffix _SR+#SR to the
+!--             names
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+
+                   nc_stat = NF90_DEF_VAR( id_set_ts,                         &
+                                           TRIM( netcdf_var_name ) // suffix, &
+                                           nc_precision(6),                   &
+                                           (/ id_dim_time_ts /),              &
+                                           id_var_dots(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 256 )
+
+                   nc_stat = NF90_PUT_ATT( id_set_ts, id_var_dots(i,j),       &
+                                           'long_name',                       &
+                                           TRIM( dots_label(i) ) // ' SR ' // &
+                                           suffix(2:2) )
+                   CALL handle_netcdf_error( 'netcdf', 257 )
+
+                   nc_stat = NF90_PUT_ATT( id_set_ts, id_var_dots(i,j), &
+                                           'units', TRIM( dots_unit(i) ) )
+                   CALL handle_netcdf_error( 'netcdf', 347 )
+
+                   var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                              suffix // ';'
+
+                ENDDO
+
+             ENDIF
+
+          ENDDO
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs)
+          nc_stat = NF90_PUT_ATT( id_set_ts, NF90_GLOBAL, 'VAR_LIST', var_list )
+          CALL handle_netcdf_error( 'netcdf', 258 )
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_ts )
+          CALL handle_netcdf_error( 'netcdf', 259 )
+
+
+       CASE ( 'ts_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_ts, NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 260 )
+
+          var_list = ';'
+          i = 1
+          DO  i = 1, dots_num
+
+             netcdf_var_name = dots_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             IF ( statistic_regions == 0 )  THEN
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // ';'
+             ELSE
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+                   var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                              suffix // ';'
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for time series ' //              &
+                              'from previous run found,' //                  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0257', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is dots..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_ts, 'time', id_var_time_ts )
+          CALL handle_netcdf_error( 'netcdf', 261 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_ts, id_var_time_ts, &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 262 )
+          id_dim_time_ts = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_ts, id_dim_time_ts, &
+                                            len = dots_time_count )
+          CALL handle_netcdf_error( 'netcdf', 263 )
+
+          nc_stat = NF90_GET_VAR( id_set_ts, id_var_time_ts,        &
+                                  last_time_coordinate,             &
+                                  start = (/ dots_time_count /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 264 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for time series ' //             &
+                              'from previous run found,' //                 &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0258', 0, 1, 0, 6, 0 )
+             dots_time_count = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids
+          i = 1
+          DO  i = 1, dots_num
+ 
+             netcdf_var_name_base = dots_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name_base )
+
+             IF ( statistic_regions == 0 )  THEN
+                nc_stat = NF90_INQ_VARID( id_set_ts, netcdf_var_name_base, &
+                                          id_var_dots(i,0) )
+                CALL handle_netcdf_error( 'netcdf', 265 )
+             ELSE
+                DO  j = 0, statistic_regions
+                   WRITE ( suffix, '(''_'',I1)' )  j
+                   netcdf_var_name = TRIM( netcdf_var_name_base ) // suffix
+                   nc_stat = NF90_INQ_VARID( id_set_ts, netcdf_var_name, &
+                                             id_var_dots(i,j) )
+                   CALL handle_netcdf_error( 'netcdf', 266 )
+                ENDDO
+             ENDIF
+
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          nc_stat = NF90_REDEF( id_set_ts )
+          CALL handle_netcdf_error( 'netcdf', 439 )
+          nc_stat = NF90_PUT_ATT( id_set_ts, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) )
+          CALL handle_netcdf_error( 'netcdf', 267 )
+          nc_stat = NF90_ENDDEF( id_set_ts )
+          CALL handle_netcdf_error( 'netcdf', 440 )
+          message_string = 'NetCDF file for time series ' // & 
+                           'from previous run found.' //     &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0259', 0, 0, 0, 6, 0 )
+
+
+       CASE ( 'sp_new' )
+
+!
+!--       Define some global attributes of the dataset
+          IF ( averaging_interval_sp /= 0.0 )  THEN
+             WRITE (time_average_text,'('', '',F7.1,'' s average'')') &
+                                                            averaging_interval_sp
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'title',  &
+                                     TRIM( run_description_header ) // &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 268 )
+
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval_sp
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+          ELSE
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'title', &
+                                     TRIM( run_description_header ) )
+          ENDIF
+          CALL handle_netcdf_error( 'netcdf', 269 )
+
+!
+!--       Define time coordinate for spectra (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_sp, 'time', NF90_UNLIMITED, &
+                                  id_dim_time_sp )
+          CALL handle_netcdf_error( 'netcdf', 270 )
+
+          nc_stat = NF90_DEF_VAR( id_set_sp, 'time', NF90_DOUBLE, &
+                                  id_dim_time_sp, id_var_time_sp )
+          CALL handle_netcdf_error( 'netcdf', 271 )
+
+          nc_stat = NF90_PUT_ATT( id_set_sp, id_var_time_sp, 'units', 'seconds')
+          CALL handle_netcdf_error( 'netcdf', 272 )
+
+!
+!--       Define the spatial dimensions and coordinates for spectra.
+!--       First, determine the number of vertical levels for which spectra
+!--       are to be output.
+          ns = 1
+          DO WHILE ( comp_spectra_level(ns) /= 999999  .AND.  ns <= 100 )
+             ns = ns + 1
+          ENDDO
+          ns = ns - 1
+
+!
+!--       Define vertical coordinate grid (zu grid)
+          nc_stat = NF90_DEF_DIM( id_set_sp, 'zu_sp', ns, id_dim_zu_sp )
+          CALL handle_netcdf_error( 'netcdf', 273 )
+
+          nc_stat = NF90_DEF_VAR( id_set_sp, 'zu_sp', NF90_DOUBLE, &
+                                  id_dim_zu_sp, id_var_zu_sp )
+          CALL handle_netcdf_error( 'netcdf', 274 )
+
+          nc_stat = NF90_PUT_ATT( id_set_sp, id_var_zu_sp, 'units', 'meters' )
+          CALL handle_netcdf_error( 'netcdf', 275 )
+
+!
+!--       Define vertical coordinate grid (zw grid)
+          nc_stat = NF90_DEF_DIM( id_set_sp, 'zw_sp', ns, id_dim_zw_sp )
+          CALL handle_netcdf_error( 'netcdf', 276 )
+
+          nc_stat = NF90_DEF_VAR( id_set_sp, 'zw_sp', NF90_DOUBLE, &
+                                  id_dim_zw_sp, id_var_zw_sp )
+          CALL handle_netcdf_error( 'netcdf', 277 )
+
+          nc_stat = NF90_PUT_ATT( id_set_sp, id_var_zw_sp, 'units', 'meters' )
+          CALL handle_netcdf_error( 'netcdf', 278 )
+
+!
+!--       Define x-axis
+          nc_stat = NF90_DEF_DIM( id_set_sp, 'k_x', nx/2, id_dim_x_sp )
+          CALL handle_netcdf_error( 'netcdf', 279 )
+
+          nc_stat = NF90_DEF_VAR( id_set_sp, 'k_x', NF90_DOUBLE, id_dim_x_sp, &
+                                  id_var_x_sp )
+          CALL handle_netcdf_error( 'netcdf', 280 )
+
+          nc_stat = NF90_PUT_ATT( id_set_sp, id_var_x_sp, 'units', 'm-1' )
+          CALL handle_netcdf_error( 'netcdf', 281 )
+
+!
+!--       Define y-axis
+          nc_stat = NF90_DEF_DIM( id_set_sp, 'k_y', ny/2, id_dim_y_sp )
+          CALL handle_netcdf_error( 'netcdf', 282 )
+
+          nc_stat = NF90_DEF_VAR( id_set_sp, 'k_y', NF90_DOUBLE, id_dim_y_sp, &
+                                  id_var_y_sp )
+          CALL handle_netcdf_error( 'netcdf', 283 )
+
+          nc_stat = NF90_PUT_ATT( id_set_sp, id_var_y_sp, 'units', 'm-1' )
+          CALL handle_netcdf_error( 'netcdf', 284 )
+
+!
+!--       Define the variables
+          var_list = ';'
+          i = 1
+          DO WHILE ( data_output_sp(i) /= ' '  .AND.  i <= 10 )
+!
+!--          First check for the vertical grid
+             found = .TRUE.
+             SELECT CASE ( data_output_sp(i) )
+!
+!--             Most variables are defined on the zu levels
+                CASE ( 'e', 'p', 'pc', 'pr', 'pt', 'q', 'ql', 'ql_c', 'ql_v', &
+                       'ql_vp', 'qv', 'rho', 's', 'sa', 'u', 'v', 'vpt' )
+
+                   grid_z = 'zu'
+!
+!--             zw levels
+                CASE ( 'w' )
+
+                   grid_z = 'zw'
+
+                CASE DEFAULT
+!
+!--                Check for user-defined quantities (found, grid_x and grid_y
+!--                are dummies)
+                   CALL user_define_netcdf_grid( data_output_sp(i), found,  &
+                                                 grid_x, grid_y, grid_z )
+
+             END SELECT
+
+             IF ( INDEX( spectra_direction(i), 'x' ) /= 0 )  THEN
+
+!
+!--             Define the variable
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_x'
+                CALL clean_netcdf_varname( netcdf_var_name )
+                IF ( TRIM( grid_z ) == 'zw' )  THEN
+                   nc_stat = NF90_DEF_VAR( id_set_sp, netcdf_var_name,      &
+                                           nc_precision(7), (/ id_dim_x_sp, &
+                                           id_dim_zw_sp, id_dim_time_sp /), &
+                                           id_var_dospx(i) )
+                ELSE
+                   nc_stat = NF90_DEF_VAR( id_set_sp, netcdf_var_name,      &
+                                           nc_precision(7), (/ id_dim_x_sp, &
+                                           id_dim_zu_sp, id_dim_time_sp /), &
+                                           id_var_dospx(i) )
+                ENDIF
+                CALL handle_netcdf_error( 'netcdf', 285 )
+
+                nc_stat = NF90_PUT_ATT( id_set_sp, id_var_dospx(i), &
+                                        'long_name', netcdf_var_name )
+                CALL handle_netcdf_error( 'netcdf', 286 )
+
+                nc_stat = NF90_PUT_ATT( id_set_sp, id_var_dospx(i), &
+                                        'units', 'unknown' )
+                CALL handle_netcdf_error( 'netcdf', 287 )
+
+                var_list = TRIM( var_list ) // TRIM( netcdf_var_name ) // ';'
+
+             ENDIF
+
+             IF ( INDEX( spectra_direction(i), 'y' ) /= 0 )  THEN
+
+!
+!--             Define the variable
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_y'
+                CALL clean_netcdf_varname( netcdf_var_name )
+                IF ( TRIM( grid_z ) == 'zw' )  THEN
+                   nc_stat = NF90_DEF_VAR( id_set_sp, netcdf_var_name,      &
+                                           nc_precision(7), (/ id_dim_y_sp, &
+                                           id_dim_zw_sp, id_dim_time_sp /), &
+                                           id_var_dospy(i) )
+                ELSE
+                   nc_stat = NF90_DEF_VAR( id_set_sp, netcdf_var_name,      &
+                                           nc_precision(7), (/ id_dim_y_sp, &
+                                           id_dim_zu_sp, id_dim_time_sp /), &
+                                           id_var_dospy(i) )
+                ENDIF
+                CALL handle_netcdf_error( 'netcdf', 288 )
+
+                nc_stat = NF90_PUT_ATT( id_set_sp, id_var_dospy(i), &
+                                        'long_name', netcdf_var_name )
+                CALL handle_netcdf_error( 'netcdf', 289 )
+
+                nc_stat = NF90_PUT_ATT( id_set_sp, id_var_dospy(i), &
+                                        'units', 'unknown' )
+                CALL handle_netcdf_error( 'netcdf', 290 )
+
+                var_list = TRIM( var_list ) // TRIM( netcdf_var_name ) // ';'
+
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs)
+          nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'VAR_LIST', var_list )
+          CALL handle_netcdf_error( 'netcdf', 291 )
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_sp )
+          CALL handle_netcdf_error( 'netcdf', 292 )
+
+!
+!--       Write axis data: zu_sp, zw_sp, k_x, k_y
+          ALLOCATE( netcdf_data(1:ns) )
+
+!
+!--       Write zu data
+          netcdf_data(1:ns) = zu( comp_spectra_level(1:ns) )
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_zu_sp, netcdf_data, &
+                                  start = (/ 1 /), count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 293 )
+
+!
+!--       Write zw data
+          netcdf_data(1:ns) = zw( comp_spectra_level(1:ns) )
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_zw_sp, netcdf_data, &
+                                  start = (/ 1 /), count = (/ ns /) )
+          CALL handle_netcdf_error( 'netcdf', 294 )
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Write data for x and y axis (wavenumbers)
+          ALLOCATE( netcdf_data(nx/2) )
+          DO  i = 1, nx/2
+             netcdf_data(i) = 2.0 * pi * i / ( dx * ( nx + 1 ) )
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_x_sp, netcdf_data, &
+                                  start = (/ 1 /), count = (/ nx/2 /) )
+          CALL handle_netcdf_error( 'netcdf', 295 )
+
+          DEALLOCATE( netcdf_data )
+
+          ALLOCATE( netcdf_data(ny/2) )
+          DO  i = 1, ny/2
+             netcdf_data(i) = 2.0 * pi * i / ( dy * ( ny + 1 ) )
+          ENDDO
+
+          nc_stat = NF90_PUT_VAR( id_set_sp, id_var_y_sp, netcdf_data, &
+                                  start = (/ 1 /), count = (/ ny/2 /) )
+          CALL handle_netcdf_error( 'netcdf', 296 )
+
+          DEALLOCATE( netcdf_data )
+
+
+       CASE ( 'sp_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_sp, NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 297 )
+          var_list = ';'
+          i = 1
+          DO WHILE ( data_output_sp(i) /= ' '  .AND.  i <= 10 )
+
+             IF ( INDEX( spectra_direction(i), 'x' ) /= 0 )  THEN
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_x'
+                var_list = TRIM( var_list ) // TRIM( netcdf_var_name ) // ';'
+             ENDIF
+
+             IF ( INDEX( spectra_direction(i), 'y' ) /= 0 )  THEN
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_y'
+                var_list = TRIM( var_list ) // TRIM( netcdf_var_name ) // ';'
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for spectra  ' //                 &
+                              'from previous run found,' //                  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0260', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Determine the number of current vertical levels for which spectra
+!--       shall be output
+          ns = 1
+          DO WHILE ( comp_spectra_level(ns) /= 999999  .AND.  ns <= 100 )
+             ns = ns + 1
+          ENDDO
+          ns = ns - 1
+
+!
+!--       Get and compare the number of vertical levels
+          nc_stat = NF90_INQ_VARID( id_set_sp, 'zu_sp', id_var_zu_sp )
+          CALL handle_netcdf_error( 'netcdf', 298 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_sp, id_var_zu_sp, &
+                                           dimids = id_dim_zu_sp_old )
+          CALL handle_netcdf_error( 'netcdf', 299 )
+          id_dim_zu_sp = id_dim_zu_sp_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_sp, id_dim_zu_sp, &
+                                            len = ns_old )
+          CALL handle_netcdf_error( 'netcdf', 300 )
+
+          IF ( ns /= ns_old )  THEN
+             message_string = 'NetCDF file for spectra ' //                 &
+                              ' from previous run found,' //                &
+                              '&but this file cannot be extended due to' // &
+                              ' mismatch in number of' //                   &
+                              '&vertical levels.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0261', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get and compare the heights of the cross sections
+          ALLOCATE( netcdf_data(1:ns_old) )
+
+          nc_stat = NF90_GET_VAR( id_set_sp, id_var_zu_sp, netcdf_data )
+          CALL handle_netcdf_error( 'netcdf', 301 )
+
+          DO  i = 1, ns
+             IF ( zu(comp_spectra_level(i)) /= netcdf_data(i) )  THEN
+                message_string = 'NetCDF file for spectra ' //                 &
+                                 ' from previous run found,' //                &
+                                 '&but this file cannot be extended due to' // &
+                                 ' mismatch in heights of' //                  &
+                                 '&vertical levels.' //                        &
+                                 '&New file is created instead.'
+                CALL message( 'define_netcdf_header', 'PA0262', 0, 1, 0, 6, 0 )
+                extend = .FALSE.
+                RETURN
+             ENDIF
+          ENDDO
+
+          DEALLOCATE( netcdf_data )
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is plsp..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_sp, 'time', id_var_time_sp )
+          CALL handle_netcdf_error( 'netcdf', 302 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_sp, id_var_time_sp, &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 303 )
+          id_dim_time_sp = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_sp, id_dim_time_sp, &
+                                            len = dosp_time_count )
+          CALL handle_netcdf_error( 'netcdf', 304 )
+
+          nc_stat = NF90_GET_VAR( id_set_sp, id_var_time_sp,        &
+                                  last_time_coordinate,             &
+                                  start = (/ dosp_time_count /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 305 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for spectra ' //                 &
+                              'from previous run found,' //                 &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                & 
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0263', 0, 1, 0, 6, 0 )
+             dosp_time_count = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          i = 1
+          DO WHILE ( data_output_sp(i) /= ' '  .AND.  i <= 10 )
+
+             IF ( INDEX( spectra_direction(i), 'x' ) /= 0 )  THEN
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_x'
+                nc_stat = NF90_INQ_VARID( id_set_sp, netcdf_var_name, &
+                                          id_var_dospx(i) )
+                CALL handle_netcdf_error( 'netcdf', 306 )
+             ENDIF
+
+             IF ( INDEX( spectra_direction(i), 'y' ) /= 0 )  THEN
+                netcdf_var_name = TRIM( data_output_sp(i) ) // '_y'
+                nc_stat = NF90_INQ_VARID( id_set_sp, netcdf_var_name, &
+                                          id_var_dospy(i) )
+                CALL handle_netcdf_error( 'netcdf', 307 )
+             ENDIF
+
+             i = i + 1
+
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          nc_stat = NF90_REDEF( id_set_sp )
+          CALL handle_netcdf_error( 'netcdf', 441 )
+          IF ( averaging_interval_sp /= 0.0 )  THEN
+             WRITE (time_average_text,'('', '',F7.1,'' s average'')') &
+                                                           averaging_interval_sp
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'title',  &
+                                     TRIM( run_description_header ) // &
+                                     TRIM( time_average_text ) )
+             CALL handle_netcdf_error( 'netcdf', 308 )
+
+             WRITE ( time_average_text,'(F7.1,'' s avg'')' )  averaging_interval_sp
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'time_avg', &
+                                     TRIM( time_average_text ) )
+          ELSE
+             nc_stat = NF90_PUT_ATT( id_set_sp, NF90_GLOBAL, 'title', &
+                                     TRIM( run_description_header ) )
+          ENDIF
+          CALL handle_netcdf_error( 'netcdf', 309 )
+          nc_stat = NF90_ENDDEF( id_set_sp )
+          CALL handle_netcdf_error( 'netcdf', 442 )
+          message_string = 'NetCDF file for spectra ' //     & 
+                           'from previous run found.' //     &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0264', 0, 0, 0, 6, 0 )
+
+
+       CASE ( 'pt_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_prt, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) )
+          CALL handle_netcdf_error( 'netcdf', 310 )
+
+!
+!--       Define time coordinate for particles (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_prt, 'time', NF90_UNLIMITED, &
+                                  id_dim_time_prt )
+          CALL handle_netcdf_error( 'netcdf', 311 )
+
+          nc_stat = NF90_DEF_VAR( id_set_prt, 'time', NF90_DOUBLE, &
+                                  id_dim_time_prt, id_var_time_prt )
+          CALL handle_netcdf_error( 'netcdf', 312 )
+
+          nc_stat = NF90_PUT_ATT( id_set_prt, id_var_time_prt, 'units', &
+                                  'seconds' )
+          CALL handle_netcdf_error( 'netcdf', 313 )
+
+!
+!--       Define particle coordinate (maximum particle number)
+          nc_stat = NF90_DEF_DIM( id_set_prt, 'particle_number', &
+                                  maximum_number_of_particles, id_dim_prtnum )
+          CALL handle_netcdf_error( 'netcdf', 314 )
+
+          nc_stat = NF90_DEF_VAR( id_set_prt, 'particle_number', NF90_DOUBLE, &
+                                  id_dim_prtnum, id_var_prtnum )
+          CALL handle_netcdf_error( 'netcdf', 315 )
+
+          nc_stat = NF90_PUT_ATT( id_set_prt, id_var_prtnum, 'units', &
+                                  'particle number' )
+          CALL handle_netcdf_error( 'netcdf', 316 )
+
+!
+!--       Define variable which contains the real number of particles in use
+          nc_stat = NF90_DEF_VAR( id_set_prt, 'real_num_of_prt', NF90_INT, &
+                                  id_dim_time_prt, id_var_rnop_prt )
+          CALL handle_netcdf_error( 'netcdf', 317 )
+
+          nc_stat = NF90_PUT_ATT( id_set_prt, id_var_rnop_prt, 'units', &
+                                  'particle number' )
+          CALL handle_netcdf_error( 'netcdf', 318 )
+
+!
+!--       Define the variables
+          DO  i = 1, 17
+
+             nc_stat = NF90_DEF_VAR( id_set_prt, prt_var_names(i),         &
+                                     nc_precision(8),                      &
+                                     (/ id_dim_prtnum, id_dim_time_prt /), &
+                                     id_var_prt(i) )
+             CALL handle_netcdf_error( 'netcdf', 319 )
+
+             nc_stat = NF90_PUT_ATT( id_set_prt, id_var_prt(i), &
+                                     'long_name', TRIM( prt_var_names(i) ) )
+             CALL handle_netcdf_error( 'netcdf', 320 )
+
+             nc_stat = NF90_PUT_ATT( id_set_prt, id_var_prt(i), &
+                                     'units', TRIM( prt_var_units(i) ) )
+             CALL handle_netcdf_error( 'netcdf', 321 )
+
+          ENDDO
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_prt )
+          CALL handle_netcdf_error( 'netcdf', 322 )
+
+
+       CASE ( 'pt_ext' )
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is prt..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_prt, 'time', id_var_time_prt )
+          CALL handle_netcdf_error( 'netcdf', 323 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_prt, id_var_time_prt, &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 324 )
+          id_dim_time_prt = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_prt, id_dim_time_prt, &
+                                            len = prt_time_count )
+          CALL handle_netcdf_error( 'netcdf', 325 )
+
+          nc_stat = NF90_GET_VAR( id_set_prt, id_var_time_prt,  &
+                                  last_time_coordinate,         &
+                                  start = (/ prt_time_count /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 326 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for particles ' //               &
+                              'from previous run found,' //                 &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0265', 0, 1, 0, 6, 0 )
+             prt_time_count = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids.
+          nc_stat = NF90_INQ_VARID( id_set_prt, 'real_num_of_prt', &
+                                    id_var_rnop_prt )
+          CALL handle_netcdf_error( 'netcdf', 327 )
+
+          DO  i = 1, 17
+
+             nc_stat = NF90_INQ_VARID( id_set_prt, prt_var_names(i), &
+                                       id_var_prt(i) )
+             CALL handle_netcdf_error( 'netcdf', 328 )
+
+          ENDDO
+
+          message_string = 'NetCDF file for particles ' // & 
+                           'from previous run found.' //   &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0266', 0, 0, 0, 6, 0 )
+        
+
+
+       CASE ( 'ps_new' )
+
+!
+!--       Define some global attributes of the dataset
+          nc_stat = NF90_PUT_ATT( id_set_pts, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) )
+          CALL handle_netcdf_error( 'netcdf', 396 )
+
+!
+!--       Define time coordinate for particle time series (unlimited dimension)
+          nc_stat = NF90_DEF_DIM( id_set_pts, 'time', NF90_UNLIMITED, &
+                                  id_dim_time_pts )
+          CALL handle_netcdf_error( 'netcdf', 397 )
+
+          nc_stat = NF90_DEF_VAR( id_set_pts, 'time', NF90_DOUBLE, &
+                                  id_dim_time_pts, id_var_time_pts )
+          CALL handle_netcdf_error( 'netcdf', 398 )
+
+          nc_stat = NF90_PUT_ATT( id_set_pts, id_var_time_pts, 'units', &
+                                  'seconds')
+          CALL handle_netcdf_error( 'netcdf', 399 )
+
+!
+!--       Define the variables. If more than one particle group is defined,
+!--       define seperate variables for each group
+          var_list = ';'
+          DO  i = 1, dopts_num
+
+!
+!--          First, remove those characters not allowed by NetCDF
+             netcdf_var_name = dopts_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             DO  j = 0, number_of_particle_groups
+
+                IF ( j == 0 )  THEN
+                   suffix1 = ''
+                ELSE
+                   WRITE ( suffix1, '(''_'',I2.2)' )  j
+                ENDIF
+
+                nc_stat = NF90_DEF_VAR( id_set_pts,                         &
+                                        TRIM( netcdf_var_name ) // suffix1, &
+                                        nc_precision(6),                    &
+                                        (/ id_dim_time_pts /),              &
+                                        id_var_dopts(i,j) )
+                CALL handle_netcdf_error( 'netcdf', 400 )
+
+                IF ( j == 0 )  THEN
+                   nc_stat = NF90_PUT_ATT( id_set_pts, id_var_dopts(i,j), &
+                                           'long_name', &
+                                           TRIM( dopts_label(i) ) )
+                ELSE
+                   nc_stat = NF90_PUT_ATT( id_set_pts, id_var_dopts(i,j), &
+                                           'long_name', &
+                                           TRIM( dopts_label(i) ) // ' PG ' // &
+                                           suffix1(2:3) )
+                ENDIF
+                CALL handle_netcdf_error( 'netcdf', 401 )
+
+                nc_stat = NF90_PUT_ATT( id_set_pts, id_var_dopts(i,j), &
+                                        'units', TRIM( dopts_unit(i) ) )
+                CALL handle_netcdf_error( 'netcdf', 402 )
+
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                           suffix1 // ';'
+
+                IF ( number_of_particle_groups == 1 )  EXIT
+
+             ENDDO
+
+          ENDDO
+
+!
+!--       Write the list of variables as global attribute (this is used by
+!--       restart runs)
+          nc_stat = NF90_PUT_ATT( id_set_pts, NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list )
+          CALL handle_netcdf_error( 'netcdf', 403 )
+
+
+!
+!--       Leave NetCDF define mode
+          nc_stat = NF90_ENDDEF( id_set_pts )
+          CALL handle_netcdf_error( 'netcdf', 404 )
+
+
+       CASE ( 'ps_ext' )
+
+!
+!--       Get the list of variables and compare with the actual run.
+!--       First var_list_old has to be reset, since GET_ATT does not assign
+!--       trailing blanks.
+          var_list_old = ' '
+          nc_stat = NF90_GET_ATT( id_set_pts, NF90_GLOBAL, 'VAR_LIST', &
+                                  var_list_old )
+          CALL handle_netcdf_error( 'netcdf', 405 )
+
+          var_list = ';'
+          i = 1
+          DO  i = 1, dopts_num
+
+             netcdf_var_name = dopts_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name )
+
+             DO  j = 0, number_of_particle_groups
+
+                IF ( j == 0 )  THEN
+                   suffix1 = ''
+                ELSE
+                   WRITE ( suffix1, '(''_'',I2.2)' )  j
+                ENDIF
+
+                var_list = TRIM(var_list) // TRIM(netcdf_var_name) // &
+                           suffix1 // ';'
+
+                IF ( number_of_particle_groups == 1 )  EXIT
+
+             ENDDO
+
+          ENDDO
+
+          IF ( TRIM( var_list ) /= TRIM( var_list_old ) )  THEN
+             message_string = 'NetCDF file for particle time series ' //     &
+                              'from previous run found,' //                  &
+                              '& but this file cannot be extended due to' // &
+                              ' variable mismatch.' //                       &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0267', 0, 1, 0, 6, 0 )
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Get the id of the time coordinate (unlimited coordinate) and its
+!--       last index on the file. The next time level is dots..count+1.
+!--       The current time must be larger than the last output time
+!--       on the file.
+          nc_stat = NF90_INQ_VARID( id_set_pts, 'time', id_var_time_pts )
+          CALL handle_netcdf_error( 'netcdf', 406 )
+
+          nc_stat = NF90_INQUIRE_VARIABLE( id_set_pts, id_var_time_pts, &
+                                           dimids = id_dim_time_old )
+          CALL handle_netcdf_error( 'netcdf', 407 )
+          id_dim_time_pts = id_dim_time_old(1)
+
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set_pts, id_dim_time_pts, &
+                                            len = dopts_time_count )
+          CALL handle_netcdf_error( 'netcdf', 408 )
+
+          nc_stat = NF90_GET_VAR( id_set_pts, id_var_time_pts,    &
+                                  last_time_coordinate,           &
+                                  start = (/ dopts_time_count /), &
+                                  count = (/ 1 /) )
+          CALL handle_netcdf_error( 'netcdf', 409 )
+
+          IF ( last_time_coordinate(1) >= simulated_time )  THEN
+             message_string = 'NetCDF file for particle time series ' //    &
+                              'from previous run found,' //                 &
+                              '&but this file cannot be extended becaus' // &
+                              'e the current output time' //                &
+                              '&is less or equal than the last output t' // &
+                              'ime on this file.' //                        &
+                              '&New file is created instead.'
+             CALL message( 'define_netcdf_header', 'PA0268', 0, 1, 0, 6, 0 )
+             dopts_time_count = 0
+             extend = .FALSE.
+             RETURN
+          ENDIF
+
+!
+!--       Dataset seems to be extendable.
+!--       Now get the variable ids
+          i = 1
+          DO  i = 1, dopts_num
+ 
+             netcdf_var_name_base = dopts_label(i)
+             CALL clean_netcdf_varname( netcdf_var_name_base )
+
+             DO  j = 0, number_of_particle_groups
+
+                IF ( j == 0 )  THEN
+                   suffix1 = ''
+                ELSE
+                   WRITE ( suffix1, '(''_'',I2.2)' )  j
+                ENDIF
+
+                netcdf_var_name = TRIM( netcdf_var_name_base ) // suffix1
+
+                nc_stat = NF90_INQ_VARID( id_set_pts, netcdf_var_name, &
+                                          id_var_dopts(i,j) )
+                CALL handle_netcdf_error( 'netcdf', 410 )
+
+                IF ( number_of_particle_groups == 1 )  EXIT
+
+             ENDDO
+
+          ENDDO
+
+!
+!--       Update the title attribute on file
+!--       In order to avoid 'data mode' errors if updated attributes are larger 
+!--       than their original size, NF90_PUT_ATT is called in 'define mode' 
+!--       enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a possible 
+!--       performance loss due to data copying; an alternative strategy would be 
+!--       to ensure equal attribute size in a job chain. Maybe revise later.
+          nc_stat = NF90_REDEF( id_set_pts )
+          CALL handle_netcdf_error( 'netcdf', 443 )
+          nc_stat = NF90_PUT_ATT( id_set_pts, NF90_GLOBAL, 'title', &
+                                  TRIM( run_description_header ) )
+          CALL handle_netcdf_error( 'netcdf', 411 )
+          nc_stat = NF90_ENDDEF( id_set_pts )
+          CALL handle_netcdf_error( 'netcdf', 444 )
+          message_string = 'NetCDF file for particle time series ' // & 
+                           'from previous run found.' //              &
+                           '&This file will be extended.'
+          CALL message( 'define_netcdf_header', 'PA0269', 0, 0, 0, 6, 0 )
+
+
+       CASE DEFAULT
+
+          message_string = 'mode "' // TRIM( mode) // '" not supported'
+          CALL message( 'define_netcdf_header', 'PA0270', 0, 0, 0, 6, 0 )
+
+    END SELECT
+
+#endif
+ END SUBROUTINE define_netcdf_header
+
+
+SUBROUTINE handle_netcdf_error( routine_name, errno )
+#if defined( __netcdf )
+
+!------------------------------------------------------------------------------!
+!
+! Description:
+! ------------
+! Prints out a text message corresponding to the current status.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE netcdf
+    USE netcdf_control
+    USE pegrid
+
+    IMPLICIT NONE
+
+    CHARACTER(LEN=6) ::  message_identifier
+    CHARACTER(LEN=*) ::  routine_name
+
+    INTEGER ::  errno
+
+    IF ( nc_stat /= NF90_NOERR )  THEN
+
+       WRITE( message_identifier, '(''NC'',I4.4)' )  errno
+       message_string = TRIM( NF90_STRERROR( nc_stat ) )
+
+       CALL message( routine_name, message_identifier, 2, 2, 0, 6, 1 )
+
+    ENDIF
+
+#endif
+ END SUBROUTINE handle_netcdf_error
+
+
+
+ SUBROUTINE clean_netcdf_varname( string )
+#if defined( __netcdf )
+
+!------------------------------------------------------------------------------!
+!
+! Description:
+! ------------
+! Replace those characters in string which are not allowed by NetCDF.
+!------------------------------------------------------------------------------!
+
+    USE netcdf_control
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10), INTENT(INOUT) ::  string
+
+    INTEGER ::  i, ic
+
+    DO  i = 1, replace_num
+       DO
+          ic = INDEX( string, replace_char(i) )
+          IF ( ic /= 0 )  THEN
+             string(ic:ic) = replace_by(i)
+          ELSE
+             EXIT
+          ENDIF
+       ENDDO
+    ENDDO
+
+#endif
+ END SUBROUTINE clean_netcdf_varname
Index: palm/tags/release-3.7/SOURCE/package_parin.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/package_parin.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/package_parin.f90	(revision 393)
@@ -0,0 +1,154 @@
+ SUBROUTINE package_parin
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 336 2009-06-10 11:19:35Z raasch
+! +clip_dvrp_*, cluster_size, color_interval, dvrpsize_interval,
+! groundplate_color, isosurface_color, particle_color, particle_dvrpsize
+! topography_color, in dvrp_graphics_par,
+! parameter dvrp_psize moved from particles_par to dvrp_graphics_par
+! Variables for dvrp-mode pathlines added
+!
+! 210 2008-11-06 08:54:02Z raasch
+! Variables for dvrp-mode pathlines added
+!
+! 116 2007-10-11 02:30:27Z raasch
+! +dt_sort_particles in package_parin
+!
+! 60 2007-03-11 11:50:04Z raasch
+! Particles-package is now part of the default code
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.18  2006/08/04 14:52:23  raasch
+! +dt_dopts, dt_min_part, end_time_prel, particles_per_point,
+! use_sgs_for_particles in particles_par
+!
+! Revision 1.1  2000/12/28 13:21:57  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! This subroutine reads from the NAMELIST file variables controling model
+! software packages which are used optionally in the run.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE dvrp_variables
+    USE particle_attributes
+    USE spectrum
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=80) ::  zeile
+
+    NAMELIST /dvrp_graphics_par/  clip_dvrp_l, clip_dvrp_n, clip_dvrp_r,       &
+                                  clip_dvrp_s, cluster_size, color_interval,   &
+                                  dt_dvrp, dvrpsize_interval, dvrp_directory,  &
+                                  dvrp_file, dvrp_host, dvrp_output,           &
+                                  dvrp_password, dvrp_psize, dvrp_username,    &
+                                  groundplate_color, isosurface_color,         &
+                                  mode_dvrp, particle_color, particle_dvrpsize,&
+                                  pathlines_fadeintime, pathlines_fadeouttime, &
+                                  pathlines_linecount, pathlines_maxhistory,   &
+                                  pathlines_wavecount, pathlines_wavetime,     &
+                                  slicer_range_limits_dvrp, superelevation,    &
+                                  superelevation_x, superelevation_y,          &
+                                  threshold, topography_color, vc_alpha,       &
+                                  vc_gradient_normals, vc_mode, vc_size_x,     &
+                                  vc_size_y, vc_size_z
+
+    NAMELIST /particles_par/      bc_par_b, bc_par_lr, bc_par_ns, bc_par_t,    &
+                                  density_ratio, radius, dt_dopts,             &
+                                  dt_min_part, dt_prel, dt_sort_particles,     &
+                                  dt_write_particle_data,                      &
+                                  end_time_prel, initial_weighting_factor,     &
+                                  maximum_number_of_particles,                 &
+                                  maximum_number_of_tailpoints,                &
+                                  maximum_tailpoint_age,                       &
+                                  minimum_tailpoint_distance,                  &
+                                  number_of_particle_groups,                   &
+                                  particles_per_point,                         &
+                                  particle_advection_start,                    &
+                                  particle_maximum_age, pdx, pdy, pdz, psb,    &
+                                  psl, psn, psr, pss, pst,                     &
+                                  random_start_position,                       &
+                                  read_particles_from_restartfile,             &
+                                  skip_particles_for_tail, use_particle_tails, &
+                                  use_sgs_for_particles,                       &
+                                  vertical_particle_advection,                 &
+                                  write_particle_statistics
+    NAMELIST /spectra_par/        averaging_interval_sp, comp_spectra_level,   &
+                                  data_output_sp, dt_dosp, plot_spectra_level, &
+                                  skip_time_dosp, spectra_direction
+
+!
+!-- Position the namelist-file at the beginning (it was already opened in
+!-- parin), search for the namelist-group of the package and position the
+!-- file at this line. Do the same for each optionally used package.
+    zeile = ' '
+
+#if defined( __dvrp_graphics )
+    REWIND ( 11 )
+    zeile = ' '
+    DO   WHILE ( INDEX( zeile, '&dvrp_graphics_par' ) == 0 )
+       READ ( 11, '(A)', END=10 )  zeile
+    ENDDO
+    BACKSPACE ( 11 )
+
+!
+!-- Read user-defined namelist
+    READ ( 11, dvrp_graphics_par )
+
+ 10 CONTINUE
+#endif
+
+!
+!-- Try to find particles package
+    REWIND ( 11 )
+    zeile = ' '
+    DO   WHILE ( INDEX( zeile, '&particles_par' ) == 0 )
+       READ ( 11, '(A)', END=20 )  zeile
+    ENDDO
+    BACKSPACE ( 11 )
+
+!
+!-- Read user-defined namelist
+    READ ( 11, particles_par )
+
+!
+!-- Set flag that indicates that particles are switched on
+    particle_advection = .TRUE.
+
+ 20 CONTINUE
+
+
+#if defined( __spectra )
+    REWIND ( 11 )
+    zeile = ' '
+    DO   WHILE ( INDEX( zeile, '&spectra_par' ) == 0 )
+       READ ( 11, '(A)', END=30 )  zeile
+    ENDDO
+    BACKSPACE ( 11 )
+
+!
+!-- Read user-defined namelist
+    READ ( 11, spectra_par )
+
+!
+!-- Default setting of dt_dosp here (instead of check_parameters), because its
+!-- current value is needed in init_pegrid
+    IF ( dt_dosp == 9999999.9 )  dt_dosp = dt_data_output
+
+ 30 CONTINUE
+#endif
+
+ END SUBROUTINE package_parin
Index: palm/tags/release-3.7/SOURCE/palm.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/palm.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/palm.f90	(revision 393)
@@ -0,0 +1,215 @@
+ PROGRAM palm
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 215 2008-11-18 09:54:31Z raasch
+! Initialization of coupled runs modified for MPI-1 and moved to external
+! subroutine init_coupling
+!
+! 197 2008-09-16 15:29:03Z raasch
+! Workaround for getting information about the coupling mode
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Get coupling mode from environment variable, change location of debug output
+!
+! 75 2007-03-22 09:54:05Z raasch
+! __vtk directives removed, write_particles is called only in case of particle
+! advection switched on, open unit 9 for debug output,
+! setting of palm version moved from modules to here
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.10  2006/08/04 14:53:12  raasch
+! Distibution of run description header removed, call of header moved behind
+! init_3d_model
+!
+! Revision 1.2  2001/01/25 07:15:06  raasch
+! Program name changed to PALM, module test_variables removed.
+! Initialization of dvrp logging as well as exit of dvrp moved to new
+! subroutines init_dvrp_logging and close_dvrp (file init_dvrp.f90)
+!
+! Revision 1.1  1997/07/24 11:23:35  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Large-Eddy Simulation (LES) model for the convective boundary layer, 
+! optimized for use on parallel machines (implementation realized using the
+! Message Passing Interface (MPI)). The model can also be run on vector machines
+! (less well optimized) and workstations. Versions for the different types of 
+! machines are controlled via cpp-directives.
+! Model runs are only feasible using the ksh-script mrun.
+!------------------------------------------------------------------------------!
+
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE cpulog
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE model_1d
+    USE particle_attributes
+    USE pegrid
+    USE spectrum
+    USE statistics
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    CHARACTER (LEN=9) ::  time_to_string
+    CHARACTER (LEN=1) ::  cdum
+    INTEGER           ::  i, run_description_header_i(80)
+
+    version = 'PALM 3.7'
+
+#if defined( __parallel )
+!
+!-- MPI initialisation. comm2d is preliminary set, because
+!-- it will be defined in init_pegrid but is used before in cpu_log.
+    CALL MPI_INIT( ierr )
+    CALL MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr )
+    CALL MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr )
+    comm_palm = MPI_COMM_WORLD
+    comm2d    = MPI_COMM_WORLD
+
+!
+!-- Initialize PE topology in case of coupled runs
+    CALL init_coupling
+#endif
+
+!
+!-- Initialize measuring of the CPU-time remaining to the run
+    CALL local_tremain_ini
+
+!
+!-- Start of total CPU time measuring.
+    CALL cpu_log( log_point(1), 'total', 'start' )
+    CALL cpu_log( log_point(2), 'initialisation', 'start' )
+
+!
+!-- Open a file for debug output
+    WRITE (myid_char,'(''_'',I4.4)')  myid
+    OPEN( 9, FILE='DEBUG'//TRIM( coupling_char )//myid_char, FORM='FORMATTED' )
+
+!
+!-- Initialize dvrp logging. Also, one PE maybe split from the global
+!-- communicator for doing the dvrp output. In that case, the number of
+!-- PEs available for PALM is reduced by one and communicator comm_palm
+!-- is changed respectively.
+#if defined( __parallel )
+    CALL MPI_COMM_RANK( comm_palm, myid, ierr )
+!
+!-- TEST OUTPUT (TO BE REMOVED)
+    WRITE(9,*) '*** coupling_mode = "', TRIM( coupling_mode ), '"'
+    CALL LOCAL_FLUSH( 9 )
+    IF ( TRIM( coupling_mode ) /= 'uncoupled' )  THEN
+       PRINT*, '*** PE', myid, ' Global target PE:', target_id, &
+               TRIM( coupling_mode )
+    ENDIF
+#endif
+
+    CALL init_dvrp_logging
+
+!
+!-- Read control parameters from NAMELIST files and read environment-variables
+    CALL parin
+
+!
+!-- Determine processor topology and local array indices
+    CALL init_pegrid
+
+!
+!-- Generate grid parameters
+    CALL init_grid
+
+!
+!-- Check control parameters and deduce further quantities
+    CALL check_parameters
+
+!
+!-- Initialize all necessary variables
+    CALL init_3d_model
+
+!
+!-- Output of program header
+    IF ( myid == 0 )  CALL header
+
+    CALL cpu_log( log_point(2), 'initialisation', 'stop' )
+
+!
+!-- Set start time in format hh:mm:ss
+    simulated_time_chr = time_to_string( simulated_time )
+
+!
+!-- If required, output of initial arrays
+    IF ( do2d_at_begin )  THEN
+       CALL data_output_2d( 'xy', 0 )
+       CALL data_output_2d( 'xz', 0 )
+       CALL data_output_2d( 'yz', 0 )
+    ENDIF
+    IF ( do3d_at_begin )  THEN
+       CALL data_output_3d( 0 )
+    ENDIF
+
+!
+!-- Integration of the model equations using the leap-frog scheme
+    CALL time_integration
+
+!
+!-- If required, write binary data for model continuation runs
+    IF ( write_binary(1:4) == 'true' )  CALL write_3d_binary
+
+!
+!-- If required, write binary particle data
+    IF ( particle_advection )  CALL write_particles
+
+!
+!-- If required, repeat output of header including the required CPU-time
+    IF ( myid == 0 )  CALL header
+
+!
+!-- If required, final user-defined actions, and
+!-- last actions on the open files and close files. Unit 14 was opened
+!-- in write_3d_binary but it is closed here, to allow writing on this
+!-- unit in routine user_last_actions.
+    CALL cpu_log( log_point(4), 'last actions', 'start' )
+    CALL user_last_actions
+    IF ( write_binary(1:4) == 'true' )  CALL close_file( 14 )
+    CALL close_file( 0 )
+    CALL close_dvrp
+    CALL cpu_log( log_point(4), 'last actions', 'stop' )
+
+#if defined( __mpi2 )
+!
+!-- Test exchange via intercommunicator in case of a MPI-2 coupling
+    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+       i = 12345 + myid
+       CALL MPI_SEND( i, 1, MPI_INTEGER, myid, 11, comm_inter, ierr )
+    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+       CALL MPI_RECV( i, 1, MPI_INTEGER, myid, 11, comm_inter, status, ierr )
+       PRINT*, '### myid: ', myid, '   received from atmosphere:  i = ', i
+    ENDIF
+#endif
+
+!
+!-- Take final CPU-time for CPU-time analysis
+    CALL cpu_log( log_point(1), 'total', 'stop' )
+    CALL cpu_statistics
+
+#if defined( __parallel )
+    CALL MPI_FINALIZE( ierr )
+#endif
+
+ END PROGRAM palm
Index: palm/tags/release-3.7/SOURCE/parin.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/parin.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/parin.f90	(revision 393)
@@ -0,0 +1,286 @@
+ SUBROUTINE parin
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! +local_dvrserver_running in envpar
+! Output of messages replaced by message handling routine.
+! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left, 
+! canyon_wall_south, conserve_volume_flow_mode, coupling_start_time,
+! dp_external, dp_level_b, dp_smooth, dpdxy, u_bulk, v_bulk in inipar
+! topography_grid_convention moved from userpar
+!
+! 197 2008-09-16 15:29:03Z raasch
+! +cthf,leaf_surface_concentration, scalar_exchange_coefficient
+! +inflow_damping_height, inflow_damping_width, recycling_width,
+! turbulent_inflow in inipar, -skip_time_dosp in d3par,
+! allocation of hom_sum moved from init_3d_model to here,
+! npex, npey moved from inipar to d3par, setting of myid_char_14 removed,
+! lad is allways allocated
+!
+! 138 2007-11-28 10:03:58Z letzel
+! +canopy_mode, drag_coefficient, lad_surface, lad_vertical_gradient, 
+! lad_vertical_gradient_level, pch_index, plant_canopy, 
+! +allocation of leaf area density field
+!
+! 108 2007-08-24 15:10:38Z letzel
+! +e_init, top_momentumflux_u|v in inipar, +dt_coupling in d3par
+!
+! 95 2007-06-02 16:48:38Z raasch
+! +bc_sa_t, bottom_salinityflux, ocean, sa_surface, sa_vertical_gradient,
+! sa_vertical_gradient_level, top_salinityflux in inipar,
+! sa_init is allocated
+!
+! 87 2007-05-22 15:46:47Z raasch
+! Size of hom increased by the maximum number of user-defined profiles,
+! var_hom renamed pr_palm
+!
+! 82 2007-04-16 15:40:52Z raasch
+! +return_addres, return_username in envpar
+!
+! 75 2007-03-22 09:54:05Z raasch
+! +dt_max, netcdf_64bit_3d, precipitation_amount_interval in d3par,
+! +loop_optimization, pt_reference in inipar, -data_output_ts,
+! moisture renamed humidity
+!
+! 20 2007-02-26 00:12:32Z raasch
+! +top_heatflux, use_top_fluxes in inipar
+!
+! -netcdf_64bit_3d
+!
+! 3 2007-02-13 11:30:58Z raasch
+! +netcdf_64bit_3d in d3par,
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.57  2007/02/11 13:11:22  raasch
+! Values of environment variables are now read from file ENVPAR instead of
+! reading them with a system call, + NAMELIST envpar
+!
+! Revision 1.1  1997/07/24 11:22:50  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! This subroutine reads variables controling the run from the NAMELIST files
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE control_parameters
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE model_1d
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  idum
+
+
+    NAMELIST /inipar/  adjust_mixing_length, alpha_surface, bc_e_b, bc_lr, &
+                       bc_ns, bc_p_b, bc_p_t, bc_pt_b, bc_pt_t, bc_q_b, &
+             bc_q_t,bc_s_b, bc_s_t, bc_sa_t, bc_uv_b, bc_uv_t, &
+             bottom_salinityflux, building_height, building_length_x, &
+             building_length_y, building_wall_left, building_wall_south, &
+             canopy_mode, canyon_height, canyon_width_x, canyon_width_y, &
+             canyon_wall_left, canyon_wall_south, cloud_droplets, &
+             cloud_physics, conserve_volume_flow, conserve_volume_flow_mode, &
+             coupling_start_time, cthf, cut_spline_overshoot, &
+             damp_level_1d, dissipation_1d, dp_external, dp_level_b, &
+             dp_smooth, dpdxy, drag_coefficient, dt, dt_pr_1d, &
+             dt_run_control_1d, dx, dy, dz, dz_max, dz_stretch_factor, & 
+             dz_stretch_level, e_init, e_min, end_time_1d, fft_method, &
+             galilei_transformation, grid_matching, humidity, &
+             inflow_damping_height, inflow_damping_width, &
+             inflow_disturbance_begin, inflow_disturbance_end, &
+             initializing_actions, km_constant, km_damp_max, lad_surface, &
+             lad_vertical_gradient, lad_vertical_gradient_level, &
+             leaf_surface_concentration, long_filter_factor, &
+             loop_optimization, mixing_length_1d, momentum_advec, &
+             netcdf_precision, nsor_ini, nx, ny, &
+             nz, ocean, omega, outflow_damping_width, overshoot_limit_e, &
+             overshoot_limit_pt, overshoot_limit_u, overshoot_limit_v, &
+             overshoot_limit_w, passive_scalar, pch_index, phi, &  
+             plant_canopy, prandtl_layer, precipitation, pt_reference, &
+             pt_surface, pt_surface_initial_change, pt_vertical_gradient, &
+             pt_vertical_gradient_level, q_surface, q_surface_initial_change, &
+             q_vertical_gradient, q_vertical_gradient_level, radiation, &
+             random_generator, random_heatflux, recycling_width, rif_max, &
+             rif_min, roughness_length, sa_surface, sa_vertical_gradient, &
+             sa_vertical_gradient_level, scalar_advec, &
+             scalar_exchange_coefficient, statistic_regions, &
+             surface_heatflux, surface_pressure, surface_scalarflux, &
+             surface_waterflux, s_surface, s_surface_initial_change, &
+             s_vertical_gradient, s_vertical_gradient_level, timestep_scheme, &
+             topography, topography_grid_convention, top_heatflux, &
+             top_momentumflux_u, top_momentumflux_v, &
+             top_salinityflux, turbulent_inflow, ug_surface, &
+             ug_vertical_gradient, ug_vertical_gradient_level, u_bulk, &
+             ups_limit_e, ups_limit_pt, ups_limit_u, ups_limit_v, ups_limit_w, &
+             use_surface_fluxes, use_top_fluxes, use_ug_for_galilei_tr, &
+             use_upstream_for_tke, vg_surface, vg_vertical_gradient, &
+             vg_vertical_gradient_level, v_bulk, wall_adjustment, wall_heatflux
+
+
+    NAMELIST /d3par/   averaging_interval,  averaging_interval_pr, &
+                       call_psolver_at_all_substeps, cfl_factor, &
+                       create_disturbances, cross_normalized_x, &
+                       cross_normalized_y, cross_profiles, cross_ts_uymax, &
+                       cross_ts_uymin, cross_xtext, cycle_mg, data_output, &
+                       data_output_format, data_output_pr, &
+                       data_output_2d_on_each_pe, disturbance_amplitude, &
+                       disturbance_energy_limit, disturbance_level_b, &
+                       disturbance_level_t, do2d_at_begin, do3d_at_begin, &
+                       do3d_compress, do3d_comp_prec, dt, dt_averaging_input, &
+                       dt_averaging_input_pr, dt_coupling, dt_data_output, &
+                       dt_data_output_av, dt_disturb, dt_dopr, &
+                       dt_dopr_listing, dt_dots, dt_do2d_xy, dt_do2d_xz, &
+                       dt_do2d_yz, dt_do3d, dt_max, dt_restart, dt_run_control,&
+                       end_time, force_print_header, mg_cycles, &
+                       mg_switch_to_pe0_level, netcdf_64bit, netcdf_64bit_3d, &
+                       ngsrb, normalizing_region, npex, npey, nsor, nz_do3d, &
+                       omega_sor, &
+                       prandtl_number, precipitation_amount_interval, &
+                       profile_columns, profile_rows, psolver, &
+                       rayleigh_damping_factor, rayleigh_damping_height, &
+                       residual_limit, restart_time, section_xy, section_xz, &
+                       section_yz, skip_time_data_output, &
+                       skip_time_data_output_av, skip_time_dopr, &
+                       skip_time_do2d_xy, skip_time_do2d_xz, &
+                       skip_time_do2d_yz, skip_time_do3d, &
+                       termination_time_needed, use_prior_plot1d_parameters, &
+                       z_max_do1d, z_max_do1d_normalized, z_max_do2d
+
+
+    NAMELIST /envpar/  host, local_dvrserver_running, maximum_cpu_time_allowed,  &
+                       revision, return_addres, return_username, run_identifier, &
+                       tasks_per_node, write_binary
+
+!
+!-- Open the NAMELIST-file which is send with this job
+    CALL check_open( 11 )
+
+!
+!-- Read the control parameters for initialization.
+!-- The namelist "inipar" must be provided in the NAMELIST-file. If this is
+!-- not the case and the file contains - instead of "inipar" - any other
+!-- namelist, a read error is created on t3e and control is transferred
+!-- to the statement with label 10. Therefore, on t3e machines one can not
+!-- distinguish between errors produced by a wrong "inipar" namelist or
+!-- because this namelist is totally missing.
+    READ ( 11, inipar, ERR=10, END=11 )
+    GOTO 12
+ 10 message_string = 'errors in \$inipar &or no \$inipar-namelist ' // &
+                     'found (CRAY-machines only)'
+    CALL message( 'parin', 'PA0271', 1, 2, 0, 6, 0 )
+
+ 11 message_string = 'no \$inipar-namelist found'
+    CALL message( 'parin', 'PA0272', 1, 2, 0, 6, 0 )
+
+!
+!-- If required, read control parameters from restart file (produced by
+!-- a prior run). All PEs are reading from file created by PE0 (see check_open)
+ 12 IF ( TRIM( initializing_actions ) == 'read_restart_data' )  THEN
+
+       CALL read_var_list
+!
+!--    The restart file will be reopened when reading the subdomain data
+       CALL close_file( 13 )
+
+!
+!--    Increment the run count
+       runnr = runnr + 1
+
+    ENDIF
+
+!
+!-- Definition of names of areas used for computing statistics. They must
+!-- be defined at this place, because they are allowed to be redefined by
+!-- the user in user_parin.
+    region = 'total domain'
+
+!
+!-- Read runtime parameters given by the user for this run (namelist "d3par").
+!-- The namelist "d3par" can be omitted. In that case, default values are
+!-- used for the parameters.
+    READ ( 11, d3par, END=20 )
+
+!
+!-- Read control parameters for optionally used model software packages
+ 20 CALL package_parin
+
+!
+!-- Read user-defined variables
+    CALL user_parin
+
+!
+!-- Check in case of initial run, if the grid point numbers are well defined
+!-- and allocate some arrays which are already needed in init_pegrid or
+!-- check_parameters. During restart jobs, these arrays will be allocated
+!-- in read_var_list. All other arrays are allocated in init_3d_model.
+    IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
+
+       IF ( nx <= 0 )  THEN
+          WRITE( message_string, * ) 'no value or wrong value given for nx: ',&
+                                     'nx=', nx
+          CALL message( 'parin', 'PA0273', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( ny <= 0 )  THEN
+          WRITE( message_string, * ) 'no value or wrong value given for ny: ',&
+                                     'ny=', ny
+          CALL message( 'parin', 'PA0274', 1, 2, 0, 6, 0 )
+       ENDIF
+       IF ( nz <= 0 )  THEN
+          WRITE( message_string, * ) 'no value or wrong value given for nz: ',&
+                                     'nz=', nz
+          CALL message( 'parin', 'PA0275', 1, 2, 0, 6, 0 )
+       ENDIF
+!
+!--    ATTENTION: in case of changes to the following statement please also
+!--    check the allocate statement in routine read_var_list
+       ALLOCATE( lad(0:nz+1),pt_init(0:nz+1), q_init(0:nz+1), sa_init(0:nz+1), &
+                 ug(0:nz+1), u_init(0:nz+1), v_init(0:nz+1), vg(0:nz+1),       &
+                 hom(0:nz+1,2,pr_palm+max_pr_user,0:statistic_regions),        &
+                 hom_sum(0:nz+1,pr_palm+max_pr_user,0:statistic_regions) )
+       hom = 0.0
+
+    ENDIF
+
+!
+!-- NAMELIST-file is not needed anymore
+    CALL close_file( 11 )
+
+!
+!-- Read values of environment variables (this NAMELIST file is generated by
+!-- mrun)
+    OPEN ( 90, FILE='ENVPAR', STATUS='OLD', FORM='FORMATTED', ERR=30 )
+    READ ( 90, envpar, ERR=31, END=32 )
+    CLOSE ( 90 )
+    RETURN
+
+ 30 message_string = 'local file ENVPAR not found' // &
+                     '&some variables for steering may not be properly set'
+    CALL message( 'parin', 'PA0276', 0, 1, 0, 6, 0 )
+    RETURN
+
+ 31 message_string = 'errors in local file ENVPAR' // &
+                     '&some variables for steering may not be properly set'
+    CALL message( 'parin', 'PA0277', 0, 1, 0, 6, 0 )
+    RETURN
+
+ 32 message_string = 'no envpar-NAMELIST found in local file ENVPAR'  // &
+                     '&some variables for steering may not be properly set'
+    CALL message( 'parin', 'PA0278', 0, 1, 0, 6, 0 )
+
+ END SUBROUTINE parin
Index: palm/tags/release-3.7/SOURCE/particle_boundary_conds.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/particle_boundary_conds.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/particle_boundary_conds.f90	(revision 393)
@@ -0,0 +1,582 @@
+ SUBROUTINE particle_boundary_conds
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 150 2008-02-29 08:19:58Z raasch
+! Vertical index calculations adjusted for ocean runs.
+!
+! Initial version (2007/03/09)
+!
+! Description:
+! ------------
+! Calculates the reflection of particles from vertical walls.
+! Routine developed by Jin Zhang (2006-2007)
+! To do: Code structure for finding the t_index values and for checking the
+!        reflection conditions is basically the same for all four cases, so it
+!        should be possible to further simplify/shorten it.
+! THIS ROUTINE HAS NOT BEEN TESTED FOR OCEAN RUNS SO FAR! (see offset_ocean_*)
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, inc, ir, i1, i2, i3, i5, j, jr, j1, j2, j3, j5, k, k1, k2, &
+                k3, k5, n, t_index, t_index_number
+
+    LOGICAL ::  reflect_x, reflect_y, reflect_z
+
+    REAL ::  dt_particle, pos_x, pos_x_old, pos_y, pos_y_old, pos_z, &
+             pos_z_old, prt_x, prt_y, prt_z, tmp_t, xline, yline, zline
+
+    REAL ::  t(1:200)
+
+    CALL cpu_log( log_point_s(48), 'advec_part_refle', 'start' )
+
+
+
+    reflect_x = .FALSE.
+    reflect_y = .FALSE.
+    reflect_z = .FALSE.
+
+    DO  n = 1, number_of_particles
+
+       dt_particle = particles(n)%age - particles(n)%age_m
+
+       i2 = ( particles(n)%x + 0.5 * dx ) * ddx
+       j2 = ( particles(n)%y + 0.5 * dy ) * ddy
+       k2 = particles(n)%z / dz + 1 + offset_ocean_nzt_m1
+
+       prt_x = particles(n)%x
+       prt_y = particles(n)%y
+       prt_z = particles(n)%z
+
+!
+!--    If the particle position is below the surface, it has to be reflected
+       IF ( k2 <= nzb_s_inner(j2,i2)  .AND.  nzb_s_inner(j2,i2) /=0 )  THEN
+
+          pos_x_old = particles(n)%x - particles(n)%speed_x * dt_particle
+          pos_y_old = particles(n)%y - particles(n)%speed_y * dt_particle
+          pos_z_old = particles(n)%z - particles(n)%speed_z * dt_particle
+          i1 = ( pos_x_old + 0.5 * dx ) * ddx
+          j1 = ( pos_y_old + 0.5 * dy ) * ddy
+          k1 = pos_z_old / dz + offset_ocean_nzt_m1
+
+!
+!--       Case 1
+          IF ( particles(n)%x > pos_x_old  .AND.  particles(n)%y > pos_y_old ) &
+          THEN
+             t_index = 1
+
+             DO  i = i1, i2
+                xline      = i * dx + 0.5 * dx
+                t(t_index) = ( xline - pos_x_old ) / &
+                             ( particles(n)%x - pos_x_old )
+                t_index    = t_index + 1
+             ENDDO
+
+             DO  j = j1, j2
+                yline      = j * dy + 0.5 * dy
+                t(t_index) = ( yline - pos_y_old ) / &
+                             ( particles(n)%y - pos_y_old )
+                t_index    = t_index + 1
+             ENDDO
+
+             IF ( particles(n)%z < pos_z_old )  THEN
+                DO  k = k1, k2 , -1
+                   zline      = k * dz
+                   t(t_index) = ( pos_z_old - zline ) / &
+                                ( pos_z_old - particles(n)%z )
+                   t_index    = t_index + 1
+                ENDDO
+             ENDIF
+
+             t_index_number = t_index - 1
+
+!
+!--          Sorting t
+             inc = 1
+             jr  = 1
+             DO WHILE ( inc <= t_index_number )
+                inc = 3 * inc + 1
+             ENDDO
+
+             DO WHILE ( inc > 1 )
+                inc = inc / 3
+                DO  ir = inc+1, t_index_number
+                   tmp_t = t(ir)
+                   jr    = ir
+                   DO WHILE ( t(jr-inc) > tmp_t )
+                      t(jr) = t(jr-inc)
+                      jr    = jr - inc
+                      IF ( jr <= inc )  EXIT
+                   ENDDO
+                   t(jr) = tmp_t
+                ENDDO
+             ENDDO
+
+      case1: DO  t_index = 1, t_index_number
+
+                pos_x = pos_x_old + t(t_index) * ( prt_x - pos_x_old )
+                pos_y = pos_y_old + t(t_index) * ( prt_y - pos_y_old )
+                pos_z = pos_z_old + t(t_index) * ( prt_z - pos_z_old )
+
+                i3 = ( pos_x + 0.5 * dx ) * ddx   
+                j3 = ( pos_y + 0.5 * dy ) * ddy
+                k3 = pos_z / dz + offset_ocean_nzt_m1
+
+                i5 = pos_x * ddx
+                j5 = pos_y * ddy
+                k5 = pos_z / dz + offset_ocean_nzt_m1
+
+                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
+                     nzb_s_inner(j5,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j5,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j5,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case1
+                   ENDIF
+
+                ENDIF
+
+                IF ( k5 <= nzb_s_inner(j3,i5)  .AND. &
+                     nzb_s_inner(j3,i5) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i5) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i5) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case1
+                   ENDIF
+
+                ENDIF
+
+                IF ( k3 <= nzb_s_inner(j3,i3)  .AND. &
+                     nzb_s_inner(j3,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case1
+                   ENDIF
+
+                   IF ( pos_y == ( j3 * dy - 0.5 * dy )  .AND. &
+                        pos_z < nzb_s_inner(j3,i3) * dz )  THEN
+                      reflect_y = .TRUE.
+                      EXIT case1
+                   ENDIF
+
+                   IF ( pos_x == ( i3 * dx - 0.5 * dx )  .AND. &
+                        pos_z < nzb_s_inner(j3,i3) * dz )  THEN
+                      reflect_x = .TRUE.
+                      EXIT case1
+                   ENDIF
+
+                ENDIF
+
+             ENDDO case1
+
+!
+!--       Case 2
+          ELSEIF ( particles(n)%x > pos_x_old  .AND. &
+                   particles(n)%y < pos_y_old )  THEN
+
+             t_index = 1
+
+             DO  i = i1, i2
+                xline      = i * dx + 0.5 * dx
+                t(t_index) = ( xline - pos_x_old ) / &
+                             ( particles(n)%x - pos_x_old )
+                t_index    = t_index + 1
+             ENDDO
+
+             DO  j = j1, j2, -1
+                yline      = j * dy - 0.5 * dy
+                t(t_index) = ( pos_y_old - yline ) / &
+                             ( pos_y_old - particles(n)%y )
+                t_index    = t_index + 1
+             ENDDO
+
+             IF ( particles(n)%z < pos_z_old )  THEN
+                DO  k = k1, k2 , -1
+                   zline      = k * dz
+                   t(t_index) = ( pos_z_old - zline ) / &
+                                ( pos_z_old - particles(n)%z )
+                   t_index    = t_index + 1
+                ENDDO
+             ENDIF
+             t_index_number = t_index-1
+
+!
+!--          Sorting t
+             inc = 1
+             jr  = 1
+             DO WHILE ( inc <= t_index_number )
+                inc = 3 * inc + 1
+             ENDDO
+
+             DO WHILE ( inc > 1 )
+                inc = inc / 3
+                DO  ir = inc+1, t_index_number
+                   tmp_t = t(ir)
+                   jr    = ir
+                   DO WHILE ( t(jr-inc) > tmp_t )
+                      t(jr) = t(jr-inc)
+                      jr    = jr - inc
+                      IF ( jr <= inc )  EXIT
+                   ENDDO
+                   t(jr) = tmp_t
+                ENDDO
+             ENDDO
+
+      case2: DO  t_index = 1, t_index_number
+
+                pos_x = pos_x_old + t(t_index) * ( prt_x - pos_x_old )
+                pos_y = pos_y_old + t(t_index) * ( prt_y - pos_y_old )
+                pos_z = pos_z_old + t(t_index) * ( prt_z - pos_z_old )
+
+                i3 = ( pos_x + 0.5 * dx ) * ddx
+                j3 = ( pos_y + 0.5 * dy ) * ddy
+                k3 = pos_z / dz + offset_ocean_nzt_m1
+
+                i5 = pos_x * ddx
+                j5 = pos_y * ddy
+                k5 = pos_z / dz + offset_ocean_nzt_m1
+
+                IF ( k5 <= nzb_s_inner(j3,i5)  .AND. &
+                     nzb_s_inner(j3,i5) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i5) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i5) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case2
+                   ENDIF
+
+                ENDIF
+
+                IF ( k3 <= nzb_s_inner(j3,i3)  .AND. &
+                     nzb_s_inner(j3,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case2
+                   ENDIF
+
+                   IF ( pos_x == ( i3 * dx - 0.5 * dx )  .AND. &
+                        pos_z < nzb_s_inner(j3,i3) * dz )  THEN
+                      reflect_x = .TRUE.
+                      EXIT case2
+                   ENDIF
+
+                ENDIF
+
+                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
+                     nzb_s_inner(j5,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j5,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j5,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case2
+                   ENDIF
+
+                   IF ( pos_y == ( j5 * dy + 0.5 * dy )  .AND. &
+                        pos_z < nzb_s_inner(j5,i3) * dz )  THEN
+                      reflect_y = .TRUE.
+                      EXIT case2
+                   ENDIF
+
+                ENDIF
+
+             ENDDO case2
+
+!
+!--       Case 3
+          ELSEIF ( particles(n)%x < pos_x_old  .AND. &
+                   particles(n)%y > pos_y_old )  THEN
+
+             t_index = 1
+
+             DO  i = i1, i2, -1
+                xline      = i * dx - 0.5 * dx
+                t(t_index) = ( pos_x_old - xline ) / &
+                             ( pos_x_old - particles(n)%x )
+                t_index    = t_index + 1
+             ENDDO
+
+             DO  j = j1, j2
+                yline      = j * dy + 0.5 * dy
+                t(t_index) = ( yline - pos_y_old ) / &
+                             ( particles(n)%y - pos_y_old )
+                t_index    = t_index + 1
+             ENDDO
+
+             IF ( particles(n)%z < pos_z_old )  THEN
+                DO  k = k1, k2 , -1
+                   zline      = k * dz
+                   t(t_index) = ( pos_z_old - zline ) / &
+                                ( pos_z_old - particles(n)%z )
+                   t_index    = t_index + 1
+                ENDDO
+             ENDIF
+             t_index_number = t_index - 1
+
+!
+!--          Sorting t
+             inc = 1
+             jr  = 1
+
+             DO WHILE ( inc <= t_index_number )
+                inc = 3 * inc + 1
+             ENDDO
+
+             DO WHILE ( inc > 1 )
+                inc = inc / 3
+                DO  ir = inc+1, t_index_number
+                   tmp_t = t(ir)
+                   jr    = ir
+                   DO WHILE ( t(jr-inc) > tmp_t )
+                      t(jr) = t(jr-inc)
+                      jr    = jr - inc
+                      IF ( jr <= inc )  EXIT
+                   ENDDO
+                   t(jr) = tmp_t
+                ENDDO
+             ENDDO
+
+      case3: DO  t_index = 1, t_index_number
+
+                pos_x = pos_x_old + t(t_index) * ( prt_x - pos_x_old )
+                pos_y = pos_y_old + t(t_index) * ( prt_y - pos_y_old )
+                pos_z = pos_z_old + t(t_index) * ( prt_z - pos_z_old )
+
+                i3 = ( pos_x + 0.5 * dx ) * ddx
+                j3 = ( pos_y + 0.5 * dy ) * ddy
+                k3 = pos_z / dz + offset_ocean_nzt_m1
+
+                i5 = pos_x * ddx
+                j5 = pos_y * ddy
+                k5 = pos_z / dz + offset_ocean_nzt_m1
+
+                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
+                     nzb_s_inner(j5,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j5,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j5,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case3
+                   ENDIF
+
+                ENDIF
+
+                IF ( k3 <= nzb_s_inner(j3,i3)  .AND. &
+                     nzb_s_inner(j3,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case3
+                   ENDIF
+
+                   IF ( pos_y == ( j3 * dy - 0.5 * dy )  .AND. &
+                        pos_z < nzb_s_inner(j3,i3) * dz )  THEN
+                      reflect_y = .TRUE.
+                      EXIT case3
+                   ENDIF
+
+                ENDIF
+
+                IF ( k5 <= nzb_s_inner(j3,i5)  .AND. &
+                     nzb_s_inner(j3,i5) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i5) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i5) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case3
+                   ENDIF
+
+                   IF ( pos_x == ( i5 * dx + 0.5 * dx )  .AND. &
+                        pos_z < nzb_s_inner(j3,i5) * dz )  THEN
+                      reflect_x = .TRUE.
+                      EXIT case3
+                   ENDIF
+
+                ENDIF
+
+             ENDDO case3
+
+!
+!--       Case 4
+          ELSEIF ( particles(n)%x < pos_x_old  .AND. &
+                   particles(n)%y < pos_y_old )  THEN
+
+             t_index = 1
+
+             DO  i = i1, i2, -1
+                xline      = i * dx - 0.5 * dx
+                t(t_index) = ( pos_x_old - xline ) / &
+                             ( pos_x_old - particles(n)%x )
+                t_index    = t_index + 1
+             ENDDO
+
+             DO  j = j1, j2, -1
+                yline      = j * dy - 0.5 * dy
+                t(t_index) = ( pos_y_old - yline ) / &
+                             ( pos_y_old - particles(n)%y )
+                t_index    = t_index + 1
+             ENDDO
+
+             IF ( particles(n)%z < pos_z_old )  THEN
+                DO  k = k1, k2 , -1
+                   zline      = k * dz
+                   t(t_index) = ( pos_z_old - zline ) / &
+                                ( pos_z_old-particles(n)%z )
+                   t_index    = t_index + 1
+                ENDDO
+             ENDIF
+             t_index_number = t_index-1
+
+!
+!--          Sorting t
+             inc = 1
+             jr  = 1
+
+             DO WHILE ( inc <= t_index_number )
+                inc = 3 * inc + 1
+             ENDDO
+
+             DO WHILE ( inc > 1 )
+                inc = inc / 3
+                DO  ir = inc+1, t_index_number
+                   tmp_t = t(ir)
+                   jr = ir
+                   DO WHILE ( t(jr-inc) > tmp_t )
+                      t(jr) = t(jr-inc)
+                      jr    = jr - inc
+                      IF ( jr <= inc )  EXIT
+                   ENDDO
+                   t(jr) = tmp_t
+                ENDDO
+             ENDDO
+
+      case4: DO  t_index = 1, t_index_number
+
+                pos_x = pos_x_old + t(t_index) * ( prt_x - pos_x_old )
+                pos_y = pos_y_old + t(t_index) * ( prt_y - pos_y_old )
+                pos_z = pos_z_old + t(t_index) * ( prt_z - pos_z_old )
+
+                i3 = ( pos_x + 0.5 * dx ) * ddx   
+                j3 = ( pos_y + 0.5 * dy ) * ddy
+                k3 = pos_z / dz + offset_ocean_nzt_m1
+
+                i5 = pos_x * ddx
+                j5 = pos_y * ddy
+                k5 = pos_z / dz + offset_ocean_nzt_m1
+
+                IF ( k3 <= nzb_s_inner(j3,i3)  .AND. &
+                     nzb_s_inner(j3,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i3) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case4
+                   ENDIF
+
+                ENDIF
+
+                IF ( k5 <= nzb_s_inner(j3,i5)  .AND. &
+                     nzb_s_inner(j3,i5) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j3,i5) * dz  .AND. &
+                        k3 == nzb_s_inner(j3,i5) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case4
+                   ENDIF
+
+                   IF ( pos_x == ( i5 * dx + 0.5 * dx )  .AND. &
+                        nzb_s_inner(j3,i5) /=0  .AND.          &
+                        pos_z < nzb_s_inner(j3,i5) * dz )  THEN
+                      reflect_x = .TRUE.
+                      EXIT case4
+                   ENDIF
+
+                ENDIF
+
+                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
+                     nzb_s_inner(j5,i3) /= 0 )  THEN
+
+                   IF ( pos_z == nzb_s_inner(j5,i3) * dz  .AND. &
+                        k5 == nzb_s_inner(j5,i3) )  THEN
+                      reflect_z = .TRUE.
+                      EXIT case4
+                   ENDIF
+
+                   IF ( pos_y == ( j5 * dy + 0.5 * dy )  .AND. &
+                        nzb_s_inner(j5,i3) /= 0  .AND.         &
+                        pos_z < nzb_s_inner(j5,i3) * dz )  THEN
+                      reflect_y = .TRUE.
+                      EXIT case4
+                   ENDIF
+
+                ENDIF
+ 
+             ENDDO case4
+
+          ENDIF
+
+       ENDIF      ! Check, if particle position is below the surface
+
+!
+!--    Do the respective reflection, in case that one of the above conditions
+!--    is found to be true
+       IF ( reflect_z )  THEN
+
+          particles(n)%z       = 2.0 * pos_z - prt_z
+          particles(n)%speed_z = - particles(n)%speed_z
+
+          IF ( use_sgs_for_particles )  THEN
+             particles(n)%speed_z_sgs = - particles(n)%speed_z_sgs
+          ENDIF
+          reflect_z = .FALSE.
+
+       ELSEIF ( reflect_y )  THEN
+
+          particles(n)%y       = 2.0 * pos_y - prt_y
+          particles(n)%speed_y = - particles(n)%speed_y
+
+          IF ( use_sgs_for_particles )  THEN
+             particles(n)%speed_y_sgs = - particles(n)%speed_y_sgs
+          ENDIF
+          reflect_y = .FALSE.
+
+       ELSEIF ( reflect_x )  THEN
+
+          particles(n)%x       = 2.0 * pos_x - prt_x
+          particles(n)%speed_x = - particles(n)%speed_x
+
+          IF ( use_sgs_for_particles )  THEN 
+             particles(n)%speed_x_sgs = - particles(n)%speed_x_sgs
+          ENDIF
+          reflect_x = .FALSE.
+
+       ENDIF        
+    
+    ENDDO
+
+    CALL cpu_log( log_point_s(48), 'advec_part_refle', 'stop' )
+
+
+ END SUBROUTINE particle_boundary_conds
Index: palm/tags/release-3.7/SOURCE/plant_canopy_model.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/plant_canopy_model.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/plant_canopy_model.f90	(revision 393)
@@ -0,0 +1,334 @@
+ MODULE plant_canopy_model_mod
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 257 2009-03-11 15:17:42Z heinze
+! Output of messages replaced by message handling routine.
+! Bugfix: remove IF statement in plant_canopy_model_ij
+!
+! 153 2008-03-19 09:41:30Z steinfeld
+! heat sources within the forest canopy are added, which represent the
+! rate of heat input into the air from the forest leaves, evaluation of sinks
+! and sources for scalar concentration due to canopy elements
+!
+! 138 2007-11-28 10:03:58Z letzel
+! Initial revision
+!
+! Description:
+! ------------
+! Evaluation of sinks and sources of momentum, heat and scalar concentration 
+! due to canopy elements
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC plant_canopy_model
+
+    INTERFACE plant_canopy_model
+       MODULE PROCEDURE plant_canopy_model
+       MODULE PROCEDURE plant_canopy_model_ij
+    END INTERFACE plant_canopy_model
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE plant_canopy_model( component )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  component, i, j, k
+ 
+!
+!--    Compute drag for the three velocity components and the SGS-TKE
+       SELECT CASE ( component )
+
+!
+!--       u-component
+          CASE ( 1 )
+             DO  i = nxlu, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_u_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) -                &
+                                    cdc(k,j,i) * lad_u(k,j,i) *  &
+                                    SQRT(     u(k,j,i)**2     +  &
+                                          ( ( v(k,j,i-1)      +  &
+                                              v(k,j,i)        +  &
+                                              v(k,j+1,i)      +  &
+                                              v(k,j+1,i-1) )     &
+                                            / 4.0 )**2        +  &
+                                          ( ( w(k-1,j,i-1)    +  &
+                                              w(k-1,j,i)      +  &
+                                              w(k,j,i-1)      +  &
+                                              w(k,j,i) )         &
+                                            / 4.0 )**2 )      *  &
+                                    u(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       v-component
+          CASE ( 2 )
+             DO  i = nxl, nxr
+                DO  j = nysv, nyn
+                   DO  k = nzb_v_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) -                &
+                                    cdc(k,j,i) * lad_v(k,j,i) *  &
+                                    SQRT( ( ( u(k,j-1,i)      +  &
+                                              u(k,j-1,i+1)    +  &
+                                              u(k,j,i)        +  &
+                                              u(k,j,i+1) )       &
+                                            / 4.0 )**2        +  &
+                                              v(k,j,i)**2     +  &
+                                          ( ( w(k-1,j-1,i)    +  &
+                                              w(k-1,j,i)      +  &
+                                              w(k,j-1,i)      +  &
+                                              w(k,j,i) )         &
+                                            / 4.0 )**2 )      *  &
+                                    v(k,j,i)  
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       w-component
+          CASE ( 3 )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_w_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) -                & 
+                                    cdc(k,j,i) * lad_w(k,j,i) *  &
+                                    SQRT( ( ( u(k,j,i)        +  &
+                                              u(k,j,i+1)      +  &
+                                              u(k+1,j,i)      +  &
+                                              u(k+1,j,i+1) )     &
+                                            / 4.0 )**2        +  &
+                                          ( ( v(k,j,i)        +  &
+                                              v(k,j+1,i)      +  &
+                                              v(k+1,j,i)      +  &
+                                              v(k+1,j+1,i) )     &
+                                            / 4.0 )**2        +  &
+                                              w(k,j,i)**2 )   *  &
+                                    w(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       potential temperature
+          CASE ( 4 )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) +                     &
+                                    ( canopy_heat_flux(k,j,i) -     &
+                                      canopy_heat_flux(k-1,j,i) ) / &
+                                      dzw(k)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       scalar concentration
+          CASE ( 5 )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) -                     &
+                                    sec(k,j,i) * lad_s(k,j,i) *       &
+                                    SQRT( ( ( u(k,j,i)        +       &
+                                              u(k,j,i+1) )            &
+                                            / 2.0 )**2        +       &
+                                          ( ( v(k,j,i)        +       &
+                                              v(k,j+1,i) )            &
+                                            / 2.0 )**2        +       &
+                                          ( ( w(k-1,j,i)      +       & 
+                                              w(k,j,i) )              &
+                                            / 2.0 )**2 )      *       &
+                                    ( q(k,j,i) - sls(k,j,i) )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+!
+!--       sgs-tke
+          CASE ( 6 )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, pch_index
+                      tend(k,j,i) = tend(k,j,i) -                     &
+                                    2.0 * cdc(k,j,i) * lad_s(k,j,i) * &
+                                    SQRT( ( ( u(k,j,i)              + &
+                                              u(k,j,i+1) )            &
+                                            / 2.0 )**2              + &
+                                          ( ( v(k,j,i)              + &
+                                              v(k,j+1,i) )            &
+                                            / 2.0 )**2              + &
+                                          ( ( w(k,j,i)              + &
+                                              w(k+1,j,i) )            &
+                                            / 2.0 )**2 )            * &
+                                    e(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO 
+                        
+          CASE DEFAULT
+
+             WRITE( message_string, * ) 'wrong component: ', component
+             CALL message( 'plant_canopy_model', 'PA0279', 1, 2, 0, 6, 0 ) 
+
+       END SELECT
+
+    END SUBROUTINE plant_canopy_model
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE plant_canopy_model_ij( i, j, component )
+
+       USE arrays_3d
+       USE control_parameters
+       USE indices
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  component, i, j, k
+
+!
+!--    Compute drag for the three velocity components 
+       SELECT CASE ( component )
+
+!
+!--       u-component
+       CASE ( 1 )
+          DO  k = nzb_u_inner(j,i)+1, pch_index
+             tend(k,j,i) = tend(k,j,i) -                  &
+                              cdc(k,j,i) * lad_u(k,j,i) *    &   
+                              SQRT(     u(k,j,i)**2 +        &
+                                    ( ( v(k,j,i-1)  +        &
+                                        v(k,j,i)    +        &
+                                        v(k,j+1,i)  +        &
+                                        v(k,j+1,i-1) )       &
+                                      / 4.0 )**2    +        &
+                                    ( ( w(k-1,j,i-1) +       &
+                                        w(k-1,j,i)   +       &
+                                        w(k,j,i-1)   +       &
+                                        w(k,j,i) )           &
+                                      / 4.0 )**2 ) *         &
+                              u(k,j,i)
+          ENDDO
+
+!
+!--       v-component
+       CASE ( 2 )
+          DO  k = nzb_v_inner(j,i)+1, pch_index
+             tend(k,j,i) = tend(k,j,i) -                  &
+                              cdc(k,j,i) * lad_v(k,j,i) *    &
+                              SQRT( ( ( u(k,j-1,i)   +       &
+                                        u(k,j-1,i+1) +       &
+                                        u(k,j,i)     +       &
+                                        u(k,j,i+1) )         &
+                                      / 4.0 )**2     +       &
+                                        v(k,j,i)**2  +       &
+                                    ( ( w(k-1,j-1,i) +       &
+                                        w(k-1,j,i)   +       &
+                                        w(k,j-1,i)   +       &
+                                        w(k,j,i) )           &
+                                      / 4.0 )**2 ) *         &
+                              v(k,j,i)
+          ENDDO
+
+!
+!--       w-component
+       CASE ( 3 )
+          DO  k = nzb_w_inner(j,i)+1, pch_index
+             tend(k,j,i) = tend(k,j,i) -                  &
+                              cdc(k,j,i) * lad_w(k,j,i) *    & 
+                              SQRT( ( ( u(k,j,i)    +        &  
+                                        u(k,j,i+1)  +        &
+                                        u(k+1,j,i)  +        &
+                                        u(k+1,j,i+1) )       &
+                                      / 4.0 )**2    +        &
+                                    ( ( v(k,j,i)    +        &
+                                        v(k,j+1,i)  +        &
+                                        v(k+1,j,i)  +        &
+                                        v(k+1,j+1,i) )       &
+                                      / 4.0 )**2    +        &
+                                        w(k,j,i)**2 ) *      &
+                              w(k,j,i)
+   
+          ENDDO
+
+!
+!--       potential temperature
+          CASE ( 4 )
+             DO  k = nzb_s_inner(j,i)+1, pch_index
+                tend(k,j,i) = tend(k,j,i) +                     &
+                              ( canopy_heat_flux(k,j,i) -     &
+                                canopy_heat_flux(k-1,j,i) ) / &
+                                dzw(k)
+             ENDDO
+
+
+!
+!--       scalar concentration 
+          CASE ( 5 )
+             DO  k = nzb_s_inner(j,i)+1, pch_index
+                tend(k,j,i) = tend(k,j,i) -                     &
+                              sec(k,j,i) * lad_s(k,j,i) *       &
+                              SQRT( ( ( u(k,j,i)        +       &
+                                        u(k,j,i+1) )            &
+                                      / 2.0 )**2        +       &
+                                    ( ( v(k,j,i)        +       &
+                                        v(k,j+1,i) )            &
+                                      / 2.0 )**2        +       &
+                                    ( ( w(k-1,j,i)      +       &
+                                        w(k,j,i) )              &
+                                      / 2.0 )**2 )      *       &
+                              ( q(k,j,i) - sls(k,j,i) )
+             ENDDO   
+
+!
+!--       sgs-tke
+       CASE ( 6 )
+          DO  k = nzb_s_inner(j,i)+1, pch_index   
+             tend(k,j,i) = tend(k,j,i) -                     &
+                              2.0 * cdc(k,j,i) * lad_s(k,j,i) * &
+                              SQRT( ( ( u(k,j,i)           +    &
+                                        u(k,j,i+1) )            &
+                                      / 2.0 )**2           +    &  
+                                    ( ( v(k,j,i)           +    &
+                                        v(k,j+1,i) )            &
+                                      / 2.0 )**2           +    &
+                                    ( ( w(k,j,i)           +    &
+                                        w(k+1,j,i) )            &
+                                      / 2.0 )**2 )         *    &
+                              e(k,j,i)
+          ENDDO
+
+       CASE DEFAULT
+
+          WRITE( message_string, * ) 'wrong component: ', component
+          CALL message( 'plant_canopy_model', 'PA0279', 1, 2, 0, 6, 0 ) 
+
+       END SELECT
+
+    END SUBROUTINE plant_canopy_model_ij
+
+ END MODULE plant_canopy_model_mod
Index: palm/tags/release-3.7/SOURCE/poisfft.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/poisfft.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/poisfft.f90	(revision 393)
@@ -0,0 +1,1542 @@
+ MODULE poisfft_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 377 2009-09-04 11:09:00Z raasch
+! __lcmuk changed to __lc to avoid problems with Intel compiler on sgi-ice
+!
+! 164 2008-05-15 08:46:15Z raasch
+! Arguments removed from transpose routines
+!
+! 128 2007-10-26 13:11:14Z raasch
+! Bugfix: wavenumber calculation for even nx in routines maketri
+!
+! 85 2007-05-11 09:35:14Z raasch
+! Bugfix: work_fft*_vec removed from some PRIVATE-declarations
+!
+! 76 2007-03-29 00:58:32Z raasch
+! Tridiagonal coefficients adjusted for Neumann boundary conditions both at
+! the bottom and the top.
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.24  2006/08/04 15:00:24  raasch
+! Default setting of the thread number tn in case of not using OpenMP
+!
+! Revision 1.23  2006/02/23 12:48:38  raasch
+! Additional compiler directive in routine tridia_1dd for preventing loop
+! exchange on NEC-SX6
+!
+! Revision 1.20  2004/04/30 12:38:09  raasch
+! Parts of former poisfft_hybrid moved to this subroutine,
+! former subroutine changed to a module, renaming of FFT-subroutines and
+! -module, FFTs completely substituted by calls of fft_x and fft_y,
+! NAG fft used in the non-parallel case completely removed, l in maketri
+! is now a 1d-array, variables passed by modules instead of using parameter
+! lists, enlarged transposition arrays introduced
+!
+! Revision 1.1  1997/07/24 11:24:14  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! See below.
+!------------------------------------------------------------------------------!
+
+!--------------------------------------------------------------------------!
+!                             poisfft                                      !
+!                                                                          !
+!                Original version: Stephan Siano (pois3d)                  !
+!                                                                          !
+!  Institute of Meteorology and Climatology, University of Hannover        !
+!                             Germany                                      !
+!                                                                          !
+!  Version as of July 23,1996                                              !
+!                                                                          !
+!                                                                          !
+!        Version for parallel computers: Siegfried Raasch                  !
+!                                                                          !
+!  Version as of July 03,1997                                              !
+!                                                                          !
+!  Solves the Poisson equation with a 2D spectral method                   !
+!        d^2 p / dx^2 + d^2 p / dy^2 + d^2 p / dz^2 = s                    !
+!                                                                          !
+!  Input:                                                                  !
+!  real    ar                 contains in the (nnx,nny,nnz) elements,      !
+!                             starting from the element (1,nys,nxl), the   !
+!                             values for s                                 !
+!  real    work               Temporary array                              !
+!                                                                          !
+!  Output:                                                                 !
+!  real    ar                 contains the solution for p                  !
+!--------------------------------------------------------------------------!
+
+    USE fft_xy
+    USE indices
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    PRIVATE
+    PUBLIC  poisfft, poisfft_init
+
+    INTERFACE poisfft
+       MODULE PROCEDURE poisfft
+    END INTERFACE poisfft
+
+    INTERFACE poisfft_init
+       MODULE PROCEDURE poisfft_init
+    END INTERFACE poisfft_init
+
+ CONTAINS
+
+    SUBROUTINE poisfft_init
+
+       CALL fft_init
+
+    END SUBROUTINE poisfft_init
+
+
+    SUBROUTINE poisfft( ar, work )
+
+       USE cpulog
+       USE interfaces
+       USE pegrid
+
+       IMPLICIT NONE
+
+       REAL, DIMENSION(1:nza,nys:nyna,nxl:nxra) ::  ar, work
+
+
+       CALL cpu_log( log_point_s(3), 'poisfft', 'start' )
+
+!
+!--    Two-dimensional Fourier Transformation in x- and y-direction.
+#if defined( __parallel )
+       IF ( pdims(2) == 1 )  THEN
+
+!
+!--       1d-domain-decomposition along x:
+!--       FFT along y and transposition y --> x
+          CALL ffty_tr_yx( ar, work, ar )
+
+!
+!--       FFT along x, solving the tridiagonal system and backward FFT
+          CALL fftx_tri_fftx( ar )
+
+!
+!--       Transposition x --> y and backward FFT along y
+          CALL tr_xy_ffty( ar, work, ar )
+
+       ELSEIF ( pdims(1) == 1 )  THEN
+
+!
+!--       1d-domain-decomposition along y:
+!--       FFT along x and transposition x --> y
+          CALL fftx_tr_xy( ar, work, ar )
+
+!
+!--       FFT along y, solving the tridiagonal system and backward FFT
+          CALL ffty_tri_ffty( ar )
+
+!
+!--       Transposition y --> x and backward FFT along x
+          CALL tr_yx_fftx( ar, work, ar )
+
+       ELSE
+
+!
+!--       2d-domain-decomposition
+!--       Transposition z --> x
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'start' )
+          CALL transpose_zx( ar, work, ar )
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
+
+          CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
+          CALL fftxp( ar, 'forward' )
+          CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
+
+!
+!--       Transposition x --> y
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
+          CALL transpose_xy( ar, work, ar )
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
+
+          CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+          CALL fftyp( ar, 'forward' )
+          CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
+
+!
+!--       Transposition y --> z
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
+          CALL transpose_yz( ar, work, ar )
+          CALL cpu_log( log_point_s(5), 'transpo forward', 'stop' )
+
+!
+!--       Solve the Poisson equation in z-direction in cartesian space.
+          CALL cpu_log( log_point_s(6), 'tridia', 'start' )
+          CALL tridia( ar )
+          CALL cpu_log( log_point_s(6), 'tridia', 'stop' )
+
+!
+!--       Inverse Fourier Transformation
+!--       Transposition z --> y
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'start' )
+          CALL transpose_zy( ar, work, ar )
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
+
+          CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+          CALL fftyp( ar, 'backward' )
+          CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+
+!
+!--       Transposition y --> x
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
+          CALL transpose_yx( ar, work, ar )
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
+
+          CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
+          CALL fftxp( ar, 'backward' )
+          CALL cpu_log( log_point_s(4), 'fft_x', 'stop' )
+
+!
+!--       Transposition x --> z
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
+          CALL transpose_xz( ar, work, ar )
+          CALL cpu_log( log_point_s(8), 'transpo invers', 'stop' )
+
+       ENDIF
+
+#else
+
+!
+!--    Two-dimensional Fourier Transformation along x- and y-direction.
+       CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
+       CALL fftx( ar, 'forward' )
+       CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
+       CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+       CALL ffty( ar, 'forward' )
+       CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
+
+!
+!--    Solve the Poisson equation in z-direction in cartesian space.
+       CALL cpu_log( log_point_s(6), 'tridia', 'start' )
+       CALL tridia( ar )
+       CALL cpu_log( log_point_s(6), 'tridia', 'stop' )
+
+!
+!--    Inverse Fourier Transformation.
+       CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+       CALL ffty( ar, 'backward' )
+       CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+       CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
+       CALL fftx( ar, 'backward' )
+       CALL cpu_log( log_point_s(4), 'fft_x', 'stop' )
+
+#endif
+
+       CALL cpu_log( log_point_s(3), 'poisfft', 'stop' )
+
+    END SUBROUTINE poisfft
+
+
+
+    SUBROUTINE tridia( ar )
+
+!------------------------------------------------------------------------------!
+! solves the linear system of equations:
+!
+! -(4 pi^2(i^2/(dx^2*nnx^2)+j^2/(dy^2*nny^2))+
+!   1/(dzu(k)*dzw(k))+1/(dzu(k-1)*dzw(k)))*p(i,j,k)+
+! 1/(dzu(k)*dzw(k))*p(i,j,k+1)+1/(dzu(k-1)*dzw(k))*p(i,j,k-1)=d(i,j,k)
+!
+! by using the Thomas algorithm
+!------------------------------------------------------------------------------!
+
+       USE arrays_3d
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, nnyh
+
+       REAL, DIMENSION(nxl_z:nxr_z,0:nz-1)   ::  ar1
+       REAL, DIMENSION(5,nxl_z:nxr_z,0:nz-1) ::  tri
+
+#if defined( __parallel )
+       REAL    ::  ar(nxl_z:nxr_za,nys_z:nyn_za,1:nza)
+#else
+       REAL    ::  ar(1:nz,nys_z:nyn_z,nxl_z:nxr_z)
+#endif
+
+
+       nnyh = (ny+1) / 2
+
+!
+!--    Define constant elements of the tridiagonal matrix.
+       DO  k = 0, nz-1
+          DO  i = nxl_z, nxr_z
+             tri(2,i,k) = ddzu(k+1) * ddzw(k+1)
+             tri(3,i,k) = ddzu(k+2) * ddzw(k+1)
+          ENDDO
+       ENDDO
+
+#if defined( __parallel )
+!
+!--    Repeat for all y-levels.
+       DO  j = nys_z, nyn_z
+          IF ( j <= nnyh )  THEN
+             CALL maketri( tri, j )
+          ELSE
+             CALL maketri( tri, ny+1-j )
+          ENDIF
+          CALL split( tri )
+          CALL substi( ar, ar1, tri, j )
+       ENDDO
+#else
+!
+!--    First y-level.
+       CALL maketri( tri, nys_z )
+       CALL split( tri )
+       CALL substi( ar, ar1, tri, 0 )
+
+!
+!--    Further y-levels.
+       DO  j = 1, nnyh - 1
+          CALL maketri( tri, j )
+          CALL split( tri )
+          CALL substi( ar, ar1, tri, j )
+          CALL substi( ar, ar1, tri, ny+1-j )
+       ENDDO
+       CALL maketri( tri, nnyh )
+       CALL split( tri )
+       CALL substi( ar, ar1, tri, nnyh+nys )
+#endif
+
+    CONTAINS
+
+       SUBROUTINE maketri( tri, j )
+
+!------------------------------------------------------------------------------!
+! Computes the i- and j-dependent component of the matrix
+!------------------------------------------------------------------------------!
+
+          USE arrays_3d
+          USE constants
+          USE control_parameters
+          USE grid_variables
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, j, k, nnxh
+          REAL    ::  a, c
+          REAL    ::  ll(nxl_z:nxr_z)
+          REAL    ::  tri(5,nxl_z:nxr_z,0:nz-1)
+
+
+          nnxh = ( nx + 1 ) / 2
+
+!
+!--       Provide the tridiagonal matrix for solution of the Poisson equation in
+!--       Fourier space. The coefficients are computed following the method of
+!--       Schmidt et al. (DFVLR-Mitteilung 84-15), which departs from Stephan
+!--       Siano's original version by discretizing the Poisson equation,
+!--       before it is Fourier-transformed
+#if defined( __parallel )
+          DO  i = nxl_z, nxr_z
+             IF ( i >= 0 .AND. i <= nnxh )  THEN
+                ll(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
+                                          FLOAT( nx+1 ) ) ) / ( dx * dx ) + &
+                        2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                          FLOAT( ny+1 ) ) ) / ( dy * dy )
+             ELSE
+                ll(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
+                                          FLOAT( nx+1 ) ) ) / ( dx * dx ) + &
+                        2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                          FLOAT( ny+1 ) ) ) / ( dy * dy )
+             ENDIF
+             DO  k = 0,nz-1
+                a = -1.0 * ddzu(k+2) * ddzw(k+1)
+                c = -1.0 * ddzu(k+1) * ddzw(k+1)
+                tri(1,i,k) = a + c - ll(i)
+             ENDDO
+          ENDDO
+#else
+          DO  i = 0, nnxh
+             ll(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / FLOAT( nx+1 ) ) ) / &
+                           ( dx * dx ) + &
+                     2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / FLOAT( ny+1 ) ) ) / &
+                           ( dy * dy )
+             DO  k = 0, nz-1
+                a = -1.0 * ddzu(k+2) * ddzw(k+1)
+                c = -1.0 * ddzu(k+1) * ddzw(k+1)
+                tri(1,i,k) = a + c - ll(i)
+                IF ( i >= 1 .and. i < nnxh )  THEN
+                   tri(1,nx+1-i,k) = tri(1,i,k)
+                ENDIF
+             ENDDO
+          ENDDO
+#endif
+          IF ( ibc_p_b == 1  .OR.  ibc_p_b == 2 )  THEN
+             DO  i = nxl_z, nxr_z
+                tri(1,i,0) = tri(1,i,0) + tri(2,i,0)
+             ENDDO
+          ENDIF
+          IF ( ibc_p_t == 1 )  THEN
+             DO  i = nxl_z, nxr_z
+                tri(1,i,nz-1) = tri(1,i,nz-1) + tri(3,i,nz-1)
+             ENDDO
+          ENDIF
+
+       END SUBROUTINE maketri
+
+
+       SUBROUTINE substi( ar, ar1, tri, j )
+
+!------------------------------------------------------------------------------!
+! Substitution (Forward and Backward) (Thomas algorithm)
+!------------------------------------------------------------------------------!
+
+          USE control_parameters
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, j, k
+          REAL    ::  ar1(nxl_z:nxr_z,0:nz-1)
+          REAL    ::  tri(5,nxl_z:nxr_z,0:nz-1)
+#if defined( __parallel )
+          REAL    ::  ar(nxl_z:nxr_za,nys_z:nyn_za,1:nza)
+#else
+          REAL    ::  ar(1:nz,nys_z:nyn_z,nxl_z:nxr_z)
+#endif
+
+!
+!--       Forward substitution.
+          DO  i = nxl_z, nxr_z
+#if defined( __parallel )
+             ar1(i,0) = ar(i,j,1)
+#else
+             ar1(i,0) = ar(1,j,i)
+#endif
+          ENDDO
+          DO  k = 1, nz - 1
+             DO  i = nxl_z, nxr_z
+#if defined( __parallel )
+                ar1(i,k) = ar(i,j,k+1) - tri(5,i,k) * ar1(i,k-1)
+#else
+                ar1(i,k) = ar(k+1,j,i) - tri(5,i,k) * ar1(i,k-1)
+#endif
+             ENDDO
+          ENDDO
+
+!
+!--       Backward substitution.
+          DO  i = nxl_z, nxr_z
+#if defined( __parallel )
+             ar(i,j,nz) = ar1(i,nz-1) / tri(4,i,nz-1)
+#else
+             ar(nz,j,i) = ar1(i,nz-1) / tri(4,i,nz-1)
+#endif
+          ENDDO
+          DO  k = nz-2, 0, -1
+             DO  i = nxl_z, nxr_z
+#if defined( __parallel )
+                ar(i,j,k+1) = ( ar1(i,k) - tri(3,i,k) * ar(i,j,k+2) ) &
+                              / tri(4,i,k)
+#else
+                ar(k+1,j,i) = ( ar1(i,k) - tri(3,i,k) * ar(k+2,j,i) ) &
+                              / tri(4,i,k)
+#endif
+             ENDDO
+          ENDDO
+
+!
+!--       Indices i=0, j=0 correspond to horizontally averaged pressure.
+!--       The respective values of ar should be zero at all k-levels if
+!--       acceleration of horizontally averaged vertical velocity is zero.
+          IF ( ibc_p_b == 1  .AND.  ibc_p_t == 1 )  THEN
+             IF ( j == 0  .AND.  nxl_z == 0 )  THEN
+#if defined( __parallel )
+                DO  k = 1, nz
+                   ar(nxl_z,j,k) = 0.0
+                ENDDO
+#else
+                DO  k = 1, nz
+                   ar(k,j,nxl_z) = 0.0
+                ENDDO
+#endif
+             ENDIF
+          ENDIF
+
+       END SUBROUTINE substi
+
+
+       SUBROUTINE split( tri )
+
+!------------------------------------------------------------------------------!
+! Splitting of the tridiagonal matrix (Thomas algorithm)
+!------------------------------------------------------------------------------!
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, k
+          REAL    ::  tri(5,nxl_z:nxr_z,0:nz-1)
+
+!
+!--       Splitting.
+          DO  i = nxl_z, nxr_z
+             tri(4,i,0) = tri(1,i,0)
+          ENDDO
+          DO  k = 1, nz-1
+             DO  i = nxl_z, nxr_z
+                tri(5,i,k) = tri(2,i,k) / tri(4,i,k-1)
+                tri(4,i,k) = tri(1,i,k) - tri(3,i,k-1) * tri(5,i,k)
+             ENDDO
+          ENDDO
+
+       END SUBROUTINE split
+
+    END SUBROUTINE tridia
+
+
+#if defined( __parallel )
+    SUBROUTINE fftxp( ar, direction )
+
+!------------------------------------------------------------------------------!
+! Fourier-transformation along x-direction                 Parallelized version
+!------------------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER           ::  j, k
+       REAL              ::  ar(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa)
+
+!
+!--    Performing the fft with one of the methods implemented
+       DO  k = nzb_x, nzt_x
+          DO  j = nys_x, nyn_x
+             CALL fft_x( ar(0:nx,j,k), direction )
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE fftxp
+
+#else
+    SUBROUTINE fftx( ar, direction )
+
+!------------------------------------------------------------------------------!
+! Fourier-transformation along x-direction                 Non parallel version
+!------------------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER           ::  i, j, k
+       REAL              ::  ar(1:nz,0:ny,0:nx)
+
+!
+!--    Performing the fft with one of the methods implemented
+       DO  k = 1, nz
+          DO  j = 0, ny
+             CALL fft_x( ar(k,j,0:nx), direction )
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE fftx
+#endif
+
+
+#if defined( __parallel )
+    SUBROUTINE fftyp( ar, direction )
+
+!------------------------------------------------------------------------------!
+! Fourier-transformation along y-direction                 Parallelized version
+!------------------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER           ::  i, k
+       REAL              ::  ar(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya)
+
+!
+!--    Performing the fft with one of the methods implemented
+       DO  k = nzb_y, nzt_y
+          DO  i = nxl_y, nxr_y
+             CALL fft_y( ar(0:ny,i,k), direction )
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE fftyp
+
+#else
+    SUBROUTINE ffty( ar, direction )
+
+!------------------------------------------------------------------------------!
+! Fourier-transformation along y-direction                 Non parallel version
+!------------------------------------------------------------------------------!
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  direction
+       INTEGER           ::  i, k
+       REAL              ::  ar(1:nz,0:ny,0:nx)
+
+!
+!--    Performing the fft with one of the methods implemented
+       DO  k = 1, nz
+          DO  i = 0, nx
+             CALL fft_y( ar(k,0:ny,i), direction )
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE ffty
+#endif
+
+#if defined( __parallel )
+    SUBROUTINE ffty_tr_yx( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+!  Fourier-transformation along y with subsequent transposition y --> x for
+!  a 1d-decomposition along x
+!
+!  ATTENTION: The performance of this routine is much faster on the NEC-SX6,
+!             if the first index of work_ffty_vec is odd. Otherwise
+!             memory bank conflicts may occur (especially if the index is a
+!             multiple of 128). That's why work_ffty_vec is dimensioned as
+!             0:ny+1.
+!             Of course, this will not work if users are using an odd number
+!             of gridpoints along y.
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       INTEGER            ::  i, iend, iouter, ir, j, k
+       INTEGER, PARAMETER ::  stridex = 4
+
+       REAL, DIMENSION(0:ny,stridex)                    ::  work_ffty
+#if defined( __nec )
+       REAL, DIMENSION(0:ny+1,1:nz,nxl:nxr)             ::  work_ffty_vec
+#endif
+       REAL, DIMENSION(1:nza,0:nya,nxl:nxra)            ::  f_in
+       REAL, DIMENSION(nnx,1:nza,nys_x:nyn_xa,pdims(1)) ::  f_out
+       REAL, DIMENSION(nxl:nxra,1:nza,0:nya)            ::  work
+
+!
+!--    Carry out the FFT along y, where all data are present due to the
+!--    1d-decomposition along x. Resort the data in a way that x becomes
+!--    the first index.
+       CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+
+       IF ( host(1:3) == 'nec' )  THEN
+#if defined( __nec )
+!
+!--       Code optimized for vector processors
+!$OMP     PARALLEL PRIVATE ( i, j, k )
+!$OMP     DO
+          DO  i = nxl, nxr
+
+             DO  j = 0, ny
+                DO  k = 1, nz
+                   work_ffty_vec(j,k,i) = f_in(k,j,i)
+                ENDDO
+             ENDDO
+
+             CALL fft_y_m( work_ffty_vec(:,:,i), ny+1, 'forward' )
+
+          ENDDO
+
+!$OMP     DO
+          DO  k = 1, nz
+             DO  j = 0, ny
+                DO  i = nxl, nxr
+                   work(i,k,j) = work_ffty_vec(j,k,i)
+                ENDDO
+             ENDDO
+          ENDDO
+!$OMP     END PARALLEL
+#endif
+
+       ELSE
+
+!
+!--       Cache optimized code.
+!--       The i-(x-)direction is split into a strided outer loop and an inner
+!--       loop for better cache performance
+!$OMP     PARALLEL PRIVATE (i,iend,iouter,ir,j,k,work_ffty)
+!$OMP     DO
+          DO  iouter = nxl, nxr, stridex
+
+             iend = MIN( iouter+stridex-1, nxr )  ! Upper bound for inner i loop
+
+             DO  k = 1, nz
+
+                DO  i = iouter, iend
+
+                   ir = i-iouter+1  ! counter within a stride
+                   DO  j = 0, ny
+                      work_ffty(j,ir) = f_in(k,j,i)
+                   ENDDO
+!
+!--                FFT along y
+                   CALL fft_y( work_ffty(:,ir), 'forward' )
+
+                ENDDO
+
+!
+!--             Resort
+                DO  j = 0, ny
+                   DO  i = iouter, iend
+                      work(i,k,j) = work_ffty(j,i-iouter+1)
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ENDDO
+!$OMP     END PARALLEL
+
+       ENDIF
+       CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( work(nxl,1,0),      sendrecvcount_xy, MPI_REAL, &
+                          f_out(1,1,nys_x,1), sendrecvcount_xy, MPI_REAL, &
+                          comm1dx, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+    END SUBROUTINE ffty_tr_yx
+
+
+    SUBROUTINE tr_xy_ffty( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+!  Transposition x --> y with a subsequent backward Fourier transformation for
+!  a 1d-decomposition along x
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       INTEGER            ::  i, iend, iouter, ir, j, k
+       INTEGER, PARAMETER ::  stridex = 4
+
+       REAL, DIMENSION(0:ny,stridex)                    ::  work_ffty
+#if defined( __nec )
+       REAL, DIMENSION(0:ny+1,1:nz,nxl:nxr)             ::  work_ffty_vec
+#endif
+       REAL, DIMENSION(nnx,1:nza,nys_x:nyn_xa,pdims(1)) ::  f_in
+       REAL, DIMENSION(1:nza,0:nya,nxl:nxra)            ::  f_out
+       REAL, DIMENSION(nxl:nxra,1:nza,0:nya)            ::  work
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( f_in(1,1,nys_x,1), sendrecvcount_xy, MPI_REAL, &
+                          work(nxl,1,0),     sendrecvcount_xy, MPI_REAL, &
+                          comm1dx, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!--    Resort the data in a way that y becomes the first index and carry out the
+!--    backward fft along y.
+       CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+
+       IF ( host(1:3) == 'nec' )  THEN
+#if defined( __nec )
+!
+!--       Code optimized for vector processors
+!$OMP     PARALLEL PRIVATE ( i, j, k )
+!$OMP     DO
+          DO  k = 1, nz
+             DO  j = 0, ny
+                DO  i = nxl, nxr
+                   work_ffty_vec(j,k,i) = work(i,k,j)
+                ENDDO
+             ENDDO
+          ENDDO
+
+!$OMP     DO
+          DO  i = nxl, nxr
+
+             CALL fft_y_m( work_ffty_vec(:,:,i), ny+1, 'backward' )
+
+             DO  j = 0, ny
+                DO  k = 1, nz
+                   f_out(k,j,i) = work_ffty_vec(j,k,i)
+                ENDDO
+             ENDDO
+
+          ENDDO
+!$OMP     END PARALLEL
+#endif
+
+       ELSE
+
+!
+!--       Cache optimized code.
+!--       The i-(x-)direction is split into a strided outer loop and an inner
+!--       loop for better cache performance
+!$OMP     PARALLEL PRIVATE ( i, iend, iouter, ir, j, k, work_ffty )
+!$OMP     DO
+          DO  iouter = nxl, nxr, stridex
+
+             iend = MIN( iouter+stridex-1, nxr )  ! Upper bound for inner i loop
+
+             DO  k = 1, nz
+!
+!--             Resort
+                DO  j = 0, ny
+                   DO  i = iouter, iend
+                      work_ffty(j,i-iouter+1) = work(i,k,j)
+                   ENDDO
+                ENDDO
+
+                DO  i = iouter, iend
+
+!
+!--                FFT along y
+                   ir = i-iouter+1  ! counter within a stride
+                   CALL fft_y( work_ffty(:,ir), 'backward' )
+
+                   DO  j = 0, ny
+                      f_out(k,j,i) = work_ffty(j,ir)
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ENDDO
+!$OMP     END PARALLEL
+
+       ENDIF
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+
+    END SUBROUTINE tr_xy_ffty
+
+
+    SUBROUTINE fftx_tri_fftx( ar )
+
+!------------------------------------------------------------------------------!
+!  FFT along x, solution of the tridiagonal system and backward FFT for
+!  a 1d-decomposition along x
+!
+!  WARNING: this subroutine may still not work for hybrid parallelization
+!           with OpenMP (for possible necessary changes see the original
+!           routine poisfft_hybrid, developed by Klaus Ketelsen, May 2002)
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE grid_variables
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       character(len=3) ::  myth_char
+
+       INTEGER ::  i, j, k, m, n, omp_get_thread_num, tn
+
+       REAL, DIMENSION(0:nx)                            ::  work_fftx
+       REAL, DIMENSION(0:nx,1:nz)                       ::  work_trix
+       REAL, DIMENSION(nnx,1:nza,nys_x:nyn_xa,pdims(1)) ::  ar
+       REAL, DIMENSION(:,:,:,:), ALLOCATABLE            ::  tri
+
+
+       CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'start' )
+
+       ALLOCATE( tri(5,0:nx,0:nz-1,0:threads_per_task-1) )
+
+       tn = 0              ! Default thread number in case of one thread
+!$OMP  PARALLEL DO PRIVATE ( i, j, k, m, n, tn, work_fftx, work_trix )
+       DO  j = nys_x, nyn_x
+
+!$        tn = omp_get_thread_num()
+
+          IF ( host(1:3) == 'nec' )  THEN
+!
+!--          Code optimized for vector processors
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(1)
+                   DO  i = 1, nnx_pe( n-1 ) ! WARN: pcoord(i) should be used!!
+                      work_trix(m,k) = ar(i,k,j,n)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+             CALL fft_x_m( work_trix, 'forward' )
+
+          ELSE
+!
+!--          Cache optimized code
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(1)
+                   DO  i = 1, nnx_pe( n-1 ) ! WARN: pcoord(i) should be used!!
+                      work_fftx(m) = ar(i,k,j,n)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+                CALL fft_x( work_fftx, 'forward' )
+
+                DO  i = 0, nx
+                   work_trix(i,k) = work_fftx(i)
+                ENDDO
+
+             ENDDO
+
+          ENDIF
+
+!
+!--       Solve the linear equation system
+          CALL tridia_1dd( ddx2, ddy2, nx, ny, j, work_trix, tri(:,:,:,tn) )
+
+          IF ( host(1:3) == 'nec' )  THEN
+!
+!--          Code optimized for vector processors
+             CALL fft_x_m( work_trix, 'backward' )
+
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(1)
+                   DO  i = 1, nnx_pe( n-1 ) ! WARN: pcoord(i) should be used!!
+                      ar(i,k,j,n) = work_trix(m,k)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ELSE
+!
+!--          Cache optimized code
+             DO  k = 1, nz
+
+                DO  i = 0, nx
+                   work_fftx(i) = work_trix(i,k)
+                ENDDO
+
+                CALL fft_x( work_fftx, 'backward' )
+
+                m = 0
+                DO  n = 1, pdims(1)
+                   DO  i = 1, nnx_pe( n-1 ) ! WARN: pcoord(i) should be used!!
+                      ar(i,k,j,n) = work_fftx(m)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ENDIF
+
+       ENDDO
+
+       DEALLOCATE( tri )
+
+       CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'stop' )
+
+    END SUBROUTINE fftx_tri_fftx
+
+
+    SUBROUTINE fftx_tr_xy( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+!  Fourier-transformation along x with subsequent transposition x --> y for
+!  a 1d-decomposition along y
+!
+!  ATTENTION: The NEC-branch of this routine may significantly profit from
+!             further optimizations. So far, performance is much worse than
+!             for routine ffty_tr_yx (more than three times slower).
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       INTEGER            ::  i, j, k
+
+       REAL, DIMENSION(0:nx,1:nz,nys:nyn)               ::  work_fftx
+       REAL, DIMENSION(1:nza,nys:nyna,0:nxa)            ::  f_in
+       REAL, DIMENSION(nny,1:nza,nxl_y:nxr_ya,pdims(2)) ::  f_out
+       REAL, DIMENSION(nys:nyna,1:nza,0:nxa)            ::  work
+
+!
+!--    Carry out the FFT along x, where all data are present due to the
+!--    1d-decomposition along y. Resort the data in a way that y becomes
+!--    the first index.
+       CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
+
+       IF ( host(1:3) == 'nec' )  THEN
+!
+!--       Code for vector processors
+!$OMP     PARALLEL PRIVATE ( i, j, k )
+!$OMP     DO
+          DO  i = 0, nx
+
+             DO  j = nys, nyn
+                DO  k = 1, nz
+                   work_fftx(i,k,j) = f_in(k,j,i)
+                ENDDO
+             ENDDO
+
+          ENDDO
+
+!$OMP     DO
+          DO  j = nys, nyn
+
+             CALL fft_x_m( work_fftx(:,:,j), 'forward' )
+
+             DO  k = 1, nz
+                DO  i = 0, nx
+                   work(j,k,i) = work_fftx(i,k,j)
+                ENDDO
+             ENDDO
+
+          ENDDO
+!$OMP     END PARALLEL
+
+       ELSE
+
+!
+!--       Cache optimized code (there might be still a potential for better
+!--       optimization).
+!$OMP     PARALLEL PRIVATE (i,j,k,work_fftx)
+!$OMP     DO
+          DO  i = 0, nx
+
+             DO  j = nys, nyn
+                DO  k = 1, nz
+                   work_fftx(i,k,j) = f_in(k,j,i)
+                ENDDO
+             ENDDO
+
+          ENDDO
+
+!$OMP     DO
+          DO  j = nys, nyn
+             DO  k = 1, nz
+
+                CALL fft_x( work_fftx(0:nx,k,j), 'forward' )
+
+                DO  i = 0, nx
+                   work(j,k,i) = work_fftx(i,k,j)
+                ENDDO
+             ENDDO
+
+          ENDDO
+!$OMP     END PARALLEL
+
+       ENDIF
+       CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( work(nys,1,0),      sendrecvcount_xy, MPI_REAL, &
+                          f_out(1,1,nxl_y,1), sendrecvcount_xy, MPI_REAL, &
+                          comm1dy, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+    END SUBROUTINE fftx_tr_xy
+
+
+    SUBROUTINE tr_yx_fftx( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+!  Transposition y --> x with a subsequent backward Fourier transformation for
+!  a 1d-decomposition along x
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       INTEGER            ::  i, j, k
+
+       REAL, DIMENSION(0:nx,1:nz,nys:nyn)               ::  work_fftx
+       REAL, DIMENSION(nny,1:nza,nxl_y:nxr_ya,pdims(2)) ::  f_in
+       REAL, DIMENSION(1:nza,nys:nyna,0:nxa)            ::  f_out
+       REAL, DIMENSION(nys:nyna,1:nza,0:nxa)            ::  work
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( f_in(1,1,nxl_y,1), sendrecvcount_xy, MPI_REAL, &
+                          work(nys,1,0),     sendrecvcount_xy, MPI_REAL, &
+                          comm1dy, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!--    Carry out the FFT along x, where all data are present due to the
+!--    1d-decomposition along y. Resort the data in a way that y becomes
+!--    the first index.
+       CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
+
+       IF ( host(1:3) == 'nec' )  THEN
+!
+!--       Code optimized for vector processors
+!$OMP     PARALLEL PRIVATE ( i, j, k )
+!$OMP     DO
+          DO  j = nys, nyn
+
+             DO  k = 1, nz
+                DO  i = 0, nx
+                   work_fftx(i,k,j) = work(j,k,i)
+                ENDDO
+             ENDDO
+
+             CALL fft_x_m( work_fftx(:,:,j), 'backward' )
+
+          ENDDO
+
+!$OMP     DO
+          DO  i = 0, nx
+             DO  j = nys, nyn
+                DO  k = 1, nz
+                   f_out(k,j,i) = work_fftx(i,k,j)
+                ENDDO
+             ENDDO
+          ENDDO
+!$OMP     END PARALLEL
+
+       ELSE
+
+!
+!--       Cache optimized code (there might be still a potential for better
+!--       optimization).
+!$OMP     PARALLEL PRIVATE (i,j,k,work_fftx)
+!$OMP     DO
+          DO  j = nys, nyn
+             DO  k = 1, nz
+
+                DO  i = 0, nx
+                   work_fftx(i,k,j) = work(j,k,i)
+                ENDDO
+
+                CALL fft_x( work_fftx(0:nx,k,j), 'backward' )
+
+             ENDDO
+          ENDDO
+
+!$OMP     DO
+          DO  i = 0, nx
+             DO  j = nys, nyn
+                DO  k = 1, nz
+                   f_out(k,j,i) = work_fftx(i,k,j)
+                ENDDO
+             ENDDO
+          ENDDO
+!$OMP     END PARALLEL
+
+       ENDIF
+       CALL cpu_log( log_point_s(4), 'fft_x', 'stop' )
+
+    END SUBROUTINE tr_yx_fftx
+
+
+    SUBROUTINE ffty_tri_ffty( ar )
+
+!------------------------------------------------------------------------------!
+!  FFT along y, solution of the tridiagonal system and backward FFT for
+!  a 1d-decomposition along y
+!
+!  WARNING: this subroutine may still not work for hybrid parallelization
+!           with OpenMP (for possible necessary changes see the original
+!           routine poisfft_hybrid, developed by Klaus Ketelsen, May 2002)
+!------------------------------------------------------------------------------!
+
+       USE control_parameters
+       USE cpulog
+       USE grid_variables
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE transpose_indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, m, n, omp_get_thread_num, tn
+
+       REAL, DIMENSION(0:ny)                            ::  work_ffty
+       REAL, DIMENSION(0:ny,1:nz)                       ::  work_triy
+       REAL, DIMENSION(nny,1:nza,nxl_y:nxr_ya,pdims(2)) ::  ar
+       REAL, DIMENSION(:,:,:,:), ALLOCATABLE            ::  tri
+
+
+       CALL cpu_log( log_point_s(39), 'fft_y + tridia', 'start' )
+
+       ALLOCATE( tri(5,0:ny,0:nz-1,0:threads_per_task-1) )
+
+       tn = 0           ! Default thread number in case of one thread
+!$OMP  PARALLEL PRIVATE ( i, j, k, m, n, tn, work_ffty, work_triy )
+!$OMP  DO
+       DO  i = nxl_y, nxr_y
+
+!$        tn = omp_get_thread_num()
+
+          IF ( host(1:3) == 'nec' )  THEN
+!
+!--          Code optimized for vector processors
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(2)
+                   DO  j = 1, nny_pe( n-1 ) ! WARN: pcoord(j) should be used!!
+                      work_triy(m,k) = ar(j,k,i,n)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+             CALL fft_y_m( work_triy, ny, 'forward' )
+
+          ELSE
+!
+!--          Cache optimized code
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(2)
+                   DO  j = 1, nny_pe( n-1 ) ! WARN: pcoord(j) should be used!!
+                      work_ffty(m) = ar(j,k,i,n)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+                CALL fft_y( work_ffty, 'forward' )
+
+                DO  j = 0, ny
+                   work_triy(j,k) = work_ffty(j)
+                ENDDO
+
+             ENDDO
+
+          ENDIF
+
+!
+!--       Solve the linear equation system
+          CALL tridia_1dd( ddy2, ddx2, ny, nx, i, work_triy, tri(:,:,:,tn) )
+
+          IF ( host(1:3) == 'nec' )  THEN
+!
+!--          Code optimized for vector processors
+             CALL fft_y_m( work_triy, ny, 'backward' )
+
+             DO  k = 1, nz
+
+                m = 0
+                DO  n = 1, pdims(2)
+                   DO  j = 1, nny_pe( n-1 ) ! WARN: pcoord(j) should be used!!
+                      ar(j,k,i,n) = work_triy(m,k)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ELSE
+!
+!--          Cache optimized code
+             DO  k = 1, nz
+
+                DO  j = 0, ny
+                   work_ffty(j) = work_triy(j,k)
+                ENDDO
+
+                CALL fft_y( work_ffty, 'backward' )
+
+                m = 0
+                DO  n = 1, pdims(2)
+                   DO  j = 1, nny_pe( n-1 ) ! WARN: pcoord(j) should be used!!
+                      ar(j,k,i,n) = work_ffty(m)
+                      m = m + 1
+                   ENDDO
+                ENDDO
+
+             ENDDO
+
+          ENDIF
+
+       ENDDO
+!$OMP  END PARALLEL
+
+       DEALLOCATE( tri )
+
+       CALL cpu_log( log_point_s(39), 'fft_y + tridia', 'stop' )
+
+    END SUBROUTINE ffty_tri_ffty
+
+
+    SUBROUTINE tridia_1dd( ddx2, ddy2, nx, ny, j, ar, tri )
+
+!------------------------------------------------------------------------------!
+! Solves the linear system of equations for a 1d-decomposition along x (see
+! tridia)
+!
+! Attention:  when using the intel compiler, array tri must be passed as an
+!             argument to the contained subroutines. Otherwise addres faults
+!             will occur.
+!             On NEC, tri should not be passed (except for routine substi_1dd)
+!             because this causes very bad performance.
+!------------------------------------------------------------------------------!
+
+       USE arrays_3d
+       USE control_parameters
+
+       USE pegrid
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, nnyh, nx, ny, omp_get_thread_num, tn
+
+       REAL    ::  ddx2, ddy2
+
+       REAL, DIMENSION(0:nx,1:nz)     ::  ar
+       REAL, DIMENSION(0:nx,0:nz-1)   ::  ar1
+       REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+
+
+       nnyh = ( ny + 1 ) / 2
+
+!
+!--    Define constant elements of the tridiagonal matrix.
+!--    The compiler on SX6 does loop exchange. If 0:nx is a high power of 2, 
+!--    the exchanged loops create bank conflicts. The following directive
+!--    prohibits loop exchange and the loops perform much better.
+!       tn = omp_get_thread_num()
+!       WRITE( 120+tn, * ) '+++ id=',myid,' nx=',nx,' thread=', omp_get_thread_num()
+!       CALL local_flush( 120+tn )
+!CDIR NOLOOPCHG
+       DO  k = 0, nz-1
+          DO  i = 0,nx
+             tri(2,i,k) = ddzu(k+1) * ddzw(k+1)
+             tri(3,i,k) = ddzu(k+2) * ddzw(k+1)
+          ENDDO
+       ENDDO
+!       WRITE( 120+tn, * ) '+++ id=',myid,' end of first tridia loop   thread=', omp_get_thread_num()
+!       CALL local_flush( 120+tn )
+
+       IF ( j <= nnyh )  THEN
+#if defined( __lc )
+          CALL maketri_1dd( j, tri )
+#else
+          CALL maketri_1dd( j )
+#endif
+       ELSE
+#if defined( __lc )
+          CALL maketri_1dd( ny+1-j, tri )
+#else
+          CALL maketri_1dd( ny+1-j )
+#endif
+       ENDIF
+#if defined( __lc )
+       CALL split_1dd( tri )
+#else
+       CALL split_1dd
+#endif
+       CALL substi_1dd( ar, tri )
+
+    CONTAINS
+
+#if defined( __lc )
+       SUBROUTINE maketri_1dd( j, tri )
+#else
+       SUBROUTINE maketri_1dd( j )
+#endif
+
+!------------------------------------------------------------------------------!
+! computes the i- and j-dependent component of the matrix
+!------------------------------------------------------------------------------!
+
+          USE constants
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, j, k, nnxh
+          REAL    ::  a, c
+
+          REAL, DIMENSION(0:nx) ::  l
+
+#if defined( __lc )
+          REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+#endif
+
+
+          nnxh = ( nx + 1 ) / 2
+!
+!--       Provide the tridiagonal matrix for solution of the Poisson equation in
+!--       Fourier space. The coefficients are computed following the method of
+!--       Schmidt et al. (DFVLR-Mitteilung 84-15), which departs from Stephan
+!--       Siano's original version by discretizing the Poisson equation,
+!--       before it is Fourier-transformed
+          DO  i = 0, nx
+             IF ( i >= 0 .AND. i <= nnxh ) THEN
+                l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
+                                         FLOAT( nx+1 ) ) ) * ddx2 + &
+                       2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                         FLOAT( ny+1 ) ) ) * ddy2
+             ELSE
+                l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
+                                         FLOAT( nx+1 ) ) ) * ddx2 + &
+                       2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                         FLOAT( ny+1 ) ) ) * ddy2
+             ENDIF
+          ENDDO
+
+          DO  k = 0, nz-1
+             DO  i = 0, nx
+                a = -1.0 * ddzu(k+2) * ddzw(k+1)
+                c = -1.0 * ddzu(k+1) * ddzw(k+1)
+                tri(1,i,k) = a + c - l(i)
+             ENDDO
+          ENDDO
+          IF ( ibc_p_b == 1  .OR.  ibc_p_b == 2 )  THEN
+             DO  i = 0, nx
+                tri(1,i,0) = tri(1,i,0) + tri(2,i,0)
+             ENDDO
+          ENDIF
+          IF ( ibc_p_t == 1 )  THEN
+             DO  i = 0, nx
+                tri(1,i,nz-1) = tri(1,i,nz-1) + tri(3,i,nz-1)
+             ENDDO
+          ENDIF
+
+       END SUBROUTINE maketri_1dd
+
+
+#if defined( __lc )
+       SUBROUTINE split_1dd( tri )
+#else
+       SUBROUTINE split_1dd
+#endif
+
+!------------------------------------------------------------------------------!
+! Splitting of the tridiagonal matrix (Thomas algorithm)
+!------------------------------------------------------------------------------!
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, k
+
+#if defined( __lc )
+          REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+#endif
+
+
+!
+!--       Splitting
+          DO  i = 0, nx
+             tri(4,i,0) = tri(1,i,0)
+          ENDDO
+          DO  k = 1, nz-1
+             DO  i = 0, nx
+                tri(5,i,k) = tri(2,i,k) / tri(4,i,k-1)
+                tri(4,i,k) = tri(1,i,k) - tri(3,i,k-1) * tri(5,i,k)
+             ENDDO
+          ENDDO
+
+       END SUBROUTINE split_1dd
+
+
+       SUBROUTINE substi_1dd( ar, tri )
+
+!------------------------------------------------------------------------------!
+! Substitution (Forward and Backward) (Thomas algorithm)
+!------------------------------------------------------------------------------!
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, k
+
+          REAL, DIMENSION(0:nx,nz)       ::  ar
+          REAL, DIMENSION(0:nx,0:nz-1)   ::  ar1
+          REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+
+!
+!--       Forward substitution
+          DO  i = 0, nx
+             ar1(i,0) = ar(i,1)
+          ENDDO
+          DO  k = 1, nz-1
+             DO  i = 0, nx
+                ar1(i,k) = ar(i,k+1) - tri(5,i,k) * ar1(i,k-1)
+             ENDDO
+          ENDDO
+
+!
+!--       Backward substitution
+          DO  i = 0, nx
+             ar(i,nz) = ar1(i,nz-1) / tri(4,i,nz-1)
+          ENDDO
+          DO  k = nz-2, 0, -1
+             DO  i = 0, nx
+                ar(i,k+1) = ( ar1(i,k) - tri(3,i,k) * ar(i,k+2) ) &
+                            / tri(4,i,k)
+             ENDDO
+          ENDDO
+
+!
+!--       Indices i=0, j=0 correspond to horizontally averaged pressure.
+!--       The respective values of ar should be zero at all k-levels if
+!--       acceleration of horizontally averaged vertical velocity is zero.
+          IF ( ibc_p_b == 1  .AND.  ibc_p_t == 1 )  THEN
+             IF ( j == 0 )  THEN
+                DO  k = 1, nz
+                   ar(0,k) = 0.0
+                ENDDO
+             ENDIF
+          ENDIF
+
+       END SUBROUTINE substi_1dd
+
+    END SUBROUTINE tridia_1dd
+
+#endif
+
+ END MODULE poisfft_mod
Index: palm/tags/release-3.7/SOURCE/poisfft_hybrid.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/poisfft_hybrid.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/poisfft_hybrid.f90	(revision 393)
@@ -0,0 +1,1059 @@
+ MODULE poisfft_hybrid_mod
+!------------------------------------------------------------------------------
+! 
+! Current revisions: 
+! ----------------- 
+! 
+!
+! Former revisions: 
+! ----------------- 
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! Feb. 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2004/04/30 12:43:14  raasch
+! Renaming of fft routines, additional argument in calls of fft_y_m
+!
+! Revision 1.2  2002/12/19 16:08:31  raasch
+! Preprocessor directive KKMP introduced (OMP does NOT work),
+! array tri will be a shared array in OpenMP loop, to get better cache
+! utilization, the i index  (x-direction) will be executed in stride
+! "istride" as outer loop and in a shorter inner loop,
+! overlapping of computation and communication realized by new routine
+! poisfft_hybrid_nodes, name of old routine poisfft_hybrid changed to
+! poisfft_hybrid_omp, STOP statement replaced by call of subroutine local_stop
+! 
+! 
+! Description: 
+! ------------ 
+! Solution of the Poisson equation with a 2D spectral method.  
+! Hybrid version for parallel computers using a 1D domain decomposition, 
+! realized with MPI, along x and parallelization with OPEN-MP along y
+! (routine poisfft_hybrid_omp). In a second version (poisfft_hybrid_nodes),
+! optimization is realized by overlapping of computation and communication
+! and by simultaneously executing as many communication calls as switches
+! per logical partition (LPAR) are available. This version comes into
+! effect if more than one node is used and if the environment variable
+! tasks_per_node is set in a way that it can be devided by switch_per_lpar
+! without any rest.
+!
+! WARNING: In case of OpenMP, there are problems with allocating large
+! arrays in parallel regions. 
+! 
+! Copyright   Klaus Ketelsen / Siegfried Raasch   May 2002
+!------------------------------------------------------------------------------!
+
+    USE fft_xy
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    PRIVATE
+    PUBLIC poisfft_hybrid, poisfft_hybrid_ini
+
+    INTEGER, PARAMETER ::  switch_per_lpar = 2
+
+    INTEGER, SAVE ::  nxl_a, nxr_a, &      ! total   x dimension
+                      nxl_p, nxr_p, &      ! partial x dimension
+                      nys_a, nyn_a, &      ! total   y dimension
+                      nys_p, nyn_p, &      ! partial y dimension
+
+                      npe_s,        &      ! total number of PEs for solver
+                      nwords,       &      ! number of points to be exchanged
+                                           ! with MPI_ALLTOALL
+                      n_omp_threads        ! number of OpenMP threads
+
+!
+!-- Variables for multi node version (cluster version) using routine
+!-- poisfft_hybrid_nodes
+    INTEGER, SAVE :: comm_nodes,          & ! communicater nodes
+                     comm_node_all,       & ! communicater all PEs node version
+                     comm_tasks,          & ! communicater tasks
+                     me, me_node, me_task,& ! identity of this PE
+                     nodes,               & ! number of nodes
+                     tasks_per_logical_node = -1    ! default no cluster
+                      
+
+!
+!-- Public interfaces
+    INTERFACE poisfft_hybrid_ini
+       MODULE PROCEDURE poisfft_hybrid_ini
+    END INTERFACE poisfft_hybrid_ini
+
+    INTERFACE poisfft_hybrid
+       MODULE PROCEDURE poisfft_hybrid
+    END INTERFACE poisfft_hybrid
+
+!
+!-- Private interfaces
+    INTERFACE poisfft_hybrid_omp
+       MODULE PROCEDURE poisfft_hybrid_omp
+    END INTERFACE poisfft_hybrid_omp
+
+    INTERFACE poisfft_hybrid_omp_vec
+       MODULE PROCEDURE poisfft_hybrid_omp_vec
+    END INTERFACE poisfft_hybrid_omp_vec
+
+    INTERFACE poisfft_hybrid_nodes
+       MODULE PROCEDURE poisfft_hybrid_nodes
+    END INTERFACE poisfft_hybrid_nodes
+
+    INTERFACE tridia_hybrid
+       MODULE PROCEDURE tridia_hybrid
+    END INTERFACE tridia_hybrid
+
+    INTERFACE cascade
+       MODULE PROCEDURE cascade
+    END INTERFACE cascade
+
+ CONTAINS
+ 
+ 
+    SUBROUTINE poisfft_hybrid_ini
+
+       USE control_parameters
+       USE pegrid
+
+       IMPLICIT NONE
+
+       CHARACTER(LEN=8)      ::  cdummy
+       INTEGER               ::  idummy, istat
+       INTEGER, DIMENSION(2) ::  coords, dims
+
+       LOGICAL, DIMENSION(2) ::  period = .false., re_dims
+
+
+!
+!--    Set the internal index values for the hybrid solver
+#if defined( __parallel )
+       npe_s = pdims(1)
+#else
+       npe_s = 1
+#endif
+       nxl_a = 0
+       nxr_a = nx
+       nxl_p = 0
+       nxr_p = ( ( nx+1 ) / npe_s ) - 1
+       nys_a = nys 
+       nyn_a = nyn
+       nys_p = 0
+       nyn_p = ( ( ny+1 ) / npe_s ) - 1
+
+       nwords = ( nxr_p-nxl_p+1 ) * nz * ( nyn_p-nys_p+1 )
+
+#if defined( __KKMP )
+       CALL LOCAL_GETENV( 'OMP_NUM_THREADS', 15, cdummy, idummy )
+       READ ( cdummy, '(I8)' )  n_omp_threads
+       IF ( n_omp_threads > 1 )  THEN
+          WRITE( message_string, * ) 'Number of OpenMP threads = ', &
+                                     n_omp_threads
+          CALL message( 'poisfft_hybrid_ini', 'PA0280', 0, 0, 0, 6, 0 ) 
+       ENDIF
+#else
+       n_omp_threads = 1
+#endif
+!
+!--    Initialize the one-dimensional FFT routines
+       CALL fft_init
+
+!
+!--    Setup for multi node version (poisfft_hybrid_nodes)
+       IF ( n_omp_threads == 1  .AND.  &
+            ( host(1:4) == 'ibmh' .OR. host(1:4) == 'ibmb' ) )  THEN
+
+          IF ( tasks_per_node /= -9999 )  THEN
+!
+!--          Multi node version requires that the available number of
+!--          switches per logical partition must be an integral divisor
+!--          of the chosen number of tasks per node
+             IF ( MOD( tasks_per_node, switch_per_lpar ) == 0 )  THEN
+!
+!--             Set the switch which decides about usage of the multi node
+!--             version
+                IF ( tasks_per_node / switch_per_lpar > 1  .AND. &
+                     numprocs > tasks_per_node )  THEN
+                   tasks_per_logical_node = tasks_per_node / switch_per_lpar
+                ENDIF
+
+                IF ( tasks_per_logical_node > -1 )  THEN
+
+                   WRITE( message_string, * ) 'running optimized ',         &
+                                              'multinode version',          &
+                                              '&switch_per_lpar        = ', &
+                                              switch_per_lpar,              &
+                                              '&tasks_per_lpar         = ', &
+                                              tasks_per_node,               &
+                                              'tasks_per_logical_node = ',  &
+                                              tasks_per_logical_node
+                   CALL message( 'poisfft_hybrid_ini', 'PA0281', 0, 0, 0, 6, 0 )
+
+                ENDIF
+
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    Determine sub-topologies for multi node version
+       IF ( tasks_per_logical_node >= 2 )  THEN
+
+#if defined( __parallel )
+          nodes   = ( numprocs + tasks_per_logical_node - 1 ) / &
+                    tasks_per_logical_node
+          dims(1) = nodes
+          dims(2) = tasks_per_logical_node
+
+          CALL MPI_CART_CREATE( comm2d, 2, dims, period, .FALSE., &
+                                comm_node_all, istat )
+          CALL MPI_COMM_RANK( comm_node_all, me, istat )
+
+          re_dims(1) = .TRUE.
+          re_dims(2) = .FALSE.
+          CALL MPI_CART_SUB( comm_node_all, re_dims, comm_nodes, istat )
+          CALL MPI_COMM_RANK( comm_nodes, me_node, istat )
+
+          re_dims(1) = .FALSE.
+          re_dims(2) = .TRUE.
+          CALL MPI_CART_SUB( comm_node_all, re_dims, comm_tasks, istat )
+          CALL MPI_COMM_RANK( comm_tasks, me_task, istat )
+
+!          write(0,*) 'who am i',myid,me,me_node,me_task,nodes,&
+!                     tasks_per_logical_node
+#else
+          message_string = 'parallel environment (MPI) required'
+          CALL message( 'poisfft_hybrid_ini', 'PA0282', 1, 2, 0, 6, 0 )
+#endif
+       ENDIF
+
+    END SUBROUTINE poisfft_hybrid_ini
+
+
+    SUBROUTINE poisfft_hybrid( ar )
+
+       USE control_parameters
+       USE interfaces
+
+       IMPLICIT NONE
+
+       REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr) ::  ar
+
+       IF ( host(1:3) == 'nec' )  THEN
+          CALL poisfft_hybrid_omp_vec( ar )
+       ELSE
+          IF ( tasks_per_logical_node == -1 )  THEN
+             CALL poisfft_hybrid_omp( ar )
+          ELSE
+             CALL poisfft_hybrid_nodes( ar )
+          ENDIF
+       ENDIF
+
+    END SUBROUTINE poisfft_hybrid
+
+
+    SUBROUTINE poisfft_hybrid_omp ( ar )
+
+       USE cpulog
+       USE interfaces
+
+       IMPLICIT NONE
+
+       INTEGER, PARAMETER ::  istride = 4  ! stride of i loop
+       INTEGER ::  i, ii, ir, iei, iouter, istat, j, jj, k, m, n, jthread
+
+       REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr) ::  ar
+
+       REAL, DIMENSION(0:nx)                 ::  fftx_ar
+       REAL, DIMENSION(0:ny,istride)         ::  ffty_ar
+ 
+       REAL, DIMENSION(0:nx,nz)              ::  tri_ar
+
+       REAL, DIMENSION(nxl_p:nxr_p,nz,nys_p:nyn_p,npe_s) ::  work1, work2
+#if defined( __KKMP )
+       INTEGER ::  omp_get_thread_num
+       REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  tri
+       ALLOCATE( tri(5,0:nx,0:nz-1,n_omp_threads ) )
+#else
+       REAL, DIMENSION(5,0:nx,0:nz-1,1)      ::  tri
+#endif
+
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_omp', 'start' )
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+
+!$OMP  PARALLEL PRIVATE (i,iouter,ii,ir,iei,j,k,m,n,ffty_ar)
+!$OMP  DO
+!
+!--    Store grid points to be transformed on a 1d-array, do the fft
+!--    and sample the results on a 4d-array
+       DO  iouter = nxl_p, nxr_p, istride     ! stride loop, better cache
+          iei = MIN( iouter+istride-1, nxr_p )
+          DO  k = 1, nz
+
+             DO  i = iouter, iei
+                ii = nxl + i
+                ir = i - iouter + 1
+
+                DO  j = nys_a, nyn_a
+                   ffty_ar(j,ir) = ar(k,j,ii)
+                ENDDO
+   
+                CALL fft_y( ffty_ar(:,ir), 'forward' )
+             ENDDO
+
+             m = nys_a
+             DO  n = 1, npe_s
+                DO  j = nys_p, nyn_p
+                   DO  i = iouter, iei
+                      ir = i - iouter + 1
+                      work1(i,k,j,n) = ffty_ar(m,ir)
+                   ENDDO
+                   m = m+1
+                ENDDO
+             ENDDO
+   
+          ENDDO
+       ENDDO
+!$OMP  END PARALLEL
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
+
+#if defined( __parallel )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+
+       CALL MPI_ALLTOALL( work1(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          work2(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          comm2d, istat )
+
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+#else
+       work2 = work1
+#endif
+
+       CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'start' )
+
+#if defined( __KKMP )
+!$OMP  PARALLEL PRIVATE (i,j,jj,k,m,n,fftx_ar,tri_ar,jthread)
+!$OMP  DO
+       DO  j = nys_p, nyn_p
+          jthread = omp_get_thread_num() + 1
+#else
+       DO  j = nys_p, nyn_p
+          jthread = 1
+#endif
+          DO  k = 1, nz
+
+             m = nxl_a
+             DO  n = 1, npe_s
+                DO  i = nxl_p, nxr_p
+                   fftx_ar(m) = work2(i,k,j,n)
+                   m = m+1
+                ENDDO
+             ENDDO
+
+             CALL fft_x( fftx_ar, 'forward' )
+
+             DO  i = nxl_a, nxr_a
+                tri_ar(i,k) = fftx_ar(i)
+             ENDDO
+
+          ENDDO
+  
+          jj = myid * (nyn_p-nys_p+1) + j
+          CALL tridia_hybrid( jj, tri_ar, tri(:,:,:,jthread))
+
+          DO  k = 1, nz
+             DO  i = nxl_a, nxr_a
+                fftx_ar(i) = tri_ar (i,k)
+             ENDDO
+
+             CALL fft_x( fftx_ar, 'backward' )
+
+             m = nxl_a
+             DO  n = 1, npe_s
+                DO  i = nxl_p, nxr_p
+                   work2(i,k,j,n) = fftx_ar(m)
+                   m = m+1
+                ENDDO
+             ENDDO
+
+          ENDDO
+       ENDDO
+#if defined( __KKMP )
+!$OMP  END PARALLEL
+#endif
+
+       CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'stop' )
+
+#if defined( __parallel )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' ) 
+       nwords = (nxr_p-nxl_p+1) * nz * (nyn_p-nys_p+1)
+
+       CALL MPI_ALLTOALL( work2(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          work1(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          comm2d, istat )
+
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+#else
+       work1 = work2
+#endif
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+
+!$OMP  PARALLEL PRIVATE (i,iouter,ii,ir,iei,j,k,m,n,ffty_ar)
+!$OMP  DO
+       DO  iouter = nxl_p, nxr_p, istride
+          iei = MIN( iouter+istride-1, nxr_p )
+          DO  k = 1, nz
+
+             m = nys_a
+             DO  n = 1, npe_s
+                DO  j = nys_p, nyn_p
+                   DO  i = iouter, iei
+                      ir = i - iouter + 1
+                      ffty_ar(m,ir) = work1 (i,k,j,n)
+                   ENDDO
+                   m = m+1
+                ENDDO
+             ENDDO
+
+             DO  i = iouter, iei
+                ii = nxl + i
+                ir = i - iouter + 1
+                CALL fft_y( ffty_ar(:,ir), 'backward' )
+
+                DO  j = nys_a, nyn_a
+                   ar(k,j,ii) = ffty_ar(j,ir)
+                ENDDO
+             ENDDO
+
+          ENDDO
+       ENDDO
+!$OMP  END PARALLEL
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_omp', 'stop' )
+
+#if defined( __KKMP )
+       DEALLOCATE( tri )
+#endif
+
+    END SUBROUTINE poisfft_hybrid_omp
+
+
+    SUBROUTINE poisfft_hybrid_omp_vec ( ar )
+
+       USE cpulog
+       USE interfaces
+
+       IMPLICIT NONE
+
+       INTEGER, PARAMETER ::  istride = 4  ! stride of i loop
+       INTEGER ::  i, ii, ir, iei, iouter, istat, j, jj, k, m, n, jthread
+
+       REAL, DIMENSION(0:nx,nz)               ::  tri_ar
+
+       REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr)  ::  ar
+
+       REAL, DIMENSION(0:ny+3,nz,nxl_p:nxr_p) ::  ffty_ar3
+       REAL, DIMENSION(0:nx+3,nz,nys_p:nyn_p) ::  fftx_ar3
+ 
+       REAL, DIMENSION(nxl_p:nxr_p,nz,nys_p:nyn_p,npe_s) ::  work1, work2
+#if defined( __KKMP )
+       INTEGER ::  omp_get_thread_num
+       REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  tri
+       ALLOCATE( tri(5,0:nx,0:nz-1,n_omp_threads ) )
+#else
+       REAL, DIMENSION(5,0:nx,0:nz-1,1)      ::  tri
+#endif
+
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_vec', 'start' )
+
+       CALL cpu_log( log_point_s(7), 'fft_y_m', 'start' )
+
+!$OMP  PARALLEL PRIVATE (i,j,k,m,n)
+!$OMP  DO
+!
+!--    Store grid points to be transformed on a 1d-array, do the fft
+!--    and sample the results on a 4d-array
+       DO  i = nxl_p, nxr_p
+
+          DO  j = nys_a, nyn_a
+             DO  k = 1, nz
+                ffty_ar3(j,k,i) = ar(k,j,i+nxl)
+             ENDDO
+          ENDDO
+
+          CALL fft_y_m( ffty_ar3(:,:,i), ny+3, 'forward' )
+       ENDDO
+
+!$OMP  DO
+       DO  k = 1, nz
+          m = nys_a
+          DO  n = 1, npe_s
+             DO  j = nys_p, nyn_p
+                 DO  i = nxl_p, nxr_p
+                     work1(i,k,j,n) = ffty_ar3(m,k,i)
+                 ENDDO
+                 m = m+1
+             ENDDO
+          ENDDO
+       ENDDO
+!$OMP  END PARALLEL
+
+       CALL cpu_log( log_point_s(7), 'fft_y_m', 'pause' )
+
+#if defined( __parallel )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( work1(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          work2(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          comm2d, istat )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+#else
+       work2 = work1
+#endif
+
+       CALL cpu_log( log_point_s(33), 'fft_x_m + tridia', 'start' )
+
+#if defined( __KKMP )
+!$OMP  PARALLEL PRIVATE (i,j,jj,k,m,n,tri_ar,jthread)
+!$OMP  DO
+       DO  j = nys_p, nyn_p
+          jthread = omp_get_thread_num() + 1
+#else
+       DO  j = nys_p, nyn_p
+          jthread = 1
+#endif
+          DO  k = 1, nz
+
+             m = nxl_a
+             DO  n = 1, npe_s
+                DO  i = nxl_p, nxr_p
+                   fftx_ar3(m,k,j) = work2(i,k,j,n)
+                   m = m+1
+                ENDDO
+             ENDDO
+          ENDDO
+
+          CALL fft_x_m( fftx_ar3(:,:,j), 'forward' )
+
+          DO  k = 1, nz
+             DO  i = nxl_a, nxr_a
+                tri_ar(i,k) = fftx_ar3(i,k,j)
+             ENDDO
+          ENDDO
+  
+          jj = myid * (nyn_p-nys_p+1) + j
+          CALL tridia_hybrid( jj, tri_ar, tri(:,:,:,jthread))
+
+          DO  k = 1, nz
+             DO  i = nxl_a, nxr_a
+                fftx_ar3(i,k,j) = tri_ar (i,k)
+             ENDDO
+          ENDDO
+
+          CALL fft_x_m( fftx_ar3(:,:,j), 'backward' )
+
+          DO  k = 1, nz
+             m = nxl_a
+             DO  n = 1, npe_s
+                DO  i = nxl_p, nxr_p
+                   work2(i,k,j,n) = fftx_ar3(m,k,j)
+                   m = m+1
+                ENDDO
+             ENDDO
+          ENDDO
+
+       ENDDO
+#if defined( __KKMP )
+!$OMP  END PARALLEL
+#endif
+
+       CALL cpu_log( log_point_s(33), 'fft_x_m + tridia', 'stop' )
+
+#if defined( __parallel )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' ) 
+       nwords = (nxr_p-nxl_p+1) * nz * (nyn_p-nys_p+1)
+       CALL MPI_ALLTOALL( work2(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          work1(nxl_p,1,nys_p,1), nwords, MPI_REAL, &
+                          comm2d, istat )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+#else
+       work1 = work2
+#endif
+
+       CALL cpu_log( log_point_s(7), 'fft_y_m', 'continue' )
+
+!$OMP  PARALLEL PRIVATE (i,iouter,ii,ir,iei,j,k,m,n)
+!$OMP  DO
+       DO  k = 1, nz
+          m = nys_a
+          DO  n = 1, npe_s
+             DO  j = nys_p, nyn_p
+                 DO  i = nxl_p, nxr_p
+                     ffty_ar3(m,k,i) = work1(i,k,j,n)
+                 ENDDO
+                 m = m+1
+             ENDDO
+          ENDDO
+       ENDDO 
+
+!$OMP  DO
+       DO  i = nxl_p, nxr_p
+          CALL fft_y_m( ffty_ar3(:,:,i), ny+3, 'backward' )
+          DO  j = nys_a, nyn_a
+             DO  k = 1, nz
+                ar(k,j,i+nxl) = ffty_ar3(j,k,i)
+             ENDDO
+          ENDDO
+       ENDDO
+!$OMP  END PARALLEL
+
+       CALL cpu_log( log_point_s(7), 'fft_y_m', 'stop' )
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_vec', 'stop' )
+
+#if defined( __KKMP )
+       DEALLOCATE( tri )
+#endif
+
+    END SUBROUTINE poisfft_hybrid_omp_vec
+
+
+    SUBROUTINE poisfft_hybrid_nodes ( ar )
+
+       USE cpulog
+       USE interfaces
+
+       IMPLICIT NONE
+
+       INTEGER, PARAMETER ::  istride = 4  ! stride of i loop
+       INTEGER            ::  i, iei, ii, iouter, ir, istat, j, jj, k, m, &
+                              n, nn, nt, nw1, nw2
+
+       REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr) ::  ar
+
+       REAL, DIMENSION(0:nx)                 ::  fftx_ar
+       REAL, DIMENSION(0:ny,istride)         ::  ffty_ar
+ 
+       REAL, DIMENSION(0:nx,nz)              ::  tri_ar
+
+       REAL, DIMENSION(nxl_p:nxr_p,nz,tasks_per_logical_node, &
+                          nodes,nys_p:nyn_p) ::  work1,work2
+       REAL, DIMENSION(5,0:nx,0:nz-1)        ::  tri
+
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_nodes', 'start' )
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+
+!
+!--    Store grid points to be transformed on a 1d-array, do the fft
+!--    and sample the results on a 4d-array
+       DO  iouter = nxl_p, nxr_p, istride  ! stride loop, better cache
+          iei = MIN( iouter+istride-1, nxr_p )
+          DO  k = 1, nz
+
+             DO  i = iouter, iei
+                ii = nxl + i
+                ir = i - iouter + 1
+
+                DO  j = nys_a, nyn_a
+                   ffty_ar(j,ir) = ar(k,j,ii)
+                ENDDO
+   
+                CALL fft_y( ffty_ar(:,ir), 'forward' )
+             ENDDO
+
+             m = nys_a
+             DO  nn = 1, nodes
+                DO  nt = 1, tasks_per_logical_node
+                   DO  j = nys_p, nyn_p
+                      DO  i = iouter, iei
+                         ir = i - iouter + 1
+                         work1(i,k,nt,nn,j) = ffty_ar(m,ir)
+                      ENDDO
+                      m = m+1
+                   ENDDO
+                ENDDO
+             ENDDO
+   
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
+
+       CALL cpu_log( log_point_s(32), 'alltoall_task', 'start' )
+       nw1 = SIZE( work1, 1 ) * SIZE( work1, 2 )
+       DO  nn = 1, nodes
+           DO  j = nys_p, nyn_p
+#if defined( __parallel )
+              CALL MPI_ALLTOALL( work1(nxl_p,1,1,nn,j), nw1, MPI_REAL, &
+                                 work2(nxl_p,1,1,nn,j), nw1, MPI_REAL, &
+                                                     comm_tasks, istat )
+#endif
+           ENDDO
+       ENDDO
+       CALL cpu_log( log_point_s(32), 'alltoall_task', 'stop' )
+
+
+       DO  j = nys_p, nyn_p
+        
+          CALL cascade( 1, j, nys_p, nyn_p )
+          nw2 = nw1 * SIZE( work1, 3 )
+          CALL cpu_log( log_point_s(37), 'alltoall_node', 'start' )
+#if defined( __parallel )
+          CALL MPI_ALLTOALL( work2(nxl_p,1,1,1,j), nw2, MPI_REAL, &
+                             work1(nxl_p,1,1,1,j), nw2, MPI_REAL, &
+                                                  comm_nodes, istat )
+#endif
+          CALL cpu_log( log_point_s(37), 'alltoall_node', 'pause' )
+          CALL cascade( 2, j, nys_p, nyn_p )
+
+          CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'start' )
+          DO  k = 1, nz
+
+             m = nxl_a
+             DO  nn = 1, nodes
+                DO  nt = 1, tasks_per_logical_node
+                   DO  i = nxl_p, nxr_p
+                      fftx_ar(m) = work1(i,k,nt,nn,j)
+                      m = m+1
+                   ENDDO
+                ENDDO
+             ENDDO
+
+             CALL fft_x( fftx_ar, 'forward' )
+
+             DO  i = nxl_a, nxr_a
+                tri_ar(i,k) = fftx_ar(i)
+             ENDDO
+
+          ENDDO
+  
+          jj = myid * (nyn_p-nys_p+1) + j
+          CALL tridia_hybrid( jj, tri_ar, tri(:,:,:) )
+
+          DO  k = 1, nz
+             DO  i = nxl_a, nxr_a
+                fftx_ar(i) = tri_ar(i,k)
+             ENDDO
+
+             CALL fft_x( fftx_ar, 'backward' )
+
+             m = nxl_a
+             DO  nn = 1, nodes
+                DO  nt = 1, tasks_per_logical_node
+                   DO  i = nxl_p, nxr_p
+                      work1(i,k,nt,nn,j) = fftx_ar(m)
+                      m = m+1
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDDO
+
+          CALL cpu_log( log_point_s(33), 'fft_x + tridia', 'stop' )
+          nw2 = nw1 * SIZE( work1, 3 )
+          CALL cpu_log( log_point_s(37), 'alltoall_node', 'continue' )
+#if defined( __parallel )
+          CALL MPI_ALLTOALL( work1(nxl_p,1,1,1,j), nw2, MPI_REAL, &
+                             work2(nxl_p,1,1,1,j), nw2, MPI_REAL, &
+                                                  comm_nodes, istat )
+#endif
+          CALL cpu_log( log_point_s(37), 'alltoall_node', 'stop' )
+
+       ENDDO
+
+       CALL cpu_log( log_point_s(32), 'alltoall_task', 'start' ) 
+       DO  nn = 1, nodes
+           DO  j = nys_p, nyn_p
+#if defined( __parallel )
+              CALL MPI_ALLTOALL( work2(nxl_p,1,1,nn,j), nw1, MPI_REAL, &
+                                 work1(nxl_p,1,1,nn,j), nw1, MPI_REAL, &
+                                                     comm_tasks, istat )
+#endif
+           ENDDO
+       ENDDO
+       CALL cpu_log( log_point_s(32), 'alltoall_task', 'stop' )
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+
+       DO  iouter = nxl_p, nxr_p, istride
+          iei = MIN( iouter+istride-1, nxr_p )
+          DO  k = 1, nz
+
+             m = nys_a
+             DO  nn = 1, nodes
+                DO  nt = 1, tasks_per_logical_node
+                   DO  j = nys_p, nyn_p
+                      DO  i = iouter, iei
+                         ir = i - iouter + 1
+                         ffty_ar(m,ir) = work1(i,k,nt,nn,j)
+                      ENDDO
+                      m = m+1
+                   ENDDO
+                ENDDO
+             ENDDO
+
+             DO  i = iouter, iei
+                ii = nxl + i
+                ir = i - iouter + 1
+                CALL fft_y( ffty_ar(:,ir), 'backward' )
+
+                DO  j = nys_a, nyn_a
+                   ar(k,j,ii) = ffty_ar(j,ir)
+                ENDDO
+             ENDDO
+
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+
+       CALL cpu_log( log_point_s(30), 'poisfft_hybrid_nodes', 'stop' )
+
+    END SUBROUTINE poisfft_hybrid_nodes
+
+
+
+    SUBROUTINE tridia_hybrid( j, ar, tri )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, nnyh
+       REAL, DIMENSION(0:nx,nz)       ::  ar
+       REAL, DIMENSION(0:nx,0:nz-1)   ::  ar1
+       REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+
+       nnyh = (ny+1) / 2
+
+       tri = 0.0
+!
+!--    Define constant elements of the tridiagonal matrix.
+       DO  k = 0, nz-1
+          DO  i = 0,nx
+             tri(2,i,k) = ddzu(k+1) * ddzw(k+1)
+             tri(3,i,k) = ddzu(k+2) * ddzw(k+1)
+          ENDDO
+       ENDDO
+
+       IF ( j <= nnyh )  THEN
+          CALL maketri_hybrid( j )
+       ELSE
+          CALL maketri_hybrid( ny+1-j)
+       ENDIF
+       CALL zerleg_hybrid
+       CALL substi_hybrid( ar, tri )
+
+    CONTAINS
+
+       SUBROUTINE maketri_hybrid( j )
+
+!----------------------------------------------------------------------!
+!                         maketri                                      !
+!                                                                      !
+!       computes the i- and j-dependent component of the matrix        !
+!----------------------------------------------------------------------!
+
+          USE constants
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, j, k, nnxh
+          REAL    ::  a, c
+
+          REAL, DIMENSION(0:nx) ::  l
+
+
+          nnxh = (nx+1) / 2
+!
+!--       Provide the tridiagonal matrix for solution of the Poisson equation
+!--       in Fourier space. The coefficients are computed following the method
+!--       of Schmidt et al. (DFVLR-Mitteilung 84-15) --> departs from Stephan
+!--       Siano's original version.
+          DO  i = 0,nx
+             IF ( i >= 0 .AND. i < nnxh ) THEN
+                l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
+                                        FLOAT( nx+1 ) ) ) / ( dx * dx ) + &
+                       2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                        FLOAT( ny+1 ) ) ) / ( dy * dy )
+             ELSEIF ( i == nnxh ) THEN
+                l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
+                                         FLOAT( nx+1 ) ) ) / ( dx * dx ) + &
+                       2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                         FLOAT(ny+1) ) ) / ( dy * dy )
+             ELSE
+                l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
+                                         FLOAT( nx+1 ) ) ) / ( dx * dx ) + &
+                       2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
+                                         FLOAT( ny+1 ) ) ) / ( dy * dy )
+             ENDIF
+          ENDDO
+
+          DO  k = 0,nz-1
+             DO  i = 0, nx
+                a = -1.0 * ddzu(k+2) * ddzw(k+1)
+                c = -1.0 * ddzu(k+1) * ddzw(k+1)
+                tri(1,i,k) = a + c - l(i)
+             ENDDO
+          ENDDO
+          IF ( ibc_p_b == 1  .OR.  ibc_p_b == 2 )  THEN
+             DO  i = 0,nx
+                tri(1,i,0) = tri(1,i,0) + tri(2,i,0)
+             ENDDO
+          ENDIF
+          IF ( ibc_p_t == 1 )  THEN
+             DO  i = 0,nx
+                tri(1,i,nz-1) = tri(1,i,nz-1) + tri(3,i,nz-1)
+             ENDDO
+          ENDIF
+
+       END SUBROUTINE maketri_hybrid
+
+
+       SUBROUTINE zerleg_hybrid
+
+!----------------------------------------------------------------------!
+!                          zerleg                                      !
+!                                                                      !
+!       Splitting of the tridiagonal matrix (Thomas algorithm)         !
+!----------------------------------------------------------------------!
+
+          USE indices
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, k
+
+!
+!--       Splitting
+          DO  i = 0, nx
+             tri(4,i,0) = tri(1,i,0)
+          ENDDO
+          DO  k = 1, nz-1
+             DO  i = 0,nx
+                tri(5,i,k) = tri(2,i,k) / tri(4,i,k-1)
+                tri(4,i,k) = tri(1,i,k) - tri(3,i,k-1) * tri(5,i,k)
+             ENDDO
+          ENDDO
+
+       END SUBROUTINE zerleg_hybrid
+
+       SUBROUTINE substi_hybrid( ar, tri )
+
+!----------------------------------------------------------------------!
+!                          substi                                      !
+!                                                                      !
+!       Substitution (Forward and Backward) (Thomas algorithm)         !
+!----------------------------------------------------------------------!
+
+          IMPLICIT NONE
+
+          INTEGER ::  i, j, k
+          REAL, DIMENSION(0:nx,nz)       ::  ar
+          REAL, DIMENSION(0:nx,0:nz-1)   ::  ar1
+          REAL, DIMENSION(5,0:nx,0:nz-1) ::  tri
+
+!
+!--       Forward substitution
+          DO  i = 0, nx
+             ar1(i,0) = ar(i,1)
+          ENDDO
+          DO  k = 1, nz - 1
+             DO  i = 0,nx
+                ar1(i,k) = ar(i,k+1) - tri(5,i,k) * ar1(i,k-1)
+             ENDDO
+          ENDDO
+
+!
+!--       Backward substitution
+          DO  i = 0,nx
+             ar(i,nz) = ar1(i,nz-1) / tri(4,i,nz-1)
+          ENDDO
+          DO  k = nz-2, 0, -1
+             DO  i = 0,nx
+                ar(i,k+1) = ( ar1(i,k) - tri(3,i,k) * ar(i,k+2) ) &
+                            / tri(4,i,k)
+             ENDDO
+          ENDDO
+
+       END SUBROUTINE substi_hybrid
+
+    END SUBROUTINE tridia_hybrid
+
+
+    SUBROUTINE cascade( loca, j, nys_p, nyn_p )
+
+       USE cpulog
+
+       IMPLICIT NONE
+
+       INTEGER ::  ier, j, loca, nyn_p, nys_p, req, reqa(1)
+       INTEGER, SAVE ::  tag = 10
+#if defined( __parallel )
+       INTEGER, DIMENSION(MPI_STATUS_SIZE) :: stat
+#endif
+
+       REAL ::  buf, buf1
+
+
+       buf  = 1.0
+       buf1 = 1.1
+       IF ( me_node == 0 )  THEN  ! first node only
+
+          SELECT CASE ( loca )
+
+             CASE ( 1 )  ! before alltoall
+
+                IF( me_task > 0 )  THEN  ! first task does not wait
+#if defined( __parallel )
+                   CALL MPI_SENDRECV( buf,  1, MPI_REAL, me_task-1, 0, &
+                                      buf1, 1, MPI_REAL, me_task-1, 0, &
+                                                 comm_tasks, stat,ierr )
+#endif
+                ELSEIF ( j > nys_p )  THEN
+                   req = 0
+                   tag = MOD( tag-10, 10 ) + 10
+#if defined( __parallel )
+                   CALL MPI_IRECV( buf, 1, MPI_REAL, tasks_per_logical_node-1,&
+                                   tag, comm_tasks, req, ierr )
+                   reqa = req
+                   CALL MPI_WAITALL( 1, reqa, stat, ierr )
+#endif
+                ENDIF
+
+             CASE ( 2 )  ! after alltoall
+
+                IF ( me_task < tasks_per_logical_node-1 )  THEN  ! last task
+#if defined( __parallel )
+                   CALL MPI_SENDRECV( buf,  1, MPI_REAL, me_task+1, 0, &
+                                      buf1, 1, MPI_REAL, me_task+1, 0, &
+                                                 comm_tasks, stat, ierr)
+#endif
+                ELSEIF ( j < nyn_p )  THEN
+                   req = 0
+                   tag = MOD( tag-10, 10 ) + 10
+#if defined( __parallel )
+                   CALL MPI_ISEND( buf, 1, MPI_REAL, 0, tag, comm_tasks, req, &
+                                   ierr )
+#endif
+                ENDIF
+
+          END SELECT
+
+       ENDIF
+
+    END SUBROUTINE cascade
+
+ END MODULE poisfft_hybrid_mod
Index: palm/tags/release-3.7/SOURCE/poismg.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/poismg.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/poismg.f90	(revision 393)
@@ -0,0 +1,1369 @@
+ SUBROUTINE poismg( r )
+
+!------------------------------------------------------------------------------!
+! Attention: Loop unrolling and cache optimization in SOR-Red/Black method
+!            still does not bring the expected speedup on ibm! Further work
+!            is required.
+!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 257 2009-03-11 15:17:42Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 181 2008-07-30 07:07:47Z raasch
+! Bugfix: grid_level+1 has to be used in restrict for flags-array
+!
+! 114 2007-10-10 00:03:15Z raasch
+! Boundary conditions at walls are implicitly set using flag arrays. Only
+! Neumann BC is allowed. Upper walls are still not realized.
+! Bottom and top BCs for array f_mg in restrict removed because boundary
+! values are not needed (right hand side of SOR iteration).
+!
+! 75 2007-03-22 09:54:05Z raasch
+! 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.6  2005/03/26 20:55:54  raasch
+! Implementation of non-cyclic (Neumann) horizontal boundary conditions,
+! routine prolong simplified (one call of exchange_horiz spared)
+!
+! Revision 1.1  2001/07/20 13:10:51  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Solves the Poisson equation for the perturbation pressure with a multigrid
+! V- or W-Cycle scheme.
+!
+! This multigrid method was originally developed for PALM by Joerg Uhlenbrock,
+! September 2000 - July 2001.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog    
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    REAL    ::  maxerror, maximum_mgcycles, residual_norm
+
+    REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ::  r
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  p3
+
+
+    CALL cpu_log( log_point_s(29), 'poismg', 'start' )
+
+
+!
+!-- Initialize arrays and variables used in this subroutine
+    ALLOCATE ( p3(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+
+
+!
+!-- Some boundaries have to be added to divergence array
+    CALL exchange_horiz( d )
+    d(nzb,:,:) = d(nzb+1,:,:)
+
+!
+!-- Initiation of the multigrid scheme. Does n cycles until the 
+!-- residual is smaller than the given limit. The accuracy of the solution 
+!-- of the poisson equation will increase with the number of cycles.
+!-- If the number of cycles is preset by the user, this number will be
+!-- carried out regardless of the accuracy.
+    grid_level_count =   0
+    mgcycles         =   0
+    IF ( mg_cycles == -1 )  THEN
+       maximum_mgcycles = 0
+       residual_norm    = 1.0 
+    ELSE
+       maximum_mgcycles = mg_cycles
+       residual_norm    = 0.0
+    ENDIF
+
+    DO WHILE ( residual_norm > residual_limit  .OR. &
+               mgcycles < maximum_mgcycles )
+
+       CALL next_mg_level( d, p, p3, r)
+        
+!
+!--    Calculate the residual if the user has not preset the number of
+!--    cycles to be performed
+       IF ( maximum_mgcycles == 0 )  THEN
+          CALL resid( d, p, r )
+          maxerror = SUM( r(nzb+1:nzt,nys:nyn,nxl:nxr)**2 )
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( maxerror, residual_norm, 1, MPI_REAL, MPI_SUM, &
+                              comm2d, ierr)
+#else
+          residual_norm = maxerror
+#endif
+          residual_norm = SQRT( residual_norm )
+       ENDIF
+
+       mgcycles = mgcycles + 1
+
+!
+!--    If the user has not limited the number of cycles, stop the run in case
+!--    of insufficient convergence
+       IF ( mgcycles > 1000  .AND.  mg_cycles == -1 )  THEN
+          message_string = 'no sufficient convergence within 1000 cycles'
+          CALL message( 'poismg', 'PA0283', 1, 2, 0, 6, 0 )
+       ENDIF
+
+    ENDDO
+
+    DEALLOCATE( p3 )
+
+    CALL cpu_log( log_point_s(29), 'poismg', 'stop' )
+
+ END SUBROUTINE poismg
+
+
+
+ SUBROUTINE resid( f_mg, p_mg, r )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Computes the residual of the perturbation pressure.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                  &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg, p_mg, r
+
+!
+!-- Calculate the residual
+    l = grid_level
+
+!
+!-- Choose flag array of this level
+    SELECT CASE ( l )
+       CASE ( 1 )
+          flags => wall_flags_1
+       CASE ( 2 )
+          flags => wall_flags_2
+       CASE ( 3 )
+          flags => wall_flags_3
+       CASE ( 4 )
+          flags => wall_flags_4
+       CASE ( 5 )
+          flags => wall_flags_5
+       CASE ( 6 )
+          flags => wall_flags_6
+       CASE ( 7 )
+          flags => wall_flags_7
+       CASE ( 8 )
+          flags => wall_flags_8
+       CASE ( 9 )
+          flags => wall_flags_9
+       CASE ( 10 )
+          flags => wall_flags_10
+    END SELECT
+
+!$OMP PARALLEL PRIVATE (i,j,k)
+!$OMP DO
+    DO  i = nxl_mg(l), nxr_mg(l)
+       DO  j = nys_mg(l), nyn_mg(l) 
+          DO  k = nzb+1, nzt_mg(l)
+             r(k,j,i) = f_mg(k,j,i)                                         &
+                        - ddx2_mg(l) *                                      &
+                            ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                          ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                              p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                          ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                        - ddy2_mg(l) *                                      &
+                            ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                          ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                              p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                          ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                        - f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                        - f3_mg(k,l) *                                      &
+                            ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                          ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                        + f1_mg(k,l) * p_mg(k,j,i)
+!
+!--          Residual within topography should be zero
+             r(k,j,i) = r(k,j,i) * ( 1.0 - IBITS( flags(k,j,i), 6, 1 ) )
+          ENDDO
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL
+
+!
+!-- Horizontal boundary conditions
+    CALL exchange_horiz( r )
+
+    IF ( bc_lr /= 'cyclic' )  THEN
+       IF ( inflow_l .OR. outflow_l )  r(:,:,nxl_mg(l)-1) = r(:,:,nxl_mg(l))
+       IF ( inflow_r .OR. outflow_r )  r(:,:,nxr_mg(l)+1) = r(:,:,nxr_mg(l))
+    ENDIF
+
+    IF ( bc_ns /= 'cyclic' )  THEN
+       IF ( inflow_n .OR. outflow_n )  r(:,nyn_mg(l)+1,:) = r(:,nyn_mg(l),:)
+       IF ( inflow_s .OR. outflow_s )  r(:,nys_mg(l)-1,:) = r(:,nys_mg(l),:)
+    ENDIF
+
+!
+!-- Top boundary condition
+!-- A Neumann boundary condition for r is implicitly set in routine restrict
+    IF ( ibc_p_t == 1 )  THEN
+       r(nzt_mg(l)+1,:,: ) = r(nzt_mg(l),:,:)
+    ELSE
+       r(nzt_mg(l)+1,:,: ) = 0.0
+    ENDIF
+
+
+ END SUBROUTINE resid
+
+
+
+ SUBROUTINE restrict( f_mg, r )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Interpolates the residual on the next coarser grid with "full weighting"
+! scheme
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ic, j, jc, k, kc, l
+
+    REAL ::  rkjim, rkjip, rkjmi, rkjmim, rkjmip, rkjpi, rkjpim, rkjpip,       &
+             rkmji, rkmjim, rkmjip, rkmjmi, rkmjmim, rkmjmip, rkmjpi, rkmjpim, &
+             rkmjpip
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                            &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,           &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level+1)+1,                          &
+                    nys_mg(grid_level+1)-1:nyn_mg(grid_level+1)+1,       &
+                    nxl_mg(grid_level+1)-1:nxr_mg(grid_level+1)+1) ::  r
+
+!
+!-- Interpolate the residual
+    l = grid_level
+
+!
+!-- Choose flag array of the upper level
+    SELECT CASE ( l+1 )
+       CASE ( 1 )
+          flags => wall_flags_1
+       CASE ( 2 )
+          flags => wall_flags_2
+       CASE ( 3 )
+          flags => wall_flags_3
+       CASE ( 4 )
+          flags => wall_flags_4
+       CASE ( 5 )
+          flags => wall_flags_5
+       CASE ( 6 )
+          flags => wall_flags_6
+       CASE ( 7 )
+          flags => wall_flags_7
+       CASE ( 8 )
+          flags => wall_flags_8
+       CASE ( 9 )
+          flags => wall_flags_9
+       CASE ( 10 )
+          flags => wall_flags_10
+    END SELECT
+    
+!$OMP PARALLEL PRIVATE (i,j,k,ic,jc,kc)
+!$OMP DO
+    DO  ic = nxl_mg(l), nxr_mg(l)    
+       i = 2*ic 
+       DO  jc = nys_mg(l), nyn_mg(l)  
+          j = 2*jc
+          DO  kc = nzb+1, nzt_mg(l)
+             k = 2*kc-1
+!
+!--          Use implicit Neumann BCs if the respective gridpoint is inside
+!--          the building
+             rkjim   = r(k,j,i-1)     + IBITS( flags(k,j,i-1), 6, 1 ) *     &
+                                        ( r(k,j,i) - r(k,j,i-1) )
+             rkjip   = r(k,j,i+1)     + IBITS( flags(k,j,i+1), 6, 1 ) *     &
+                                        ( r(k,j,i) - r(k,j,i+1) )
+             rkjpi   = r(k,j+1,i)     + IBITS( flags(k,j+1,i), 6, 1 ) *     &
+                                        ( r(k,j,i) - r(k,j+1,i) )
+             rkjmi   = r(k,j-1,i)     + IBITS( flags(k,j-1,i), 6, 1 ) *     &
+                                        ( r(k,j,i) - r(k,j-1,i) )
+             rkjmim  = r(k,j-1,i-1)   + IBITS( flags(k,j-1,i-1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k,j-1,i-1) )
+             rkjpim  = r(k,j+1,i-1)   + IBITS( flags(k,j+1,i-1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k,j+1,i-1) )
+             rkjmip  = r(k,j-1,i+1)   + IBITS( flags(k,j-1,i+1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k,j-1,i+1) )
+             rkjpip  = r(k,j+1,i+1)   + IBITS( flags(k,j+1,i+1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k,j+1,i+1) )
+             rkmji   = r(k-1,j,i)     + IBITS( flags(k-1,j,i), 6, 1 ) *     &
+                                        ( r(k,j,i) - r(k-1,j,i) )
+             rkmjim  = r(k-1,j,i-1)   + IBITS( flags(k-1,j,i-1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k-1,j,i-1) )
+             rkmjip  = r(k-1,j,i+1)   + IBITS( flags(k-1,j,i+1), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k-1,j,i+1) )
+             rkmjpi  = r(k-1,j+1,i)   + IBITS( flags(k-1,j+1,i), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k-1,j+1,i) )
+             rkmjmi  = r(k-1,j-1,i)   + IBITS( flags(k-1,j-1,i), 6, 1 ) *   &
+                                        ( r(k,j,i) - r(k-1,j-1,i) )
+             rkmjmim = r(k-1,j-1,i-1) + IBITS( flags(k-1,j-1,i-1), 6, 1 ) * &
+                                        ( r(k,j,i) - r(k-1,j-1,i-1) )
+             rkmjpim = r(k-1,j+1,i-1) + IBITS( flags(k-1,j+1,i-1), 6, 1 ) * &
+                                        ( r(k,j,i) - r(k-1,j+1,i-1) )
+             rkmjmip = r(k-1,j-1,i+1) + IBITS( flags(k-1,j-1,i+1), 6, 1 ) * &
+                                        ( r(k,j,i) - r(k-1,j-1,i+1) )
+             rkmjpip = r(k-1,j+1,i+1) + IBITS( flags(k-1,j+1,i+1), 6, 1 ) * &
+                                        ( r(k,j,i) - r(k-1,j+1,i+1) )
+
+             f_mg(kc,jc,ic) = 1.0 / 64.0 * (                            &
+                              8.0 * r(k,j,i)                            &
+                            + 4.0 * ( rkjim   + rkjip   +               &
+                                      rkjpi   + rkjmi   )               &
+                            + 2.0 * ( rkjmim  + rkjpim  +               &
+                                      rkjmip  + rkjpip  )               &
+                            + 4.0 * rkmji                               &
+                            + 2.0 * ( rkmjim  + rkmjim  +               &
+                                      rkmjpi  + rkmjmi  )               &
+                            +       ( rkmjmim + rkmjpim +               &
+                                      rkmjmip + rkmjpip )               &
+                            + 4.0 * r(k+1,j,i)                          &
+                            + 2.0 * ( r(k+1,j,i-1)   + r(k+1,j,i+1)   + &
+                                      r(k+1,j+1,i)   + r(k+1,j-1,i)   ) &
+                            +       ( r(k+1,j-1,i-1) + r(k+1,j+1,i-1) + &
+                                      r(k+1,j-1,i+1) + r(k+1,j+1,i+1) ) &
+                                           ) 
+
+!             f_mg(kc,jc,ic) = 1.0 / 64.0 * (                            &
+!                              8.0 * r(k,j,i)                            &
+!                            + 4.0 * ( r(k,j,i-1)     + r(k,j,i+1)     + &
+!                                      r(k,j+1,i)     + r(k,j-1,i)     ) &
+!                            + 2.0 * ( r(k,j-1,i-1)   + r(k,j+1,i-1)   + &
+!                                      r(k,j-1,i+1)   + r(k,j+1,i+1)   ) &
+!                            + 4.0 * r(k-1,j,i)                          &
+!                            + 2.0 * ( r(k-1,j,i-1)   + r(k-1,j,i+1)   + &
+!                                      r(k-1,j+1,i)   + r(k-1,j-1,i)   ) &
+!                            +       ( r(k-1,j-1,i-1) + r(k-1,j+1,i-1) + &
+!                                      r(k-1,j-1,i+1) + r(k-1,j+1,i+1) ) &
+!                            + 4.0 * r(k+1,j,i)                          &
+!                            + 2.0 * ( r(k+1,j,i-1)   + r(k+1,j,i+1)   + &
+!                                      r(k+1,j+1,i)   + r(k+1,j-1,i)   ) &
+!                            +       ( r(k+1,j-1,i-1) + r(k+1,j+1,i-1) + &
+!                                      r(k+1,j-1,i+1) + r(k+1,j+1,i+1) ) &
+!                                           ) 
+          ENDDO
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL
+
+!
+!-- Horizontal boundary conditions
+    CALL exchange_horiz( f_mg )
+
+    IF ( bc_lr /= 'cyclic' )  THEN
+       IF (inflow_l .OR. outflow_l)  f_mg(:,:,nxl_mg(l)-1) = f_mg(:,:,nxl_mg(l))
+       IF (inflow_r .OR. outflow_r)  f_mg(:,:,nxr_mg(l)+1) = f_mg(:,:,nxr_mg(l))
+    ENDIF
+
+    IF ( bc_ns /= 'cyclic' )  THEN
+       IF (inflow_n .OR. outflow_n)  f_mg(:,nyn_mg(l)+1,:) = f_mg(:,nyn_mg(l),:)
+       IF (inflow_s .OR. outflow_s)  f_mg(:,nys_mg(l)-1,:) = f_mg(:,nys_mg(l),:)
+    ENDIF
+
+!
+!-- Bottom and top boundary conditions
+!    IF ( ibc_p_b == 1 )  THEN
+!       f_mg(nzb,:,: ) = f_mg(nzb+1,:,:)
+!    ELSE
+!       f_mg(nzb,:,: ) = 0.0
+!    ENDIF
+!
+!    IF ( ibc_p_t == 1 )  THEN
+!       f_mg(nzt_mg(l)+1,:,: ) = f_mg(nzt_mg(l),:,:)
+!    ELSE
+!       f_mg(nzt_mg(l)+1,:,: ) = 0.0
+!    ENDIF
+
+
+END SUBROUTINE restrict
+
+
+
+ SUBROUTINE prolong( p, temp )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Interpolates the correction of the perturbation pressure 
+! to the next finer grid.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE pegrid
+    USE indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level-1)+1,                           &
+                    nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,        &
+                    nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1 ) ::  p
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                           &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,          &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  temp
+
+
+!
+!-- First, store elements of the coarser grid on the next finer grid
+    l = grid_level
+
+!$OMP PARALLEL PRIVATE (i,j,k)
+!$OMP DO
+    DO  i = nxl_mg(l-1), nxr_mg(l-1)
+       DO  j = nys_mg(l-1), nyn_mg(l-1)
+!CDIR NODEP
+          DO  k = nzb+1, nzt_mg(l-1)
+!
+!--          Points of the coarse grid are directly stored on the next finer
+!--          grid
+             temp(2*k-1,2*j,2*i) = p(k,j,i) 
+! 
+!--          Points between two coarse-grid points
+             temp(2*k-1,2*j,2*i+1) = 0.5 * ( p(k,j,i) + p(k,j,i+1) )
+             temp(2*k-1,2*j+1,2*i) = 0.5 * ( p(k,j,i) + p(k,j+1,i) )
+             temp(2*k,2*j,2*i)     = 0.5 * ( p(k,j,i) + p(k+1,j,i) )
+!
+!--          Points in the center of the planes stretched by four points
+!--          of the coarse grid cube
+             temp(2*k-1,2*j+1,2*i+1) = 0.25 * ( p(k,j,i)   + p(k,j,i+1) + &
+                                                p(k,j+1,i) + p(k,j+1,i+1) )
+             temp(2*k,2*j,2*i+1)     = 0.25 * ( p(k,j,i)   + p(k,j,i+1) + &
+                                                p(k+1,j,i) + p(k+1,j,i+1) )
+             temp(2*k,2*j+1,2*i)     = 0.25 * ( p(k,j,i)   + p(k,j+1,i) + &
+                                                p(k+1,j,i) + p(k+1,j+1,i) )
+!
+!--          Points in the middle of coarse grid cube
+             temp(2*k,2*j+1,2*i+1) = 0.125 * ( p(k,j,i)     + p(k,j,i+1)   + &
+                                               p(k,j+1,i)   + p(k,j+1,i+1) + &
+                                               p(k+1,j,i)   + p(k+1,j,i+1) + &
+                                               p(k+1,j+1,i) + p(k+1,j+1,i+1) )
+          ENDDO
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL 
+                          
+!
+!-- Horizontal boundary conditions
+    CALL exchange_horiz( temp )
+
+    IF ( bc_lr /= 'cyclic' )  THEN
+       IF (inflow_l .OR. outflow_l)  temp(:,:,nxl_mg(l)-1) = temp(:,:,nxl_mg(l))
+       IF (inflow_r .OR. outflow_r)  temp(:,:,nxr_mg(l)+1) = temp(:,:,nxr_mg(l))
+    ENDIF
+
+    IF ( bc_ns /= 'cyclic' )  THEN
+       IF (inflow_n .OR. outflow_n)  temp(:,nyn_mg(l)+1,:) = temp(:,nyn_mg(l),:)
+       IF (inflow_s .OR. outflow_s)  temp(:,nys_mg(l)-1,:) = temp(:,nys_mg(l),:)
+    ENDIF
+
+!
+!-- Bottom and top boundary conditions
+    IF ( ibc_p_b == 1 )  THEN
+       temp(nzb,:,: ) = temp(nzb+1,:,:)
+    ELSE
+       temp(nzb,:,: ) = 0.0
+    ENDIF
+
+    IF ( ibc_p_t == 1 )  THEN
+       temp(nzt_mg(l)+1,:,: ) = temp(nzt_mg(l),:,:)
+    ELSE
+       temp(nzt_mg(l)+1,:,: ) = 0.0
+    ENDIF
+
+  
+ END SUBROUTINE prolong
+
+
+ SUBROUTINE redblack( f_mg, p_mg )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Relaxation method for the multigrid scheme. A Gauss-Seidel iteration with
+! 3D-Red-Black decomposition (GS-RB) is used.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER :: colour, i, ic, j, jc, jj, k, l, n
+
+    LOGICAL :: unroll
+
+    REAL ::  wall_left, wall_north, wall_right, wall_south, wall_total, wall_top
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                 &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg, p_mg
+
+
+    l = grid_level
+
+!
+!-- Choose flag array of this level
+    SELECT CASE ( l )
+       CASE ( 1 )
+          flags => wall_flags_1
+       CASE ( 2 )
+          flags => wall_flags_2
+       CASE ( 3 )
+          flags => wall_flags_3
+       CASE ( 4 )
+          flags => wall_flags_4
+       CASE ( 5 )
+          flags => wall_flags_5
+       CASE ( 6 )
+          flags => wall_flags_6
+       CASE ( 7 )
+          flags => wall_flags_7
+       CASE ( 8 )
+          flags => wall_flags_8
+       CASE ( 9 )
+          flags => wall_flags_9
+       CASE ( 10 )
+          flags => wall_flags_10
+    END SELECT
+
+    unroll = ( MOD( nyn_mg(l)-nys_mg(l)+1, 4 ) == 0  .AND. &
+               MOD( nxr_mg(l)-nxl_mg(l)+1, 2 ) == 0 )
+
+    DO  n = 1, ngsrb
+       
+       DO  colour = 1, 2
+
+          IF ( .NOT. unroll )  THEN
+             CALL cpu_log( log_point_s(36), 'redblack_no_unroll', 'start' )
+
+!
+!--          Without unrolling of loops, no cache optimization
+             DO  i = nxl_mg(l), nxr_mg(l), 2
+                DO  j = nys_mg(l) + 2 - colour, nyn_mg(l), 2 
+                   DO  k = nzb+1, nzt_mg(l), 2
+!                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+!                                ddx2_mg(l) * ( p_mg(k,j,i+1) + p_mg(k,j,i-1) ) &
+!                              + ddy2_mg(l) * ( p_mg(k,j+1,i) + p_mg(k,j-1,i) ) &
+!                              + f2_mg(k,l) * p_mg(k+1,j,i)                     &
+!                              + f3_mg(k,l) * p_mg(k-1,j,i) - f_mg(k,j,i)       &
+!                                                       )
+
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+                ENDDO
+             ENDDO
+   
+             DO  i = nxl_mg(l)+1, nxr_mg(l), 2
+                DO  j = nys_mg(l) + (colour-1), nyn_mg(l), 2
+                   DO  k = nzb+1, nzt_mg(l), 2 
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+                ENDDO
+             ENDDO
+  
+             DO  i = nxl_mg(l), nxr_mg(l), 2
+                DO  j = nys_mg(l) + (colour-1), nyn_mg(l), 2
+                   DO  k = nzb+2, nzt_mg(l), 2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+                ENDDO
+             ENDDO
+
+             DO  i = nxl_mg(l)+1, nxr_mg(l), 2
+                DO  j = nys_mg(l) + 2 - colour, nyn_mg(l), 2
+                   DO  k = nzb+2, nzt_mg(l), 2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+                ENDDO
+             ENDDO
+             CALL cpu_log( log_point_s(36), 'redblack_no_unroll', 'stop' )
+
+          ELSE
+
+!
+!--          Loop unrolling along y, only one i loop for better cache use
+             CALL cpu_log( log_point_s(38), 'redblack_unroll', 'start' )
+             DO  ic = nxl_mg(l), nxr_mg(l), 2
+                DO  jc = nys_mg(l), nyn_mg(l), 4
+                   i  = ic
+                   jj = jc+2-colour
+                   DO  k = nzb+1, nzt_mg(l), 2
+                      j = jj
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                      j = jj+2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+   
+                   i  = ic+1
+                   jj = jc+colour-1
+                   DO  k = nzb+1, nzt_mg(l), 2 
+                      j =jj
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                      j = jj+2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+
+                   i  = ic
+                   jj = jc+colour-1
+                   DO  k = nzb+2, nzt_mg(l), 2
+                      j =jj
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                      j = jj+2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+
+                   i  = ic+1
+                   jj = jc+2-colour
+                   DO  k = nzb+2, nzt_mg(l), 2
+                      j =jj
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                      j = jj+2
+                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
+                             ddx2_mg(l) *                                      &
+                               ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + &
+                                 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) &
+                           + ddy2_mg(l) *                                      &
+                               ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
+                                 p_mg(k,j-1,i) + IBITS( flags(k,j,i), 2, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k,j-1,i) ) ) &
+                           + f2_mg(k,l) * p_mg(k+1,j,i)                        &
+                           + f3_mg(k,l) *                                      &
+                               ( p_mg(k-1,j,i) + IBITS( flags(k,j,i), 0, 1 ) * &
+                                             ( p_mg(k,j,i) - p_mg(k-1,j,i) ) ) &
+                           - f_mg(k,j,i)               )
+                   ENDDO
+
+                ENDDO
+             ENDDO
+             CALL cpu_log( log_point_s(38), 'redblack_unroll', 'stop' )
+
+          ENDIF
+
+!
+!--       Horizontal boundary conditions
+          CALL exchange_horiz( p_mg )
+
+          IF ( bc_lr /= 'cyclic' )  THEN
+             IF ( inflow_l .OR. outflow_l )  THEN
+                p_mg(:,:,nxl_mg(l)-1) = p_mg(:,:,nxl_mg(l))
+             ENDIF
+             IF ( inflow_r .OR. outflow_r )  THEN
+                p_mg(:,:,nxr_mg(l)+1) = p_mg(:,:,nxr_mg(l))
+             ENDIF
+          ENDIF
+
+          IF ( bc_ns /= 'cyclic' )  THEN
+             IF ( inflow_n .OR. outflow_n )  THEN
+                p_mg(:,nyn_mg(l)+1,:) = p_mg(:,nyn_mg(l),:)
+             ENDIF
+             IF ( inflow_s .OR. outflow_s )  THEN
+                p_mg(:,nys_mg(l)-1,:) = p_mg(:,nys_mg(l),:)
+             ENDIF
+          ENDIF
+
+!
+!--       Bottom and top boundary conditions
+          IF ( ibc_p_b == 1 )  THEN
+             p_mg(nzb,:,: ) = p_mg(nzb+1,:,:)
+          ELSE
+             p_mg(nzb,:,: ) = 0.0
+          ENDIF
+
+          IF ( ibc_p_t == 1 )  THEN
+             p_mg(nzt_mg(l)+1,:,: ) = p_mg(nzt_mg(l),:,:)
+          ELSE
+             p_mg(nzt_mg(l)+1,:,: ) = 0.0
+          ENDIF
+
+       ENDDO
+
+    ENDDO
+
+!
+!-- Set pressure within topography and at the topography surfaces
+!$OMP PARALLEL PRIVATE (i,j,k,wall_left,wall_north,wall_right,wall_south,wall_top,wall_total)
+!$OMP DO
+    DO  i = nxl_mg(l), nxr_mg(l)
+       DO  j = nys_mg(l), nyn_mg(l) 
+          DO  k = nzb, nzt_mg(l)
+!
+!--          First, set pressure inside topography to zero
+             p_mg(k,j,i) = p_mg(k,j,i) * ( 1.0 - IBITS( flags(k,j,i), 6, 1 ) )
+!
+!--          Second, determine if the gridpoint inside topography is adjacent
+!--          to a wall and set its value to a value given by the average of
+!--          those values obtained from Neumann boundary condition
+             wall_left  = IBITS( flags(k,j,i-1), 5, 1 )
+             wall_right = IBITS( flags(k,j,i+1), 4, 1 )
+             wall_south = IBITS( flags(k,j-1,i), 3, 1 )
+             wall_north = IBITS( flags(k,j+1,i), 2, 1 )
+             wall_top   = IBITS( flags(k+1,j,i), 0, 1 )
+             wall_total = wall_left + wall_right + wall_south + wall_north + &
+                          wall_top
+
+             IF ( wall_total > 0.0 )  THEN
+                p_mg(k,j,i) = 1.0 / wall_total *                 &
+                                  ( wall_left  * p_mg(k,j,i-1) + &
+                                    wall_right * p_mg(k,j,i+1) + &
+                                    wall_south * p_mg(k,j-1,i) + &
+                                    wall_north * p_mg(k,j+1,i) + &
+                                    wall_top   * p_mg(k+1,j,i) )
+             ENDIF
+          ENDDO
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL 
+
+!
+!-- One more time horizontal boundary conditions
+    CALL exchange_horiz( p_mg )
+
+ END SUBROUTINE redblack
+
+
+
+ SUBROUTINE mg_gather( f2, f2_sub )
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  n, nwords, sender
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                            &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,           &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f2
+
+    REAL, DIMENSION(nzb:mg_loc_ind(5,myid)+1,                            &
+                    mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,           &
+                    mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  f2_sub
+
+!
+!-- Find out the number of array elements of the subdomain array
+    nwords = SIZE( f2_sub )
+
+#if defined( __parallel )
+    CALL cpu_log( log_point_s(34), 'mg_gather', 'start' )
+
+    IF ( myid == 0 )  THEN
+!
+!--    Store the local subdomain array on the total array
+       f2(:,mg_loc_ind(3,0)-1:mg_loc_ind(4,0)+1, &
+            mg_loc_ind(1,0)-1:mg_loc_ind(2,0)+1) = f2_sub
+
+!
+!--    Receive the subdomain arrays from all other PEs and store them on the
+!--    total array
+       DO  n = 1, numprocs-1
+!
+!--       Receive the arrays in arbitrary order from the PEs.
+          CALL MPI_RECV( f2_sub(nzb,mg_loc_ind(3,0)-1,mg_loc_ind(1,0)-1),     &
+                         nwords, MPI_REAL, MPI_ANY_SOURCE, 1, comm2d, status, &
+                         ierr )
+          sender = status(MPI_SOURCE)
+          f2(:,mg_loc_ind(3,sender)-1:mg_loc_ind(4,sender)+1, &
+               mg_loc_ind(1,sender)-1:mg_loc_ind(2,sender)+1) = f2_sub
+       ENDDO
+
+    ELSE
+!
+!--    Send subdomain array to PE0
+       CALL MPI_SEND( f2_sub(nzb,mg_loc_ind(3,myid)-1,mg_loc_ind(1,myid)-1), &
+                      nwords, MPI_REAL, 0, 1, comm2d, ierr )
+    ENDIF
+
+    CALL cpu_log( log_point_s(34), 'mg_gather', 'stop' )
+#endif
+    
+ END SUBROUTINE mg_gather
+
+
+
+ SUBROUTINE mg_scatter( p2, p2_sub )
+!
+!-- TODO: It may be possible to improve the speed of this routine by using
+!-- non-blocking communication
+
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  n, nwords, sender
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level-1)+1,                            &
+                    nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,         &
+                    nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  p2
+
+    REAL, DIMENSION(nzb:mg_loc_ind(5,myid)+1,                              &
+                    mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,             &
+                    mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  p2_sub
+
+!
+!-- Find out the number of array elements of the subdomain array
+    nwords = SIZE( p2_sub )
+
+#if defined( __parallel )
+    CALL cpu_log( log_point_s(35), 'mg_scatter', 'start' )
+
+    IF ( myid == 0 )  THEN
+!
+!--    Scatter the subdomain arrays to the other PEs by blocking
+!--    communication
+       DO  n = 1, numprocs-1
+
+          p2_sub = p2(:,mg_loc_ind(3,n)-1:mg_loc_ind(4,n)+1, &
+                        mg_loc_ind(1,n)-1:mg_loc_ind(2,n)+1)
+
+          CALL MPI_SEND( p2_sub(nzb,mg_loc_ind(3,0)-1,mg_loc_ind(1,0)-1), &
+                         nwords, MPI_REAL, n, 1, comm2d, ierr )
+
+       ENDDO
+
+!
+!--    Store data from the total array to the local subdomain array
+       p2_sub = p2(:,mg_loc_ind(3,0)-1:mg_loc_ind(4,0)+1, &
+                     mg_loc_ind(1,0)-1:mg_loc_ind(2,0)+1)
+
+    ELSE
+!
+!--    Receive subdomain array from PE0
+       CALL MPI_RECV( p2_sub(nzb,mg_loc_ind(3,myid)-1,mg_loc_ind(1,myid)-1), &
+                      nwords, MPI_REAL, 0, 1, comm2d, status, ierr )
+
+    ENDIF
+
+    CALL cpu_log( log_point_s(35), 'mg_scatter', 'stop' )
+#endif
+    
+ END SUBROUTINE mg_scatter
+
+
+
+ RECURSIVE SUBROUTINE next_mg_level( f_mg, p_mg, p3, r )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! This is where the multigrid technique takes place. V- and W- Cycle are
+! implemented and steered by the parameter "gamma". Parameter "nue" determines
+! the convergence of the multigrid iterative solution. There are nue times
+! RB-GS iterations. It should be set to "1" or "2", considering the time effort
+! one would like to invest. Last choice shows a very good converging factor,
+! but leads to an increase in computing time.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, nxl_mg_save, nxr_mg_save, nyn_mg_save, nys_mg_save, &
+                nzt_mg_save
+
+    LOGICAL ::  restore_boundary_lr_on_pe0, restore_boundary_ns_on_pe0
+
+    REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                  &
+                 nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                    &
+                 nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: f_mg, p_mg, p3, r
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  f2, f2_sub, p2, p2_sub
+
+!
+!-- Restriction to the coarsest grid
+ 10 IF ( grid_level == 1 )  THEN
+
+!
+!--    Solution on the coarsest grid. Double the number of Gauss-Seidel
+!--    iterations in order to get a more accurate solution.
+       ngsrb = 2 * ngsrb
+       CALL redblack( f_mg, p_mg )
+       ngsrb = ngsrb / 2
+
+    ELSEIF ( grid_level /= 1 )  THEN
+
+       grid_level_count(grid_level) = grid_level_count(grid_level) + 1
+
+!
+!--    Solution on the actual grid level
+       CALL redblack( f_mg, p_mg )
+
+!
+!--    Determination of the actual residual
+       CALL resid( f_mg, p_mg, r )
+
+!
+!--    Restriction of the residual (finer grid values!) to the next coarser
+!--    grid. Therefore, the grid level has to be decremented now. nxl..nzt have
+!--    to be set to the coarse grid values, because these variables are needed
+!--    for the exchange of ghost points in routine exchange_horiz
+       grid_level = grid_level - 1
+       nxl = nxl_mg(grid_level)
+       nxr = nxr_mg(grid_level)
+       nys = nys_mg(grid_level)
+       nyn = nyn_mg(grid_level)
+       nzt = nzt_mg(grid_level)
+
+       ALLOCATE( f2(nzb:nzt_mg(grid_level)+1,                    &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,   &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1),  &
+                 p2(nzb:nzt_mg(grid_level)+1,                    &
+                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,   &
+                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) )
+
+       IF ( grid_level == mg_switch_to_pe0_level )  THEN
+!          print*, 'myid=',myid, ' restrict and switch to PE0. level=', grid_level
+!
+!--       From this level on, calculations are done on PE0 only.
+!--       First, carry out restriction on the subdomain.
+!--       Therefore, indices of the level have to be changed to subdomain values
+!--       in between (otherwise, the restrict routine would expect
+!--       the gathered array)
+          nxl_mg_save = nxl_mg(grid_level)
+          nxr_mg_save = nxr_mg(grid_level)
+          nys_mg_save = nys_mg(grid_level)
+          nyn_mg_save = nyn_mg(grid_level)
+          nzt_mg_save = nzt_mg(grid_level)
+          nxl_mg(grid_level) = mg_loc_ind(1,myid)
+          nxr_mg(grid_level) = mg_loc_ind(2,myid)
+          nys_mg(grid_level) = mg_loc_ind(3,myid)
+          nyn_mg(grid_level) = mg_loc_ind(4,myid)
+          nzt_mg(grid_level) = mg_loc_ind(5,myid)
+          nxl = mg_loc_ind(1,myid)
+          nxr = mg_loc_ind(2,myid)
+          nys = mg_loc_ind(3,myid)
+          nyn = mg_loc_ind(4,myid)
+          nzt = mg_loc_ind(5,myid)
+
+          ALLOCATE( f2_sub(nzb:nzt_mg(grid_level)+1,                    &
+                           nys_mg(grid_level)-1:nyn_mg(grid_level)+1,   &
+                           nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) )
+
+          CALL restrict( f2_sub, r )
+
+!
+!--       Restore the correct indices of this level
+          nxl_mg(grid_level) = nxl_mg_save
+          nxr_mg(grid_level) = nxr_mg_save
+          nys_mg(grid_level) = nys_mg_save
+          nyn_mg(grid_level) = nyn_mg_save
+          nzt_mg(grid_level) = nzt_mg_save
+          nxl = nxl_mg(grid_level)
+          nxr = nxr_mg(grid_level)
+          nys = nys_mg(grid_level)
+          nyn = nyn_mg(grid_level)
+          nzt = nzt_mg(grid_level)
+
+!
+!--       Gather all arrays from the subdomains on PE0
+          CALL mg_gather( f2, f2_sub )
+
+!
+!--       Set switch for routine exchange_horiz, that no ghostpoint exchange
+!--       has to be carried out from now on
+          mg_switch_to_pe0 = .TRUE.
+
+!
+!--       In case of non-cyclic lateral boundary conditions, both in- and
+!--       outflow conditions have to be used on PE0 after the switch, because
+!--       it then contains the total domain. Due to the virtual processor
+!--       grid, before the switch, PE0 can have in-/outflow at the left
+!--       and south wall only (or on opposite walls in case of a 1d
+!--       decomposition).
+          restore_boundary_lr_on_pe0 = .FALSE.
+          restore_boundary_ns_on_pe0 = .FALSE.
+          IF ( myid == 0 )  THEN
+             IF ( inflow_l  .AND.  .NOT. outflow_r )  THEN
+                outflow_r = .TRUE.
+                restore_boundary_lr_on_pe0 = .TRUE.
+             ENDIF
+             IF ( outflow_l  .AND.  .NOT. inflow_r )  THEN
+                inflow_r  = .TRUE.
+                restore_boundary_lr_on_pe0 = .TRUE.
+             ENDIF
+             IF ( inflow_s  .AND.  .NOT. outflow_n )  THEN
+                outflow_n = .TRUE.
+                restore_boundary_ns_on_pe0 = .TRUE.
+             ENDIF
+             IF ( outflow_s  .AND.  .NOT. inflow_n )  THEN
+                inflow_n  = .TRUE.
+                restore_boundary_ns_on_pe0 = .TRUE.
+             ENDIF
+          ENDIF
+
+          DEALLOCATE( f2_sub )
+
+       ELSE
+
+          CALL restrict( f2, r )
+
+       ENDIF
+       p2 = 0.0
+
+!
+!--    Repeat the same procedure till the coarsest grid is reached
+       IF ( myid == 0  .OR.  grid_level > mg_switch_to_pe0_level )  THEN
+          CALL next_mg_level( f2, p2, p3, r )
+       ENDIF
+
+    ENDIF
+
+!
+!-- Now follows the prolongation
+    IF ( grid_level >= 2 )  THEN
+
+!
+!--    Grid level has to be incremented on the PEs where next_mg_level
+!--    has not been called before (normally it is incremented at the end
+!--    of next_mg_level)
+       IF ( myid /= 0  .AND.  grid_level == mg_switch_to_pe0_level )  THEN
+          grid_level = grid_level + 1
+          nxl = nxl_mg(grid_level)
+          nxr = nxr_mg(grid_level)
+          nys = nys_mg(grid_level)
+          nyn = nyn_mg(grid_level)
+          nzt = nzt_mg(grid_level)
+       ENDIF
+
+!
+!--    Prolongation of the new residual. The values are transferred 
+!--    from the coarse to the next finer grid.
+       IF ( grid_level == mg_switch_to_pe0_level+1 )  THEN
+!
+!--       At this level, the new residual first has to be scattered from
+!--       PE0 to the other PEs
+          ALLOCATE( p2_sub(nzb:mg_loc_ind(5,myid)+1,             &
+                    mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,   &
+                    mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) )
+
+          CALL mg_scatter( p2, p2_sub )
+
+!
+!--       Therefore, indices of the previous level have to be changed to
+!--       subdomain values in between (otherwise, the prolong routine would
+!--       expect the gathered array)
+          nxl_mg_save = nxl_mg(grid_level-1)
+          nxr_mg_save = nxr_mg(grid_level-1)
+          nys_mg_save = nys_mg(grid_level-1)
+          nyn_mg_save = nyn_mg(grid_level-1)
+          nzt_mg_save = nzt_mg(grid_level-1)
+          nxl_mg(grid_level-1) = mg_loc_ind(1,myid)
+          nxr_mg(grid_level-1) = mg_loc_ind(2,myid)
+          nys_mg(grid_level-1) = mg_loc_ind(3,myid)
+          nyn_mg(grid_level-1) = mg_loc_ind(4,myid)
+          nzt_mg(grid_level-1) = mg_loc_ind(5,myid)
+
+!
+!--       Set switch for routine exchange_horiz, that ghostpoint exchange
+!--       has to be carried again out from now on
+          mg_switch_to_pe0 = .FALSE.
+
+!
+!--       In case of non-cyclic lateral boundary conditions, restore the
+!--       in-/outflow conditions on PE0
+          IF ( myid == 0 )  THEN
+             IF ( restore_boundary_lr_on_pe0 )  THEN
+                IF ( inflow_l  )  outflow_r = .FALSE.
+                IF ( outflow_l )  inflow_r  = .FALSE.
+             ENDIF
+             IF ( restore_boundary_ns_on_pe0 )  THEN
+                IF ( inflow_s  )  outflow_n = .FALSE.
+                IF ( outflow_s )  inflow_n  = .FALSE.
+             ENDIF
+          ENDIF
+
+          CALL prolong( p2_sub, p3 )
+
+!
+!--       Restore the correct indices of the previous level
+          nxl_mg(grid_level-1) = nxl_mg_save
+          nxr_mg(grid_level-1) = nxr_mg_save
+          nys_mg(grid_level-1) = nys_mg_save
+          nyn_mg(grid_level-1) = nyn_mg_save
+          nzt_mg(grid_level-1) = nzt_mg_save
+
+          DEALLOCATE( p2_sub )
+
+       ELSE
+
+          CALL prolong( p2, p3 )
+
+       ENDIF
+
+!
+!--    Temporary arrays for the actual grid are not needed any more
+       DEALLOCATE( p2, f2 )
+
+!
+!--    Computation of the new pressure correction. Therefore, 
+!--    values from prior grids are added up automatically stage by stage.
+       DO  i = nxl_mg(grid_level)-1, nxr_mg(grid_level)+1
+          DO  j = nys_mg(grid_level)-1, nyn_mg(grid_level)+1
+             DO  k = nzb, nzt_mg(grid_level)+1 
+                p_mg(k,j,i) = p_mg(k,j,i) + p3(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Relaxation of the new solution
+       CALL redblack( f_mg, p_mg )
+
+    ENDIF
+
+!
+!-- The following few lines serve the steering of the multigrid scheme 
+    IF ( grid_level == maximum_grid_level )  THEN
+
+       GOTO 20
+
+    ELSEIF ( grid_level /= maximum_grid_level  .AND.  grid_level /= 1  .AND. &
+             grid_level_count(grid_level) /= gamma_mg )  THEN
+
+       GOTO 10
+
+    ENDIF
+
+!
+!-- Reset counter for the next call of poismg
+    grid_level_count(grid_level) = 0
+
+!
+!-- Continue with the next finer level. nxl..nzt have to be
+!-- set to the finer grid values, because these variables are needed for the
+!-- exchange of ghost points in routine exchange_horiz
+    grid_level = grid_level + 1
+    nxl = nxl_mg(grid_level)
+    nxr = nxr_mg(grid_level)
+    nys = nys_mg(grid_level)
+    nyn = nyn_mg(grid_level)
+    nzt = nzt_mg(grid_level)
+
+ 20 CONTINUE
+
+ END SUBROUTINE next_mg_level
Index: palm/tags/release-3.7/SOURCE/prandtl_fluxes.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/prandtl_fluxes.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/prandtl_fluxes.f90	(revision 393)
@@ -0,0 +1,361 @@
+ SUBROUTINE prandtl_fluxes
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 315 2009-05-13 10:57:59Z raasch
+! Saturation condition at (sea) surface is not used in precursor runs (only
+! in the following coupled runs)
+! Bugfix: qsws was calculated in case of constant heatflux = .FALSE.
+!
+! 187 2008-08-06 16:25:09Z letzel
+! Bugfix: modification of the calculation of the vertical turbulent momentum
+! fluxes u'w' and v'w'
+! Bugfix: change definition of us_wall from 1D to 2D
+! Change: modification of the integrated version of the profile function for 
+! momentum for unstable stratification (does not effect results)
+!
+! 108 2007-08-24 15:10:38Z letzel
+! assume saturation at k=nzb_s_inner(j,i) for atmosphere coupled to ocean
+!
+! 75 2007-03-22 09:54:05Z raasch
+! moisture renamed humidity
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.19  2006/04/26 12:24:35  raasch
+! +OpenMP directives and optimization (array assignments replaced by DO loops)
+!
+! Revision 1.1  1998/01/23 10:06:06  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Diagnostic computation of vertical fluxes in the Prandtl layer from the
+! values of the variables at grid point k=1
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE grid_variables
+    USE indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+    REAL    ::  a, b, e_q, rifm, uv_total, z_p
+
+!
+!-- Compute theta*
+    IF ( constant_heatflux )  THEN
+!
+!--    For a given heat flux in the Prandtl layer:
+!--    for u* use the value from the previous time step
+       !$OMP PARALLEL DO
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             ts(j,i) = -shf(j,i) / ( us(j,i) + 1E-30 )
+!
+!--          ts must be limited, because otherwise overflow may occur in case of
+!--          us=0 when computing rif further below
+             IF ( ts(j,i) < -1.05E5 )  ts = -1.0E5
+             IF ( ts(j,i) >   1.0E5 )  ts =  1.0E5
+          ENDDO
+       ENDDO
+
+    ELSE
+!
+!--    For a given surface temperature:
+!--    (the Richardson number is still the one from the previous time step)
+       !$OMP PARALLEL DO PRIVATE( a, b, k, z_p )
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+
+             k   = nzb_s_inner(j,i)
+             z_p = zu(k+1) - zw(k)
+
+             IF ( rif(j,i) >= 0.0 )  THEN
+!
+!--             Stable stratification
+                ts(j,i) = kappa * ( pt(k+1,j,i) - pt(k,j,i) ) / (          &
+                                  LOG( z_p / z0(j,i) ) +                   &
+                                  5.0 * rif(j,i) * ( z_p - z0(j,i) ) / z_p &
+                                                                )
+             ELSE
+!
+!--             Unstable stratification
+                a = SQRT( 1.0 - 16.0 * rif(j,i) )
+                b = SQRT( 1.0 - 16.0 * rif(j,i) * z0(j,i) / z_p )
+
+                ts(j,i) = kappa * ( pt(k+1,j,i) - pt(k,j,i) ) /  (         &
+                          LOG( z_p / z0(j,i) ) -                           &
+                          2.0 * LOG( ( 1.0 + a ) / ( 1.0 + b ) ) )
+             ENDIF
+
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Compute z_p/L (corresponds to the Richardson-flux number)
+    IF ( .NOT. humidity )  THEN
+       !$OMP PARALLEL DO PRIVATE( k, z_p )
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             k   = nzb_s_inner(j,i)
+             z_p = zu(k+1) - zw(k)
+             rif(j,i) = z_p * kappa * g * ts(j,i) / &
+                        ( pt(k+1,j,i) * ( us(j,i)**2 + 1E-30 ) )
+!
+!--          Limit the value range of the Richardson numbers.
+!--          This is necessary for very small velocities (u,v --> 0), because
+!--          the absolute value of rif can then become very large, which in
+!--          consequence would result in very large shear stresses and very
+!--          small momentum fluxes (both are generally unrealistic).
+             IF ( rif(j,i) < rif_min )  rif(j,i) = rif_min
+             IF ( rif(j,i) > rif_max )  rif(j,i) = rif_max
+          ENDDO
+       ENDDO
+    ELSE
+       !$OMP PARALLEL DO PRIVATE( k, z_p )
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             k   = nzb_s_inner(j,i)
+             z_p = zu(k+1) - zw(k)
+             rif(j,i) = z_p * kappa * g *                            &
+                        ( ts(j,i) + 0.61 * pt(k+1,j,i) * qs(j,i) ) / &
+                        ( vpt(k+1,j,i) * ( us(j,i)**2 + 1E-30 ) )
+!
+!--          Limit the value range of the Richardson numbers.
+!--          This is necessary for very small velocities (u,v --> 0), because
+!--          the absolute value of rif can then become very large, which in
+!--          consequence would result in very large shear stresses and very
+!--          small momentum fluxes (both are generally unrealistic).
+             IF ( rif(j,i) < rif_min )  rif(j,i) = rif_min
+             IF ( rif(j,i) > rif_max )  rif(j,i) = rif_max
+          ENDDO
+       ENDDO       
+    ENDIF
+
+!
+!-- Compute u* at the scalars' grid points
+    !$OMP PARALLEL DO PRIVATE( a, b, k, uv_total, z_p )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+
+          k   = nzb_s_inner(j,i)
+          z_p = zu(k+1) - zw(k)
+
+!
+!--       Compute the absolute value of the horizontal velocity
+          uv_total = SQRT( ( 0.5 * ( u(k+1,j,i) + u(k+1,j,i+1) ) )**2 + &
+                           ( 0.5 * ( v(k+1,j,i) + v(k+1,j+1,i) ) )**2   &
+                         )
+
+          IF ( rif(j,i) >= 0.0 )  THEN
+!
+!--          Stable stratification
+             us(j,i) = kappa * uv_total / (                                &
+                                  LOG( z_p / z0(j,i) ) +                   &
+                                  5.0 * rif(j,i) * ( z_p - z0(j,i) ) / z_p &
+                                          )
+          ELSE
+!
+!--          Unstable stratification
+             a = SQRT( SQRT( 1.0 - 16.0 * rif(j,i) ) )
+             b = SQRT( SQRT( 1.0 - 16.0 * rif(j,i) / z_p * z0(j,i) ) )
+
+             us(j,i) = kappa * uv_total / (                                  &
+                       LOG( z_p / z0(j,i) ) -                                &
+                       LOG( ( 1.0 + a )**2 * ( 1.0 + a**2 ) / (              &
+                            ( 1.0 + b )**2 * ( 1.0 + b**2 )   ) ) +          &
+                            2.0 * ( ATAN( a ) - ATAN( b ) )                  &
+                                           )
+          ENDIF
+       ENDDO
+    ENDDO
+
+!
+!-- Values of us at ghost point locations are needed for the evaluation of usws 
+!-- and vsws.
+    CALL exchange_horiz_2d( us )
+!
+!-- Compute u'w' for the total model domain.
+!-- First compute the corresponding component of u* and square it.
+    !$OMP PARALLEL DO PRIVATE( a, b, k, rifm, z_p )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+
+          k   = nzb_u_inner(j,i)
+          z_p = zu(k+1) - zw(k)
+
+!
+!--       Compute Richardson-flux number for this point
+          rifm = 0.5 * ( rif(j,i-1) + rif(j,i) )
+          IF ( rifm >= 0.0 )  THEN
+!
+!--          Stable stratification
+             usws(j,i) = kappa * u(k+1,j,i) / (                           &
+                                     LOG( z_p / z0(j,i) ) +               &
+                                     5.0 * rifm * ( z_p - z0(j,i) ) / z_p &
+                                              )
+          ELSE
+!
+!--          Unstable stratification
+             a = SQRT( SQRT( 1.0 - 16.0 * rifm ) )
+             b = SQRT( SQRT( 1.0 - 16.0 * rifm / z_p * z0(j,i) ) )
+
+             usws(j,i) = kappa * u(k+1,j,i) / (                           &
+                         LOG( z_p / z0(j,i) ) -                           &
+                         LOG( (1.0 + a )**2 * ( 1.0 + a**2 ) / (          &
+                              (1.0 + b )**2 * ( 1.0 + b**2 )   ) ) +      &
+                              2.0 * ( ATAN( a ) - ATAN( b ) )             &
+                                                 )
+          ENDIF
+          usws(j,i) = -usws(j,i) * 0.5 * ( us(j,i-1) + us(j,i) )
+       ENDDO
+    ENDDO
+
+!
+!-- Compute v'w' for the total model domain.
+!-- First compute the corresponding component of u* and square it.
+    !$OMP PARALLEL DO PRIVATE( a, b, k, rifm, z_p )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+
+          k   = nzb_v_inner(j,i)
+          z_p = zu(k+1) - zw(k)
+
+!
+!--       Compute Richardson-flux number for this point
+          rifm = 0.5 * ( rif(j-1,i) + rif(j,i) )
+          IF ( rifm >= 0.0 )  THEN
+!
+!--          Stable stratification
+             vsws(j,i) = kappa * v(k+1,j,i) / (                           &
+                                     LOG( z_p / z0(j,i) ) +               &
+                                     5.0 * rifm * ( z_p - z0(j,i) ) / z_p &
+                                              )
+          ELSE
+!
+!--          Unstable stratification
+             a = SQRT( SQRT( 1.0 - 16.0 * rifm ) )
+             b = SQRT( SQRT( 1.0 - 16.0 * rifm / z_p * z0(j,i) ) )
+
+             vsws(j,i) = kappa * v(k+1,j,i) / (                           &
+                         LOG( z_p / z0(j,i) ) -                           &
+                         LOG( (1.0 + a )**2 * ( 1.0 + a**2 ) / (          &
+                              (1.0 + b )**2 * ( 1.0 + b**2 )   ) ) +      &
+                              2.0 * ( ATAN( a ) - ATAN( b ) )             &
+                                                 )
+          ENDIF
+          vsws(j,i) = -vsws(j,i) * 0.5 * ( us(j-1,i) + us(j,i) )
+       ENDDO
+    ENDDO
+
+!
+!-- If required compute q*
+    IF ( humidity  .OR.  passive_scalar )  THEN
+       IF ( constant_waterflux )  THEN
+!
+!--       For a given water flux in the Prandtl layer:
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                qs(j,i) = -qsws(j,i) / ( us(j,i) + 1E-30 )
+             ENDDO
+          ENDDO
+          
+       ELSE          
+          !$OMP PARALLEL DO PRIVATE( a, b, k, z_p )
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+
+                k   = nzb_s_inner(j,i)
+                z_p = zu(k+1) - zw(k)
+
+!
+!--             Assume saturation for atmosphere coupled to ocean (but not
+!--             in case of precursor runs)
+                IF ( coupling_mode == 'atmosphere_to_ocean' .AND. run_coupled )&
+                THEN
+                   e_q = 6.1 * &
+                        EXP( 0.07 * ( MIN(pt(0,j,i),pt(1,j,i)) - 273.15 ) )
+                   q(k,j,i) = 0.622 * e_q / ( surface_pressure - e_q )
+                ENDIF
+                IF ( rif(j,i) >= 0.0 )  THEN
+!
+!--                Stable stratification
+                   qs(j,i) = kappa * ( q(k+1,j,i) - q(k,j,i) ) / (         &
+                                  LOG( z_p / z0(j,i) ) +                   &
+                                  5.0 * rif(j,i) * ( z_p - z0(j,i) ) / z_p &
+                                                                 )
+                ELSE
+!
+!--                Unstable stratification
+                   a = SQRT( 1.0 - 16.0 * rif(j,i) ) 
+                   b = SQRT( 1.0 - 16.0 * rif(j,i) * z0(j,i) / z_p ) 
+ 
+                   qs(j,i) = kappa * ( q(k+1,j,i) - q(k,j,i) ) /   (   &
+                             LOG( z_p / z0(j,i) ) -                    &
+                              2.0 * LOG( (1.0 + a ) / ( 1.0 + b ) ) )
+                ENDIF
+
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+!
+!-- Exchange the boundaries for the momentum fluxes (only for sake of 
+!-- completeness)
+    CALL exchange_horiz_2d( usws )
+    CALL exchange_horiz_2d( vsws )
+    IF ( humidity  .OR.  passive_scalar )  CALL exchange_horiz_2d( qsws )
+
+!
+!-- Compute the vertical kinematic heat flux
+    IF ( .NOT. constant_heatflux )  THEN
+       !$OMP PARALLEL DO
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             shf(j,i) = -ts(j,i) * us(j,i)
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Compute the vertical water/scalar flux
+    IF ( .NOT. constant_waterflux .AND. ( humidity .OR. passive_scalar ) ) THEN
+       !$OMP PARALLEL DO
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             qsws(j,i) = -qs(j,i) * us(j,i)
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Bottom boundary condition for the TKE
+    IF ( ibc_e_b == 2 )  THEN
+       !$OMP PARALLEL DO
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             e(nzb_s_inner(j,i)+1,j,i) = ( us(j,i) / 0.1 )**2
+!
+!--          As a test: cm = 0.4
+!            e(nzb_s_inner(j,i)+1,j,i) = ( us(j,i) / 0.4 )**2
+             e(nzb_s_inner(j,i),j,i)   = e(nzb_s_inner(j,i)+1,j,i)
+          ENDDO
+       ENDDO
+    ENDIF
+
+
+ END SUBROUTINE prandtl_fluxes
Index: palm/tags/release-3.7/SOURCE/pres.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/pres.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/pres.f90	(revision 393)
@@ -0,0 +1,628 @@
+ SUBROUTINE pres
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 151 2008-03-07 13:42:18Z raasch
+! Bugfix in volume flow control for non-cyclic boundary conditions
+!
+! 106 2007-08-16 14:30:26Z raasch
+! Volume flow conservation added for the remaining three outflow boundaries
+!
+! 85 2007-05-11 09:35:14Z raasch
+! Division through dt_3d replaced by multiplication of the inverse.
+! For performance optimisation, this is done in the loop calculating the
+! divergence instead of using a seperate loop.
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Volume flow control for non-cyclic boundary conditions added (currently only
+! for the north boundary!!), 2nd+3rd argument removed from exchange horiz,
+! mean vertical velocity is removed in case of Neumann boundary conditions
+! both at the bottom and the top
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.25  2006/04/26 13:26:12  raasch
+! OpenMP optimization (+localsum, threadsum)
+!
+! Revision 1.1  1997/07/24 11:24:44  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Compute the divergence of the provisional velocity field. Solve the Poisson
+! equation for the perturbation pressure. Compute the final velocities using
+! this perturbation pressure. Compute the remaining divergence.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE constants
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE poisfft_mod
+    USE poisfft_hybrid_mod
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, sr
+
+    REAL    ::  ddt_3d, localsum, threadsum
+
+    REAL, DIMENSION(1:2) ::  volume_flow_l, volume_flow_offset
+    REAL, DIMENSION(1:nzt) ::  w_l, w_l_l
+
+
+    CALL cpu_log( log_point(8), 'pres', 'start' )
+
+
+    ddt_3d = 1.0 / dt_3d
+
+!
+!-- Multigrid method needs additional grid points for the divergence array
+    IF ( psolver == 'multigrid' )  THEN
+       DEALLOCATE( d )
+       ALLOCATE( d(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+    ENDIF
+
+!
+!-- Conserve the volume flow at the outflow in case of non-cyclic lateral
+!-- boundary conditions
+!-- WARNING: so far, this conservation does not work at the left/south
+!--          boundary if the topography at the inflow differs from that at the
+!--          outflow! For this case, volume_flow_area needs adjustment!
+!
+!-- Left/right
+    IF ( conserve_volume_flow  .AND.  ( outflow_l  .OR. outflow_r ) )  THEN
+
+       volume_flow(1)   = 0.0
+       volume_flow_l(1) = 0.0
+
+       IF ( outflow_l )  THEN
+          i = 0
+       ELSEIF ( outflow_r )  THEN
+          i = nx+1
+       ENDIF
+
+       DO  j = nys, nyn
+!
+!--       Sum up the volume flow through the south/north boundary
+          DO  k = nzb_2d(j,i) + 1, nzt
+             volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzu(k)
+          ENDDO
+       ENDDO
+
+#if defined( __parallel )   
+       CALL MPI_ALLREDUCE( volume_flow_l(1), volume_flow(1), 1, MPI_REAL, &
+                           MPI_SUM, comm1dy, ierr )   
+#else
+       volume_flow = volume_flow_l  
+#endif
+       volume_flow_offset(1) = ( volume_flow_initial(1) - volume_flow(1) )    &
+                               / volume_flow_area(1)
+
+       DO  j = nys-1, nyn+1
+          DO  k = nzb_v_inner(j,i) + 1, nzt
+             u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- South/north
+    IF ( conserve_volume_flow  .AND.  ( outflow_n  .OR. outflow_s ) )  THEN
+
+       volume_flow(2)   = 0.0
+       volume_flow_l(2) = 0.0
+
+       IF ( outflow_s )  THEN
+          j = 0
+       ELSEIF ( outflow_n )  THEN
+          j = ny+1
+       ENDIF
+
+       DO  i = nxl, nxr
+!
+!--       Sum up the volume flow through the south/north boundary
+          DO  k = nzb_2d(j,i) + 1, nzt
+             volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzu(k)
+          ENDDO
+       ENDDO
+
+#if defined( __parallel )   
+       CALL MPI_ALLREDUCE( volume_flow_l(2), volume_flow(2), 1, MPI_REAL, &
+                           MPI_SUM, comm1dx, ierr )   
+#else
+       volume_flow = volume_flow_l  
+#endif
+       volume_flow_offset(2) = ( volume_flow_initial(2) - volume_flow(2) )    &
+                               / volume_flow_area(2)
+
+       DO  i = nxl-1, nxr+1
+          DO  k = nzb_v_inner(j,i) + 1, nzt
+             v(k,j,i) = v(k,j,i) + volume_flow_offset(2)
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+!
+!-- Remove mean vertical velocity
+    IF ( ibc_p_b == 1  .AND.  ibc_p_t == 1 )  THEN
+       IF ( simulated_time > 0.0 )  THEN ! otherwise nzb_w_inner is not yet known
+          w_l = 0.0;  w_l_l = 0.0
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_w_inner(j,i)+1, nzt
+                   w_l_l(k) = w_l_l(k) + w(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+#if defined( __parallel )   
+          CALL MPI_ALLREDUCE( w_l_l(1), w_l(1), nzt, MPI_REAL, MPI_SUM, comm2d, &
+                              ierr )
+#else
+          w_l = w_l_l  
+#endif
+          DO  k = 1, nzt
+             w_l(k) = w_l(k) / ngp_2dh_outer(k,0)
+          ENDDO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                DO  k = nzb_w_inner(j,i)+1, nzt
+                   w(k,j,i) = w(k,j,i) - w_l(k)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+!
+!-- Compute the divergence of the provisional velocity field.
+    CALL cpu_log( log_point_s(1), 'divergence', 'start' )
+
+    IF ( psolver == 'multigrid' )  THEN
+       !$OMP PARALLEL DO SCHEDULE( STATIC )
+       DO  i = nxl-1, nxr+1
+          DO  j = nys-1, nyn+1
+             DO  k = nzb, nzt+1
+                d(k,j,i) = 0.0
+             ENDDO
+          ENDDO
+       ENDDO
+    ELSE
+       !$OMP PARALLEL DO SCHEDULE( STATIC )
+       DO  i = nxl, nxra
+          DO  j = nys, nyna
+             DO  k = nzb+1, nzta
+                d(k,j,i) = 0.0
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDIF
+
+    localsum  = 0.0
+    threadsum = 0.0
+
+#if defined( __ibm )
+    !$OMP PARALLEL PRIVATE (i,j,k) FIRSTPRIVATE(threadsum) REDUCTION(+:localsum)
+    !$OMP DO SCHEDULE( STATIC )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
+                          ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
+                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k) ) * ddt_3d
+          ENDDO
+!
+!--       Additional pressure boundary condition at the bottom boundary for 
+!--       inhomogeneous Prandtl layer heat fluxes and temperatures, respectively
+!--       dp/dz = -(dtau13/dx + dtau23/dy) + g*pt'/pt0.
+!--       This condition must not be applied at the start of a run, because then
+!--       flow_statistics has not yet been called and thus sums = 0.
+          IF ( ibc_p_b == 2  .AND.  sums(nzb+1,4) /= 0.0 )  THEN
+             k = nzb_s_inner(j,i)
+             d(k+1,j,i) = d(k+1,j,i) + (                                     &
+                                         ( usws(j,i+1) - usws(j,i) ) * ddx   &
+                                       + ( vsws(j+1,i) - vsws(j,i) ) * ddy   &
+                                       - g * ( pt(k+1,j,i) - sums(k+1,4) ) / &
+                                         sums(k+1,4)                         &
+                                       ) * ddzw(k+1) * ddt_3d
+          ENDIF
+
+!
+!--       Compute possible PE-sum of divergences for flow_statistics
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             threadsum = threadsum + ABS( d(k,j,i) )
+          ENDDO
+
+       ENDDO
+    ENDDO
+
+    localsum = ( localsum + threadsum ) * dt_3d
+    !$OMP END PARALLEL
+#else
+    IF ( ibc_p_b == 2 .AND. sums(nzb+1,4) /= 0.0 )  THEN
+       !$OMP PARALLEL PRIVATE (i,j,k)
+       !$OMP DO SCHEDULE( STATIC )
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
+                             ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
+                             ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k) ) * ddt_3d
+             ENDDO
+          ENDDO
+!
+!--       Additional pressure boundary condition at the bottom boundary for
+!--       inhomogeneous Prandtl layer heat fluxes and temperatures, respectively
+!--       dp/dz = -(dtau13/dx + dtau23/dy) + g*pt'/pt0.
+!--       This condition must not be applied at the start of a run, because then
+!--       flow_statistics has not yet been called and thus sums = 0.
+          DO  j = nys, nyn
+              k = nzb_s_inner(j,i)
+              d(k+1,j,i) = d(k+1,j,i) + (                        &
+                             ( usws(j,i+1) - usws(j,i) ) * ddx   &
+                           + ( vsws(j+1,i) - vsws(j,i) ) * ddy   &
+                           - g * ( pt(k+1,j,i) - sums(k+1,4) ) / &
+                             sums(k+1,4)                         &
+                                        ) * ddzw(k+1) * ddt_3d
+          ENDDO
+       ENDDO
+       !$OMP END PARALLEL
+
+    ELSE
+
+       !$OMP PARALLEL PRIVATE (i,j,k)
+       !$OMP DO SCHEDULE( STATIC )
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                d(k,j,i) = ( ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
+                             ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
+                             ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k) ) * ddt_3d
+             ENDDO
+          ENDDO
+       ENDDO
+       !$OMP END PARALLEL
+
+    ENDIF
+
+!
+!-- Compute possible PE-sum of divergences for flow_statistics
+    !$OMP PARALLEL PRIVATE (i,j,k) FIRSTPRIVATE(threadsum) REDUCTION(+:localsum)
+    !$OMP DO SCHEDULE( STATIC )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+             threadsum = threadsum + ABS( d(k,j,i) )
+          ENDDO
+       ENDDO
+    ENDDO
+    localsum = ( localsum + threadsum ) * dt_3d
+    !$OMP END PARALLEL
+#endif
+
+!
+!-- For completeness, set the divergence sum of all statistic regions to those
+!-- of the total domain
+    sums_divold_l(0:statistic_regions) = localsum
+
+!
+!-- Determine absolute minimum/maximum (only for test cases, therefore as
+!-- comment line)
+!    CALL global_min_max( nzb+1, nzt, nys, nyn, nxl, nxr, d, 'abs', divmax, &
+!                         divmax_ijk )
+
+    CALL cpu_log( log_point_s(1), 'divergence', 'stop' )
+
+!
+!-- Compute the pressure perturbation solving the Poisson equation
+    IF ( psolver(1:7) == 'poisfft' )  THEN
+
+!
+!--    Enlarge the size of tend, used as a working array for the transpositions
+       IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+          DEALLOCATE( tend )
+          ALLOCATE( tend(1:nza,nys:nyna,nxl:nxra) )
+       ENDIF
+
+!
+!--    Solve Poisson equation via FFT and solution of tridiagonal matrices
+       IF ( psolver == 'poisfft' )  THEN
+!
+!--       Solver for 2d-decomposition
+          CALL poisfft( d, tend )
+       ELSEIF ( psolver == 'poisfft_hybrid' )  THEN 
+!
+!--       Solver for 1d-decomposition (using MPI and OpenMP).
+!--       The old hybrid-solver is still included here, as long as there
+!--       are some optimization problems in poisfft
+          CALL poisfft_hybrid( d )
+       ENDIF
+
+!
+!--    Resize tend to its normal size
+       IF ( nxra > nxr  .OR.  nyna > nyn  .OR.  nza > nz )  THEN
+          DEALLOCATE( tend )
+          ALLOCATE( tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+       ENDIF
+
+!
+!--    Store computed perturbation pressure and set boundary condition in
+!--    z-direction
+       !$OMP PARALLEL DO
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+                tend(k,j,i) = d(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Bottom boundary:
+!--    This condition is only required for internal output. The pressure
+!--    gradient (dp(nzb+1)-dp(nzb))/dz is not used anywhere else.
+       IF ( ibc_p_b == 1 )  THEN
+!
+!--       Neumann (dp/dz = 0)
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                tend(nzb_s_inner(j,i),j,i) = tend(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+
+       ELSEIF ( ibc_p_b == 2 )  THEN
+!
+!--       Neumann condition for inhomogeneous surfaces,
+!--       here currently still in the form of a zero gradient. Actually 
+!--       dp/dz = -(dtau13/dx + dtau23/dy) + g*pt'/pt0 would have to be used for
+!--       the computation (cf. above: computation of divergences).
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                tend(nzb_s_inner(j,i),j,i) = tend(nzb_s_inner(j,i)+1,j,i)
+             ENDDO
+          ENDDO
+
+       ELSE
+!
+!--       Dirichlet
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                tend(nzb_s_inner(j,i),j,i) = 0.0
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Top boundary
+       IF ( ibc_p_t == 1 )  THEN
+!
+!--       Neumann
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                tend(nzt+1,j,i) = tend(nzt,j,i)
+             ENDDO
+          ENDDO
+
+       ELSE
+!
+!--       Dirichlet
+          !$OMP PARALLEL DO
+          DO  i = nxl-1, nxr+1
+             DO  j = nys-1, nyn+1
+                tend(nzt+1,j,i) = 0.0
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Exchange boundaries for p
+       CALL exchange_horiz( tend )
+      
+    ELSEIF ( psolver == 'sor' )  THEN
+
+!
+!--    Solve Poisson equation for perturbation pressure using SOR-Red/Black
+!--    scheme
+       CALL sor( d, ddzu, ddzw, p )
+       tend = p
+
+    ELSEIF ( psolver == 'multigrid' )  THEN
+
+!
+!--    Solve Poisson equation for perturbation pressure using Multigrid scheme,
+!--    array tend is used to store the residuals
+       CALL poismg( tend )
+ 
+!
+!--    Restore perturbation pressure on tend because this array is used
+!--    further below to correct the velocity fields
+       tend = p
+
+    ENDIF
+
+!
+!-- Store perturbation pressure on array p, used in the momentum equations
+    IF ( psolver(1:7) == 'poisfft' )  THEN
+!
+!--    Here, only the values from the left and right boundaries are copied
+!--    The remaining values are copied in the following loop due to speed
+!--    optimization
+       !$OMP PARALLEL DO
+       DO  j = nys-1, nyn+1
+          DO  k = nzb, nzt+1
+             p(k,j,nxl-1) = tend(k,j,nxl-1)
+             p(k,j,nxr+1) = tend(k,j,nxr+1)
+          ENDDO
+       ENDDO
+    ENDIF
+
+!
+!-- Correction of the provisional velocities with the current perturbation 
+!-- pressure just computed
+    IF ( conserve_volume_flow  .AND. &
+         ( bc_lr == 'cyclic'  .OR.  bc_ns == 'cyclic' ) )  THEN
+       volume_flow_l(1) = 0.0
+       volume_flow_l(2) = 0.0
+    ENDIF
+    !$OMP PARALLEL PRIVATE (i,j,k)
+    !$OMP DO
+    DO  i = nxl, nxr
+       IF ( psolver(1:7) == 'poisfft' )  THEN
+          DO  j = nys-1, nyn+1
+             DO  k = nzb, nzt+1
+                p(k,j,i) = tend(k,j,i)
+             ENDDO
+          ENDDO
+       ENDIF
+       DO  j = nys, nyn
+          DO  k = nzb_w_inner(j,i)+1, nzt
+             w(k,j,i) = w(k,j,i) - dt_3d * &
+                                   ( tend(k+1,j,i) - tend(k,j,i) ) * ddzu(k+1)
+          ENDDO
+          DO  k = nzb_u_inner(j,i)+1, nzt
+             u(k,j,i) = u(k,j,i) - dt_3d * ( tend(k,j,i) - tend(k,j,i-1) ) * ddx
+          ENDDO
+          DO  k = nzb_v_inner(j,i)+1, nzt
+             v(k,j,i) = v(k,j,i) - dt_3d * ( tend(k,j,i) - tend(k,j-1,i) ) * ddy
+          ENDDO
+
+!
+!--       Sum up the volume flow through the right and north boundary
+          IF ( conserve_volume_flow  .AND.  bc_lr == 'cyclic'  .AND. &
+               i == nx )  THEN
+             !$OMP CRITICAL
+             DO  k = nzb_2d(j,i) + 1, nzt
+                volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzu(k)
+             ENDDO
+             !$OMP END CRITICAL
+          ENDIF
+          IF ( conserve_volume_flow  .AND.  bc_ns == 'cyclic'  .AND. &
+               j == ny )  THEN
+             !$OMP CRITICAL
+             DO  k = nzb_2d(j,i) + 1, nzt
+                volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzu(k)
+             ENDDO
+             !$OMP END CRITICAL
+          ENDIF
+
+       ENDDO
+    ENDDO
+    !$OMP END PARALLEL
+
+!
+!-- Conserve the volume flow
+    IF ( conserve_volume_flow  .AND. &
+         ( bc_lr == 'cyclic'  .OR.  bc_ns == 'cyclic' ) )  THEN
+
+#if defined( __parallel )   
+       CALL MPI_ALLREDUCE( volume_flow_l(1), volume_flow(1), 2, MPI_REAL, &
+                           MPI_SUM, comm2d, ierr )  
+#else
+       volume_flow = volume_flow_l  
+#endif   
+
+       volume_flow_offset = ( volume_flow_initial - volume_flow ) / &
+                            volume_flow_area
+
+       !$OMP PARALLEL PRIVATE (i,j,k)
+       !$OMP DO
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             IF ( bc_lr == 'cyclic' )  THEN
+                DO  k = nzb_u_inner(j,i) + 1, nzt
+                   u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
+                ENDDO
+             ENDIF
+             IF ( bc_ns == 'cyclic' )  THEN
+                DO  k = nzb_v_inner(j,i) + 1, nzt
+                   v(k,j,i) = v(k,j,i) + volume_flow_offset(2)
+                ENDDO
+             ENDIF
+          ENDDO
+       ENDDO
+       !$OMP END PARALLEL
+
+    ENDIF
+
+!
+!-- Exchange of boundaries for the velocities
+    CALL exchange_horiz( u )
+    CALL exchange_horiz( v )
+    CALL exchange_horiz( w )
+
+!
+!-- Compute the divergence of the corrected velocity field,
+!-- a possible PE-sum is computed in flow_statistics 
+    CALL cpu_log( log_point_s(1), 'divergence', 'start' )
+    sums_divnew_l = 0.0
+
+!
+!-- d must be reset to zero because it can contain nonzero values below the
+!-- topography
+    IF ( topography /= 'flat' )  d = 0.0
+
+    localsum  = 0.0
+    threadsum = 0.0
+
+    !$OMP PARALLEL PRIVATE (i,j,k) FIRSTPRIVATE(threadsum) REDUCTION(+:localsum)
+    !$OMP DO SCHEDULE( STATIC )
+#if defined( __ibm )
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             d(k,j,i) = ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
+                        ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
+                        ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+          ENDDO
+          DO  k = nzb+1, nzt
+             threadsum = threadsum + ABS( d(k,j,i) )
+          ENDDO
+       ENDDO
+    ENDDO
+#else
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             d(k,j,i) = ( u(k,j,i+1) - u(k,j,i) ) * ddx + &
+                        ( v(k,j+1,i) - v(k,j,i) ) * ddy + &
+                        ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+             threadsum = threadsum + ABS( d(k,j,i) )
+          ENDDO
+       ENDDO
+    ENDDO
+#endif
+    localsum = localsum + threadsum
+    !$OMP END PARALLEL
+
+!
+!-- For completeness, set the divergence sum of all statistic regions to those
+!-- of the total domain
+    sums_divnew_l(0:statistic_regions) = localsum
+
+    CALL cpu_log( log_point_s(1), 'divergence', 'stop' )
+
+    CALL cpu_log( log_point(8), 'pres', 'stop' )
+
+
+ END SUBROUTINE pres
Index: palm/tags/release-3.7/SOURCE/print_1d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/print_1d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/print_1d.f90	(revision 393)
@@ -0,0 +1,138 @@
+ SUBROUTINE print_1d
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.11  2006/02/23 12:50:43  raasch
+! Preliminary no output of time-averaged data
+!
+! Revision 1.1  1997/09/19 07:45:22  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! List output of 1D-profiles.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+
+    CHARACTER (LEN=20) ::  period_chr
+    INTEGER ::  k, sr
+
+
+!
+!-- If required, compute statistics.
+    IF ( .NOT. flow_statistics_called )  CALL flow_statistics
+
+!
+!-- Flow_statistics has its own cpu-time measuring.
+    CALL cpu_log( log_point(18), 'print_1d', 'start' )
+
+    IF ( myid == 0 )  THEN
+!
+!--    Open file for list output of profiles.
+       CALL check_open( 16 )
+
+!
+!--    Prepare header.
+       period_chr = ' no time-average!'
+
+!
+!--    Output for the total domain (and each subregion, if applicable).
+       DO  sr = 0, statistic_regions
+!
+!--       Write header.
+          WRITE ( 16, 112 )
+          WRITE ( 16, 100 )  TRIM( run_description_header ) // '    ' // &
+                             TRIM( region( sr ) ), TRIM( period_chr ), 'uv'
+          WRITE ( 16, 105 )  TRIM( simulated_time_chr )
+!          ELSE
+!             WRITE ( 16, 106 )  TRIM( simulated_time_chr ),           &
+!                                averaging_interval_pr, average_count_pr
+!          ENDIF
+          WRITE ( 16, 111 )
+
+!
+!--       Output of values on the scalar levels.
+          WRITE ( 16, 120 )
+          WRITE ( 16, 111 )
+          DO  k = nzt+1, nzb, -1
+             WRITE ( 16, 121)  k, zu(k), hom(k,1,1,sr),           &
+                               hom(k,1,1,sr) - hom(k,1,5,sr),     &
+                               hom(k,1,2,sr),                     &
+                               hom(k,1,2,sr) - hom(k,1,6,sr),     &
+                               hom(k,1,4,sr),                     &
+                               hom(k,1,4,sr) - hom(k,1,7,sr),     &
+                               hom(k,1,8,sr), hom(k,1,9,sr),      &
+                               hom(k,1,10,sr), hom(k,1,11,sr), zu(k), k
+          ENDDO
+          WRITE ( 16, 111 )
+          WRITE ( 16, 120 )
+          WRITE ( 16, 111 )
+
+!
+!--       Output of values on the w-levels.
+          WRITE ( 16, 112 )
+          WRITE ( 16, 100 )  TRIM( run_description_header ) // '    ' // &
+                             TRIM( region( sr ) ), TRIM( period_chr ), 'w'
+          WRITE ( 16, 105 )  TRIM( simulated_time_chr )
+!          ELSE
+!             WRITE ( 16, 106 )  TRIM( simulated_time_chr ),           &
+!                                averaging_interval_pr, average_count_pr
+!          ENDIF
+          WRITE ( 16, 111 )
+
+          WRITE ( 16, 130 )
+          WRITE ( 16, 111 )
+          DO  k = nzt+1, nzb, -1
+             WRITE ( 16, 131)  k, zw(k), hom(k,1,16,sr),            &
+                               hom(k,1,18,sr), hom(k,1,12,sr), &
+                               hom(k,1,19,sr), hom(k,1,14,sr), &
+                               hom(k,1,20,sr), zw(k), k
+          ENDDO
+          WRITE ( 16, 111 )
+          WRITE ( 16, 130 )
+          WRITE ( 16, 111 )
+
+       ENDDO
+
+    ENDIF
+
+    CALL cpu_log( log_point(18), 'print_1d','stop', 'nobarrier' )
+
+!
+!-- Formats.
+100 FORMAT (1X,A/1X,10('-')/ &
+            ' Horizontally',A,' averaged profiles on the ',A,'-level')
+105 FORMAT (' Time: ',A)
+106 FORMAT (' Time: ',A,18X,'averaged over',F7.1,' s (',I4, &
+            ' Single times)')
+111 FORMAT (1X,131('-'))
+112 FORMAT (/)
+120 FORMAT ('   k     zu      u     du     v     dv     pt    dpt    ', &
+            'e      Km    Kh     l      zu      k')
+121 FORMAT (1X,I4,1X,F7.1,1X,F6.2,1X,F5.2,1X,F6.2,1X,F5.2,2X,F6.2,1X,F5.2, &
+            1X,F6.4,1X,F5.2,1X,F5.2,1X,F6.2,1X,F7.1,2X,I4)
+130 FORMAT ('   k     zw      w''pt''     wpt       w''u''      wu       ', &
+            ' w''v''      wv        zw      k')
+131 FORMAT (1X,I4,1X,F7.1,6(1X,E9.3),1X,F7.1,2X,I4)
+
+
+ END SUBROUTINE print_1d
Index: palm/tags/release-3.7/SOURCE/production_e.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/production_e.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/production_e.f90	(revision 393)
@@ -0,0 +1,1156 @@
+ MODULE production_e_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Bugfix: wrong sign in buoyancy production of ocean part in case of not using
+!         the reference density (only in 3D routine production_e)
+! Bugfix to avoid zero division by km_neutral
+!
+! 208 2008-10-20 06:02:59Z raasch
+! Bugfix concerning the calculation of velocity gradients at vertical walls 
+! in case of diabatic conditions
+!
+! 187 2008-08-06 16:25:09Z letzel
+! Change: add 'minus' sign to fluxes obtained from subroutine wall_fluxes_e for
+! consistency with subroutine wall_fluxes
+!
+! 124 2007-10-19 15:47:46Z raasch
+! Bugfix: calculation of density flux in the ocean now starts from nzb+1
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Bugfix: wrong sign removed from the buoyancy production term in the case
+! use_reference = .T.,
+! u_0 and v_0 are calculated for nxr+1, nyn+1 also (otherwise these values are
+! not available in case of non-cyclic boundary conditions)
+! Bugfix for ocean density flux at bottom
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Energy production by density flux (in ocean) added
+! use_pt_reference renamed use_reference
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Wall functions now include diabatic conditions, call of routine wall_fluxes_e,
+! reference temperature pt_reference can be used in buoyancy term,
+! moisture renamed humidity
+!
+! 37 2007-03-01 08:33:54Z raasch
+! Calculation extended for gridpoint nzt, extended for given temperature /
+! humidity fluxes at the top, wall-part is now executed in case that a
+! Prandtl-layer is switched on (instead of surfaces fluxes switched on)
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.21  2006/04/26 12:45:35  raasch
+! OpenMP parallelization of production_e_init
+!
+! Revision 1.1  1997/09/19 07:45:35  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Production terms (shear + buoyancy) of the TKE
+! WARNING: the case with prandtl_layer = F and use_surface_fluxes = T is
+!          not considered well!
+!------------------------------------------------------------------------------!
+
+    USE wall_fluxes_mod
+
+    PRIVATE
+    PUBLIC production_e, production_e_init
+
+    LOGICAL, SAVE ::  first_call = .TRUE.
+
+    REAL, DIMENSION(:,:), ALLOCATABLE, SAVE ::  u_0, v_0
+
+    INTERFACE production_e
+       MODULE PROCEDURE production_e
+       MODULE PROCEDURE production_e_ij
+    END INTERFACE production_e
+    
+    INTERFACE production_e_init
+       MODULE PROCEDURE production_e_init
+    END INTERFACE production_e_init
+ 
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE production_e
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL    ::  def, dudx, dudy, dudz, dvdx, dvdy, dvdz, dwdx, dwdy, dwdz, &
+                   k1, k2, km_neutral, theta, temp
+
+!       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  usvs, vsus, wsus, wsvs
+       REAL, DIMENSION(nzb:nzt+1) ::   usvs, vsus, wsus, wsvs
+
+!
+!--    First calculate horizontal momentum flux u'v', w'v', v'u', w'u' at
+!--    vertical walls, if neccessary
+!--    So far, results are slightly different from the ij-Version.
+!--    Therefore, ij-Version is called further below within the ij-loops.
+!       IF ( topography /= 'flat' )  THEN
+!          CALL wall_fluxes_e( usvs, 1.0, 0.0, 0.0, 0.0, wall_e_y )
+!          CALL wall_fluxes_e( wsvs, 0.0, 0.0, 1.0, 0.0, wall_e_y )
+!          CALL wall_fluxes_e( vsus, 0.0, 1.0, 0.0, 0.0, wall_e_x )
+!          CALL wall_fluxes_e( wsus, 0.0, 0.0, 0.0, 1.0, wall_e_x )
+!       ENDIF
+
+!
+!--    Calculate TKE production by shear
+       DO  i = nxl, nxr
+
+          DO  j = nys, nyn
+             DO  k = nzb_diff_s_outer(j,i), nzt
+
+                dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+                dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                 u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                 u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+                dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                 v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                 v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+                dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                 w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                 w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+                def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                      dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                      dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                IF ( def < 0.0 )  def = 0.0
+
+                tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+                
+             ENDDO
+          ENDDO
+
+          IF ( prandtl_layer )  THEN
+
+!
+!--          Position beneath wall
+!--          (2) - Will allways be executed.
+!--          'bottom and wall: use u_0,v_0 and wall functions'
+             DO  j = nys, nyn
+
+                IF ( ( wall_e_x(j,i) /= 0.0 ) .OR. ( wall_e_y(j,i) /= 0.0 ) ) &
+                THEN
+
+                   k = nzb_diff_s_inner(j,i) - 1
+                   dudx = ( u(k,j,i+1) - u(k,j,i) ) * ddx
+                   dudz = 0.5 * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                  u_0(j,i)   - u_0(j,i+1)   ) * dd2zu(k)
+                   dvdy = ( v(k,j+1,i) - v(k,j,i) ) * ddy
+                   dvdz = 0.5 * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                  v_0(j,i)   - v_0(j+1,i)   ) * dd2zu(k)
+                   dwdz = ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+
+                   IF ( wall_e_y(j,i) /= 0.0 )  THEN
+!                     
+!--                   Inconsistency removed: as the thermal stratification is 
+!--                   not taken into account for the evaluation of the wall 
+!--                   fluxes at vertical walls, the eddy viscosity km must not 
+!--                   be used for the evaluation of the velocity gradients dudy 
+!--                   and dwdy
+!--                   Note: The validity of the new method has not yet been 
+!--                         shown, as so far no suitable data for a validation 
+!--                         has been available
+                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                          usvs, 1.0, 0.0, 0.0, 0.0 )
+                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                          wsvs, 0.0, 0.0, 1.0, 0.0 )
+                      km_neutral = kappa * ( usvs(k)**2 + wsvs(k)**2 )**0.25 * &
+                                   0.5 * dy 
+                      IF ( km_neutral > 0.0 )  THEN
+                         dudy = - wall_e_y(j,i) * usvs(k) / km_neutral
+                         dwdy = - wall_e_y(j,i) * wsvs(k) / km_neutral
+                      ELSE
+                         dudy = 0.0
+                         dwdy = 0.0
+                      ENDIF
+                   ELSE
+                      dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                      u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                      dwdy = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                      w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                   ENDIF
+
+                   IF ( wall_e_x(j,i) /= 0.0 )  THEN
+!                     
+!--                   Inconsistency removed: as the thermal stratification is 
+!--                   not taken into account for the evaluation of the wall 
+!--                   fluxes at vertical walls, the eddy viscosity km must not 
+!--                   be used for the evaluation of the velocity gradients dvdx 
+!--                   and dwdx
+!--                   Note: The validity of the new method has not yet been 
+!--                         shown, as so far no suitable data for a validation 
+!--                         has been available
+                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                          vsus, 0.0, 1.0, 0.0, 0.0 )
+                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                          wsus, 0.0, 0.0, 0.0, 1.0 )
+                      km_neutral = kappa * ( vsus(k)**2 + wsus(k)**2 )**0.25 * &
+                                   0.5 * dx
+                      IF ( km_neutral > 0.0 )  THEN
+                         dvdx = - wall_e_x(j,i) * vsus(k) / km_neutral
+                         dwdx = - wall_e_x(j,i) * wsus(k) / km_neutral
+                      ELSE
+                         dvdx = 0.0
+                         dwdx = 0.0
+                      ENDIF
+                   ELSE
+                      dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                      v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                      dwdx = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                      w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                   ENDIF
+
+                   def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                         dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                         dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                   IF ( def < 0.0 )  def = 0.0
+
+                   tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+
+!
+!--                (3) - will be executed only, if there is at least one level
+!--                between (2) and (4), i.e. the topography must have a
+!--                minimum height of 2 dz. Wall fluxes for this case have
+!--                already been calculated for (2).
+!--                'wall only: use wall functions'
+
+                   DO  k = nzb_diff_s_inner(j,i), nzb_diff_s_outer(j,i)-2
+
+                      dudx = ( u(k,j,i+1) - u(k,j,i) ) * ddx
+                      dudz = 0.5 * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                     u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+                      dvdy =       ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                      dvdz = 0.5 * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                     v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+                      dwdz = ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+
+                      IF ( wall_e_y(j,i) /= 0.0 )  THEN
+!                     
+!--                      Inconsistency removed: as the thermal stratification 
+!--                      is not taken into account for the evaluation of the 
+!--                      wall fluxes at vertical walls, the eddy viscosity km 
+!--                      must not be used for the evaluation of the velocity 
+!--                      gradients dudy and dwdy
+!--                      Note: The validity of the new method has not yet 
+!--                            been shown, as so far no suitable data for a 
+!--                            validation has been available
+                         km_neutral = kappa * ( usvs(k)**2 + & 
+                                                wsvs(k)**2 )**0.25 * 0.5 * dy
+                         IF ( km_neutral > 0.0 )  THEN
+                            dudy = - wall_e_y(j,i) * usvs(k) / km_neutral
+                            dwdy = - wall_e_y(j,i) * wsvs(k) / km_neutral
+                         ELSE
+                            dudy = 0.0
+                            dwdy = 0.0
+                         ENDIF
+                      ELSE
+                         dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                         u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                         dwdy = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                         w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                      ENDIF
+
+                      IF ( wall_e_x(j,i) /= 0.0 )  THEN
+!                     
+!--                      Inconsistency removed: as the thermal stratification 
+!--                      is not taken into account for the evaluation of the 
+!--                      wall fluxes at vertical walls, the eddy viscosity km 
+!--                      must not be used for the evaluation of the velocity 
+!--                      gradients dvdx and dwdx
+!--                      Note: The validity of the new method has not yet 
+!--                            been shown, as so far no suitable data for a 
+!--                            validation has been available
+                         km_neutral = kappa * ( vsus(k)**2 + & 
+                                                wsus(k)**2 )**0.25 * 0.5 * dx
+                         IF ( km_neutral > 0.0 )  THEN
+                            dvdx = - wall_e_x(j,i) * vsus(k) / km_neutral
+                            dwdx = - wall_e_x(j,i) * wsus(k) / km_neutral
+                         ELSE
+                            dvdx = 0.0
+                            dwdx = 0.0
+                         ENDIF
+                      ELSE
+                         dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                         v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                         dwdx = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                         w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                      ENDIF
+
+                      def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                           dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 +  &
+                           dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                      IF ( def < 0.0 )  def = 0.0
+
+                      tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+                   ENDDO
+
+                ENDIF
+
+             ENDDO
+
+!
+!--          (4) - will allways be executed.
+!--          'special case: free atmosphere' (as for case (0))
+             DO  j = nys, nyn
+
+                IF ( ( wall_e_x(j,i) /= 0.0 ) .OR. ( wall_e_y(j,i) /= 0.0 ) ) &
+                THEN
+
+                   k = nzb_diff_s_outer(j,i)-1
+
+                   dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+                   dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                    u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                   dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                    u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+                   dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                    v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                   dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                   dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                    v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+                   dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                    w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                   dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                    w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                   dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+                   def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                         dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                         dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                   IF ( def < 0.0 )  def = 0.0
+
+                   tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+                ENDIF
+
+             ENDDO
+
+!
+!--          Position without adjacent wall
+!--          (1) - will allways be executed. 
+!--          'bottom only: use u_0,v_0'
+             DO  j = nys, nyn
+
+                IF ( ( wall_e_x(j,i) == 0.0 ) .AND. ( wall_e_y(j,i) == 0.0 ) ) &
+                THEN
+
+                   k = nzb_diff_s_inner(j,i)-1
+
+                   dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+                   dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                    u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                   dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                    u_0(j,i)   - u_0(j,i+1)   ) * dd2zu(k)
+
+                   dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                    v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                   dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                   dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                    v_0(j,i)   - v_0(j+1,i)   ) * dd2zu(k)
+
+                   dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                    w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                   dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                    w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                   dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+                   def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                         dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                         dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                   IF ( def < 0.0 )  def = 0.0
+
+                   tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+                
+                ENDIF
+
+             ENDDO
+
+          ELSEIF ( use_surface_fluxes )  THEN
+
+             DO  j = nys, nyn
+
+                k = nzb_diff_s_outer(j,i)-1
+
+                dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+                dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                 u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                                 u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+                dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                 v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                                 v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+                dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                 w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                 w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+                def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                      dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                      dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                IF ( def < 0.0 )  def = 0.0
+
+                tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+             ENDDO
+
+          ENDIF
+
+!
+!--       Calculate TKE production by buoyancy
+          IF ( .NOT. humidity )  THEN
+
+             IF ( use_reference )  THEN
+
+                IF ( ocean )  THEN
+!
+!--                So far in the ocean no special treatment of density flux in
+!--                the bottom and top surface layer
+                   DO  j = nys, nyn
+                      DO  k = nzb_s_inner(j,i)+1, nzt
+                         tend(k,j,i) = tend(k,j,i) +                   &
+                                       kh(k,j,i) * g / rho_reference * &
+                                       ( rho(k+1,j,i)-rho(k-1,j,i) ) * dd2zu(k)
+                      ENDDO
+                   ENDDO
+
+                ELSE
+
+                   DO  j = nys, nyn
+                      DO  k = nzb_diff_s_inner(j,i), nzt_diff
+                         tend(k,j,i) = tend(k,j,i) -                  &
+                                       kh(k,j,i) * g / pt_reference * &
+                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
+                      ENDDO
+
+                      IF ( use_surface_fluxes )  THEN
+                         k = nzb_diff_s_inner(j,i)-1
+                         tend(k,j,i) = tend(k,j,i) + g / pt_reference * shf(j,i)
+                      ENDIF
+
+                      IF ( use_top_fluxes )  THEN
+                         k = nzt
+                         tend(k,j,i) = tend(k,j,i) + g / pt_reference * &
+                                                     tswst(j,i)
+                      ENDIF
+                   ENDDO
+
+                ENDIF
+
+             ELSE
+
+                IF ( ocean )  THEN
+!
+!--                So far in the ocean no special treatment of density flux in
+!--                the bottom and top surface layer
+                   DO  j = nys, nyn
+                      DO  k = nzb_s_inner(j,i)+1, nzt
+                         tend(k,j,i) = tend(k,j,i) +                &
+                                       kh(k,j,i) * g / rho(k,j,i) * &
+                                       ( rho(k+1,j,i)-rho(k-1,j,i) ) * dd2zu(k)
+                      ENDDO
+                   ENDDO
+
+                ELSE
+
+                   DO  j = nys, nyn
+                      DO  k = nzb_diff_s_inner(j,i), nzt_diff
+                         tend(k,j,i) = tend(k,j,i) -               &
+                                       kh(k,j,i) * g / pt(k,j,i) * &
+                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
+                      ENDDO
+
+                      IF ( use_surface_fluxes )  THEN
+                         k = nzb_diff_s_inner(j,i)-1
+                         tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
+                      ENDIF
+
+                      IF ( use_top_fluxes )  THEN
+                         k = nzt
+                         tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
+                      ENDIF
+                   ENDDO
+
+                ENDIF
+
+             ENDIF
+
+          ELSE
+
+             DO  j = nys, nyn
+
+                DO  k = nzb_diff_s_inner(j,i), nzt_diff
+
+                   IF ( .NOT. cloud_physics )  THEN
+                      k1 = 1.0 + 0.61 * q(k,j,i)
+                      k2 = 0.61 * pt(k,j,i)
+                   ELSE
+                      IF ( ql(k,j,i) == 0.0 )  THEN
+                         k1 = 1.0 + 0.61 * q(k,j,i)
+                         k2 = 0.61 * pt(k,j,i)
+                      ELSE
+                         theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                         temp  = theta * t_d_pt(k)
+                         k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                                    ( q(k,j,i) - ql(k,j,i) ) *          &
+                              ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                              ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                              ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                         k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                      ENDIF
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / vpt(k,j,i) * &
+                                      ( k1 * ( pt(k+1,j,i)-pt(k-1,j,i) ) +  &
+                                        k2 * ( q(k+1,j,i) - q(k-1,j,i) )    &
+                                      ) * dd2zu(k)
+                ENDDO
+
+             ENDDO
+
+             IF ( use_surface_fluxes )  THEN
+
+                DO  j = nys, nyn
+
+                   k = nzb_diff_s_inner(j,i)-1
+
+                   IF ( .NOT. cloud_physics )  THEN
+                      k1 = 1.0 + 0.61 * q(k,j,i)
+                      k2 = 0.61 * pt(k,j,i)
+                   ELSE
+                      IF ( ql(k,j,i) == 0.0 )  THEN
+                         k1 = 1.0 + 0.61 * q(k,j,i)
+                         k2 = 0.61 * pt(k,j,i)
+                      ELSE
+                         theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                         temp  = theta * t_d_pt(k)
+                         k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                                    ( q(k,j,i) - ql(k,j,i) ) *          &
+                              ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                              ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                              ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                         k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                      ENDIF
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i) + g / vpt(k,j,i) * &
+                                         ( k1* shf(j,i) + k2 * qsws(j,i) )
+                ENDDO
+
+             ENDIF
+
+             IF ( use_top_fluxes )  THEN
+
+                DO  j = nys, nyn
+
+                   k = nzt
+
+                   IF ( .NOT. cloud_physics )  THEN
+                      k1 = 1.0 + 0.61 * q(k,j,i)
+                      k2 = 0.61 * pt(k,j,i)
+                   ELSE
+                      IF ( ql(k,j,i) == 0.0 )  THEN
+                         k1 = 1.0 + 0.61 * q(k,j,i)
+                         k2 = 0.61 * pt(k,j,i)
+                      ELSE
+                         theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                         temp  = theta * t_d_pt(k)
+                         k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                                    ( q(k,j,i) - ql(k,j,i) ) *          &
+                              ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                              ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                              ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                         k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                      ENDIF
+                   ENDIF
+
+                   tend(k,j,i) = tend(k,j,i) + g / vpt(k,j,i) * &
+                                         ( k1* tswst(j,i) + k2 * qswst(j,i) )
+                ENDDO
+
+             ENDIF
+
+          ENDIF
+
+       ENDDO
+
+    END SUBROUTINE production_e
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE production_e_ij( i, j )
+
+       USE arrays_3d
+       USE cloud_parameters
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k
+
+       REAL    ::  def, dudx, dudy, dudz, dvdx, dvdy, dvdz, dwdx, dwdy, dwdz, &
+                   k1, k2, km_neutral, theta, temp
+
+       REAL, DIMENSION(nzb:nzt+1) ::  usvs, vsus, wsus, wsvs
+
+!
+!--    Calculate TKE production by shear
+       DO  k = nzb_diff_s_outer(j,i), nzt
+
+          dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+          dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                           u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+          dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                           u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+          dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                           v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+          dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+          dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                           v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+          dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                           w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+          dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                           w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+          dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+          def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 )                       &
+                + dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + dvdz**2 &
+                + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+          IF ( def < 0.0 )  def = 0.0
+
+          tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+                
+       ENDDO
+
+       IF ( prandtl_layer )  THEN
+
+          IF ( ( wall_e_x(j,i) /= 0.0 ) .OR. ( wall_e_y(j,i) /= 0.0 ) )  THEN
+
+!
+!--          Position beneath wall
+!--          (2) - Will allways be executed.
+!--          'bottom and wall: use u_0,v_0 and wall functions'
+             k = nzb_diff_s_inner(j,i)-1
+
+             dudx = ( u(k,j,i+1) - u(k,j,i) ) * ddx
+             dudz = 0.5 * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                            u_0(j,i)   - u_0(j,i+1)   ) * dd2zu(k)
+             dvdy =       ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+             dvdz = 0.5 * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                            v_0(j,i)   - v_0(j+1,i)   ) * dd2zu(k)
+             dwdz = ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+
+             IF ( wall_e_y(j,i) /= 0.0 )  THEN
+!                     
+!--             Inconsistency removed: as the thermal stratification 
+!--             is not taken into account for the evaluation of the 
+!--             wall fluxes at vertical walls, the eddy viscosity km 
+!--             must not be used for the evaluation of the velocity 
+!--             gradients dudy and dwdy
+!--             Note: The validity of the new method has not yet 
+!--                   been shown, as so far no suitable data for a 
+!--                   validation has been available
+                CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                    usvs, 1.0, 0.0, 0.0, 0.0 )
+                CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                    wsvs, 0.0, 0.0, 1.0, 0.0 )
+                km_neutral = kappa * ( usvs(k)**2 + wsvs(k)**2 )**0.25 * &
+                             0.5 * dy
+                IF ( km_neutral > 0.0 )  THEN
+                   dudy = - wall_e_y(j,i) * usvs(k) / km_neutral
+                   dwdy = - wall_e_y(j,i) * wsvs(k) / km_neutral
+                ELSE
+                   dudy = 0.0
+                   dwdy = 0.0
+                ENDIF
+             ELSE
+                dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                dwdy = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+             ENDIF
+
+             IF ( wall_e_x(j,i) /= 0.0 )  THEN
+!                     
+!--             Inconsistency removed: as the thermal stratification 
+!--             is not taken into account for the evaluation of the 
+!--             wall fluxes at vertical walls, the eddy viscosity km 
+!--             must not be used for the evaluation of the velocity 
+!--             gradients dvdx and dwdx
+!--             Note: The validity of the new method has not yet 
+!--                   been shown, as so far no suitable data for a 
+!--                   validation has been available
+                CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                    vsus, 0.0, 1.0, 0.0, 0.0 )
+                CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
+                                    wsus, 0.0, 0.0, 0.0, 1.0 )
+                km_neutral = kappa * ( vsus(k)**2 + wsus(k)**2 )**0.25 * & 
+                             0.5 * dx
+                IF ( km_neutral > 0.0 )  THEN
+                   dvdx = - wall_e_x(j,i) * vsus(k) / km_neutral
+                   dwdx = - wall_e_x(j,i) * wsus(k) / km_neutral
+                ELSE
+                   dvdx = 0.0
+                   dwdx = 0.0
+                ENDIF
+             ELSE
+                dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                dwdx = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+             ENDIF
+
+             def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                   dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                   dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+             IF ( def < 0.0 )  def = 0.0
+
+             tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+!
+!--          (3) - will be executed only, if there is at least one level
+!--          between (2) and (4), i.e. the topography must have a
+!--          minimum height of 2 dz. Wall fluxes for this case have
+!--          already been calculated for (2).
+!--          'wall only: use wall functions'
+             DO  k = nzb_diff_s_inner(j,i), nzb_diff_s_outer(j,i)-2
+
+                dudx = ( u(k,j,i+1) - u(k,j,i) ) * ddx
+                dudz = 0.5 * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                               u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+                dvdy =       ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+                dvdz = 0.5 * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                               v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+                dwdz = ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
+
+                IF ( wall_e_y(j,i) /= 0.0 )  THEN
+!                     
+!--                Inconsistency removed: as the thermal stratification 
+!--                is not taken into account for the evaluation of the 
+!--                wall fluxes at vertical walls, the eddy viscosity km 
+!--                must not be used for the evaluation of the velocity 
+!--                gradients dudy and dwdy
+!--                Note: The validity of the new method has not yet 
+!--                      been shown, as so far no suitable data for a 
+!--                      validation has been available
+                   km_neutral = kappa * ( usvs(k)**2 + & 
+                                          wsvs(k)**2 )**0.25 * 0.5 * dy
+                   IF ( km_neutral > 0.0 )  THEN
+                      dudy = - wall_e_y(j,i) * usvs(k) / km_neutral
+                      dwdy = - wall_e_y(j,i) * wsvs(k) / km_neutral
+                   ELSE
+                      dudy = 0.0
+                      dwdy = 0.0
+                   ENDIF
+                ELSE
+                   dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                                   u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+                   dwdy = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                                   w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+                ENDIF
+
+                IF ( wall_e_x(j,i) /= 0.0 )  THEN
+!                     
+!--                Inconsistency removed: as the thermal stratification 
+!--                is not taken into account for the evaluation of the 
+!--                wall fluxes at vertical walls, the eddy viscosity km 
+!--                must not be used for the evaluation of the velocity 
+!--                gradients dvdx and dwdx
+!--                Note: The validity of the new method has not yet 
+!--                      been shown, as so far no suitable data for a 
+!--                      validation has been available
+                   km_neutral = kappa * ( vsus(k)**2 + & 
+                                          wsus(k)**2 )**0.25 * 0.5 * dx
+                   IF ( km_neutral > 0.0 )  THEN
+                      dvdx = - wall_e_x(j,i) * vsus(k) / km_neutral
+                      dwdx = - wall_e_x(j,i) * wsus(k) / km_neutral
+                   ELSE
+                      dvdx = 0.0
+                      dwdx = 0.0
+                   ENDIF
+                ELSE
+                   dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                                   v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+                   dwdx = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                                   w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+                ENDIF
+
+                def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                      dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                      dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+                IF ( def < 0.0 )  def = 0.0
+
+                tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+             ENDDO
+
+!
+!--          (4) - will allways be executed.
+!--          'special case: free atmosphere' (as for case (0))
+             k = nzb_diff_s_outer(j,i)-1
+
+             dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+             dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                              u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+             dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                              u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+             dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                              v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+             dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+             dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                              v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+             dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                              w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+             dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                              w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+             dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+             def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                   dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                   dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+             IF ( def < 0.0 )  def = 0.0
+
+             tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+          ELSE
+
+!
+!--          Position without adjacent wall
+!--          (1) - will allways be executed. 
+!--          'bottom only: use u_0,v_0'
+             k = nzb_diff_s_inner(j,i)-1
+
+             dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+             dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                              u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+             dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                              u_0(j,i)   - u_0(j,i+1)   ) * dd2zu(k)
+
+             dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                              v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+             dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+             dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                              v_0(j,i)   - v_0(j+1,i)   ) * dd2zu(k)
+
+             dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                              w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+             dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                              w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+             dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+             def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 )                       &
+                   + dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + dvdz**2 &
+                   + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+             IF ( def < 0.0 )  def = 0.0
+
+             tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+          ENDIF
+
+       ELSEIF ( use_surface_fluxes )  THEN
+
+          k = nzb_diff_s_outer(j,i)-1
+
+          dudx  =        ( u(k,j,i+1) - u(k,j,i)     ) * ddx
+          dudy  = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
+                           u(k,j-1,i) - u(k,j-1,i+1) ) * ddy
+          dudz  = 0.5  * ( u(k+1,j,i) + u(k+1,j,i+1) - &
+                           u(k-1,j,i) - u(k-1,j,i+1) ) * dd2zu(k)
+
+          dvdx  = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
+                           v(k,j,i-1) - v(k,j+1,i-1) ) * ddx
+          dvdy  =        ( v(k,j+1,i) - v(k,j,i)     ) * ddy
+          dvdz  = 0.5  * ( v(k+1,j,i) + v(k+1,j+1,i) - &
+                           v(k-1,j,i) - v(k-1,j+1,i) ) * dd2zu(k)
+
+          dwdx  = 0.25 * ( w(k,j,i+1) + w(k-1,j,i+1) - &
+                           w(k,j,i-1) - w(k-1,j,i-1) ) * ddx
+          dwdy  = 0.25 * ( w(k,j+1,i) + w(k-1,j+1,i) - &
+                           w(k,j-1,i) - w(k-1,j-1,i) ) * ddy
+          dwdz  =        ( w(k,j,i)   - w(k-1,j,i)   ) * ddzw(k)
+
+          def = 2.0 * ( dudx**2 + dvdy**2 + dwdz**2 ) +           &
+                dudy**2 + dvdx**2 + dwdx**2 + dwdy**2 + dudz**2 + &
+                dvdz**2 + 2.0 * ( dvdx*dudy + dwdx*dudz + dwdy*dvdz )
+
+          IF ( def < 0.0 )  def = 0.0
+
+          tend(k,j,i) = tend(k,j,i) + km(k,j,i) * def
+
+       ENDIF
+
+!
+!--    Calculate TKE production by buoyancy
+       IF ( .NOT. humidity )  THEN
+
+          IF ( use_reference )  THEN
+
+             IF ( ocean )  THEN
+!
+!--             So far in the ocean no special treatment of density flux in the
+!--             bottom and top surface layer
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tend(k,j,i) = tend(k,j,i) + kh(k,j,i) * g / rho_reference * &
+                                      ( rho(k+1,j,i) - rho(k-1,j,i) ) * dd2zu(k)
+                ENDDO
+
+             ELSE
+
+                DO  k = nzb_diff_s_inner(j,i), nzt_diff
+                   tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt_reference * &
+                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
+                ENDDO
+
+                IF ( use_surface_fluxes )  THEN
+                   k = nzb_diff_s_inner(j,i)-1
+                   tend(k,j,i) = tend(k,j,i) + g / pt_reference * shf(j,i)
+                ENDIF
+
+                IF ( use_top_fluxes )  THEN
+                   k = nzt
+                   tend(k,j,i) = tend(k,j,i) + g / pt_reference * tswst(j,i)
+                ENDIF
+
+             ENDIF
+
+          ELSE
+
+             IF ( ocean )  THEN
+!
+!--             So far in the ocean no special treatment of density flux in the
+!--             bottom and top surface layer
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tend(k,j,i) = tend(k,j,i) + kh(k,j,i) * g / rho(k,j,i) * &
+                                      ( rho(k+1,j,i) - rho(k-1,j,i) ) * dd2zu(k)
+                ENDDO
+
+             ELSE
+
+                DO  k = nzb_diff_s_inner(j,i), nzt_diff
+                   tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt(k,j,i) * &
+                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
+                ENDDO
+
+                IF ( use_surface_fluxes )  THEN
+                   k = nzb_diff_s_inner(j,i)-1
+                   tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
+                ENDIF
+
+                IF ( use_top_fluxes )  THEN
+                   k = nzt
+                   tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
+                ENDIF
+
+             ENDIF
+
+          ENDIF
+
+       ELSE
+
+          DO  k = nzb_diff_s_inner(j,i), nzt_diff
+
+             IF ( .NOT. cloud_physics )  THEN
+                k1 = 1.0 + 0.61 * q(k,j,i)
+                k2 = 0.61 * pt(k,j,i)
+             ELSE
+                IF ( ql(k,j,i) == 0.0 )  THEN
+                   k1 = 1.0 + 0.61 * q(k,j,i)
+                   k2 = 0.61 * pt(k,j,i)
+                ELSE
+                   theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                   temp  = theta * t_d_pt(k)
+                   k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                              ( q(k,j,i) - ql(k,j,i) ) *          &
+                        ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                        ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                        ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                   k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                ENDIF
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / vpt(k,j,i) *      &
+                                      ( k1 * ( pt(k+1,j,i)-pt(k-1,j,i) ) + &
+                                        k2 * ( q(k+1,j,i) - q(k-1,j,i) )   &
+                                      ) * dd2zu(k)
+          ENDDO
+
+          IF ( use_surface_fluxes )  THEN
+             k = nzb_diff_s_inner(j,i)-1
+
+             IF ( .NOT. cloud_physics ) THEN
+                k1 = 1.0 + 0.61 * q(k,j,i)
+                k2 = 0.61 * pt(k,j,i)
+             ELSE
+                IF ( ql(k,j,i) == 0.0 )  THEN
+                   k1 = 1.0 + 0.61 * q(k,j,i)
+                   k2 = 0.61 * pt(k,j,i)
+                ELSE
+                   theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                   temp  = theta * t_d_pt(k)
+                   k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                              ( q(k,j,i) - ql(k,j,i) ) *          &
+                        ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                        ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                        ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                   k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                ENDIF
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i) + g / vpt(k,j,i) * &
+                                         ( k1* shf(j,i) + k2 * qsws(j,i) )
+          ENDIF
+
+          IF ( use_top_fluxes )  THEN
+             k = nzt
+
+             IF ( .NOT. cloud_physics ) THEN
+                k1 = 1.0 + 0.61 * q(k,j,i)
+                k2 = 0.61 * pt(k,j,i)
+             ELSE
+                IF ( ql(k,j,i) == 0.0 )  THEN
+                   k1 = 1.0 + 0.61 * q(k,j,i)
+                   k2 = 0.61 * pt(k,j,i)
+                ELSE
+                   theta = pt(k,j,i) + pt_d_t(k) * l_d_cp * ql(k,j,i)
+                   temp  = theta * t_d_pt(k)
+                   k1 = ( 1.0 - q(k,j,i) + 1.61 *                 &
+                              ( q(k,j,i) - ql(k,j,i) ) *          &
+                        ( 1.0 + 0.622 * l_d_r / temp ) ) /        &
+                        ( 1.0 + 0.622 * l_d_r * l_d_cp *          &
+                        ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
+                   k2 = theta * ( l_d_cp / temp * k1 - 1.0 )
+                ENDIF
+             ENDIF
+
+             tend(k,j,i) = tend(k,j,i) + g / vpt(k,j,i) * &
+                                         ( k1* tswst(j,i) + k2 * qswst(j,i) )
+          ENDIF
+
+       ENDIF
+
+    END SUBROUTINE production_e_ij
+
+
+    SUBROUTINE production_e_init
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, ku, kv
+
+       IF ( prandtl_layer )  THEN
+
+          IF ( first_call )  THEN
+             ALLOCATE( u_0(nys-1:nyn+1,nxl-1:nxr+1), &
+                       v_0(nys-1:nyn+1,nxl-1:nxr+1) )
+             first_call = .FALSE.
+          ENDIF
+
+!
+!--       Calculate a virtual velocity at the surface in a way that the
+!--       vertical velocity gradient at k = 1 (u(k+1)-u_0) matches the
+!--       Prandtl law (-w'u'/km). This gradient is used in the TKE shear
+!--       production term at k=1 (see production_e_ij).
+!--       The velocity gradient has to be limited in case of too small km
+!--       (otherwise the timestep may be significantly reduced by large
+!--       surface winds).
+!--       Upper bounds are nxr+1 and nyn+1 because otherwise these values are
+!--       not available in case of non-cyclic boundary conditions.
+!--       WARNING: the exact analytical solution would require the determination
+!--                of the eddy diffusivity by km = u* * kappa * zp / phi_m.
+          !$OMP PARALLEL DO PRIVATE( ku, kv )
+          DO  i = nxl, nxr+1
+             DO  j = nys, nyn+1
+
+                ku = nzb_u_inner(j,i)+1
+                kv = nzb_v_inner(j,i)+1
+
+                u_0(j,i) = u(ku+1,j,i) + usws(j,i) * ( zu(ku+1) - zu(ku-1) ) / &
+                                 ( 0.5 * ( km(ku,j,i) + km(ku,j,i-1) ) +       &
+                                   1.0E-20 )
+!                                  ( us(j,i) * kappa * zu(1) )
+                v_0(j,i) = v(kv+1,j,i) + vsws(j,i) * ( zu(kv+1) - zu(kv-1) ) / &
+                                 ( 0.5 * ( km(kv,j,i) + km(kv,j-1,i) ) +       &
+                                   1.0E-20 )
+!                                  ( us(j,i) * kappa * zu(1) )
+
+                IF ( ABS( u(ku+1,j,i) - u_0(j,i) )  > &
+                     ABS( u(ku+1,j,i) - u(ku-1,j,i) ) )  u_0(j,i) = u(ku-1,j,i)
+                IF ( ABS( v(kv+1,j,i) - v_0(j,i) )  > &
+                     ABS( v(kv+1,j,i) - v(kv-1,j,i) ) )  v_0(j,i) = v(kv-1,j,i)
+
+             ENDDO
+          ENDDO
+
+          CALL exchange_horiz_2d( u_0 )
+          CALL exchange_horiz_2d( v_0 )
+
+       ENDIF
+
+    END SUBROUTINE production_e_init
+
+ END MODULE production_e_mod
Index: palm/tags/release-3.7/SOURCE/prognostic_equations.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/prognostic_equations.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/prognostic_equations.f90	(revision 393)
@@ -0,0 +1,2076 @@
+ MODULE prognostic_equations_mod
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! prho is used instead of rho in diffusion_e,
+! external pressure gradient
+!
+! 153 2008-03-19 09:41:30Z steinfeld
+! add call of plant_canopy_model in the prognostic equation for
+! the potential temperature and for the passive scalar
+!
+! 138 2007-11-28 10:03:58Z letzel
+! add call of subroutines that evaluate the canopy drag terms,
+! add wall_*flux to parameter list of calls of diffusion_s
+!
+! 106 2007-08-16 14:30:26Z raasch
+! +uswst, vswst as arguments in calls of diffusion_u|v,
+! loops for u and v are starting from index nxlu, nysv, respectively (needed
+! for non-cyclic boundary conditions)
+!
+! 97 2007-06-21 08:23:15Z raasch
+! prognostic equation for salinity, density is calculated from equation of
+! state for seawater and is used for calculation of buoyancy,
+! +eqn_state_seawater_mod
+! diffusion_e is called with argument rho in case of ocean runs,
+! new argument zw in calls of diffusion_e, new argument pt_/prho_reference
+! in calls of buoyancy and diffusion_e, calc_mean_pt_profile renamed
+! calc_mean_profile
+!
+! 75 2007-03-22 09:54:05Z raasch
+! checking for negative q and limiting for positive values,
+! z0 removed from arguments in calls of diffusion_u/v/w, uxrp, vynp eliminated,
+! subroutine names changed to .._noopt, .._cache, and .._vector,
+! moisture renamed humidity, Bott-Chlond-scheme can be used in the
+! _vector-version
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Calculation of e, q, and pt extended for gridpoint nzt,
+! handling of given temperature/humidity/scalar fluxes at top surface
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.21  2006/08/04 15:01:07  raasch
+! upstream scheme can be forced to be used for tke (use_upstream_for_tke)
+! regardless of the timestep scheme used for the other quantities,
+! new argument diss in call of diffusion_e
+!
+! Revision 1.1  2000/04/13 14:56:27  schroeter
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Solving the prognostic equations.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE eqn_state_seawater_mod
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE pointer_interfaces
+    USE statistics
+
+    USE advec_s_pw_mod
+    USE advec_s_up_mod
+    USE advec_u_pw_mod
+    USE advec_u_up_mod
+    USE advec_v_pw_mod
+    USE advec_v_up_mod
+    USE advec_w_pw_mod
+    USE advec_w_up_mod
+    USE buoyancy_mod
+    USE calc_precipitation_mod
+    USE calc_radiation_mod
+    USE coriolis_mod
+    USE diffusion_e_mod
+    USE diffusion_s_mod
+    USE diffusion_u_mod
+    USE diffusion_v_mod
+    USE diffusion_w_mod
+    USE impact_of_latent_heat_mod
+    USE plant_canopy_model_mod
+    USE production_e_mod
+    USE user_actions_mod
+
+
+    PRIVATE
+    PUBLIC prognostic_equations_noopt, prognostic_equations_cache, &
+           prognostic_equations_vector
+
+    INTERFACE prognostic_equations_noopt
+       MODULE PROCEDURE prognostic_equations_noopt
+    END INTERFACE prognostic_equations_noopt
+
+    INTERFACE prognostic_equations_cache
+       MODULE PROCEDURE prognostic_equations_cache
+    END INTERFACE prognostic_equations_cache
+
+    INTERFACE prognostic_equations_vector
+       MODULE PROCEDURE prognostic_equations_vector
+    END INTERFACE prognostic_equations_vector
+
+
+ CONTAINS
+
+
+ SUBROUTINE prognostic_equations_noopt
+
+!------------------------------------------------------------------------------!
+! Version with single loop optimization
+!
+! (Optimized over each single prognostic equation.)
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  i, j, k
+    REAL    ::  sat, sbt
+
+!
+!-- Calculate those variables needed in the tendency terms which need
+!-- global communication
+    CALL calc_mean_profile( pt, 4 )
+    IF ( ocean    )  CALL calc_mean_profile( rho, 64 )
+    IF ( humidity )  CALL calc_mean_profile( vpt, 44 )
+
+!
+!-- u-velocity component
+    CALL cpu_log( log_point(5), 'u-equation', 'start' )
+
+!
+!-- u-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_u_ups
+    ENDIF
+
+!
+!-- u-tendency terms with no communication
+    DO  i = nxlu, nxr
+       DO  j = nys, nyn
+!
+!--       Tendency terms
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             tend(:,j,i) = 0.0
+             CALL advec_u_pw( i, j )
+          ELSE
+             IF ( momentum_advec /= 'ups-scheme' )  THEN
+                tend(:,j,i) = 0.0
+                CALL advec_u_up( i, j )
+             ENDIF
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             CALL diffusion_u( i, j, ddzu, ddzw, km_m, km_damp_y, tend, u_m,   &
+                               usws_m, uswst_m, v_m, w_m )
+          ELSE
+             CALL diffusion_u( i, j, ddzu, ddzw, km, km_damp_y, tend, u, usws, &
+                               uswst, v, w )
+          ENDIF
+          CALL coriolis( i, j, 1 )
+          IF ( sloping_surface )  CALL buoyancy( i, j, pt, pt_reference, 1, 4 )
+
+!
+!--       Drag by plant canopy
+          IF ( plant_canopy )  CALL plant_canopy_model( i, j, 1 )
+
+!
+!--       External pressure gradient
+          IF ( dp_external )  THEN
+             DO  k = dp_level_ind_b+1, nzt
+                tend(k,j,i) = tend(k,j,i) - dpdxy(1) * dp_smooth_factor(k)
+             ENDDO
+          ENDIF
+
+          CALL user_actions( i, j, 'u-tendency' )
+
+!
+!--       Prognostic equation for u-velocity component
+          DO  k = nzb_u_inner(j,i)+1, nzt
+             u_p(k,j,i) = ( 1.0-tsc(1) ) * u_m(k,j,i) + tsc(1) * u(k,j,i) +    &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tu_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j,i-1) ) * ddx    &
+                                  ) -                                          &
+                           tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_u_inner(j,i)+1, nzt
+                   tu_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_u_inner(j,i)+1, nzt
+                   tu_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tu_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+    CALL cpu_log( log_point(5), 'u-equation', 'stop' )
+
+!
+!-- v-velocity component
+    CALL cpu_log( log_point(6), 'v-equation', 'start' )
+
+!
+!-- v-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_v_ups
+    ENDIF
+
+!
+!-- v-tendency terms with no communication
+    DO  i = nxl, nxr
+       DO  j = nysv, nyn
+!
+!--       Tendency terms
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             tend(:,j,i) = 0.0
+             CALL advec_v_pw( i, j )
+          ELSE
+             IF ( momentum_advec /= 'ups-scheme' )  THEN
+                tend(:,j,i) = 0.0
+                CALL advec_v_up( i, j )
+             ENDIF
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             CALL diffusion_v( i, j, ddzu, ddzw, km_m, km_damp_x, tend, u_m, &
+                               v_m, vsws_m, vswst_m, w_m )
+          ELSE
+             CALL diffusion_v( i, j, ddzu, ddzw, km, km_damp_x, tend, u, v,  &
+                               vsws, vswst, w )
+          ENDIF
+          CALL coriolis( i, j, 2 )
+
+!
+!--       Drag by plant canopy
+          IF ( plant_canopy )  CALL plant_canopy_model( i, j, 2 )     
+
+!
+!--       External pressure gradient
+          IF ( dp_external )  THEN
+             DO  k = dp_level_ind_b+1, nzt
+                tend(k,j,i) = tend(k,j,i) - dpdxy(2) * dp_smooth_factor(k)
+             ENDDO
+          ENDIF
+
+          CALL user_actions( i, j, 'v-tendency' )
+
+!
+!--       Prognostic equation for v-velocity component
+          DO  k = nzb_v_inner(j,i)+1, nzt
+             v_p(k,j,i) = ( 1.0-tsc(1) ) * v_m(k,j,i) + tsc(1) * v(k,j,i) +    &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tv_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j-1,i) ) * ddy    &
+                                  ) -                                          &
+                          tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_v_inner(j,i)+1, nzt
+                   tv_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_v_inner(j,i)+1, nzt
+                   tv_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tv_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+    CALL cpu_log( log_point(6), 'v-equation', 'stop' )
+
+!
+!-- w-velocity component
+    CALL cpu_log( log_point(7), 'w-equation', 'start' )
+
+!
+!-- w-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_w_ups
+    ENDIF
+
+!
+!-- w-tendency terms with no communication
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+!
+!--       Tendency terms
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             tend(:,j,i) = 0.0
+             CALL advec_w_pw( i, j )
+          ELSE
+             IF ( momentum_advec /= 'ups-scheme' )  THEN
+                tend(:,j,i) = 0.0
+                CALL advec_w_up( i, j )
+             ENDIF
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             CALL diffusion_w( i, j, ddzu, ddzw, km_m, km_damp_x, km_damp_y,  &
+                               tend, u_m, v_m, w_m )
+          ELSE
+             CALL diffusion_w( i, j, ddzu, ddzw, km, km_damp_x, km_damp_y,    &
+                               tend, u, v, w )
+          ENDIF
+          CALL coriolis( i, j, 3 )
+          IF ( ocean )  THEN
+             CALL buoyancy( i, j, rho, rho_reference, 3, 64 )
+          ELSE
+             IF ( .NOT. humidity )  THEN
+                CALL buoyancy( i, j, pt, pt_reference, 3, 4 )
+             ELSE
+                CALL buoyancy( i, j, vpt, pt_reference, 3, 44 )
+             ENDIF
+          ENDIF
+
+!
+!--       Drag by plant canopy
+          IF ( plant_canopy )  CALL plant_canopy_model( i, j, 3 )
+
+          CALL user_actions( i, j, 'w-tendency' )
+
+!
+!--       Prognostic equation for w-velocity component
+          DO  k = nzb_w_inner(j,i)+1, nzt-1
+             w_p(k,j,i) = ( 1.0-tsc(1) ) * w_m(k,j,i) + tsc(1) * w(k,j,i) +    &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tw_m(k,j,i) &
+                              - tsc(4) * ( p(k+1,j,i) - p(k,j,i) ) * ddzu(k+1) &
+                                  ) -                                          &
+                          tsc(5) * rdf(k) * w(k,j,i)
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tw_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+    CALL cpu_log( log_point(7), 'w-equation', 'stop' )
+
+!
+!-- potential temperature
+    CALL cpu_log( log_point(13), 'pt-equation', 'start' )
+
+!
+!-- pt-tendency terms with communication
+    sat = tsc(1)
+    sbt = tsc(2)
+    IF ( scalar_advec == 'bc-scheme' )  THEN
+
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--       Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--       switched on. Thus:
+          sat = 1.0
+          sbt = 1.0
+       ENDIF
+       tend = 0.0
+       CALL advec_s_bc( pt, 'pt' )
+    ELSE
+       IF ( tsc(2) /= 2.0  .AND.  scalar_advec == 'ups-scheme' )  THEN
+          tend = 0.0
+          CALL advec_s_ups( pt, 'pt' )
+       ENDIF
+    ENDIF
+          
+!
+!-- pt-tendency terms with no communication
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+!
+!--       Tendency terms
+          IF ( scalar_advec == 'bc-scheme' )  THEN
+             CALL diffusion_s( i, j, ddzu, ddzw, kh, pt, shf, tswst, &
+                               wall_heatflux, tend )
+          ELSE
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+                tend(:,j,i) = 0.0
+                CALL advec_s_pw( i, j, pt )
+             ELSE
+                IF ( scalar_advec /= 'ups-scheme' )  THEN
+                   tend(:,j,i) = 0.0
+                   CALL advec_s_up( i, j, pt )
+                ENDIF
+             ENDIF
+             IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' ) &
+             THEN
+                CALL diffusion_s( i, j, ddzu, ddzw, kh_m, pt_m, shf_m, &
+                                  tswst_m, wall_heatflux, tend )
+             ELSE
+                CALL diffusion_s( i, j, ddzu, ddzw, kh, pt, shf, tswst, &
+                                  wall_heatflux, tend )
+             ENDIF
+          ENDIF
+
+!
+!--       If required compute heating/cooling due to long wave radiation
+!--       processes
+          IF ( radiation )  THEN
+             CALL calc_radiation( i, j )
+          ENDIF
+
+!
+!--       If required compute impact of latent heat due to precipitation
+          IF ( precipitation )  THEN
+             CALL impact_of_latent_heat( i, j )
+          ENDIF
+
+!
+!--       Consideration of heat sources within the plant canopy
+          IF ( plant_canopy .AND. ( cthf /= 0.0 ) ) THEN
+             CALL plant_canopy_model( i, j, 4 )
+          ENDIF
+
+          CALL user_actions( i, j, 'pt-tendency' )
+
+!
+!--       Prognostic equation for potential temperature
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             pt_p(k,j,i) = ( 1 - sat ) * pt_m(k,j,i) + sat * pt(k,j,i) + &
+                           dt_3d * (                                           &
+                                     sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
+                                   ) -                                         &
+                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tpt_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+    CALL cpu_log( log_point(13), 'pt-equation', 'stop' )
+
+!
+!-- If required, compute prognostic equation for salinity
+    IF ( ocean )  THEN
+
+       CALL cpu_log( log_point(37), 'sa-equation', 'start' )
+
+!
+!--    sa-tendency terms with communication
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+
+          IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--          Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--          switched on. Thus:
+             sat = 1.0
+             sbt = 1.0
+          ENDIF
+          tend = 0.0
+          CALL advec_s_bc( sa, 'sa' )
+       ELSE
+          IF ( tsc(2) /= 2.0 )  THEN
+             IF ( scalar_advec == 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_ups( sa, 'sa' )
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    sa terms with no communication
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+!
+!--          Tendency-terms
+             IF ( scalar_advec == 'bc-scheme' )  THEN
+                CALL diffusion_s( i, j, ddzu, ddzw, kh, sa, saswsb, saswst, &
+                                  wall_salinityflux, tend )
+             ELSE
+                IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' ) THEN
+                   tend(:,j,i) = 0.0
+                   CALL advec_s_pw( i, j, sa )
+                ELSE
+                   IF ( scalar_advec /= 'ups-scheme' )  THEN
+                      tend(:,j,i) = 0.0
+                      CALL advec_s_up( i, j, sa )
+                   ENDIF
+                ENDIF
+                CALL diffusion_s( i, j, ddzu, ddzw, kh, sa, saswsb, saswst, &
+                                  wall_salinityflux, tend )
+             ENDIF
+       
+             CALL user_actions( i, j, 'sa-tendency' )
+
+!
+!--          Prognostic equation for salinity
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                sa_p(k,j,i) = sat * sa(k,j,i) +                                &
+                              dt_3d * (                                        &
+                                     sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
+                                      ) -                                      &
+                              tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                      5.3125 * tsa_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+!
+!--          Calculate density by the equation of state for seawater
+             CALL eqn_state_seawater( i, j )
+
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point(37), 'sa-equation', 'stop' )
+
+    ENDIF
+
+!
+!-- If required, compute prognostic equation for total water content / scalar
+    IF ( humidity  .OR.  passive_scalar )  THEN
+
+       CALL cpu_log( log_point(29), 'q/s-equation', 'start' )
+
+!
+!--    Scalar/q-tendency terms with communication
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+
+          IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--          Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--          switched on. Thus:
+             sat = 1.0
+             sbt = 1.0
+          ENDIF
+          tend = 0.0
+          CALL advec_s_bc( q, 'q' )
+       ELSE
+          IF ( tsc(2) /= 2.0 )  THEN
+             IF ( scalar_advec == 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_ups( q, 'q' )
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    Scalar/q-tendency terms with no communication
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+!
+!--          Tendency-terms
+             IF ( scalar_advec == 'bc-scheme' )  THEN
+                CALL diffusion_s( i, j, ddzu, ddzw, kh, q, qsws, qswst, &
+                                  wall_qflux, tend )
+             ELSE
+                IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' ) THEN
+                   tend(:,j,i) = 0.0
+                   CALL advec_s_pw( i, j, q )
+                ELSE
+                   IF ( scalar_advec /= 'ups-scheme' )  THEN
+                      tend(:,j,i) = 0.0
+                      CALL advec_s_up( i, j, q )
+                   ENDIF
+                ENDIF
+                IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )&
+                THEN
+                   CALL diffusion_s( i, j, ddzu, ddzw, kh_m, q_m, qsws_m, &
+                                     qswst_m, wall_qflux, tend )
+                ELSE
+                   CALL diffusion_s( i, j, ddzu, ddzw, kh, q, qsws, qswst, &
+                                     wall_qflux, tend )
+                ENDIF
+             ENDIF
+       
+!
+!--          If required compute decrease of total water content due to
+!--          precipitation
+             IF ( precipitation )  THEN
+                CALL calc_precipitation( i, j )
+             ENDIF
+
+!
+!--          Sink or source of scalar concentration due to canopy elements
+             IF ( plant_canopy ) CALL plant_canopy_model( i, j, 5 )
+
+             CALL user_actions( i, j, 'q-tendency' )
+
+!
+!--          Prognostic equation for total water content / scalar
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                q_p(k,j,i) = ( 1 - sat ) * q_m(k,j,i) + sat * q(k,j,i) +       &
+                             dt_3d * (                                         &
+                                      sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
+                                     ) -                                       &
+                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tq_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point(29), 'q/s-equation', 'stop' )
+
+    ENDIF
+
+!
+!-- If required, compute prognostic equation for turbulent kinetic 
+!-- energy (TKE)
+    IF ( .NOT. constant_diffusion )  THEN
+
+       CALL cpu_log( log_point(16), 'tke-equation', 'start' )
+
+!
+!--    TKE-tendency terms with communication
+       CALL production_e_init
+
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( .NOT. use_upstream_for_tke )  THEN
+          IF ( scalar_advec == 'bc-scheme' )  THEN
+
+             IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--             Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--             switched on. Thus:
+                sat = 1.0
+                sbt = 1.0
+             ENDIF
+             tend = 0.0
+             CALL advec_s_bc( e, 'e' )
+          ELSE
+             IF ( tsc(2) /= 2.0 )  THEN
+                IF ( scalar_advec == 'ups-scheme' )  THEN
+                   tend = 0.0
+                   CALL advec_s_ups( e, 'e' )
+                ENDIF
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    TKE-tendency terms with no communication
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+!
+!--          Tendency-terms
+             IF ( scalar_advec == 'bc-scheme'  .AND.  &
+                  .NOT. use_upstream_for_tke )  THEN
+                IF ( .NOT. humidity )  THEN
+                   IF ( ocean )  THEN
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e, km,  &
+                                        l_grid, prho, prho_reference, rif,     &
+                                        tend, zu, zw )
+                   ELSE
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e, km,  &
+                                        l_grid, pt, pt_reference, rif, tend,   &
+                                        zu, zw )
+                   ENDIF
+                ELSE
+                   CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e, km,     &
+                                     l_grid, vpt, pt_reference, rif, tend, zu, &
+                                     zw )
+                ENDIF
+             ELSE
+                IF ( use_upstream_for_tke )  THEN
+                   tend(:,j,i) = 0.0
+                   CALL advec_s_up( i, j, e )
+                ELSE
+                   IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' ) &
+                   THEN
+                      tend(:,j,i) = 0.0
+                      CALL advec_s_pw( i, j, e )
+                   ELSE
+                      IF ( scalar_advec /= 'ups-scheme' )  THEN
+                         tend(:,j,i) = 0.0
+                         CALL advec_s_up( i, j, e )
+                      ENDIF
+                   ENDIF
+                ENDIF
+                IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )&
+                THEN
+                   IF ( .NOT. humidity )  THEN
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e_m, &
+                                        km_m, l_grid, pt_m, pt_reference,   &
+                                        rif_m, tend, zu, zw )
+                   ELSE
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e_m, &
+                                        km_m, l_grid, vpt_m, pt_reference,  &
+                                        rif_m, tend, zu, zw )
+                   ENDIF
+                ELSE
+                   IF ( .NOT. humidity )  THEN
+                      IF ( ocean )  THEN
+                         CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e,  &
+                                           km, l_grid, prho, prho_reference,  &
+                                           rif, tend, zu, zw )
+                      ELSE
+                         CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e,  &
+                                           km, l_grid, pt, pt_reference, rif, &
+                                           tend, zu, zw )
+                      ENDIF
+                   ELSE
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e, km, &
+                                        l_grid, vpt, pt_reference, rif, tend, &
+                                        zu, zw )
+                   ENDIF
+                ENDIF
+             ENDIF
+             CALL production_e( i, j )
+
+!
+!--          Additional sink term for flows through plant canopies
+             IF ( plant_canopy )  CALL plant_canopy_model( i, j, 6 )         
+
+             CALL user_actions( i, j, 'e-tendency' )
+
+!
+!--          Prognostic equation for TKE.
+!--          Eliminate negative TKE values, which can occur due to numerical
+!--          reasons in the course of the integration. In such cases the old TKE
+!--          value is reduced by 90%.
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                e_p(k,j,i) = ( 1 - sat ) * e_m(k,j,i) + sat * e(k,j,i) +       &
+                             dt_3d * (                                         &
+                                      sbt * tend(k,j,i) + tsc(3) * te_m(k,j,i) &
+                                     )
+                IF ( e_p(k,j,i) < 0.0 )  e_p(k,j,i) = 0.1 * e(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * te_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+       CALL cpu_log( log_point(16), 'tke-equation', 'stop' )
+
+    ENDIF
+
+
+ END SUBROUTINE prognostic_equations_noopt
+
+
+ SUBROUTINE prognostic_equations_cache
+
+!------------------------------------------------------------------------------!
+! Version with one optimized loop over all equations. It is only allowed to
+! be called for the standard Piascek-Williams advection scheme.
+!
+! Here the calls of most subroutines are embedded in two DO loops over i and j,
+! so communication between CPUs is not allowed (does not make sense) within
+! these loops.
+!
+! (Optimized to avoid cache missings, i.e. for Power4/5-architectures.)
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  i, j, k
+
+
+!
+!-- Time measurement can only be performed for the whole set of equations
+    CALL cpu_log( log_point(32), 'all progn.equations', 'start' )
+
+
+!
+!-- Calculate those variables needed in the tendency terms which need
+!-- global communication
+    CALL calc_mean_profile( pt, 4 )
+    IF ( ocean    )  CALL calc_mean_profile( rho, 64 )
+    IF ( humidity )  CALL calc_mean_profile( vpt, 44 )
+    IF ( .NOT. constant_diffusion )  CALL production_e_init
+
+
+!
+!-- Loop over all prognostic equations
+!$OMP PARALLEL private (i,j,k)
+!$OMP DO
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+!
+!--       Tendency terms for u-velocity component
+          IF ( .NOT. outflow_l  .OR.  i > nxl )  THEN
+
+             tend(:,j,i) = 0.0
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+                CALL advec_u_pw( i, j )
+             ELSE
+                CALL advec_u_up( i, j )
+             ENDIF
+             IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' ) &
+             THEN
+                CALL diffusion_u( i, j, ddzu, ddzw, km_m, km_damp_y, tend,  &
+                                  u_m, usws_m, uswst_m, v_m, w_m )
+             ELSE
+                CALL diffusion_u( i, j, ddzu, ddzw, km, km_damp_y, tend, u, &
+                                  usws, uswst, v, w )
+             ENDIF
+             CALL coriolis( i, j, 1 )
+             IF ( sloping_surface )  CALL buoyancy( i, j, pt, pt_reference, 1, &
+                                                    4 )
+
+!
+!--          Drag by plant canopy
+             IF ( plant_canopy )  CALL plant_canopy_model( i, j, 1 )
+
+!
+!--          External pressure gradient
+             IF ( dp_external )  THEN
+                DO  k = dp_level_ind_b+1, nzt
+                   tend(k,j,i) = tend(k,j,i) - dpdxy(1) * dp_smooth_factor(k)
+                ENDDO
+             ENDIF
+
+             CALL user_actions( i, j, 'u-tendency' )
+
+!
+!--          Prognostic equation for u-velocity component
+             DO  k = nzb_u_inner(j,i)+1, nzt
+                u_p(k,j,i) = ( 1.0-tsc(1) ) * u_m(k,j,i) + tsc(1) * u(k,j,i) + &
+                             dt_3d * (                                         &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tu_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j,i-1) ) * ddx    &
+                                     ) -                                       &
+                             tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_u_inner(j,i)+1, nzt
+                      tu_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_u_inner(j,i)+1, nzt
+                      tu_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tu_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDIF
+
+!
+!--       Tendency terms for v-velocity component
+          IF ( .NOT. outflow_s  .OR.  j > nys )  THEN
+
+             tend(:,j,i) = 0.0
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+                CALL advec_v_pw( i, j )
+             ELSE
+                CALL advec_v_up( i, j )
+             ENDIF
+             IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' ) &
+             THEN
+                CALL diffusion_v( i, j, ddzu, ddzw, km_m, km_damp_x, tend,     &
+                                  u_m, v_m, vsws_m, vswst_m, w_m )
+             ELSE
+                CALL diffusion_v( i, j, ddzu, ddzw, km, km_damp_x, tend, u, v, &
+                                  vsws, vswst, w )
+             ENDIF
+             CALL coriolis( i, j, 2 )
+
+!
+!--          Drag by plant canopy
+             IF ( plant_canopy )  CALL plant_canopy_model( i, j, 2 )        
+
+!
+!--          External pressure gradient
+             IF ( dp_external )  THEN
+                DO  k = dp_level_ind_b+1, nzt
+                   tend(k,j,i) = tend(k,j,i) - dpdxy(2) * dp_smooth_factor(k)
+                ENDDO
+             ENDIF
+
+             CALL user_actions( i, j, 'v-tendency' )
+
+!
+!--          Prognostic equation for v-velocity component
+             DO  k = nzb_v_inner(j,i)+1, nzt
+                v_p(k,j,i) = ( 1.0-tsc(1) ) * v_m(k,j,i) + tsc(1) * v(k,j,i) + &
+                             dt_3d * (                                         &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tv_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j-1,i) ) * ddy    &
+                                     ) -                                       &
+                             tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_v_inner(j,i)+1, nzt
+                      tv_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_v_inner(j,i)+1, nzt
+                      tv_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tv_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDIF
+
+!
+!--       Tendency terms for w-velocity component
+          tend(:,j,i) = 0.0
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             CALL advec_w_pw( i, j )
+          ELSE
+             CALL advec_w_up( i, j )
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' ) &
+          THEN
+             CALL diffusion_w( i, j, ddzu, ddzw, km_m, km_damp_x,          &
+                               km_damp_y, tend, u_m, v_m, w_m )
+          ELSE
+             CALL diffusion_w( i, j, ddzu, ddzw, km, km_damp_x, km_damp_y, &
+                               tend, u, v, w )
+          ENDIF
+          CALL coriolis( i, j, 3 )
+          IF ( ocean )  THEN
+             CALL buoyancy( i, j, rho, rho_reference, 3, 64 )
+          ELSE
+             IF ( .NOT. humidity )  THEN
+                CALL buoyancy( i, j, pt, pt_reference, 3, 4 )
+             ELSE
+                CALL buoyancy( i, j, vpt, pt_reference, 3, 44 )
+             ENDIF
+          ENDIF
+
+!
+!--       Drag by plant canopy
+          IF ( plant_canopy )  CALL plant_canopy_model( i, j, 3 )
+
+          CALL user_actions( i, j, 'w-tendency' )
+
+!
+!--       Prognostic equation for w-velocity component
+          DO  k = nzb_w_inner(j,i)+1, nzt-1
+             w_p(k,j,i) = ( 1.0-tsc(1) ) * w_m(k,j,i) + tsc(1) * w(k,j,i) + &
+                          dt_3d * (                                         &
+                                tsc(2) * tend(k,j,i) + tsc(3) * tw_m(k,j,i) &
+                           - tsc(4) * ( p(k+1,j,i) - p(k,j,i) ) * ddzu(k+1) &
+                                  ) -                                       &
+                          tsc(5) * rdf(k) * w(k,j,i)
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tw_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+!
+!--       Tendency terms for potential temperature
+          tend(:,j,i) = 0.0
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             CALL advec_s_pw( i, j, pt )
+          ELSE
+             CALL advec_s_up( i, j, pt )
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' ) &
+          THEN
+             CALL diffusion_s( i, j, ddzu, ddzw, kh_m, pt_m, shf_m, &
+                               tswst_m, wall_heatflux, tend )
+          ELSE
+             CALL diffusion_s( i, j, ddzu, ddzw, kh, pt, shf, tswst, &
+                               wall_heatflux, tend )
+          ENDIF
+
+!
+!--       If required compute heating/cooling due to long wave radiation
+!--       processes
+          IF ( radiation )  THEN
+             CALL calc_radiation( i, j )
+          ENDIF
+
+!
+!--       If required compute impact of latent heat due to precipitation
+          IF ( precipitation )  THEN
+             CALL impact_of_latent_heat( i, j )
+          ENDIF
+
+!
+!--       Consideration of heat sources within the plant canopy
+          IF ( plant_canopy .AND. ( cthf /= 0.0 ) ) THEN
+             CALL plant_canopy_model( i, j, 4 )
+          ENDIF
+
+          CALL user_actions( i, j, 'pt-tendency' )
+
+!
+!--       Prognostic equation for potential temperature
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             pt_p(k,j,i) = ( 1.0-tsc(1) ) * pt_m(k,j,i) + tsc(1)*pt(k,j,i) +&
+                           dt_3d * (                                        &
+                               tsc(2) * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
+                                   ) -                                      &
+                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+          ENDDO
+
+!
+!--       Calculate tendencies for the next Runge-Kutta step
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+             IF ( intermediate_timestep_count == 1 )  THEN
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ELSEIF ( intermediate_timestep_count < &
+                      intermediate_timestep_count_max )  THEN
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                   5.3125 * tpt_m(k,j,i)
+                ENDDO
+             ENDIF
+          ENDIF
+
+!
+!--       If required, compute prognostic equation for salinity
+          IF ( ocean )  THEN
+
+!
+!--          Tendency-terms for salinity
+             tend(:,j,i) = 0.0
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' ) &
+             THEN
+                CALL advec_s_pw( i, j, sa )
+             ELSE
+                CALL advec_s_up( i, j, sa )
+             ENDIF
+             CALL diffusion_s( i, j, ddzu, ddzw, kh, sa, saswsb, saswst, &
+                               wall_salinityflux, tend )
+
+             CALL user_actions( i, j, 'sa-tendency' )
+
+!
+!--          Prognostic equation for salinity
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                sa_p(k,j,i) = tsc(1) * sa(k,j,i) +                          &
+                              dt_3d * (                                     &
+                               tsc(2) * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
+                                      ) -                                   &
+                             tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                      5.3125 * tsa_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+!
+!--          Calculate density by the equation of state for seawater
+             CALL eqn_state_seawater( i, j )
+
+          ENDIF
+
+!
+!--       If required, compute prognostic equation for total water content /
+!--       scalar
+          IF ( humidity  .OR.  passive_scalar )  THEN
+
+!
+!--          Tendency-terms for total water content / scalar
+             tend(:,j,i) = 0.0
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' ) &
+             THEN
+                CALL advec_s_pw( i, j, q )
+             ELSE
+                CALL advec_s_up( i, j, q )
+             ENDIF
+             IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )&
+             THEN
+                CALL diffusion_s( i, j, ddzu, ddzw, kh_m, q_m, qsws_m, &
+                                  qswst_m, wall_qflux, tend )
+             ELSE
+                CALL diffusion_s( i, j, ddzu, ddzw, kh, q, qsws, qswst, &
+                                  wall_qflux, tend )
+             ENDIF
+       
+!
+!--          If required compute decrease of total water content due to
+!--          precipitation
+             IF ( precipitation )  THEN
+                CALL calc_precipitation( i, j )
+             ENDIF
+
+!
+!--          Sink or source of scalar concentration due to canopy elements
+             IF ( plant_canopy ) CALL plant_canopy_model( i, j, 5 )
+
+
+             CALL user_actions( i, j, 'q-tendency' )
+
+!
+!--          Prognostic equation for total water content / scalar
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                q_p(k,j,i) = ( 1.0-tsc(1) ) * q_m(k,j,i) + tsc(1)*q(k,j,i) +&
+                             dt_3d * (                                      &
+                                tsc(2) * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
+                                     ) -                                    &
+                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                     5.3125 * tq_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDIF
+
+!
+!--       If required, compute prognostic equation for turbulent kinetic 
+!--       energy (TKE)
+          IF ( .NOT. constant_diffusion )  THEN
+
+!
+!--          Tendency-terms for TKE
+             tend(:,j,i) = 0.0
+             IF ( ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  &
+                  .AND.  .NOT. use_upstream_for_tke )  THEN
+                CALL advec_s_pw( i, j, e )
+             ELSE
+                CALL advec_s_up( i, j, e )
+             ENDIF
+             IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )&
+             THEN
+                IF ( .NOT. humidity )  THEN
+                   CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e_m, &
+                                     km_m, l_grid, pt_m, pt_reference,   &
+                                     rif_m, tend, zu, zw )
+                ELSE
+                   CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e_m, &
+                                     km_m, l_grid, vpt_m, pt_reference,  &
+                                     rif_m, tend, zu, zw )
+                ENDIF
+             ELSE
+                IF ( .NOT. humidity )  THEN
+                   IF ( ocean )  THEN
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e,  &
+                                        km, l_grid, prho, prho_reference,  &
+                                        rif, tend, zu, zw )
+                   ELSE
+                      CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e,  &
+                                        km, l_grid, pt, pt_reference, rif, &
+                                        tend, zu, zw )
+                   ENDIF
+                ELSE
+                   CALL diffusion_e( i, j, ddzu, dd2zu, ddzw, diss, e, km, &
+                                     l_grid, vpt, pt_reference, rif, tend, &
+                                     zu, zw )
+                ENDIF
+             ENDIF
+             CALL production_e( i, j )
+
+!
+!--          Additional sink term for flows through plant canopies
+             IF ( plant_canopy )  CALL plant_canopy_model( i, j, 6 ) 
+
+             CALL user_actions( i, j, 'e-tendency' )
+
+!
+!--          Prognostic equation for TKE.
+!--          Eliminate negative TKE values, which can occur due to numerical
+!--          reasons in the course of the integration. In such cases the old
+!--          TKE value is reduced by 90%.
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                e_p(k,j,i) = ( 1.0-tsc(1) ) * e_m(k,j,i) + tsc(1)*e(k,j,i) +&
+                             dt_3d * (                                      &
+                                tsc(2) * tend(k,j,i) + tsc(3) * te_m(k,j,i) &
+                                     )
+                IF ( e_p(k,j,i) < 0.0 )  e_p(k,j,i) = 0.1 * e(k,j,i)
+             ENDDO
+
+!
+!--          Calculate tendencies for the next Runge-Kutta step
+             IF ( timestep_scheme(1:5) == 'runge' )  THEN
+                IF ( intermediate_timestep_count == 1 )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ELSEIF ( intermediate_timestep_count < &
+                         intermediate_timestep_count_max )  THEN
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                     5.3125 * te_m(k,j,i)
+                   ENDDO
+                ENDIF
+             ENDIF
+
+          ENDIF   ! TKE equation
+
+       ENDDO
+    ENDDO
+!$OMP END PARALLEL
+
+    CALL cpu_log( log_point(32), 'all progn.equations', 'stop' )
+
+
+ END SUBROUTINE prognostic_equations_cache
+
+
+ SUBROUTINE prognostic_equations_vector
+
+!------------------------------------------------------------------------------!
+! Version for vector machines
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  i, j, k
+    REAL    ::  sat, sbt
+
+!
+!-- Calculate those variables needed in the tendency terms which need
+!-- global communication
+    CALL calc_mean_profile( pt, 4 )
+    IF ( ocean    )  CALL calc_mean_profile( rho, 64 )
+    IF ( humidity )  CALL calc_mean_profile( vpt, 44 )
+
+!
+!-- u-velocity component
+    CALL cpu_log( log_point(5), 'u-equation', 'start' )
+
+!
+!-- u-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_u_ups
+    ENDIF
+
+!
+!-- u-tendency terms with no communication
+    IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+       tend = 0.0
+       CALL advec_u_pw
+    ELSE
+       IF ( momentum_advec /= 'ups-scheme' )  THEN
+          tend = 0.0
+          CALL advec_u_up
+       ENDIF
+    ENDIF
+    IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+       CALL diffusion_u( ddzu, ddzw, km_m, km_damp_y, tend, u_m, usws_m, &
+                         uswst_m, v_m, w_m )
+    ELSE
+       CALL diffusion_u( ddzu, ddzw, km, km_damp_y, tend, u, usws, uswst, v, w )
+    ENDIF
+    CALL coriolis( 1 )
+    IF ( sloping_surface )  CALL buoyancy( pt, pt_reference, 1, 4 )
+
+!
+!-- Drag by plant canopy
+    IF ( plant_canopy )  CALL plant_canopy_model( 1 )
+
+!
+!-- External pressure gradient
+    IF ( dp_external )  THEN
+       DO  i = nxlu, nxr
+          DO  j = nys, nyn
+             DO  k = dp_level_ind_b+1, nzt
+                tend(k,j,i) = tend(k,j,i) - dpdxy(1) * dp_smooth_factor(k)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDIF
+
+    CALL user_actions( 'u-tendency' )
+
+!
+!-- Prognostic equation for u-velocity component
+    DO  i = nxlu, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_u_inner(j,i)+1, nzt
+             u_p(k,j,i) = ( 1.0-tsc(1) ) * u_m(k,j,i) + tsc(1) * u(k,j,i) +    &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tu_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j,i-1) ) * ddx    &
+                                  ) -                                          &
+                          tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Calculate tendencies for the next Runge-Kutta step
+    IF ( timestep_scheme(1:5) == 'runge' )  THEN
+       IF ( intermediate_timestep_count == 1 )  THEN
+          DO  i = nxlu, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_u_inner(j,i)+1, nzt
+                   tu_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ELSEIF ( intermediate_timestep_count < &
+                intermediate_timestep_count_max )  THEN
+          DO  i = nxlu, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_u_inner(j,i)+1, nzt
+                   tu_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tu_m(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+    CALL cpu_log( log_point(5), 'u-equation', 'stop' )
+
+!
+!-- v-velocity component
+    CALL cpu_log( log_point(6), 'v-equation', 'start' )
+
+!
+!-- v-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_v_ups
+    ENDIF
+
+!
+!-- v-tendency terms with no communication
+    IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+       tend = 0.0
+       CALL advec_v_pw
+    ELSE
+       IF ( momentum_advec /= 'ups-scheme' )  THEN
+          tend = 0.0
+          CALL advec_v_up
+       ENDIF
+    ENDIF
+    IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+       CALL diffusion_v( ddzu, ddzw, km_m, km_damp_x, tend, u_m, v_m, vsws_m, &
+                         vswst_m, w_m )
+    ELSE
+       CALL diffusion_v( ddzu, ddzw, km, km_damp_x, tend, u, v, vsws, vswst, w )
+    ENDIF
+    CALL coriolis( 2 )
+
+!
+!-- Drag by plant canopy
+    IF ( plant_canopy )  CALL plant_canopy_model( 2 )
+
+!
+!-- External pressure gradient
+    IF ( dp_external )  THEN
+       DO  i = nxl, nxr
+          DO  j = nysv, nyn
+             DO  k = dp_level_ind_b+1, nzt
+                tend(k,j,i) = tend(k,j,i) - dpdxy(2) * dp_smooth_factor(k)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDIF
+
+    CALL user_actions( 'v-tendency' )
+
+!
+!-- Prognostic equation for v-velocity component
+    DO  i = nxl, nxr
+       DO  j = nysv, nyn
+          DO  k = nzb_v_inner(j,i)+1, nzt
+             v_p(k,j,i) = ( 1.0-tsc(1) ) * v_m(k,j,i) + tsc(1) * v(k,j,i) +    &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tv_m(k,j,i) &
+                                 - tsc(4) * ( p(k,j,i) - p(k,j-1,i) ) * ddy    &
+                                  ) -                                          &
+                          tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Calculate tendencies for the next Runge-Kutta step
+    IF ( timestep_scheme(1:5) == 'runge' )  THEN
+       IF ( intermediate_timestep_count == 1 )  THEN
+          DO  i = nxl, nxr
+             DO  j = nysv, nyn
+                DO  k = nzb_v_inner(j,i)+1, nzt
+                   tv_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ELSEIF ( intermediate_timestep_count < &
+                intermediate_timestep_count_max )  THEN
+          DO  i = nxl, nxr
+             DO  j = nysv, nyn
+                DO  k = nzb_v_inner(j,i)+1, nzt
+                   tv_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tv_m(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+    CALL cpu_log( log_point(6), 'v-equation', 'stop' )
+
+!
+!-- w-velocity component
+    CALL cpu_log( log_point(7), 'w-equation', 'start' )
+
+!
+!-- w-tendency terms with communication
+    IF ( momentum_advec == 'ups-scheme' )  THEN
+       tend = 0.0
+       CALL advec_w_ups
+    ENDIF
+
+!
+!-- w-tendency terms with no communication
+    IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+       tend = 0.0
+       CALL advec_w_pw
+    ELSE
+       IF ( momentum_advec /= 'ups-scheme' )  THEN
+          tend = 0.0
+          CALL advec_w_up
+       ENDIF
+    ENDIF
+    IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+       CALL diffusion_w( ddzu, ddzw, km_m, km_damp_x, km_damp_y, tend, u_m, &
+                         v_m, w_m )
+    ELSE
+       CALL diffusion_w( ddzu, ddzw, km, km_damp_x, km_damp_y, tend, u, v, w )
+    ENDIF
+    CALL coriolis( 3 )
+    IF ( ocean )  THEN
+       CALL buoyancy( rho, rho_reference, 3, 64 )
+    ELSE
+       IF ( .NOT. humidity )  THEN
+          CALL buoyancy( pt, pt_reference, 3, 4 )
+       ELSE
+          CALL buoyancy( vpt, pt_reference, 3, 44 )
+       ENDIF
+    ENDIF
+
+!
+!-- Drag by plant canopy
+    IF ( plant_canopy )  CALL plant_canopy_model( 3 )
+
+    CALL user_actions( 'w-tendency' )
+
+!
+!-- Prognostic equation for w-velocity component
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_w_inner(j,i)+1, nzt-1
+             w_p(k,j,i) = ( 1-tsc(1) ) * w_m(k,j,i) + tsc(1) * w(k,j,i) +      &
+                          dt_3d * (                                            &
+                                   tsc(2) * tend(k,j,i) + tsc(3) * tw_m(k,j,i) &
+                              - tsc(4) * ( p(k+1,j,i) - p(k,j,i) ) * ddzu(k+1) &
+                                  ) -                                          &
+                          tsc(5) * rdf(k) * w(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Calculate tendencies for the next Runge-Kutta step
+    IF ( timestep_scheme(1:5) == 'runge' )  THEN
+       IF ( intermediate_timestep_count == 1 )  THEN
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ELSEIF ( intermediate_timestep_count < &
+                intermediate_timestep_count_max )  THEN
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_w_inner(j,i)+1, nzt-1
+                   tw_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tw_m(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+    CALL cpu_log( log_point(7), 'w-equation', 'stop' )
+
+!
+!-- potential temperature
+    CALL cpu_log( log_point(13), 'pt-equation', 'start' )
+
+!
+!-- pt-tendency terms with communication
+    sat = tsc(1)
+    sbt = tsc(2)
+    IF ( scalar_advec == 'bc-scheme' )  THEN
+
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--       Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--       switched on. Thus:
+          sat = 1.0
+          sbt = 1.0
+       ENDIF
+       tend = 0.0
+       CALL advec_s_bc( pt, 'pt' )
+    ELSE
+       IF ( tsc(2) /= 2.0  .AND.  scalar_advec == 'ups-scheme' )  THEN
+          tend = 0.0
+          CALL advec_s_ups( pt, 'pt' )
+       ENDIF
+    ENDIF
+          
+!
+!-- pt-tendency terms with no communication
+    IF ( scalar_advec == 'bc-scheme' )  THEN
+       CALL diffusion_s( ddzu, ddzw, kh, pt, shf, tswst, wall_heatflux, &
+                         tend )
+    ELSE
+       IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+          tend = 0.0
+          CALL advec_s_pw( pt )
+       ELSE
+          IF ( scalar_advec /= 'ups-scheme' )  THEN
+             tend = 0.0
+             CALL advec_s_up( pt )
+          ENDIF
+       ENDIF
+       IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+          CALL diffusion_s( ddzu, ddzw, kh_m, pt_m, shf_m, tswst_m, &
+                            wall_heatflux, tend )
+       ELSE
+          CALL diffusion_s( ddzu, ddzw, kh, pt, shf, tswst, wall_heatflux, &
+                            tend )
+       ENDIF
+    ENDIF
+
+!
+!-- If required compute heating/cooling due to long wave radiation
+!-- processes
+    IF ( radiation )  THEN
+       CALL calc_radiation
+    ENDIF
+
+!
+!-- If required compute impact of latent heat due to precipitation
+    IF ( precipitation )  THEN
+       CALL impact_of_latent_heat
+    ENDIF
+
+!
+!-- Consideration of heat sources within the plant canopy
+    IF ( plant_canopy .AND. ( cthf /= 0.0 ) ) THEN
+       CALL plant_canopy_model( 4 )
+    ENDIF
+
+
+    CALL user_actions( 'pt-tendency' )
+
+!
+!-- Prognostic equation for potential temperature
+    DO  i = nxl, nxr
+       DO  j = nys, nyn
+          DO  k = nzb_s_inner(j,i)+1, nzt
+             pt_p(k,j,i) = ( 1 - sat ) * pt_m(k,j,i) + sat * pt(k,j,i) +       &
+                           dt_3d * (                                           &
+                                     sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
+                                   ) -                                         &
+                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Calculate tendencies for the next Runge-Kutta step
+    IF ( timestep_scheme(1:5) == 'runge' )  THEN
+       IF ( intermediate_timestep_count == 1 )  THEN
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = tend(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ELSEIF ( intermediate_timestep_count < &
+                intermediate_timestep_count_max )  THEN
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb_s_inner(j,i)+1, nzt
+                   tpt_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tpt_m(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDIF
+    ENDIF
+
+    CALL cpu_log( log_point(13), 'pt-equation', 'stop' )
+
+!
+!-- If required, compute prognostic equation for salinity
+    IF ( ocean )  THEN
+
+       CALL cpu_log( log_point(37), 'sa-equation', 'start' )
+
+!
+!--    sa-tendency terms with communication
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+
+          IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--          Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--          switched on. Thus:
+             sat = 1.0
+             sbt = 1.0
+          ENDIF
+          tend = 0.0
+          CALL advec_s_bc( sa, 'sa' )
+       ELSE
+          IF ( tsc(2) /= 2.0 )  THEN
+             IF ( scalar_advec == 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_ups( sa, 'sa' )
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    sa-tendency terms with no communication
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+          CALL diffusion_s( ddzu, ddzw, kh, sa, saswsb, saswst, &
+                            wall_salinityflux, tend )
+       ELSE
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             tend = 0.0
+             CALL advec_s_pw( sa )
+          ELSE
+             IF ( scalar_advec /= 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_up( sa )
+             ENDIF
+          ENDIF
+          CALL diffusion_s( ddzu, ddzw, kh, sa, saswsb, saswst, &
+                            wall_salinityflux, tend )
+       ENDIF
+       
+       CALL user_actions( 'sa-tendency' )
+
+!
+!--    Prognostic equation for salinity
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                sa_p(k,j,i) = sat * sa(k,j,i) +                                &
+                              dt_3d * (                                        &
+                                     sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
+                                      ) -                                      &
+                              tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Calculate tendencies for the next Runge-Kutta step
+       IF ( timestep_scheme(1:5) == 'runge' )  THEN
+          IF ( intermediate_timestep_count == 1 )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ELSEIF ( intermediate_timestep_count < &
+                   intermediate_timestep_count_max )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tsa_m(k,j,i) = -9.5625 * tend(k,j,i) + &
+                                      5.3125 * tsa_m(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+       ENDIF
+
+       CALL cpu_log( log_point(37), 'sa-equation', 'stop' )
+
+!
+!--    Calculate density by the equation of state for seawater
+       CALL cpu_log( log_point(38), 'eqns-seawater', 'start' )
+       CALL eqn_state_seawater
+       CALL cpu_log( log_point(38), 'eqns-seawater', 'stop' )
+
+    ENDIF
+
+!
+!-- If required, compute prognostic equation for total water content / scalar
+    IF ( humidity  .OR.  passive_scalar )  THEN
+
+       CALL cpu_log( log_point(29), 'q/s-equation', 'start' )
+
+!
+!--    Scalar/q-tendency terms with communication
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+
+          IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--          Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--          switched on. Thus:
+             sat = 1.0
+             sbt = 1.0
+          ENDIF
+          tend = 0.0
+          CALL advec_s_bc( q, 'q' )
+       ELSE
+          IF ( tsc(2) /= 2.0 )  THEN
+             IF ( scalar_advec == 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_ups( q, 'q' )
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    Scalar/q-tendency terms with no communication
+       IF ( scalar_advec == 'bc-scheme' )  THEN
+          CALL diffusion_s( ddzu, ddzw, kh, q, qsws, qswst, wall_qflux, tend )
+       ELSE
+          IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+             tend = 0.0
+             CALL advec_s_pw( q )
+          ELSE
+             IF ( scalar_advec /= 'ups-scheme' )  THEN
+                tend = 0.0
+                CALL advec_s_up( q )
+             ENDIF
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             CALL diffusion_s( ddzu, ddzw, kh_m, q_m, qsws_m, qswst_m, &
+                               wall_qflux, tend )
+          ELSE
+             CALL diffusion_s( ddzu, ddzw, kh, q, qsws, qswst, &
+                               wall_qflux, tend )
+          ENDIF
+       ENDIF
+       
+!
+!--    If required compute decrease of total water content due to
+!--    precipitation
+       IF ( precipitation )  THEN
+          CALL calc_precipitation
+       ENDIF
+
+!
+!--    Sink or source of scalar concentration due to canopy elements
+       IF ( plant_canopy ) CALL plant_canopy_model( 5 )
+
+       CALL user_actions( 'q-tendency' )
+
+!
+!--    Prognostic equation for total water content / scalar
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                q_p(k,j,i) = ( 1 - sat ) * q_m(k,j,i) + sat * q(k,j,i) +       &
+                             dt_3d * (                                         &
+                                      sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
+                                     ) -                                       &
+                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Calculate tendencies for the next Runge-Kutta step
+       IF ( timestep_scheme(1:5) == 'runge' )  THEN
+          IF ( intermediate_timestep_count == 1 )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ELSEIF ( intermediate_timestep_count < &
+                   intermediate_timestep_count_max )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      tq_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tq_m(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+       ENDIF
+
+       CALL cpu_log( log_point(29), 'q/s-equation', 'stop' )
+
+    ENDIF
+
+!
+!-- If required, compute prognostic equation for turbulent kinetic 
+!-- energy (TKE)
+    IF ( .NOT. constant_diffusion )  THEN
+
+       CALL cpu_log( log_point(16), 'tke-equation', 'start' )
+
+!
+!--    TKE-tendency terms with communication
+       CALL production_e_init
+
+       sat = tsc(1)
+       sbt = tsc(2)
+       IF ( .NOT. use_upstream_for_tke )  THEN
+          IF ( scalar_advec == 'bc-scheme' )  THEN
+
+             IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+!
+!--             Bott-Chlond scheme always uses Euler time step when leapfrog is
+!--             switched on. Thus:
+                sat = 1.0
+                sbt = 1.0
+             ENDIF
+             tend = 0.0
+             CALL advec_s_bc( e, 'e' )
+          ELSE
+             IF ( tsc(2) /= 2.0 )  THEN
+                IF ( scalar_advec == 'ups-scheme' )  THEN
+                   tend = 0.0
+                   CALL advec_s_ups( e, 'e' )
+                ENDIF
+             ENDIF
+          ENDIF
+       ENDIF
+
+!
+!--    TKE-tendency terms with no communication
+       IF ( scalar_advec == 'bc-scheme'  .AND.  .NOT. use_upstream_for_tke )  &
+       THEN
+          IF ( .NOT. humidity )  THEN
+             IF ( ocean )  THEN
+                CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, &
+                                  prho, prho_reference, rif, tend, zu, zw )
+             ELSE
+                CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, pt, &
+                                  pt_reference, rif, tend, zu, zw )
+             ENDIF
+          ELSE
+             CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, vpt, &
+                               pt_reference, rif, tend, zu, zw )
+          ENDIF
+       ELSE
+          IF ( use_upstream_for_tke )  THEN
+             tend = 0.0
+             CALL advec_s_up( e )
+          ELSE
+             IF ( tsc(2) == 2.0  .OR.  timestep_scheme(1:5) == 'runge' )  THEN
+                tend = 0.0
+                CALL advec_s_pw( e )
+             ELSE
+                IF ( scalar_advec /= 'ups-scheme' )  THEN
+                   tend = 0.0
+                   CALL advec_s_up( e )
+                ENDIF
+             ENDIF
+          ENDIF
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             IF ( .NOT. humidity )  THEN
+                CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e_m, km_m, l_grid, &
+                                  pt_m, pt_reference, rif_m, tend, zu, zw )
+             ELSE
+                CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e_m, km_m, l_grid, &
+                                  vpt_m, pt_reference, rif_m, tend, zu, zw )
+             ENDIF
+          ELSE
+             IF ( .NOT. humidity )  THEN
+                IF ( ocean )  THEN
+                   CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, &
+                                     prho, prho_reference, rif, tend, zu, zw )
+                ELSE
+                   CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, &
+                                     pt, pt_reference, rif, tend, zu, zw )
+                ENDIF
+             ELSE
+                CALL diffusion_e( ddzu, dd2zu, ddzw, diss, e, km, l_grid, vpt, &
+                                  pt_reference, rif, tend, zu, zw )
+             ENDIF
+          ENDIF
+       ENDIF
+       CALL production_e
+
+!
+!--    Additional sink term for flows through plant canopies
+       IF ( plant_canopy )  CALL plant_canopy_model( 6 )
+       CALL user_actions( 'e-tendency' )
+
+!
+!--    Prognostic equation for TKE.
+!--    Eliminate negative TKE values, which can occur due to numerical
+!--    reasons in the course of the integration. In such cases the old TKE
+!--    value is reduced by 90%.
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb_s_inner(j,i)+1, nzt
+                e_p(k,j,i) = ( 1 - sat ) * e_m(k,j,i) + sat * e(k,j,i) +       &
+                             dt_3d * (                                         &
+                                      sbt * tend(k,j,i) + tsc(3) * te_m(k,j,i) &
+                                     )
+                IF ( e_p(k,j,i) < 0.0 )  e_p(k,j,i) = 0.1 * e(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Calculate tendencies for the next Runge-Kutta step
+       IF ( timestep_scheme(1:5) == 'runge' )  THEN
+          IF ( intermediate_timestep_count == 1 )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = tend(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ELSEIF ( intermediate_timestep_count < &
+                   intermediate_timestep_count_max )  THEN
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb_s_inner(j,i)+1, nzt
+                      te_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * te_m(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+          ENDIF
+       ENDIF
+
+       CALL cpu_log( log_point(16), 'tke-equation', 'stop' )
+
+    ENDIF
+
+
+ END SUBROUTINE prognostic_equations_vector
+
+
+ END MODULE prognostic_equations_mod
Index: palm/tags/release-3.7/SOURCE/random_function.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/random_function.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/random_function.f90	(revision 393)
@@ -0,0 +1,87 @@
+ MODULE random_function_mod
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.3  2003/10/29 09:06:57  raasch
+! Former function changed to a module.
+!
+! Revision 1.1  1998/02/04 16:09:45  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Random number generator, produces numbers equally distributed in interval [0,1]
+! This routine is taken from the "numerical recipies"
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    PRIVATE
+
+    PUBLIC random_function, random_function_ini
+
+    INTEGER, PUBLIC, SAVE ::  random_iv(32), random_iy
+
+    INTERFACE random_function_ini
+       MODULE PROCEDURE random_function_ini
+    END INTERFACE random_function_ini
+
+    INTERFACE random_function
+       MODULE PROCEDURE random_function
+    END INTERFACE random_function
+
+ CONTAINS
+
+    SUBROUTINE random_function_ini
+
+       IMPLICIT NONE
+
+       random_iv = 0
+       random_iy = 0
+
+    END SUBROUTINE random_function_ini
+
+    FUNCTION random_function( idum )
+
+
+       IMPLICIT NONE
+
+       INTEGER ::  ia, idum, im, iq, ir, ndiv, ntab
+       REAL    ::  am, eps, random_function, ranf, rnmx
+
+       PARAMETER ( ia=16807, im=2147483647, am=1.0/im, iq=127773, ir=2836, &
+                   ntab=32, ndiv=1+(im-1)/ntab, eps=1.2e-7, rnmx=1.0-eps )
+
+       INTEGER ::  j, k
+
+
+       IF ( idum .le. 0  .or.  random_iy .eq. 0 )  THEN
+          idum = max (-idum,1)
+          DO  j = ntab+8,1,-1
+             k    = idum / iq
+             idum = ia * ( idum - k * iq ) - ir * k
+             IF ( idum .lt. 0 )  idum = idum + im
+             IF ( j .le. ntab )  random_iv(j) = idum
+          ENDDO
+          random_iy = random_iv(1)
+       ENDIF
+
+       k    = idum / iq
+       idum = ia * ( idum - k * iq ) - ir * k
+       IF ( idum .lt. 0 )  idum = idum + im
+       j            = 1 + random_iy / ndiv
+       random_iy    = random_iv(j)
+       random_iv(j) = idum
+       random_function  = min ( am * random_iy , rnmx )
+
+    END FUNCTION random_function
+
+ END MODULE random_function_mod
Index: palm/tags/release-3.7/SOURCE/random_gauss.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/random_gauss.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/random_gauss.f90	(revision 393)
@@ -0,0 +1,62 @@
+ FUNCTION random_gauss( idum, upper_limit )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.4  2006/08/04 15:01:48  raasch
+! Range of random number is limited by an upper limit (new second parameter)
+!
+! Revision 1.1  1998/03/25 20:09:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Generates a gaussian distributed random number (mean value 1, sigma = 1)
+! This routine is taken from the "numerical recipies".
+!------------------------------------------------------------------------------!
+
+    USE random_function_mod
+
+    IMPLICIT NONE
+
+    INTEGER :: idum, iset
+    REAL    :: fac, gset, random_gauss, rsq, upper_limit, v1, v2
+
+    SAVE  iset, gset
+
+    DATA  iset /0/
+
+!
+!-- Random numbers are created as long as they do not fall below the given
+!-- upper limit
+    DO
+
+       IF ( iset == 0 )  THEN
+          rsq = 0.0
+          DO  WHILE ( rsq >= 1.0  .OR.  rsq == 0.0 )
+             v1  = 2.0 * random_function( idum ) - 1.0
+             v2  = 2.0 * random_function( idum ) - 1.0
+             rsq = v1**2 + v2**2
+          ENDDO
+          fac          = SQRT( -2.0 * LOG( rsq ) / rsq )
+          gset         = v1 * fac
+          random_gauss = v2 * fac + 1.0
+          iset         = 1
+       ELSE
+          random_gauss = gset + 1.0
+          iset         = 0
+       ENDIF
+
+       IF ( ABS( random_gauss - 1.0 ) <= upper_limit )  EXIT
+
+    ENDDO
+
+ END FUNCTION random_gauss
Index: palm/tags/release-3.7/SOURCE/read_3d_binary.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/read_3d_binary.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/read_3d_binary.f90	(revision 393)
@@ -0,0 +1,999 @@
+ SUBROUTINE read_3d_binary
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 367 2009-08-25 08:35:52Z maronga
+! Output of messages replaced by message handling routine.
+! +shf_av, qsws_av
+!
+! 220 2008-12-18 07:00:36Z raasch
+! reading mechanism completely revised (subdomain/total domain size can vary
+! arbitrarily between current and previous run)
+! Bugfix: reading of spectrum_x|y from restart files ignored if total numbers
+! of grid points do not match
+!
+! 150 2008-02-29 08:19:58Z raasch
+! Files from which restart data are to be read are determined and subsequently
+! opened. The total domain on the restart file is allowed to be smaller than
+! the current total domain. In this case it will be periodically mapped on the
+! current domain (needed for recycling method).
+! +call of user_read_restart_data, -dopr_time_count,
+! hom_sum, volume_flow_area, volume_flow_initial moved to read_var_list,
+! reading of old profil parameters (cross_..., dopr_crossindex, profile_***)
+! removed, initialization of spectrum_x|y removed
+!
+! 102 2007-07-27 09:09:17Z raasch
+! +uswst, uswst_m, vswst, vswst_m
+!
+! 96 2007-06-04 08:07:41Z raasch
+! +rho_av, sa, sa_av, saswsb, saswst
+!
+! 73 2007-03-20 08:33:14Z raasch
+! +precipitation_amount, precipitation_rate_av, rif_wall, u_m_l, u_m_r, etc.,
+! z0_av
+!
+! 19 2007-02-23 04:53:48Z raasch
+! +qswst, qswst_m, tswst, tswst_m
+! 
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.4  2006/08/04 15:02:32  raasch
+! +iran, iran_part
+!
+! Revision 1.1  2004/04/30 12:47:27  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Binary input of variables and arrays from restart file
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE random_function_mod
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=5)  ::  myid_char_save
+    CHARACTER (LEN=10) ::  binary_version, version_on_file
+    CHARACTER (LEN=20) ::  field_chr
+
+    INTEGER ::  files_to_be_opened, i, j, k, myid_on_file,                    &
+                numprocs_on_file, nxlc, nxlf, nxlpr, nxl_on_file, nxrc, nxrf, &
+                nxrpr, nxr_on_file, nync, nynf, nynpr, nyn_on_file, nysc,     &
+                nysf, nyspr, nys_on_file, nzb_on_file, nzt_on_file, offset_x, &
+                offset_y, shift_x, shift_y
+
+    INTEGER, DIMENSION(numprocs_previous_run) ::  file_list, overlap_count
+
+    INTEGER, DIMENSION(numprocs_previous_run,1000) ::  nxlfa, nxrfa, nynfa, &
+                                                       nysfa, offset_xa, &
+                                                       offset_ya
+    REAL ::  rdummy
+
+    REAL, DIMENSION(:,:), ALLOCATABLE     ::  tmp_2d
+    REAL, DIMENSION(:,:,:), ALLOCATABLE   ::  tmp_3d, tmp_3dwul, tmp_3dwun,    &
+                                              tmp_3dwur, tmp_3dwus, tmp_3dwvl, &
+                                              tmp_3dwvn, tmp_3dwvr, tmp_3dwvs, &
+                                              tmp_3dwwl, tmp_3dwwn, tmp_3dwwr, &
+                                              tmp_3dwws
+    REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  tmp_4d
+
+
+!
+!-- Read data from previous model run.
+    CALL cpu_log( log_point_s(14), 'read_3d_binary', 'start' )
+
+!
+!-- Check which of the restart files contain data needed for the subdomain
+!-- of this PE
+    files_to_be_opened = 0
+
+    DO  i = 1, numprocs_previous_run
+!
+!--    Store array bounds of the previous run ("pr") in temporary scalars
+       nxlpr = hor_index_bounds_previous_run(1,i-1)
+       nxrpr = hor_index_bounds_previous_run(2,i-1)
+       nyspr = hor_index_bounds_previous_run(3,i-1)
+       nynpr = hor_index_bounds_previous_run(4,i-1)
+
+!
+!--    Determine the offsets. They may be non-zero in case that the total domain
+!--    on file is smaller than the current total domain.
+       offset_x = ( nxl / ( nx_on_file + 1 ) ) * ( nx_on_file + 1 )
+       offset_y = ( nys / ( ny_on_file + 1 ) ) * ( ny_on_file + 1 )
+
+!
+!--    Start with this offset and then check, if the subdomain on file
+!--    matches another time(s) in the current subdomain by shifting it
+!--    for nx_on_file+1, ny_on_file+1 respectively
+
+       shift_y = 0
+       j       = 0  ! counter for the number of files to be opened
+
+       DO WHILE ( nyspr+shift_y <= nyn-offset_y  .AND.  &
+                  nynpr+shift_y >= nys-offset_y )
+
+          shift_x = 0
+
+          DO WHILE ( nxlpr+shift_x <= nxr-offset_x  .AND. &
+                     nxrpr+shift_x >= nxl-offset_x )
+
+             j = j +1
+
+             IF ( j > 1000 )  THEN
+!
+!--             Array bound exceeded
+                message_string = 'data from subdomain of previous' // &
+                                 ' run mapped more than 1000 times'
+                CALL message( 'read_3d_binary', 'PA0284', 2, 2, -1, 6, 1 )
+ 
+             ENDIF
+
+             IF ( j == 1 )  THEN
+                files_to_be_opened = files_to_be_opened + 1
+                file_list(files_to_be_opened) = i-1
+             ENDIF
+
+             offset_xa(files_to_be_opened,j) = offset_x + shift_x
+             offset_ya(files_to_be_opened,j) = offset_y + shift_y
+
+!
+!--          Index bounds of overlapping data
+             nxlfa(files_to_be_opened,j) = MAX( nxl-offset_x-shift_x, nxlpr )
+             nxrfa(files_to_be_opened,j) = MIN( nxr-offset_x-shift_x, nxrpr )
+             nysfa(files_to_be_opened,j) = MAX( nys-offset_y, nyspr )
+             nynfa(files_to_be_opened,j) = MIN( nyn-offset_y, nynpr )
+
+             shift_x = shift_x + ( nx_on_file + 1 )
+
+          ENDDO
+
+          shift_y = shift_y + ( ny_on_file + 1 )
+
+       ENDDO
+
+       IF ( j > 0 )  overlap_count(files_to_be_opened) = j
+
+!
+!--    Test output, to be removed later
+       IF ( j > 0 )  THEN
+          WRITE (9,*) '*** reading from file: ', i, j, ' times'
+          WRITE (9,*) '    nxl = ', nxl, ' nxr = ', nxr, ' nys = ', nys, ' nyn = ', nyn
+          WRITE (9,*) ' '
+          DO  k = 1, j
+             WRITE (9,*) 'k = ', k
+             WRITE (9,'(6(A,I2))')  'nxlfa = ', nxlfa(files_to_be_opened,k), &
+                         ' nxrfa = ', nxrfa(files_to_be_opened,k), &
+                         ' offset_xa = ', offset_xa(files_to_be_opened,k), &
+                         ' nysfa = ', nysfa(files_to_be_opened,k), &
+                         ' nynfa = ', nynfa(files_to_be_opened,k), &
+                         ' offset_ya = ', offset_ya(files_to_be_opened,k)
+          ENDDO
+          CALL local_flush( 9 )
+       ENDIF
+
+    ENDDO
+
+!
+!-- Save the id-string of the current process, since myid_char may now be used
+!-- to open files created by PEs with other id.
+    myid_char_save = myid_char
+
+!
+!-- Test output (remove later)
+    DO i = 1, numprocs_previous_run
+       WRITE (9,*) 'i=',i-1, ' ibs= ',hor_index_bounds_previous_run(1:4,i-1)
+    ENDDO
+    CALL local_flush( 9 )
+
+    IF ( files_to_be_opened /= 1  .OR.  numprocs /= numprocs_previous_run ) &
+    THEN
+       WRITE( message_string, * ) 'number of PEs or virtual PE-grid changed ', &
+                        'in restart run&  PE', myid, ' will read from files ', &
+                         file_list(1:files_to_be_opened)
+       CALL message( 'read_3d_binary', 'PA0285', 0, 0, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Read data from all restart files determined above
+    DO  i = 1, files_to_be_opened
+
+       j = file_list(i)
+!
+!--    Set the filename (underscore followed by four digit processor id)
+       WRITE (myid_char,'(''_'',I4.4)')  j
+       WRITE (9,*) 'myid=',myid,' opening file "',myid_char,'"'
+       CALL local_flush( 9 )
+
+!
+!--    Open the restart file. If this file has been created by PE0 (_0000),
+!--    the global variables at the beginning of the file have to be skipped
+!--    first.
+       CALL check_open( 13 )
+       WRITE (9,*) 'before skipping'
+       CALL local_flush( 9 )
+       IF ( j == 0 )  CALL skip_var_list
+       WRITE (9,*) 'skipping done'
+       CALL local_flush( 9 )
+
+!
+!--    First compare the version numbers
+       READ ( 13 )  version_on_file
+       binary_version = '3.1'
+       IF ( TRIM( version_on_file ) /= TRIM( binary_version ) )  THEN
+          WRITE( message_string, * ) 'version mismatch concerning data ',      &
+                      'from prior run',                                        &
+                      '&version on file    = "', TRIM( version_on_file ), '"', &
+                      '&version in program = "', TRIM( binary_version ), '"'
+          CALL message( 'read_3d_binary', 'PA0286', 1, 2, 0, 6, 0 )
+       ENDIF
+
+!
+!--    Read number of processors, processor-id, and array ranges.
+!--    Compare the array ranges with those stored in the index bound array.
+       READ ( 13 )  numprocs_on_file, myid_on_file, nxl_on_file, nxr_on_file, &
+                    nys_on_file, nyn_on_file, nzb_on_file, nzt_on_file
+
+       IF ( nxl_on_file /= hor_index_bounds_previous_run(1,j) )  THEN
+          WRITE( message_string, * ) 'problem with index bound nxl on ',  &
+                            'restart file "', myid_char, '"',             &
+                            '&nxl = ', nxl_on_file, ' but it should be',  &
+                            '&= ', hor_index_bounds_previous_run(1,j),    &
+                            '&from the index bound information array'
+          CALL message( 'read_3d_binary', 'PA0287', 2, 2, -1, 6, 1 )
+       ENDIF
+
+       IF ( nxr_on_file /= hor_index_bounds_previous_run(2,j) )  THEN
+           WRITE( message_string, * ) 'problem with index bound nxr on ',   &
+                               'restart file "', myid_char, '"'  ,          &
+                               '&nxr = ', nxr_on_file, ' but it should be', &
+                               '&= ', hor_index_bounds_previous_run(2,j),   &
+                               '&from the index bound information array' 
+          CALL message( 'read_3d_binary', 'PA0288', 2, 2, -1, 6, 1 )
+
+       ENDIF
+
+       IF ( nys_on_file /= hor_index_bounds_previous_run(3,j) )  THEN
+          WRITE( message_string, * ) 'problem with index bound nys on ',      &
+                                 'restart file "', myid_char, '"',            &
+                                 '&nys = ', nys_on_file, ' but it should be', &
+                                 '&= ', hor_index_bounds_previous_run(3,j),   &
+                                     '&from the index bound information array'
+          CALL message( 'read_3d_binary', 'PA0289', 2, 2, -1, 6, 1 ) 
+       ENDIF
+
+       IF ( nyn_on_file /= hor_index_bounds_previous_run(4,j) )  THEN
+          WRITE( message_string, * ) 'problem with index bound nyn on ',    &
+                               'restart file "', myid_char, '"',            &
+                               '&nyn = ', nyn_on_file, ' but it should be', &
+                               '&= ', hor_index_bounds_previous_run(4,j),   &
+                               '&from the index bound information array'
+          CALL message( 'read_3d_binary', 'PA0290', 2, 2, -1, 6, 1 ) 
+       ENDIF
+
+       IF ( nzb_on_file /= nzb )  THEN
+          WRITE( message_string, * ) 'mismatch between actual data and data ', &
+                                     '&from prior run on PE ', myid,           &
+                                     '&nzb on file = ', nzb_on_file,           &
+                                     '&nzb         = ', nzb
+          CALL message( 'read_3d_binary', 'PA0291', 1, 2, 0, 6, 0 )  
+       ENDIF
+
+       IF ( nzt_on_file /= nzt )  THEN
+          WRITE( message_string, * ) 'mismatch between actual data and data ', &
+                                     '&from prior run on PE ', myid,           &
+                                     '&nzt on file = ', nzt_on_file,           &
+                                     '&nzt         = ', nzt
+          CALL message( 'read_3d_binary', 'PA0292', 1, 2, 0, 6, 0 )  
+       ENDIF
+
+!
+!--    Allocate temporary arrays sized as the arrays on the restart file
+       ALLOCATE( tmp_2d(nys_on_file-1:nyn_on_file+1,           &
+                        nxl_on_file-1:nxr_on_file+1),          &
+                 tmp_3d(nzb:nzt+1,nys_on_file-1:nyn_on_file+1, &
+                        nxl_on_file-1:nxr_on_file+1) )
+
+!
+!--    Read arrays
+!--    ATTENTION: If the following read commands have been altered, the 
+!--    ---------- version number of the variable binary_version must be altered,
+!--               too. Furthermore, the output list of arrays in write_3d_binary
+!--               must also be altered accordingly.
+       READ ( 13 )  field_chr
+       DO  WHILE ( TRIM( field_chr ) /= '*** end ***' )
+
+!
+!--       Map data on file as often as needed (data are read only for k=1)
+          DO  k = 1, overlap_count(i)
+
+!
+!--          Get the index range of the subdomain on file which overlap with the
+!--          current subdomain
+             nxlf = nxlfa(i,k)
+             nxlc = nxlfa(i,k) + offset_xa(i,k)
+             nxrf = nxrfa(i,k)
+             nxrc = nxrfa(i,k) + offset_xa(i,k)
+             nysf = nysfa(i,k)
+             nysc = nysfa(i,k) + offset_ya(i,k)
+             nynf = nynfa(i,k)
+             nync = nynfa(i,k) + offset_ya(i,k)
+
+
+             WRITE (9,*) 'var = ', field_chr
+             CALL local_flush( 9 )
+
+             SELECT CASE ( TRIM( field_chr ) )
+
+                CASE ( 'e' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   e(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'e_av' )
+                   IF ( .NOT. ALLOCATED( e_av ) )  THEN
+                      ALLOCATE( e_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   e_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'e_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   e_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'iran' ) ! matching random numbers is still unresolved
+                                ! issue
+                   IF ( k == 1 )  READ ( 13 )  iran, iran_part
+
+                CASE ( 'kh' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   kh(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'kh_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   kh_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'km' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   km(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'km_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   km_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'lwp_av' )
+                   IF ( .NOT. ALLOCATED( lwp_av ) )  THEN
+                      ALLOCATE( lwp_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   lwp_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'p' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   p(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'p_av' )
+                   IF ( .NOT. ALLOCATED( p_av ) )  THEN
+                      ALLOCATE( p_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   p_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'pc_av' )
+                   IF ( .NOT. ALLOCATED( pc_av ) )  THEN
+                      ALLOCATE( pc_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   pc_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'pr_av' )
+                   IF ( .NOT. ALLOCATED( pr_av ) )  THEN
+                      ALLOCATE( pr_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   pr_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'precipitation_amount' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   precipitation_amount(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'precipitation_rate_a' )
+                   IF ( .NOT. ALLOCATED( precipitation_rate_av ) )  THEN
+                      ALLOCATE( precipitation_rate_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   precipitation_rate_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'pt' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   pt(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'pt_av' )
+                   IF ( .NOT. ALLOCATED( pt_av ) )  THEN
+                      ALLOCATE( pt_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   pt_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'pt_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   pt_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'q' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   q(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'q_av' )
+                   IF ( .NOT. ALLOCATED( q_av ) )  THEN
+                      ALLOCATE( q_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   q_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'q_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   q_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ql' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   ql(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ql_av' )
+                   IF ( .NOT. ALLOCATED( ql_av ) )  THEN
+                      ALLOCATE( ql_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   ql_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ql_c_av' )
+                   IF ( .NOT. ALLOCATED( ql_c_av ) )  THEN
+                      ALLOCATE( ql_c_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   ql_c_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ql_v_av' )
+                   IF ( .NOT. ALLOCATED( ql_v_av ) )  THEN
+                      ALLOCATE( ql_v_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   ql_v_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ql_vp_av' )
+                   IF ( .NOT. ALLOCATED( ql_vp_av ) )  THEN
+                      ALLOCATE( ql_vp_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   ql_vp_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qs' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qs(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qsws' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qsws(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qsws_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qsws_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qsws_av' )
+                   IF ( .NOT. ALLOCATED( qsws_av ) )  THEN
+                      ALLOCATE( qsws_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF  
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qsws_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qswst' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qswst(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qswst_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   qswst_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'qv_av' )
+                   IF ( .NOT. ALLOCATED( qv_av ) )  THEN
+                      ALLOCATE( qv_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   qv_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'random_iv' )  ! still unresolved issue
+                   IF ( k == 1 )  READ ( 13 )  random_iv
+                   IF ( k == 1 )  READ ( 13 )  random_iy
+
+                CASE ( 'rho_av' )
+                   IF ( .NOT. ALLOCATED( rho_av ) )  THEN
+                      ALLOCATE( rho_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   rho_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'rif' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   rif(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'rif_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   rif_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'rif_wall' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_4d(nzb:nzt+1,nys_on_file-1:nyn_on_file+1, &
+                                       nxl_on_file-1:nxr_on_file+1,1:4) )
+                      READ ( 13 )  tmp_4d
+                   ENDIF
+                   rif_wall(:,nysc-1:nync+1,nxlc-1:nxrc+1,:) = &
+                                         tmp_4d(:,nysf-1:nynf+1,nxlf-1:nxrf+1,:)
+
+                CASE ( 's_av' )
+                   IF ( .NOT. ALLOCATED( s_av ) )  THEN
+                      ALLOCATE( s_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   s_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'sa' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   sa(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'sa_av' )
+                   IF ( .NOT. ALLOCATED( sa_av ) )  THEN
+                      ALLOCATE( sa_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   sa_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'saswsb' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   saswsb(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'saswst' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   saswst(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'shf' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   shf(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'shf_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   shf_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+                CASE ( 'shf_av' )
+                   IF ( .NOT. ALLOCATED( shf_av ) )  THEN
+                      ALLOCATE( shf_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   shf_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+                CASE ( 'spectrum_x' )
+                   IF ( k == 1 )  THEN
+                      IF ( nx_on_file /= nx )  THEN
+                         message_string = 'read_3d_binary: spectrum_x ' // &
+                                     'on restart file ignored because' // &
+                                     '&total numbers of grid points (nx) ' // &
+                                     'do not match'
+                         CALL message( 'read_3d_binary', 'PA0293',&
+                                                                 0, 1, 0, 6, 0 )
+                         READ ( 13 )  rdummy
+                      ELSE
+                         READ ( 13 )  spectrum_x
+                      ENDIF
+                   ENDIF
+
+                CASE ( 'spectrum_y' )
+                   IF ( k == 1 )  THEN
+                      IF ( ny_on_file /= ny )  THEN
+                         message_string = 'read_3d_binary: spectrum_y ' //   &
+                                     'on restart file ignored because' //    &
+                                     '&total numbers of grid points (ny) '// &
+                                     'do not match'
+                         CALL message( 'read_3d_binary', 'PA0294', &
+                                                                 0, 1, 0, 6, 0 )
+                      READ ( 13 )  rdummy
+                      ELSE
+                         READ ( 13 )  spectrum_y
+                      ENDIF
+                   ENDIF
+
+                CASE ( 'ts' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   ts(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'ts_av' )
+                   IF ( .NOT. ALLOCATED( ts_av ) )  THEN
+                      ALLOCATE( ts_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   ts_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'tswst' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   tswst(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'tswst_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   tswst_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'u' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   u(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'u_av' )
+                   IF ( .NOT. ALLOCATED( u_av ) )  THEN
+                      ALLOCATE( u_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   u_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'u_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   u_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'u_m_l' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwul(nzb:nzt+1, &
+                                          nys_on_file-1:nyn_on_file+1,1:2) )
+                      READ ( 13 )  tmp_3dwul
+                   ENDIF
+                   IF ( outflow_l )  THEN
+                      u_m_l(:,nysc-1:nync+1,:) = tmp_3dwul(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'u_m_n' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwun(nzb:nzt+1,ny-1:ny, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwun
+                   ENDIF
+                   IF ( outflow_n )  THEN
+                      u_m_n(:,:,nxlc-1:nxrc+1) = tmp_3dwun(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+
+                CASE ( 'u_m_r' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwur(nzb:nzt+1,&
+                                          nys_on_file-1:nyn_on_file+1,nx-1:nx) )
+                      READ ( 13 )  tmp_3dwur
+                   ENDIF
+                   IF ( outflow_r )  THEN
+                      u_m_r(:,nysc-1:nync+1,:) = tmp_3dwur(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'u_m_s' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwus(nzb:nzt+1,0:1, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwus
+                   ENDIF
+                   IF ( outflow_s )  THEN
+                      u_m_s(:,:,nxlc-1:nxrc+1) = tmp_3dwus(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+
+                CASE ( 'us' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   us(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'usws' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   usws(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'uswst' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   uswst(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'usws_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   usws_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'uswst_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   uswst_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'us_av' )
+                   IF ( .NOT. ALLOCATED( us_av ) )  THEN
+                      ALLOCATE( us_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   us_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'v' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   v(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'v_av' )
+                   IF ( .NOT. ALLOCATED( v_av ) )  THEN
+                      ALLOCATE( v_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   v_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'v_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   v_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'v_m_l' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwvl(nzb:nzt+1,&
+                                          nys_on_file-1:nyn_on_file+1,0:1) )
+                      READ ( 13 )  tmp_3dwvl
+                   ENDIF
+                   IF ( outflow_l )  THEN
+                      v_m_l(:,nysc-1:nync+1,:) = tmp_3dwvl(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'v_m_n' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwvn(nzb:nzt+1,ny-1:ny, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwvn
+                   ENDIF
+                   IF ( outflow_n )  THEN
+                      v_m_n(:,:,nxlc-1:nxrc+1) = tmp_3dwvn(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+
+                CASE ( 'v_m_r' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwvr(nzb:nzt+1,&
+                                          nys_on_file-1:nyn_on_file+1,nx-1:nx) )
+                      READ ( 13 )  tmp_3dwvr
+                   ENDIF
+                   IF ( outflow_r )  THEN
+                      v_m_r(:,nysc-1:nync+1,:) = tmp_3dwvr(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'v_m_s' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwvs(nzb:nzt+1,1:2, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwvs
+                   ENDIF
+                   IF ( outflow_s )  THEN
+                      v_m_s(:,:,nxlc-1:nxrc+1) = tmp_3dwvs(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+
+                CASE ( 'vpt' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   vpt(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vpt_av' )
+                   IF ( .NOT. ALLOCATED( vpt_av ) )  THEN
+                      ALLOCATE( vpt_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   vpt_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vpt_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   vpt_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vsws' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   vsws(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vswst' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   vswst(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vsws_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   vsws_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'vswst_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   vswst_m(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'w' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   w(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'w_av' )
+                   IF ( .NOT. ALLOCATED( w_av ) )  THEN
+                      ALLOCATE( w_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   w_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'w_m' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+                   w_m(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'w_m_l' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwwl(nzb:nzt+1,&
+                                          nys_on_file-1:nyn_on_file+1,0:1) )
+                      READ ( 13 )  tmp_3dwwl
+                   ENDIF
+                   IF ( outflow_l )  THEN
+                      w_m_l(:,nysc-1:nync+1,:) = tmp_3dwwl(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'w_m_n' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwwn(nzb:nzt+1,ny-1:ny, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwwn
+                   ENDIF
+                   IF ( outflow_n )  THEN
+                      w_m_n(:,:,nxlc-1:nxrc+1) = tmp_3dwwn(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+
+                CASE ( 'w_m_r' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwwr(nzb:nzt+1,&
+                                          nys_on_file-1:nyn_on_file+1,nx-1:nx) )
+                      READ ( 13 )  tmp_3dwwr
+                   ENDIF
+                   IF ( outflow_r )  THEN
+                      w_m_r(:,nysc-1:nync+1,:) = tmp_3dwwr(:,nysf-1:nynf+1,:)
+                   ENDIF
+
+                CASE ( 'w_m_s' )
+                   IF ( k == 1 )  THEN
+                      ALLOCATE( tmp_3dwws(nzb:nzt+1,0:1, &
+                                          nxl_on_file-1:nxr_on_file+1) )
+                      READ ( 13 )  tmp_3dwws
+                   ENDIF
+                   IF ( outflow_s )  THEN
+                      w_m_s(:,:,nxlc-1:nxrc+1) = tmp_3dwws(:,:,nxlf-1:nxrf+1)
+                   ENDIF
+                   DEALLOCATE( tmp_3dwws )
+
+                CASE ( 'z0' )
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   z0(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE ( 'z0_av' )
+                   IF ( .NOT. ALLOCATED( z0_av ) )  THEN
+                      ALLOCATE( z0_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                   ENDIF
+                   IF ( k == 1 )  READ ( 13 )  tmp_2d
+                   z0_av(nysc-1:nync+1,nxlc-1:nxrc+1) = &
+                                          tmp_2d(nysf-1:nynf+1,nxlf-1:nxrf+1)
+
+                CASE DEFAULT
+                   WRITE( message_string, * ) 'unknown field named "', &
+                                              TRIM( field_chr ), '" found in', &
+                                              '&data from prior run on PE ',myid
+                    CALL message( 'read_3d_binary', 'PA0295', 1, 2, 0, 6, 0 )  
+                   
+             END SELECT
+
+          ENDDO  ! overlap loop
+
+!
+!--       Deallocate arrays needed for specific variables only
+          IF ( ALLOCATED( tmp_3dwul ) )  DEALLOCATE( tmp_3dwul )
+          IF ( ALLOCATED( tmp_3dwun ) )  DEALLOCATE( tmp_3dwun )
+          IF ( ALLOCATED( tmp_3dwur ) )  DEALLOCATE( tmp_3dwur )
+          IF ( ALLOCATED( tmp_3dwus ) )  DEALLOCATE( tmp_3dwus )
+          IF ( ALLOCATED( tmp_3dwvl ) )  DEALLOCATE( tmp_3dwvl )
+          IF ( ALLOCATED( tmp_3dwvn ) )  DEALLOCATE( tmp_3dwvn )
+          IF ( ALLOCATED( tmp_3dwvr ) )  DEALLOCATE( tmp_3dwvr )
+          IF ( ALLOCATED( tmp_3dwvs ) )  DEALLOCATE( tmp_3dwvs )
+          IF ( ALLOCATED( tmp_3dwwl ) )  DEALLOCATE( tmp_3dwwl )
+          IF ( ALLOCATED( tmp_3dwwn ) )  DEALLOCATE( tmp_3dwwn )
+          IF ( ALLOCATED( tmp_3dwwr ) )  DEALLOCATE( tmp_3dwwr )
+          IF ( ALLOCATED( tmp_3dwws ) )  DEALLOCATE( tmp_3dwws )
+          IF ( ALLOCATED( tmp_4d ) )  DEALLOCATE( tmp_4d )
+
+!
+!--       Read next character string
+          READ ( 13 )  field_chr
+
+       ENDDO  ! loop over variables
+
+!
+!--    Read user-defined restart data
+       CALL user_read_restart_data( i, nxlfa, nxl_on_file, nxrfa, nxr_on_file, &
+                                    nynfa, nyn_on_file, nysfa, nys_on_file,    &
+                                    offset_xa, offset_ya, overlap_count(i),    &
+                                    tmp_2d, tmp_3d )
+
+!
+!--    Close the restart file
+       CALL close_file( 13 )
+
+       DEALLOCATE( tmp_2d, tmp_3d )
+
+    ENDDO  ! loop over restart files
+
+
+!
+!-- Restore the original filename for the restart file to be written
+    myid_char = myid_char_save
+
+
+!
+!-- End of time measuring for reading binary data
+    CALL cpu_log( log_point_s(14), 'read_3d_binary', 'stop' )
+
+ END SUBROUTINE read_3d_binary
Index: palm/tags/release-3.7/SOURCE/read_var_list.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/read_var_list.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/read_var_list.f90	(revision 393)
@@ -0,0 +1,834 @@
+ SUBROUTINE read_var_list
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 345 2009-07-01 14:37:56Z heinze
+! +output_for_t0 
+! dt_fixed is read into a dummy variable.
+! Output of messages replaced by message handling routine.
+! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left, 
+! canyon_wall_south, conserve_volume_flow_mode, coupling_start_time,
+! dp_external, dp_level_b, dp_smooth, dpdxy, run_coupled,
+! time_since_reference_point, topography_grid_convention, u_bulk, v_bulk
+!
+! 216 2008-11-25 07:12:43Z raasch
+! limitations for nx_on_file, ny_on_file removed (read_parts_of_var_list)
+!
+! 173 2008-05-23 20:39:38Z raasch
+! +cthf, leaf_surface_concentration, scalar_exchange_coefficient
+! +numprocs_previous_run, hor_index_bounds_previous_run, inflow_damping_factor,
+! inflow_damping_height, inflow_damping_width, mean_inflow_profiles,
+! recycling_width, turbulent_inflow,
+! -cross_ts_*, npex, npey,
+! hom_sum, volume_flow_area, volume_flow_initial moved from
+! read_3d_binary to here,
+! routines read_parts_of_var_list and skip_var_list added at the end
+!
+! 138 2007-11-28 10:03:58Z letzel
+! +canopy_mode, drag_coefficient, lad, lad_surface, lad_vertical_gradient, 
+! lad_vertical_gradient_level, lad_vertical_gradient_level_ind, pch_index,
+! plant_canopy, time_sort_particles
+!
+! 102 2007-07-27 09:09:17Z raasch
+! +time_coupling, top_momentumflux_u|v
+!
+! 95 2007-06-02 16:48:38Z raasch
+! +bc_sa_t, ocean, sa_init, sa_surface, sa_vertical_gradient,
+! sa_vertical_gradient_level, bottom/top_salinity_flux
+!
+! 87 2007-05-22 15:46:47Z raasch
+! +max_pr_user (version 3.1), var_hom renamed pr_palm
+!
+! 75 2007-03-22 09:54:05Z raasch
+! +loop_optimization, pt_reference, moisture renamed humidity
+!
+! 20 2007-02-26 00:12:32Z raasch
+! +top_heatflux, use_top_fluxes
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.34  2006/08/22 14:14:27  raasch
+! +dz_max
+!
+! Revision 1.1  1998/03/18 20:18:48  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Reading values of global control variables from restart-file (binary format)
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE model_1d
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  binary_version, version_on_file
+    CHARACTER (LEN=30) ::  variable_chr
+
+    LOGICAL ::  ldum
+
+
+    CALL check_open( 13 )
+
+!
+!-- Make version number check first
+    READ ( 13 )  version_on_file
+    binary_version = '3.4'
+    IF ( TRIM( version_on_file ) /= TRIM( binary_version ) )  THEN
+       WRITE( message_string, * ) 'version mismatch concerning control ', &
+                                  'variables',                            &
+                                  '&version on file    = "',              &
+                                  TRIM( version_on_file ), '"',           &
+                                  '&version on program = "',              &
+                                  TRIM( binary_version ), '"'
+       CALL message( 'read_var_list', 'PA0296', 1, 2, 0, 6, 0 )
+    ENDIF
+
+!
+!-- Read number of PEs and horizontal index bounds of all PEs used in previous
+!-- run
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'numprocs' )  THEN
+       WRITE( message_string, * ) 'numprocs not found in data from prior ', &
+                                  'run on PE ', myid
+       CALL message( 'read_var_list', 'PA0297', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  numprocs_previous_run
+
+    IF ( .NOT. ALLOCATED( hor_index_bounds_previous_run ) )  THEN
+       ALLOCATE( hor_index_bounds_previous_run(4,0:numprocs_previous_run-1) )
+    ENDIF
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'hor_index_bounds' )  THEN
+       WRITE( message_string, * ) 'hor_index_bounds not found in data from ', &
+                                  'prior run on PE ', myid
+       CALL message( 'read_var_list', 'PA0298', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  hor_index_bounds_previous_run
+
+!
+!-- Read vertical number of gridpoints and number of different areas used
+!-- for computing statistics. Allocate arrays depending on these values,
+!-- which are needed for the following read instructions.
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'nz' )  THEN
+       WRITE( message_string, * ) 'nz not found in data from prior run on PE ',&
+                                  myid
+       CALL message( 'read_var_list', 'PA0299', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  nz
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'max_pr_user' )  THEN
+       WRITE( message_string, * ) 'max_pr_user not found in data from ', &
+                    'prior run on PE ', myid
+       CALL message( 'read_var_list', 'PA0300', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  max_pr_user    ! This value is checked against the number of
+                                ! user profiles given for the current run
+                                ! in routine user_parin (it has to match)
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'statistic_regions' )  THEN
+       WRITE( message_string, * ) 'statistic_regions not found in data from ', &
+                    'prior run on PE ', myid
+       CALL message( 'read_var_list', 'PA0301', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  statistic_regions
+    IF ( .NOT. ALLOCATED( ug ) )  THEN
+       ALLOCATE( lad(0:nz+1), ug(0:nz+1), u_init(0:nz+1), vg(0:nz+1),    &
+                 v_init(0:nz+1), pt_init(0:nz+1), q_init(0:nz+1),        &
+                 sa_init(0:nz+1),                                        &
+                 hom(0:nz+1,2,pr_palm+max_pr_user,0:statistic_regions),  &
+                 hom_sum(0:nz+1,pr_palm+max_pr_user,0:statistic_regions) )
+    ENDIF
+
+!
+!-- Now read all control parameters:
+!-- Caution: When the following read instructions have been changed, the
+!-- -------  version number stored in the variable binary_version has to be
+!--          increased. The same changes must also be done in write_var_list.
+    READ ( 13 )  variable_chr
+    DO  WHILE ( TRIM( variable_chr ) /= '*** end ***' )
+
+       SELECT CASE ( TRIM( variable_chr ) )
+
+          CASE ( 'adjust_mixing_length' )
+             READ ( 13 )  adjust_mixing_length
+          CASE ( 'advected_distance_x' )
+             READ ( 13 )  advected_distance_x
+          CASE ( 'advected_distance_y' )
+             READ ( 13 )  advected_distance_y
+          CASE ( 'alpha_surface' )
+             READ ( 13 )  alpha_surface
+          CASE ( 'average_count_pr' )
+             READ ( 13 )  average_count_pr
+          CASE ( 'average_count_sp' )
+             READ ( 13 )  average_count_sp
+          CASE ( 'average_count_3d' )
+             READ ( 13 )  average_count_3d
+          CASE ( 'bc_e_b' )
+             READ ( 13 )  bc_e_b
+          CASE ( 'bc_lr' )
+             READ ( 13 )  bc_lr
+          CASE ( 'bc_ns' )
+             READ ( 13 )  bc_ns
+          CASE ( 'bc_p_b' )
+             READ ( 13 )  bc_p_b
+          CASE ( 'bc_p_t' )
+             READ ( 13 )  bc_p_t
+          CASE ( 'bc_pt_b' )
+             READ ( 13 )  bc_pt_b
+          CASE ( 'bc_pt_t' )
+             READ ( 13 )  bc_pt_t
+          CASE ( 'bc_pt_t_val' )
+             READ ( 13 )  bc_pt_t_val
+          CASE ( 'bc_q_b' )
+             READ ( 13 )  bc_q_b
+          CASE ( 'bc_q_t' )
+             READ ( 13 )  bc_q_t
+          CASE ( 'bc_q_t_val' )
+             READ ( 13 )  bc_q_t_val
+          CASE ( 'bc_s_b' )
+             READ ( 13 )  bc_s_b
+          CASE ( 'bc_s_t' )
+             READ ( 13 )  bc_s_t
+          CASE ( 'bc_sa_t' )
+             READ ( 13 )  bc_sa_t
+          CASE ( 'bc_uv_b' )
+             READ ( 13 )  bc_uv_b
+          CASE ( 'bc_uv_t' )
+             READ ( 13 )  bc_uv_t
+          CASE ( 'bottom_salinityflux' )
+             READ ( 13 )  bottom_salinityflux
+          CASE ( 'building_height' )
+             READ ( 13 )  building_height
+          CASE ( 'building_length_x' )
+             READ ( 13 )  building_length_x
+          CASE ( 'building_length_y' )
+             READ ( 13 )  building_length_y
+          CASE ( 'building_wall_left' )
+             READ ( 13 )  building_wall_left
+          CASE ( 'building_wall_south' )
+             READ ( 13 )  building_wall_south
+          CASE ( 'canopy_mode' )
+             READ ( 13 )  canopy_mode
+          CASE ( 'canyon_height' )
+             READ ( 13 )  canyon_height
+          CASE ( 'canyon_width_x' )
+             READ ( 13 )  canyon_width_x
+          CASE ( 'canyon_width_y' )
+             READ ( 13 )  canyon_width_y
+          CASE ( 'canyon_wall_left' )
+             READ ( 13 )  canyon_wall_left
+          CASE ( 'canyon_wall_south' )
+             READ ( 13 )  canyon_wall_south
+          CASE ( 'cloud_droplets' )
+             READ ( 13 )  cloud_droplets
+          CASE ( 'cloud_physics' )
+             READ ( 13 )  cloud_physics
+          CASE ( 'conserve_volume_flow' )
+             READ ( 13 )  conserve_volume_flow
+          CASE ( 'conserve_volume_flow_mode' )
+             READ ( 13 )  conserve_volume_flow_mode
+          CASE ( 'coupling_start_time' )
+             READ ( 13 )  coupling_start_time
+          CASE ( 'cthf' )
+             READ ( 13 )  cthf
+          CASE ( 'current_timestep_number' )
+             READ ( 13 )  current_timestep_number
+          CASE ( 'cut_spline_overshoot' )
+             READ ( 13 )  cut_spline_overshoot
+          CASE ( 'damp_level_1d' )
+             READ ( 13 )  damp_level_1d
+          CASE ( 'dissipation_1d' )
+             READ ( 13 )  dissipation_1d
+          CASE ( 'dp_external' )
+             READ ( 13 )  dp_external
+          CASE ( 'dp_level_b' )
+             READ ( 13 )  dp_level_b
+          CASE ( 'dp_smooth' )
+             READ ( 13 )  dp_smooth
+          CASE ( 'dpdxy' )
+             READ ( 13 )  dpdxy
+          CASE ( 'drag_coefficient' )
+             READ ( 13 )  drag_coefficient
+          CASE ( 'dt_fixed' )
+             READ ( 13 )  ldum   ! restart files created before rev 333
+                                 ! contained dt_fixed by mistake; it is still
+                                 ! read here in order to allow usage of these
+                                 ! older restart files; can be removed in a
+                                 ! later version
+          CASE ( 'dt_pr_1d' )
+             READ ( 13 )  dt_pr_1d
+          CASE ( 'dt_run_control_1d' )
+             READ ( 13 )  dt_run_control_1d
+          CASE ( 'dt_3d' )
+             READ ( 13 )  dt_3d
+          CASE ( 'dvrp_filecount' )
+             READ ( 13 )  dvrp_filecount
+          CASE ( 'dx' )
+             READ ( 13 )  dx
+          CASE ( 'dy' )
+             READ ( 13 )  dy
+          CASE ( 'dz' )
+             READ ( 13 )  dz
+          CASE ( 'dz_max' )
+             READ ( 13 )  dz_max
+          CASE ( 'dz_stretch_factor' )
+             READ ( 13 )  dz_stretch_factor
+          CASE ( 'dz_stretch_level' )
+             READ ( 13 )  dz_stretch_level
+          CASE ( 'e_min' )
+             READ ( 13 )  e_min
+          CASE ( 'end_time_1d' )
+             READ ( 13 )  end_time_1d
+          CASE ( 'fft_method' )
+             READ ( 13 )  fft_method
+          CASE ( 'first_call_advec_particles' )
+             READ ( 13 )  first_call_advec_particles
+          CASE ( 'galilei_transformation' )
+             READ ( 13 )  galilei_transformation
+          CASE ( 'grid_matching' )
+             READ ( 13 )  grid_matching
+          CASE ( 'hom' )
+             READ ( 13 )  hom
+          CASE ( 'hom_sum' )
+             READ ( 13 )  hom_sum
+          CASE ( 'humidity' )
+             READ ( 13 )  humidity
+          CASE ( 'inflow_damping_factor' )
+             IF ( .NOT. ALLOCATED( inflow_damping_factor ) )  THEN
+                ALLOCATE( inflow_damping_factor(0:nz+1) )
+             ENDIF
+             READ ( 13 )  inflow_damping_factor
+          CASE ( 'inflow_damping_height' )
+             READ ( 13 )  inflow_damping_height
+          CASE ( 'inflow_damping_width' )
+             READ ( 13 )  inflow_damping_width
+          CASE ( 'inflow_disturbance_begin' )
+             READ ( 13 )  inflow_disturbance_begin
+          CASE ( 'inflow_disturbance_end' )
+             READ ( 13 )  inflow_disturbance_end
+          CASE ( 'km_constant' )
+             READ ( 13 )  km_constant
+          CASE ( 'km_damp_max' )
+             READ ( 13 )  km_damp_max
+          CASE ( 'lad' )
+             READ ( 13 )  lad
+          CASE ( 'lad_surface' )
+             READ ( 13 )  lad_surface
+          CASE ( 'lad_vertical_gradient' )
+             READ ( 13 )  lad_vertical_gradient
+          CASE ( 'lad_vertical_gradient_level' )
+             READ ( 13 )  lad_vertical_gradient_level
+          CASE ( 'lad_vertical_gradient_level_in' )
+             READ ( 13 )  lad_vertical_gradient_level_ind
+          CASE ( 'last_dt_change' )
+             READ ( 13 )  last_dt_change
+          CASE ( 'leaf_surface_concentration' )
+             READ ( 13 )  leaf_surface_concentration
+          CASE ( 'long_filter_factor' )
+             READ ( 13 )  long_filter_factor
+          CASE ( 'loop_optimization' )
+             READ ( 13 )  loop_optimization
+          CASE ( 'mean_inflow_profiles' )
+             IF ( .NOT. ALLOCATED( mean_inflow_profiles ) )  THEN
+                ALLOCATE( mean_inflow_profiles(0:nz+1,5) )
+             ENDIF
+             READ ( 13 )  mean_inflow_profiles
+          CASE ( 'mixing_length_1d' )
+             READ ( 13 )  mixing_length_1d
+          CASE ( 'momentum_advec' )
+             READ ( 13 )  momentum_advec
+          CASE ( 'netcdf_precision' )
+             READ ( 13 )  netcdf_precision
+          CASE ( 'nsor_ini' )
+             READ ( 13 )  nsor_ini
+          CASE ( 'nx' )
+             READ ( 13 )  nx
+             nx_on_file = nx
+          CASE ( 'ny' )
+             READ ( 13 )  ny
+             ny_on_file = ny
+          CASE ( 'ocean' )
+             READ ( 13 )  ocean
+          CASE ( 'old_dt' )
+             READ ( 13 )  old_dt
+          CASE ( 'omega' )
+             READ ( 13 )  omega
+          CASE ( 'outflow_damping_width' )
+             READ ( 13 )  outflow_damping_width
+          CASE ( 'output_for_t0' )
+             READ (13)    output_for_t0
+          CASE ( 'overshoot_limit_e' )
+             READ ( 13 )  overshoot_limit_e
+          CASE ( 'overshoot_limit_pt' )
+             READ ( 13 )  overshoot_limit_pt
+          CASE ( 'overshoot_limit_u' )
+             READ ( 13 )  overshoot_limit_u
+          CASE ( 'overshoot_limit_v' )
+             READ ( 13 )  overshoot_limit_v
+          CASE ( 'overshoot_limit_w' )
+             READ ( 13 )  overshoot_limit_w
+          CASE ( 'passive_scalar' )
+             READ ( 13 )  passive_scalar
+          CASE ( 'pch_index' )
+             READ ( 13 )  pch_index
+          CASE ( 'phi' )
+             READ ( 13 )  phi
+          CASE ( 'plant_canopy' )
+             READ ( 13 )  plant_canopy
+          CASE ( 'prandtl_layer' )
+             READ ( 13 )  prandtl_layer
+          CASE ( 'precipitation' )
+             READ ( 13 ) precipitation
+          CASE ( 'pt_init' )
+             READ ( 13 )  pt_init
+          CASE ( 'pt_reference' )
+             READ ( 13 )  pt_reference
+          CASE ( 'pt_surface' )
+             READ ( 13 )  pt_surface
+          CASE ( 'pt_surface_initial_change' )
+             READ ( 13 )  pt_surface_initial_change
+          CASE ( 'pt_vertical_gradient' )
+             READ ( 13 )  pt_vertical_gradient
+          CASE ( 'pt_vertical_gradient_level' )
+             READ ( 13 )  pt_vertical_gradient_level
+          CASE ( 'pt_vertical_gradient_level_ind' )
+             READ ( 13 )  pt_vertical_gradient_level_ind
+          CASE ( 'q_init' )
+             READ ( 13 )  q_init
+          CASE ( 'q_surface' )
+             READ ( 13 )  q_surface
+          CASE ( 'q_surface_initial_change' )
+             READ ( 13 )  q_surface_initial_change
+          CASE ( 'q_vertical_gradient' )
+             READ ( 13 )  q_vertical_gradient
+          CASE ( 'q_vertical_gradient_level' )
+             READ ( 13 )  q_vertical_gradient_level
+          CASE ( 'q_vertical_gradient_level_ind' )
+             READ ( 13 )  q_vertical_gradient_level_ind
+          CASE ( 'radiation' )
+             READ ( 13 )  radiation
+          CASE ( 'random_generator' )
+             READ ( 13 )  random_generator
+          CASE ( 'random_heatflux' )
+             READ ( 13 )  random_heatflux
+          CASE ( 'recycling_width' )
+             READ ( 13 )  recycling_width
+          CASE ( 'rif_max' )
+             READ ( 13 )  rif_max
+          CASE ( 'rif_min' )
+             READ ( 13 )  rif_min
+          CASE ( 'roughness_length' )
+             READ ( 13 )  roughness_length
+          CASE ( 'runnr' )
+             READ ( 13 )  runnr
+          CASE ( 'run_coupled' )
+             READ ( 13 )  run_coupled
+          CASE ( 'sa_init' )
+             READ ( 13 )  sa_init
+          CASE ( 'sa_surface' )
+             READ ( 13 )  sa_surface
+          CASE ( 'sa_vertical_gradient' )
+             READ ( 13 )  sa_vertical_gradient
+          CASE ( 'sa_vertical_gradient_level' )
+             READ ( 13 )  sa_vertical_gradient_level
+          CASE ( 'scalar_advec' )
+             READ ( 13 )  scalar_advec
+          CASE ( 'scalar_exchange_coefficient' )
+             READ ( 13 )  scalar_exchange_coefficient
+          CASE ( 'simulated_time' )
+             READ ( 13 )  simulated_time
+          CASE ( 'surface_heatflux' )
+             READ ( 13 )  surface_heatflux
+          CASE ( 'surface_pressure' )
+             READ ( 13 )  surface_pressure
+          CASE ( 'surface_scalarflux' )
+             READ ( 13 )  surface_scalarflux             
+          CASE ( 'surface_waterflux' )
+             READ ( 13 )  surface_waterflux             
+          CASE ( 's_surface' )
+             READ ( 13 )  s_surface
+          CASE ( 's_surface_initial_change' )
+             READ ( 13 )  s_surface_initial_change
+          CASE ( 's_vertical_gradient' )
+             READ ( 13 )  s_vertical_gradient
+          CASE ( 's_vertical_gradient_level' )
+             READ ( 13 )  s_vertical_gradient_level
+          CASE ( 'time_coupling' )
+             READ ( 13 )  time_coupling
+          CASE ( 'time_disturb' )
+             READ ( 13 )  time_disturb
+          CASE ( 'time_dopr' )
+             READ ( 13 )  time_dopr
+          CASE ( 'time_dopr_av' )
+             READ ( 13 )  time_dopr_av
+          CASE ( 'time_dopr_listing' )
+             READ ( 13 )  time_dopr_listing
+          CASE ( 'time_dopts' )
+             READ ( 13 )  time_dopts
+          CASE ( 'time_dosp' )
+             READ ( 13 )  time_dosp
+          CASE ( 'time_dots' )
+             READ ( 13 )  time_dots
+          CASE ( 'time_do2d_xy' )
+             READ ( 13 )  time_do2d_xy
+          CASE ( 'time_do2d_xz' )
+             READ ( 13 )  time_do2d_xz
+          CASE ( 'time_do2d_yz' )
+             READ ( 13 )  time_do2d_yz
+          CASE ( 'time_do3d' )
+             READ ( 13 )  time_do3d
+          CASE ( 'time_do_av' )
+             READ ( 13 )  time_do_av
+          CASE ( 'time_do_sla' )
+             READ ( 13 )  time_do_sla
+          CASE ( 'time_dvrp' )
+             READ ( 13 )  time_dvrp
+          CASE ( 'time_restart' )
+             READ ( 13 )  time_restart
+          CASE ( 'time_run_control' )
+             READ ( 13 )  time_run_control
+          CASE ( 'time_since_reference_point' )
+             READ ( 13 )  time_since_reference_point
+          CASE ( 'time_sort_particles' )
+             READ ( 13 )  time_sort_particles
+          CASE ( 'timestep_scheme' )
+             READ ( 13 )  timestep_scheme
+          CASE ( 'topography' )
+             READ ( 13 )  topography
+          CASE ( 'topography_grid_convention' )
+             READ ( 13 )  topography_grid_convention
+          CASE ( 'top_heatflux' )
+             READ ( 13 )  top_heatflux
+          CASE ( 'top_momentumflux_u' )
+             READ ( 13 )  top_momentumflux_u
+          CASE ( 'top_momentumflux_v' )
+             READ ( 13 )  top_momentumflux_v
+          CASE ( 'top_salinityflux' )
+             READ ( 13 )  top_salinityflux
+          CASE ( 'tsc' )
+             READ ( 13 )  tsc
+          CASE ( 'turbulent_inflow' )
+             READ ( 13 )  turbulent_inflow
+          CASE ( 'u_bulk' )
+             READ ( 13 )  u_bulk
+          CASE ( 'u_init' )
+             READ ( 13 )  u_init
+          CASE ( 'u_max' )
+             READ ( 13 )  u_max
+          CASE ( 'u_max_ijk' )
+             READ ( 13 )  u_max_ijk
+          CASE ( 'ug' )
+             READ ( 13 )  ug
+          CASE ( 'ug_surface' )
+             READ ( 13 )  ug_surface
+          CASE ( 'ug_vertical_gradient' )
+             READ ( 13 )  ug_vertical_gradient
+          CASE ( 'ug_vertical_gradient_level' )
+             READ ( 13 )  ug_vertical_gradient_level
+          CASE ( 'ug_vertical_gradient_level_ind' )
+             READ ( 13 )  ug_vertical_gradient_level_ind
+          CASE ( 'ups_limit_e' )
+             READ ( 13 )  ups_limit_e
+          CASE ( 'ups_limit_pt' )
+             READ ( 13 )  ups_limit_pt
+          CASE ( 'ups_limit_u' )
+             READ ( 13 )  ups_limit_u
+          CASE ( 'ups_limit_v' )
+             READ ( 13 )  ups_limit_v
+          CASE ( 'ups_limit_w' )
+             READ ( 13 )  ups_limit_w
+          CASE ( 'use_surface_fluxes' )
+             READ ( 13 )  use_surface_fluxes
+          CASE ( 'use_top_fluxes' )
+             READ ( 13 )  use_top_fluxes
+          CASE ( 'use_ug_for_galilei_tr' )
+             READ ( 13 )  use_ug_for_galilei_tr
+          CASE ( 'use_upstream_for_tke' )
+             READ ( 13 )  use_upstream_for_tke
+          CASE ( 'v_bulk' )
+             READ ( 13 )  v_bulk
+          CASE ( 'v_init' )
+             READ ( 13 )  v_init
+          CASE ( 'v_max' )
+             READ ( 13 )  v_max
+          CASE ( 'v_max_ijk' )
+             READ ( 13 )  v_max_ijk
+          CASE ( 'vg' )
+             READ ( 13 )  vg
+          CASE ( 'vg_surface' )
+             READ ( 13 )  vg_surface
+          CASE ( 'vg_vertical_gradient' )
+             READ ( 13 )  vg_vertical_gradient
+          CASE ( 'vg_vertical_gradient_level' )
+             READ ( 13 )  vg_vertical_gradient_level
+          CASE ( 'vg_vertical_gradient_level_ind' )
+             READ ( 13 )  vg_vertical_gradient_level_ind
+          CASE ( 'volume_flow_area' )
+             READ ( 13 )  volume_flow_area
+          CASE ( 'volume_flow_initial' )
+             READ ( 13 )  volume_flow_initial
+          CASE ( 'wall_adjustment' )
+             READ ( 13 )  wall_adjustment
+          CASE ( 'w_max' )
+             READ ( 13 )  w_max
+          CASE ( 'w_max_ijk' )
+             READ ( 13 )  w_max_ijk
+
+          CASE DEFAULT
+             WRITE( message_string, * ) 'unknown variable named "',         &
+                                        TRIM( variable_chr ), '" found in', &
+                                        ' data from prior run on PE ', myid 
+             CALL message( 'read_var_list', 'PA0302', 1, 2, 0, 6, 0 )
+        END SELECT
+!
+!--    Read next string
+       READ ( 13 )  variable_chr
+
+    ENDDO
+
+
+ END SUBROUTINE read_var_list
+
+
+
+ SUBROUTINE read_parts_of_var_list
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Skipping the global control variables from restart-file (binary format)
+! except some informations needed when reading restart data from a previous
+! run which used a smaller total domain or/and a different domain decomposition.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE indices
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  version_on_file
+    CHARACTER (LEN=30) ::  variable_chr
+
+    INTEGER ::  idum, max_pr_user_on_file, nz_on_file, &
+                statistic_regions_on_file, tmp_mpru, tmp_sr
+
+    REAL, DIMENSION(:,:,:),   ALLOCATABLE ::  hom_sum_on_file
+    REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  hom_on_file
+
+
+    CALL check_open( 13 )
+
+    WRITE (9,*) 'rpovl: after check open 13'
+    CALL local_flush( 9 )
+    READ ( 13 )  version_on_file
+
+!
+!-- Read number of PEs and horizontal index bounds of all PEs used in previous
+!-- run
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'numprocs' )  THEN
+       WRITE( message_string, * ) 'numprocs not found in data from prior ', &
+                                  'run on PE ', myid
+       CALL message( 'read_parts_of_var_list', 'PA0297', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  numprocs_previous_run
+
+    IF ( .NOT. ALLOCATED( hor_index_bounds_previous_run ) )  THEN
+       ALLOCATE( hor_index_bounds_previous_run(4,0:numprocs_previous_run-1) )
+    ENDIF
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'hor_index_bounds' )  THEN
+       WRITE( message_string, * ) 'hor_index_bounds not found in data from ', &
+                                  'prior run on PE ', myid
+       CALL message( 'read_parts_of_var_list', 'PA0298', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  hor_index_bounds_previous_run
+
+!
+!-- Read vertical number of gridpoints and number of different areas used
+!-- for computing statistics. Allocate arrays depending on these values,
+!-- which are needed for the following read instructions.
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'nz' )  THEN
+       message_string = 'nz not found in restart data file'
+       CALL message( 'read_parts_of_var_list', 'PA0303', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  nz_on_file
+    IF ( nz_on_file /= nz )  THEN
+       WRITE( message_string, * ) 'mismatch concerning number of ',      &
+                                  'gridpoints along z',                  &
+                                  '&nz on file    = "', nz_on_file, '"', &
+                                  '&nz from run   = "', nz, '"'
+       CALL message( 'read_parts_of_var_list', 'PA0304', 1, 2, 0, 6, 0 )
+    ENDIF
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'max_pr_user' )  THEN
+       message_string = 'max_pr_user not found in restart data file'
+       CALL message( 'read_parts_of_var_list', 'PA0305', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  max_pr_user_on_file
+    IF ( max_pr_user_on_file /= max_pr_user )  THEN
+       WRITE( message_string, * ) 'number of user profiles on res',           &
+                                  'tart data file differs from the current ', &
+                                  'run&max_pr_user on file    = "',           &
+                                  max_pr_user_on_file, '"',                   &
+                                  '&max_pr_user from run   = "',              &
+                                  max_pr_user, '"'
+       CALL message( 'read_parts_of_var_list', 'PA0306', 0, 0, 0, 6, 0 )
+       tmp_mpru = MIN( max_pr_user_on_file, max_pr_user )
+    ELSE
+       tmp_mpru = max_pr_user
+    ENDIF
+
+    READ ( 13 )  variable_chr
+    IF ( TRIM( variable_chr ) /= 'statistic_regions' )  THEN
+       message_string = 'statistic_regions not found in restart data file'
+       CALL message( 'read_parts_of_var_list', 'PA0307', 1, 2, 0, 6, 0 )
+    ENDIF
+    READ ( 13 )  statistic_regions_on_file
+    IF ( statistic_regions_on_file /= statistic_regions )  THEN
+       WRITE( message_string, * ) 'statistic regions on restart data file ',& 
+                                  'differ from the current run',            &
+                                  '&statistic regions on file    = "',      &
+                                  statistic_regions_on_file, '"',           &
+                                  '&statistic regions from run   = "',      &
+                                   statistic_regions, '"',                  &
+                                  '&statistic data may be lost!'
+       CALL message( 'read_parts_of_var_list', 'PA0308', 0, 1, 0, 6, 0 )
+       tmp_sr = MIN( statistic_regions_on_file, statistic_regions )
+    ELSE
+       tmp_sr = statistic_regions
+    ENDIF
+
+
+!
+!-- Now read and check some control parameters and skip the rest
+    WRITE (9,*) 'wpovl: begin reading variables'
+    CALL local_flush( 9 )
+    READ ( 13 )  variable_chr
+
+    DO  WHILE ( TRIM( variable_chr ) /= '*** end ***' )
+
+       SELECT CASE ( TRIM( variable_chr ) )
+
+          CASE ( 'average_count_pr' )
+             READ ( 13 )  average_count_pr
+             IF ( average_count_pr /= 0 )  THEN
+                WRITE( message_string, * ) 'inflow profiles not temporally ',  &
+                               'averaged. &Averaging will be done now using ', &
+                               average_count_pr, ' samples.'
+                CALL message( 'read_parts_of_var_list', 'PA0309', &
+                                                                 0, 1, 0, 6, 0 )
+             ENDIF
+
+          CASE ( 'hom' )
+             ALLOCATE( hom_on_file(0:nz+1,2,pr_palm+max_pr_user_on_file, &
+                       0:statistic_regions_on_file) )
+             READ ( 13 )  hom_on_file
+             hom(:,:,1:pr_palm+tmp_mpru,0:tmp_sr) = &
+                          hom_on_file(:,:,1:pr_palm+tmp_mpru,0:tmp_sr)
+             DEALLOCATE( hom_on_file )
+
+          CASE ( 'hom_sum' )
+             ALLOCATE( hom_sum_on_file(0:nz+1,pr_palm+max_pr_user_on_file, &
+                       0:statistic_regions_on_file) )
+             READ ( 13 )  hom_sum_on_file
+             hom_sum(:,1:pr_palm+tmp_mpru,0:tmp_sr) = &
+                          hom_sum_on_file(:,1:pr_palm+tmp_mpru,0:tmp_sr)
+             DEALLOCATE( hom_sum_on_file )
+
+          CASE ( 'nx' )
+             READ ( 13 )  nx_on_file
+
+          CASE ( 'ny' )
+             READ ( 13 )  ny_on_file
+
+
+          CASE DEFAULT
+
+             READ ( 13 )  idum
+
+       END SELECT
+
+       READ ( 13 )  variable_chr
+
+    ENDDO
+
+!
+!-- Calculate the temporal average of vertical profiles, if neccessary
+    IF ( average_count_pr /= 0 )  THEN
+       hom_sum = hom_sum / REAL( average_count_pr )
+    ENDIF
+
+
+ END SUBROUTINE read_parts_of_var_list
+
+
+
+ SUBROUTINE skip_var_list
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Skipping the global control variables from restart-file (binary format)
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  version_on_file
+    CHARACTER (LEN=30) ::  variable_chr
+
+    INTEGER ::  idum
+
+
+    WRITE (9,*) 'skipvl #1'
+    CALL local_flush( 9 )
+    READ ( 13 )  version_on_file
+
+    WRITE (9,*) 'skipvl before variable_chr'
+    CALL local_flush( 9 )
+    READ ( 13 )  variable_chr
+    WRITE (9,*) 'skipvl after variable_chr'
+    CALL local_flush( 9 )
+
+    DO  WHILE ( TRIM( variable_chr ) /= '*** end ***' )
+
+    WRITE (9,*) 'skipvl chr = ', variable_chr
+    CALL local_flush( 9 )
+       READ ( 13 )  idum
+       READ ( 13 )  variable_chr
+
+    ENDDO
+    WRITE (9,*) 'skipvl last'
+    CALL local_flush( 9 )
+
+
+ END SUBROUTINE skip_var_list
Index: palm/tags/release-3.7/SOURCE/run_control.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/run_control.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/run_control.f90	(revision 393)
@@ -0,0 +1,130 @@
+ SUBROUTINE run_control
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 97 2007-06-21 08:23:15Z raasch
+! Timestep and z_i format changed
+!
+! 87 2007-05-22 15:46:47Z raasch
+! var_hom renamed pr_palm
+!
+! 82 2007-04-16 15:40:52Z raasch
+! Preprocessor strings for different linux clusters changed to "lc",
+! routine local_flush is used for buffer flushing
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.20  2006/06/02 15:23:47  raasch
+! cpp-directives extended for lctit
+!
+! Revision 1.1  1997/08/11 06:25:38  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Computation and output of run-control quantities
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE statistics
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1) ::  change_chr, disturb_chr
+
+!
+!-- If required, do statistics
+    IF ( .NOT. flow_statistics_called )  CALL flow_statistics
+
+!
+!-- Flow_statistics has its own cpu-time measurement
+    CALL cpu_log( log_point(11), 'run_control', 'start' )
+
+!
+!-- Output
+    IF ( myid == 0 )  THEN
+
+!
+!--    Check, whether file unit is already open (may have been opened in header
+!--    before)
+       CALL check_open( 15 )
+
+!
+!--    If required, write header
+       IF ( .NOT. run_control_header )  THEN
+          WRITE ( 15, 100 )
+          run_control_header = .TRUE.
+       ENDIF
+
+!
+!--    Output the the beginning of the run receives no information about an
+!--    Euler-timestep
+       IF ( dt_changed  .AND.  simulated_time /= 0.0  .AND. &
+            timestep_scheme(1:5) /= 'runge' )  THEN
+          IF ( timestep_scheme == 'leapfrog' )  THEN
+             change_chr = 'L'
+          ELSE
+             change_chr = 'E'
+          ENDIF
+       ELSE
+          change_chr = ' '
+       ENDIF
+!
+!--    If required, set disturbance flag
+       IF ( disturbance_created )  THEN
+          disturb_chr = 'D'
+       ELSE
+          disturb_chr = ' '
+       ENDIF
+       WRITE ( 15, 101 )  runnr, current_timestep_number, simulated_time_chr,  &
+                          simulated_time-INT( simulated_time ), dt_3d,         &
+                          timestep_reason, change_chr, u_max, disturb_chr,     &
+                          v_max, disturb_chr, w_max, hom(nzb,1,pr_palm,0),     &
+                          hom(nzb+8,1,pr_palm,0), hom(nzb+3,1,pr_palm,0),      &
+                          hom(nzb+6,1,pr_palm,0), hom(nzb+4,1,pr_palm,0),      &
+                          hom(nzb+5,1,pr_palm,0), hom(nzb+9,1,pr_palm,0),      &
+                          hom(nzb+10,1,pr_palm,0), u_max_ijk(1:3),             &
+                          v_max_ijk(1:3), w_max_ijk(1:3),                      &
+                          advected_distance_x/1000.0,                          &
+                          advected_distance_y/1000.0, mgcycles
+!
+!--    Write buffer contents to disc immediately
+       CALL local_flush( 15 )
+
+    ENDIF
+!
+!-- If required, reset disturbance flag. This has to be done outside the above 
+!-- IF-loop, because the flag would otherwise only be reset on PE0
+    IF ( disturbance_created )  disturbance_created = .FALSE.
+
+    CALL cpu_log( log_point(11), 'run_control', 'stop' )
+
+!
+!-- Formats
+100 FORMAT (///'Run-control output:'/ &
+              &'------------------'// &
+          &'RUN  ITER. HH:MM:SS.SS    DT(E)     UMAX     VMAX     WMAX     U', &
+          &'*    W*   THETA*    Z_I     ENERG.   DISTENERG    DIVOLD     DIV', &
+          &'NEW     UMAX(KJI)    VMAX(KJI)    WMAX(KJI)   ADVECX   ADVECY   ', &
+          &'MGCYC'/                                                            &
+          &'----------------------------------------------------------------', &
+          &'----------------------------------------------------------------', &
+          &'----------------------------------------------------------------', &
+          &'-----')
+101 FORMAT (I3,1X,I6,1X,A8,F3.2,1X,F8.4,A1,A1,F8.4,A1,F8.4,A1,F8.4,2X,F5.3,2X, &
+            F4.2, &
+            2X,F6.3,2X,F6.0,1X,4(E10.3,1X),3(3(I4),1X),F8.3,1X,F8.3,5X,I3)
+
+ END SUBROUTINE run_control
Index: palm/tags/release-3.7/SOURCE/set_particle_attributes.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/set_particle_attributes.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/set_particle_attributes.f90	(revision 393)
@@ -0,0 +1,268 @@
+ SUBROUTINE set_particle_attributes
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 271 2009-03-26 00:47:14Z raasch
+! Initial version
+!
+! Description:
+! ------------
+! This routine sets certain particle attributes depending on the values that
+! other PALM variables have at the current particle position.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE dvrp_variables
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, n
+    REAL    ::  aa, absuv, bb, cc, dd, gg, height, pt_int, pt_int_l, pt_int_u, &
+                u_int, u_int_l, u_int_u, v_int, v_int_l, v_int_u, w_int,       &
+                w_int_l, w_int_u, x, y
+
+
+    CALL cpu_log( log_point_s(49), 'set_particle_attrib', 'start' )
+
+!
+!-- Set particle color
+    IF ( particle_color == 'absuv' )  THEN
+
+!
+!--    Set particle color depending on the absolute value of the horizontal
+!--    velocity
+       DO  n = 1, number_of_particles
+!
+!--       Interpolate u velocity-component, determine left, front, bottom
+!--       index of u-array
+          i = ( particles(n)%x + 0.5 * dx ) * ddx
+          j =   particles(n)%y * ddy
+          k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz  &
+              + offset_ocean_nzt                     ! only exact if equidistant
+
+!
+!--       Interpolation of the velocity components in the xy-plane
+          x  = particles(n)%x + ( 0.5 - i ) * dx
+          y  = particles(n)%y - j * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          u_int_l = ( ( gg - aa ) * u(k,j,i)   + ( gg - bb ) * u(k,j,i+1)   &
+                    + ( gg - cc ) * u(k,j+1,i) + ( gg - dd ) * u(k,j+1,i+1) &
+                    ) / ( 3.0 * gg ) - u_gtrans
+          IF ( k+1 == nzt+1 )  THEN
+             u_int = u_int_l
+          ELSE
+             u_int_u = ( ( gg-aa ) * u(k+1,j,i)   + ( gg-bb ) * u(k+1,j,i+1)   &
+                       + ( gg-cc ) * u(k+1,j+1,i) + ( gg-dd ) * u(k+1,j+1,i+1) &
+                       ) / ( 3.0 * gg ) - u_gtrans
+             u_int = u_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                               ( u_int_u - u_int_l )
+          ENDIF
+
+!
+!--       Same procedure for interpolation of the v velocity-component (adopt
+!--       index k from u velocity-component)
+          i =   particles(n)%x * ddx
+          j = ( particles(n)%y + 0.5 * dy ) * ddy
+
+          x  = particles(n)%x - i * dx
+          y  = particles(n)%y + ( 0.5 - j ) * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          v_int_l = ( ( gg - aa ) * v(k,j,i)   + ( gg - bb ) * v(k,j,i+1)   &
+                 + ( gg - cc ) * v(k,j+1,i) + ( gg - dd ) * v(k,j+1,i+1) &
+                 ) / ( 3.0 * gg ) - v_gtrans
+          IF ( k+1 == nzt+1 )  THEN
+             v_int = v_int_l
+          ELSE
+             v_int_u = ( ( gg-aa ) * v(k+1,j,i)   + ( gg-bb ) * v(k+1,j,i+1)   &
+                       + ( gg-cc ) * v(k+1,j+1,i) + ( gg-dd ) * v(k+1,j+1,i+1) &
+                       ) / ( 3.0 * gg ) - v_gtrans
+             v_int = v_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                               ( v_int_u - v_int_l )
+          ENDIF
+
+          absuv = SQRT( u_int**2 + v_int**2 )
+
+!
+!--       Limit values by the given interval and normalize to interval [0,1]
+          absuv = MIN( absuv, color_interval(2) )
+          absuv = MAX( absuv, color_interval(1) )
+
+          absuv = ( absuv - color_interval(1) ) / &
+                  ( color_interval(2) - color_interval(1) )
+
+!
+!--       Number of available colors is defined in init_dvrp
+          particles(n)%color = 1 + absuv * ( dvrp_colortable_entries_prt - 1 )
+
+       ENDDO
+
+    ELSEIF ( particle_color == 'pt*' )  THEN
+!
+!--    Set particle color depending on the resolved scale temperature
+!--    fluctuation.
+!--    First, calculate the horizontal average of the potential temperature
+!--    (This is also done in flow_statistics, but flow_statistics is called
+!--    after this routine.)
+       sums_l(:,4,0) = 0.0
+       DO  i = nxl, nxr
+          DO  j =  nys, nyn
+             DO  k = nzb, nzt+1
+                sums_l(k,4,0) = sums_l(k,4,0) + pt(k,j,i)
+             ENDDO
+          ENDDO
+       ENDDO
+
+#if defined( __parallel )
+
+       CALL MPI_ALLREDUCE( sums_l(nzb,4,0), sums(nzb,4), nzt+2-nzb, &
+                           MPI_REAL, MPI_SUM, comm2d, ierr )
+
+#else
+
+       sums(:,4) = sums_l(:,4,0)
+
+#endif
+
+       sums(:,4) = sums(:,4) / ngp_2dh(0)
+
+       DO  n = 1, number_of_particles
+!
+!--       Interpolate temperature to the current particle position
+          i = particles(n)%x * ddx
+          j = particles(n)%y * ddy
+          k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz  &
+              + offset_ocean_nzt                     ! only exact if equidistant
+
+          x  = particles(n)%x - i * dx
+          y  = particles(n)%y - j * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          pt_int_l = ( ( gg - aa ) * pt(k,j,i)   + ( gg - bb ) * pt(k,j,i+1)   &
+                     + ( gg - cc ) * pt(k,j+1,i) + ( gg - dd ) * pt(k,j+1,i+1) &
+                     ) / ( 3.0 * gg ) - sums(k,4)
+
+          pt_int_u = ( ( gg-aa ) * pt(k+1,j,i)   + ( gg-bb ) * pt(k+1,j,i+1)   &
+                     + ( gg-cc ) * pt(k+1,j+1,i) + ( gg-dd ) * pt(k+1,j+1,i+1) &
+                     ) / ( 3.0 * gg ) - sums(k,4)
+
+          pt_int = pt_int_l + ( particles(n)%z - zu(k) ) / dz * &
+                              ( pt_int_u - pt_int_l )
+
+!
+!--       Limit values by the given interval and normalize to interval [0,1]
+          pt_int = MIN( pt_int, color_interval(2) )
+          pt_int = MAX( pt_int, color_interval(1) )
+
+          pt_int = ( pt_int - color_interval(1) ) / &
+                   ( color_interval(2) - color_interval(1) )
+
+!
+!--       Number of available colors is defined in init_dvrp
+          particles(n)%color = 1 + pt_int * ( dvrp_colortable_entries_prt - 1 )
+
+       ENDDO
+
+    ELSEIF ( particle_color == 'z' )  THEN
+!
+!--    Set particle color depending on the height above the bottom
+!--    boundary (z=0)
+       DO  n = 1, number_of_particles
+
+          height = particles(n)%z
+!
+!--       Limit values by the given interval and normalize to interval [0,1]
+          height = MIN( height, color_interval(2) )
+          height = MAX( height, color_interval(1) )
+
+          height = ( height - color_interval(1) ) / &
+                   ( color_interval(2) - color_interval(1) )
+
+!
+!--       Number of available colors is defined in init_dvrp
+          particles(n)%color = 1 + height * ( dvrp_colortable_entries_prt - 1 )
+
+       ENDDO
+
+    ENDIF
+
+!
+!-- Set particle size for dvrp graphics
+    IF ( particle_dvrpsize == 'absw' )  THEN
+
+       DO  n = 1, number_of_particles
+!
+!--       Interpolate w-component to the current particle position
+          i = particles(n)%x * ddx
+          j = particles(n)%y * ddy
+          k = particles(n)%z / dz
+
+          x  = particles(n)%x - i * dx
+          y  = particles(n)%y - j * dy
+          aa = x**2          + y**2
+          bb = ( dx - x )**2 + y**2
+          cc = x**2          + ( dy - y )**2
+          dd = ( dx - x )**2 + ( dy - y )**2
+          gg = aa + bb + cc + dd
+
+          w_int_l = ( ( gg - aa ) * w(k,j,i)   + ( gg - bb ) * w(k,j,i+1)   &
+                    + ( gg - cc ) * w(k,j+1,i) + ( gg - dd ) * w(k,j+1,i+1) &
+                    ) / ( 3.0 * gg )
+
+          IF ( k+1 == nzt+1 )  THEN
+             w_int = w_int_l
+          ELSE
+             w_int_u = ( ( gg-aa ) * w(k+1,j,i)   + ( gg-bb ) * w(k+1,j,i+1)   &
+                       + ( gg-cc ) * w(k+1,j+1,i) + ( gg-dd ) * w(k+1,j+1,i+1) &
+                       ) / ( 3.0 * gg )
+             w_int = w_int_l + ( particles(n)%z - zw(k) ) / dz * &
+                               ( w_int_u - w_int_l )
+          ENDIF
+
+!
+!--       Limit values by the given interval and normalize to interval [0,1]
+          w_int = ABS( w_int )
+          w_int = MIN( w_int, dvrpsize_interval(2) )
+          w_int = MAX( w_int, dvrpsize_interval(1) )
+
+          w_int = ( w_int - dvrpsize_interval(1) ) / &
+                  ( dvrpsize_interval(2) - dvrpsize_interval(1) )
+
+          particles(n)%dvrp_psize = ( 0.25 + w_int * 0.6 ) * dx
+
+       ENDDO
+
+    ENDIF
+
+    CALL cpu_log( log_point_s(49), 'set_particle_attrib', 'stop' )
+
+
+ END SUBROUTINE set_particle_attributes
Index: palm/tags/release-3.7/SOURCE/set_slicer_attributes_dvrp.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/set_slicer_attributes_dvrp.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/set_slicer_attributes_dvrp.f90	(revision 393)
@@ -0,0 +1,57 @@
+ SUBROUTINE set_slicer_attributes_dvrp( n_slicer )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 305 2009-04-27 11:58:42Z raasch
+! Initial version
+!
+! Description:
+! ------------
+! This routine sets the dvrp-slicer attributes
+!------------------------------------------------------------------------------!
+
+#if defined( __dvrp_graphics )
+
+    USE control_parameters
+    USE dvrp_variables
+
+    IMPLICIT NONE
+
+    INTEGER ::  j, n_slicer
+    REAL    ::  maxv, meav, minv
+
+
+!
+!-- Set interval values to user settings.
+!-- The middle of this interval defines the change from blue to yellow
+    minv = slicer_range_limits_dvrp(1,n_slicer)
+    maxv = slicer_range_limits_dvrp(2,n_slicer)
+    meav = ( minv + maxv ) * 0.5
+
+!
+!-- Create appropriate colortable with 100 entries.
+!-- This table ranges from deep blue (min) to deep red (max)
+    DO  j = 1, 50
+       interval_values_dvrp(1,j) = minv + (meav-minv) * (j-1.0) / 50.0
+       interval_values_dvrp(2,j) = minv + (meav-minv) * (  j  ) / 50.0
+       interval_h_dvrp(:,j) = 270.0 - ( j - 1.0 ) * 90.0 / 49.0
+    ENDDO
+
+    DO  j = 51, 100
+       interval_values_dvrp(1,j) = meav + (maxv-meav) * (j-51.0) / 50.0
+       interval_values_dvrp(2,j) = meav + (maxv-meav) * (j-50.0) / 50.0
+       interval_h_dvrp(:,j) = 70.0 - ( j - 51.0 ) * 90.0 / 49.0
+    ENDDO
+
+    dvrp_colortable_entries = 100
+
+#endif
+
+ END SUBROUTINE set_slicer_attributes_dvrp
Index: palm/tags/release-3.7/SOURCE/singleton.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/singleton.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/singleton.f90	(revision 393)
@@ -0,0 +1,1125 @@
+ MODULE singleton
+
+!-----------------------------------------------------------------------------
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2004/04/30 12:52:09  raasch
+! Shape of arrays is explicitly stored in ishape and handled to the
+! fft-routines instead of the shape-function (due to a compiler error on
+! decalpha)
+!
+! Revision 1.1  2002/05/02 18:56:59  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Multivariate Fast Fourier Transform
+!
+! Fortran 90 Implementation of Singleton's mixed-radix algorithm,
+! RC Singleton, Stanford Research Institute, Sept. 1968.
+!
+! Adapted from fftn.c, translated from Fortran 66 to C by Mark Olesen and
+! John Beale.
+!
+! Fourier transforms can be computed either in place, using assumed size
+! arguments, or by generic function, using assumed shape arguments.
+!
+!
+! Public:
+!
+!   fftkind                              kind parameter of complex arguments
+!                                        and function results.
+!
+!   fft(array, dim, inv, stat)           generic transform function
+!    COMPLEX(fftkind), DIMENSION(:,...,:), INTENT(IN)           :: array
+!    INTEGER,          DIMENSION(:),       INTENT(IN),  OPTIONAL:: dim
+!    LOGICAL,                              INTENT(IN),  OPTIONAL:: inv
+!    INTEGER,                              INTENT(OUT), OPTIONAL:: stat
+!
+!   fftn(array, shape, dim, inv, stat)   in place transform subroutine
+!    COMPLEX(fftkind), DIMENSION(*), INTENT(INOUT)        :: array
+!    INTEGER,          DIMENSION(:), INTENT(IN)           :: shape
+!    INTEGER,          DIMENSION(:), INTENT(IN),  OPTIONAL:: dim
+!    LOGICAL,                        INTENT(IN),  OPTIONAL:: inv
+!    INTEGER,                        INTENT(OUT), OPTIONAL:: stat
+!
+!
+! Formal Parameters:
+!
+!   array    The complex array to be transformed. array can be of arbitrary
+!            rank (i.e. up to seven).
+!
+!   shape    With subroutine fftn, the shape of the array to be transformed
+!            has to be passed separately, since fftradix - the internal trans-
+!            formation routine - will treat array always as one dimensional.
+!            The product of elements in shape must be the number of
+!            elements in array.
+!            Although passing array with assumed shape would have been nicer,
+!            I prefered assumed size in order to prevent the compiler from
+!            using a copy-in-copy-out mechanism. That would generally be
+!            necessary with fftn passing array to fftradix and with fftn
+!            being prepared for accepting non consecutive array sections.
+!            Using assumed size, it's up to the user to pass an array argu-
+!            ment, that can be addressed as continous one dimensional array
+!            without copying. Otherwise, transformation will not really be
+!            performed in place.
+!            On the other hand, since the rank of array and the size of
+!            shape needn't match, fftn is appropriate for handling more than
+!            seven dimensions.
+!            As far as function fft is concerned all this doesn't matter,
+!            because the argument will be copied anyway. Thus no extra
+!            shape argument is needed for fft.
+!
+! Optional Parameters:
+!
+!   dim      One dimensional integer array, containing the dimensions to be
+!            transformed. Default is (/1,...,N/) with N being the rank of
+!            array, i.e. complete transform. dim can restrict transformation
+!            to a subset of available dimensions. Its size must not exceed the
+!            rank of array or the size of shape respectivly.
+!
+!   inv      If .true., inverse transformation will be performed. Default is
+!            .false., i.e. forward transformation.
+!
+!   stat     If present, a system dependent nonzero status value will be
+!            returned in stat, if allocation of temporary storage failed.
+!
+!
+! Scaling:
+!
+!   Transformation results will always be scaled by the square root of the
+!   product of sizes of each dimension in dim. (See examples below)
+!
+!
+! Examples:
+!
+!   Let A be a L*M*N three dimensional complex array. Then
+!
+!     result = fft(A)
+!
+!   will produce a three dimensional transform, scaled by sqrt(L*M*N), while
+!
+!     call fftn(A, SHAPE(A))
+!
+!   will do the same in place.
+!
+!     result = fft(A, dim=(/1,3/))
+!
+!   will transform with respect to the first and the third dimension, scaled
+!   by sqrt(L*N).
+!
+!     result = fft(fft(A), inv=.true.)
+!
+!   should (approximately) reproduce A.
+!   With B having the same shape as A
+!
+!     result = fft(fft(A) * CONJG(fft(B)), inv=.true.)
+!
+!   will correlate A and B.
+!
+!
+! Remarks:
+!
+!   Following changes have been introduced with respect to fftn.c:
+!   - complex arguments and results are of type complex, rather than
+!     real an imaginary part separately.
+!   - increment parameter (magnitude of isign) has been dropped,
+!     inc is always one, direction of transform is given by inv.     
+!   - maxf and maxp have been dropped. The amount of temporary storage
+!     needed is determined by the fftradix routine. Both fftn and fft
+!     can handle any size of array. (Maybe they take a lot of time and
+!     memory, but they will do it)
+!
+!   Redesigning fftradix in a way, that it handles assumed shape arrays
+!   would have been desirable. However, I found it rather hard to do this
+!   in an efficient way. Problems were:
+!   - to prevent stride multiplications when indexing arrays. At least our
+!     compiler was not clever enough to discover that in fact additions
+!     would do the job as well. On the other hand, I haven't been clever
+!     enough to find an implementation using array operations.
+!   - fftradix is rather large and different versions would be necessaray
+!     for each possible rank of array.
+!   Consequently, in place transformation still needs the argument stored
+!   in a consecutive bunch of memory and can't be performed on array
+!   sections like A(100:199:-3, 50:1020). Calling fftn with such sections
+!   will most probably imply copy-in-copy-out. However, the function fft
+!   works with everything it gets and should be convenient to use.
+!
+! Michael Steffens, 09.12.96, <Michael.Steffens@mbox.muk.uni-hannover.de>
+! Restructured fftradix for better optimization. M. Steffens, 4 June 1997
+!-----------------------------------------------------------------------------
+
+    IMPLICIT NONE
+
+    PRIVATE
+    PUBLIC:: fft, fftn, fftkind
+
+    INTEGER, PARAMETER:: fftkind = KIND(0.0) ! adjust here for other precisions
+
+    REAL(fftkind), PARAMETER:: sin60 = 0.86602540378443865_fftkind
+    REAL(fftkind), PARAMETER:: cos72 = 0.30901699437494742_fftkind
+    REAL(fftkind), PARAMETER:: sin72 = 0.95105651629515357_fftkind
+    REAL(fftkind), PARAMETER:: pi    = 3.14159265358979323_fftkind
+
+    INTERFACE fft
+       MODULE PROCEDURE fft1d
+       MODULE PROCEDURE fft2d
+       MODULE PROCEDURE fft3d
+       MODULE PROCEDURE fft4d
+       MODULE PROCEDURE fft5d
+       MODULE PROCEDURE fft6d
+       MODULE PROCEDURE fft7d
+    END INTERFACE
+
+
+ CONTAINS
+
+
+ FUNCTION fft1d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:), INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                        INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                        INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION(SIZE(array, 1)):: ft
+
+    INTEGER ::  ishape(1)
+
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, inv = inv,  stat = stat)
+
+ END FUNCTION fft1d
+
+
+ FUNCTION fft2d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),   INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                          INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                          INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION(SIZE(array, 1), SIZE(array, 2)):: ft
+
+    INTEGER ::  ishape(2)
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft2d
+
+
+ FUNCTION fft3d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),     INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                            INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                            INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), &
+         DIMENSION(SIZE(array, 1), SIZE(array, 2), SIZE(array, 3)):: ft
+
+    INTEGER ::  ishape(3)
+
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array)
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft3d
+
+
+ FUNCTION fft4d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:,:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),       INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                              INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                              INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION( &
+         SIZE(array, 1), SIZE(array, 2), SIZE(array, 3), SIZE(array, 4)):: ft
+
+    INTEGER ::  ishape(4)
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft4d
+
+
+ FUNCTION fft5d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:,:,:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),         INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                                INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                                INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION( &
+         SIZE(array, 1), SIZE(array, 2), SIZE(array, 3), SIZE(array, 4), &
+         SIZE(array, 5)):: ft
+
+    INTEGER ::  ishape(5)
+
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft5d
+
+
+ FUNCTION fft6d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:,:,:,:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),           INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                                  INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                                  INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION( &
+         SIZE(array, 1), SIZE(array, 2), SIZE(array, 3), SIZE(array, 4), &
+         SIZE(array, 5), SIZE(array, 6)):: ft
+
+    INTEGER ::  ishape(6)
+
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft6d
+
+
+ FUNCTION fft7d(array, dim, inv, stat) RESULT(ft)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(:,:,:,:,:,:,:), INTENT(IN)           :: array
+    INTEGER,          DIMENSION(:),             INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                                    INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                                    INTENT(OUT), OPTIONAL:: stat
+!
+!-- Function result
+    COMPLEX(fftkind), DIMENSION( &
+         SIZE(array, 1), SIZE(array, 2), SIZE(array, 3), SIZE(array, 4), &
+         SIZE(array, 5), SIZE(array, 6), SIZE(array, 7)):: ft
+
+    INTEGER ::  ishape(7)
+
+!
+!-- Intrinsics used
+    INTRINSIC SIZE, SHAPE
+
+    ft = array
+    ishape = SHAPE( array )
+    CALL fftn(ft, ishape, dim, inv, stat)
+
+ END FUNCTION fft7d
+
+
+ SUBROUTINE fftn(array, shape, dim, inv, stat)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(*), INTENT(INOUT)        :: array
+    INTEGER,          DIMENSION(:), INTENT(IN)           :: shape
+    INTEGER,          DIMENSION(:), INTENT(IN),  OPTIONAL:: dim
+    LOGICAL,                        INTENT(IN),  OPTIONAL:: inv
+    INTEGER,                        INTENT(OUT), OPTIONAL:: stat
+!
+!-- Local arrays
+    INTEGER, DIMENSION(SIZE(shape)):: d
+!
+!-- Local scalars
+    LOGICAL      :: inverse
+    INTEGER      :: i, ndim, ntotal
+    REAL(fftkind):: scale
+!
+!-- Intrinsics used
+    INTRINSIC PRESENT, MIN, PRODUCT, SIZE, SQRT
+
+!
+!-- Optional parameter settings
+    IF (PRESENT(inv)) THEN
+       inverse = inv
+    ELSE
+       inverse = .FALSE.
+    END IF
+    IF (PRESENT(dim)) THEN
+       ndim = MIN(SIZE(dim), SIZE(d))
+       d(1:ndim) = DIM(1:ndim)
+    ELSE
+       ndim = SIZE(d)
+       d = (/(i, i = 1, SIZE(d))/)
+    END IF
+
+    ntotal = PRODUCT(shape)
+    scale = SQRT(1.0_fftkind / PRODUCT(shape(d(1:ndim))))
+    DO i = 1, ntotal
+       array(i) = CMPLX(REAL(array(i)) * scale, AIMAG(array(i)) * scale, &
+            KIND=fftkind)
+    END DO
+
+    DO i = 1, ndim
+       CALL fftradix(array, ntotal, shape(d(i)), PRODUCT(shape(1:d(i))), &
+            inverse, stat)
+       IF (PRESENT(stat)) THEN
+          IF (stat /=0) RETURN
+       END IF
+    END DO
+
+ END SUBROUTINE fftn
+
+
+ SUBROUTINE fftradix(array, ntotal, npass, nspan, inv, stat)
+!
+!-- Formal parameters
+    COMPLEX(fftkind), DIMENSION(*), INTENT(INOUT)        :: array
+    INTEGER,                        INTENT(IN)           :: ntotal, npass, nspan
+    LOGICAL,                        INTENT(IN)           :: inv
+    INTEGER,                        INTENT(OUT), OPTIONAL:: stat
+!
+!-- Local arrays
+    INTEGER,          DIMENSION(BIT_SIZE(0))     :: factor
+    COMPLEX(fftkind), DIMENSION(:), ALLOCATABLE  :: ctmp
+    REAL(fftkind),    DIMENSION(:), ALLOCATABLE  :: sine, cosine
+    INTEGER,          DIMENSION(:), ALLOCATABLE  :: perm
+!
+!-- Local scalars
+    INTEGER         :: maxfactor, nfactor, nsquare, nperm
+!
+!-- Intrinsics used
+    INTRINSIC MAXVAL, MOD, PRESENT, ISHFT, BIT_SIZE, SIN, COS, &
+         CMPLX, REAL, AIMAG
+
+    IF (npass <= 1) RETURN
+
+    CALL factorize(npass, factor, nfactor, nsquare)
+
+    maxfactor = MAXVAL(factor(:nfactor))
+    IF (nfactor - ISHFT(nsquare, 1) > 0) THEN
+       nperm = MAX(nfactor + 1, PRODUCT(factor(nsquare+1: nfactor-nsquare)) - 1)
+    ELSE
+       nperm = nfactor + 1
+    END IF
+
+    IF (PRESENT(stat)) THEN
+       ALLOCATE(ctmp(maxfactor), sine(maxfactor), cosine(maxfactor), STAT=stat)
+       IF (stat /= 0) RETURN
+       CALL transform(array, ntotal, npass, nspan, &
+            factor, nfactor, ctmp, sine, cosine, inv)
+       DEALLOCATE(sine, cosine, STAT=stat)
+       IF (stat /= 0) RETURN
+       ALLOCATE(perm(nperm), STAT=stat)
+       IF (stat /= 0) RETURN
+       CALL permute(array, ntotal, npass, nspan, &
+            factor, nfactor, nsquare, maxfactor, &
+            ctmp, perm)
+       DEALLOCATE(perm, ctmp, STAT=stat)
+       IF (stat /= 0) RETURN
+    ELSE
+       ALLOCATE(ctmp(maxfactor), sine(maxfactor), cosine(maxfactor))
+       CALL transform(array, ntotal, npass, nspan, &
+            factor, nfactor, ctmp, sine, cosine, inv)
+       DEALLOCATE(sine, cosine)
+       ALLOCATE(perm(nperm))
+       CALL permute(array, ntotal, npass, nspan, &
+            factor, nfactor, nsquare, maxfactor, &
+            ctmp, perm)
+       DEALLOCATE(perm, ctmp)
+    END IF
+
+
+  CONTAINS
+
+
+    SUBROUTINE factorize(npass, factor, nfactor, nsquare)
+!
+!--   Formal parameters
+      INTEGER,               INTENT(IN) :: npass
+      INTEGER, DIMENSION(*), INTENT(OUT):: factor
+      INTEGER,               INTENT(OUT):: nfactor, nsquare
+!
+!--   Local scalars
+      INTEGER:: j, jj, k
+
+      nfactor = 0
+      k = npass
+      DO WHILE (MOD(k, 16) == 0) 
+         nfactor = nfactor + 1
+         factor(nfactor) = 4
+         k = k / 16
+      END DO
+      j = 3
+      jj = 9
+      DO
+         DO WHILE (MOD(k, jj) == 0)
+            nfactor = nfactor + 1
+            factor(nfactor) = j
+            k = k / jj
+         END DO
+         j = j + 2
+         jj = j * j
+         IF (jj > k) EXIT
+      END DO
+      IF (k <= 4) THEN
+         nsquare = nfactor
+         factor(nfactor + 1) = k
+         IF (k /= 1) nfactor = nfactor + 1
+      ELSE 
+         IF (k - ISHFT(k / 4, 2) == 0) THEN
+            nfactor = nfactor + 1
+            factor(nfactor) = 2
+            k = k / 4
+         END IF
+         nsquare = nfactor
+         j = 2
+         DO
+            IF (MOD(k, j) == 0) THEN
+               nfactor = nfactor + 1
+               factor(nfactor) = j
+               k = k / j
+            END IF
+            j = ISHFT((j + 1) / 2, 1) + 1
+            IF (j > k) EXIT
+         END DO
+      END IF
+      IF (nsquare > 0) THEN
+         j = nsquare
+         DO
+            nfactor = nfactor + 1
+            factor(nfactor) = factor(j)
+            j = j - 1
+            IF (j==0) EXIT
+         END DO
+      END IF
+
+    END SUBROUTINE factorize
+
+
+    SUBROUTINE transform(array, ntotal, npass, nspan, &
+         factor, nfactor, ctmp, sine, cosine, inv) !-- compute fourier transform
+!
+!--   Formal parameters
+      COMPLEX(fftkind), DIMENSION(*), INTENT(IN OUT):: array
+      INTEGER,                        INTENT(IN)    :: ntotal, npass, nspan
+      INTEGER,          DIMENSION(*), INTENT(IN)    :: factor
+      INTEGER,                        INTENT(IN)    :: nfactor
+      COMPLEX(fftkind), DIMENSION(*), INTENT(OUT)   :: ctmp
+      REAL(fftkind),    DIMENSION(*), INTENT(OUT)   :: sine, cosine
+      LOGICAL,                        INTENT(IN)    :: inv
+!
+!--   Local scalars
+      INTEGER         :: ii, ispan
+      INTEGER         :: j, jc, jf, jj
+      INTEGER         :: k, kk, kspan, k1, k2, k3, k4
+      INTEGER         :: nn, nt
+      REAL(fftkind)   :: s60, c72, s72, pi2, radf
+      REAL(fftkind)   :: c1, s1, c2, s2, c3, s3, cd, sd, ak
+      COMPLEX(fftkind):: cc, cj, ck, cjp, cjm, ckp, ckm
+
+      c72 = cos72
+      IF (inv) THEN
+         s72 = sin72
+         s60 = sin60
+         pi2 = pi
+      ELSE
+         s72 = -sin72
+         s60 = -sin60
+         pi2 = -pi
+      END IF
+
+      nt = ntotal
+      nn = nt - 1
+      kspan = nspan
+      jc = nspan / npass
+      radf = pi2 * jc
+      pi2 = pi2 * 2.0_fftkind !-- use 2 PI from here on
+
+      ii = 0
+      jf = 0
+      DO
+         sd = radf / kspan
+         cd = SIN(sd)
+         cd = 2.0_fftkind * cd * cd
+         sd = SIN(sd + sd)
+         kk = 1
+         ii = ii + 1
+
+         SELECT CASE (factor(ii))
+         CASE (2)
+!
+!--         Transform for factor of 2 (including rotation factor)
+            kspan = kspan / 2
+            k1 = kspan + 2
+            DO
+               DO
+                  k2 = kk + kspan
+                  ck = array(k2)
+                  array(k2) = array(kk)-ck
+                  array(kk) = array(kk) + ck
+                  kk = k2 + kspan
+                  IF (kk > nn) EXIT
+               END DO
+               kk = kk - nn
+               IF (kk > jc) EXIT
+            END DO
+            IF (kk > kspan) RETURN
+            DO
+               c1 = 1.0_fftkind - cd
+               s1 = sd
+               DO
+                  DO
+                     DO
+                        k2 = kk + kspan
+                        ck = array(kk) - array(k2)
+                        array(kk) = array(kk) + array(k2)
+                        array(k2) = ck * CMPLX(c1, s1, KIND=fftkind)
+                        kk = k2 + kspan
+                        IF (kk >= nt) EXIT
+                     END DO
+                     k2 = kk - nt
+                     c1 = -c1
+                     kk = k1 - k2
+                     IF (kk <= k2) EXIT
+                  END DO
+                  ak = c1 - (cd * c1 + sd * s1)
+                  s1 = sd * c1 - cd * s1 + s1
+                  c1 = 2.0_fftkind - (ak * ak + s1 * s1)
+                  s1 = s1 * c1
+                  c1 = c1 * ak
+                  kk = kk + jc
+                  IF (kk >= k2) EXIT
+               END DO
+               k1 = k1 + 1 + 1
+               kk = (k1 - kspan) / 2 + jc
+               IF (kk > jc + jc) EXIT
+            END DO
+
+         CASE (4) !-- transform for factor of 4
+            ispan = kspan
+            kspan = kspan / 4
+
+            DO
+               c1 = 1.0_fftkind
+               s1 = 0.0_fftkind
+               DO
+                  DO
+                     k1 = kk + kspan
+                     k2 = k1 + kspan
+                     k3 = k2 + kspan
+                     ckp = array(kk) + array(k2)
+                     ckm = array(kk) - array(k2)
+                     cjp = array(k1) + array(k3)
+                     cjm = array(k1) - array(k3)
+                     array(kk) = ckp + cjp
+                     cjp = ckp - cjp
+                     IF (inv) THEN
+                        ckp = ckm + CMPLX(-AIMAG(cjm), REAL(cjm), KIND=fftkind)
+                        ckm = ckm + CMPLX(AIMAG(cjm), -REAL(cjm), KIND=fftkind)
+                     ELSE
+                        ckp = ckm + CMPLX(AIMAG(cjm), -REAL(cjm), KIND=fftkind)
+                        ckm = ckm + CMPLX(-AIMAG(cjm), REAL(cjm), KIND=fftkind)
+                     END IF
+!
+!--                  Avoid useless multiplies
+                     IF (s1 == 0.0_fftkind) THEN
+                        array(k1) = ckp
+                        array(k2) = cjp
+                        array(k3) = ckm
+                     ELSE
+                        array(k1) = ckp * CMPLX(c1, s1, KIND=fftkind)
+                        array(k2) = cjp * CMPLX(c2, s2, KIND=fftkind)
+                        array(k3) = ckm * CMPLX(c3, s3, KIND=fftkind)
+                     END IF
+                     kk = k3 + kspan
+                     IF (kk > nt) EXIT
+                  END DO
+
+                  c2 = c1 - (cd * c1 + sd * s1)
+                  s1 = sd * c1 - cd * s1 + s1
+                  c1 = 2.0_fftkind - (c2 * c2 + s1 * s1)
+                  s1 = s1 * c1
+                  c1 = c1 * c2
+!
+!--               Values of c2, c3, s2, s3 that will get used next time
+                  c2 = c1 * c1 - s1 * s1
+                  s2 = 2.0_fftkind * c1 * s1
+                  c3 = c2 * c1 - s2 * s1
+                  s3 = c2 * s1 + s2 * c1
+                  kk = kk - nt + jc
+                  IF (kk > kspan) EXIT
+               END DO
+               kk = kk - kspan + 1
+               IF (kk > jc) EXIT
+            END DO
+            IF (kspan == jc) RETURN
+
+         CASE default
+!
+!--         Transform for odd factors
+            k = factor(ii)
+            ispan = kspan
+            kspan = kspan / k
+
+            SELECT CASE (k)
+            CASE (3) !-- transform for factor of 3 (optional code)
+               DO
+                  DO
+                     k1 = kk + kspan
+                     k2 = k1 + kspan
+                     ck = array(kk)
+                     cj = array(k1) + array(k2)
+                     array(kk) = ck + cj
+                     ck = ck - CMPLX( &
+                          0.5_fftkind * REAL (cj), &
+                          0.5_fftkind * AIMAG(cj), &
+                          KIND=fftkind)
+                     cj = CMPLX( &
+                          (REAL (array(k1)) - REAL (array(k2))) * s60, &
+                          (AIMAG(array(k1)) - AIMAG(array(k2))) * s60, &
+                          KIND=fftkind)
+                     array(k1) = ck + CMPLX(-AIMAG(cj), REAL(cj), KIND=fftkind)
+                     array(k2) = ck + CMPLX(AIMAG(cj), -REAL(cj), KIND=fftkind)
+                     kk = k2 + kspan
+                     IF (kk >= nn) EXIT
+                  END DO
+                  kk = kk - nn
+                  IF (kk > kspan) EXIT
+               END DO
+
+            CASE (5) !-- transform for factor of 5 (optional code)
+               c2 = c72 * c72 - s72 * s72
+               s2 = 2.0_fftkind * c72 * s72
+               DO
+                  DO
+                     k1 = kk + kspan
+                     k2 = k1 + kspan
+                     k3 = k2 + kspan
+                     k4 = k3 + kspan
+                     ckp = array(k1) + array(k4)
+                     ckm = array(k1) - array(k4)
+                     cjp = array(k2) + array(k3)
+                     cjm = array(k2) - array(k3)
+                     cc = array(kk)
+                     array(kk) = cc + ckp + cjp
+                     ck = CMPLX(REAL(ckp) * c72, AIMAG(ckp) * c72, &
+                          KIND=fftkind) + &
+                          CMPLX(REAL(cjp) * c2,  AIMAG(cjp) * c2,  &
+                          KIND=fftkind) + cc
+                     cj = CMPLX(REAL(ckm) * s72, AIMAG(ckm) * s72, &
+                          KIND=fftkind) + &
+                          CMPLX(REAL(cjm) * s2,  AIMAG(cjm) * s2,  &
+                          KIND=fftkind)
+                     array(k1) = ck + CMPLX(-AIMAG(cj), REAL(cj), KIND=fftkind)
+                     array(k4) = ck + CMPLX(AIMAG(cj), -REAL(cj), KIND=fftkind)
+                     ck = CMPLX(REAL(ckp) * c2,  AIMAG(ckp) * c2,  &
+                          KIND=fftkind) + &
+                          CMPLX(REAL(cjp) * c72, AIMAG(cjp) * c72, &
+                          KIND=fftkind) + cc
+                     cj = CMPLX(REAL(ckm) * s2,  AIMAG(ckm) * s2,  &
+                          KIND=fftkind) - &
+                          CMPLX(REAL(cjm) * s72, AIMAG(cjm) * s72, &
+                          KIND=fftkind)
+                     array(k2) = ck + CMPLX(-AIMAG(cj), REAL(cj), KIND=fftkind)
+                     array(k3) = ck + CMPLX(AIMAG(cj), -REAL(cj), KIND=fftkind)
+                     kk = k4 + kspan
+                     IF (kk >= nn) EXIT
+                  END DO
+                  kk = kk - nn
+                  IF (kk > kspan) EXIT
+               END DO
+
+            CASE default
+               IF (k /= jf) THEN
+                  jf = k
+                  s1 = pi2 / k
+                  c1 = COS(s1)
+                  s1 = SIN(s1)
+                  cosine (jf) = 1.0_fftkind
+                  sine (jf) = 0.0_fftkind
+                  j = 1
+                  DO
+                     cosine (j) = cosine (k) * c1 + sine (k) * s1
+                     sine (j) = cosine (k) * s1 - sine (k) * c1
+                     k = k-1
+                     cosine (k) = cosine (j)
+                     sine (k) = -sine (j)
+                     j = j + 1
+                     IF (j >= k) EXIT
+                  END DO
+               END IF
+               DO
+                  DO
+                     k1 = kk
+                     k2 = kk + ispan
+                     cc = array(kk)
+                     ck = cc
+                     j = 1
+                     k1 = k1 + kspan
+                     DO
+                        k2 = k2 - kspan
+                        j = j + 1
+                        ctmp(j) = array(k1) + array(k2)
+                        ck = ck + ctmp(j)
+                        j = j + 1
+                        ctmp(j) = array(k1) - array(k2)
+                        k1 = k1 + kspan
+                        IF (k1 >= k2) EXIT
+                     END DO
+                     array(kk) = ck
+                     k1 = kk
+                     k2 = kk + ispan
+                     j = 1
+                     DO
+                        k1 = k1 + kspan
+                        k2 = k2 - kspan
+                        jj = j
+                        ck = cc
+                        cj = (0.0_fftkind, 0.0_fftkind)
+                        k = 1
+                        DO
+                           k = k + 1
+                           ck = ck + CMPLX( &
+                                REAL (ctmp(k)) * cosine(jj), &
+                                AIMAG(ctmp(k)) * cosine(jj), KIND=fftkind)
+                           k = k + 1
+                           cj = cj + CMPLX( &
+                                REAL (ctmp(k)) * sine(jj), &
+                                AIMAG(ctmp(k)) * sine(jj), KIND=fftkind)
+                           jj = jj + j
+                           IF (jj > jf) jj = jj - jf
+                           IF (k >= jf) EXIT
+                        END DO
+                        k = jf - j
+                        array(k1) = ck + CMPLX(-AIMAG(cj), REAL(cj), &
+                             KIND=fftkind)
+                        array(k2) = ck + CMPLX(AIMAG(cj), -REAL(cj), &
+                             KIND=fftkind)
+                        j = j + 1
+                        IF (j >= k) EXIT
+                     END DO
+                     kk = kk + ispan
+                     IF (kk > nn) EXIT
+                  END DO
+                  kk = kk - nn
+                  IF (kk > kspan) EXIT
+               END DO
+
+            END SELECT
+!
+!--         Multiply by rotation factor (except for factors of 2 and 4)
+            IF (ii == nfactor) RETURN
+            kk = jc + 1
+            DO
+               c2 = 1.0_fftkind - cd
+               s1 = sd
+               DO
+                  c1 = c2
+                  s2 = s1
+                  kk = kk + kspan
+                  DO
+                     DO
+                        array(kk) = CMPLX(c2, s2, KIND=fftkind) * array(kk)
+                        kk = kk + ispan
+                        IF (kk > nt) EXIT
+                     END DO
+                     ak = s1 * s2
+                     s2 = s1 * c2 + c1 * s2
+                     c2 = c1 * c2 - ak
+                     kk = kk - nt + kspan
+                     IF (kk > ispan) EXIT
+                  END DO
+                  c2 = c1 - (cd * c1 + sd * s1)
+                  s1 = s1 + sd * c1 - cd * s1
+                  c1 = 2.0_fftkind - (c2 * c2 + s1 * s1)
+                  s1 = s1 * c1
+                  c2 = c2 * c1
+                  kk = kk - ispan + jc
+                  IF (kk > kspan) EXIT
+               END DO
+               kk = kk - kspan + jc + 1
+               IF (kk > jc + jc) EXIT
+            END DO
+
+         END SELECT
+      END DO
+    END SUBROUTINE transform
+
+
+    SUBROUTINE permute(array, ntotal, npass, nspan, &
+         factor, nfactor, nsquare, maxfactor, &
+         ctmp, perm)
+!
+!--   Formal parameters
+      COMPLEX(fftkind), DIMENSION(*), INTENT(IN OUT):: array
+      INTEGER,                        INTENT(IN)    :: ntotal, npass, nspan
+      INTEGER,          DIMENSION(*), INTENT(IN OUT):: factor
+      INTEGER,                        INTENT(IN)    :: nfactor, nsquare
+      INTEGER,                        INTENT(IN)    :: maxfactor
+      COMPLEX(fftkind), DIMENSION(*), INTENT(OUT)   :: ctmp
+      INTEGER,          DIMENSION(*), INTENT(OUT)   :: perm
+!
+!--   Local scalars
+      INTEGER         :: ii, ispan
+      INTEGER         :: j, jc, jj
+      INTEGER         :: k, kk, kspan, kt, k1, k2, k3
+      INTEGER         :: nn, nt
+      COMPLEX(fftkind):: ck
+
+!
+!--   Permute the results to normal order---done in two stages
+!--   Permutation for square factors of n
+
+      nt = ntotal
+      nn = nt - 1
+      kt = nsquare
+      kspan = nspan
+      jc = nspan / npass
+
+      perm (1) = nspan
+      IF (kt > 0) THEN
+         k = kt + kt + 1
+         IF (nfactor < k) k = k - 1
+         j = 1
+         perm (k + 1) = jc
+         DO
+            perm (j + 1) = perm (j) / factor(j)
+            perm (k) = perm (k + 1) * factor(j)
+            j = j + 1
+            k = k - 1
+            IF (j >= k) EXIT
+         END DO
+         k3 = perm (k + 1)
+         kspan = perm (2)
+         kk = jc + 1
+         k2 = kspan + 1
+         j = 1
+
+         IF (npass /= ntotal) THEN
+            permute_multi: DO
+               DO
+                  DO
+                     k = kk + jc
+                     DO
+!
+!--                     Swap array(kk) <> array(k2)
+                        ck = array(kk)
+                        array(kk) = array(k2)
+                        array(k2) = ck
+                        kk = kk + 1
+                        k2 = k2 + 1
+                        IF (kk >= k) EXIT
+                     END DO
+                     kk = kk + nspan - jc
+                     k2 = k2 + nspan - jc
+                     IF (kk >= nt) EXIT
+                  END DO
+                  kk = kk - nt + jc
+                  k2 = k2 - nt + kspan
+                  IF (k2 >= nspan) EXIT
+               END DO
+               DO
+                  DO
+                     k2 = k2 - perm (j)
+                     j = j + 1
+                     k2 = perm (j + 1) + k2
+                     IF (k2 <= perm (j)) EXIT
+                  END DO
+                  j = 1
+                  DO
+                     IF (kk < k2) CYCLE permute_multi
+                     kk = kk + jc
+                     k2 = k2 + kspan
+                     IF (k2 >= nspan) EXIT
+                  END DO
+                  IF (kk >= nspan) EXIT
+               END DO
+               EXIT
+            END DO permute_multi
+         ELSE
+            permute_single: DO
+               DO
+!
+!--               Swap array(kk) <> array(k2)
+                  ck = array(kk)
+                  array(kk) = array(k2)
+                  array(k2) = ck
+                  kk = kk + 1
+                  k2 = k2 + kspan
+                  IF (k2 >= nspan) EXIT
+               END DO
+               DO
+                  DO
+                     k2 = k2 - perm (j)
+                     j = j + 1
+                     k2 = perm (j + 1) + k2
+                     IF (k2 <= perm (j)) EXIT
+                  END DO
+                  j = 1
+                  DO
+                     IF (kk < k2) CYCLE permute_single
+                     kk = kk + 1
+                     k2 = k2 + kspan
+                     IF (k2 >= nspan) EXIT
+                  END DO
+                  IF (kk >= nspan) EXIT
+               END DO
+               EXIT
+            END DO permute_single
+         END IF
+         jc = k3
+      END IF
+
+      IF (ISHFT(kt, 1) + 1 >= nfactor) RETURN
+
+      ispan = perm (kt + 1)
+!
+!--   Permutation for square-free factors of n
+      j = nfactor - kt
+      factor(j + 1) = 1
+      DO
+         factor(j) = factor(j) * factor(j+1)
+         j = j - 1
+         IF (j == kt) EXIT
+      END DO
+      kt = kt + 1
+      nn = factor(kt) - 1
+      j = 0
+      jj = 0
+      DO
+         k = kt + 1
+         k2 = factor(kt)
+         kk = factor(k)
+         j = j + 1
+         IF (j > nn) EXIT !-- exit infinite loop
+         jj = jj + kk
+         DO WHILE (jj >= k2)
+            jj = jj - k2
+            k2 = kk
+            k = k + 1
+            kk = factor(k)
+            jj = jj + kk
+         END DO
+         perm (j) = jj
+      END DO
+!
+!--   Determine the permutation cycles of length greater than 1
+      j = 0
+      DO
+         DO
+            j = j + 1
+            kk = perm(j)
+            IF (kk >= 0) EXIT
+         END DO
+         IF (kk /= j) THEN
+            DO
+               k = kk
+               kk = perm (k)
+               perm (k) = -kk
+               IF (kk == j) EXIT
+            END DO
+            k3 = kk
+         ELSE
+            perm (j) = -j
+            IF (j == nn) EXIT !-- exit infinite loop
+         END IF
+      END DO
+!
+!--   Reorder a and b, following the permutation cycles
+      DO
+         j = k3 + 1
+         nt = nt - ispan
+         ii = nt - 1 + 1
+         IF (nt < 0) EXIT !-- exit infinite loop
+         DO
+            DO
+               j = j-1
+               IF (perm(j) >= 0) EXIT
+            END DO
+            jj = jc
+            DO
+               kspan = jj
+               IF (jj > maxfactor) kspan = maxfactor
+               jj = jj - kspan
+               k = perm(j)
+               kk = jc * k + ii + jj
+               k1 = kk + kspan
+               k2 = 0
+               DO
+                  k2 = k2 + 1
+                  ctmp(k2) = array(k1)
+                  k1 = k1 - 1
+                  IF (k1 == kk) EXIT
+               END DO
+               DO
+                  k1 = kk + kspan
+                  k2 = k1 - jc * (k + perm(k))
+                  k = -perm(k)
+                  DO
+                     array(k1) = array(k2)
+                     k1 = k1 - 1
+                     k2 = k2 - 1
+                     IF (k1 == kk) EXIT
+                  END DO
+                  kk = k2
+                  IF (k == j) EXIT
+               END DO
+               k1 = kk + kspan
+               k2 = 0
+               DO
+                  k2 = k2 + 1
+                  array(k1) = ctmp(k2)
+                  k1 = k1 - 1
+                  IF (k1 == kk) EXIT
+               END DO
+               IF (jj == 0) EXIT
+            END DO
+            IF (j == 1) EXIT
+         END DO
+      END DO
+
+    END SUBROUTINE permute
+
+ END SUBROUTINE fftradix
+
+ END MODULE singleton
Index: palm/tags/release-3.7/SOURCE/sor.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/sor.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/sor.f90	(revision 393)
@@ -0,0 +1,191 @@
+ SUBROUTINE sor( d, ddzu, ddzw, p )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 75 2007-03-22 09:54:05Z raasch
+! 2nd+3rd argument removed from exchange horiz
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.9  2005/03/26 21:02:23  raasch
+! Implementation of non-cyclic (Neumann) horizontal boundary conditions,
+! dx2,dy2 replaced by ddx2,ddy2
+!
+! Revision 1.1  1997/08/11 06:25:56  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Solve the Poisson-equation with the SOR-Red/Black-scheme.
+!------------------------------------------------------------------------------!
+
+    USE grid_variables
+    USE indices
+    USE pegrid
+    USE control_parameters
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, n, nxl1, nxl2, nys1, nys2
+    REAL    ::  ddzu(1:nz+1), ddzw(1:nz)
+    REAL    ::  d(nzb+1:nzt,nys:nyn,nxl:nxr),         &
+                p(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+    REAL, DIMENSION(:), ALLOCATABLE ::  f1, f2, f3
+
+    ALLOCATE( f1(1:nz), f2(1:nz), f3(1:nz) )
+
+!
+!-- Compute pre-factors.
+    DO  k = 1, nz
+         f2(k) = ddzu(k+1) * ddzw(k)
+         f3(k) = ddzu(k)   * ddzw(k)
+         f1(k) = 2.0 * ( ddx2 + ddy2 ) + f2(k) + f3(k)
+    ENDDO
+
+!
+!-- Limits for RED- and BLACK-part.
+    IF ( MOD( nxl , 2 ) == 0 )  THEN
+       nxl1 = nxl
+       nxl2 = nxl + 1
+    ELSE
+       nxl1 = nxl + 1
+       nxl2 = nxl
+    ENDIF
+    IF ( MOD( nys , 2 ) == 0 )  THEN
+       nys1 = nys
+       nys2 = nys + 1
+    ELSE
+       nys1 = nys + 1
+       nys2 = nys
+    ENDIF
+
+    DO  n = 1, n_sor
+
+!
+!--    RED-part
+       DO  i = nxl1, nxr, 2
+          DO  j = nys2, nyn, 2
+             DO  k = nzb+1, nzt
+                p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * (            &
+                               ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +    &
+                               ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +    &
+                               f2(k) * p(k+1,j,i)                 +    &
+                               f3(k) * p(k-1,j,i)                 -    &
+                               d(k,j,i)                           -    &
+                               f1(k) * p(k,j,i)           )
+             ENDDO
+          ENDDO
+       ENDDO
+
+       DO  i = nxl2, nxr, 2
+          DO  j = nys1, nyn, 2
+             DO  k = nzb+1, nzt
+                p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * (            &
+                               ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +    &
+                               ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +    &
+                               f2(k) * p(k+1,j,i)                 +    &
+                               f3(k) * p(k-1,j,i)                 -    &
+                               d(k,j,i)                           -    &
+                               f1(k) * p(k,j,i)           )
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Exchange of boundary values for p.
+       CALL exchange_horiz( p )
+
+!
+!--    Horizontal (Neumann) boundary conditions in case of non-cyclic boundaries
+       IF ( bc_lr /= 'cyclic' )  THEN
+          IF ( inflow_l .OR. outflow_l )  p(:,:,nxl-1) = p(:,:,nxl)
+          IF ( inflow_r .OR. outflow_r )  p(:,:,nxr+1) = p(:,:,nxr)
+       ENDIF
+       IF ( bc_ns /= 'cyclic' )  THEN
+          IF ( inflow_n .OR. outflow_n )  p(:,nyn+1,:) = p(:,nyn,:)
+          IF ( inflow_s .OR. outflow_s )  p(:,nys-1,:) = p(:,nys,:)
+       ENDIF
+
+!
+!--    BLACK-part
+       DO  i = nxl1, nxr, 2
+          DO  j = nys1, nyn, 2
+             DO  k = nzb+1, nzt
+                p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * (            &
+                               ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +    &
+                               ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +    &
+                               f2(k) * p(k+1,j,i)                 +    &
+                               f3(k) * p(k-1,j,i)                 -    &
+                               d(k,j,i)                           -    &
+                               f1(k) * p(k,j,i)           )
+             ENDDO
+          ENDDO
+       ENDDO
+
+       DO  i = nxl2, nxr, 2
+          DO  j = nys2, nyn, 2
+             DO  k = nzb+1, nzt
+                p(k,j,i) = p(k,j,i) + omega_sor / f1(k) * (            &
+                               ddx2 * ( p(k,j,i+1) + p(k,j,i-1) ) +    &
+                               ddy2 * ( p(k,j+1,i) + p(k,j-1,i) ) +    &
+                               f2(k) * p(k+1,j,i)                 +    &
+                               f3(k) * p(k-1,j,i)                 -    &
+                               d(k,j,i)                           -    &
+                               f1(k) * p(k,j,i)           )
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Exchange of boundary values for p.
+       CALL exchange_horiz( p )
+
+!
+!--    Boundary conditions top/bottom.
+!--    Bottom boundary
+       IF ( ibc_p_b == 1 )  THEN
+!
+!--       Neumann
+          p(nzb,:,:) = p(nzb+1,:,:)
+       ELSE
+!
+!--       Dirichlet
+          p(nzb,:,:) = 0.0
+       ENDIF
+
+!
+!--    Top boundary
+       IF ( ibc_p_t == 1 )  THEN
+!
+!--       Neumann
+          p(nzt+1,:,:) = p(nzt,:,:)
+       ELSE
+!
+!--       Dirichlet
+          p(nzt+1,:,:) = 0.0
+       ENDIF
+
+!
+!--    Horizontal (Neumann) boundary conditions in case of non-cyclic boundaries
+       IF ( bc_lr /= 'cyclic' )  THEN
+          IF ( inflow_l .OR. outflow_l )  p(:,:,nxl-1) = p(:,:,nxl)
+          IF ( inflow_r .OR. outflow_r )  p(:,:,nxr+1) = p(:,:,nxr)
+       ENDIF
+       IF ( bc_ns /= 'cyclic' )  THEN
+          IF ( inflow_n .OR. outflow_n )  p(:,nyn+1,:) = p(:,nyn,:)
+          IF ( inflow_s .OR. outflow_s )  p(:,nys-1,:) = p(:,nys,:)
+       ENDIF
+
+    ENDDO
+
+    DEALLOCATE( f1, f2, f3 )
+
+ END SUBROUTINE sor
Index: palm/tags/release-3.7/SOURCE/spline_x.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/spline_x.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/spline_x.f90	(revision 393)
@@ -0,0 +1,525 @@
+ SUBROUTINE spline_x( vad_in_out, ad_v, var_char )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.8  2004/04/30 12:54:20  raasch
+! Names of transpose indices changed, enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 09:15:59  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-spline advection along x
+!
+! Input/output parameters:
+! ad_v       = advecting wind speed component
+! vad_in_out = quantity to be advected, excluding ghost- or cyclic boundaries
+!              result is given to the calling routine in this array
+! var_char   = string which defines the quantity to be advected
+!
+! Internal arrays:
+! r          = 2D-working array (right hand side of linear equation, buffer for
+!              Long filter)
+! tf         = tendency field (2D), used for long filter
+! vad        = quantity to be advected (2D), including ghost- or cyclic
+!              boundarys along the direction of advection
+! wrk_long   = working array (long coefficients)
+! wrk_spline = working array (spline coefficients)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE grid_variables
+    USE indices
+    USE statistics
+    USE control_parameters
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  var_char
+
+    INTEGER ::  component, i, j, k, sr
+    REAL    ::  overshoot_limit, sm_faktor, t1, t2, t3, ups_limit
+    REAL, DIMENSION(:,:),   ALLOCATABLE ::  r, tf, vad, wrk_spline
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  wrk_long
+
+#if defined( __parallel )
+    REAL ::  ad_v(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),       &
+             vad_in_out(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa)
+#else
+    REAL ::  ad_v(nzb+1:nzt,nys:nyn,nxl:nxr),               &
+             vad_in_out(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+#endif
+
+!
+!-- Set criteria for switching between upstream- and upstream-spline-method
+    IF ( var_char == 'u' )  THEN
+       overshoot_limit = overshoot_limit_u
+       ups_limit       = ups_limit_u
+       component       = 1
+    ELSEIF (  var_char == 'v' )  THEN
+       overshoot_limit = overshoot_limit_v
+       ups_limit       = ups_limit_v
+       component       = 2
+    ELSEIF (  var_char == 'w' )  THEN
+       overshoot_limit = overshoot_limit_w
+       ups_limit       = ups_limit_w
+       component       = 3
+    ELSEIF (  var_char == 'pt' )  THEN
+       overshoot_limit = overshoot_limit_pt
+       ups_limit       = ups_limit_pt
+       component       = 4
+    ELSEIF (  var_char == 'e' )  THEN
+       overshoot_limit = overshoot_limit_e
+       ups_limit       = ups_limit_e
+       component       = 5
+    ENDIF
+
+!
+!-- Initialize calculation of relative upstream fraction
+    sums_up_fraction_l(component,1,:) = 0.0
+
+#if defined( __parallel )
+
+!
+!-- Allocate working arrays
+    ALLOCATE( r(-1:nx+1,nys_x:nyn_x), vad(-1:nx+1,nys_x:nyn_x), &
+              wrk_spline(0:nx,nys_x:nyn_x) )
+    IF ( long_filter_factor /= 0.0 )  THEN
+       ALLOCATE( tf(0:nx,nys_x:nyn_x), wrk_long(0:nx,nys_x:nyn_x,1:3) )
+    ENDIF
+
+!
+!-- Loop over all gridpoints along z
+    DO  k = nzb_x, nzt_x
+
+!
+!--    Store array to be advected on work array and add cyclic boundary along x
+       vad(0:nx,nys_x:nyn_x) = vad_in_out(0:nx,nys_x:nyn_x,k)
+       vad(-1,:)   = vad(nx,:)
+       vad(nx+1,:) = vad(0,:)
+
+!
+!--    Calculate right hand side
+       DO  j = nys_x, nyn_x
+          DO  i = 0, nx
+             r(i,j) = 3.0 * (                                                  &
+                            spl_tri_x(2,i) * ( vad(i,j) - vad(i-1,j) ) * ddx + &
+                            spl_tri_x(3,i) * ( vad(i+1,j) - vad(i,j) ) * ddx   &
+                            )
+          ENDDO
+       ENDDO
+
+!
+!--    Forward substitution
+       DO  j = nys_x, nyn_x
+          wrk_spline(0,j) = r(0,j)
+          DO  i = 1, nx
+             wrk_spline(i,j) = r(i,j) - spl_tri_x(5,i) * wrk_spline(i-1,j)
+          ENDDO
+       ENDDO
+
+!
+!--    Backward substitution (Sherman-Morrison-formula)
+       DO  j = nys_x, nyn_x
+          r(nx,j) = wrk_spline(nx,j) / spl_tri_x(4,nx)
+          DO  i = nx-1, 0, -1
+             r(i,j) = ( wrk_spline(i,j) - spl_tri_x(3,i) * r(i+1,j) ) / &
+                      spl_tri_x(4,i)
+          ENDDO
+          sm_faktor = ( r(0,j) + 0.5 * r(nx,j) / spl_gamma_x ) / &
+                      ( 1.0 + spl_z_x(0) + 0.5 * spl_z_x(nx) / spl_gamma_x )
+          DO  i = 0, nx
+             r(i,j) = r(i,j) - sm_faktor * spl_z_x(i)
+          ENDDO
+       ENDDO
+
+!
+!--    Add cyclic boundary to right hand side
+       r(-1,:)   = r(nx,:)
+       r(nx+1,:) = r(0,:)
+
+!
+!--    Calculate advection along x
+       DO  j = nys_x, nyn_x
+          DO  i = 0, nx
+
+             IF ( ad_v(i,j,k) == 0.0 )  THEN
+
+                vad_in_out(i,j,k) = vad(i,j)
+
+             ELSEIF ( ad_v(i,j,k) > 0.0 )  THEN
+
+                IF ( ABS( vad(i,j) - vad(i-1,j) ) <= ups_limit )  THEN
+                   vad_in_out(i,j,k) = vad(i,j) - dt_3d * ad_v(i,j,k) * &
+                                       ( vad(i,j) - vad(i-1,j) ) * ddx 
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,1,sr) = &
+                               sums_up_fraction_l(component,1,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = ad_v(i,j,k) * dt_3d * ddx
+                   t2 = 3.0 * ( vad(i-1,j) - vad(i,j) ) + &
+                        ( 2.0 * r(i,j) + r(i-1,j) ) * dx
+                   t3 = 2.0 * ( vad(i-1,j) - vad(i,j) ) + &
+                        ( r(i,j) + r(i-1,j) ) * dx
+                   vad_in_out(i,j,k) = vad(i,j) - r(i,j) * t1 * dx + &
+                                       t2 * t1**2 - t3 * t1**3
+                   IF ( vad(i-1,j) == vad(i,j) )  THEN
+                      vad_in_out(i,j,k) = vad(i,j)
+                   ENDIF
+                ENDIF
+
+             ELSE
+
+                IF ( ABS( vad(i,j) - vad(i+1,j) ) <= ups_limit )  THEN
+                   vad_in_out(i,j,k) = vad(i,j) - dt_3d * ad_v(i,j,k) * &
+                                       ( vad(i+1,j) - vad(i,j) ) * ddx
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,1,sr) = &
+                               sums_up_fraction_l(component,1,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = -ad_v(i,j,k) * dt_3d * ddx
+                   t2 = 3.0 * ( vad(i,j) - vad(i+1,j) ) + &
+                        ( 2.0 * r(i,j) + r(i+1,j) ) * dx
+                   t3 = 2.0 * ( vad(i,j) - vad(i+1,j) ) + &
+                        ( r(i,j) + r(i+1,j) ) * dx
+                   vad_in_out(i,j,k) = vad(i,j) + r(i,j) * t1 * dx - &
+                                       t2 * t1**2 + t3 * t1**3
+                   IF ( vad(i+1,j) == vad(i,j) )  THEN
+                      vad_in_out(i,j,k) = vad(i,j)
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Limit values in order to prevent overshooting
+       IF ( cut_spline_overshoot )  THEN
+
+          DO  j = nys_x, nyn_x
+             DO  i = 0, nx
+                IF ( ad_v(i,j,k) > 0.0 ) THEN
+                   IF ( vad(i,j) > vad(i-1,j) )  THEN
+                      vad_in_out(i,j,k) = MIN( vad_in_out(i,j,k), &
+                                               vad(i,j)   + overshoot_limit )
+                      vad_in_out(i,j,k) = MAX( vad_in_out(i,j,k), &
+                                               vad(i-1,j) - overshoot_limit )
+                   ELSE
+                      vad_in_out(i,j,k) = MAX( vad_in_out(i,j,k), &
+                                               vad(i,j)   - overshoot_limit )
+                      vad_in_out(i,j,k) = MIN( vad_in_out(i,j,k), &
+                                               vad(i-1,j) + overshoot_limit )
+                   ENDIF
+                ELSE
+                   IF ( vad(i,j) > vad(i+1,j) )  THEN
+                      vad_in_out(i,j,k) = MIN( vad_in_out(i,j,k), &
+                                               vad(i,j)   + overshoot_limit )
+                      vad_in_out(i,j,k) = MAX( vad_in_out(i,j,k), &
+                                               vad(i+1,j) - overshoot_limit )
+                   ELSE
+                      vad_in_out(i,j,k) = MAX( vad_in_out(i,j,k), &
+                                               vad(i,j)   - overshoot_limit )
+                      vad_in_out(i,j,k) = MIN( vad_in_out(i,j,k), &
+                                               vad(i+1,j) + overshoot_limit )
+                   ENDIF
+                ENDIF
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Long-filter (acting on tendency only)
+       IF ( long_filter_factor /= 0.0 )  THEN
+
+!
+!--       Compute tendency
+          DO  j = nys_x, nyn_x
+             DO  i = 0, nx
+                tf(i,j) = vad_in_out(i,j,k) - vad(i,j)
+             ENDDO
+          ENDDO
+
+!
+!--       Apply the filter.
+          DO  j = nys_x, nyn_x
+             wrk_long(0,j,1) = 2.0 * ( 1.0 + long_filter_factor )
+             wrk_long(0,j,2) = ( 1.0 - long_filter_factor ) / wrk_long(0,j,1)
+             wrk_long(0,j,3) = ( long_filter_factor * tf(nx,j) + &
+                                 2.0 * tf(0,j) + tf(1,j)         &
+                               ) / wrk_long(0,j,1)
+             DO  i = 1, nx-1
+                wrk_long(i,j,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                  ( 1.0 - long_filter_factor ) * wrk_long(i-1,j,2)
+                wrk_long(i,j,2) = ( 1.0 - long_filter_factor ) / wrk_long(i,j,1)
+                wrk_long(i,j,3) = ( tf(i-1,j) + 2.0 * tf(i,j)  +               &
+                                    tf(i+1,j) - ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(i-1,j,3) ) / wrk_long(i,j,1)
+             ENDDO
+             wrk_long(nx,j,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                ( 1.0 - long_filter_factor ) * wrk_long(nx-1,j,2)
+             wrk_long(nx,j,2) = ( 1.0 - long_filter_factor ) / wrk_long(nx,j,1)
+             wrk_long(nx,j,3) = ( tf(nx-1,j) + 2.0 * tf(nx,j) +  &
+                                  long_filter_factor * tf(0,j) - &
+                                  ( 1.0 - long_filter_factor ) * &
+                                  wrk_long(nx-1,j,3)             &
+                                ) / wrk_long(nx,j,1)
+             r(nx,j) = wrk_long(nx,j,3)
+          ENDDO
+
+          DO  i = nx-1, 0, -1
+             DO  j = nys_x, nyn_x
+                r(i,j) = wrk_long(i,j,3) - wrk_long(i,j,2) * r(i+1,j)
+             ENDDO
+          ENDDO
+
+          DO  j = nys_x, nyn_x 
+             DO  i = 0, nx
+                vad_in_out(i,j,k) = vad(i,j) + r(i,j)
+             ENDDO
+          ENDDO
+
+       ENDIF  ! Long filter
+
+    ENDDO
+
+#else
+
+!
+!-- Allocate working arrays
+    ALLOCATE( r(nzb+1:nzt,nxl-1:nxr+1), vad(nzb:nzt+1,nxl-1:nxr+1), &
+              wrk_spline(nzb+1:nzt,nxl-1:nxr+1) )
+    IF ( long_filter_factor /= 0.0 )  THEN
+       ALLOCATE( tf(nzb+1:nzt,nxl-1:nxr+1), wrk_long(nzb+1:nzt,0:nx,1:3) )
+    ENDIF
+
+!
+!-- Loop over all gridpoints along y
+    DO  j = nys, nyn
+    
+!
+!--    Store array to be advected on work array and add cyclic boundary along x
+       vad(:,:) = vad_in_out(:,j,:)
+       vad(:,-1)   = vad(:,nx)
+       vad(:,nx+1) = vad(:,0)
+
+!
+!--    Calculate right hand side
+       DO  i = 0, nx
+          DO  k = nzb+1, nzt
+             r(k,i) = 3.0 * (                                                  &
+                            spl_tri_x(2,i) * ( vad(k,i) - vad(k,i-1) ) * ddx + &
+                            spl_tri_x(3,i) * ( vad(k,i+1) - vad(k,i) ) * ddx   &
+                            )
+          ENDDO
+       ENDDO
+    
+!
+!--    Forward substitution
+       DO  k = nzb+1, nzt
+          wrk_spline(k,0) = r(k,0)
+       ENDDO
+
+       DO  i = 1, nx
+          DO  k = nzb+1, nzt
+             wrk_spline(k,i) = r(k,i) - spl_tri_x(5,i) * wrk_spline(k,i-1)
+          ENDDO
+       ENDDO
+
+!
+!--    Backward substitution (Sherman-Morrison-formula)
+       DO  k = nzb+1, nzt
+          r(k,nx) = wrk_spline(k,nx) / spl_tri_x(4,nx)
+       ENDDO
+
+       DO  k = nzb+1, nzt
+          DO  i = nx-1, 0, -1
+             r(k,i) = ( wrk_spline(k,i) - spl_tri_x(3,i) * r(k,i+1) ) / &
+                        spl_tri_x(4,i)
+          ENDDO
+          sm_faktor = ( r(k,0) + 0.5 * r(k,nx) / spl_gamma_x ) / &
+                      ( 1.0 + spl_z_x(0) + 0.5 * spl_z_x(nx) / spl_gamma_x )
+          DO  i = 0, nx
+             r(k,i) = r(k,i) - sm_faktor * spl_z_x(i)
+          ENDDO
+       ENDDO
+
+!
+!--    Add cyclic boundary to the right hand side
+       r(:,-1)   = r(:,nx)
+       r(:,nx+1) = r(:,0)
+
+!
+!--    Calculate advection along x
+       DO  i = 0, nx
+          DO  k = nzb+1, nzt
+
+             IF (ad_v(k,j,i) == 0.0)  THEN
+
+                vad_in_out(k,j,i) = vad(k,i)
+
+             ELSEIF ( ad_v(k,j,i) > 0.0)  THEN
+                
+                IF ( ABS( vad(k,i) - vad(k,i-1) ) <= ups_limit ) THEN
+                   vad_in_out(k,j,i) = vad(k,i) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k,i) - vad(k,i-1) ) * ddx
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,1,sr) = &
+                               sums_up_fraction_l(component,1,sr) + 1.0
+                   ENDDO
+                ELSE 
+                   t1 = ad_v(k,j,i) * dt_3d * ddx
+                   t2 = 3.0 * ( vad(k,i-1) - vad(k,i) ) + &
+                        ( 2.0 * r(k,i) + r(k,i-1) ) * dx
+                   t3 = 2.0 * ( vad(k,i-1) - vad(k,i) ) + &
+                        ( r(k,i) + r(k,i-1) ) * dx
+                   vad_in_out(k,j,i) = vad(k,i) - r(k,i) * t1 * dx + &
+                                       t2 * t1**2 - t3 * t1**3
+                   IF ( vad(k,i-1) == vad(k,i) )  THEN
+                      vad_in_out(k,j,i) = vad(k,i)
+                   ENDIF
+                ENDIF
+
+             ELSE
+
+                IF ( ABS( vad(k,i) - vad(k,i+1) ) <= ups_limit ) THEN
+                   vad_in_out(k,j,i) = vad(k,i) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k,i+1) - vad(k,i) ) * ddx
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,1,sr) = &
+                               sums_up_fraction_l(component,1,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = -ad_v(k,j,i) * dt_3d * ddx
+                   t2 = 3.0 * ( vad(k,i) - vad(k,i+1) ) + &
+                        ( 2.0 * r(k,i) + r(k,i+1)) * dx
+                   t3 = 2.0 * ( vad(k,i) - vad(k,i+1) ) + &
+                        ( r(k,i) + r(k,i+1) ) * dx
+                   vad_in_out(k,j,i) = vad(k,i) + r(k,i) * t1 * dx - &
+                                       t2 * t1**2 + t3 * t1**3
+                   IF ( vad(k,i+1) == vad(k,i) )  THEN
+                      vad_in_out(k,j,i) = vad(k,i)
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Limit values in order to prevent overshooting
+       IF ( cut_spline_overshoot )  THEN
+
+          DO  i = 0, nx
+             DO  k =  nzb+1, nzt
+                IF ( ad_v(k,j,i) > 0.0 ) THEN
+                   IF ( vad(k,i) > vad(k,i-1) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,i)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,i-1) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,i)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,i-1) + overshoot_limit )
+                   ENDIF
+                ELSE
+                   IF ( vad(k,i) > vad(k,i+1) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,i)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,i+1) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,i)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,i+1) + overshoot_limit )
+                   ENDIF
+                ENDIF
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Long filter (acting on tendency only)
+       IF ( long_filter_factor /= 0.0 )  THEN
+
+!
+!--       Compute tendency
+          DO  i = nxl, nxr
+             DO  k = nzb+1, nzt
+                tf(k,i) = vad_in_out(k,j,i) - vad(k,i)
+             ENDDO
+          ENDDO
+
+!
+!--       Apply the filter
+          wrk_long(:,0,1) = 2.0 * ( 1.0 + long_filter_factor )
+          wrk_long(:,0,2) = ( 1.0 - long_filter_factor ) / wrk_long(:,0,1)
+          wrk_long(:,0,3) = ( long_filter_factor * tf(:,nx) + &
+                                   2.0 * tf(:,0) + tf(:,1) ) / wrk_long(:,0,1)
+
+          DO  i = 1, nx-1
+             DO  k = nzb+1, nzt
+                wrk_long(k,i,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                  ( 1.0 - long_filter_factor ) *       &
+                                  wrk_long(k,i-1,2)
+                wrk_long(k,i,2) = ( 1.0 - long_filter_factor ) / wrk_long(k,i,1)
+                wrk_long(k,i,3) = ( tf(k,i-1) + 2.0 * tf(k,i) +                &
+                                    tf(k,i+1) - ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(k,i-1,3) ) / wrk_long(k,i,1)
+             ENDDO
+             wrk_long(:,nx,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                      ( 1.0 - long_filter_factor ) * &
+                                        wrk_long(:,nx-1,2)
+             wrk_long(:,nx,2) = ( 1.0 - long_filter_factor ) / wrk_long(:,nx,1)
+             wrk_long(:,nx,3) = ( tf(:,nx-1) + 2.0 * tf(:,nx) +    &
+                                    long_filter_factor * tf(:,0) - &
+                                    ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(:,nx-1,3) ) / wrk_long(:,nx,1)
+             r(:,nx) = wrk_long(:,nx,3)
+          ENDDO
+          DO  i = nx-1, 0, -1
+             DO  k = nzb+1, nzt
+                r(k,i) = wrk_long(k,i,3) - wrk_long(k,i,2) * r(k,i+1)
+             ENDDO
+          ENDDO
+          DO  i = 0, nx
+             DO  k = nzb+1, nzt
+                vad_in_out(k,j,i) = vad(k,i) + r(k,i)
+             ENDDO
+          ENDDO
+
+       ENDIF  ! Long filter
+
+    ENDDO
+#endif
+
+    IF ( long_filter_factor /= 0.0 )  DEALLOCATE( tf, wrk_long )
+    DEALLOCATE( r, vad, wrk_spline )
+
+ END SUBROUTINE spline_x
Index: palm/tags/release-3.7/SOURCE/spline_y.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/spline_y.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/spline_y.f90	(revision 393)
@@ -0,0 +1,527 @@
+ SUBROUTINE spline_y( vad_in_out, ad_v, var_char )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.9  2004/04/30 12:54:37  raasch
+! Names of transpose indices changed, enlarged transposition arrays introduced
+!
+! Revision 1.1  1999/02/05 09:16:31  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-spline advection along x
+!
+! Input/output parameters:
+! ad_v       = advecting wind speed component
+! vad_in_out = quantity to be advected, excluding ghost- or cyclic boundaries
+!              result is given to the calling routine in this array
+! var_char   = string which defines the quantity to be advected
+!
+! Internal arrays:
+! r          = 2D-working array (right hand side of linear equation, buffer for
+!              Long filter)
+! tf         = tendency field (2D), used for long filter
+! vad        = quantity to be advected (2D), including ghost- or cyclic
+!              boundarys along the direction of advection
+! wrk_long   = working array (long coefficients)
+! wrk_spline = working array (spline coefficients)
+!------------------------------------------------------------------------------!
+
+    USE advection
+    USE grid_variables
+    USE indices
+    USE statistics
+    USE control_parameters
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  var_char
+
+    INTEGER ::  component, i, j, k, sr
+    REAL    ::  overshoot_limit, sm_faktor, t1, t2, t3, ups_limit
+    REAL, DIMENSION(:,:), ALLOCATABLE   ::  r, tf, vad, wrk_spline
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  wrk_long
+
+#if defined( __parallel )
+    REAL ::  ad_v(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya), &
+             vad_in_out(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya)
+#else
+    REAL ::  ad_v(nzb+1:nzt,nys:nyn,nxl:nxr), &
+             vad_in_out(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+#endif
+
+!
+!-- Set criteria for switching between upstream- and upstream-spline-method
+    IF ( var_char == 'u' )  THEN
+       overshoot_limit = overshoot_limit_u
+       ups_limit       = ups_limit_u
+       component       = 1
+    ELSEIF (  var_char == 'v' )  THEN
+       overshoot_limit = overshoot_limit_v
+       ups_limit       = ups_limit_v
+       component       = 2
+    ELSEIF (  var_char == 'w' )  THEN
+       overshoot_limit = overshoot_limit_w
+       ups_limit       = ups_limit_w
+       component       = 3
+    ELSEIF (  var_char == 'pt' )  THEN
+       overshoot_limit = overshoot_limit_pt
+       ups_limit       = ups_limit_pt
+       component       = 4
+    ELSEIF (  var_char == 'e' )  THEN
+       overshoot_limit = overshoot_limit_e
+       ups_limit       = ups_limit_e
+       component       = 5
+    ENDIF
+
+!
+!-- Initialize calculation of relative upstream fraction
+    sums_up_fraction_l(component,2,:) = 0.0
+
+#if defined( __parallel )
+
+!
+!-- Allocate working arrays
+    ALLOCATE( r(-1:ny+1,nxl_y:nxr_y),   &
+              vad(-1:ny+1,nxl_y:nxr_y), &
+              wrk_spline(0:ny,nxl_y:nxr_y) )
+    IF ( long_filter_factor /= 0.0 )  THEN
+       ALLOCATE( tf(0:ny,nxl_y:nxr_y), &
+                 wrk_long(0:ny,nxl_y:nxr_y,1:3) )
+    ENDIF
+
+!
+!-- Loop over all gridpoints along z
+    DO  k = nzb_y, nzt_y
+
+!
+!--    Store array to be advected on work array and add cyclic boundary along y
+       vad(0:ny,nxl_y:nxr_y) = vad_in_out(0:ny,nxl_y:nxr_y,k)
+       vad(-1,:)   = vad(ny,:)
+       vad(ny+1,:) = vad(0,:)
+
+!
+!--    Calculate right hand side
+       DO  i = nxl_y, nxr_y
+          DO  j = 0, ny
+             r(j,i) = 3.0 * (                                                  &
+                            spl_tri_y(2,j) * ( vad(j,i) - vad(j-1,i) ) * ddy + &
+                            spl_tri_y(3,j) * ( vad(j+1,i) - vad(j,i) ) * ddy   &
+                            )
+          ENDDO
+       ENDDO
+    
+!
+!--    Forward substitution
+       DO  i = nxl_y, nxr_y
+          wrk_spline(0,i) = r(0,i)
+          DO  j = 1, ny
+             wrk_spline(j,i) = r(j,i) - spl_tri_y(5,j) * wrk_spline(j-1,i)
+          ENDDO
+       ENDDO
+    
+!
+!--    Backward substitution (sherman-Morrison-formula)
+       DO  i = nxl_y, nxr_y
+          r(ny,i) = wrk_spline(ny,i) / spl_tri_y(4,ny)
+          DO  j = ny-1, 0, -1
+             r(j,i) = ( wrk_spline(j,i) - spl_tri_y(3,j) * r(j+1,i) ) / &
+                        spl_tri_y(4,j)
+          ENDDO
+          sm_faktor = ( r(0,i) + 0.5 * r(ny,i) / spl_gamma_y ) / &
+                      ( 1.0 + spl_z_y(0) + 0.5 * spl_z_y(ny) / spl_gamma_y )
+          DO  j = 0, ny
+             r(j,i) = r(j,i) - sm_faktor * spl_z_y(j)
+          ENDDO
+       ENDDO
+
+! 
+!--    Add cyclic boundary conditions to right hand side
+       r(-1,:)   = r(ny,:)
+       r(ny+1,:) = r(0,:)
+
+!
+!--    Calculate advection along y
+       DO  i = nxl_y, nxr_y
+          DO  j = 0, ny
+
+             IF ( ad_v(j,i,k) == 0.0 )  THEN
+
+                vad_in_out(j,i,k) = vad(j,i)
+
+             ELSEIF ( ad_v(j,i,k) > 0.0 )  THEN
+
+                IF ( ABS( vad(j,i) - vad(j-1,i) ) <= ups_limit )  THEN
+                   vad_in_out(j,i,k) = vad(j,i) - dt_3d * ad_v(j,i,k) * &
+                                       ( vad(j,i) - vad(j-1,i) ) * ddy
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,2,sr) = &
+                               sums_up_fraction_l(component,2,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = ad_v(j,i,k) * dt_3d * ddy
+                   t2 = 3.0 * ( vad(j-1,i) - vad(j,i) ) + &
+                        ( 2.0 * r(j,i) + r(j-1,i) ) * dy
+                   t3 = 2.0 * ( vad(j-1,i) - vad(j,i) ) + &
+                              ( r(j,i) + r(j-1,i) ) * dy
+                   vad_in_out(j,i,k) = vad(j,i) - r(j,i) * t1 * dy + &
+                                       t2 * t1**2 - t3 * t1**3
+                   IF ( vad(j-1,i) == vad(j,i) )  THEN
+                      vad_in_out(j,i,k) = vad(j,i)
+                   ENDIF
+                ENDIF
+
+             ELSE
+
+                IF ( ABS( vad(j,i) - vad(j+1,i) ) <= ups_limit )  THEN
+                   vad_in_out(j,i,k) = vad(j,i) - dt_3d * ad_v(j,i,k) * &
+                                       ( vad(j+1,i) - vad(j,i) ) * ddy
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,2,sr) = &
+                               sums_up_fraction_l(component,2,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = -ad_v(j,i,k) * dt_3d * ddy
+                   t2 = 3.0 * ( vad(j,i) - vad(j+1,i) ) + &
+                        ( 2.0 * r(j,i) + r(j+1,i) ) * dy
+                   t3 = 2.0 * ( vad(j,i) - vad(j+1,i) ) + &
+                        ( r(j,i) + r(j+1,i) ) * dy
+                   vad_in_out(j,i,k) = vad(j,i) + r(j,i) * t1 * dy - &
+                                       t2 * t1**2 + t3 * t1**3
+                   IF ( vad(j+1,i) == vad(j,i) )  THEN
+                      vad_in_out(j,i,k) = vad(j,i)
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Limit values in order to prevent overshooting
+       IF ( cut_spline_overshoot )  THEN
+
+          DO  i = nxl_y, nxr_y
+             DO  j = 0, ny
+                IF ( ad_v(j,i,k) > 0.0 ) THEN
+                   IF ( vad(j,i) > vad(j-1,i) )  THEN
+                      vad_in_out(j,i,k) = MIN( vad_in_out(j,i,k), &
+                                               vad(j,i)   + overshoot_limit )
+                      vad_in_out(j,i,k) = MAX( vad_in_out(j,i,k), &
+                                               vad(j-1,i) - overshoot_limit )
+                   ELSE
+                      vad_in_out(j,i,k) = MAX( vad_in_out(j,i,k), &
+                                               vad(j,i)   - overshoot_limit )
+                      vad_in_out(j,i,k) = MIN( vad_in_out(j,i,k), &
+                                               vad(j-1,i) + overshoot_limit )
+                   ENDIF
+                ELSE
+                   IF ( vad(j,i) > vad(j+1,i) )  THEN
+                      vad_in_out(j,i,k) = MIN( vad_in_out(j,i,k), &
+                                               vad(j,i)   + overshoot_limit )
+                      vad_in_out(j,i,k) = MAX( vad_in_out(j,i,k), &
+                                               vad(j+1,i) - overshoot_limit )
+                   ELSE
+                      vad_in_out(j,i,k) = MAX( vad_in_out(j,i,k), &
+                                               vad(j,i)   - overshoot_limit )
+                      vad_in_out(j,i,k) = MIN( vad_in_out(j,i,k), &
+                                               vad(j+1,i) + overshoot_limit )
+                   ENDIF
+                ENDIF
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Long-filter (acting on tendency only)
+       IF ( long_filter_factor /= 0.0 )  THEN
+
+!
+!--       Compute tendency. Filter only acts on this quantity.
+          DO  i = nxl_y, nxr_y
+             DO  j = 0, ny
+                tf(j,i) = vad_in_out(j,i,k) - vad(j,i)
+             ENDDO
+          ENDDO
+
+!
+!--       Apply the filter.
+          DO  i = nxl_y, nxr_y
+             wrk_long(0,i,1) = 2.0 * ( 1.0 + long_filter_factor )
+             wrk_long(0,i,2) = ( 1.0 - long_filter_factor ) / wrk_long(0,i,1)
+             wrk_long(0,i,3) = ( long_filter_factor * tf(ny,i) + &
+                                2.0 * tf(0,i) + tf(1,i)          &
+                               ) / wrk_long(0,i,1)
+             DO  j = 1, ny-1
+                wrk_long(j,i,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                  ( 1.0 - long_filter_factor ) * wrk_long(j-1,i,2)
+                wrk_long(j,i,2) = ( 1.0 - long_filter_factor ) / wrk_long(j,i,1)
+                wrk_long(j,i,3) = ( tf(j-1,i) + 2.0 * tf(j,i) +                &
+                                    tf(j+1,i) - ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(j-1,i,3) ) / wrk_long(j,i,1)
+             ENDDO
+             wrk_long(ny,i,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                ( 1.0 - long_filter_factor ) * wrk_long(ny-1,i,2)
+             wrk_long(ny,i,2) = ( 1.0 - long_filter_factor ) / wrk_long(ny,i,1)
+             wrk_long(ny,i,3) = ( tf(ny-1,i) + 2.0 * tf(ny,i) +  &
+                                  long_filter_factor * tf(0,i) - &
+                                  ( 1.0 - long_filter_factor ) * &
+                                  wrk_long(ny-1,i,3)             &
+                                ) / wrk_long(ny,i,1)
+             r(ny,i) = wrk_long(ny,i,3)
+          ENDDO
+
+          DO  j = ny-1, 0, -1
+             DO  i = nxl_y, nxr_y
+                r(j,i) = wrk_long(j,i,3) - wrk_long(j,i,2) * r(j+1,i)
+             ENDDO
+          ENDDO
+
+          DO  i = nxl_y, nxr_y
+             DO  j = 0, ny
+                vad_in_out(j,i,k) = vad(j,i) + r(j,i)
+             ENDDO
+          ENDDO
+
+       ENDIF  ! Long filter
+
+    ENDDO
+
+#else
+
+!
+!-- Allocate working arrays
+    ALLOCATE( r(nzb+1:nzt,nys-1:nyn+1), vad(nzb:nzt+1,nys-1:nyn+1), &
+              wrk_spline(nzb+1:nzt,nys-1:nyn+1) )
+    IF ( long_filter_factor /= 0.0 )  THEN
+       ALLOCATE( tf(nzb+1:nzt,nys-1:nyn+1), wrk_long(nzb+1:nzt,0:ny,1:3) )
+    ENDIF
+
+!
+!-- Loop over all gridpoints along x
+    DO  i = nxl, nxr
+
+!
+!--    Store array to be advected on work array and add cyclic boundary along x
+       vad(:,:)    = vad_in_out(:,:,i)
+       vad(:,-1)   = vad(:,ny)
+       vad(:,ny+1) = vad(:,0)
+
+!
+!--    Calculate right hand side
+       DO  j = 0, ny
+          DO  k = nzb+1, nzt
+             r(k,j) = 3.0 *  (                                                  &
+                             spl_tri_y(2,j) * ( vad(k,j) - vad(k,j-1) ) * ddy + &
+                             spl_tri_y(3,j) * ( vad(k,j+1) - vad(k,j) ) * ddy   &
+                             )
+          ENDDO
+       ENDDO
+    
+!
+!--    Forward substitution
+       DO  k = nzb+1, nzt
+          wrk_spline(k,0) = r(k,0)
+       ENDDO
+
+       DO  j = 1, ny
+          DO  k = nzb+1, nzt
+             wrk_spline(k,j) = r(k,j) - spl_tri_y(5,j) * wrk_spline(k,j-1)
+          ENDDO
+       ENDDO
+
+!
+!--    Backward substitution (Sherman-Morrison-formula)
+       DO  k = nzb+1, nzt
+          r(k,ny) = wrk_spline(k,ny) / spl_tri_y(4,ny)
+       ENDDO
+
+       DO  k = nzb+1, nzt
+          DO  j = ny-1, 0, -1
+             r(k,j) = ( wrk_spline(k,j) - spl_tri_y(3,j) * r(k,j+1) ) / &
+                        spl_tri_y(4,j)
+          ENDDO
+          sm_faktor = ( r(k,0) + 0.5 * r(k,ny) / spl_gamma_y ) / &
+                      ( 1.0 + spl_z_y(0) + 0.5 * spl_z_y(ny) / spl_gamma_y )
+          DO  j = 0, ny
+             r(k,j) = r(k,j) - sm_faktor * spl_z_y(j)
+          ENDDO
+       ENDDO
+
+!
+!--    Add cyclic boundary to the right hand side
+       r(:,-1)   = r(:,ny)
+       r(:,ny+1) = r(:,0)
+   
+!
+!--    Calculate advection along y
+       DO  j = 0, ny
+          DO  k = nzb+1, nzt
+
+             IF ( ad_v(k,j,i) == 0.0 )  THEN
+
+                vad_in_out(k,j,i) = vad(k,j)
+
+             ELSEIF ( ad_v(k,j,i) > 0.0 )  THEN
+
+                IF ( ABS( vad(k,j) - vad(k,j-1) ) <= ups_limit ) THEN
+                   vad_in_out(k,j,i) = vad(k,j) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k,j) - vad(k,j-1) ) * ddy
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,2,sr) = &
+                               sums_up_fraction_l(component,2,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = ad_v(k,j,i) * dt_3d * ddy
+                   t2 = 3.0 * ( vad(k,j-1) - vad(k,j) ) + &
+                        ( 2.0 * r(k,j) + r(k,j-1) ) * dy
+                   t3 = 2.0 * ( vad(k,j-1) - vad(k,j) ) + &
+                        ( r(k,j) + r(k,j-1) ) * dy
+                   vad_in_out(k,j,i) = vad(k,j) - r(k,j) * t1 * dy + &
+                                       t2 * t1**2 - t3 * t1**3
+                   IF ( vad(k,j-1) == vad(k,j) )  THEN
+                      vad_in_out(k,j,i) = vad(k,j)
+                   ENDIF
+                ENDIF
+
+             ELSE
+                
+                IF ( ABS( vad(k,j) - vad(k,j+1) ) <= ups_limit ) THEN
+                   vad_in_out(k,j,i) = vad(k,j) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k,j+1) - vad(k,j) ) * ddy
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,2,sr) = &
+                               sums_up_fraction_l(component,2,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = -ad_v(k,j,i) * dt_3d * ddy
+                   t2 = 3.0 * ( vad(k,j) - vad(k,j+1) ) + &
+                        ( 2.0 * r(k,j) + r(k,j+1) ) * dy
+                   t3 = 2.0 * ( vad(k,j) - vad(k,j+1) ) + &
+                        ( r(k,j) + r(k,j+1) ) * dy
+                   vad_in_out(k,j,i) = vad(k,j) + r(k,j) * t1 * dy - &
+                                       t2 * t1**2 + t3 * t1**3
+                   IF ( vad(k,j+1) == vad(k,j) )  THEN
+                      vad_in_out(k,j,i) = vad(k,j)
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Limit values in order to prevent overshooting
+       IF ( cut_spline_overshoot )  THEN
+
+          DO  j = 0, ny
+             DO  k = nzb+1, nzt
+                IF ( ad_v(k,j,i) > 0.0 ) THEN
+                   IF ( vad(k,j) > vad(k,j-1) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j-1) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j-1) + overshoot_limit )
+                   ENDIF
+                ELSE
+                   IF ( vad(k,j) > vad(k,j+1) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j+1) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j+1) + overshoot_limit )
+                   ENDIF
+                ENDIF
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Long filter (acting on tendency only)
+       IF ( long_filter_factor /= 0.0 )  THEN
+
+!
+!--       Compute tendency
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+                tf(k,j) = vad_in_out(k,j,i) - vad(k,j)
+             ENDDO
+          ENDDO
+
+!
+!--       Apply the filter
+          wrk_long(:,0,1) = 2.0 * ( 1.0 + long_filter_factor )
+          wrk_long(:,0,2) = ( 1.0 - long_filter_factor ) / wrk_long(:,0,1)
+          wrk_long(:,0,3) = ( long_filter_factor * tf(:,ny) + &
+                                   2.0 * tf(:,0) + tf(:,1) ) / wrk_long(:,0,1)
+
+          DO  j = 1, ny-1
+             DO  k = nzb+1, nzt
+                wrk_long(k,j,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                  ( 1.0 - long_filter_factor ) *       &
+                                  wrk_long(k,j-1,2)
+                wrk_long(k,j,2) = ( 1.0 - long_filter_factor ) / wrk_long(k,j,1)
+                wrk_long(k,j,3) = ( tf(k,j-1) + 2.0 * tf(k,j) +                &
+                                    tf(k,j+1) - ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(k,j-1,3) ) / wrk_long(k,j,1)
+             ENDDO
+             wrk_long(:,ny,1) = 2.0 * ( 1.0 + long_filter_factor ) - &
+                                      ( 1.0 - long_filter_factor ) * &
+                                        wrk_long(:,ny-1,2)
+             wrk_long(:,ny,2) = ( 1.0 - long_filter_factor ) / wrk_long(:,ny,1)
+             wrk_long(:,ny,3) = ( tf(:,ny-1) + 2.0 * tf(:,ny) +    &
+                                    long_filter_factor * tf(:,0) - &
+                                    ( 1.0 - long_filter_factor ) * &
+                                    wrk_long(:,ny-1,3) ) / wrk_long(:,ny,1)
+             r(:,ny) = wrk_long(:,ny,3)
+          ENDDO
+          DO  j = ny-1, 0, -1
+             DO  k = nzb+1, nzt
+                r(k,j) = wrk_long(k,j,3) - wrk_long(k,j,2) * r(k,j+1)
+             ENDDO
+          ENDDO
+          DO  j = 0, ny
+             DO  k = nzb+1, nzt
+                vad_in_out(k,j,i) = vad(k,j) + r(k,j)
+             ENDDO
+          ENDDO
+
+       ENDIF  ! Long filter
+
+    ENDDO
+#endif
+
+    IF ( long_filter_factor /= 0.0 )  DEALLOCATE( tf, wrk_long )
+    DEALLOCATE( r, vad, wrk_spline )
+
+ END SUBROUTINE spline_y
Index: palm/tags/release-3.7/SOURCE/spline_z.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/spline_z.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/spline_z.f90	(revision 393)
@@ -0,0 +1,431 @@
+ SUBROUTINE spline_z( vad_in_out, ad_v, dz_spline, spline_tri, var_char )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Boundary condition for pt at top adjusted
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.9  2005/06/29 08:22:56  steinfeld
+! Dependency of ug and vg on height considered in the determination of the
+! upper boundary condition for vad
+!
+! Revision 1.1  1999/02/05 09:17:16  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Upstream-spline advection along x
+!
+! Input/output parameters:
+! ad_v       = advecting wind speed component
+! dz_spline  = vertical grid spacing (dzu or dzw, depending on quantity to be
+!              advected)
+! spline_tri = grid spacing factors (spl_tri_zu or spl_tri_zw, depending on
+!              quantity to be advected)
+! vad_in_out = quantity to be advected, excluding ghost- or cyclic boundaries
+!              result is given to the calling routine in this array
+! var_char   = string which defines the quantity to be advected
+!
+! Internal arrays:
+! r          = 2D-working array (right hand side of linear equation, buffer for
+!              Long filter)
+! tf         = tendency field (2D), used for long filter
+! vad        = quantity to be advected (2D), including ghost- or cyclic
+!              boundarys along the direction of advection
+! wrk_long   = working array (long coefficients)
+! wrk_spline = working array (spline coefficients)
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE grid_variables
+    USE indices
+    USE statistics
+    USE control_parameters
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  var_char
+
+    INTEGER ::  component, i, j, k, sr
+    REAL ::     dzwd, dzwu, overshoot_limit, t1, t2, t3, ups_limit
+    REAL ::     dz_spline(1:nzt+1)
+    REAL ::     spline_tri(5,nzb:nzt+1)
+    REAL ::     ad_v(nzb+1:nzta,nys:nyna,nxl:nxra)
+
+    REAL, DIMENSION(:,:), ALLOCATABLE   ::  r, tf, vad, wrk_spline
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  wrk_long
+
+#if defined( __parallel )
+    REAL ::     vad_in_out(nzb+1:nzta,nys:nyna,nxl:nxra)
+#else
+    REAL ::     vad_in_out(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
+#endif
+
+!
+!-- Set criteria for switching between upstream- and upstream-spline-method
+    IF ( var_char == 'u' )  THEN
+       overshoot_limit = overshoot_limit_u
+       ups_limit       = ups_limit_u
+       component       = 1
+    ELSEIF (  var_char == 'v' )  THEN
+       overshoot_limit = overshoot_limit_v
+       ups_limit       = ups_limit_v
+       component       = 2
+    ELSEIF (  var_char == 'w' )  THEN
+       overshoot_limit = overshoot_limit_w
+       ups_limit       = ups_limit_w
+       component       = 3
+    ELSEIF (  var_char == 'pt' )  THEN
+       overshoot_limit = overshoot_limit_pt
+       ups_limit       = ups_limit_pt
+       component       = 4
+    ELSEIF (  var_char == 'e' )  THEN
+       overshoot_limit = overshoot_limit_e
+       ups_limit       = ups_limit_e
+       component       = 5
+    ENDIF
+
+!
+!-- Allocate working arrays
+    ALLOCATE( r(nzb:nzt+1,nys:nyn), vad(nzb:nzt+1,nys:nyn), &
+              wrk_spline(nzb:nzt+1,nys:nyn) )
+    IF ( long_filter_factor /= 0.0 )  THEN
+       ALLOCATE( tf(nzb:nzt+1,nys:nyn), wrk_long(nzb+1:nzt,nys:nyn,1:3) )
+    ENDIF    
+
+!
+!-- Initialize calculation of relative upstream fraction
+    sums_up_fraction_l(component,3,:) = 0.0
+
+!
+!-- Loop over all gridpoints along x
+    DO  i = nxl, nxr
+
+!
+!--    Store array to be advected on work array
+       vad(nzb+1:nzt,:) = vad_in_out(nzb+1:nzt,nys:nyn,i)
+!
+!--    Add boundary conditions along z
+       IF ( var_char == 'u'  .OR.  var_char == 'v' )  THEN
+!
+!--       Bottom boundary
+!--       u- and v-component
+          IF ( ibc_uv_b == 0 )  THEN
+             vad(nzb,:) = -vad(nzb+1,:)
+          ELSE
+             vad(nzb,:) = vad(nzb+1,:)
+          ENDIF
+!
+!--       Top boundary
+!--       Dirichlet condition
+          IF ( ibc_uv_t == 0  .AND.  var_char == 'u' )  THEN
+!
+!--          u-component
+             vad(nzt+1,:) = ug(nzt+1)
+          ELSEIF ( ibc_uv_t == 0  .AND.  var_char == 'v' )  THEN
+!
+!--          v-component
+             vad(nzt+1,:) = vg(nzt+1)
+          ELSE
+!
+!--          Neumann condition
+             vad(nzt+1,:) = vad(nzt,:)
+          ENDIF
+
+       ELSEIF ( var_char == 'w' )  THEN
+!
+!--       Bottom and top boundary for w-component
+          vad(nzb,:)   = 0.0
+          vad(nzt+1,:) = 0.0
+
+       ELSEIF ( var_char == 'pt' )  THEN
+!
+!--       Bottom boundary for temperature
+          IF ( ibc_pt_b == 1 )  THEN
+             vad(nzb,:) = vad(nzb+1,:)
+          ELSE
+             vad(nzb,:) = pt(nzb,:,i)
+          ENDIF
+!
+!--       Top boundary for temperature
+          IF ( ibc_pt_t == 0 )  THEN
+             vad(nzt+1,:) = pt(nzt+1,nys:nyn,i)
+          ELSEIF ( ibc_pt_t == 1 )  THEN
+             vad(nzt+1,:) = vad(nzt,:)
+          ELSEIF ( ibc_pt_t == 2 )  THEN
+             vad(nzt+1,:) = vad(nzt,:)   + bc_pt_t_val * dz_spline(nzt+1)
+          ENDIF
+
+       ELSEIF ( var_char == 'e' )  THEN
+!
+!--       Boundary conditions for TKE (Neumann in any case)
+          vad(nzb,:)   = vad(nzb+1,:)
+          vad(nzt,:)   = vad(nzt-1,:)
+          vad(nzt+1,:) = vad(nzt,:)
+
+       ENDIF
+
+!
+!--    Calculate right hand side
+       DO  j = nys, nyn
+          r(nzb,j)   = 3.0 * ( vad(nzb+1,j)-vad(nzb,j) ) / dz_spline(1)
+          r(nzt+1,j) = 3.0 * ( vad(nzt+1,j)-vad(nzt,j) ) / dz_spline(nzt+1)
+          DO  k = nzb+1, nzt
+             r(k,j) = 3.0 * (                                                   &
+                     spline_tri(2,k) * ( vad(k,j)-vad(k-1,j) ) / dz_spline(k)   &
+                   + spline_tri(3,k) * ( vad(k+1,j)-vad(k,j) ) / dz_spline(k+1) &
+                            )
+          ENDDO
+       ENDDO
+    
+!
+!--    Forward substitution
+       DO  j = nys, nyn
+          wrk_spline(nzb,j) = r(nzb,j)
+          DO  k = nzb+1, nzt+1
+             wrk_spline(k,j) = r(k,j) - spline_tri(5,k) * r(k-1,j)
+          ENDDO
+       ENDDO
+
+!
+!--    Backward substitution
+       DO  j = nys, nyn
+          r(nzt+1,j) = wrk_spline(nzt+1,j) / spline_tri(4,nzt+1)
+          DO  k = nzt, nzb, -1
+             r(k,j) = ( wrk_spline(k,j) - spline_tri(3,k) * r(k+1,j) ) / &
+                      spline_tri(4,k)
+          ENDDO
+       ENDDO
+    
+!
+!--    Calculate advection along z
+       DO  j = nys, nyn
+          DO  k = nzb+1, nzt
+
+             IF ( ad_v(k,j,i) == 0.0 ) THEN
+
+                vad_in_out(k,j,i) = vad(k,j)
+
+             ELSEIF ( ad_v(k,j,i) > 0.0 ) THEN
+
+                IF ( ABS( vad(k,j) - vad(k-1,j) ) <= ups_limit )  THEN
+                   vad_in_out(k,j,i) = vad(k,j) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k,j) - vad(k-1,j) ) * ddzu(k)
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,3,sr) = &
+                               sums_up_fraction_l(component,3,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = ad_v(k,j,i) * dt_3d / dz_spline(k)
+                   t2 = 3.0 * ( vad(k-1,j) - vad(k,j) ) + &
+                        ( 2.0 * r(k,j) + r(k-1,j) ) * dz_spline(k)
+                   t3 = 2.0 * ( vad(k-1,j) - vad(k,j) ) + &
+                        ( r(k,j) + r(k-1,j) ) * dz_spline(k)
+                   vad_in_out(k,j,i) = vad(k,j) - r(k,j) * t1* dz_spline(k) + &
+                                       t2 * t1**2 - t3 * t1**3
+                   IF ( vad(k-1,j) == vad(k,j) )  THEN
+                      vad_in_out(k,j,i) = vad(k,j)
+                   ENDIF
+                ENDIF
+
+             ELSE
+
+                IF( ABS( vad(k,j) - vad(k+1,j) ) <= ups_limit )  THEN
+                   vad_in_out(k,j,i) = vad(k,j) - dt_3d * ad_v(k,j,i) * &
+                                       ( vad(k+1,j) - vad(k,j) ) * ddzu(k+1)
+!
+!--                Calculate upstream fraction in % (s. flow_statistics)
+                   DO  sr = 0, statistic_regions
+                      sums_up_fraction_l(component,3,sr) = &
+                               sums_up_fraction_l(component,3,sr) + 1.0
+                   ENDDO
+                ELSE
+                   t1 = -ad_v(k,j,i) * dt_3d / dz_spline(k+1)
+                   t2 = 3.0 * ( vad(k,j) - vad(k+1,j) ) + &
+                        ( 2.0 * r(k,j) + r(k+1,j) ) * dz_spline(k+1)
+                   t3 = 2.0 * ( vad(k,j) - vad(k+1,j) ) + &
+                        ( r(k,j) + r(k+1,j) ) * dz_spline(k+1)
+                   vad_in_out(k,j,i) = vad(k,j) + r(k,j)*t1*dz_spline(k+1) - &
+                                       t2 * t1**2 + t3 * t1**3
+                   IF ( vad(k+1,j) == vad(k,j) )  THEN
+                      vad_in_out(k,j,i) = vad(k,j)
+                   ENDIF
+                ENDIF
+
+             ENDIF
+          ENDDO
+       ENDDO
+
+!
+!--    Limit values in order to prevent overshooting
+       IF ( cut_spline_overshoot )  THEN
+
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+                IF ( ad_v(k,j,i) > 0.0 ) THEN
+                   IF ( vad(k,j) > vad(k-1,j) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k-1,j) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k-1,j) + overshoot_limit )
+                   ENDIF
+                ELSE
+                   IF ( vad(k,j) > vad(k+1,j) )  THEN
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k,j)   + overshoot_limit )
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k+1,j) - overshoot_limit )
+                   ELSE
+                      vad_in_out(k,j,i) = MAX( vad_in_out(k,j,i), &
+                                               vad(k,j)   - overshoot_limit )
+                      vad_in_out(k,j,i) = MIN( vad_in_out(k,j,i), &
+                                               vad(k+1,j) + overshoot_limit )
+                   ENDIF
+                ENDIF
+             ENDDO
+          ENDDO
+
+       ENDIF
+
+!
+!--    Long-filter (acting on tendency only)
+       IF ( long_filter_factor /= 0.0 )  THEN
+
+!
+!--       Compute tendency
+          DO  j = nys, nyn
+
+!
+!--          Depending on the quantity to be advected, the respective vertical 
+!--          boundary conditions must be applied.
+             IF ( var_char == 'u'  .OR.  var_char == 'v' ) THEN
+
+                IF ( ibc_uv_b == 0 )  THEN
+                   tf(nzb,j) = - ( vad_in_out(nzb+1,j,i) - vad(nzb+1,j) )
+                ELSE
+                   tf(nzb,j) = vad_in_out(nzb+1,j,i) - vad(nzb+1,j)
+                ENDIF
+
+                IF ( ibc_uv_t == 0 )  THEN
+                   tf(nzt+1,j) = 0.0
+                ELSE
+                   tf(nzt+1,j) = vad_in_out(nzt,j,i) - vad(nzt,j)
+                ENDIF
+
+             ELSEIF ( var_char == 'w' )  THEN
+
+                tf(nzb,j)   = 0.0
+                tf(nzt+1,j) = 0.0
+
+             ELSEIF ( var_char == 'pt' )  THEN
+
+                IF ( ibc_pt_b == 1 )  THEN
+                   tf(nzb,j) = vad_in_out(nzb+1,j,i) - vad(nzb+1,j)
+                ELSE
+                   tf(nzb,j) = 0.0
+                ENDIF
+
+                IF ( ibc_pt_t == 1 )  THEN
+                   vad_in_out(nzt,j,i) = vad_in_out(nzt-1,j,i) + bc_pt_t_val * &
+                                         dz_spline(nzt)
+                   tf(nzt+1,j) = vad_in_out(nzt,j,i) + bc_pt_t_val * &
+                                         dz_spline(nzt+1) - vad(nzt+1,j)
+                ELSE
+                   vad_in_out(nzt,j,i) = pt(nzt,j,i)
+                   tf(nzt+1,j) = 0.0
+                ENDIF
+
+             ENDIF
+
+             DO  k = nzb+1, nzt
+                tf(k,j) = vad_in_out(k,j,i) - vad(k,j)
+             ENDDO
+
+          ENDDO
+
+!
+!--       Apply the filter.
+          DO  j = nys, nyn
+
+             dzwd = dz_spline(1) / ( dz_spline(1) + dz_spline(2) )
+             dzwu = dz_spline(2) / ( dz_spline(1) + dz_spline(2) )
+
+             wrk_long(nzb+1,j,1) = 2.0 * ( 1.0 + long_filter_factor )
+             wrk_long(nzb+1,j,2) = ( 1.0 - long_filter_factor ) * dzwd / &
+                                     wrk_long(nzb+1,j,1)
+             wrk_long(nzb+1,j,3) = ( long_filter_factor * dzwu * tf(nzb,j) +  &
+                                     2.0 * tf(nzb+1,j) + dzwd * tf(nzb+2,j) &
+                                   ) / wrk_long(nzb+1,j,1)
+
+             DO  k = nzb+2, nzt-1
+
+                dzwd = dz_spline(k)   / ( dz_spline(k) + dz_spline(k+1) )
+                dzwu = dz_spline(k+1) / ( dz_spline(k) + dz_spline(k+1) )
+
+                wrk_long(k,j,1) = 2.0 * ( 1.0 + long_filter_factor ) -  &
+                                  ( 1.0 - long_filter_factor ) * dzwu * &
+                                  wrk_long(k-1,j,2)
+                wrk_long(k,j,2) = ( 1.0 - long_filter_factor ) * dzwd / &
+                                  wrk_long(k,j,1) 
+                wrk_long(k,j,3) = ( dzwu * tf(k-1,j) + 2.0 * tf(k,j) +   &
+                                    dzwd * tf(k+1,j) -                   &
+                                   ( 1.0 - long_filter_factor ) * dzwu * &
+                                  wrk_long(k-1,j,3)                      &
+                                  ) / wrk_long(k,j,1)
+             ENDDO
+
+             dzwd = dz_spline(nzt)   / ( dz_spline(nzt) + dz_spline(nzt+1) )
+             dzwu = dz_spline(nzt+1) / ( dz_spline(nzt) + dz_spline(nzt+1) )
+
+             wrk_long(nzt,j,1) = 2.0 * ( 1.0 + long_filter_factor ) -  &
+                                 ( 1.0 - long_filter_factor ) * dzwu * &
+                                 wrk_long(nzt-1,j,2)
+             wrk_long(nzt,j,2) = ( 1.0 - long_filter_factor ) * dzwd / &
+                                 wrk_long(nzt,j,1)
+             wrk_long(nzt,j,3) = ( dzwu * tf(nzt-1,j) + 2.0 * tf(nzt,j) +    & 
+                                   dzwd * long_filter_factor * tf(nzt+1,j) - &
+                                   ( 1.0 - long_filter_factor ) * dzwu *     &
+                                   wrk_long(nzt-1,j,3)                       &
+                                 ) / wrk_long(nzt,j,1)
+             r(nzt,j)     = wrk_long(nzt,j,3)
+
+          ENDDO
+
+          DO  j = nys, nyn
+             DO  k = nzt-1, nzb+1, -1
+                r(k,j) = wrk_long(k,j,3) - wrk_long(k,j,2) * r(k+1,j)
+             ENDDO
+          ENDDO
+
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+                vad_in_out(k,j,i) = vad(k,j) + r(k,j)
+             ENDDO
+          ENDDO
+
+       ENDIF  ! Long filter
+
+    ENDDO
+
+    DEALLOCATE( r, vad, wrk_spline )
+    IF ( long_filter_factor /= 0.0 )  DEALLOCATE( tf, wrk_long )    
+
+ END SUBROUTINE spline_z
Index: palm/tags/release-3.7/SOURCE/sum_up_3d_data.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/sum_up_3d_data.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/sum_up_3d_data.f90	(revision 393)
@@ -0,0 +1,465 @@
+ SUBROUTINE sum_up_3d_data
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 2009-08-25 08:35:52Z maronga
+! +shf*, qsws*
+!
+! 96 2007-06-04 08:07:41Z raasch
+! +sum-up of density and salinity
+!
+! 72 2007-03-19 08:20:46Z raasch
+! +sum-up of precipitation rate and roughness length (prr*, z0*)
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.1  2006/02/23 12:55:23  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Sum-up the values of 3d-arrays. The real averaging is later done in routine
+! average_3d_data. 
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE particle_attributes
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, ii, j, k, n, psi
+
+    REAL    ::  mean_r, s_r3, s_r4
+
+
+    CALL cpu_log (log_point(34),'sum_up_3d_data','start')
+
+!
+!-- Allocate and initialize the summation arrays if called for the very first
+!-- time or the first time after average_3d_data has been called 
+!-- (some or all of the arrays may have been already allocated
+!-- in read_3d_binary)
+    IF ( average_count_3d == 0 )  THEN
+
+       DO  ii = 1, doav_n
+
+          SELECT CASE ( TRIM( doav(ii) ) )
+
+             CASE ( 'e' )
+                IF ( .NOT. ALLOCATED( e_av ) )  THEN
+                   ALLOCATE( e_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                e_av = 0.0
+
+             CASE ( 'lwp*' )
+                IF ( .NOT. ALLOCATED( lwp_av ) )  THEN
+                   ALLOCATE( lwp_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                lwp_av = 0.0
+
+             CASE ( 'p' )
+                IF ( .NOT. ALLOCATED( p_av ) )  THEN
+                   ALLOCATE( p_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                p_av = 0.0
+
+             CASE ( 'pc' )
+                IF ( .NOT. ALLOCATED( pc_av ) )  THEN
+                   ALLOCATE( pc_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                pc_av = 0.0
+
+             CASE ( 'pr' )
+                IF ( .NOT. ALLOCATED( pr_av ) )  THEN
+                   ALLOCATE( pr_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                pr_av = 0.0
+
+             CASE ( 'prr*' )
+                IF ( .NOT. ALLOCATED( precipitation_rate_av ) )  THEN
+                   ALLOCATE( precipitation_rate_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                precipitation_rate_av = 0.0
+
+             CASE ( 'pt' )
+                IF ( .NOT. ALLOCATED( pt_av ) )  THEN
+                   ALLOCATE( pt_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                pt_av = 0.0
+
+             CASE ( 'q' )
+                IF ( .NOT. ALLOCATED( q_av ) )  THEN
+                   ALLOCATE( q_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                q_av = 0.0
+
+             CASE ( 'ql' )
+                IF ( .NOT. ALLOCATED( ql_av ) )  THEN
+                   ALLOCATE( ql_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                ql_av = 0.0
+
+             CASE ( 'ql_c' )
+                IF ( .NOT. ALLOCATED( ql_c_av ) )  THEN
+                   ALLOCATE( ql_c_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                ql_c_av = 0.0
+
+             CASE ( 'ql_v' )
+                IF ( .NOT. ALLOCATED( ql_v_av ) )  THEN
+                   ALLOCATE( ql_v_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                ql_v_av = 0.0
+
+             CASE ( 'ql_vp' )
+                IF ( .NOT. ALLOCATED( ql_vp_av ) )  THEN
+                   ALLOCATE( ql_vp_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                ql_vp_av = 0.0
+
+             CASE ( 'qsws*' )
+                IF ( .NOT. ALLOCATED( qsws_av ) )  THEN
+                   ALLOCATE( qsws_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                qsws_av = 0.0
+
+             CASE ( 'qv' )
+                IF ( .NOT. ALLOCATED( qv_av ) )  THEN
+                   ALLOCATE( qv_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                qv_av = 0.0
+
+             CASE ( 'rho' )
+                IF ( .NOT. ALLOCATED( rho_av ) )  THEN
+                   ALLOCATE( rho_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                rho_av = 0.0
+
+             CASE ( 's' )
+                IF ( .NOT. ALLOCATED( s_av ) )  THEN
+                   ALLOCATE( s_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                s_av = 0.0
+
+             CASE ( 'sa' )
+                IF ( .NOT. ALLOCATED( sa_av ) )  THEN
+                   ALLOCATE( sa_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                sa_av = 0.0
+
+             CASE ( 'shf*' )
+                IF ( .NOT. ALLOCATED( shf_av ) )  THEN
+                   ALLOCATE( shf_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                shf_av = 0.0
+
+             CASE ( 't*' )
+                IF ( .NOT. ALLOCATED( ts_av ) )  THEN
+                   ALLOCATE( ts_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                ts_av = 0.0
+
+             CASE ( 'u' )
+                IF ( .NOT. ALLOCATED( u_av ) )  THEN
+                   ALLOCATE( u_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                u_av = 0.0
+
+             CASE ( 'u*' )
+                IF ( .NOT. ALLOCATED( us_av ) )  THEN
+                   ALLOCATE( us_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                us_av = 0.0
+
+             CASE ( 'v' )
+                IF ( .NOT. ALLOCATED( v_av ) )  THEN
+                   ALLOCATE( v_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                v_av = 0.0
+
+             CASE ( 'vpt' )
+                IF ( .NOT. ALLOCATED( vpt_av ) )  THEN
+                   ALLOCATE( vpt_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                vpt_av = 0.0
+
+             CASE ( 'w' )
+                IF ( .NOT. ALLOCATED( w_av ) )  THEN
+                   ALLOCATE( w_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                w_av = 0.0
+
+             CASE ( 'z0*' )
+                IF ( .NOT. ALLOCATED( z0_av ) )  THEN
+                   ALLOCATE( z0_av(nys-1:nyn+1,nxl-1:nxr+1) )
+                ENDIF
+                z0_av = 0.0
+
+             CASE DEFAULT
+!
+!--             User-defined quantity
+                CALL user_3d_data_averaging( 'allocate', doav(ii) )
+
+          END SELECT
+
+       ENDDO
+
+    ENDIF
+
+!
+!-- Loop of all variables to be averaged.
+    DO  ii = 1, doav_n
+
+!
+!--    Store the array chosen on the temporary array.
+       SELECT CASE ( TRIM( doav(ii) ) )
+
+          CASE ( 'e' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      e_av(k,j,i) = e_av(k,j,i) + e(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'lwp*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   lwp_av(j,i) = lwp_av(j,i) + SUM( ql(nzb:nzt,j,i) * &
+                                                    dzw(1:nzt+1) )
+                ENDDO
+             ENDDO
+
+          CASE ( 'p' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      p_av(k,j,i) = p_av(k,j,i) + p(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'pc' )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb, nzt+1
+                      pc_av(k,j,i) = pc_av(k,j,i) + prt_count(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'pr' )
+             DO  i = nxl, nxr
+                DO  j = nys, nyn
+                   DO  k = nzb, nzt+1
+                      psi = prt_start_index(k,j,i)
+                      s_r3 = 0.0
+                      s_r4 = 0.0
+                      DO  n = psi, psi+prt_count(k,j,i)-1
+                         s_r3 = s_r3 + particles(n)%radius**3
+                         s_r4 = s_r4 + particles(n)%radius**4
+                      ENDDO
+                      IF ( s_r3 /= 0.0 )  THEN
+                         mean_r = s_r4 / s_r3
+                      ELSE
+                         mean_r = 0.0
+                      ENDIF
+                      pr_av(k,j,i) = pr_av(k,j,i) + mean_r
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'pr*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   precipitation_rate_av(j,i) = precipitation_rate_av(j,i) + &
+                                                precipitation_rate(j,i)
+                ENDDO
+             ENDDO
+
+          CASE ( 'pt' )
+             IF ( .NOT. cloud_physics ) THEN
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      DO  k = nzb, nzt+1
+                         pt_av(k,j,i) = pt_av(k,j,i) + pt(k,j,i)
+                      ENDDO
+                   ENDDO
+                ENDDO
+             ELSE
+                DO  i = nxl-1, nxr+1
+                   DO  j = nys-1, nyn+1
+                      DO  k = nzb, nzt+1
+                         pt_av(k,j,i) = pt_av(k,j,i) + pt(k,j,i) + l_d_cp * &
+                                                       pt_d_t(k) * ql(k,j,i)
+                      ENDDO
+                   ENDDO
+                ENDDO
+             ENDIF
+
+          CASE ( 'q' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      q_av(k,j,i) = q_av(k,j,i) + q(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+             
+          CASE ( 'ql' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_av(k,j,i) = ql_av(k,j,i) + ql(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_c' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_c_av(k,j,i) = ql_c_av(k,j,i) + ql_c(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_v' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_v_av(k,j,i) = ql_v_av(k,j,i) + ql_v(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'ql_vp' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      ql_vp_av(k,j,i) = ql_vp_av(k,j,i) + ql_vp(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'qv' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      qv_av(k,j,i) = qv_av(k,j,i) + q(k,j,i) - ql(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'rho' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      rho_av(k,j,i) = rho_av(k,j,i) + rho(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+             
+          CASE ( 's' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      s_av(k,j,i) = s_av(k,j,i) + q(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+             
+          CASE ( 'sa' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      sa_av(k,j,i) = sa_av(k,j,i) + sa(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+             
+          CASE ( 't*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   ts_av(j,i) = ts_av(j,i) + ts(j,i)
+                ENDDO
+             ENDDO
+
+          CASE ( 'u' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      u_av(k,j,i) = u_av(k,j,i) + u(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'u*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   us_av(j,i) = us_av(j,i) + us(j,i)
+                ENDDO
+             ENDDO
+
+          CASE ( 'v' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      v_av(k,j,i) = v_av(k,j,i) + v(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'vpt' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      vpt_av(k,j,i) = vpt_av(k,j,i) + vpt(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'w' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   DO  k = nzb, nzt+1
+                      w_av(k,j,i) = w_av(k,j,i) + w(k,j,i)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+          CASE ( 'z0*' )
+             DO  i = nxl-1, nxr+1
+                DO  j = nys-1, nyn+1
+                   z0_av(j,i) = z0_av(j,i) + z0(j,i)
+                ENDDO
+             ENDDO
+
+          CASE DEFAULT
+!
+!--          User-defined quantity
+             CALL user_3d_data_averaging( 'sum', doav(ii) )
+
+       END SELECT
+
+    ENDDO
+
+    CALL cpu_log (log_point(34),'sum_up_3d_data','stop','nobarrier')
+
+
+ END SUBROUTINE sum_up_3d_data
Index: palm/tags/release-3.7/SOURCE/surface_coupler.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/surface_coupler.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/surface_coupler.f90	(revision 393)
@@ -0,0 +1,195 @@
+ SUBROUTINE surface_coupler
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ------------------
+! $Id$
+!
+! 291 2009-04-16 12:07:26Z raasch
+! Coupling with independent precursor runs.
+! Output of messages replaced by message handling routine.
+!
+! 206 2008-10-13 14:59:11Z raasch
+! Implementation of a MPI-1 Coupling: replaced myid with target_id,
+! deleted __mpi2 directives
+!
+! 109 2007-08-28 15:26:47Z letzel
+! Initial revision
+!
+! Description:
+! ------------
+! Data exchange at the interface between coupled models
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+
+    REAL    ::  time_since_reference_point_rem
+
+#if defined( __parallel )
+
+       CALL cpu_log( log_point(39), 'surface_coupler', 'start' )
+
+!
+!-- In case of model termination initiated by the remote model 
+!-- (terminate_coupled_remote > 0), initiate termination of the local model. 
+!-- The rest of the coupler must then be skipped because it would cause an MPI 
+!-- intercomminucation hang.
+!-- If necessary, the coupler will be called at the beginning of the next 
+!-- restart run.
+    CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER, target_id,  &
+                       0, &
+                       terminate_coupled_remote, 1, MPI_INTEGER, target_id,  &
+                       0, comm_inter, status, ierr )
+    IF ( terminate_coupled_remote > 0 )  THEN
+       WRITE( message_string, * ) 'remote model "',                         &
+                                  TRIM( coupling_mode_remote ),             &
+                                  '" terminated',                           &
+                                  '&with terminate_coupled_remote = ',      &
+                                  terminate_coupled_remote,                 &
+                                  '&local model  "', TRIM( coupling_mode ), &
+                                  '" has',                                  &
+                                  '&terminate_coupled = ',                  &
+                                  terminate_coupled
+       CALL message( 'surface_coupler', 'PA0310', 1, 2, 0, 6, 0 )
+       RETURN
+    ENDIF
+
+!
+!-- Exchange the current simulated time between the models,
+!-- currently just for testing
+    CALL MPI_SEND( time_since_reference_point, 1, MPI_REAL, target_id, 11, &
+                   comm_inter, ierr )
+    CALL MPI_RECV( time_since_reference_point_rem, 1, MPI_REAL, target_id, 11, &
+                   comm_inter, status, ierr )
+    WRITE ( 9, * ) 'simulated time: ', simulated_time
+    WRITE ( 9, * ) 'time since start of coupling: ', &
+                   time_since_reference_point, ' remote: ', &
+                   time_since_reference_point_rem
+    CALL local_flush( 9 )
+
+!
+!-- Exchange the interface data
+    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
+
+!
+!--    Send heat flux at bottom surface to the ocean model
+       WRITE ( 9, * )  '*** send shf to ocean'
+       CALL local_flush( 9 )
+       CALL MPI_SEND( shf(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 12, &
+                      comm_inter, ierr )
+
+!
+!--    Send humidity flux at bottom surface to the ocean model
+       IF ( humidity )  THEN
+          WRITE ( 9, * )  '*** send qsws to ocean'
+          CALL local_flush( 9 )
+          CALL MPI_SEND( qsws(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 13, &
+               comm_inter, ierr )
+       ENDIF
+
+!
+!--    Receive temperature at the bottom surface from the ocean model
+       WRITE ( 9, * )  '*** receive pt from ocean'
+       CALL local_flush( 9 )
+       CALL MPI_RECV( pt(0,nys-1,nxl-1), 1, type_xy, target_id, 14, &
+                      comm_inter, status, ierr )
+
+!
+!--    Send the momentum flux (u) at bottom surface to the ocean model
+       WRITE ( 9, * )  '*** send usws to ocean'
+       CALL local_flush( 9 )
+       CALL MPI_SEND( usws(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 15, &
+                      comm_inter, ierr )
+
+!
+!--    Send the momentum flux (v) at bottom surface to the ocean model
+       WRITE ( 9, * )  '*** send vsws to ocean'
+       CALL local_flush( 9 )
+       CALL MPI_SEND( vsws(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 16, &
+                      comm_inter, ierr )
+
+    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
+
+!
+!--    Receive heat flux at the sea surface (top) from the atmosphere model
+       WRITE ( 9, * )  '*** receive tswst from atmosphere'
+       CALL local_flush( 9 )
+       CALL MPI_RECV( tswst(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 12, &
+                      comm_inter, status, ierr )
+
+!
+!--    Receive humidity flux from the atmosphere model (bottom)
+!--    and add it to the heat flux at the sea surface (top)...
+       IF ( humidity_remote )  THEN
+          WRITE ( 9, * )  '*** receive qswst_remote from atmosphere'
+          CALL local_flush( 9 )
+          CALL MPI_RECV( qswst_remote(nys-1,nxl-1), ngp_xy, MPI_REAL, &
+                         target_id, 13, comm_inter, status, ierr )
+
+          !here tswst is still the sum of atmospheric bottom heat fluxes
+          tswst = tswst + qswst_remote * 2.2626108e6 / 1005.0
+          !*latent heat of vaporization in m2/s2, or 540 cal/g, or 40.65 kJ/mol
+          !/(rho_atm(=1.0)*c_p)
+!
+!--    ...and convert it to a salinity flux at the sea surface (top)
+!--       following Steinhorn (1991), JPO 21, pp. 1681-1683:
+!--       S'w' = -S * evaporation / ( rho_water * ( 1 - S ) )
+          saswst = -1.0 * sa(nzt,:,:) * qswst_remote /  &
+               ( rho(nzt,:,:) * ( 1.0 - sa(nzt,:,:) ) )
+       ENDIF
+
+!
+!--    Adjust the kinematic heat flux with respect to ocean density
+!--    (constants are the specific heat capacities for air and water)
+       !now tswst is the ocean top heat flux
+       tswst = tswst / rho(nzt,:,:) * 1005.0 / 4218.0
+
+!
+!--    Send sea surface temperature to the atmosphere model
+       WRITE ( 9, * )  '*** send pt to atmosphere'
+       CALL local_flush( 9 )
+       CALL MPI_SEND( pt(nzt,nys-1,nxl-1), 1, type_xy, target_id, 14, &
+                      comm_inter, ierr )
+
+!
+!--    Receive momentum flux (u) at the sea surface (top) from the atmosphere
+!--    model
+       WRITE ( 9, * )  '*** receive uswst from atmosphere'
+       CALL local_flush( 9 )
+       CALL MPI_RECV( uswst(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 15, &
+                      comm_inter, status, ierr )
+
+!
+!--    Receive momentum flux (v) at the sea surface (top) from the atmosphere
+!--    model
+       WRITE ( 9, * )  '*** receive vswst from atmosphere'
+       CALL local_flush( 9 )
+       CALL MPI_RECV( vswst(nys-1,nxl-1), ngp_xy, MPI_REAL, target_id, 16, &
+                      comm_inter, status, ierr )
+
+!
+!--    Adjust the momentum fluxes with respect to ocean density
+       uswst = uswst / rho(nzt,:,:)
+       vswst = vswst / rho(nzt,:,:)
+
+    ENDIF
+
+    CALL cpu_log( log_point(39), 'surface_coupler', 'stop' )
+
+#endif
+
+ END SUBROUTINE surface_coupler
Index: palm/tags/release-3.7/SOURCE/swap_timelevel.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/swap_timelevel.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/swap_timelevel.f90	(revision 393)
@@ -0,0 +1,212 @@
+ SUBROUTINE swap_timelevel
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 102 2007-07-27 09:09:17Z raasch
+! swaping of uswst, vswst included
+!
+! 95 2007-06-02 16:48:38Z raasch
+! Swaping of salinity
+!
+! 75 2007-03-22 09:54:05Z raasch
+! moisture renamed humidity
+!
+! 19 2007-02-23 04:53:48Z raasch
+! Swaping of top fluxes
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.8  2004/01/28 15:28:18  raasch
+! Swaping for Runge-Kutta schemes implemented
+!
+! Revision 1.1  2000/01/10  10:08:58  10:08:58  raasch (Siegfried Raasch)
+! Initial revision
+! 
+!
+! Description:
+! ------------
+! Swap of timelevels of variables after each timestep
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE cpulog
+    USE interfaces
+    USE control_parameters
+
+    IMPLICIT NONE
+
+
+    CALL cpu_log( log_point(28), 'swap_timelevel', 'start' )
+
+!
+!-- Incrementing timestep counter
+    timestep_count = timestep_count + 1
+
+!
+!-- Swap of 3-level variables
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+
+       SELECT CASE ( MOD( timestep_count, 3 ) )
+
+          CASE ( 0 )
+
+             u_m  => u_1;   u  => u_2;  u_p  => u_3
+             v_m  => v_1;   v  => v_2;  v_p  => v_3
+             w_m  => w_1;   w  => w_2;  w_p  => w_3
+             pt_m => pt_1;  pt => pt_2; pt_p => pt_3
+             IF ( .NOT. constant_diffusion )  THEN
+                e_m => e_1;  e => e_2;  e_p => e_3
+             ENDIF
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                q_m => q_1;  q => q_2;  q_p => q_3
+             ENDIF
+
+          CASE ( 1 )
+
+             u_m  => u_2;   u  => u_3;  u_p  => u_1
+             v_m  => v_2;   v  => v_3;  v_p  => v_1
+             w_m  => w_2;   w  => w_3;  w_p  => w_1
+             pt_m => pt_2;  pt => pt_3; pt_p => pt_1
+             IF ( .NOT. constant_diffusion )  THEN
+                e_m => e_2;  e => e_3;  e_p => e_1
+             ENDIF
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                q_m => q_2;  q => q_3;  q_p => q_1
+             ENDIF
+
+          CASE ( 2 )
+
+             u_m  => u_3;   u  => u_1;  u_p  => u_2
+             v_m  => v_3;   v  => v_1;  v_p  => v_2
+             w_m  => w_3;   w  => w_1;  w_p  => w_2
+             pt_m => pt_3;  pt => pt_1; pt_p => pt_2
+             IF ( .NOT. constant_diffusion )  THEN
+                e_m => e_3;  e => e_1;  e_p => e_2
+             ENDIF
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                q_m => q_3;  q => q_1;  q_p => q_2
+             ENDIF
+
+       END SELECT
+
+    ENDIF
+
+!
+!-- Swap of 2-level variables
+    SELECT CASE ( MOD( timestep_count, 2 ) )
+
+       CASE ( 0 )
+
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+
+             u  => u_1;   u_p  => u_2
+             v  => v_1;   v_p  => v_2
+             w  => w_1;   w_p  => w_2
+             pt => pt_1;  pt_p => pt_2
+             IF ( .NOT. constant_diffusion )  THEN
+                e => e_1;    e_p => e_2
+             ENDIF
+             IF ( ocean )  THEN
+                sa => sa_1;  sa_p => sa_2
+             ENDIF
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                q => q_1;    q_p => q_2
+             ENDIF
+
+          ELSE
+!
+!--          Old timelevels are needed for explicit diffusion within leapfrog
+             IF ( .NOT. constant_diffusion )  THEN
+                kh_m => kh_1;  kh => kh_2
+                km_m => km_1;  km => km_2
+                IF ( use_surface_fluxes )  THEN
+                   usws_m => usws_1;  usws => usws_2
+                   vsws_m => vsws_1;  vsws => vsws_2
+                   shf_m  => shf_1;   shf  => shf_2
+                   IF ( humidity  .OR.  passive_scalar )  THEN
+                      qsws_m => qsws_1;  qsws => qsws_2
+                   ENDIF
+                ENDIF
+                IF ( prandtl_layer )  THEN
+                   rif_m  => rif_1;   rif  => rif_2
+                ENDIF
+                IF ( use_top_fluxes )  THEN
+                   uswst_m => uswst_1;  uswst => uswst_2
+                   vswst_m => vswst_1;  vswst => vswst_2
+                   tswst_m => tswst_1;  tswst => tswst_2
+                   IF ( humidity  .OR.  passive_scalar )  THEN
+                      qswst_m => qswst_1;  qswst => qswst_2
+                   ENDIF
+                ENDIF
+             ENDIF
+
+             IF ( humidity )  THEN
+                vpt_m => vpt_1;  vpt => vpt_2
+             ENDIF
+
+          ENDIF
+
+       CASE ( 1 )
+
+          IF ( timestep_scheme(1:5) == 'runge' )  THEN
+
+             u  => u_2;   u_p  => u_1
+             v  => v_2;   v_p  => v_1
+             w  => w_2;   w_p  => w_1
+             pt => pt_2;  pt_p => pt_1
+             IF ( .NOT. constant_diffusion )  THEN
+                e => e_2;    e_p => e_1
+             ENDIF
+             IF ( ocean )  THEN
+                sa => sa_2;  sa_p => sa_1
+             ENDIF
+             IF ( humidity  .OR.  passive_scalar )  THEN
+                q => q_2;    q_p => q_1
+             ENDIF
+
+          ELSE
+
+             IF ( .NOT. constant_diffusion )  THEN
+                kh_m => kh_2;  kh => kh_1
+                km_m => km_2;  km => km_1
+                IF ( use_surface_fluxes )  THEN
+                   usws_m => usws_2;  usws => usws_1
+                   vsws_m => vsws_2;  vsws => vsws_1
+                   shf_m  => shf_2;   shf  => shf_1
+                   IF ( humidity  .OR.  passive_scalar )  THEN
+                      qsws_m => qsws_2;  qsws => qsws_1
+                   ENDIF
+                ENDIF
+                IF ( prandtl_layer )  THEN
+                   rif_m  => rif_2;   rif  => rif_1
+                ENDIF
+                IF ( use_top_fluxes )  THEN
+                   uswst_m => uswst_2;  uswst => uswst_1
+                   vswst_m => vswst_2;  vswst => vswst_1
+                   tswst_m => tswst_2;  tswst => tswst_1
+                   IF ( humidity  .OR.  passive_scalar )  THEN
+                      qswst_m => qswst_2;  qswst => qswst_1
+                   ENDIF
+                ENDIF
+             ENDIF
+
+             IF ( humidity )  THEN
+                vpt_m => vpt_2;  vpt => vpt_1
+             ENDIF
+
+          ENDIF
+
+    END SELECT
+
+    CALL cpu_log( log_point(28), 'swap_timelevel', 'stop' )
+
+ END SUBROUTINE swap_timelevel
+
+
Index: palm/tags/release-3.7/SOURCE/temperton_fft.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/temperton_fft.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/temperton_fft.f90	(revision 393)
@@ -0,0 +1,1971 @@
+ MODULE temperton_fft
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 258 2009-03-13 12:36:03Z heinze
+! Output of messages replaced by message handling routine.
+!
+! Feb. 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2003/04/16 12:49:25  raasch
+! Abort in case of illegal factors
+!
+! Revision 1.1  2003/03/12 16:41:59  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Fast Fourier transformation developed by Clive Temperton, ECMWF.
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    PRIVATE
+
+    PUBLIC set99, fft991cy
+
+
+    INTEGER           ::  nfax(10)   !  array used by *fft991*.
+    REAL, ALLOCATABLE ::  trig(:)    !  array used by *fft991*.
+
+!
+!-- nfft: maximum length of calls to *fft.
+#if defined( __nec )
+    INTEGER, PARAMETER ::  nfft = 256
+#else
+    INTEGER, PARAMETER ::  nfft =  32
+#endif
+
+    INTEGER, PARAMETER ::  nout =   6  ! standard output stream
+
+CONTAINS
+
+  SUBROUTINE fft991cy(a,work,trigs,ifax,inc,jump,n,lot,isign)
+
+    ! Description:
+    !
+    ! Calls fortran-versions of fft's.
+    !
+    ! Method:
+    !
+    ! Subroutine 'fft991cy' - multiple fast real periodic transform
+    ! supersedes previous routine 'fft991cy'.
+    !
+    ! Real transform of length n performed by removing redundant
+    ! operations from complex transform of length n.
+    !
+    ! a       is the array containing input & output data.
+    ! work    is an area of size (n+1)*min(lot,nfft).
+    ! trigs   is a previously prepared list of trig function values.
+    ! ifax    is a previously prepared list of factors of n.
+    ! inc     is the increment within each data 'vector'
+    !         (e.g. inc=1 for consecutively stored data).
+    ! jump    is the increment between the start of each data vector.
+    ! n       is the length of the data vectors.
+    ! lot     is the number of data vectors.
+    ! isign = +1 for transform from spectral to gridpoint
+    !       = -1 for transform from gridpoint to spectral.
+    !
+    ! ordering of coefficients:
+    ! a(0),b(0),a(1),b(1),a(2),b(2),.,a(n/2),b(n/2)
+    ! where b(0)=b(n/2)=0; (n+2) locations required.
+    !
+    ! ordering of data:
+    ! x(0),x(1),x(2),.,x(n-1), 0 , 0 ; (n+2) locations required.
+    !
+    ! Vectorization is achieved on cray by doing the transforms
+    ! in parallel.
+    !
+    ! n must be composed of factors 2,3 & 5 but does not have to be even.
+    !
+    ! definition of transforms:
+    !
+    ! isign=+1: x(j)=sum(k=0,.,n-1)(c(k)*exp(2*i*j*k*pi/n))
+    ! where c(k)=a(k)+i*b(k) and c(n-k)=a(k)-i*b(k)
+
+    ! isign=-1: a(k)=(1/n)*sum(j=0,.,n-1)(x(j)*cos(2*j*k*pi/n))
+    ! b(k)=-(1/n)*sum(j=0,.,n-1)(x(j)*sin(2*j*k*pi/n))
+
+    ! calls fortran-versions of fft's  !!!
+    ! dimension a(n),work(n),trigs(n),ifax(1)
+
+
+    IMPLICIT NONE
+
+    !  Scalar arguments 
+    INTEGER :: inc, isign, jump, lot, n
+
+    !  Array arguments 
+    REAL :: a(*), trigs(*), work(*)
+    INTEGER :: ifax(*)
+
+    !  Local scalars: 
+    INTEGER :: i, ia, ibase, ierr, ifac, igo, ii, istart, ix, iz, j, jbase, jj, &
+         &      k, la, nb, nblox, nfax, nvex, nx
+
+    !  Intrinsic functions 
+    INTRINSIC MOD
+
+
+    !  Executable statements 
+
+    IF (ifax(10)/=n) CALL set99(trigs,ifax,n)
+    nfax = ifax(1)
+    nx = n + 1
+    IF (MOD(n,2)==1) nx = n
+    nblox = 1 + (lot-1)/nfft
+    nvex = lot - (nblox-1)*nfft
+    IF (isign==-1) GO TO 50
+
+    ! isign=+1, spectral to gridpoint transform
+
+    istart = 1
+    DO nb = 1, nblox
+       ia = istart
+       i = istart
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO j = 1, nvex
+          a(i+inc) = 0.5*a(i)
+          i = i + jump
+       END DO
+       IF (MOD(n,2)==1) GO TO 10
+       i = istart + n*inc
+       DO j = 1, nvex
+          a(i) = 0.5*a(i)
+          i = i + jump
+       END DO
+10     CONTINUE
+       ia = istart + inc
+       la = 1
+       igo = + 1
+
+       DO k = 1, nfax
+          ifac = ifax(k+1)
+          ierr = -1
+          IF (igo==-1) GO TO 20
+          CALL rpassm(a(ia),a(ia+la*inc),work(1),work(ifac*la+1),trigs,inc,1, &
+               &          jump,nx,nvex,n,ifac,la,ierr)
+          GO TO 30
+20        CONTINUE
+          CALL rpassm(work(1),work(la+1),a(ia),a(ia+ifac*la*inc),trigs,1,inc,nx, &
+               &          jump,nvex,n,ifac,la,ierr)
+30        CONTINUE
+          IF (ierr/=0) GO TO 100
+          la = ifac*la
+          igo = -igo
+          ia = istart
+       END DO
+
+       ! If necessary, copy results back to a
+
+       IF (MOD(nfax,2)==0) GO TO 40
+       ibase = 1
+       jbase = ia
+       DO jj = 1, nvex
+          i = ibase
+          j = jbase
+          DO ii = 1, n
+             a(j) = work(i)
+             i = i + 1
+             j = j + inc
+          END DO
+          ibase = ibase + nx
+          jbase = jbase + jump
+       END DO
+40     CONTINUE
+
+       ! Fill in zeros at end
+
+       ix = istart + n*inc
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO j = 1, nvex
+          a(ix) = 0.0
+          a(ix+inc) = 0.0
+          ix = ix + jump
+       END DO
+
+       istart = istart + nvex*jump
+       nvex = nfft
+    END DO
+    RETURN
+
+    ! isign=-1, gridpoint to spectral transform
+
+50  CONTINUE
+    istart = 1
+    DO nb = 1, nblox
+       ia = istart
+       la = n
+       igo = + 1
+
+       DO k = 1, nfax
+          ifac = ifax(nfax+2-k)
+          la = la/ifac
+          ierr = -1
+          IF (igo==-1) GO TO 60
+          CALL qpassm(a(ia),a(ia+ifac*la*inc),work(1),work(la+1),trigs,inc,1, &
+               &          jump,nx,nvex,n,ifac,la,ierr)
+          GO TO 70
+60        CONTINUE
+          CALL qpassm(work(1),work(ifac*la+1),a(ia),a(ia+la*inc),trigs,1,inc,nx, &
+               &          jump,nvex,n,ifac,la,ierr)
+70        CONTINUE
+          IF (ierr/=0) GO TO 100
+          igo = -igo
+          ia = istart + inc
+       END DO
+
+       ! If necessary, copy results back to a
+
+       IF (MOD(nfax,2)==0) GO TO 80
+       ibase = 1
+       jbase = ia
+       DO jj = 1, nvex
+          i = ibase
+          j = jbase
+          DO ii = 1, n
+             a(j) = work(i)
+             i = i + 1
+             j = j + inc
+          END DO
+          ibase = ibase + nx
+          jbase = jbase + jump
+       END DO
+80     CONTINUE
+
+       ! Shift a(0) & fill in zero imag parts
+
+       ix = istart
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO j = 1, nvex
+          a(ix) = a(ix+inc)
+          a(ix+inc) = 0.0
+          ix = ix + jump
+       END DO
+       IF (MOD(n,2)==1) GO TO 90
+       iz = istart + (n+1)*inc
+       DO j = 1, nvex
+          a(iz) = 0.0
+          iz = iz + jump
+       END DO
+90     CONTINUE
+
+       istart = istart + nvex*jump
+       nvex = nfft
+    END DO
+    RETURN
+
+    ! Error messages
+
+100 CONTINUE
+
+    SELECT CASE (ierr)
+    CASE (:-1)
+       WRITE (nout,'(A,I5,A)') ' Vector length =',nvex,', greater than nfft'
+    CASE (0)
+       WRITE (nout,'(A,I3,A)') ' Factor =',ifac,', not catered for'
+    CASE (1:)
+       WRITE (nout,'(A,I3,A)') ' Factor =',ifac,', only catered for if la*ifac=n'
+    END SELECT
+
+    RETURN
+  END SUBROUTINE fft991cy
+
+  SUBROUTINE qpassm(a,b,c,d,trigs,inc1,inc2,inc3,inc4,lot,n,ifac,la,ierr)
+
+    ! Description:
+    !
+    ! Performs one pass through data as part of 
+    ! multiple real fft (fourier analysis) routine.
+    !
+    ! Method:
+    !
+    ! a       is first real input vector
+    !         equivalence b(1) with a(ifac*la*inc1+1)
+    ! c       is first real output vector
+    !         equivalence d(1) with c(la*inc2+1)
+    ! trigs   is a precalculated list of sines & cosines
+    ! inc1    is the addressing increment for a
+    ! inc2    is the addressing increment for c
+    ! inc3    is the increment between input vectors a
+    ! inc4    is the increment between output vectors c
+    ! lot     is the number of vectors
+    ! n       is the length of the vectors
+    ! ifac    is the current factor of n
+    !         la = n/(product of factors used so far)
+    ! ierr    is an error indicator:
+    !         0 - pass completed without error
+    !         1 - lot greater than nfft
+    !         2 - ifac not catered for
+    !         3 - ifac only catered for if la=n/ifac
+    !
+
+    IMPLICIT NONE
+
+    !  Scalar arguments 
+    INTEGER :: ierr, ifac, inc1, inc2, inc3, inc4, la, lot, n
+
+    !  Array arguments 
+    ! REAL :: a(n),b(n),c(n),d(n),trigs(n)
+    REAL :: a(*), b(*), c(*), d(*), trigs(*)
+
+    !  Local scalars: 
+    REAL :: a0, a1, a10, a11, a2, a20, a21, a3, a4, a5, a6, b0, b1, b10, b11, &
+         &      b2, b20, b21, b3, b4, b5, b6, c1, c2, c3, c4, c5, qrt5, s1, s2, s3, s4, &
+         &      s5, sin36, sin45, sin60, sin72, z, zqrt5, zsin36, zsin45, zsin60, &
+         &      zsin72
+    INTEGER :: i, ia, ib, ibad, ibase, ic, id, ie, if, ig, igo, ih, iink, ijk, &
+         &      ijump, j, ja, jb, jbase, jc, jd, je, jf, jink, k, kb, kc, kd, ke, kf, &
+         &      kstop, l, m
+
+    !  Intrinsic functions 
+    INTRINSIC REAL, SQRT
+
+    !  Data statements 
+    DATA sin36/0.587785252292473/, sin72/0.951056516295154/, &
+         &      qrt5/0.559016994374947/, sin60/0.866025403784437/
+
+
+    !  Executable statements 
+
+    m = n/ifac
+    iink = la*inc1
+    jink = la*inc2
+    ijump = (ifac-1)*iink
+    kstop = (n-ifac)/(2*ifac)
+
+    ibad = 1
+    IF (lot>nfft) GO TO 180
+    ibase = 0
+    jbase = 0
+    igo = ifac - 1
+    IF (igo==7) igo = 6
+    ibad = 2
+    IF (igo<1 .OR. igo>6) GO TO 180
+    GO TO (10,40,70,100,130,160) igo
+
+    ! Coding for factor 2
+
+10  CONTINUE
+    ia = 1
+    ib = ia + iink
+    ja = 1
+    jb = ja + (2*m-la)*inc2
+
+    IF (la==m) GO TO 30
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + a(ib+i)
+          c(jb+j) = a(ia+i) - a(ib+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ja = ja + jink
+    jink = 2*jink
+    jb = jb - jink
+    ibase = ibase + ijump
+    ijump = 2*ijump + iink
+    IF (ja==jb) GO TO 20
+    DO k = la, kstop, la
+       kb = k + k
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       jbase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             c(ja+j) = a(ia+i) + (c1*a(ib+i)+s1*b(ib+i))
+             c(jb+j) = a(ia+i) - (c1*a(ib+i)+s1*b(ib+i))
+             d(ja+j) = (c1*b(ib+i)-s1*a(ib+i)) + b(ia+i)
+             d(jb+j) = (c1*b(ib+i)-s1*a(ib+i)) - b(ia+i)
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ibase = ibase + ijump
+       ja = ja + jink
+       jb = jb - jink
+    END DO
+    IF (ja>jb) GO TO 170
+20  CONTINUE
+    jbase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i)
+          d(ja+j) = -a(ib+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+30  CONTINUE
+    z = 1.0/REAL(n)
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = z*(a(ia+i)+a(ib+i))
+          c(jb+j) = z*(a(ia+i)-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 3
+
+40  CONTINUE
+    ia = 1
+    ib = ia + iink
+    ic = ib + iink
+    ja = 1
+    jb = ja + (2*m-la)*inc2
+    jc = jb
+
+    IF (la==m) GO TO 60
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + (a(ib+i)+a(ic+i))
+          c(jb+j) = a(ia+i) - 0.5*(a(ib+i)+a(ic+i))
+          d(jb+j) = sin60*(a(ic+i)-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ja = ja + jink
+    jink = 2*jink
+    jb = jb + jink
+    jc = jc - jink
+    ibase = ibase + ijump
+    ijump = 2*ijump + iink
+    IF (ja==jc) GO TO 50
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       jbase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             a1 = (c1*a(ib+i)+s1*b(ib+i)) + (c2*a(ic+i)+s2*b(ic+i))
+             b1 = (c1*b(ib+i)-s1*a(ib+i)) + (c2*b(ic+i)-s2*a(ic+i))
+             a2 = a(ia+i) - 0.5*a1
+             b2 = b(ia+i) - 0.5*b1
+             a3 = sin60*((c1*a(ib+i)+s1*b(ib+i))-(c2*a(ic+i)+s2*b(ic+i)))
+             b3 = sin60*((c1*b(ib+i)-s1*a(ib+i))-(c2*b(ic+i)-s2*a(ic+i)))
+             c(ja+j) = a(ia+i) + a1
+             d(ja+j) = b(ia+i) + b1
+             c(jb+j) = a2 + b3
+             d(jb+j) = b2 - a3
+             c(jc+j) = a2 - b3
+             d(jc+j) = -(b2+a3)
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ibase = ibase + ijump
+       ja = ja + jink
+       jb = jb + jink
+       jc = jc - jink
+    END DO
+    IF (ja>jc) GO TO 170
+50  CONTINUE
+    jbase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + 0.5*(a(ib+i)-a(ic+i))
+          d(ja+j) = -sin60*(a(ib+i)+a(ic+i))
+          c(jb+j) = a(ia+i) - (a(ib+i)-a(ic+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+60  CONTINUE
+    z = 1.0/REAL(n)
+    zsin60 = z*sin60
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = z*(a(ia+i)+(a(ib+i)+a(ic+i)))
+          c(jb+j) = z*(a(ia+i)-0.5*(a(ib+i)+a(ic+i)))
+          d(jb+j) = zsin60*(a(ic+i)-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 4
+
+70  CONTINUE
+    ia = 1
+    ib = ia + iink
+    ic = ib + iink
+    id = ic + iink
+    ja = 1
+    jb = ja + (2*m-la)*inc2
+    jc = jb + 2*m*inc2
+    jd = jb
+
+    IF (la==m) GO TO 90
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (a(ia+i)+a(ic+i)) + (a(ib+i)+a(id+i))
+          c(jc+j) = (a(ia+i)+a(ic+i)) - (a(ib+i)+a(id+i))
+          c(jb+j) = a(ia+i) - a(ic+i)
+          d(jb+j) = a(id+i) - a(ib+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ja = ja + jink
+    jink = 2*jink
+    jb = jb + jink
+    jc = jc - jink
+    jd = jd - jink
+    ibase = ibase + ijump
+    ijump = 2*ijump + iink
+    IF (jb==jc) GO TO 80
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       jbase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             a0 = a(ia+i) + (c2*a(ic+i)+s2*b(ic+i))
+             a2 = a(ia+i) - (c2*a(ic+i)+s2*b(ic+i))
+             a1 = (c1*a(ib+i)+s1*b(ib+i)) + (c3*a(id+i)+s3*b(id+i))
+             a3 = (c1*a(ib+i)+s1*b(ib+i)) - (c3*a(id+i)+s3*b(id+i))
+             b0 = b(ia+i) + (c2*b(ic+i)-s2*a(ic+i))
+             b2 = b(ia+i) - (c2*b(ic+i)-s2*a(ic+i))
+             b1 = (c1*b(ib+i)-s1*a(ib+i)) + (c3*b(id+i)-s3*a(id+i))
+             b3 = (c1*b(ib+i)-s1*a(ib+i)) - (c3*b(id+i)-s3*a(id+i))
+             c(ja+j) = a0 + a1
+             c(jc+j) = a0 - a1
+             d(ja+j) = b0 + b1
+             d(jc+j) = b1 - b0
+             c(jb+j) = a2 + b3
+             c(jd+j) = a2 - b3
+             d(jb+j) = b2 - a3
+             d(jd+j) = -(b2+a3)
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ibase = ibase + ijump
+       ja = ja + jink
+       jb = jb + jink
+       jc = jc - jink
+       jd = jd - jink
+    END DO
+    IF (jb>jc) GO TO 170
+80  CONTINUE
+    sin45 = SQRT(0.5)
+    jbase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + sin45*(a(ib+i)-a(id+i))
+          c(jb+j) = a(ia+i) - sin45*(a(ib+i)-a(id+i))
+          d(ja+j) = -a(ic+i) - sin45*(a(ib+i)+a(id+i))
+          d(jb+j) = a(ic+i) - sin45*(a(ib+i)+a(id+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+90  CONTINUE
+    z = 1.0/REAL(n)
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = z*((a(ia+i)+a(ic+i))+(a(ib+i)+a(id+i)))
+          c(jc+j) = z*((a(ia+i)+a(ic+i))-(a(ib+i)+a(id+i)))
+          c(jb+j) = z*(a(ia+i)-a(ic+i))
+          d(jb+j) = z*(a(id+i)-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 5
+
+100 CONTINUE
+    ia = 1
+    ib = ia + iink
+    ic = ib + iink
+    id = ic + iink
+    ie = id + iink
+    ja = 1
+    jb = ja + (2*m-la)*inc2
+    jc = jb + 2*m*inc2
+    jd = jc
+    je = jb
+
+    IF (la==m) GO TO 120
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          a1 = a(ib+i) + a(ie+i)
+          a3 = a(ib+i) - a(ie+i)
+          a2 = a(ic+i) + a(id+i)
+          a4 = a(ic+i) - a(id+i)
+          a5 = a(ia+i) - 0.25*(a1+a2)
+          a6 = qrt5*(a1-a2)
+          c(ja+j) = a(ia+i) + (a1+a2)
+          c(jb+j) = a5 + a6
+          c(jc+j) = a5 - a6
+          d(jb+j) = -sin72*a3 - sin36*a4
+          d(jc+j) = -sin36*a3 + sin72*a4
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ja = ja + jink
+    jink = 2*jink
+    jb = jb + jink
+    jc = jc + jink
+    jd = jd - jink
+    je = je - jink
+    ibase = ibase + ijump
+    ijump = 2*ijump + iink
+    IF (jb==jd) GO TO 110
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       ke = kd + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       c4 = trigs(ke+1)
+       s4 = trigs(ke+2)
+       jbase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             a1 = (c1*a(ib+i)+s1*b(ib+i)) + (c4*a(ie+i)+s4*b(ie+i))
+             a3 = (c1*a(ib+i)+s1*b(ib+i)) - (c4*a(ie+i)+s4*b(ie+i))
+             a2 = (c2*a(ic+i)+s2*b(ic+i)) + (c3*a(id+i)+s3*b(id+i))
+             a4 = (c2*a(ic+i)+s2*b(ic+i)) - (c3*a(id+i)+s3*b(id+i))
+             b1 = (c1*b(ib+i)-s1*a(ib+i)) + (c4*b(ie+i)-s4*a(ie+i))
+             b3 = (c1*b(ib+i)-s1*a(ib+i)) - (c4*b(ie+i)-s4*a(ie+i))
+             b2 = (c2*b(ic+i)-s2*a(ic+i)) + (c3*b(id+i)-s3*a(id+i))
+             b4 = (c2*b(ic+i)-s2*a(ic+i)) - (c3*b(id+i)-s3*a(id+i))
+             a5 = a(ia+i) - 0.25*(a1+a2)
+             a6 = qrt5*(a1-a2)
+             b5 = b(ia+i) - 0.25*(b1+b2)
+             b6 = qrt5*(b1-b2)
+             a10 = a5 + a6
+             a20 = a5 - a6
+             b10 = b5 + b6
+             b20 = b5 - b6
+             a11 = sin72*b3 + sin36*b4
+             a21 = sin36*b3 - sin72*b4
+             b11 = sin72*a3 + sin36*a4
+             b21 = sin36*a3 - sin72*a4
+             c(ja+j) = a(ia+i) + (a1+a2)
+             c(jb+j) = a10 + a11
+             c(je+j) = a10 - a11
+             c(jc+j) = a20 + a21
+             c(jd+j) = a20 - a21
+             d(ja+j) = b(ia+i) + (b1+b2)
+             d(jb+j) = b10 - b11
+             d(je+j) = -(b10+b11)
+             d(jc+j) = b20 - b21
+             d(jd+j) = -(b20+b21)
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ibase = ibase + ijump
+       ja = ja + jink
+       jb = jb + jink
+       jc = jc + jink
+       jd = jd - jink
+       je = je - jink
+    END DO
+    IF (jb>jd) GO TO 170
+110 CONTINUE
+    jbase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          a1 = a(ib+i) + a(ie+i)
+          a3 = a(ib+i) - a(ie+i)
+          a2 = a(ic+i) + a(id+i)
+          a4 = a(ic+i) - a(id+i)
+          a5 = a(ia+i) + 0.25*(a3-a4)
+          a6 = qrt5*(a3+a4)
+          c(ja+j) = a5 + a6
+          c(jb+j) = a5 - a6
+          c(jc+j) = a(ia+i) - (a3-a4)
+          d(ja+j) = -sin36*a1 - sin72*a2
+          d(jb+j) = -sin72*a1 + sin36*a2
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+120 CONTINUE
+    z = 1.0/REAL(n)
+    zqrt5 = z*qrt5
+    zsin36 = z*sin36
+    zsin72 = z*sin72
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          a1 = a(ib+i) + a(ie+i)
+          a3 = a(ib+i) - a(ie+i)
+          a2 = a(ic+i) + a(id+i)
+          a4 = a(ic+i) - a(id+i)
+          a5 = z*(a(ia+i)-0.25*(a1+a2))
+          a6 = zqrt5*(a1-a2)
+          c(ja+j) = z*(a(ia+i)+(a1+a2))
+          c(jb+j) = a5 + a6
+          c(jc+j) = a5 - a6
+          d(jb+j) = -zsin72*a3 - zsin36*a4
+          d(jc+j) = -zsin36*a3 + zsin72*a4
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 6
+
+130 CONTINUE
+    ia = 1
+    ib = ia + iink
+    ic = ib + iink
+    id = ic + iink
+    ie = id + iink
+    if = ie + iink
+    ja = 1
+    jb = ja + (2*m-la)*inc2
+    jc = jb + 2*m*inc2
+    jd = jc + 2*m*inc2
+    je = jc
+    jf = jb
+
+    IF (la==m) GO TO 150
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          a11 = (a(ic+i)+a(if+i)) + (a(ib+i)+a(ie+i))
+          c(ja+j) = (a(ia+i)+a(id+i)) + a11
+          c(jc+j) = (a(ia+i)+a(id+i)-0.5*a11)
+          d(jc+j) = sin60*((a(ic+i)+a(if+i))-(a(ib+i)+a(ie+i)))
+          a11 = (a(ic+i)-a(if+i)) + (a(ie+i)-a(ib+i))
+          c(jb+j) = (a(ia+i)-a(id+i)) - 0.5*a11
+          d(jb+j) = sin60*((a(ie+i)-a(ib+i))-(a(ic+i)-a(if+i)))
+          c(jd+j) = (a(ia+i)-a(id+i)) + a11
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ja = ja + jink
+    jink = 2*jink
+    jb = jb + jink
+    jc = jc + jink
+    jd = jd - jink
+    je = je - jink
+    jf = jf - jink
+    ibase = ibase + ijump
+    ijump = 2*ijump + iink
+    IF (jc==jd) GO TO 140
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       ke = kd + kb
+       kf = ke + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       c4 = trigs(ke+1)
+       s4 = trigs(ke+2)
+       c5 = trigs(kf+1)
+       s5 = trigs(kf+2)
+       jbase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             a1 = c1*a(ib+i) + s1*b(ib+i)
+             b1 = c1*b(ib+i) - s1*a(ib+i)
+             a2 = c2*a(ic+i) + s2*b(ic+i)
+             b2 = c2*b(ic+i) - s2*a(ic+i)
+             a3 = c3*a(id+i) + s3*b(id+i)
+             b3 = c3*b(id+i) - s3*a(id+i)
+             a4 = c4*a(ie+i) + s4*b(ie+i)
+             b4 = c4*b(ie+i) - s4*a(ie+i)
+             a5 = c5*a(if+i) + s5*b(if+i)
+             b5 = c5*b(if+i) - s5*a(if+i)
+             a11 = (a2+a5) + (a1+a4)
+             a20 = (a(ia+i)+a3) - 0.5*a11
+             a21 = sin60*((a2+a5)-(a1+a4))
+             b11 = (b2+b5) + (b1+b4)
+             b20 = (b(ia+i)+b3) - 0.5*b11
+             b21 = sin60*((b2+b5)-(b1+b4))
+             c(ja+j) = (a(ia+i)+a3) + a11
+             d(ja+j) = (b(ia+i)+b3) + b11
+             c(jc+j) = a20 - b21
+             d(jc+j) = a21 + b20
+             c(je+j) = a20 + b21
+             d(je+j) = a21 - b20
+             a11 = (a2-a5) + (a4-a1)
+             a20 = (a(ia+i)-a3) - 0.5*a11
+             a21 = sin60*((a4-a1)-(a2-a5))
+             b11 = (b5-b2) - (b4-b1)
+             b20 = (b3-b(ia+i)) - 0.5*b11
+             b21 = sin60*((b5-b2)+(b4-b1))
+             c(jb+j) = a20 - b21
+             d(jb+j) = a21 - b20
+             c(jd+j) = a11 + (a(ia+i)-a3)
+             d(jd+j) = b11 + (b3-b(ia+i))
+             c(jf+j) = a20 + b21
+             d(jf+j) = a21 + b20
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ibase = ibase + ijump
+       ja = ja + jink
+       jb = jb + jink
+       jc = jc + jink
+       jd = jd - jink
+       je = je - jink
+       jf = jf - jink
+    END DO
+    IF (jc>jd) GO TO 170
+140 CONTINUE
+    jbase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (a(ia+i)+0.5*(a(ic+i)-a(ie+i))) + sin60*(a(ib+i)-a(if+i))
+          d(ja+j) = -(a(id+i)+0.5*(a(ib+i)+a(if+i))) - sin60*(a(ic+i)+a(ie+i))
+          c(jb+j) = a(ia+i) - (a(ic+i)-a(ie+i))
+          d(jb+j) = a(id+i) - (a(ib+i)+a(if+i))
+          c(jc+j) = (a(ia+i)+0.5*(a(ic+i)-a(ie+i))) - sin60*(a(ib+i)-a(if+i))
+          d(jc+j) = -(a(id+i)+0.5*(a(ib+i)+a(if+i))) + sin60*(a(ic+i)+a(ie+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+150 CONTINUE
+    z = 1.0/REAL(n)
+    zsin60 = z*sin60
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          a11 = (a(ic+i)+a(if+i)) + (a(ib+i)+a(ie+i))
+          c(ja+j) = z*((a(ia+i)+a(id+i))+a11)
+          c(jc+j) = z*((a(ia+i)+a(id+i))-0.5*a11)
+          d(jc+j) = zsin60*((a(ic+i)+a(if+i))-(a(ib+i)+a(ie+i)))
+          a11 = (a(ic+i)-a(if+i)) + (a(ie+i)-a(ib+i))
+          c(jb+j) = z*((a(ia+i)-a(id+i))-0.5*a11)
+          d(jb+j) = zsin60*((a(ie+i)-a(ib+i))-(a(ic+i)-a(if+i)))
+          c(jd+j) = z*((a(ia+i)-a(id+i))+a11)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 8
+
+160 CONTINUE
+    ibad = 3
+    IF (la/=m) GO TO 180
+    ia = 1
+    ib = ia + iink
+    ic = ib + iink
+    id = ic + iink
+    ie = id + iink
+    if = ie + iink
+    ig = if + iink
+    ih = ig + iink
+    ja = 1
+    jb = ja + la*inc2
+    jc = jb + 2*m*inc2
+    jd = jc + 2*m*inc2
+    je = jd + 2*m*inc2
+    z = 1.0/REAL(n)
+    zsin45 = z*SQRT(0.5)
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = z*(((a(ia+i)+a(ie+i))+(a(ic+i)+a(ig+i)))+((a(id+i)+ &
+               &          a(ih+i))+(a(ib+i)+a(if+i))))
+          c(je+j) = z*(((a(ia+i)+a(ie+i))+(a(ic+i)+a(ig+i)))-((a(id+i)+ &
+               &          a(ih+i))+(a(ib+i)+a(if+i))))
+          c(jc+j) = z*((a(ia+i)+a(ie+i))-(a(ic+i)+a(ig+i)))
+          d(jc+j) = z*((a(id+i)+a(ih+i))-(a(ib+i)+a(if+i)))
+          c(jb+j) = z*(a(ia+i)-a(ie+i)) + zsin45*((a(ih+i)-a(id+i))-(a(if+ &
+               &          i)-a(ib+i)))
+          c(jd+j) = z*(a(ia+i)-a(ie+i)) - zsin45*((a(ih+i)-a(id+i))-(a(if+ &
+               &          i)-a(ib+i)))
+          d(jb+j) = zsin45*((a(ih+i)-a(id+i))+(a(if+i)-a(ib+i))) + &
+               &          z*(a(ig+i)-a(ic+i))
+          d(jd+j) = zsin45*((a(ih+i)-a(id+i))+(a(if+i)-a(ib+i))) - &
+               &          z*(a(ig+i)-a(ic+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    ! Return
+
+170 CONTINUE
+    ibad = 0
+180 CONTINUE
+    ierr = ibad
+    RETURN
+  END SUBROUTINE qpassm
+
+  SUBROUTINE rpassm(a,b,c,d,trigs,inc1,inc2,inc3,inc4,lot,n,ifac,la,ierr)
+    ! Dimension a(n),b(n),c(n),d(n),trigs(n)
+
+    IMPLICIT NONE
+
+    !  Scalar arguments 
+    INTEGER :: ierr, ifac, inc1, inc2, inc3, inc4, la, lot, n
+
+    !  Array arguments 
+    REAL :: a(*), b(*), c(*), d(*), trigs(*)
+
+    !  Local scalars: 
+    REAL :: c1, c2, c3, c4, c5, qqrt5, qrt5, s1, s2, s3, s4, s5, sin36, sin45, &
+         &      sin60, sin72, ssin36, ssin45, ssin60, ssin72
+    INTEGER :: i, ia, ib, ibad, ibase, ic, id, ie, if, igo, iink, ijk, j, ja, &
+         &      jb, jbase, jc, jd, je, jf, jg, jh, jink, jump, k, kb, kc, kd, ke, kf, &
+         &      kstop, l, m
+
+    !  Local arrays: 
+    REAL :: a10(nfft), a11(nfft), a20(nfft), a21(nfft), b10(nfft), b11(nfft), b20(nfft), &
+         &      b21(nfft)
+
+    !  Intrinsic functions 
+    INTRINSIC SQRT
+
+    !  Data statements 
+    DATA sin36/0.587785252292473/, sin72/0.951056516295154/, &
+         &      qrt5/0.559016994374947/, sin60/0.866025403784437/
+
+
+    !  Executable statements 
+
+    m = n/ifac
+    iink = la*inc1
+    jink = la*inc2
+    jump = (ifac-1)*jink
+    kstop = (n-ifac)/(2*ifac)
+
+    ibad = 1
+    IF (lot>nfft) GO TO 180
+    ibase = 0
+    jbase = 0
+    igo = ifac - 1
+    IF (igo==7) igo = 6
+    ibad = 2
+    IF (igo<1 .OR. igo>6) GO TO 180
+    GO TO (10,40,70,100,130,160) igo
+
+    ! Coding for factor 2
+
+10  CONTINUE
+    ia = 1
+    ib = ia + (2*m-la)*inc1
+    ja = 1
+    jb = ja + jink
+
+    IF (la==m) GO TO 30
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + a(ib+i)
+          c(jb+j) = a(ia+i) - a(ib+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ia = ia + iink
+    iink = 2*iink
+    ib = ib - iink
+    ibase = 0
+    jbase = jbase + jump
+    jump = 2*jump + jink
+    IF (ia==ib) GO TO 20
+    DO k = la, kstop, la
+       kb = k + k
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       ibase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             c(ja+j) = a(ia+i) + a(ib+i)
+             d(ja+j) = b(ia+i) - b(ib+i)
+             c(jb+j) = c1*(a(ia+i)-a(ib+i)) - s1*(b(ia+i)+b(ib+i))
+             d(jb+j) = s1*(a(ia+i)-a(ib+i)) + c1*(b(ia+i)+b(ib+i))
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ia = ia + iink
+       ib = ib - iink
+       jbase = jbase + jump
+    END DO
+    IF (ia>ib) GO TO 170
+20  CONTINUE
+    ibase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i)
+          c(jb+j) = -b(ia+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+30  CONTINUE
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = 2.0*(a(ia+i)+a(ib+i))
+          c(jb+j) = 2.0*(a(ia+i)-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 3
+
+40  CONTINUE
+    ia = 1
+    ib = ia + (2*m-la)*inc1
+    ic = ib
+    ja = 1
+    jb = ja + jink
+    jc = jb + jink
+
+    IF (la==m) GO TO 60
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + a(ib+i)
+          c(jb+j) = (a(ia+i)-0.5*a(ib+i)) - (sin60*(b(ib+i)))
+          c(jc+j) = (a(ia+i)-0.5*a(ib+i)) + (sin60*(b(ib+i)))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ia = ia + iink
+    iink = 2*iink
+    ib = ib + iink
+    ic = ic - iink
+    jbase = jbase + jump
+    jump = 2*jump + jink
+    IF (ia==ic) GO TO 50
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       ibase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             c(ja+j) = a(ia+i) + (a(ib+i)+a(ic+i))
+             d(ja+j) = b(ia+i) + (b(ib+i)-b(ic+i))
+             c(jb+j) = c1*((a(ia+i)-0.5*(a(ib+i)+a(ic+i)))-(sin60*(b(ib+i)+ &
+                  &            b(ic+i)))) - s1*((b(ia+i)-0.5*(b(ib+i)-b(ic+i)))+(sin60*(a(ib+i)- &
+                  &            a(ic+i))))
+             d(jb+j) = s1*((a(ia+i)-0.5*(a(ib+i)+a(ic+i)))-(sin60*(b(ib+i)+ &
+                  &            b(ic+i)))) + c1*((b(ia+i)-0.5*(b(ib+i)-b(ic+i)))+(sin60*(a(ib+i)- &
+                  &            a(ic+i))))
+             c(jc+j) = c2*((a(ia+i)-0.5*(a(ib+i)+a(ic+i)))+(sin60*(b(ib+i)+ &
+                  &            b(ic+i)))) - s2*((b(ia+i)-0.5*(b(ib+i)-b(ic+i)))-(sin60*(a(ib+i)- &
+                  &            a(ic+i))))
+             d(jc+j) = s2*((a(ia+i)-0.5*(a(ib+i)+a(ic+i)))+(sin60*(b(ib+i)+ &
+                  &            b(ic+i)))) + c2*((b(ia+i)-0.5*(b(ib+i)-b(ic+i)))-(sin60*(a(ib+i)- &
+                  &            a(ic+i))))
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ia = ia + iink
+       ib = ib + iink
+       ic = ic - iink
+       jbase = jbase + jump
+    END DO
+    IF (ia>ic) GO TO 170
+50  CONTINUE
+    ibase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + a(ib+i)
+          c(jb+j) = (0.5*a(ia+i)-a(ib+i)) - (sin60*b(ia+i))
+          c(jc+j) = -(0.5*a(ia+i)-a(ib+i)) - (sin60*b(ia+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+60  CONTINUE
+    ssin60 = 2.0*sin60
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = 2.0*(a(ia+i)+a(ib+i))
+          c(jb+j) = (2.0*a(ia+i)-a(ib+i)) - (ssin60*b(ib+i))
+          c(jc+j) = (2.0*a(ia+i)-a(ib+i)) + (ssin60*b(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 4
+
+70  CONTINUE
+    ia = 1
+    ib = ia + (2*m-la)*inc1
+    ic = ib + 2*m*inc1
+    id = ib
+    ja = 1
+    jb = ja + jink
+    jc = jb + jink
+    jd = jc + jink
+
+    IF (la==m) GO TO 90
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (a(ia+i)+a(ic+i)) + a(ib+i)
+          c(jb+j) = (a(ia+i)-a(ic+i)) - b(ib+i)
+          c(jc+j) = (a(ia+i)+a(ic+i)) - a(ib+i)
+          c(jd+j) = (a(ia+i)-a(ic+i)) + b(ib+i)
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ia = ia + iink
+    iink = 2*iink
+    ib = ib + iink
+    ic = ic - iink
+    id = id - iink
+    jbase = jbase + jump
+    jump = 2*jump + jink
+    IF (ib==ic) GO TO 80
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       ibase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+             c(ja+j) = (a(ia+i)+a(ic+i)) + (a(ib+i)+a(id+i))
+             d(ja+j) = (b(ia+i)-b(ic+i)) + (b(ib+i)-b(id+i))
+             c(jc+j) = c2*((a(ia+i)+a(ic+i))-(a(ib+i)+a(id+i))) - s2*((b(ia+ &
+                  &            i)-b(ic+i))-(b(ib+i)-b(id+i)))
+             d(jc+j) = s2*((a(ia+i)+a(ic+i))-(a(ib+i)+a(id+i))) + c2*((b(ia+ &
+                  &            i)-b(ic+i))-(b(ib+i)-b(id+i)))
+             c(jb+j) = c1*((a(ia+i)-a(ic+i))-(b(ib+i)+b(id+i))) - s1*((b(ia+ &
+                  &            i)+b(ic+i))+(a(ib+i)-a(id+i)))
+             d(jb+j) = s1*((a(ia+i)-a(ic+i))-(b(ib+i)+b(id+i))) + c1*((b(ia+ &
+                  &            i)+b(ic+i))+(a(ib+i)-a(id+i)))
+             c(jd+j) = c3*((a(ia+i)-a(ic+i))+(b(ib+i)+b(id+i))) - s3*((b(ia+ &
+                  &            i)+b(ic+i))-(a(ib+i)-a(id+i)))
+             d(jd+j) = s3*((a(ia+i)-a(ic+i))+(b(ib+i)+b(id+i))) + c3*((b(ia+ &
+                  &            i)+b(ic+i))-(a(ib+i)-a(id+i)))
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ia = ia + iink
+       ib = ib + iink
+       ic = ic - iink
+       id = id - iink
+       jbase = jbase + jump
+    END DO
+    IF (ib>ic) GO TO 170
+80  CONTINUE
+    ibase = 0
+    sin45 = SQRT(0.5)
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + a(ib+i)
+          c(jb+j) = sin45*((a(ia+i)-a(ib+i))-(b(ia+i)+b(ib+i)))
+          c(jc+j) = b(ib+i) - b(ia+i)
+          c(jd+j) = -sin45*((a(ia+i)-a(ib+i))+(b(ia+i)+b(ib+i)))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+90  CONTINUE
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = 2.0*((a(ia+i)+a(ic+i))+a(ib+i))
+          c(jb+j) = 2.0*((a(ia+i)-a(ic+i))-b(ib+i))
+          c(jc+j) = 2.0*((a(ia+i)+a(ic+i))-a(ib+i))
+          c(jd+j) = 2.0*((a(ia+i)-a(ic+i))+b(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    ! Coding for factor 5
+
+    GO TO 170
+100 CONTINUE
+    ia = 1
+    ib = ia + (2*m-la)*inc1
+    ic = ib + 2*m*inc1
+    id = ic
+    ie = ib
+    ja = 1
+    jb = ja + jink
+    jc = jb + jink
+    jd = jc + jink
+    je = jd + jink
+
+    IF (la==m) GO TO 120
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ia+i) + (a(ib+i)+a(ic+i))
+          c(jb+j) = ((a(ia+i)-0.25*(a(ib+i)+a(ic+i)))+qrt5*(a(ib+i)-a(ic+i))) - &
+               &          (sin72*b(ib+i)+sin36*b(ic+i))
+          c(jc+j) = ((a(ia+i)-0.25*(a(ib+i)+a(ic+i)))-qrt5*(a(ib+i)-a(ic+i))) - &
+               &          (sin36*b(ib+i)-sin72*b(ic+i))
+          c(jd+j) = ((a(ia+i)-0.25*(a(ib+i)+a(ic+i)))-qrt5*(a(ib+i)-a(ic+i))) + &
+               &          (sin36*b(ib+i)-sin72*b(ic+i))
+          c(je+j) = ((a(ia+i)-0.25*(a(ib+i)+a(ic+i)))+qrt5*(a(ib+i)-a(ic+i))) + &
+               &          (sin72*b(ib+i)+sin36*b(ic+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ia = ia + iink
+    iink = 2*iink
+    ib = ib + iink
+    ic = ic + iink
+    id = id - iink
+    ie = ie - iink
+    jbase = jbase + jump
+    jump = 2*jump + jink
+    IF (ib==id) GO TO 110
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       ke = kd + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       c4 = trigs(ke+1)
+       s4 = trigs(ke+2)
+       ibase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+
+             a10(ijk) = (a(ia+i)-0.25*((a(ib+i)+a(ie+i))+(a(ic+i)+a(id+i)))) + &
+                  &            qrt5*((a(ib+i)+a(ie+i))-(a(ic+i)+a(id+i)))
+             a20(ijk) = (a(ia+i)-0.25*((a(ib+i)+a(ie+i))+(a(ic+i)+a(id+i)))) - &
+                  &            qrt5*((a(ib+i)+a(ie+i))-(a(ic+i)+a(id+i)))
+             b10(ijk) = (b(ia+i)-0.25*((b(ib+i)-b(ie+i))+(b(ic+i)-b(id+i)))) + &
+                  &            qrt5*((b(ib+i)-b(ie+i))-(b(ic+i)-b(id+i)))
+             b20(ijk) = (b(ia+i)-0.25*((b(ib+i)-b(ie+i))+(b(ic+i)-b(id+i)))) - &
+                  &            qrt5*((b(ib+i)-b(ie+i))-(b(ic+i)-b(id+i)))
+             a11(ijk) = sin72*(b(ib+i)+b(ie+i)) + sin36*(b(ic+i)+b(id+i))
+             a21(ijk) = sin36*(b(ib+i)+b(ie+i)) - sin72*(b(ic+i)+b(id+i))
+             b11(ijk) = sin72*(a(ib+i)-a(ie+i)) + sin36*(a(ic+i)-a(id+i))
+             b21(ijk) = sin36*(a(ib+i)-a(ie+i)) - sin72*(a(ic+i)-a(id+i))
+
+             c(ja+j) = a(ia+i) + ((a(ib+i)+a(ie+i))+(a(ic+i)+a(id+i)))
+             d(ja+j) = b(ia+i) + ((b(ib+i)-b(ie+i))+(b(ic+i)-b(id+i)))
+             c(jb+j) = c1*(a10(ijk)-a11(ijk)) - s1*(b10(ijk)+b11(ijk))
+             d(jb+j) = s1*(a10(ijk)-a11(ijk)) + c1*(b10(ijk)+b11(ijk))
+             c(je+j) = c4*(a10(ijk)+a11(ijk)) - s4*(b10(ijk)-b11(ijk))
+             d(je+j) = s4*(a10(ijk)+a11(ijk)) + c4*(b10(ijk)-b11(ijk))
+             c(jc+j) = c2*(a20(ijk)-a21(ijk)) - s2*(b20(ijk)+b21(ijk))
+             d(jc+j) = s2*(a20(ijk)-a21(ijk)) + c2*(b20(ijk)+b21(ijk))
+             c(jd+j) = c3*(a20(ijk)+a21(ijk)) - s3*(b20(ijk)-b21(ijk))
+             d(jd+j) = s3*(a20(ijk)+a21(ijk)) + c3*(b20(ijk)-b21(ijk))
+
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ia = ia + iink
+       ib = ib + iink
+       ic = ic + iink
+       id = id - iink
+       ie = ie - iink
+       jbase = jbase + jump
+    END DO
+    IF (ib>id) GO TO 170
+110 CONTINUE
+    ibase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (a(ia+i)+a(ib+i)) + a(ic+i)
+          c(jb+j) = (qrt5*(a(ia+i)-a(ib+i))+(0.25*(a(ia+i)+a(ib+i))-a(ic+i))) - &
+               &          (sin36*b(ia+i)+sin72*b(ib+i))
+          c(je+j) = -(qrt5*(a(ia+i)-a(ib+i))+(0.25*(a(ia+i)+a(ib+i))-a(ic+i))) - &
+               &          (sin36*b(ia+i)+sin72*b(ib+i))
+          c(jc+j) = (qrt5*(a(ia+i)-a(ib+i))-(0.25*(a(ia+i)+a(ib+i))-a(ic+i))) - &
+               &          (sin72*b(ia+i)-sin36*b(ib+i))
+          c(jd+j) = -(qrt5*(a(ia+i)-a(ib+i))-(0.25*(a(ia+i)+a(ib+i))-a(ic+i))) - &
+               &          (sin72*b(ia+i)-sin36*b(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+120 CONTINUE
+    qqrt5 = 2.0*qrt5
+    ssin36 = 2.0*sin36
+    ssin72 = 2.0*sin72
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = 2.0*(a(ia+i)+(a(ib+i)+a(ic+i)))
+          c(jb+j) = (2.0*(a(ia+i)-0.25*(a(ib+i)+a(ic+i)))+qqrt5*(a(ib+i)-a(ic+ &
+               &          i))) - (ssin72*b(ib+i)+ssin36*b(ic+i))
+          c(jc+j) = (2.0*(a(ia+i)-0.25*(a(ib+i)+a(ic+i)))-qqrt5*(a(ib+i)-a(ic+ &
+               &          i))) - (ssin36*b(ib+i)-ssin72*b(ic+i))
+          c(jd+j) = (2.0*(a(ia+i)-0.25*(a(ib+i)+a(ic+i)))-qqrt5*(a(ib+i)-a(ic+ &
+               &          i))) + (ssin36*b(ib+i)-ssin72*b(ic+i))
+          c(je+j) = (2.0*(a(ia+i)-0.25*(a(ib+i)+a(ic+i)))+qqrt5*(a(ib+i)-a(ic+ &
+               &          i))) + (ssin72*b(ib+i)+ssin36*b(ic+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 6
+
+130 CONTINUE
+    ia = 1
+    ib = ia + (2*m-la)*inc1
+    ic = ib + 2*m*inc1
+    id = ic + 2*m*inc1
+    ie = ic
+    if = ib
+    ja = 1
+    jb = ja + jink
+    jc = jb + jink
+    jd = jc + jink
+    je = jd + jink
+    jf = je + jink
+
+    IF (la==m) GO TO 150
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (a(ia+i)+a(id+i)) + (a(ib+i)+a(ic+i))
+          c(jd+j) = (a(ia+i)-a(id+i)) - (a(ib+i)-a(ic+i))
+          c(jb+j) = ((a(ia+i)-a(id+i))+0.5*(a(ib+i)-a(ic+i))) - (sin60*(b(ib+ &
+               &          i)+b(ic+i)))
+          c(jf+j) = ((a(ia+i)-a(id+i))+0.5*(a(ib+i)-a(ic+i))) + (sin60*(b(ib+ &
+               &          i)+b(ic+i)))
+          c(jc+j) = ((a(ia+i)+a(id+i))-0.5*(a(ib+i)+a(ic+i))) - (sin60*(b(ib+ &
+               &          i)-b(ic+i)))
+          c(je+j) = ((a(ia+i)+a(id+i))-0.5*(a(ib+i)+a(ic+i))) + (sin60*(b(ib+ &
+               &          i)-b(ic+i)))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    ia = ia + iink
+    iink = 2*iink
+    ib = ib + iink
+    ic = ic + iink
+    id = id - iink
+    ie = ie - iink
+    if = if - iink
+    jbase = jbase + jump
+    jump = 2*jump + jink
+    IF (ic==id) GO TO 140
+    DO k = la, kstop, la
+       kb = k + k
+       kc = kb + kb
+       kd = kc + kb
+       ke = kd + kb
+       kf = ke + kb
+       c1 = trigs(kb+1)
+       s1 = trigs(kb+2)
+       c2 = trigs(kc+1)
+       s2 = trigs(kc+2)
+       c3 = trigs(kd+1)
+       s3 = trigs(kd+2)
+       c4 = trigs(ke+1)
+       s4 = trigs(ke+2)
+       c5 = trigs(kf+1)
+       s5 = trigs(kf+2)
+       ibase = 0
+       DO l = 1, la
+          i = ibase
+          j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+          DO ijk = 1, lot
+
+             a11(ijk) = (a(ie+i)+a(ib+i)) + (a(ic+i)+a(if+i))
+             a20(ijk) = (a(ia+i)+a(id+i)) - 0.5*a11(ijk)
+             a21(ijk) = sin60*((a(ie+i)+a(ib+i))-(a(ic+i)+a(if+i)))
+             b11(ijk) = (b(ib+i)-b(ie+i)) + (b(ic+i)-b(if+i))
+             b20(ijk) = (b(ia+i)-b(id+i)) - 0.5*b11(ijk)
+             b21(ijk) = sin60*((b(ib+i)-b(ie+i))-(b(ic+i)-b(if+i)))
+
+             c(ja+j) = (a(ia+i)+a(id+i)) + a11(ijk)
+             d(ja+j) = (b(ia+i)-b(id+i)) + b11(ijk)
+             c(jc+j) = c2*(a20(ijk)-b21(ijk)) - s2*(b20(ijk)+a21(ijk))
+             d(jc+j) = s2*(a20(ijk)-b21(ijk)) + c2*(b20(ijk)+a21(ijk))
+             c(je+j) = c4*(a20(ijk)+b21(ijk)) - s4*(b20(ijk)-a21(ijk))
+             d(je+j) = s4*(a20(ijk)+b21(ijk)) + c4*(b20(ijk)-a21(ijk))
+
+             a11(ijk) = (a(ie+i)-a(ib+i)) + (a(ic+i)-a(if+i))
+             b11(ijk) = (b(ie+i)+b(ib+i)) - (b(ic+i)+b(if+i))
+             a20(ijk) = (a(ia+i)-a(id+i)) - 0.5*a11(ijk)
+             a21(ijk) = sin60*((a(ie+i)-a(ib+i))-(a(ic+i)-a(if+i)))
+             b20(ijk) = (b(ia+i)+b(id+i)) + 0.5*b11(ijk)
+             b21(ijk) = sin60*((b(ie+i)+b(ib+i))+(b(ic+i)+b(if+i)))
+
+             c(jd+j) = c3*((a(ia+i)-a(id+i))+a11(ijk)) - s3*((b(ia+i)+b(id+ &
+                  &            i))-b11(ijk))
+             d(jd+j) = s3*((a(ia+i)-a(id+i))+a11(ijk)) + c3*((b(ia+i)+b(id+ &
+                  &            i))-b11(ijk))
+             c(jb+j) = c1*(a20(ijk)-b21(ijk)) - s1*(b20(ijk)-a21(ijk))
+             d(jb+j) = s1*(a20(ijk)-b21(ijk)) + c1*(b20(ijk)-a21(ijk))
+             c(jf+j) = c5*(a20(ijk)+b21(ijk)) - s5*(b20(ijk)+a21(ijk))
+             d(jf+j) = s5*(a20(ijk)+b21(ijk)) + c5*(b20(ijk)+a21(ijk))
+
+             i = i + inc3
+             j = j + inc4
+          END DO
+          ibase = ibase + inc1
+          jbase = jbase + inc2
+       END DO
+       ia = ia + iink
+       ib = ib + iink
+       ic = ic + iink
+       id = id - iink
+       ie = ie - iink
+       if = if - iink
+       jbase = jbase + jump
+    END DO
+    IF (ic>id) GO TO 170
+140 CONTINUE
+    ibase = 0
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = a(ib+i) + (a(ia+i)+a(ic+i))
+          c(jd+j) = b(ib+i) - (b(ia+i)+b(ic+i))
+          c(jb+j) = (sin60*(a(ia+i)-a(ic+i))) - (0.5*(b(ia+i)+b(ic+i))+b(ib+i))
+          c(jf+j) = -(sin60*(a(ia+i)-a(ic+i))) - (0.5*(b(ia+i)+b(ic+i))+b(ib+i))
+          c(jc+j) = sin60*(b(ic+i)-b(ia+i)) + (0.5*(a(ia+i)+a(ic+i))-a(ib+i))
+          c(je+j) = sin60*(b(ic+i)-b(ia+i)) - (0.5*(a(ia+i)+a(ic+i))-a(ib+i))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    GO TO 170
+150 CONTINUE
+    ssin60 = 2.0*sin60
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = (2.0*(a(ia+i)+a(id+i))) + (2.0*(a(ib+i)+a(ic+i)))
+          c(jd+j) = (2.0*(a(ia+i)-a(id+i))) - (2.0*(a(ib+i)-a(ic+i)))
+          c(jb+j) = (2.0*(a(ia+i)-a(id+i))+(a(ib+i)-a(ic+i))) - (ssin60*(b(ib+ &
+               &          i)+b(ic+i)))
+          c(jf+j) = (2.0*(a(ia+i)-a(id+i))+(a(ib+i)-a(ic+i))) + (ssin60*(b(ib+ &
+               &          i)+b(ic+i)))
+          c(jc+j) = (2.0*(a(ia+i)+a(id+i))-(a(ib+i)+a(ic+i))) - (ssin60*(b(ib+ &
+               &          i)-b(ic+i)))
+          c(je+j) = (2.0*(a(ia+i)+a(id+i))-(a(ib+i)+a(ic+i))) + (ssin60*(b(ib+ &
+               &          i)-b(ic+i)))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+    GO TO 170
+
+    ! Coding for factor 8
+
+160 CONTINUE
+    ibad = 3
+    IF (la/=m) GO TO 180
+    ia = 1
+    ib = ia + la*inc1
+    ic = ib + 2*la*inc1
+    id = ic + 2*la*inc1
+    ie = id + 2*la*inc1
+    ja = 1
+    jb = ja + jink
+    jc = jb + jink
+    jd = jc + jink
+    je = jd + jink
+    jf = je + jink
+    jg = jf + jink
+    jh = jg + jink
+    ssin45 = SQRT(2.0)
+
+    DO l = 1, la
+       i = ibase
+       j = jbase
+!DIR$ IVDEP
+!CDIR NODEP
+!OCL NOVREC
+       DO ijk = 1, lot
+          c(ja+j) = 2.0*(((a(ia+i)+a(ie+i))+a(ic+i))+(a(ib+i)+a(id+i)))
+          c(je+j) = 2.0*(((a(ia+i)+a(ie+i))+a(ic+i))-(a(ib+i)+a(id+i)))
+          c(jc+j) = 2.0*(((a(ia+i)+a(ie+i))-a(ic+i))-(b(ib+i)-b(id+i)))
+          c(jg+j) = 2.0*(((a(ia+i)+a(ie+i))-a(ic+i))+(b(ib+i)-b(id+i)))
+          c(jb+j) = 2.0*((a(ia+i)-a(ie+i))-b(ic+i)) + ssin45*((a(ib+i)-a(id+ &
+               &          i))-(b(ib+i)+b(id+i)))
+          c(jf+j) = 2.0*((a(ia+i)-a(ie+i))-b(ic+i)) - ssin45*((a(ib+i)-a(id+ &
+               &          i))-(b(ib+i)+b(id+i)))
+          c(jd+j) = 2.0*((a(ia+i)-a(ie+i))+b(ic+i)) - ssin45*((a(ib+i)-a(id+ &
+               &          i))+(b(ib+i)+b(id+i)))
+          c(jh+j) = 2.0*((a(ia+i)-a(ie+i))+b(ic+i)) + ssin45*((a(ib+i)-a(id+ &
+               &          i))+(b(ib+i)+b(id+i)))
+          i = i + inc3
+          j = j + inc4
+       END DO
+       ibase = ibase + inc1
+       jbase = jbase + inc2
+    END DO
+
+    ! Return
+
+170 CONTINUE
+    ibad = 0
+180 CONTINUE
+    ierr = ibad
+    RETURN
+  END SUBROUTINE rpassm
+
+  SUBROUTINE set99(trigs,ifax,n)
+
+    ! Description:
+    !
+    ! Computes factors of n & trigonometric functins required by fft99 & fft991cy
+    !
+    ! Method:
+    !
+    ! Dimension trigs(n),ifax(1),jfax(10),lfax(7)
+    !
+    ! subroutine 'set99' - computes factors of n & trigonometric
+    ! functins required by fft99 & fft991cy
+
+
+    USE control_parameters
+    USE pegrid
+
+    IMPLICIT NONE
+
+    !  Scalar arguments 
+    INTEGER :: n
+
+    !  Array arguments 
+    REAL :: trigs(*)
+    INTEGER :: ifax(*)
+
+    !  Local scalars: 
+    REAL :: angle, del
+    INTEGER :: i, ifac, ixxx, k, l, nfax, nhl, nil, nu
+
+    !  Local arrays: 
+    INTEGER :: jfax(10), lfax(7)
+
+    !  Intrinsic functions 
+    INTRINSIC ASIN, COS, MOD, REAL, SIN
+
+    !  Data statements 
+    DATA lfax/6, 8, 5, 4, 3, 2, 1/
+
+
+    !  Executable statements 
+    ixxx = 1
+
+    del = 4.0*ASIN(1.0)/REAL(n)
+    nil = 0
+    nhl = (n/2) - 1
+    DO k = nil, nhl
+       angle = REAL(k)*del
+       trigs(2*k+1) = COS(angle)
+       trigs(2*k+2) = SIN(angle)
+    END DO
+
+    ! Find factors of n (8,6,5,4,3,2; only one 8 allowed)
+    ! Look for sixes first, store factors in descending order
+    nu = n
+    ifac = 6
+    k = 0
+    l = 1
+10  CONTINUE
+    IF (MOD(nu,ifac)/=0) GO TO 30
+    k = k + 1
+    jfax(k) = ifac
+    IF (ifac/=8) GO TO 20
+    IF (k==1) GO TO 20
+    jfax(1) = 8
+    jfax(k) = 6
+20  CONTINUE
+    nu = nu/ifac
+    IF (nu==1) GO TO 40
+    IF (ifac/=8) GO TO 10
+30  CONTINUE
+    l = l + 1
+    ifac = lfax(l)
+    IF (ifac>1) GO TO 10
+
+!    WRITE (nout,'(A,I4,A)') ' n =',n,' - Contains illegal factors'
+    message_string = 'number of gridpoints along x or/and y ' // &
+                     'contain illegal  factors' //               &
+                     '&only factors 8,6,5,4,3,2 are allowed' 
+    CALL message( 'temperton_fft', 'PA0311', 1, 2, 0, 6, 0 )
+
+    RETURN
+
+    ! Now reverse order of factors
+40  CONTINUE
+    nfax = k
+    ifax(1) = nfax
+    DO i = 1, nfax
+       ifax(nfax+2-i) = jfax(i)
+    END DO
+    ifax(10) = n
+    RETURN
+  END SUBROUTINE set99
+
+ END MODULE temperton_fft
Index: palm/tags/release-3.7/SOURCE/time_integration.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/time_integration.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/time_integration.f90	(revision 393)
@@ -0,0 +1,546 @@
+ SUBROUTINE time_integration
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 388 2009-09-23 09:40:33Z raasch
+! Using prho instead of rho in diffusvities.
+! Coupling with independent precursor runs.
+! Bugfix: output of particle time series only if particle advection is switched
+!         on
+!
+! 151 2008-03-07 13:42:18Z raasch
+! inflow turbulence is imposed by calling new routine inflow_turbulence
+!
+! 108 2007-08-24 15:10:38Z letzel
+! Call of new routine surface_coupler,
+! presure solver is called after the first Runge-Kutta substep instead of the
+! last in case that call_psolver_at_all_substeps = .F.; for this case, the
+! random perturbation has to be added to the velocity fields also after the
+! first substep
+!
+! 97 2007-06-21 08:23:15Z raasch
+! diffusivities is called with argument rho in case of ocean runs,
+! new argument pt_/prho_reference in calls of diffusivities,
+! ghostpoint exchange for salinity and density
+!
+! 87 2007-05-22 15:46:47Z raasch
+! var_hom renamed pr_palm
+!
+! 75 2007-03-22 09:54:05Z raasch
+! Move call of user_actions( 'after_integration' ) below increment of times
+! and counters,
+! calls of prognostic_equations_.. changed to .._noopt, .._cache, and
+! .._vector, these calls are now controlled by switch loop_optimization,
+! uxrp, vynp eliminated, 2nd+3rd argument removed from exchange horiz,
+! moisture renamed humidity
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.8  2006/08/22 14:16:05  raasch
+! Disturbances are imposed only for the last Runge-Kutta-substep
+!
+! Revision 1.2  2004/04/30 13:03:40  raasch
+! decalpha-specific warning removed, routine name changed to time_integration,
+! particle advection is carried out only once during the intermediate steps,
+! impulse_advec renamed momentum_advec
+!
+! Revision 1.1  1997/08/11 06:19:04  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Integration in time of the model equations, statistical analysis and graphic
+! output
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE control_parameters
+    USE cpulog
+#if defined( __dvrp_graphics )
+    USE DVRP
+#endif
+    USE grid_variables
+    USE indices
+    USE interaction_droplets_ptq_mod
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+    USE prognostic_equations_mod
+    USE statistics
+    USE user_actions_mod
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER ::  i, j, k
+
+!
+!-- At the beginning of a simulation determine the time step as well as
+!-- determine and print out the run control parameters
+    IF ( simulated_time == 0.0 )  CALL timestep
+    CALL run_control
+
+!
+!-- Data exchange between coupled models in case that a call has been omitted 
+!-- at the end of the previous run of a job chain.
+    IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled )  THEN
+!
+!--    In case of model termination initiated by the local model the coupler 
+!--    must not be called because this would again cause an MPI hang. 
+       DO WHILE ( time_coupling >= dt_coupling .AND. terminate_coupled == 0 )
+          CALL surface_coupler
+          time_coupling = time_coupling - dt_coupling
+       ENDDO
+       IF (time_coupling == 0.0 .AND. time_since_reference_point < dt_coupling)&
+       THEN
+          time_coupling = time_since_reference_point
+       ENDIF
+    ENDIF
+
+
+#if defined( __dvrp_graphics )
+!
+!-- Time measurement with dvrp software  
+    CALL DVRP_LOG_EVENT( 2, current_timestep_number )
+#endif
+
+!
+!-- Start of the time loop
+    DO  WHILE ( simulated_time < end_time  .AND.  .NOT. stop_dt  .AND. &
+                .NOT. terminate_run )
+
+       CALL cpu_log( log_point_s(10), 'timesteps', 'start' )
+
+!
+!--    Determine size of next time step
+       IF ( simulated_time /= 0.0 )  CALL timestep
+!
+!--    Execute the user-defined actions
+       CALL user_actions( 'before_timestep' )
+
+!
+!--    Start of intermediate step loop
+       intermediate_timestep_count = 0
+       DO  WHILE ( intermediate_timestep_count < &
+                   intermediate_timestep_count_max )
+
+          intermediate_timestep_count = intermediate_timestep_count + 1
+
+!
+!--       Set the steering factors for the prognostic equations which depend
+!--       on the timestep scheme
+          CALL timestep_scheme_steering
+
+!
+!--       Solve the prognostic equations. A fast cache optimized version with
+!--       only one single loop is used in case of Piascek-Williams advection
+!--       scheme. NEC vector machines use a different version, because
+!--       in the other versions a good vectorization is prohibited due to
+!--       inlining problems.
+          IF ( loop_optimization == 'vector' )  THEN
+             CALL prognostic_equations_vector
+          ELSE
+             IF ( momentum_advec == 'ups-scheme'  .OR.  &
+                  scalar_advec == 'ups-scheme'   .OR.  &
+                  scalar_advec == 'bc-scheme' )        &
+             THEN
+                CALL prognostic_equations_noopt
+             ELSE
+                CALL prognostic_equations_cache
+             ENDIF
+          ENDIF
+
+!
+!--       Particle advection (only once during intermediate steps, because
+!--       it uses an Euler-step)
+          IF ( particle_advection  .AND.                         &
+               simulated_time >= particle_advection_start  .AND. &
+               intermediate_timestep_count == 1 )  THEN
+             CALL advec_particles
+             first_call_advec_particles = .FALSE.
+          ENDIF
+
+!
+!--       Interaction of droplets with temperature and specific humidity.
+!--       Droplet condensation and evaporation is calculated within
+!--       advec_particles.
+          IF ( cloud_droplets  .AND.  &
+               intermediate_timestep_count == intermediate_timestep_count_max )&
+          THEN
+             CALL interaction_droplets_ptq
+          ENDIF
+
+!
+!--       Exchange of ghost points (lateral boundary conditions)
+          CALL cpu_log( log_point(26), 'exchange-horiz-progn', 'start' )
+          CALL exchange_horiz( u_p )
+          CALL exchange_horiz( v_p )
+          CALL exchange_horiz( w_p )
+          CALL exchange_horiz( pt_p )
+          IF ( .NOT. constant_diffusion       )  CALL exchange_horiz( e_p )
+          IF ( ocean )  THEN
+             CALL exchange_horiz( sa_p )
+             CALL exchange_horiz( rho )
+          ENDIF
+          IF ( humidity  .OR.  passive_scalar )  CALL exchange_horiz( q_p )
+          IF ( cloud_droplets )  THEN
+             CALL exchange_horiz( ql )
+             CALL exchange_horiz( ql_c )
+             CALL exchange_horiz( ql_v )
+             CALL exchange_horiz( ql_vp )
+          ENDIF
+
+          CALL cpu_log( log_point(26), 'exchange-horiz-progn', 'stop' )
+
+!
+!--       Apply time filter in case of leap-frog timestep
+          IF ( tsc(2) == 2.0  .AND.  timestep_scheme(1:8) == 'leapfrog' )  THEN
+             CALL asselin_filter
+          ENDIF
+
+!
+!--       Boundary conditions for the prognostic quantities (except of the
+!--       velocities at the outflow in case of a non-cyclic lateral wall)
+          CALL boundary_conds( 'main' )
+
+!
+!--       Swap the time levels in preparation for the next time step.
+          CALL swap_timelevel
+
+!
+!--       Temperature offset must be imposed at cyclic boundaries in x-direction
+!--       when a sloping surface is used
+          IF ( sloping_surface )  THEN
+             IF ( nxl ==  0 )  pt(:,:,nxl-1) = pt(:,:,nxl-1) - pt_slope_offset
+             IF ( nxr == nx )  pt(:,:,nxr+1) = pt(:,:,nxr+1) + pt_slope_offset
+          ENDIF
+
+!
+!--       Impose a turbulent inflow using the recycling method
+          IF ( turbulent_inflow )  CALL  inflow_turbulence
+
+!
+!--       Impose a random perturbation on the horizontal velocity field
+          IF ( create_disturbances  .AND.                                      &
+               ( call_psolver_at_all_substeps  .AND.                           &
+               intermediate_timestep_count == intermediate_timestep_count_max )&
+          .OR. ( .NOT. call_psolver_at_all_substeps  .AND.                     &
+               intermediate_timestep_count == 1 ) )                            &
+          THEN
+             time_disturb = time_disturb + dt_3d
+             IF ( time_disturb >= dt_disturb )  THEN
+                IF ( hom(nzb+5,1,pr_palm,0) < disturbance_energy_limit )  THEN
+                   CALL disturb_field( nzb_u_inner, tend, u )
+                   CALL disturb_field( nzb_v_inner, tend, v )
+                ELSEIF ( bc_lr /= 'cyclic'  .OR.  bc_ns /= 'cyclic' )  THEN
+!
+!--                Runs with a non-cyclic lateral wall need perturbations
+!--                near the inflow throughout the whole simulation
+                   dist_range = 1
+                   CALL disturb_field( nzb_u_inner, tend, u )
+                   CALL disturb_field( nzb_v_inner, tend, v )
+                   dist_range = 0
+                ENDIF
+                time_disturb = time_disturb - dt_disturb
+             ENDIF
+          ENDIF
+
+!
+!--       Reduce the velocity divergence via the equation for perturbation
+!--       pressure.
+          IF ( intermediate_timestep_count == 1  .OR. &
+                call_psolver_at_all_substeps )  THEN
+             CALL pres
+          ENDIF
+
+!
+!--       If required, compute virtuell potential temperature
+          IF ( humidity ) CALL compute_vpt
+
+!
+!--       If required, compute liquid water content
+          IF ( cloud_physics ) CALL calc_liquid_water_content
+
+!
+!--       Compute the diffusion quantities
+          IF ( .NOT. constant_diffusion )  THEN
+
+!
+!--          First the vertical fluxes in the Prandtl layer are being computed
+             IF ( prandtl_layer )  THEN
+                CALL cpu_log( log_point(19), 'prandtl_fluxes', 'start' )
+                CALL prandtl_fluxes
+                CALL cpu_log( log_point(19), 'prandtl_fluxes', 'stop' )
+             ENDIF
+
+!
+!--          Compute the diffusion coefficients
+             CALL cpu_log( log_point(17), 'diffusivities', 'start' )
+             IF ( .NOT. humidity ) THEN
+                IF ( ocean )  THEN
+                   CALL diffusivities( prho, prho_reference )
+                ELSE
+                   CALL diffusivities( pt, pt_reference )
+                ENDIF
+             ELSE
+                CALL diffusivities( vpt, pt_reference )
+             ENDIF
+             CALL cpu_log( log_point(17), 'diffusivities', 'stop' )
+
+          ENDIF
+
+       ENDDO   ! Intermediate step loop
+
+!
+!--    Increase simulation time and output times
+       current_timestep_number    = current_timestep_number + 1
+       simulated_time             = simulated_time   + dt_3d
+       simulated_time_chr         = time_to_string( simulated_time )
+       time_since_reference_point = simulated_time - coupling_start_time
+
+       IF ( simulated_time >= skip_time_data_output_av )  THEN
+          time_do_av         = time_do_av       + dt_3d
+       ENDIF
+       IF ( simulated_time >= skip_time_do2d_xy )  THEN
+          time_do2d_xy       = time_do2d_xy     + dt_3d
+       ENDIF
+       IF ( simulated_time >= skip_time_do2d_xz )  THEN
+          time_do2d_xz       = time_do2d_xz     + dt_3d
+       ENDIF
+       IF ( simulated_time >= skip_time_do2d_yz )  THEN
+          time_do2d_yz       = time_do2d_yz     + dt_3d
+       ENDIF
+       IF ( simulated_time >= skip_time_do3d    )  THEN
+          time_do3d          = time_do3d        + dt_3d
+       ENDIF
+       time_dvrp          = time_dvrp        + dt_3d
+       IF ( simulated_time >= skip_time_dosp )  THEN
+          time_dosp       = time_dosp        + dt_3d
+       ENDIF
+       time_dots          = time_dots        + dt_3d
+       IF ( .NOT. first_call_advec_particles )  THEN
+          time_dopts      = time_dopts       + dt_3d
+       ENDIF
+       IF ( simulated_time >= skip_time_dopr )  THEN
+          time_dopr       = time_dopr        + dt_3d
+       ENDIF
+       time_dopr_listing          = time_dopr_listing        + dt_3d
+       time_run_control   = time_run_control + dt_3d
+
+!
+!--    Data exchange between coupled models
+       IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled )  THEN
+          time_coupling = time_coupling + dt_3d
+
+!
+!--       In case of model termination initiated by the local model 
+!--       (terminate_coupled > 0), the coupler must be skipped because it would 
+!--       cause an MPI intercomminucation hang.
+!--       If necessary, the coupler will be called at the beginning of the 
+!--       next restart run.
+          DO WHILE ( time_coupling >= dt_coupling .AND. terminate_coupled == 0 )
+             CALL surface_coupler
+             time_coupling = time_coupling - dt_coupling
+          ENDDO
+       ENDIF
+
+!
+!--    Execute user-defined actions
+       CALL user_actions( 'after_integration' )
+
+!
+!--    If Galilei transformation is used, determine the distance that the
+!--    model has moved so far
+       IF ( galilei_transformation )  THEN
+          advected_distance_x = advected_distance_x + u_gtrans * dt_3d
+          advected_distance_y = advected_distance_y + v_gtrans * dt_3d
+       ENDIF
+
+!
+!--    Check, if restart is necessary (because cpu-time is expiring or
+!--    because it is forced by user) and set stop flag
+!--    This call is skipped if the remote model has already initiated a restart.
+       IF ( .NOT. terminate_run )  CALL check_for_restart
+
+!
+!--    Carry out statistical analysis and output at the requested output times.
+!--    The MOD function is used for calculating the output time counters (like
+!--    time_dopr) in order to regard a possible decrease of the output time
+!--    interval in case of restart runs
+
+!
+!--    Set a flag indicating that so far no statistics have been created
+!--    for this time step
+       flow_statistics_called = .FALSE.
+
+!
+!--    If required, call flow_statistics for averaging in time
+       IF ( averaging_interval_pr /= 0.0  .AND.  &
+            ( dt_dopr - time_dopr ) <= averaging_interval_pr  .AND.  &
+            simulated_time >= skip_time_dopr )  THEN
+          time_dopr_av = time_dopr_av + dt_3d
+          IF ( time_dopr_av >= dt_averaging_input_pr )  THEN
+             do_sum = .TRUE.
+             time_dopr_av = MOD( time_dopr_av, &
+                                    MAX( dt_averaging_input_pr, dt_3d ) )
+          ENDIF
+       ENDIF
+       IF ( do_sum )  CALL flow_statistics
+
+!
+!--    Sum-up 3d-arrays for later output of time-averaged data
+       IF ( averaging_interval /= 0.0  .AND.                                &
+            ( dt_data_output_av - time_do_av ) <= averaging_interval  .AND. &
+            simulated_time >= skip_time_data_output_av )                    &
+       THEN
+          time_do_sla = time_do_sla + dt_3d
+          IF ( time_do_sla >= dt_averaging_input )  THEN
+             CALL sum_up_3d_data
+             average_count_3d = average_count_3d + 1
+             time_do_sla = MOD( time_do_sla, MAX( dt_averaging_input, dt_3d ) )
+          ENDIF
+       ENDIF
+
+!
+!--    Calculate spectra for time averaging
+       IF ( averaging_interval_sp /= 0.0  .AND.  &
+            ( dt_dosp - time_dosp ) <= averaging_interval_sp  .AND.  &
+            simulated_time >= skip_time_dosp )  THEN
+          time_dosp_av = time_dosp_av + dt_3d
+          IF ( time_dosp_av >= dt_averaging_input_pr )  THEN
+             CALL calc_spectra
+             time_dosp_av = MOD( time_dosp_av, &
+                                 MAX( dt_averaging_input_pr, dt_3d ) )
+          ENDIF
+       ENDIF
+
+!
+!--    Computation and output of run control parameters.
+!--    This is also done whenever the time step has changed or perturbations
+!--    have been imposed
+       IF ( time_run_control >= dt_run_control  .OR.                     &
+            ( dt_changed  .AND.  timestep_scheme(1:5) /= 'runge' )  .OR. &
+            disturbance_created )                                        &
+       THEN
+          CALL run_control
+          IF ( time_run_control >= dt_run_control )  THEN
+             time_run_control = MOD( time_run_control, &
+                                     MAX( dt_run_control, dt_3d ) )
+          ENDIF
+       ENDIF
+
+!
+!--    Profile output (ASCII) on file
+       IF ( time_dopr_listing >= dt_dopr_listing )  THEN
+          CALL print_1d
+          time_dopr_listing = MOD( time_dopr_listing, MAX( dt_dopr_listing, &
+                                                           dt_3d ) )
+       ENDIF
+
+!
+!--    Graphic output for PROFIL
+       IF ( time_dopr >= dt_dopr )  THEN
+          IF ( dopr_n /= 0 )  CALL data_output_profiles
+          time_dopr = MOD( time_dopr, MAX( dt_dopr, dt_3d ) )
+          time_dopr_av = 0.0    ! due to averaging (see above)
+       ENDIF
+
+!
+!--    Graphic output for time series
+       IF ( time_dots >= dt_dots )  THEN
+          CALL data_output_tseries
+          time_dots = MOD( time_dots, MAX( dt_dots, dt_3d ) )
+       ENDIF
+
+!
+!--    Output of spectra (formatted for use with PROFIL), in case of no
+!--    time averaging, spectra has to be calculated before
+       IF ( time_dosp >= dt_dosp )  THEN
+          IF ( average_count_sp == 0 )  CALL calc_spectra
+          CALL data_output_spectra
+          time_dosp = MOD( time_dosp, MAX( dt_dosp, dt_3d ) )
+       ENDIF
+
+!
+!--    2d-data output (cross-sections)
+       IF ( time_do2d_xy >= dt_do2d_xy )  THEN
+          CALL data_output_2d( 'xy', 0 )
+          time_do2d_xy = MOD( time_do2d_xy, MAX( dt_do2d_xy, dt_3d ) )
+       ENDIF
+       IF ( time_do2d_xz >= dt_do2d_xz )  THEN
+          CALL data_output_2d( 'xz', 0 )
+          time_do2d_xz = MOD( time_do2d_xz, MAX( dt_do2d_xz, dt_3d ) )
+       ENDIF
+       IF ( time_do2d_yz >= dt_do2d_yz )  THEN
+          CALL data_output_2d( 'yz', 0 )
+          time_do2d_yz = MOD( time_do2d_yz, MAX( dt_do2d_yz, dt_3d ) )
+       ENDIF
+
+!
+!--    3d-data output (volume data)
+       IF ( time_do3d >= dt_do3d )  THEN
+          CALL data_output_3d( 0 )
+          time_do3d = MOD( time_do3d, MAX( dt_do3d, dt_3d ) )
+       ENDIF
+
+!
+!--    Output of time-averaged 2d/3d-data
+       IF ( time_do_av >= dt_data_output_av )  THEN
+          CALL average_3d_data
+          CALL data_output_2d( 'xy', 1 )
+          CALL data_output_2d( 'xz', 1 )
+          CALL data_output_2d( 'yz', 1 )
+          CALL data_output_3d( 1 )
+          time_do_av = MOD( time_do_av, MAX( dt_data_output_av, dt_3d ) )
+       ENDIF
+
+!
+!--    Output of particle time series
+       IF ( particle_advection )  THEN
+          IF ( time_dopts >= dt_dopts  .OR. &
+               ( simulated_time >= particle_advection_start  .AND. &
+                 first_call_advec_particles ) )  THEN
+             CALL data_output_ptseries
+             time_dopts = MOD( time_dopts, MAX( dt_dopts, dt_3d ) )
+          ENDIF
+       ENDIF
+
+!
+!--    Output of dvrp-graphics (isosurface, particles, slicer)
+#if defined( __dvrp_graphics )
+       CALL DVRP_LOG_EVENT( -2, current_timestep_number-1 )
+#endif
+       IF ( time_dvrp >= dt_dvrp )  THEN
+          CALL data_output_dvrp
+          time_dvrp = MOD( time_dvrp, MAX( dt_dvrp, dt_3d ) )
+       ENDIF
+#if defined( __dvrp_graphics )
+       CALL DVRP_LOG_EVENT( 2, current_timestep_number )
+#endif
+
+!
+!--    If required, set the heat flux for the next time step at a random value
+       IF ( constant_heatflux  .AND.  random_heatflux )  CALL disturb_heatflux
+
+!
+!--    Execute user-defined actions
+       CALL user_actions( 'after_timestep' )
+
+       CALL cpu_log( log_point_s(10), 'timesteps', 'stop' )
+
+    ENDDO   ! time loop
+
+#if defined( __dvrp_graphics )
+    CALL DVRP_LOG_EVENT( -2, current_timestep_number )
+#endif
+
+ END SUBROUTINE time_integration
Index: palm/tags/release-3.7/SOURCE/time_to_string.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/time_to_string.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/time_to_string.f90	(revision 393)
@@ -0,0 +1,48 @@
+ FUNCTION time_to_string( time )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.3  2001/01/22 08:16:04  raasch
+! Comments translated into English
+!
+! Revision 1.1  1997/08/11 06:26:08  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Transforming the time from real to character-string hh:mm:ss
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=9) ::  time_to_string
+    INTEGER           ::  hours, minutes, seconds
+    REAL              ::  rest_time, time
+
+!
+!-- Calculate the number of hours, minutes, and seconds
+    hours     = INT( time / 3600.0 )
+    rest_time = time - hours * 3600
+    minutes   = INT( rest_time / 60.0 )
+    seconds   = rest_time - minutes * 60
+
+!
+!-- Build the string
+    IF ( hours < 100 )  THEN
+       WRITE (time_to_string,'(I2.2,'':'',I2.2,'':'',I2.2)')  hours, minutes, &
+                                                              seconds
+    ELSE
+       WRITE (time_to_string,'(I3.3,'':'',I2.2,'':'',I2.2)')  hours, minutes, &
+                                                              seconds
+    ENDIF
+
+ END FUNCTION time_to_string
Index: palm/tags/release-3.7/SOURCE/timestep.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/timestep.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/timestep.f90	(revision 393)
@@ -0,0 +1,389 @@
+ SUBROUTINE timestep
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 343 2009-06-24 12:59:09Z maronga
+! Additional timestep criterion in case of simulations with plant canopy
+! Output of messages replaced by message handling routine.
+!
+! 222 2009-01-12 16:04:16Z letzel
+! Implementation of a MPI-1 Coupling: replaced myid with target_id
+! Bugfix for nonparallel execution
+!
+! 108 2007-08-24 15:10:38Z letzel
+! modifications to terminate coupled runs
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.21  2006/02/23 12:59:44  raasch
+! nt_anz renamed current_timestep_number
+!
+! Revision 1.1  1997/08/11 06:26:19  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Compute the time step under consideration of the FCL and diffusion criterion.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE cpulog
+    USE grid_variables
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE statistics
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k
+
+    REAL ::  div, dt_diff, dt_diff_l, dt_plant_canopy,                 &
+             dt_plant_canopy_l,                                        &
+             dt_plant_canopy_u, dt_plant_canopy_v, dt_plant_canopy_w,  & 
+             dt_u, dt_v, dt_w, lad_max, percent_change,                &
+             u_gtrans_l, vabs_max, value, v_gtrans_l
+
+    REAL, DIMENSION(2)         ::  uv_gtrans, uv_gtrans_l
+    REAL, DIMENSION(nzb+1:nzt) ::  dxyz2_min
+
+    CALL cpu_log( log_point(12), 'calculate_timestep', 'start' )
+
+!
+!-- Determine the maxima of the velocity components.
+    CALL global_min_max( nzb, nzt+1, nys-1, nyn+1, nxl-1, nxr+1, u, 'abs', &
+                         u_max, u_max_ijk )
+    CALL global_min_max( nzb, nzt+1, nys-1, nyn+1, nxl-1, nxr+1, v, 'abs', &
+                         v_max, v_max_ijk )
+    CALL global_min_max( nzb, nzt+1, nys-1, nyn+1, nxl-1, nxr+1, w, 'abs', &
+                         w_max, w_max_ijk )
+
+!
+!-- In case maxima of the horizontal velocity components have been found at the
+!-- bottom boundary (k=nzb), the corresponding maximum at level k=1 is chosen
+!-- if the Dirichlet-boundary condition ('mirror') has been set. This is 
+!-- necessary, because otherwise in case of Galilei-transform a far too large
+!-- velocity (having the respective opposite sign) would be used for the time
+!-- step determination (almost double the mean flow velocity).
+    IF ( ibc_uv_b == 0 )  THEN
+       IF ( u_max_ijk(1) == nzb )  THEN
+          u_max        = -u_max
+          u_max_ijk(1) = nzb + 1
+       ENDIF
+       IF ( v_max_ijk(1) == nzb )  THEN
+          v_max        = -v_max
+          v_max_ijk(1) = nzb + 1
+       ENDIF
+    ENDIF
+
+!
+!-- In case of Galilei-transform not using the geostrophic wind as translation
+!-- velocity, compute the volume-averaged horizontal velocity components, which
+!-- will then be subtracted from the horizontal wind for the time step and
+!-- horizontal advection routines.
+    IF ( galilei_transformation  .AND. .NOT.  use_ug_for_galilei_tr )  THEN
+       IF ( flow_statistics_called )  THEN
+!
+!--       Horizontal averages already existent, just need to average them 
+!--       vertically.
+          u_gtrans = 0.0
+          v_gtrans = 0.0
+          DO  k = nzb+1, nzt
+             u_gtrans = u_gtrans + hom(k,1,1,0)
+             v_gtrans = v_gtrans + hom(k,1,2,0)
+          ENDDO
+          u_gtrans = u_gtrans / REAL( nzt - nzb )
+          v_gtrans = v_gtrans / REAL( nzt - nzb )
+       ELSE
+!
+!--       Averaging over the entire model domain.
+          uv_gtrans_l = 0.0
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO  k = nzb+1, nzt
+                   uv_gtrans_l(1) = uv_gtrans_l(1) + u(k,j,i)
+                   uv_gtrans_l(2) = uv_gtrans_l(2) + v(k,j,i)
+                ENDDO
+             ENDDO
+          ENDDO
+          uv_gtrans_l = uv_gtrans_l / REAL( (nxr-nxl+1)*(nyn-nys+1)*(nzt-nzb) )
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( uv_gtrans_l, uv_gtrans, 2, MPI_REAL, MPI_SUM, &
+                              comm2d, ierr )
+          u_gtrans = uv_gtrans(1) / REAL( numprocs )
+          v_gtrans = uv_gtrans(2) / REAL( numprocs )
+#else
+          u_gtrans = uv_gtrans_l(1)
+          v_gtrans = uv_gtrans_l(2)
+#endif
+       ENDIF
+    ENDIF
+
+    IF ( .NOT. dt_fixed )  THEN
+!
+!--    Variable time step:
+!
+!--    For each component, compute the maximum time step according to the 
+!--    FCL-criterion.
+       dt_u = dx / ( ABS( u_max - u_gtrans ) + 1.0E-10 )
+       dt_v = dy / ( ABS( v_max - v_gtrans ) + 1.0E-10 )
+       dt_w = dzu(MAX( 1, w_max_ijk(1) )) / ( ABS( w_max ) + 1.0E-10 )
+
+!
+!--    Compute time step according to the diffusion criterion.
+!--    First calculate minimum grid spacing which only depends on index k
+!--    Note: also at k=nzb+1 a full grid length is being assumed, although
+!--          in the Prandtl-layer friction term only dz/2 is used.
+!--          Experience from the old model seems to justify this.
+       dt_diff_l = 999999.0
+
+       DO  k = nzb+1, nzt
+           dxyz2_min(k) = MIN( dx2, dy2, dzu(k)*dzu(k) ) * 0.125
+       ENDDO
+
+!$OMP PARALLEL private(i,j,k,value) reduction(MIN: dt_diff_l)
+!$OMP DO
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+             DO  k = nzb+1, nzt
+                value = dxyz2_min(k) / ( MAX( kh(k,j,i), km(k,j,i) ) + 1E-20 )
+
+                dt_diff_l = MIN( value, dt_diff_l )
+             ENDDO
+          ENDDO
+       ENDDO
+!$OMP END PARALLEL 
+#if defined( __parallel )
+       CALL MPI_ALLREDUCE( dt_diff_l, dt_diff, 1, MPI_REAL, MPI_MIN, comm2d, &
+                           ierr )
+#else
+       dt_diff = dt_diff_l
+#endif
+
+!
+!--    In case of non-cyclic lateral boundaries, the diffusion time step
+!--    may be further restricted by the lateral damping layer (damping only
+!--    along x and y)
+       IF ( bc_lr /= 'cyclic' )  THEN
+          dt_diff = MIN( dt_diff, 0.125 * dx2 / ( km_damp_max + 1E-20 ) )
+       ELSEIF ( bc_ns /= 'cyclic' )  THEN
+          dt_diff = MIN( dt_diff, 0.125 * dy2 / ( km_damp_max + 1E-20 ) )
+       ENDIF
+
+!
+!--    Additional timestep criterion with plant canopies: 
+!--    it is not allowed to extract more than the available momentum
+       IF ( plant_canopy ) THEN
+
+          dt_plant_canopy_l = 0.0
+          DO  i = nxl, nxr
+             DO  j = nys, nyn
+                DO k = nzb+1, nzt
+                   dt_plant_canopy_u = cdc(k,j,i) * lad_u(k,j,i) *  &
+                                       SQRT(     u(k,j,i)**2     +  &
+                                             ( ( v(k,j,i-1)      +  &
+                                                 v(k,j,i)        +  &
+                                                 v(k,j+1,i)      +  &
+                                                 v(k,j+1,i-1) )     &
+                                               / 4.0 )**2        +  &
+                                             ( ( w(k-1,j,i-1)    +  &
+                                                 w(k-1,j,i)      +  &
+                                                 w(k,j,i-1)      +  &
+                                                 w(k,j,i) )         &
+                                                 / 4.0 )**2 ) 
+                   IF ( dt_plant_canopy_u > dt_plant_canopy_l ) THEN
+                      dt_plant_canopy_l = dt_plant_canopy_u  
+                   ENDIF
+                   dt_plant_canopy_v = cdc(k,j,i) * lad_v(k,j,i) *  &
+                                       SQRT( ( ( u(k,j-1,i)      +  &
+                                                 u(k,j-1,i+1)    +  &
+                                                 u(k,j,i)        +  &
+                                                 u(k,j,i+1) )       &
+                                               / 4.0 )**2        +  &
+                                                 v(k,j,i)**2     +  &
+                                             ( ( w(k-1,j-1,i)    +  &
+                                                 w(k-1,j,i)      +  &
+                                                 w(k,j-1,i)      +  &
+                                                 w(k,j,i) )         &
+                                                 / 4.0 )**2 ) 
+                   IF ( dt_plant_canopy_v > dt_plant_canopy_l ) THEN
+                      dt_plant_canopy_l = dt_plant_canopy_v
+                   ENDIF                   
+                   dt_plant_canopy_w = cdc(k,j,i) * lad_w(k,j,i) *  &
+                                       SQRT( ( ( u(k,j,i)        +  &
+                                                 u(k,j,i+1)      +  &
+                                                 u(k+1,j,i)      +  &
+                                                 u(k+1,j,i+1) )     &
+                                               / 4.0 )**2        +  &
+                                             ( ( v(k,j,i)        +  &
+                                                 v(k,j+1,i)      +  &
+                                                 v(k+1,j,i)      +  &
+                                                 v(k+1,j+1,i) )     &
+                                               / 4.0 )**2        +  &
+                                                 w(k,j,i)**2 )     
+                   IF ( dt_plant_canopy_w > dt_plant_canopy_l ) THEN
+                      dt_plant_canopy_l = dt_plant_canopy_w
+                   ENDIF
+                ENDDO
+             ENDDO
+          ENDDO 
+
+          IF ( dt_plant_canopy_l > 0.0 ) THEN
+!
+!--          Invert dt_plant_canopy_l and apply a security timestep factor 0.1
+             dt_plant_canopy_l = 0.1 / dt_plant_canopy_l
+          ELSE
+!
+!--          In case of inhomogeneous plant canopy, some processors may have no
+!--          canopy at all. Then use dt_max as dummy instead.
+             dt_plant_canopy_l = dt_max
+          ENDIF
+
+!
+!--       Determine the global minumum
+#if defined( __parallel )
+          CALL MPI_ALLREDUCE( dt_plant_canopy_l, dt_plant_canopy, 1, MPI_REAL,  &
+                              MPI_MIN, comm2d, ierr )
+#else
+          dt_plant_canopy = dt_plant_canopy_l
+#endif
+
+       ELSE
+!
+!--       Use dt_diff as dummy value to avoid extra IF branches further below
+          dt_plant_canopy = dt_diff
+
+       ENDIF
+
+!
+!--    The time step is the minimum of the 3-4 components and the diffusion time
+!--    step minus a reduction to be on the safe side. Factor 0.5 is necessary 
+!--    since the leap-frog scheme always progresses by 2 * delta t.
+!--    The user has to set the cfl_factor small enough to ensure that the 
+!--    divergences do not become too large.
+!--    The time step must not exceed the maximum allowed value.
+       IF ( timestep_scheme(1:5) == 'runge' )  THEN
+          dt_3d = cfl_factor * MIN( dt_diff, dt_plant_canopy, dt_u, dt_v, dt_w )
+       ELSE
+          dt_3d = cfl_factor * 0.5 *  &
+                  MIN( dt_diff, dt_plant_canopy, dt_u, dt_v, dt_w )
+       ENDIF
+       dt_3d = MIN( dt_3d, dt_max )
+
+!
+!--    Remember the restricting time step criterion for later output.
+       IF ( MIN( dt_u, dt_v, dt_w ) < MIN( dt_diff, dt_plant_canopy ) )  THEN
+          timestep_reason = 'A'
+       ELSEIF ( dt_plant_canopy < dt_diff )  THEN
+          timestep_reason = 'C'
+       ELSE
+          timestep_reason = 'D'
+       ENDIF
+
+!
+!--    Set flag if the time step becomes too small.
+       IF ( dt_3d < ( 0.00001 * dt_max ) )  THEN
+          stop_dt = .TRUE.
+
+          WRITE( message_string, * ) 'Time step has reached minimum limit.',  &
+               '&dt              = ', dt_3d, ' s  Simulation is terminated.', &
+               '&old_dt          = ', old_dt, ' s',                           &
+               '&dt_u            = ', dt_u, ' s',                             &
+               '&dt_v            = ', dt_v, ' s',                             &
+               '&dt_w            = ', dt_w, ' s',                             &
+               '&dt_diff         = ', dt_diff, ' s',                          &
+               '&dt_plant_canopy = ', dt_plant_canopy, ' s',                  &
+               '&u_max   = ', u_max, ' m/s   k=', u_max_ijk(1),               &
+               '  j=', u_max_ijk(2), '  i=', u_max_ijk(3),                    &
+               '&v_max   = ', v_max, ' m/s   k=', v_max_ijk(1),               &
+               '  j=', v_max_ijk(2), '  i=', v_max_ijk(3),                    &
+               '&w_max   = ', w_max, ' m/s   k=', w_max_ijk(1),               &
+               '  j=', w_max_ijk(2), '  i=', w_max_ijk(3)
+          CALL message( 'timestep', 'PA0312', 0, 1, 0, 6, 0 )
+!
+!--       In case of coupled runs inform the remote model of the termination 
+!--       and its reason, provided the remote model has not already been 
+!--       informed of another termination reason (terminate_coupled > 0) before.
+#if defined( __parallel )
+          IF ( coupling_mode /= 'uncoupled' .AND. terminate_coupled == 0 )  THEN
+             terminate_coupled = 2
+             CALL MPI_SENDRECV( &
+                  terminate_coupled,        1, MPI_INTEGER, target_id,  0, &
+                  terminate_coupled_remote, 1, MPI_INTEGER, target_id,  0, &
+                  comm_inter, status, ierr )
+          ENDIF
+#endif
+       ENDIF
+
+!
+!--    Ensure a smooth value (two significant digits) of the timestep. For
+!--    other schemes than Runge-Kutta, the following restrictions appear:
+!--    The current timestep is only then changed, if the change relative to
+!--    its previous value exceeds +5 % or -2 %. In case of a timestep
+!--    reduction, at least 30 iterations have to be performed before a timestep
+!--    enlargement is permitted again.
+       percent_change = dt_3d / old_dt - 1.0
+       IF ( percent_change > 0.05  .OR.  percent_change < -0.02  .OR. &
+            timestep_scheme(1:5) == 'runge' )  THEN
+
+!
+!--       Time step enlargement by no more than 2 %.
+          IF ( percent_change > 0.0  .AND.  simulated_time /= 0.0  .AND. &
+               timestep_scheme(1:5) /= 'runge' )  THEN
+             dt_3d = 1.02 * old_dt
+          ENDIF
+
+!
+!--       A relatively smooth value of the time step is ensured by taking
+!--       only the first two significant digits.
+          div = 1000.0
+          DO  WHILE ( dt_3d < div )
+             div = div / 10.0
+          ENDDO
+          dt_3d = NINT( dt_3d * 100.0 / div ) * div / 100.0
+
+!
+!--       Now the time step can be adjusted.
+          IF ( percent_change < 0.0  .OR.  timestep_scheme(1:5) == 'runge' ) &
+          THEN
+!
+!--          Time step reduction.
+             old_dt = dt_3d
+             dt_changed = .TRUE.
+          ELSE
+!
+!--          For other timestep schemes , the time step is only enlarged
+!--          after at least 30 iterations since the previous time step
+!--          change or, of course, after model initialization.
+             IF ( current_timestep_number >= last_dt_change + 30  .OR. &
+                  simulated_time == 0.0 )  THEN
+                old_dt = dt_3d
+                dt_changed = .TRUE.
+             ELSE
+                dt_3d = old_dt
+                dt_changed = .FALSE.
+             ENDIF
+
+          ENDIF
+       ELSE
+!
+!--       No time step change since the difference is too small.
+          dt_3d = old_dt
+          dt_changed = .FALSE.
+       ENDIF
+
+       IF ( dt_changed )  last_dt_change = current_timestep_number
+
+    ENDIF
+    CALL cpu_log( log_point(12), 'calculate_timestep', 'stop' )
+
+ END SUBROUTINE timestep
Index: palm/tags/release-3.7/SOURCE/timestep_scheme_steering.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/timestep_scheme_steering.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/timestep_scheme_steering.f90	(revision 393)
@@ -0,0 +1,101 @@
+ SUBROUTINE timestep_scheme_steering
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2005/03/26 21:17:06  raasch
+! No pressure term for Runge-Kutta-schemes (tsc(4)=0.0)
+!
+! Revision 1.1  2004/01/28 15:34:47  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Depending on the timestep scheme set the steering factors for the prognostic
+! equations.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+
+    IMPLICIT NONE
+
+
+    IF ( timestep_scheme(1:5) == 'runge' )  THEN
+!
+!--    Runge-Kutta schemes (here the factors depend on the respective
+!--    intermediate step)
+       IF ( timestep_scheme == 'runge-kutta-2' )  THEN
+          IF ( intermediate_timestep_count == 1 )  THEN
+             tsc(1:5) = (/ 1.0, 1.0,  0.0, 0.0, 0.0 /)
+          ELSE
+             tsc(1:5) = (/ 1.0, 0.5, -0.5, 0.0, 1.0 /)
+          ENDIF
+       ELSE
+          IF ( intermediate_timestep_count == 1 )  THEN
+             tsc(1:5) = (/ 1.0,   1.0/3.0,        0.0, 0.0, 0.0 /)
+          ELSEIF ( intermediate_timestep_count == 2 )  THEN
+             tsc(1:5) = (/ 1.0, 15.0/16.0, -25.0/48.0, 0.0, 0.0 /)
+          ELSE
+             tsc(1:5) = (/ 1.0,  8.0/15.0,   1.0/15.0, 0.0, 1.0 /)
+          ENDIF          
+       ENDIF
+
+    ELSE
+
+       IF ( .NOT. dt_fixed )  THEN
+!
+!--       Leapfrog and Euler schemes
+!--       Determine whether after the time step adjustment the Euler- or the
+!--       leapfrog scheme will be applied. The very first time step must always
+!--       be an Euler step.
+          IF ( dt_changed )  THEN
+             IF ( timestep_scheme == 'leapfrog+euler'  .OR. &
+                  timestep_scheme == 'euler' .OR. simulated_time == 0.0 )  THEN
+                tsc(1:5) = (/ 1.0, 1.0, 0.0, 1.0, 1.0 /)
+             ELSE
+                tsc(1:5) = (/ 0.0, 2.0, 0.0, 1.0, 2.0 /)
+             ENDIF
+          ELSE
+!
+!--          No time step change, hence continue with the scheme set by the
+!--          user.
+             IF ( timestep_scheme == 'euler' )  THEN
+                tsc(1:5) = (/ 1.0, 1.0, 0.0, 1.0, 1.0 /)
+             ELSE
+                tsc(1:5) = (/ 0.0, 2.0, 0.0, 1.0, 2.0 /)
+             ENDIF
+          ENDIF
+
+       ELSE
+
+!
+!--       Fixed time step:
+!
+!--       In any case, the very first time step must always be an Euler step.
+          timestep_reason = 'F'
+          IF ( simulated_time == 0.0 )  THEN
+             dt_changed = .TRUE.
+             tsc(1:5) = (/ 1.0, 1.0, 0.0, 1.0, 1.0 /)
+          ELSE
+             dt_changed = .FALSE.
+             IF ( timestep_scheme == 'euler' )  THEN
+                tsc(1:5) = (/ 1.0, 1.0, 0.0, 1.0, 1.0 /)
+             ELSE
+                tsc(1:5) = (/ 0.0, 2.0, 0.0, 1.0, 2.0 /)
+             ENDIF
+          ENDIF
+
+       ENDIF
+
+    ENDIF
+
+
+ END SUBROUTINE timestep_scheme_steering
Index: palm/tags/release-3.7/SOURCE/transpose.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/transpose.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/transpose.f90	(revision 393)
@@ -0,0 +1,651 @@
+ SUBROUTINE transpose_xy( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 164 2008-05-15 08:46:15Z raasch
+! f_inv changed from subroutine argument to automatic array in order to do
+! re-ordering from f_in to f_inv in one step, one array work is needed instead
+! of work1 and work2
+!
+! February 2007
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.2  2004/04/30 13:12:17  raasch
+! Switched from mpi_alltoallv to the simpler mpi_alltoall,
+! all former transpose-routine files collected in this file, enlarged
+! transposition arrays introduced
+!
+! Revision 1.1  2004/04/30 13:08:16  raasch
+! Initial revision (collection of former routines transpose_xy, transpose_xz,
+!                   transpose_yx, transpose_yz, transpose_zx, transpose_zy)
+!
+! Revision 1.1  1997/07/24 11:25:18  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Transposition of input array (f_in) from x to y. For the input array, all
+! elements along x reside on the same PE, while after transposition, all
+! elements along y reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, ys
+    
+    REAL ::  f_in(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),                     &
+             f_inv(nys_x:nyn_xa,nzb_x:nzt_xa,0:nxa),                    &
+             f_out(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Rearrange indices of input array in order to make data to be send
+!-- by MPI contiguous
+    DO  i = 0, nxa
+       DO  k = nzb_x, nzt_xa
+          DO  j = nys_x, nyn_xa
+             f_inv(j,k,i) = f_in(i,j,k)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( f_inv(nys_x,nzb_x,0), sendrecvcount_xy, MPI_REAL, &
+                       work(1),              sendrecvcount_xy, MPI_REAL, &
+                       comm1dy, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array
+    m = 0
+    DO  l = 0, pdims(2) - 1
+       ys = 0 + l * ( nyn_xa - nys_x + 1 )
+       DO  i = nxl_y, nxr_ya
+          DO  k = nzb_y, nzt_ya
+             DO  j = ys, ys + nyn_xa - nys_x
+                m = m + 1
+                f_out(j,i,k) = work(m)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_xy
+
+
+ SUBROUTINE transpose_xz( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from x to z. For the input array, all
+! elements along x reside on the same PE, while after transposition, all
+! elements along z reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, xs
+    
+    REAL ::  f_in(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),             &
+             f_inv(nys:nyna,nxl:nxra,1:nza),                    &
+             f_out(1:nza,nys:nyna,nxl:nxra),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- If the PE grid is one-dimensional along y, the array has only to be
+!-- reordered locally and therefore no transposition has to be done.
+    IF ( pdims(1) /= 1 )  THEN
+!
+!--    Reorder input array for transposition
+       m = 0
+       DO  l = 0, pdims(1) - 1
+          xs = 0 + l * nnx
+          DO  k = nzb_x, nzt_xa
+             DO  i = xs, xs + nnx - 1
+                DO  j = nys_x, nyn_xa
+                   m = m + 1
+                   work(m) = f_in(i,j,k)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( work(1),          sendrecvcount_zx, MPI_REAL, &
+                          f_inv(nys,nxl,1), sendrecvcount_zx, MPI_REAL, &
+                          comm1dx, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!--    Reorder transposed array in a way that the z index is in first position
+       DO  k = 1, nza
+          DO  i = nxl, nxra
+             DO  j = nys, nyna
+                f_out(k,j,i) = f_inv(j,i,k)
+             ENDDO
+          ENDDO
+       ENDDO
+    ELSE
+!
+!--    Reorder the array in a way that the z index is in first position
+       DO  i = nxl, nxra
+          DO  j = nys, nyna
+             DO  k = 1, nza
+                f_inv(j,i,k) = f_in(i,j,k)
+             ENDDO
+          ENDDO
+       ENDDO
+
+       DO  k = 1, nza
+          DO  i = nxl, nxra
+             DO  j = nys, nyna
+                f_out(k,j,i) = f_inv(j,i,k)
+             ENDDO
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+
+#endif
+
+ END SUBROUTINE transpose_xz
+
+
+ SUBROUTINE transpose_yx( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from y to x. For the input array, all
+! elements along y reside on the same PE, while after transposition, all
+! elements along x reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, ys
+    
+    REAL ::  f_in(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya),                     &
+             f_inv(nys_x:nyn_xa,nzb_x:nzt_xa,0:nxa),                    &
+             f_out(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Reorder input array for transposition
+    m = 0
+    DO  l = 0, pdims(2) - 1
+       ys = 0 + l * ( nyn_xa - nys_x + 1 )
+       DO  i = nxl_y, nxr_ya
+          DO  k = nzb_y, nzt_ya
+             DO  j = ys, ys + nyn_xa - nys_x
+                m = m + 1
+                work(m) = f_in(j,i,k)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( work(1),              sendrecvcount_xy, MPI_REAL, &
+                       f_inv(nys_x,nzb_x,0), sendrecvcount_xy, MPI_REAL, &
+                       comm1dy, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array in a way that the x index is in first position
+    DO  i = 0, nxa
+       DO  k = nzb_x, nzt_xa
+          DO  j = nys_x, nyn_xa
+             f_out(i,j,k) = f_inv(j,k,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_yx
+
+
+ SUBROUTINE transpose_yxd( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from y to x. For the input array, all
+! elements along y reside on the same PE, while after transposition, all
+! elements along x reside on the same PE.
+! This is a direct transposition for arrays with indices in regular order
+! (k,j,i) (cf. transpose_yx).
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, recvcount_yx, sendcount_yx, xs
+
+    REAL ::  f_in(1:nza,nys:nyna,nxl:nxra), f_inv(nxl:nxra,1:nza,nys:nyna), &
+             f_out(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),                        &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Rearrange indices of input array in order to make data to be send
+!-- by MPI contiguous
+    DO  k = 1, nza
+       DO  j = nys, nyna
+          DO  i = nxl, nxra
+             f_inv(i,k,j) = f_in(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( f_inv(nxl,1,nys), sendrecvcount_xy, MPI_REAL, &
+                       work(1),          sendrecvcount_xy, MPI_REAL, &
+                       comm1dx, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array
+    m = 0
+    DO  l = 0, pdims(1) - 1
+       xs = 0 + l * nnx
+       DO  j = nys_x, nyn_xa
+          DO  k = 1, nza
+             DO  i = xs, xs + nnx - 1
+                m = m + 1
+                f_out(i,j,k) = work(m)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_yxd
+
+
+ SUBROUTINE transpose_yz( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from y to z. For the input array, all
+! elements along y reside on the same PE, while after transposition, all
+! elements along z reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, zs
+    
+    REAL ::  f_in(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya),                     &
+             f_inv(nxl_y:nxr_ya,nzb_y:nzt_ya,0:nya),                    &
+             f_out(nxl_z:nxr_za,nys_z:nyn_za,1:nza),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Rearrange indices of input array in order to make data to be send
+!-- by MPI contiguous
+    DO  j = 0, nya
+       DO  k = nzb_y, nzt_ya
+          DO  i = nxl_y, nxr_ya
+             f_inv(i,k,j) = f_in(j,i,k)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Move data to different array, because memory location of work1 is
+!-- needed further below (work1 = work2).
+!-- If the PE grid is one-dimensional along y, only local reordering
+!-- of the data is necessary and no transposition has to be done.
+    IF ( pdims(1) == 1 )  THEN
+       DO  j = 0, nya
+          DO  k = nzb_y, nzt_ya
+             DO  i = nxl_y, nxr_ya
+                f_out(i,j,k) = f_inv(i,k,j)
+             ENDDO
+          ENDDO
+       ENDDO
+       RETURN
+    ENDIF
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( f_inv(nxl_y,nzb_y,0), sendrecvcount_yz, MPI_REAL, &
+                       work(1),              sendrecvcount_yz, MPI_REAL, &
+                       comm1dx, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array
+    m = 0
+    DO  l = 0, pdims(1) - 1
+       zs = 1 + l * ( nzt_ya - nzb_y + 1 )
+       DO  j = nys_z, nyn_za
+          DO  k = zs, zs + nzt_ya - nzb_y
+             DO  i = nxl_z, nxr_za
+                m = m + 1
+                f_out(i,j,k) = work(m)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_yz
+
+
+ SUBROUTINE transpose_zx( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from z to x. For the input array, all
+! elements along z reside on the same PE, while after transposition, all
+! elements along x reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, xs
+    
+    REAL ::  f_in(1:nza,nys:nyna,nxl:nxra), f_inv(nys:nyna,nxl:nxra,1:nza), &
+             f_out(0:nxa,nys_x:nyn_xa,nzb_x:nzt_xa),                        &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Rearrange indices of input array in order to make data to be send
+!-- by MPI contiguous
+    DO  k = 1,nza
+       DO  i = nxl, nxra
+          DO  j = nys, nyna
+             f_inv(j,i,k) = f_in(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Move data to different array, because memory location of work1 is
+!-- needed further below (work1 = work2).
+!-- If the PE grid is one-dimensional along y, only local reordering
+!-- of the data is necessary and no transposition has to be done.
+    IF ( pdims(1) == 1 )  THEN
+       DO  k = 1, nza
+          DO  i = nxl, nxra
+             DO  j = nys, nyna
+                f_out(i,j,k) = f_inv(j,i,k)
+             ENDDO
+          ENDDO
+       ENDDO
+       RETURN
+    ENDIF
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( f_inv(nys,nxl,1), sendrecvcount_zx, MPI_REAL, &
+                       work(1),          sendrecvcount_zx, MPI_REAL, &
+                       comm1dx, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array
+    m = 0
+    DO  l = 0, pdims(1) - 1
+       xs = 0 + l * nnx
+       DO  k = nzb_x, nzt_xa
+          DO  i = xs, xs + nnx - 1
+             DO  j = nys_x, nyn_xa
+                m = m + 1
+                f_out(i,j,k) = work(m)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_zx
+
+
+ SUBROUTINE transpose_zy( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from z to y. For the input array, all
+! elements along z reside on the same PE, while after transposition, all
+! elements along y reside on the same PE.
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, zs
+    
+    REAL ::  f_in(nxl_z:nxr_za,nys_z:nyn_za,1:nza),                     &
+             f_inv(nxl_y:nxr_ya,nzb_y:nzt_ya,0:nya),                    &
+             f_out(0:nya,nxl_y:nxr_ya,nzb_y:nzt_ya),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- If the PE grid is one-dimensional along y, the array has only to be
+!-- reordered locally and therefore no transposition has to be done.
+    IF ( pdims(1) /= 1 )  THEN
+!
+!--    Reorder input array for transposition
+       m = 0
+       DO  l = 0, pdims(1) - 1
+          zs = 1 + l * ( nzt_ya - nzb_y + 1 )
+          DO  j = nys_z, nyn_za
+             DO  k = zs, zs + nzt_ya - nzb_y
+                DO  i = nxl_z, nxr_za
+                   m = m + 1
+                   work(m) = f_in(i,j,k)
+                ENDDO
+             ENDDO
+          ENDDO
+       ENDDO
+
+!
+!--    Transpose array
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+       CALL MPI_ALLTOALL( work(1),              sendrecvcount_yz, MPI_REAL, &
+                          f_inv(nxl_y,nzb_y,0), sendrecvcount_yz, MPI_REAL, &
+                          comm1dx, ierr )
+       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!--    Reorder transposed array in a way that the y index is in first position
+       DO  j = 0, nya
+          DO  k = nzb_y, nzt_ya
+             DO  i = nxl_y, nxr_ya
+                f_out(j,i,k) = f_inv(i,k,j)
+             ENDDO
+          ENDDO
+       ENDDO
+    ELSE
+!
+!--    Reorder the array in a way that the y index is in first position
+       DO  k = nzb_y, nzt_ya
+          DO  j = 0, nya
+             DO  i = nxl_y, nxr_ya
+                f_inv(i,k,j) = f_in(i,j,k)
+             ENDDO
+          ENDDO
+       ENDDO
+!
+!--    Move data to output array
+       DO  k = nzb_y, nzt_ya
+          DO  i = nxl_y, nxr_ya
+             DO  j = 0, nya
+                f_out(j,i,k) = f_inv(i,k,j)
+             ENDDO
+          ENDDO
+       ENDDO
+
+    ENDIF
+
+#endif
+
+ END SUBROUTINE transpose_zy
+
+
+ SUBROUTINE transpose_zyd( f_in, work, f_out )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Transposition of input array (f_in) from z to y. For the input array, all
+! elements along z reside on the same PE, while after transposition, all
+! elements along y reside on the same PE.
+! This is a direct transposition for arrays with indices in regular order
+! (k,j,i) (cf. transpose_zy).
+!------------------------------------------------------------------------------!
+
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE pegrid
+    USE transpose_indices
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, j, k, l, m, ys
+    
+    REAL ::  f_in(1:nza,nys:nyna,nxl:nxra), f_inv(nys:nyna,nxl:nxra,1:nza), &
+             f_out(0:nya,nxl_yd:nxr_yda,nzb_yd:nzt_yda),                    &
+             work(nnx*nny*nnz)
+
+#if defined( __parallel )
+
+!
+!-- Rearrange indices of input array in order to make data to be send
+!-- by MPI contiguous
+    DO  i = nxl, nxra
+       DO  j = nys, nyna
+          DO  k = 1, nza
+             f_inv(j,i,k) = f_in(k,j,i)
+          ENDDO
+       ENDDO
+    ENDDO
+
+!
+!-- Move data to different array, because memory location of work1 is
+!-- needed further below (work1 = work2).
+!-- If the PE grid is one-dimensional along x, only local reordering
+!-- of the data is necessary and no transposition has to be done.
+    IF ( pdims(2) == 1 )  THEN
+       DO  k = 1, nza
+          DO  i = nxl, nxra
+             DO  j = nys, nyna
+                f_out(j,i,k) = f_inv(j,i,k)
+             ENDDO
+          ENDDO
+       ENDDO
+       RETURN
+    ENDIF
+
+!
+!-- Transpose array
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
+    CALL MPI_ALLTOALL( f_inv(nys,nxl,1), sendrecvcount_zyd, MPI_REAL, &
+                       work(1),          sendrecvcount_zyd, MPI_REAL, &
+                       comm1dy, ierr )
+    CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' )
+
+!
+!-- Reorder transposed array
+    m = 0
+    DO  l = 0, pdims(2) - 1
+       ys = 0 + l * nny
+       DO  k = nzb_yd, nzt_yda
+          DO  i = nxl_yd, nxr_yda
+             DO  j = ys, ys + nny - 1
+                m = m + 1
+                f_out(j,i,k) = work(m)
+             ENDDO
+          ENDDO
+       ENDDO
+    ENDDO
+
+#endif
+
+ END SUBROUTINE transpose_zyd
Index: palm/tags/release-3.7/SOURCE/user_3d_data_averaging.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_3d_data_averaging.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_3d_data_averaging.f90	(revision 393)
@@ -0,0 +1,98 @@
+ SUBROUTINE user_3d_data_averaging( mode, variable )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Sum up and time-average user-defined output quantities as well as allocate
+! the array necessary for storing the average.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  mode, variable
+
+    INTEGER ::  i, j, k
+
+
+    IF ( mode == 'allocate' )  THEN
+
+       SELECT CASE ( TRIM( variable ) )
+
+!
+!--       Uncomment and extend the following lines, if necessary.
+!--       The arrays for storing the user defined quantities (here u2_av) have
+!--       to be declared and defined by the user!
+!--       Sample for user-defined output:
+!          CASE ( 'u2' )
+!             IF ( .NOT. ALLOCATED( u2_av ) )  THEN
+!                ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+!             ENDIF
+!             u2_av = 0.0
+
+          CASE DEFAULT
+             CONTINUE
+
+       END SELECT
+
+    ELSEIF ( mode == 'sum' )  THEN
+
+       SELECT CASE ( TRIM( variable ) )
+
+!
+!--       Uncomment and extend the following lines, if necessary.
+!--       The arrays for storing the user defined quantities (here u2 and
+!--       u2_av) have to be declared and defined by the user!
+!--       Sample for user-defined output:
+!          CASE ( 'u2' )
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nzt+1
+!                      u2_av(k,j,i) = u2_av(k,j,i) + u2(k,j,i)
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+
+          CASE DEFAULT
+             CONTINUE
+
+       END SELECT
+
+    ELSEIF ( mode == 'average' )  THEN
+
+       SELECT CASE ( TRIM( variable ) )
+
+!
+!--       Uncomment and extend the following lines, if necessary.
+!--       The arrays for storing the user defined quantities (here u2_av) have
+!--       to be declared and defined by the user!
+!--       Sample for user-defined output:
+!          CASE ( 'u2' )
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nzt+1
+!                      u2_av(k,j,i) = u2_av(k,j,i) / REAL( average_count_3d )
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+
+       END SELECT
+
+    ENDIF
+
+
+ END SUBROUTINE user_3d_data_averaging
Index: palm/tags/release-3.7/SOURCE/user_actions.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_actions.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_actions.f90	(revision 393)
@@ -0,0 +1,186 @@
+ MODULE user_actions_mod
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 258 2009-03-13 12:36:03Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Execution of user-defined actions before or after single timesteps
+!------------------------------------------------------------------------------!
+
+    PRIVATE
+    PUBLIC user_actions
+
+    INTERFACE user_actions
+       MODULE PROCEDURE user_actions
+       MODULE PROCEDURE user_actions_ij
+    END INTERFACE user_actions
+
+ CONTAINS
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE user_actions( location )
+
+       USE control_parameters
+       USE cpulog
+       USE indices
+       USE interfaces
+       USE pegrid
+       USE user
+       USE arrays_3d
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  location
+
+       INTEGER ::  i, j, k
+
+       CALL cpu_log( log_point(24), 'user_actions', 'start' )
+
+!
+!--    Here the user-defined actions follow
+!--    No calls for single grid points are allowed at locations before and
+!--    after the timestep, since these calls are not within an i,j-loop
+       SELECT CASE ( location )
+
+          CASE ( 'before_timestep' )
+!
+!--          Enter actions to be done before every timestep here
+
+
+          CASE ( 'after_integration' )
+!
+!--          Enter actions to be done after every time integration (before
+!--          data output)
+!--          Sample for user-defined output:
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nzt+1
+!                      u2(k,j,i) = u(k,j,i)**2
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+!             DO  i = nxl-1, nxr
+!                DO  j = nys-1, nyn
+!                   DO  k = nzb, nzt+1
+!                      ustvst(k,j,i) =  &
+!                         ( 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - hom(k,1,1,0) ) * &
+!                         ( 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - hom(k,1,2,0) )
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+
+
+          CASE ( 'after_timestep' )
+!
+!--          Enter actions to be done after every timestep here
+
+
+          CASE ( 'u-tendency' )
+!
+!--          Enter actions to be done in the u-tendency term here
+
+
+          CASE ( 'v-tendency' )
+
+
+          CASE ( 'w-tendency' )
+
+
+          CASE ( 'pt-tendency' )
+
+
+          CASE ( 'sa-tendency' )
+
+
+          CASE ( 'e-tendency' )
+
+
+          CASE ( 'q-tendency' )
+
+
+          CASE DEFAULT
+             message_string = 'unknown location "' // location // '"'
+             CALL message( 'user_actions', 'UI0001', 1, 2, 0, 6, 0 )
+
+       END SELECT
+
+       CALL cpu_log( log_point(24), 'user_actions', 'stop' )
+
+    END SUBROUTINE user_actions
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE user_actions_ij( i, j, location )
+
+       USE control_parameters
+       USE pegrid
+       USE user
+
+       IMPLICIT NONE
+
+       CHARACTER (LEN=*) ::  location
+
+       INTEGER ::  i, idum, j
+
+
+!
+!--    Here the user-defined actions follow
+       SELECT CASE ( location )
+
+          CASE ( 'u-tendency' )
+!
+!--          Enter actions to be done in the u-tendency term here
+
+
+          CASE ( 'v-tendency' )
+
+
+          CASE ( 'w-tendency' )
+
+
+          CASE ( 'pt-tendency' )
+
+
+          CASE ( 'sa-tendency' )
+
+
+          CASE ( 'e-tendency' )
+
+
+          CASE ( 'q-tendency' )
+
+
+          CASE ( 'before_timestep', 'after_integration', 'after_timestep' )
+             message_string = 'location "' // location // '" is not ' // &
+                             'allowed to be called with parameters "i" and "j"'
+             CALL message( 'user_actions', 'UI0002', 1, 2, 0, 6, 0 )
+
+
+          CASE DEFAULT
+             message_string = 'unknown location "' // location // '"'
+             CALL message( 'user_actions', 'UI0001', 1, 2, 0, 6, 0 )
+             
+
+       END SELECT
+
+    END SUBROUTINE user_actions_ij
+
+ END MODULE user_actions_mod
Index: palm/tags/release-3.7/SOURCE/user_additional_routines.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_additional_routines.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_additional_routines.f90	(revision 393)
@@ -0,0 +1,28 @@
+ SUBROUTINE user_dummy
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Initial version
+!
+! Description:
+! ------------
+! This file may contain additional user-defined routines.
+!------------------------------------------------------------------------------!
+
+    USE user
+
+    IMPLICIT NONE
+
+!
+!-- Here comes the code of the user-defined routine
+
+ END SUBROUTINE user_dummy
+
Index: palm/tags/release-3.7/SOURCE/user_advec_particles.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_advec_particles.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_advec_particles.f90	(revision 393)
@@ -0,0 +1,33 @@
+ SUBROUTINE user_advec_particles
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Modification of initial particles by the user.
+!------------------------------------------------------------------------------!
+
+    USE particle_attributes
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER ::  n
+
+!
+!-- Here the user-defined actions follow
+!    DO  n = 1, number_of_initial_particles
+!    ENDDO
+
+ END SUBROUTINE user_advec_particles
+
Index: palm/tags/release-3.7/SOURCE/user_check_data_output.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_check_data_output.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_check_data_output.f90	(revision 393)
@@ -0,0 +1,47 @@
+ SUBROUTINE user_check_data_output( variable, unit )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Set the unit of user defined output quantities. For those variables
+! not recognized by the user, the parameter unit is set to "illegal", which
+! tells the calling routine that the output variable is not defined and leads
+! to a program abort.
+!------------------------------------------------------------------------------!
+
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  unit, variable
+
+
+    SELECT CASE ( TRIM( variable ) )
+
+!
+!--    Uncomment and extend the following lines, if necessary
+!       CASE ( 'u2' )
+!          unit = 'm2/s2'
+!
+!       CASE ( 'u*v*' )
+!          unit = 'm2/s2'
+!
+       CASE DEFAULT
+          unit = 'illegal'
+
+    END SELECT
+
+
+ END SUBROUTINE user_check_data_output
+
Index: palm/tags/release-3.7/SOURCE/user_check_data_output_pr.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_check_data_output_pr.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_check_data_output_pr.f90	(revision 393)
@@ -0,0 +1,64 @@
+ SUBROUTINE user_check_data_output_pr( variable, var_count, unit )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Set the unit of user defined profile output quantities. For those variables
+! not recognized by the user, the parameter unit is set to "illegal", which
+! tells the calling routine that the output variable is not defined and leads
+! to a program abort.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE netcdf_control
+    USE profil_parameter
+    USE statistics
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  unit, variable
+
+    INTEGER ::  index, var_count
+
+
+    SELECT CASE ( TRIM( variable ) )
+
+!
+!--    Uncomment and extend the following lines, if necessary.
+!--    Add additional CASE statements depending on the number of quantities
+!--    for which profiles are to be calculated. The respective calculations
+!--    to be performed have to be added in routine user_statistics.
+!--    The quantities are (internally) identified by a user-profile-number
+!--    (see variable "index" below). The first user-profile must be assigned
+!--    the number "pr_palm+1", the second one "pr_palm+2", etc. The respective
+!--    user-profile-numbers have also to be used in routine user_statistics!
+!       CASE ( 'u*v*' )                      ! quantity string as given in
+!                                            ! data_output_pr_user
+!          index = pr_palm + 1
+!          dopr_index(var_count)  = index    ! quantities' user-profile-number
+!          dopr_unit(var_count)   = 'm2/s2'  ! quantity unit
+!          hom(:,2,index,:)       = SPREAD( zu, 2, statistic_regions+1 )
+!                                            ! grid on which the quantity is
+!                                            ! defined (use zu or zw)
+
+       CASE DEFAULT
+          unit = 'illegal'
+
+    END SELECT
+
+
+ END SUBROUTINE user_check_data_output_pr
+
Index: palm/tags/release-3.7/SOURCE/user_check_parameters.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_check_parameters.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_check_parameters.f90	(revision 393)
@@ -0,0 +1,30 @@
+ SUBROUTINE user_check_parameters
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 217 2008-12-09 18:00:48Z letzel
+! Initial version
+!
+! Description:
+! ------------
+! Check &userpar control parameters and deduce further quantities.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE user
+
+    IMPLICIT NONE
+
+!
+!-- Here the user may add code to check the validity of further &userpar 
+!-- control parameters or deduce further quantities.
+
+
+ END SUBROUTINE user_check_parameters
+
Index: palm/tags/release-3.7/SOURCE/user_data_output_2d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_data_output_2d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_data_output_2d.f90	(revision 393)
@@ -0,0 +1,78 @@
+ SUBROUTINE user_data_output_2d( av, variable, found, grid, local_pf, two_d )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 343 2009-06-24 12:59:09Z maronga
+! +dummy argument two_d
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Resorts the user-defined output quantity with indices (k,j,i) to a
+! temporary array with indices (i,j,k) and sets the grid on which it is defined.
+! Allowed values for grid are "zu" and "zw".
+!------------------------------------------------------------------------------!
+
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  grid, variable
+
+    INTEGER ::  av, i, j, k
+
+    LOGICAL ::  found, two_d
+
+    REAL, DIMENSION(nxl-1:nxr+1,nys-1:nyn+1,nzb:nzt+1) ::  local_pf
+
+
+    found = .TRUE.
+
+    SELECT CASE ( TRIM( variable ) )
+
+!
+!--    Uncomment and extend the following lines, if necessary.
+!--    The arrays for storing the user defined quantities (here u2 and u2_av)
+!--    have to be declared and defined by the user!
+!--    Sample for user-defined output:
+!       CASE ( 'u2_xy', 'u2_xz', 'u2_yz' )
+!          IF ( av == 0 )  THEN
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nzt+1
+!                      local_pf(i,j,k) = u2(k,j,i)
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+!          ELSE
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nzt+1
+!                      local_pf(i,j,k) = u2_av(k,j,i)
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+!          ENDIF
+!
+!          grid = 'zu'
+
+
+       CASE DEFAULT
+          found = .FALSE.
+          grid  = 'none'
+
+    END SELECT
+
+
+ END SUBROUTINE user_data_output_2d
+
Index: palm/tags/release-3.7/SOURCE/user_data_output_3d.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_data_output_3d.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_data_output_3d.f90	(revision 393)
@@ -0,0 +1,72 @@
+ SUBROUTINE user_data_output_3d( av, variable, found, local_pf, nz_do )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Resorts the user-defined output quantity with indices (k,j,i) to a
+! temporary array with indices (i,j,k).
+!------------------------------------------------------------------------------!
+
+    USE array_kind
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  variable
+
+    INTEGER ::  av, i, j, k, nz_do
+
+    LOGICAL ::  found
+
+    REAL(spk), DIMENSION(nxl-1:nxr+1,nys-1:nyn+1,nzb:nz_do) ::  local_pf
+
+
+    found = .TRUE.
+
+    SELECT CASE ( TRIM( variable ) )
+
+!
+!--    Uncomment and extend the following lines, if necessary.
+!--    The arrays for storing the user defined quantities (here u2 and u2_av)
+!--    have to be declared and defined by the user!
+!--    Sample for user-defined output:
+!       CASE ( 'u2' )
+!          IF ( av == 0 )  THEN
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nz_do
+!                      local_pf(i,j,k) = u2(k,j,i)
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+!          ELSE
+!             DO  i = nxl-1, nxr+1
+!                DO  j = nys-1, nyn+1
+!                   DO  k = nzb, nz_do
+!                      local_pf(i,j,k) = u2_av(k,j,i)
+!                   ENDDO
+!                ENDDO
+!             ENDDO
+!          ENDIF
+!
+
+       CASE DEFAULT
+          found = .FALSE.
+
+    END SELECT
+
+
+ END SUBROUTINE user_data_output_3d
+
Index: palm/tags/release-3.7/SOURCE/user_data_output_dvrp.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_data_output_dvrp.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_data_output_dvrp.f90	(revision 393)
@@ -0,0 +1,73 @@
+ SUBROUTINE user_data_output_dvrp( output_variable, local_pf )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 258 2009-03-13 12:36:03Z heinze
+! Output of messages replaced by message handling routine.
+! Clipping implemented
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Execution of user-defined dvrp output
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE dvrp_variables
+    USE indices
+    USE pegrid
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  output_variable
+
+    INTEGER ::  i, j, k
+
+    REAL, DIMENSION(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1,nzb:nz_do3d) ::  &
+                                                                       local_pf
+
+!
+!-- Here the user-defined DVRP output follows:
+
+!
+!-- Move original array to intermediate array
+    SELECT CASE ( output_variable )
+
+!       CASE ( 'u2', 'u2_xy', 'u2_xz', 'u2_yz'  )
+!!
+!!--       Here the user can add user_defined output quantities. 
+!!--       Uncomment and extend the following lines, if necessary.
+!          DO  i = nxl_dvrp, nxr_dvrp+1
+!             DO  j = nys_dvrp, nyn_dvrp+1
+!                DO  k = nzb, nz_do3d
+!                   local_pf(i,j,k) = u2(k,j,i)
+!                ENDDO
+!             ENDDO
+!          ENDDO
+
+
+       CASE DEFAULT
+!
+!--       The DEFAULT case is reached if output_variable contains a
+!--       wrong character string that is neither recognized in data_output_dvrp
+!--       nor here in user_data_output_dvrp.
+          WRITE( message_string, * ) 'no output possible for: ', &
+                                     output_variable
+          CALL message( 'user_data_output_dvrp', 'UI0003', 0, 0, 0, 6, 0 )
+          
+
+    END SELECT
+
+
+ END SUBROUTINE user_data_output_dvrp
+
Index: palm/tags/release-3.7/SOURCE/user_define_netcdf_grid.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_define_netcdf_grid.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_define_netcdf_grid.f90	(revision 393)
@@ -0,0 +1,55 @@
+ SUBROUTINE user_define_netcdf_grid( variable, found, grid_x, grid_y, grid_z )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Set the grids on which user-defined output quantities are defined.
+! Allowed values for grid_x are "x" and "xu", for grid_y "y" and "yv", and
+! for grid_z "zu" and "zw".
+!------------------------------------------------------------------------------!
+
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  grid_x, grid_y, grid_z, variable
+
+    LOGICAL ::  found
+
+
+    SELECT CASE ( TRIM( variable ) )
+
+!
+!--    Uncomment and extend the following lines, if necessary
+!       CASE ( 'u2', 'u2_xy', 'u2_xz', 'u2_yz' )
+!          grid_x = 'xu'
+!          grid_y = 'y'
+!          grid_z = 'zu'
+
+!       CASE ( 'u*v*', 'u*v*_xy', 'u*v*_xz', 'u*v*_yz' )
+!          grid_x = 'x'
+!          grid_y = 'y'
+!          grid_z = 'zu'
+
+       CASE DEFAULT
+          found  = .FALSE.
+          grid_x = 'none'
+          grid_y = 'none'
+          grid_z = 'none'
+
+    END SELECT
+
+
+ END SUBROUTINE user_define_netcdf_grid
+
Index: palm/tags/release-3.7/SOURCE/user_dvrp_coltab.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_dvrp_coltab.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_dvrp_coltab.f90	(revision 393)
@@ -0,0 +1,50 @@
+ SUBROUTINE user_dvrp_coltab( mode, variable )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 258 2009-03-13 12:36:03Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Definition of the colour table to be used by the dvrp software.
+!------------------------------------------------------------------------------!
+    
+    USE control_parameters
+    USE dvrp_variables
+    USE pegrid
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  mode
+    CHARACTER (LEN=*) ::  variable
+
+
+!
+!-- Here the user-defined actions follow
+    SELECT CASE ( mode )
+
+       CASE ( 'particles' )
+
+       CASE ( 'slicer' )
+
+       CASE DEFAULT
+          message_string = 'unknown mode "' // mode // '"'
+          CALL message( 'user_dvrp_coltab', 'UI0004', 1, 2, 0, 6, 0 )
+
+
+    END SELECT
+
+ END SUBROUTINE user_dvrp_coltab
+
Index: palm/tags/release-3.7/SOURCE/user_header.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_header.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_header.f90	(revision 393)
@@ -0,0 +1,63 @@
+ SUBROUTINE user_header( io )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 256 2009-03-08 08:56:27Z letzel
+! new topography case 'single_street_canyon'
+! topography_grid_convention moved to header
+!
+! 2008-12-09 18:00:48Z letzel
+! +topography_grid_convention
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Print a header with user-defined informations.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE statistics
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER ::  i, io
+
+!
+!-- If no user-defined variables are read from the namelist-file, no
+!-- informations will be printed.
+    IF ( .NOT. user_defined_namelist_found )  THEN
+       WRITE ( io, 100 )
+       RETURN
+    ENDIF
+
+!
+!-- Printing the informations.
+    WRITE ( io, 110 )
+
+    IF ( statistic_regions /= 0 )  THEN
+       WRITE ( io, 200 )
+       DO  i = 0, statistic_regions
+          WRITE ( io, 201 )  i, region(i)
+       ENDDO
+    ENDIF
+
+!
+!-- Format-descriptors
+100 FORMAT (//' *** no user-defined variables found'/)
+110 FORMAT (//1X,78('#')                                      &
+            //' User-defined variables and actions:'/  &
+              ' -----------------------------------'//)
+200 FORMAT (' Output of profiles and time series for following regions:' /)
+201 FORMAT (4X,'Region ',I1,':   ',A)
+
+
+ END SUBROUTINE user_header
+
Index: palm/tags/release-3.7/SOURCE/user_init.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_init.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_init.f90	(revision 393)
@@ -0,0 +1,51 @@
+ SUBROUTINE user_init
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Execution of user-defined initializing actions
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE indices
+    USE netcdf_control
+    USE pegrid
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=20) :: field_char
+!
+!-- Here the user-defined initializing actions follow:
+!-- Sample for user-defined output
+!    ALLOCATE( u2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+!    ALLOCATE( ustvst(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) );  ustvst = 0.0
+
+!-- Sample for user-defined time series
+!-- For each time series quantity you have to give a label and a unit,
+!-- which will be used for the NetCDF file. They must not contain more than
+!-- seven characters. The value of dots_num has to be increased by the
+!-- number of new time series quantities. Its old value has to be store in
+!-- dots_num_palm. See routine user_statistics on how to output calculate
+!-- and output these quantities.
+!    dots_label(dots_num+1) = 'abs_umx'
+!    dots_unit(dots_num+1)  = 'm/s'
+!    dots_label(dots_num+2) = 'abs_vmx'
+!    dots_unit(dots_num+2)  = 'm/s'
+!
+!    dots_num_palm = dots_num
+!    dots_num = dots_num + 2
+
+ END SUBROUTINE user_init
+
Index: palm/tags/release-3.7/SOURCE/user_init_3d_model.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_init_3d_model.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_init_3d_model.f90	(revision 393)
@@ -0,0 +1,32 @@
+ SUBROUTINE user_init_3d_model
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Allows the complete initialization of the 3d model.
+!
+! CAUTION: The user is responsible to set at least all those quantities which
+! ------   are normally set within init_3d_model!
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+
+ END SUBROUTINE user_init_3d_model
+
Index: palm/tags/release-3.7/SOURCE/user_init_grid.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_init_grid.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_init_grid.f90	(revision 393)
@@ -0,0 +1,69 @@
+ SUBROUTINE user_init_grid( gls, nzb_local )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 258 2009-03-13 12:36:03Z heinze
+! Output of messages replaced by message handling routine.
+! add 'single_street_canyon' as standard topography case
+! -topography_grid_convention
+!
+! 217 2008-12-09 18:00:48Z letzel
+! +topography_grid_convention
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Execution of user-defined grid initializing actions
+! First argument gls contains the number of ghost layers, which is > 1 if the
+! multigrid method for the pressure solver is used
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER ::  gls
+
+    INTEGER, DIMENSION(-gls:ny+gls,-gls:nx+gls) ::  nzb_local
+
+!
+!-- Here the user-defined grid initializing actions follow:
+
+!
+!-- Set the index array nzb_local for non-flat topography.
+!-- Here consistency checks concerning domain size and periodicity are necessary
+    SELECT CASE ( TRIM( topography ) )
+
+       CASE ( 'flat', 'single_building', 'single_street_canyon' )
+!
+!--       Not allowed here since these are the standard cases used in init_grid.
+
+       CASE ( 'user_defined_topography_1' )
+!
+!--       Here the user can define his own topography.
+!--       After definition, please remove the following three lines!
+          message_string = 'topography "' // topography // '" not available yet'
+          CALL message( 'user_init_grid', 'UI0005', 1, 2, 0, 6, 0 )
+
+       CASE DEFAULT
+!
+!--       The DEFAULT case is reached if the parameter topography contains a
+!--       wrong character string that is neither recognized in init_grid nor 
+!--       here in user_init_grid.
+          message_string = 'unknown topography "' // topography // '"'
+          CALL message( 'user_init_grid', 'UI0006', 1, 2, 0, 6, 0 )
+
+    END SELECT
+
+
+ END SUBROUTINE user_init_grid
+
Index: palm/tags/release-3.7/SOURCE/user_init_particles.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_init_particles.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_init_particles.f90	(revision 393)
@@ -0,0 +1,33 @@
+ SUBROUTINE user_init_particles
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Modification of initial particles by the user.
+!------------------------------------------------------------------------------!
+
+    USE particle_attributes
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER ::  n
+
+!
+!-- Here the user-defined actions follow
+!    DO  n = 1, number_of_initial_particles
+!    ENDDO
+
+ END SUBROUTINE user_init_particles
+
Index: palm/tags/release-3.7/SOURCE/user_init_plant_canopy.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_init_plant_canopy.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_init_plant_canopy.f90	(revision 393)
@@ -0,0 +1,80 @@
+ SUBROUTINE user_init_plant_canopy
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Initialisation of the leaf area density array (for scalar grid points) and 
+! the array of the canopy drag coefficient, if the user has not chosen any 
+! of the default cases 
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE indices
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER :: i, j 
+
+!
+!-- Here the user-defined grid initializing actions follow:
+
+!
+!-- Set the 3D-arrays lad_s and cdc for user defined canopies
+    SELECT CASE ( TRIM( canopy_mode ) )
+
+       CASE ( 'block' )
+!
+!--       Not allowed here since this is the standard case used in init_3d_model.
+
+       CASE ( 'user_defined_canopy_1' )
+!
+!--       Here the user can define his own topography. 
+!--       The following lines contain an example in that the 
+!--       plant canopy extends only over the second half of the 
+!--       model domain along x
+!          DO  i = nxl-1, nxr+1
+!             IF ( i >= INT(nx+1/2) ) THEN
+!                DO  j = nys-1, nyn+1
+!                   lad_s(:,j,i) = lad(:)
+!                   cdc(:,j,i)   = drag_coefficient
+!                ENDDO
+!             ELSE
+!                lad_s(:,:,i) = 0.0
+!                cdc(:,:,i)   = 0.0
+!             ENDIF
+!          ENDDO 
+!--       After definition, please
+!--       remove the following three lines!
+          message_string = 'canopy_mode "' // canopy_mode // &
+                           '" not available yet'
+          CALL message( 'user_init_plant_canopy', 'UI0007', 0, 1, 0, 6, 0 )
+          
+       CASE DEFAULT
+!
+!--       The DEFAULT case is reached if the parameter canopy_mode contains a
+!--       wrong character string that is neither recognized in init_3d_model nor
+!--       here in user_init_plant_canopy.
+          message_string = 'unknown canopy_mode "' // canopy_mode // '"'
+          CALL message( 'user_init_plant_canopy', 'UI0008', 1, 2, 0, 6, 0 )
+
+    END SELECT
+
+
+ END SUBROUTINE user_init_plant_canopy
+
Index: palm/tags/release-3.7/SOURCE/user_last_actions.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_last_actions.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_last_actions.f90	(revision 393)
@@ -0,0 +1,41 @@
+ SUBROUTINE user_last_actions
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 366 2009-08-25 08:06:27Z raasch
+! Output on unit 14 only if requested by write_binary
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Execution of user-defined actions at the end of a job.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE user
+
+    IMPLICIT NONE
+
+!
+!-- Here the user-defined actions at the end of a job follow.
+!-- Sample for user-defined output:
+    IF ( write_binary(1:4) == 'true' )  THEN
+!       IF ( ALLOCATED( u2_av ) )  THEN
+!          WRITE ( 14 )  'u2_av               ';  WRITE ( 14 )  u2_av
+!       ENDIF
+
+       WRITE ( 14 )  '*** end user ***    '
+
+    ENDIF
+
+ END SUBROUTINE user_last_actions
+
Index: palm/tags/release-3.7/SOURCE/user_module.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_module.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_module.f90	(revision 393)
@@ -0,0 +1,51 @@
+ MODULE user
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 220 2008-12-18 07:00:36Z raasch
+! Former file user_interface.f90 split into one file per subroutine,
+! revision history cleaned up
+!
+! 159 2008-04-09 08:06:03Z raasch
+! bugfix in user_read_restart_data
+! small bugfixes for sample code (comments):
+! - initialize ustvst with 0.0 as it is now computed only until nxr and nyn
+! - two ALLOCATE statements moved from user_read_restart_data back to user_init
+! - remove 'READ (13) u2_av' statement in user_read_restart_data
+! +routines user_read_restart_data, user_spectra
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.18  2006/06/02 15:25:00  raasch
+! +change of grid-defining arguments in routine user_define_netcdf_grid,
+! new argument "found" in user_data_output_2d and user_data_output_3d
+!
+! Revision 1.1  1998/03/24 15:29:04  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Declaration of user-defined variables. This module may only be used
+! in the user-defined routines (contained in user_interface.f90).
+!------------------------------------------------------------------------------!
+
+    INTEGER ::  dots_num_palm, user_idummy
+    LOGICAL ::  user_defined_namelist_found = .FALSE.
+    REAL    ::  user_rdummy
+
+!
+!-- Sample for user-defined output
+!    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  u2, u2_av
+!    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  ustvst
+
+    SAVE
+
+ END MODULE user
Index: palm/tags/release-3.7/SOURCE/user_parin.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_parin.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_parin.f90	(revision 393)
@@ -0,0 +1,94 @@
+ SUBROUTINE user_parin
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+! topography_grid_convention moved to inipar
+!
+! 217 2008-12-09 18:00:48Z letzel
+! +topography_grid_convention
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Interface to read user-defined namelist-parameters.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE pegrid
+    USE statistics
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=80) ::  zeile
+
+    INTEGER ::  i, j, max_pr_user_tmp
+
+
+    NAMELIST /userpar/  data_output_pr_user, data_output_user, region
+
+!
+!-- Position the namelist-file at the beginning (it was already opened in
+!-- parin), search for user-defined namelist-group ("userpar", but any other
+!-- name can be choosed) and position the file at this line.
+    REWIND ( 11 )
+
+    zeile = ' '
+    DO   WHILE ( INDEX( zeile, '&userpar' ) == 0 )
+       READ ( 11, '(A)', END=100 )  zeile
+    ENDDO
+    BACKSPACE ( 11 )
+
+!
+!-- Read user-defined namelist
+    READ ( 11, userpar )
+    user_defined_namelist_found = .TRUE.
+
+!
+!-- Determine the number of user-defined profiles and append them to the
+!-- standard data output (data_output_pr)
+    max_pr_user_tmp = 0
+    IF ( data_output_pr_user(1) /= ' ' )  THEN
+       i = 1
+       DO  WHILE ( data_output_pr(i) /= ' '  .AND.  i <= 100 )
+          i = i + 1
+       ENDDO
+       j = 1
+       DO  WHILE ( data_output_pr_user(j) /= ' '  .AND.  j <= 100 )
+          data_output_pr(i) = data_output_pr_user(j)
+          max_pr_user_tmp   = max_pr_user_tmp + 1
+          i = i + 1
+          j = j + 1
+       ENDDO
+    ENDIF
+
+!
+!-- In case of a restart run, the number of user-defined profiles on the
+!-- restart file (already stored in max_pr_user) has to match the one given
+!-- for the current run
+    IF ( TRIM( initializing_actions ) == 'read_restart_data' )  THEN
+       IF ( max_pr_user /= max_pr_user_tmp )  THEN
+          WRITE( message_string, * ) 'the number of user-defined profiles ', &
+                     'given in &data_output_pr (', max_pr_user_tmp, ') doe', &
+                     'snot match the one ',                                  &
+                     '&found in the restart file (', max_pr_user,            &
+                                     ')'
+          CALL message( 'user_parin', 'UI0009', 1, 2, 0, 6, 0 )
+       ENDIF
+    ELSE
+       max_pr_user = max_pr_user_tmp
+    ENDIF
+
+100 RETURN
+
+ END SUBROUTINE user_parin
+
Index: palm/tags/release-3.7/SOURCE/user_particle_attributes.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_particle_attributes.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_particle_attributes.f90	(revision 393)
@@ -0,0 +1,33 @@
+ SUBROUTINE user_particle_attributes
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Define the actual particle attributes (size, colour) by the user.
+!------------------------------------------------------------------------------!
+
+    USE particle_attributes
+    USE user
+
+    IMPLICIT NONE
+
+    INTEGER ::  n
+
+!
+!-- Here the user-defined actions follow
+!    DO  n = 1, number_of_initial_particles
+!    ENDDO
+
+ END SUBROUTINE user_particle_attributes
+
Index: palm/tags/release-3.7/SOURCE/user_read_restart_data.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_read_restart_data.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_read_restart_data.f90	(revision 393)
@@ -0,0 +1,101 @@
+ SUBROUTINE user_read_restart_data( i, nxlfa, nxl_on_file, nxrfa, nxr_on_file, &
+                                    nynfa, nyn_on_file, nysfa, nys_on_file,    &
+                                    offset_xa, offset_ya, overlap_count,       &
+                                    tmp_2d, tmp_3d )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 220 2008-12-18 07:00:36Z raasch
+! reading mechanism revised (subdomain/total domain size can vary arbitrarily
+! between current and previous run),
+! former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Reading restart data from file(s)
+! Subdomain index limits on file are given by nxl_on_file, etc.
+! Indices nxlc, etc. indicate the range of gridpoints to be mapped from the
+! subdomain on file (f) to the subdomain of the current PE (c). They have been
+! calculated in routine read_3d_binary.
+!------------------------------------------------------------------------------!
+
+    USE control_parameters
+    USE indices
+    USE pegrid
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=20) :: field_char
+
+    INTEGER ::  i, k, nxlc, nxlf, nxl_on_file, nxrc, nxrf, nxr_on_file, nync, &
+                nynf, nyn_on_file, nysc, nysf, nys_on_file, overlap_count
+
+    INTEGER, DIMENSION(numprocs_previous_run,1000) ::  nxlfa, nxrfa, nynfa, &
+                                                       nysfa, offset_xa, &
+                                                       offset_ya
+
+    REAL, DIMENSION(nys_on_file-1:nyn_on_file+1,nxl_on_file-1:nxr_on_file+1) ::&
+          tmp_2d
+
+    REAL, DIMENSION(nzb:nzt+1,nys_on_file-1:nyn_on_file+1, &
+                    nxl_on_file-1:nxr_on_file+1) ::        &
+          tmp_3d
+
+!
+!-- Here the reading of user-defined restart data follows:
+!-- Sample for user-defined output
+!
+!    IF ( initializing_actions == 'read_restart_data' )  THEN
+!       READ ( 13 )  field_char
+!       DO  WHILE ( TRIM( field_char ) /= '*** end user ***' )
+!
+!          DO  k = 1, overlap_count
+!
+!             nxlf = nxlfa(i,k)
+!             nxlc = nxlfa(i,k) + offset_xa(i,k)
+!             nxrf = nxrfa(i,k)
+!             nxrc = nxrfa(i,k) + offset_xa(i,k)
+!             nysf = nysfa(i,k)
+!             nysc = nysfa(i,k) + offset_ya(i,k)
+!             nynf = nynfa(i,k)
+!             nync = nynfa(i,k) + offset_ya(i,k)
+!
+!
+!             SELECT CASE ( TRIM( field_char ) )
+!
+!                CASE ( 'u2_av' )
+!                   IF ( .NOT. ALLOCATED( u2_av ) ) THEN
+!                      ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
+!                   ENDIF
+!                   IF ( k == 1 )  READ ( 13 )  tmp_3d
+!                   u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
+!                                          tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
+!
+!                CASE DEFAULT
+!                   WRITE( message_string, * ) 'unknown variable named "',  &
+!                                         TRIM( field_char ), '" found in', &
+!                                         '&data from prior run on PE ', myid
+!                   CALL message( 'user_spectra', 'UI0012', 1, 2, 0, 6, 0 )
+!
+!             END SELECT
+!
+!          ENDDO
+!
+!          READ ( 13 )  field_char
+!
+!       ENDDO
+!    ENDIF
+
+ END SUBROUTINE user_read_restart_data
+
Index: palm/tags/release-3.7/SOURCE/user_spectra.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_spectra.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_spectra.f90	(revision 393)
@@ -0,0 +1,85 @@
+ SUBROUTINE user_spectra( mode, m, pr )
+
+!------------------------------------------------------------------------------!
+! Current revisions:
+! -----------------
+!  
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 274 2009-03-26 15:11:21Z heinze
+! Output of messages replaced by message handling routine.
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Calculation of user-defined spectra.
+! See section 3.5.4 on how to define, calculate, and output user defined
+! quantities.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE control_parameters
+    USE indices
+    USE spectrum
+    USE statistics
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  mode
+
+    INTEGER ::  i, j, k, m, pr
+
+
+!
+!-- Sample on how to calculate spectra of user-defined quantities. 
+!-- Each quantity is identified by the corresponding user profile index
+!-- "pr_palm+#" where "#" is an integer starting from 1. These
+!-- user-profile-numbers must also be assigned to the respective strings
+!-- given by data_output_pr_user in routine user_check_data_output_pr.
+    IF ( mode == 'preprocess' )  THEN
+
+       SELECT CASE ( TRIM( data_output_sp(m) ) )
+          
+          CASE ( 'u', 'v', 'w', 'pt', 'q' )
+!--          Not allowed here since these are the standard quantities used in 
+!--          preprocess_spectra.
+       
+!          CASE ( 'u*v*' )
+!             pr = pr_palm+1
+!             d(nzb+1:nzt,nys:nyn,nxl:nxr) = ustvst(nzb+1:nzt,nys:nyn,nxl:nxr)
+       
+          CASE DEFAULT
+             message_string = 'Spectra of ' // &
+                         TRIM( data_output_sp(m) ) // ' can not be calculated'
+             CALL message( 'user_spectra', 'UI0010', 0, 0, 0, 6, 0 )
+            
+       END SELECT
+
+    ELSEIF ( mode == 'data_output' )  THEN
+
+       SELECT CASE ( TRIM( data_output_sp(m) ) )
+
+          CASE ( 'u', 'v', 'w', 'pt', 'q' )
+!--          Not allowed here since these are the standard quantities used in 
+!--          data_output_spectra.
+
+!          CASE ( 'u*v*' )
+!             pr = 6
+
+          CASE DEFAULT
+             message_string = 'Spectra of ' //  &
+                              TRIM( data_output_sp(m) ) // ' are not defined'
+             CALL message( 'user_spectra', 'UI0011', 0, 0, 0, 6, 0 )
+             
+          END SELECT
+
+    ENDIF
+
+ END SUBROUTINE user_spectra
+
Index: palm/tags/release-3.7/SOURCE/user_statistics.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/user_statistics.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/user_statistics.f90	(revision 393)
@@ -0,0 +1,78 @@
+ SUBROUTINE user_statistics( mode, sr, tn )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 211 2008-11-11 04:46:24Z raasch
+! Former file user_interface.f90 split into one file per subroutine
+!
+! Description:
+! ------------
+! Calculation of user-defined statistics, i.e. horizontally averaged profiles
+! and time series.
+! This routine is called for every statistic region sr defined by the user,
+! but at least for the region "total domain" (sr=0).
+! See section 3.5.4 on how to define, calculate, and output user defined
+! quantities.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE indices
+    USE statistics
+    USE user
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=*) ::  mode
+
+    INTEGER ::  i, j, k, sr, tn
+
+
+    IF ( mode == 'profiles' )  THEN
+
+!
+!--    Sample on how to calculate horizontally averaged profiles of user-
+!--    defined quantities. Each quantity is identified by the index
+!--    "pr_palm+#" where "#" is an integer starting from 1. These
+!--    user-profile-numbers must also be assigned to the respective strings
+!--    given by data_output_pr_user in routine user_check_data_output_pr.
+!       !$OMP DO
+!       DO  i = nxl, nxr
+!          DO  j = nys, nyn
+!             DO  k = nzb_s_inner(j,i)+1, nzt
+!!
+!!--             Sample on how to calculate the profile of the resolved-scale
+!!--             horizontal momentum flux u*v*
+!                sums_l(k,pr_palm+1,tn) = sums_l(k,pr_palm+1,tn) +           &
+!                      ( 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - hom(k,1,1,sr) ) * &
+!                      ( 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - hom(k,1,2,sr) )   &
+!                                                 * rmask(j,i,sr)
+!!
+!!--             Further profiles can be defined and calculated by increasing
+!!--             the second index of array sums_l (replace ... appropriately)
+!                sums_l(k,pr_palm+2,tn) = sums_l(k,pr_palm+2,tn) + ... &
+!                                         * rmask(j,i,sr)
+!             ENDDO
+!          ENDDO
+!       ENDDO
+
+    ELSEIF ( mode == 'time_series' )  THEN
+
+!
+!--    Sample on how to add values for the user-defined time series quantities.
+!--    These have to be defined before in routine user_init. This sample
+!--    creates two time series for the absolut values of the horizontal
+!--    velocities u and v.
+!       ts_value(dots_num_palm+1,sr) = ABS( u_max )
+!       ts_value(dots_num_palm+2,sr) = ABS( v_max )
+
+    ENDIF
+
+ END SUBROUTINE user_statistics
+
Index: palm/tags/release-3.7/SOURCE/wall_fluxes.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/wall_fluxes.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/wall_fluxes.f90	(revision 393)
@@ -0,0 +1,561 @@
+ MODULE wall_fluxes_mod
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 187 2008-08-06 16:25:09Z letzel
+! Bugfix: Modification of the evaluation of the vertical turbulent momentum 
+! fluxes u'w' and v'w (see prandtl_fluxes), this requires the calculation of
+! us_wall (and vel_total, u_i, v_i, ws) also in wall_fluxes_e.
+! Bugfix: change definition of us_wall from 1D to 2D
+! Bugfix: storage of rifs to rifs_wall in wall_fluxes_e removed
+! Change: add 'minus' sign to fluxes produced by subroutine wall_fluxes_e for 
+! consistency with subroutine wall_fluxes
+! Change: Modification of the integrated version of the profile function for 
+! momentum for unstable stratification
+!
+! Initial version (2007/03/07)
+!
+! Description:
+! ------------
+! Calculates momentum fluxes at vertical walls assuming Monin-Obukhov
+! similarity.
+! Indices: usvs a=1, vsus b=1, wsvs c1=1, wsus c2=1 (other=0).
+! The all-gridpoint version of wall_fluxes_e is not used so far, because
+! it gives slightly different results from the ij-version for some unknown
+! reason.
+!------------------------------------------------------------------------------!
+    PRIVATE
+    PUBLIC wall_fluxes, wall_fluxes_e
+    
+    INTERFACE wall_fluxes
+       MODULE PROCEDURE wall_fluxes
+       MODULE PROCEDURE wall_fluxes_ij
+    END INTERFACE wall_fluxes
+    
+    INTERFACE wall_fluxes_e
+       MODULE PROCEDURE wall_fluxes_e
+       MODULE PROCEDURE wall_fluxes_e_ij
+    END INTERFACE wall_fluxes_e
+ 
+ CONTAINS
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE wall_fluxes( wall_flux, a, b, c1, c2, nzb_uvw_inner, &
+                            nzb_uvw_outer, wall )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, wall_index
+
+       INTEGER, DIMENSION(nys-1:nyn+1,nxl-1:nxr+1) ::  nzb_uvw_inner, &
+                                                       nzb_uvw_outer
+       REAL ::  a, b, c1, c2, h1, h2, zp
+       REAL ::  pts, pt_i, rifs, u_i, v_i, us_wall, vel_total, ws, wspts
+
+       REAL, DIMENSION(nys-1:nyn+1,nxl-1:nxr+1)   ::  wall
+       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  wall_flux
+
+
+       zp         = 0.5 * ( (a+c1) * dy + (b+c2) * dx )
+       wall_flux  = 0.0
+       wall_index = NINT( a+ 2*b + 3*c1 + 4*c2 )
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+
+             IF ( wall(j,i) /= 0.0 )  THEN
+!
+!--             All subsequent variables are computed for the respective
+!--             location where the respective flux is defined.
+                DO  k = nzb_uvw_inner(j,i)+1, nzb_uvw_outer(j,i)
+
+!
+!--                (1) Compute rifs, u_i, v_i, ws, pt' and w'pt'
+                   rifs  = rif_wall(k,j,i,wall_index)
+
+                   u_i   = a * u(k,j,i) + c1 * 0.25 * &
+                           ( u(k+1,j,i+1) + u(k+1,j,i) + u(k,j,i+1) + u(k,j,i) )
+
+                   v_i   = b * v(k,j,i) + c2 * 0.25 * &
+                           ( v(k+1,j+1,i) + v(k+1,j,i) + v(k,j+1,i) + v(k,j,i) )
+
+                   ws    = ( c1 + c2 ) * w(k,j,i) + 0.25 * (                   &
+                     a * ( w(k-1,j,i-1) + w(k-1,j,i) + w(k,j,i-1) + w(k,j,i) ) &
+                   + b * ( w(k-1,j-1,i) + w(k-1,j,i) + w(k,j-1,i) + w(k,j,i) ) &
+                                                           )
+                   pt_i  = 0.5 * ( pt(k,j,i) + a *  pt(k,j,i-1) + &
+                                   b * pt(k,j-1,i) + ( c1 + c2 ) * pt(k+1,j,i) )
+
+                   pts   = pt_i - hom(k,1,4,0)
+                   wspts = ws * pts
+
+!
+!--                (2) Compute wall-parallel absolute velocity vel_total
+                   vel_total = SQRT( ws**2 + (a+c1) * u_i**2 + (b+c2) * v_i**2 )
+
+!
+!--                (3) Compute wall friction velocity us_wall
+                   IF ( rifs >= 0.0 )  THEN
+
+!
+!--                   Stable stratification (and neutral)
+                      us_wall = kappa * vel_total / ( LOG( zp / z0(j,i) ) +    &
+                                            5.0 * rifs * ( zp - z0(j,i) ) / zp &
+                                                    )
+                   ELSE
+
+!
+!--                   Unstable stratification
+                      h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+                      h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+                      us_wall = kappa * vel_total / (                          &
+                           LOG( zp / z0(j,i) ) -                               &
+                           LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                                ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                                2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                    )
+                   ENDIF
+
+!
+!--                (4) Compute zp/L (corresponds to neutral Richardson flux
+!--                    number rifs)
+                   rifs = -1.0 * zp * kappa * g * wspts / ( pt_i * &
+                                                        ( us_wall**3 + 1E-30 ) )
+
+!
+!--                Limit the value range of the Richardson numbers.
+!--                This is necessary for very small velocities (u,w --> 0),
+!--                because the absolute value of rif can then become very
+!--                large, which in consequence would result in very large
+!--                shear stresses and very small momentum fluxes (both are
+!--                generally unrealistic).
+                   IF ( rifs < rif_min )  rifs = rif_min
+                   IF ( rifs > rif_max )  rifs = rif_max
+
+!
+!--                (5) Compute wall_flux (u'v', v'u', w'v', or w'u')
+                   IF ( rifs >= 0.0 )  THEN
+
+!
+!--                   Stable stratification (and neutral)
+                      wall_flux(k,j,i) = kappa *                               &
+                              ( a*u(k,j,i) + b*v(k,j,i) + (c1+c2)*w(k,j,i) ) / &
+                              (  LOG( zp / z0(j,i) ) +                         &
+                                 5.0 * rifs * ( zp - z0(j,i) ) / zp            &
+                              )
+                   ELSE
+
+!
+!--                   Unstable stratification
+                      h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+                      h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+                      wall_flux(k,j,i) = kappa *                               &
+                           ( a*u(k,j,i) + b*v(k,j,i) + (c1+c2)*w(k,j,i) ) / (  &
+                           LOG( zp / z0(j,i) ) -                               &
+                           LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                                ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                                2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                                            )
+                   ENDIF
+                   wall_flux(k,j,i) = -wall_flux(k,j,i) * us_wall
+
+!
+!--                store rifs for next time step
+                   rif_wall(k,j,i,wall_index) = rifs
+
+                ENDDO
+
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE wall_fluxes
+
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE wall_fluxes_ij( i, j, nzb_w, nzt_w, wall_flux, a, b, c1, c2 )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, nzb_w, nzt_w, wall_index
+       REAL    ::  a, b, c1, c2, h1, h2, zp
+
+       REAL ::  pts, pt_i, rifs, u_i, v_i, us_wall, vel_total, ws, wspts
+
+       REAL, DIMENSION(nzb:nzt+1) ::  wall_flux
+
+
+       zp         = 0.5 * ( (a+c1) * dy + (b+c2) * dx )
+       wall_flux  = 0.0
+       wall_index = NINT( a+ 2*b + 3*c1 + 4*c2 )
+
+!
+!--    All subsequent variables are computed for the respective location where 
+!--    the respective flux is defined.
+       DO  k = nzb_w, nzt_w
+
+!
+!--       (1) Compute rifs, u_i, v_i, ws, pt' and w'pt'
+          rifs  = rif_wall(k,j,i,wall_index)
+
+          u_i   = a * u(k,j,i) + c1 * 0.25 * &
+                  ( u(k+1,j,i+1) + u(k+1,j,i) + u(k,j,i+1) + u(k,j,i) )
+
+          v_i   = b * v(k,j,i) + c2 * 0.25 * &
+                  ( v(k+1,j+1,i) + v(k+1,j,i) + v(k,j+1,i) + v(k,j,i) )
+
+          ws    = ( c1 + c2 ) * w(k,j,i) + 0.25 * (                            &
+                     a * ( w(k-1,j,i-1) + w(k-1,j,i) + w(k,j,i-1) + w(k,j,i) ) &
+                   + b * ( w(k-1,j-1,i) + w(k-1,j,i) + w(k,j-1,i) + w(k,j,i) ) &
+                                                  )
+          pt_i  = 0.5 * ( pt(k,j,i) + a *  pt(k,j,i-1) + b * pt(k,j-1,i)  &
+                          + ( c1 + c2 ) * pt(k+1,j,i) )
+
+          pts   = pt_i - hom(k,1,4,0)
+          wspts = ws * pts
+
+!
+!--       (2) Compute wall-parallel absolute velocity vel_total
+          vel_total = SQRT( ws**2 + ( a+c1 ) * u_i**2 + ( b+c2 ) * v_i**2 )
+
+!
+!--       (3) Compute wall friction velocity us_wall
+          IF ( rifs >= 0.0 )  THEN
+
+!
+!--          Stable stratification (and neutral)
+             us_wall = kappa * vel_total / ( LOG( zp / z0(j,i) ) +             &
+                                            5.0 * rifs * ( zp - z0(j,i) ) / zp &
+                                           )
+          ELSE
+
+!
+!--          Unstable stratification
+             h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+             h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+             us_wall = kappa * vel_total / (                          &
+                  LOG( zp / z0(j,i) ) -                               &
+                  LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                       ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                       2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                           )
+          ENDIF
+
+!
+!--       (4) Compute zp/L (corresponds to neutral Richardson flux number 
+!--           rifs)
+          rifs = -1.0 * zp * kappa * g * wspts / ( pt_i * (us_wall**3 + 1E-30) )
+
+!
+!--       Limit the value range of the Richardson numbers.
+!--       This is necessary for very small velocities (u,w --> 0), because
+!--       the absolute value of rif can then become very large, which in
+!--       consequence would result in very large shear stresses and very
+!--       small momentum fluxes (both are generally unrealistic).
+          IF ( rifs < rif_min )  rifs = rif_min
+          IF ( rifs > rif_max )  rifs = rif_max
+
+!
+!--       (5) Compute wall_flux (u'v', v'u', w'v', or w'u')
+          IF ( rifs >= 0.0 )  THEN
+
+!
+!--          Stable stratification (and neutral)
+             wall_flux(k) = kappa *                                          &
+                            ( a*u(k,j,i) + b*v(k,j,i) + (c1+c2)*w(k,j,i) ) / &
+                            (  LOG( zp / z0(j,i) ) +                         &
+                               5.0 * rifs * ( zp - z0(j,i) ) / zp            &
+                            )
+          ELSE
+
+!
+!--          Unstable stratification
+             h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+             h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+             wall_flux(k) = kappa *                               &
+                  ( a*u(k,j,i) + b*v(k,j,i) + (c1+c2)*w(k,j,i) ) / (  &
+                  LOG( zp / z0(j,i) ) -                               &
+                  LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                       ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                       2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                                   )
+          ENDIF
+          wall_flux(k) = -wall_flux(k) * us_wall
+
+!
+!--       store rifs for next time step
+          rif_wall(k,j,i,wall_index) = rifs
+
+       ENDDO
+
+    END SUBROUTINE wall_fluxes_ij
+
+
+
+!------------------------------------------------------------------------------!
+! Call for all grid points
+!------------------------------------------------------------------------------!
+    SUBROUTINE wall_fluxes_e( wall_flux, a, b, c1, c2, wall )
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+! Calculates momentum fluxes at vertical walls for routine production_e
+! assuming Monin-Obukhov similarity.
+! Indices: usvs a=1, vsus b=1, wsvs c1=1, wsus c2=1 (other=0).
+!------------------------------------------------------------------------------!
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, kk, wall_index
+       REAL    ::  a, b, c1, c2, h1, h2, u_i, v_i, us_wall, vel_total, vel_zp, &
+                   ws, zp
+
+       REAL ::  rifs
+
+       REAL, DIMENSION(nys-1:nyn+1,nxl-1:nxr+1)   ::  wall
+       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  wall_flux
+
+
+       zp         = 0.5 * ( (a+c1) * dy + (b+c2) * dx )
+       wall_flux  = 0.0
+       wall_index = NINT( a+ 2*b + 3*c1 + 4*c2 )
+
+       DO  i = nxl, nxr
+          DO  j = nys, nyn
+
+             IF ( wall(j,i) /= 0.0 )  THEN
+!
+!--             All subsequent variables are computed for scalar locations.
+                DO  k = nzb_diff_s_inner(j,i)-1, nzb_diff_s_outer(j,i)-2
+!
+!--                (1) Compute rifs, u_i, v_i, and ws
+                   IF ( k == nzb_diff_s_inner(j,i)-1 )  THEN
+                      kk = nzb_diff_s_inner(j,i)-1
+                   ELSE
+                      kk = k-1
+                   ENDIF
+                   rifs  = 0.5 * ( rif_wall(k,j,i,wall_index) +                &
+                          a * rif_wall(k,j,i+1,1) +  b * rif_wall(k,j+1,i,2) + &
+                          c1 * rif_wall(kk,j,i,3) + c2 * rif_wall(kk,j,i,4)    &
+                                 )
+
+                   u_i   = 0.5 * ( u(k,j,i) + u(k,j,i+1) )
+                   v_i   = 0.5 * ( v(k,j,i) + v(k,j+1,i) )
+                   ws    = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
+!
+!--                (2) Compute wall-parallel absolute velocity vel_total and
+!--                interpolate appropriate velocity component vel_zp.
+                   vel_total = SQRT( ws**2 + (a+c1) * u_i**2 + (b+c2) * v_i**2 )
+                   vel_zp = 0.5 * ( a * u_i + b * v_i + (c1+c2) * ws )
+!
+!--                (3) Compute wall friction velocity us_wall
+                   IF ( rifs >= 0.0 )  THEN
+
+!
+!--                   Stable stratification (and neutral)
+                      us_wall = kappa * vel_total / ( LOG( zp / z0(j,i) ) +    &
+                                            5.0 * rifs * ( zp - z0(j,i) ) / zp &
+                                                    )
+                   ELSE
+
+!
+!--                   Unstable stratification
+                      h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+                      h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+                      us_wall = kappa * vel_total / (                          &
+                           LOG( zp / z0(j,i) ) -                               &
+                           LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                                ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                                2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                    )
+                   ENDIF
+
+!
+!--                Skip step (4) of wall_fluxes, because here rifs is already
+!--                available from (1)
+!
+!--                (5) Compute wall_flux (u'v', v'u', w'v', or w'u')
+
+                   IF ( rifs >= 0.0 )  THEN
+
+!
+!--                   Stable stratification (and neutral)
+                      wall_flux(k,j,i) = kappa *  vel_zp / &
+                          ( LOG( zp/z0(j,i) ) + 5.0*rifs * ( zp-z0(j,i) ) / zp )
+                   ELSE
+
+!
+!--                   Unstable stratification
+                      h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+                      h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+                      wall_flux(k,j,i) = kappa * vel_zp / (                    &
+                           LOG( zp / z0(j,i) ) -                               &
+                           LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                                ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                                2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                          )
+                   ENDIF
+                   wall_flux(k,j,i) = - wall_flux(k,j,i) * us_wall
+
+                ENDDO
+
+             ENDIF
+
+          ENDDO
+       ENDDO
+
+    END SUBROUTINE wall_fluxes_e
+
+
+
+!------------------------------------------------------------------------------!
+! Call for grid point i,j
+!------------------------------------------------------------------------------!
+    SUBROUTINE wall_fluxes_e_ij( i, j, nzb_w, nzt_w, wall_flux, a, b, c1, c2 )
+
+       USE arrays_3d
+       USE control_parameters
+       USE grid_variables
+       USE indices
+       USE statistics
+
+       IMPLICIT NONE
+
+       INTEGER ::  i, j, k, kk, nzb_w, nzt_w, wall_index
+       REAL    ::  a, b, c1, c2, h1, h2, u_i, v_i, us_wall, vel_total, vel_zp, &
+                   ws, zp
+
+       REAL ::  rifs
+
+       REAL, DIMENSION(nzb:nzt+1) ::  wall_flux
+
+
+       zp         = 0.5 * ( (a+c1) * dy + (b+c2) * dx )
+       wall_flux  = 0.0
+       wall_index = NINT( a+ 2*b + 3*c1 + 4*c2 )
+
+!
+!--    All subsequent variables are computed for scalar locations.
+       DO  k = nzb_w, nzt_w
+
+!
+!--       (1) Compute rifs, u_i, v_i, and ws
+          IF ( k == nzb_w )  THEN
+             kk = nzb_w
+          ELSE
+             kk = k-1
+          ENDIF
+          rifs  = 0.5 * ( rif_wall(k,j,i,wall_index) +                         &
+                          a * rif_wall(k,j,i+1,1) +  b * rif_wall(k,j+1,i,2) + &
+                          c1 * rif_wall(kk,j,i,3) + c2 * rif_wall(kk,j,i,4)    &
+                        )
+
+          u_i   = 0.5 * ( u(k,j,i) + u(k,j,i+1) )
+          v_i   = 0.5 * ( v(k,j,i) + v(k,j+1,i) )
+          ws    = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
+!
+!--       (2) Compute wall-parallel absolute velocity vel_total and
+!--       interpolate appropriate velocity component vel_zp.
+          vel_total = SQRT( ws**2 + (a+c1) * u_i**2 + (b+c2) * v_i**2 )
+          vel_zp = 0.5 * ( a * u_i + b * v_i + (c1+c2) * ws )
+!
+!--       (3) Compute wall friction velocity us_wall
+          IF ( rifs >= 0.0 )  THEN
+
+!
+!--          Stable stratification (and neutral)
+             us_wall = kappa * vel_total / ( LOG( zp / z0(j,i) ) +             &
+                                            5.0 * rifs * ( zp - z0(j,i) ) / zp &
+                                           )
+          ELSE
+
+!
+!--          Unstable stratification
+             h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+             h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+             us_wall = kappa * vel_total / (                          &
+                  LOG( zp / z0(j,i) ) -                               &
+                  LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                       ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                       2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                           )
+          ENDIF
+
+!
+!--       Skip step (4) of wall_fluxes, because here rifs is already
+!--       available from (1)
+!
+!--       (5) Compute wall_flux (u'v', v'u', w'v', or w'u')
+!--       First interpolate the velocity (this is different from 
+!--       subroutine wall_fluxes because fluxes in subroutine 
+!--       wall_fluxes_e are defined at scalar locations).
+          vel_zp = 0.5 * (       a * ( u(k,j,i) + u(k,j,i+1) ) +  &
+                                 b * ( v(k,j,i) + v(k,j+1,i) ) +  &
+                           (c1+c2) * ( w(k,j,i) + w(k-1,j,i) )    &
+                         )
+
+          IF ( rifs >= 0.0 )  THEN
+
+!
+!--          Stable stratification (and neutral)
+             wall_flux(k) = kappa *  vel_zp / &
+                          ( LOG( zp/z0(j,i) ) + 5.0*rifs * ( zp-z0(j,i) ) / zp )
+          ELSE
+
+!
+!--          Unstable stratification
+             h1 = SQRT( SQRT( 1.0 - 16.0 * rifs ) )
+             h2 = SQRT( SQRT( 1.0 - 16.0 * rifs * z0(j,i) / zp ) )
+
+             wall_flux(k) = kappa * vel_zp / (                        &
+                  LOG( zp / z0(j,i) ) -                               &
+                  LOG( ( 1.0 + h1 )**2 * ( 1.0 + h1**2 ) / (          &
+                       ( 1.0 + h2 )**2 * ( 1.0 + h2**2 )   ) ) +      &
+                       2.0 * ( ATAN( h1 ) - ATAN( h2 ) )              &
+                                                 )
+          ENDIF
+          wall_flux(k) = - wall_flux(k) * us_wall
+
+       ENDDO
+
+    END SUBROUTINE wall_fluxes_e_ij
+
+ END MODULE wall_fluxes_mod
Index: palm/tags/release-3.7/SOURCE/write_3d_binary.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/write_3d_binary.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/write_3d_binary.f90	(revision 393)
@@ -0,0 +1,295 @@
+ SUBROUTINE write_3d_binary
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 367 2009-08-25 08:35:52Z maronga
+! +shf_av, qsws_av
+!
+! 145 2008-01-09 08:17:38Z raasch
+! write_var_list is only called for pe0, -dopr_time_count,
+! hom_sum moved, volume_flow_area, volume_flow_initial moved to write_var_list,
+! writing of old profil parameters (cross_..., dopr_crossindex, profile_***)
+! removed
+!
+! 102 2007-07-27 09:09:17Z raasch
+! +uswst, uswst_m, vswst, vswst_m
+!
+! 96 2007-06-04 08:07:41Z raasch
+! +rho_av, sa, sa_av, saswsb, saswst
+!
+! 75 2007-03-22 09:54:05Z raasch
+! +precipitation_amount, precipitation_rate_av, rif_wall, u_m_l, u_m_r, etc.,
+! z0_av, moisture renamed humidity
+!
+! 19 2007-02-23 04:53:48Z raasch
+! +qswst, qswst_m, tswst, tswst_m
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.21  2006/08/04 15:05:11  raasch
+! +iran, iran_part
+!
+! Revision 1.1  1998/03/18 20:20:21  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Binary output of variables and arrays for restarts.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE cloud_parameters
+    USE control_parameters
+    USE cpulog
+    USE indices
+    USE interfaces
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE random_function_mod
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  binary_version
+
+
+    CALL cpu_log( log_point(22), 'write_3d_binary', 'start' )
+
+    CALL check_open( 14 )
+    
+!
+!-- Write control parameters and other variables for restart.
+    IF ( myid == 0 )  CALL write_var_list
+
+!
+!-- Write arrays.
+    binary_version = '3.1'
+
+    WRITE ( 14 )  binary_version
+
+    WRITE ( 14 )  numprocs, myid, nxl, nxr, nys, nyn, nzb, nzt
+
+!
+!-- Attention: After changes to the following output commands the version number
+!-- ---------  of the variable binary_version must be changed!
+!--            Also, the list of arrays to be read in read_3d_binary must be
+!--            adjusted accordingly.
+
+    WRITE ( 14 )  'e                   ';  WRITE ( 14 )  e
+    IF ( ALLOCATED( e_av ) )  THEN
+       WRITE ( 14 )  'e_av                ';  WRITE ( 14 )  e_av
+    ENDIF
+    WRITE ( 14 )  'e_m                 ';  WRITE ( 14 )  e_m
+    WRITE ( 14 )  'iran                ';  WRITE ( 14 )  iran, iran_part
+    WRITE ( 14 )  'kh                  ';  WRITE ( 14 )  kh
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'kh_m                ';  WRITE ( 14 )  kh_m
+    ENDIF
+    WRITE ( 14 )  'km                  ';  WRITE ( 14 )  km
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'km_m                ';  WRITE ( 14 )  km_m
+    ENDIF
+    IF ( ALLOCATED( lwp_av ) )  THEN
+       WRITE ( 14 )  'lwp_av              ';  WRITE ( 14 )  lwp_av
+    ENDIF
+    WRITE ( 14 )  'p                   ';  WRITE ( 14 )  p
+    IF ( ALLOCATED( p_av ) )  THEN
+       WRITE ( 14 )  'p_av                ';  WRITE ( 14 )  p_av
+    ENDIF
+    IF ( ALLOCATED( pc_av ) )  THEN
+       WRITE ( 14 )  'pc_av               ';  WRITE ( 14 )  pc_av
+    ENDIF
+    IF ( ALLOCATED( pr_av ) )  THEN
+       WRITE ( 14 )  'pr_av               ';  WRITE ( 14 )  pr_av
+    ENDIF
+    IF ( ALLOCATED( precipitation_amount ) )  THEN
+       WRITE ( 14 )  'precipitation_amount';  WRITE ( 14 )  precipitation_amount
+    ENDIF
+    IF ( ALLOCATED( precipitation_rate_av ) )  THEN
+       WRITE ( 14 )  'precipitation_rate_a';  WRITE ( 14 )  &
+                                                           precipitation_rate_av
+    ENDIF
+    WRITE ( 14 )  'pt                  ';  WRITE ( 14 )  pt
+    IF ( ALLOCATED( pt_av ) )  THEN
+       WRITE ( 14 )  'pt_av               ';  WRITE ( 14 )  pt_av
+    ENDIF
+    WRITE ( 14 )  'pt_m                ';  WRITE ( 14 )  pt_m
+    IF ( humidity  .OR. passive_scalar )  THEN
+       WRITE ( 14 )  'q                   ';  WRITE ( 14 )  q 
+       IF ( ALLOCATED( q_av ) )  THEN
+          WRITE ( 14 )  'q_av                ';  WRITE ( 14 )  q_av
+       ENDIF
+       WRITE ( 14 )  'q_m                 ';  WRITE ( 14 ) q_m
+       IF ( cloud_physics ) THEN
+          WRITE ( 14 )  'ql                  ';  WRITE ( 14 ) ql
+          IF ( ALLOCATED( ql_av ) )  THEN
+             WRITE ( 14 )  'ql_av               ';  WRITE ( 14 )  ql_av
+          ENDIF
+       ENDIF
+       WRITE ( 14 )  'qs                  ';  WRITE ( 14 ) qs
+       WRITE ( 14 )  'qsws                ';  WRITE ( 14 ) qsws
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+          WRITE ( 14 )  'qsws_m              ';  WRITE ( 14 ) qsws_m
+       ENDIF
+       IF ( ALLOCATED( qsws_av ) )  THEN
+          WRITE ( 14 )  'qsws_av             ';  WRITE ( 14 )  qsws_av
+       ENDIF
+       WRITE ( 14 )  'qswst               ';  WRITE ( 14 ) qswst
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+          WRITE ( 14 )  'qswst_m             ';  WRITE ( 14 ) qswst_m
+       ENDIF
+    ENDIF
+    IF ( ocean )  THEN
+       IF ( ALLOCATED( rho_av ) )  THEN
+          WRITE ( 14 )  'rho_av              ';  WRITE ( 14 )  rho_av
+       ENDIF
+       WRITE ( 14 )  'sa                  ';  WRITE ( 14 )  sa
+       IF ( ALLOCATED( sa_av ) )  THEN
+          WRITE ( 14 )  'sa_av               ';  WRITE ( 14 )  sa_av
+       ENDIF
+       WRITE ( 14 )  'saswsb              ';  WRITE ( 14 )  saswsb
+       WRITE ( 14 )  'saswst              ';  WRITE ( 14 )  saswst
+    ENDIF
+    IF ( ALLOCATED( ql_c_av ) )  THEN
+       WRITE ( 14 )  'ql_c_av             ';  WRITE ( 14 )  ql_c_av
+    ENDIF
+    IF ( ALLOCATED( ql_v_av ) )  THEN
+       WRITE ( 14 )  'ql_v_av             ';  WRITE ( 14 )  ql_v_av
+    ENDIF
+    IF ( ALLOCATED( ql_vp_av ) )  THEN
+       WRITE ( 14 )  'ql_vp_av            ';  WRITE ( 14 )  ql_vp_av
+    ENDIF
+    IF ( ALLOCATED( qv_av ) )  THEN
+       WRITE ( 14 )  'qv_av               ';  WRITE ( 14 )  qv_av
+    ENDIF
+    WRITE ( 14 )  'random_iv           ';  WRITE ( 14 )  random_iv
+                                           WRITE ( 14 )  random_iy
+    WRITE ( 14 )  'rif                 ';  WRITE ( 14 )  rif
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'rif_m               ';  WRITE ( 14 )  rif_m
+    ENDIF
+    IF ( topography /= 'flat' )  THEN
+       WRITE ( 14 )  'rif_wall            ';  WRITE ( 14 )  rif_wall
+    ENDIF
+    IF ( ALLOCATED( s_av ) )  THEN
+       WRITE ( 14 )  's_av                ';  WRITE ( 14 )  s_av
+    ENDIF
+    WRITE ( 14 )  'shf                 ';  WRITE ( 14 )  shf
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'shf_m               ';  WRITE ( 14 )  shf_m
+    ENDIF
+    IF ( ALLOCATED( shf_av ) )  THEN
+       WRITE ( 14 )  'shf_av              ';  WRITE ( 14 )  shf_av
+    ENDIF
+    IF ( ALLOCATED( spectrum_x ) )  THEN
+       WRITE ( 14 )  'spectrum_x          ';  WRITE ( 14 )  spectrum_x
+       WRITE ( 14 )  'spectrum_y          ';  WRITE ( 14 )  spectrum_y
+    ENDIF
+    WRITE ( 14 )  'ts                  ';  WRITE ( 14 )  ts
+    IF ( ALLOCATED( ts_av ) )  THEN
+       WRITE ( 14 )  'ts_av               ';  WRITE ( 14 )  ts_av
+    ENDIF
+    WRITE ( 14 )  'tswst               ';  WRITE ( 14 )  tswst
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'tswst_m             ';  WRITE ( 14 )  tswst_m
+    ENDIF
+    WRITE ( 14 )  'u                   ';  WRITE ( 14 )  u
+    IF ( ALLOCATED( u_av ) )  THEN
+       WRITE ( 14 )  'u_av                ';  WRITE ( 14 )  u_av
+    ENDIF
+    WRITE ( 14 )  'u_m                 ';  WRITE ( 14 )  u_m
+    IF ( ALLOCATED( u_m_l ) )  THEN
+       WRITE ( 14 )  'u_m_l               ';  WRITE ( 14 )  u_m_l
+    ENDIF
+    IF ( ALLOCATED( u_m_n ) )  THEN
+       WRITE ( 14 )  'u_m_n               ';  WRITE ( 14 )  u_m_n
+    ENDIF
+    IF ( ALLOCATED( u_m_r ) )  THEN
+       WRITE ( 14 )  'u_m_r               ';  WRITE ( 14 )  u_m_r
+    ENDIF
+    IF ( ALLOCATED( u_m_s ) )  THEN
+       WRITE ( 14 )  'u_m_s               ';  WRITE ( 14 )  u_m_s
+    ENDIF
+    WRITE ( 14 )  'us                  ';  WRITE ( 14 )  us
+    WRITE ( 14 )  'usws                ';  WRITE ( 14 )  usws
+    WRITE ( 14 )  'uswst               ';  WRITE ( 14 )  uswst
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'usws_m              ';  WRITE ( 14 )  usws_m
+       WRITE ( 14 )  'uswst_m             ';  WRITE ( 14 )  uswst_m
+    ENDIF
+    IF ( ALLOCATED( us_av ) )  THEN
+       WRITE ( 14 )  'us_av               ';  WRITE ( 14 )  us_av
+    ENDIF
+    WRITE ( 14 )  'v                   ';  WRITE ( 14 )  v
+    IF ( ALLOCATED( v_av ) )  THEN
+       WRITE ( 14 )  'v_av                ';  WRITE ( 14 )  v_av
+    ENDIF
+    WRITE ( 14 )  'v_m                 ';  WRITE ( 14 )  v_m
+    IF ( ALLOCATED( v_m_l ) )  THEN
+       WRITE ( 14 )  'v_m_l               ';  WRITE ( 14 )  v_m_l
+    ENDIF
+    IF ( ALLOCATED( v_m_n ) )  THEN
+       WRITE ( 14 )  'v_m_n               ';  WRITE ( 14 )  v_m_n
+    ENDIF
+    IF ( ALLOCATED( v_m_r ) )  THEN
+       WRITE ( 14 )  'v_m_r               ';  WRITE ( 14 )  v_m_r
+    ENDIF
+    IF ( ALLOCATED( v_m_s ) )  THEN
+       WRITE ( 14 )  'v_m_s               ';  WRITE ( 14 )  v_m_s
+    ENDIF
+    IF ( humidity )  THEN
+       WRITE ( 14 )  'vpt                 ';  WRITE ( 14 )  vpt
+       IF ( ALLOCATED( vpt_av ) )  THEN
+          WRITE ( 14 )  'vpt_av              ';  WRITE ( 14 )  vpt_av
+       ENDIF
+       IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+          WRITE ( 14 )  'vpt_m               ';  WRITE ( 14 )  vpt_m
+       ENDIF
+    ENDIF
+    WRITE ( 14 )  'vsws                ';  WRITE ( 14 )  vsws
+    WRITE ( 14 )  'vswst               ';  WRITE ( 14 )  vswst
+    IF ( timestep_scheme(1:5) /= 'runge' )  THEN
+       WRITE ( 14 )  'vsws_m              ';  WRITE ( 14 )  vsws_m
+       WRITE ( 14 )  'vswst_m             ';  WRITE ( 14 )  vswst_m
+    ENDIF
+    WRITE ( 14 )  'w                   ';  WRITE ( 14 )  w
+    IF ( ALLOCATED( w_av ) )  THEN
+       WRITE ( 14 )  'w_av                ';  WRITE ( 14 )  w_av
+    ENDIF
+    WRITE ( 14 )  'w_m                 ';  WRITE ( 14 )  w_m
+    IF ( ALLOCATED( w_m_l ) )  THEN
+       WRITE ( 14 )  'w_m_l               ';  WRITE ( 14 )  w_m_l
+    ENDIF
+    IF ( ALLOCATED( w_m_n ) )  THEN
+       WRITE ( 14 )  'w_m_n               ';  WRITE ( 14 )  w_m_n
+    ENDIF
+    IF ( ALLOCATED( w_m_r ) )  THEN
+       WRITE ( 14 )  'w_m_r               ';  WRITE ( 14 )  w_m_r
+    ENDIF
+    IF ( ALLOCATED( w_m_s ) )  THEN
+       WRITE ( 14 )  'w_m_s               ';  WRITE ( 14 )  w_m_s
+    ENDIF
+    WRITE ( 14 )  'z0                  ';  WRITE ( 14 )  z0
+    IF ( ALLOCATED( z0_av ) )  THEN
+       WRITE ( 14 )  'z0_av               ';  WRITE ( 14 )  z0_av
+    ENDIF
+
+!
+!-- Write end label. Unit 14 is closed in the main program.
+    WRITE ( 14 )  '*** end ***         '
+
+
+    CALL cpu_log( log_point(22), 'write_3d_binary', 'stop' )
+
+
+ END SUBROUTINE write_3d_binary
Index: palm/tags/release-3.7/SOURCE/write_compressed.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/write_compressed.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/write_compressed.f90	(revision 393)
@@ -0,0 +1,211 @@
+ SUBROUTINE write_compressed( field, fid_avs, fid_fld, my_id, nxl, nxr, nyn, &
+                              nys, nzb, nz_do3d, prec )
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! ---------------------
+! $Id$
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.4  2006/02/23 13:15:09  raasch
+! nz_plot3d renamed nz_do3d
+!
+! Revision 1.1  1999/03/02 09:25:21  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! In this routine, 3D-data (to be plotted) are scaled and compressed by
+! the method of bit shifting. It is designed for the use outside of PALM
+! also, which is the reason why most of the data is passed by subroutine
+! arguments. Nevertheless, the module pegrid is needed by MPI calls.
+!
+! Arguments:
+! field         = data array to be compressed
+! fid_avs       = file-ID of AVS-data-file
+! fid_fld       = file-ID of AVS-header-file
+! my_id         = ID of the calling PE
+! nxl, nxr      = index bounds of the subdomain along x
+! nyn, nys      = index bounds of the subdomain along y
+! nzb,nz_do3d   = index bounds of the domain along z (can be smaller than
+!                 the total domain)
+! prec          = precision of packed data (number of digits after decimal
+!                 point)
+!------------------------------------------------------------------------------!
+
+    USE pegrid         !  needed for MPI_ALLREDUCE
+
+    IMPLICIT NONE
+
+    INTEGER, PARAMETER   :: ip4 = SELECTED_INT_KIND ( 9 )
+    INTEGER, PARAMETER   :: spk = SELECTED_REAL_KIND( 6 )
+
+    INTEGER ::  ampl, dummy1, dummy2, factor, i, ifieldmax, ifieldmax_l, &
+                ifieldmin, ifieldmin_l, ii, j, k, length, nfree, npack, nsize, &
+                nx, ny, nz, pos, startpos
+    INTEGER(ip4) ::  imask (32)
+    INTEGER(ip4), DIMENSION(:), ALLOCATABLE ::  ifield, packed_ifield
+
+    INTEGER, INTENT(IN) ::  fid_avs, fid_fld, my_id, nxl, nxr, nyn, nys, nzb, &
+                            nz_do3d, prec
+
+    REAL(spk), INTENT(IN) :: field(1:((nxr-nxl+3)*(nyn-nys+3)*(nz_do3d-nzb+1)))
+
+!
+!-- Initialise local variables
+    ampl      = 0
+    ifieldmax = 0
+    ifieldmin = 0
+    npack = 0
+    nsize = 0
+    DO  i = 1,32
+       imask(i) = (2**i) - 1
+    ENDDO
+
+    nx     = nxr - nxl + 2
+    ny     = nyn - nys + 2
+    nz     = nz_do3d - nzb
+    length = (nx+1) * (ny+1) * (nz+1)
+
+!
+!-- Allocate memory for integer array
+    ALLOCATE ( ifield(1:length) )
+
+!
+!-- Store data on integer (in desired precision)
+    factor = 10**prec
+    DO  i = 1, length
+       ifield(i) = NINT( field(i) * factor )
+    ENDDO
+
+!
+!-- Find minimum and maximum
+    ifieldmax_l = MAXVAL( ifield )
+    ifieldmin_l = MINVAL( ifield )
+
+#if defined( __parallel )
+    CALL MPI_ALLREDUCE( ifieldmax_l, ifieldmax, 1, MPI_INTEGER, MPI_MAX, &
+                        comm2d, ierr )
+    CALL MPI_ALLREDUCE( ifieldmin_l, ifieldmin, 1, MPI_INTEGER, MPI_MIN, &
+                        comm2d, ierr )
+#else
+    ifieldmax = ifieldmax_l
+    ifieldmin = ifieldmin_l
+#endif
+
+!
+!-- Minimum scaling
+    ifield = ifield - ifieldmin
+
+!
+!-- Calculate the number of bits needed for each value
+    ampl  = ifieldmax - ifieldmin
+    nsize = 1
+
+    DO WHILE ( imask(nsize) < ampl )
+       nsize = nsize + 1
+    ENDDO
+
+! 
+!-- Calculate size of the packed array
+    npack = length * nsize
+    IF ( MOD( npack, 32 ) /= 0 )  npack = npack + 32
+    npack = npack / 32
+
+!
+!-- Start packing the data
+    ALLOCATE ( packed_ifield(1:npack) )
+    packed_ifield = 0
+
+!
+!-- Starting position of a word
+    startpos = 0
+
+!
+!-- Starting position of the word to which data are actually written
+    ii = 1
+
+!
+!-- Compress all data
+    DO  i = 1, length
+
+!
+!--    Cut the significant bits from the actual grid point value (GPV)
+       dummy1 = IAND( ifield(i), imask(nsize) )
+
+!
+!--    Calculate number of free bits of the actual word after packing the GPV
+       nfree = 32 - startpos - nsize
+
+       IF ( nfree > 0 )  THEN 
+!
+!--       GPV fits to the actual word (ii), additional bits are still free.
+!--       Shift GPV to the new position
+          dummy2 = ISHFT( dummy1 ,nfree )
+
+!
+!--       Append bits to the already packed data
+          packed_ifield(ii) = packed_ifield(ii) + dummy2
+
+!
+!--       Calculate new starting position
+          startpos = startpos + nsize
+
+       ELSEIF ( nfree .EQ. 0 )  THEN 
+!
+!--       GPV fills the actual word (ii) exactly
+          packed_ifield(ii) = packed_ifield(ii) + dummy1
+
+!
+!--       Activate next (new) word
+          ii = ii + 1
+
+!
+!--       Reset starting position of the new word
+          startpos = 0
+
+       ELSE 
+!
+!--       GPV must be split up to the actual (ii) and the following (ii+1)
+!--       word. Shift first part of GPV to its position.
+          dummy2 = ISHFT( dummy1, nfree )
+
+!
+!--       Append bits
+          packed_ifield(ii) = packed_ifield(ii) + dummy2 
+
+!
+!--       Store rest of GPV on the next word
+          ii = ii + 1
+          packed_ifield(ii) = ISHFT( dummy1, 32+nfree )
+!
+!--       Calculate starting position of the next GPV
+          startpos = -nfree
+
+       ENDIF
+
+    ENDDO
+
+!
+!-- Write the compressed 3D array
+    WRITE ( fid_avs )  packed_ifield
+
+!
+!-- Write additional informations on  FLD-file
+    IF ( my_id == 0 )  WRITE ( fid_fld, 100 )  prec, ifieldmin, nsize, length
+
+    DEALLOCATE( ifield, packed_ifield )
+
+!
+!-- Formats
+100 FORMAT ('# precision = ',I4/ &
+            '# feldmin   = ',I8/ &
+            '# nbits     = ',I2/ &
+            '# nskip     = ',I8)
+
+END SUBROUTINE write_compressed
Index: palm/tags/release-3.7/SOURCE/write_var_list.f90
===================================================================
--- palm/tags/release-3.7/SOURCE/write_var_list.f90	(revision 393)
+++ palm/tags/release-3.7/SOURCE/write_var_list.f90	(revision 393)
@@ -0,0 +1,523 @@
+ SUBROUTINE write_var_list
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 345 2009-07-01 14:37:56Z heinze
+! +output_for_t0 
+! bugfix: -dt_fixed, because otherwise, restart runs cannot change from a
+! fixed to a free timestep.
+! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left, 
+! canyon_wall_south, conserve_volume_flow_mode, coupling_start_time,
+! dp_external, dp_level_b, dp_smooth, dpdxy, run_coupled,
+! time_since_reference_point, topography_grid_convention, u_bulk, v_bulk
+!
+! 153 2008-03-19 09:41:30Z steinfeld
+! +cthf, leaf_surface_concentration, scalar_exchange_coefficient
+! +numprocs, hor_index_bounds, inflow_damping_height, inflow_damping_width,
+! mean_inflow_profiles, recycling_width, turbulent_inflow,
+! -cross_ts_*, npex, npey
+! hom_sum, volume_flow_area, volume_flow_initial moved from write_3d_binary
+! to here
+!
+! 138 2007-11-28 10:03:58Z letzel
+! +canopy_mode, drag_coefficient, lad, lad_surface, lad_vertical_gradient, 
+! lad_vertical_gradient_level, lad_vertical_gradient_level_ind, pch_index,
+! plant_canopy, time_sort_particles
+!
+! 102 2007-07-27 09:09:17Z raasch
+! +top_momentumflux_u|v, time_coupling
+!
+! 95 2007-06-02 16:48:38Z raasch
+! +bc_sa_t, ocean, sa_init, sa_surface, sa_vertical_gradient,
+! sa_vertical_gradient_level, bottom/top_salinity_flux
+!
+! 87 2007-05-22 15:46:47Z raasch
+! +max_pr_user (version 3.1)
+!
+! 75 2007-03-22 09:54:05Z raasch
+! +loop_optimization, pt_refrence, moisture renamed humidity
+!
+! 20 2007-02-26 00:12:32Z raasch
+! +top_heatflux, use_top_fluxes
+!
+! RCS Log replace by Id keyword, revision history cleaned up
+!
+! Revision 1.34  2006/08/22 14:30:52  raasch
+! +dz_max
+!
+! Revision 1.1  1998/03/18 20:20:38  raasch
+! Initial revision
+!
+!
+! Description:
+! ------------
+! Writing values of control variables to restart-file (binary format).
+! These informations are only written to the file opened by PE0.
+!------------------------------------------------------------------------------!
+
+    USE arrays_3d
+    USE averaging
+    USE control_parameters
+    USE grid_variables
+    USE indices
+    USE model_1d
+    USE netcdf_control
+    USE particle_attributes
+    USE pegrid
+    USE profil_parameter
+    USE statistics
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=10) ::  binary_version
+
+
+    binary_version = '3.4'
+
+    WRITE ( 14 )  binary_version
+
+    WRITE ( 14 )  'numprocs                      '
+    WRITE ( 14 )  numprocs
+    WRITE ( 14 )  'hor_index_bounds              '
+    WRITE ( 14 )  hor_index_bounds
+    WRITE ( 14 )  'nz                            '
+    WRITE ( 14 )  nz
+    WRITE ( 14 )  'max_pr_user                   '
+    WRITE ( 14 )  max_pr_user
+    WRITE ( 14 )  'statistic_regions             '
+    WRITE ( 14 )  statistic_regions
+
+!
+!-- Caution: After changes in the following parameter-list, the
+!-- -------  version number stored in the variable binary_version has to be
+!--          increased. The same changes must also be done in the parameter-
+!--          list in read_var_list.
+
+    WRITE ( 14 )  'adjust_mixing_length          '
+    WRITE ( 14 )  adjust_mixing_length
+    WRITE ( 14 )  'advected_distance_x           '
+    WRITE ( 14 )  advected_distance_x
+    WRITE ( 14 )  'advected_distance_y           '
+    WRITE ( 14 )  advected_distance_y
+    WRITE ( 14 )  'alpha_surface                 '
+    WRITE ( 14 )  alpha_surface
+    WRITE ( 14 )  'average_count_pr              '
+    WRITE ( 14 )  average_count_pr
+    WRITE ( 14 )  'average_count_sp              '
+    WRITE ( 14 )  average_count_sp
+    WRITE ( 14 )  'average_count_3d              '
+    WRITE ( 14 )  average_count_3d
+    WRITE ( 14 )  'bc_e_b                        '
+    WRITE ( 14 )  bc_e_b
+    WRITE ( 14 )  'bc_lr                         '
+    WRITE ( 14 )  bc_lr
+    WRITE ( 14 )  'bc_ns                         '
+    WRITE ( 14 )  bc_ns
+    WRITE ( 14 )  'bc_p_b                        '
+    WRITE ( 14 )  bc_p_b
+    WRITE ( 14 )  'bc_p_t                        '
+    WRITE ( 14 )  bc_p_t
+    WRITE ( 14 )  'bc_pt_b                       '
+    WRITE ( 14 )  bc_pt_b
+    WRITE ( 14 )  'bc_pt_t                       '
+    WRITE ( 14 )  bc_pt_t
+    WRITE ( 14 )  'bc_pt_t_val                   '
+    WRITE ( 14 )  bc_pt_t_val
+    WRITE ( 14 )  'bc_q_b                        '
+    WRITE ( 14 )  bc_q_b
+    WRITE ( 14 )  'bc_q_t                        '
+    WRITE ( 14 )  bc_q_t
+    WRITE ( 14 )  'bc_q_t_val                    '
+    WRITE ( 14 )  bc_q_t_val
+    WRITE ( 14 )  'bc_s_b                        '
+    WRITE ( 14 )  bc_s_b
+    WRITE ( 14 )  'bc_s_t                        '
+    WRITE ( 14 )  bc_s_t
+    WRITE ( 14 )  'bc_sa_t                       '
+    WRITE ( 14 )  bc_sa_t
+    WRITE ( 14 )  'bc_uv_b                       '
+    WRITE ( 14 )  bc_uv_b
+    WRITE ( 14 )  'bc_uv_t                       '
+    WRITE ( 14 )  bc_uv_t
+    WRITE ( 14 )  'bottom_salinityflux           '
+    WRITE ( 14 )  bottom_salinityflux
+    WRITE ( 14 )  'building_height               '
+    WRITE ( 14 )  building_height
+    WRITE ( 14 )  'building_length_x             '
+    WRITE ( 14 )  building_length_x
+    WRITE ( 14 )  'building_length_y             '
+    WRITE ( 14 )  building_length_y
+    WRITE ( 14 )  'building_wall_left            '
+    WRITE ( 14 )  building_wall_left
+    WRITE ( 14 )  'building_wall_south           '
+    WRITE ( 14 )  building_wall_south
+    WRITE ( 14 )  'canopy_mode                   '
+    WRITE ( 14 )  canopy_mode
+    WRITE ( 14 )  'canyon_height                 '
+    WRITE ( 14 )  canyon_height
+    WRITE ( 14 )  'canyon_width_x                '
+    WRITE ( 14 )  canyon_width_x
+    WRITE ( 14 )  'canyon_width_y                '
+    WRITE ( 14 )  canyon_width_y
+    WRITE ( 14 )  'canyon_wall_left              '
+    WRITE ( 14 )  canyon_wall_left
+    WRITE ( 14 )  'canyon_wall_south             '
+    WRITE ( 14 )  canyon_wall_south
+    WRITE ( 14 )  'cloud_droplets                '
+    WRITE ( 14 )  cloud_droplets
+    WRITE ( 14 )  'cloud_physics                 '
+    WRITE ( 14 )  cloud_physics
+    WRITE ( 14 )  'conserve_volume_flow          '
+    WRITE ( 14 )  conserve_volume_flow
+    WRITE ( 14 )  'conserve_volume_flow_mode     '
+    WRITE ( 14 )  conserve_volume_flow_mode
+    WRITE ( 14 )  'coupling_start_time           '
+    WRITE ( 14 )  coupling_start_time
+    WRITE ( 14 )  'current_timestep_number       '
+    WRITE ( 14 )  current_timestep_number
+    WRITE ( 14 )  'cthf                          '
+    WRITE ( 14 )  cthf
+    WRITE ( 14 )  'cut_spline_overshoot          '
+    WRITE ( 14 )  cut_spline_overshoot
+    WRITE ( 14 )  'damp_level_1d                 '
+    WRITE ( 14 )  damp_level_1d
+    WRITE ( 14 )  'dissipation_1d                '
+    WRITE ( 14 )  dissipation_1d
+    WRITE ( 14 )  'dp_external                   '
+    WRITE ( 14 )  dp_external
+    WRITE ( 14 )  'dp_level_b                    '
+    WRITE ( 14 )  dp_level_b
+    WRITE ( 14 )  'dp_smooth                     '
+    WRITE ( 14 )  dp_smooth
+    WRITE ( 14 )  'dpdxy                         '
+    WRITE ( 14 )  dpdxy
+    WRITE ( 14 )  'drag_coefficient              '
+    WRITE ( 14 )  drag_coefficient
+    WRITE ( 14 )  'dt_pr_1d                      '
+    WRITE ( 14 )  dt_pr_1d
+    WRITE ( 14 )  'dt_run_control_1d             '
+    WRITE ( 14 )  dt_run_control_1d
+    WRITE ( 14 )  'dt_3d                         '
+    WRITE ( 14 )  dt_3d
+    WRITE ( 14 )  'dvrp_filecount                '
+    WRITE ( 14 )  dvrp_filecount
+    WRITE ( 14 )  'dx                            '
+    WRITE ( 14 )  dx
+    WRITE ( 14 )  'dy                            '
+    WRITE ( 14 )  dy
+    WRITE ( 14 )  'dz                            '
+    WRITE ( 14 )  dz
+    WRITE ( 14 )  'dz_max                        '
+    WRITE ( 14 )  dz_max
+    WRITE ( 14 )  'dz_stretch_factor             '
+    WRITE ( 14 )  dz_stretch_factor
+    WRITE ( 14 )  'dz_stretch_level              '
+    WRITE ( 14 )  dz_stretch_level
+    WRITE ( 14 )  'e_min                         '
+    WRITE ( 14 )  e_min
+    WRITE ( 14 )  'end_time_1d                   '
+    WRITE ( 14 )  end_time_1d
+    WRITE ( 14 )  'fft_method                    '
+    WRITE ( 14 )  fft_method
+    WRITE ( 14 )  'first_call_advec_particles    '
+    WRITE ( 14 )  first_call_advec_particles
+    WRITE ( 14 )  'galilei_transformation        '
+    WRITE ( 14 )  galilei_transformation
+    WRITE ( 14 )  'grid_matching                 '
+    WRITE ( 14 )  grid_matching
+    WRITE ( 14 )  'hom                           '
+    WRITE ( 14 )  hom
+    WRITE ( 14 )  'hom_sum                       '
+    WRITE ( 14 )  hom_sum
+    WRITE ( 14 )  'humidity                      '
+    WRITE ( 14 )  humidity
+    IF ( ALLOCATED( inflow_damping_factor ) )  THEN
+       WRITE ( 14 )  'inflow_damping_factor         '
+       WRITE ( 14 )  inflow_damping_factor
+    ENDIF
+    WRITE ( 14 )  'inflow_damping_height         '
+    WRITE ( 14 )  inflow_damping_height
+    WRITE ( 14 )  'inflow_damping_width          '
+    WRITE ( 14 )  inflow_damping_width
+    WRITE ( 14 )  'inflow_disturbance_begin      '
+    WRITE ( 14 )  inflow_disturbance_begin
+    WRITE ( 14 )  'inflow_disturbance_end        '
+    WRITE ( 14 )  inflow_disturbance_end
+    WRITE ( 14 )  'km_constant                   '
+    WRITE ( 14 )  km_constant
+    WRITE ( 14 )  'km_damp_max                   '
+    WRITE ( 14 )  km_damp_max
+    WRITE ( 14 )  'lad                           '
+    WRITE ( 14 )  lad
+    WRITE ( 14 )  'lad_surface                   '
+    WRITE ( 14 )  lad_surface
+    WRITE ( 14 )  'lad_vertical_gradient         '
+    WRITE ( 14 )  lad_vertical_gradient
+    WRITE ( 14 )  'lad_vertical_gradient_level   '
+    WRITE ( 14 )  lad_vertical_gradient_level
+    WRITE ( 14 )  'lad_vertical_gradient_level_in'
+    WRITE ( 14 )  lad_vertical_gradient_level_ind
+    WRITE ( 14 )  'last_dt_change                '
+    WRITE ( 14 )  last_dt_change
+    WRITE ( 14 )  'leaf_surface_concentration    '
+    WRITE ( 14 )  leaf_surface_concentration
+    WRITE ( 14 )  'long_filter_factor            '
+    WRITE ( 14 )  long_filter_factor
+    WRITE ( 14 )  'loop_optimization             '
+    WRITE ( 14 )  loop_optimization
+    IF ( ALLOCATED( mean_inflow_profiles ) )  THEN
+       WRITE ( 14 )  'mean_inflow_profiles          '
+       WRITE ( 14 )  mean_inflow_profiles
+    ENDIF
+    WRITE ( 14 )  'mixing_length_1d              '
+    WRITE ( 14 )  mixing_length_1d
+    WRITE ( 14 )  'momentum_advec                '
+    WRITE ( 14 )  momentum_advec
+    WRITE ( 14 )  'netcdf_precision              '
+    WRITE ( 14 )  netcdf_precision
+    WRITE ( 14 )  'nsor_ini                      '
+    WRITE ( 14 )  nsor_ini
+    WRITE ( 14 )  'nx                            '
+    WRITE ( 14 )  nx
+    WRITE ( 14 )  'ny                            '
+    WRITE ( 14 )  ny
+    WRITE ( 14 )  'ocean                         '
+    WRITE ( 14 )  ocean
+    WRITE ( 14 )  'old_dt                        '
+    WRITE ( 14 )  old_dt
+    WRITE ( 14 )  'omega                         '
+    WRITE ( 14 )  omega
+    WRITE ( 14 )  'outflow_damping_width         '
+    WRITE ( 14 )  outflow_damping_width
+    WRITE ( 14 )  'output_for_t0                 '
+    WRITE ( 14 )  output_for_t0
+    WRITE ( 14 )  'overshoot_limit_e             '
+    WRITE ( 14 )  overshoot_limit_e
+    WRITE ( 14 )  'overshoot_limit_pt            '
+    WRITE ( 14 )  overshoot_limit_pt
+    WRITE ( 14 )  'overshoot_limit_u             '
+    WRITE ( 14 )  overshoot_limit_u
+    WRITE ( 14 )  'overshoot_limit_v             '
+    WRITE ( 14 )  overshoot_limit_v
+    WRITE ( 14 )  'overshoot_limit_w             '
+    WRITE ( 14 )  overshoot_limit_w
+    WRITE ( 14 )  'passive_scalar                '
+    WRITE ( 14 )  passive_scalar
+    WRITE ( 14 )  'pch_index                     '
+    WRITE ( 14 )  pch_index
+    WRITE ( 14 )  'phi                           '
+    WRITE ( 14 )  phi
+    WRITE ( 14 )  'plant_canopy                  '
+    WRITE ( 14 )  plant_canopy
+    WRITE ( 14 )  'prandtl_layer                 '
+    WRITE ( 14 )  prandtl_layer
+    WRITE ( 14 )  'precipitation                 '
+    WRITE ( 14 )  precipitation
+    WRITE ( 14 )  'pt_init                       '
+    WRITE ( 14 )  pt_init
+    WRITE ( 14 )  'pt_reference                  '
+    WRITE ( 14 )  pt_reference
+    WRITE ( 14 )  'pt_surface                    '
+    WRITE ( 14 )  pt_surface
+    WRITE ( 14 )  'pt_surface_initial_change     '
+    WRITE ( 14 )  pt_surface_initial_change
+    WRITE ( 14 )  'pt_vertical_gradient          '
+    WRITE ( 14 )  pt_vertical_gradient
+    WRITE ( 14 )  'pt_vertical_gradient_level    '
+    WRITE ( 14 )  pt_vertical_gradient_level
+    WRITE ( 14 )  'pt_vertical_gradient_level_ind'
+    WRITE ( 14 )  pt_vertical_gradient_level_ind
+    WRITE ( 14 )  'q_init                        '
+    WRITE ( 14 )  q_init
+    WRITE ( 14 )  'q_surface                     '
+    WRITE ( 14 )  q_surface
+    WRITE ( 14 )  'q_surface_initial_change      '
+    WRITE ( 14 )  q_surface_initial_change
+    WRITE ( 14 )  'q_vertical_gradient           '
+    WRITE ( 14 )  q_vertical_gradient
+    WRITE ( 14 )  'q_vertical_gradient_level     '
+    WRITE ( 14 )  q_vertical_gradient_level
+    WRITE ( 14 )  'q_vertical_gradient_level_ind '
+    WRITE ( 14 )  q_vertical_gradient_level_ind
+    WRITE ( 14 )  'radiation                     '
+    WRITE ( 14 )  radiation
+    WRITE ( 14 )  'random_generator              '
+    WRITE ( 14 )  random_generator
+    WRITE ( 14 )  'random_heatflux               '
+    WRITE ( 14 )  random_heatflux
+    WRITE ( 14 )  'recycling_width               '
+    WRITE ( 14 )  recycling_width
+    WRITE ( 14 )  'rif_max                       '
+    WRITE ( 14 )  rif_max
+    WRITE ( 14 )  'rif_min                       '
+    WRITE ( 14 )  rif_min
+    WRITE ( 14 )  'roughness_length              '
+    WRITE ( 14 )  roughness_length
+    WRITE ( 14 )  'runnr                         '
+    WRITE ( 14 )  runnr
+    WRITE ( 14 )  'run_coupled                   '
+    WRITE ( 14 )  run_coupled
+    WRITE ( 14 )  'sa_init                       '
+    WRITE ( 14 )  sa_init
+    WRITE ( 14 )  'sa_surface                    '
+    WRITE ( 14 )  sa_surface
+    WRITE ( 14 )  'sa_vertical_gradient          '
+    WRITE ( 14 )  sa_vertical_gradient
+    WRITE ( 14 )  'sa_vertical_gradient_level    '
+    WRITE ( 14 )  sa_vertical_gradient_level
+    WRITE ( 14 )  'scalar_advec                  '
+    WRITE ( 14 )  scalar_advec
+    WRITE ( 14 )  'scalar_exchange_coefficient   '
+    WRITE ( 14 )  scalar_exchange_coefficient
+    WRITE ( 14 )  'simulated_time                '
+    WRITE ( 14 )  simulated_time
+    WRITE ( 14 )  'surface_heatflux              '
+    WRITE ( 14 )  surface_heatflux
+    WRITE ( 14 )  'surface_pressure              '
+    WRITE ( 14 )  surface_pressure
+    WRITE ( 14 )  'surface_scalarflux            '
+    WRITE ( 14 )  surface_scalarflux    
+    WRITE ( 14 )  'surface_waterflux             '
+    WRITE ( 14 )  surface_waterflux    
+    WRITE ( 14 )  's_surface                     '
+    WRITE ( 14 )  s_surface
+    WRITE ( 14 )  's_surface_initial_change      '
+    WRITE ( 14 )  s_surface_initial_change
+    WRITE ( 14 )  's_vertical_gradient           '
+    WRITE ( 14 )  s_vertical_gradient
+    WRITE ( 14 )  's_vertical_gradient_level     '
+    WRITE ( 14 )  s_vertical_gradient_level
+    WRITE ( 14 )  'time_coupling                 '
+    WRITE ( 14 )  time_coupling
+    WRITE ( 14 )  'time_disturb                  '
+    WRITE ( 14 )  time_disturb
+    WRITE ( 14 )  'time_dopr                     '
+    WRITE ( 14 )  time_dopr
+    WRITE ( 14 )  'time_dopr_av                  '
+    WRITE ( 14 )  time_dopr_av
+    WRITE ( 14 )  'time_dopr_listing             '
+    WRITE ( 14 )  time_dopr_listing
+    WRITE ( 14 )  'time_dopts                    '
+    WRITE ( 14 )  time_dopts
+    WRITE ( 14 )  'time_dosp                     '
+    WRITE ( 14 )  time_dosp
+    WRITE ( 14 )  'time_dots                     '
+    WRITE ( 14 )  time_dots
+    WRITE ( 14 )  'time_do2d_xy                  '
+    WRITE ( 14 )  time_do2d_xy
+    WRITE ( 14 )  'time_do2d_xz                  '
+    WRITE ( 14 )  time_do2d_xz
+    WRITE ( 14 )  'time_do2d_yz                  '
+    WRITE ( 14 )  time_do2d_yz
+    WRITE ( 14 )  'time_do3d                     '
+    WRITE ( 14 )  time_do3d
+    WRITE ( 14 )  'time_do_av                    '
+    WRITE ( 14 )  time_do_av
+    WRITE ( 14 )  'time_do_sla                   '
+    WRITE ( 14 )  time_do_sla
+    WRITE ( 14 )  'time_dvrp                     '
+    WRITE ( 14 )  time_dvrp
+    WRITE ( 14 )  'time_restart                  '
+    WRITE ( 14 )  time_restart
+    WRITE ( 14 )  'time_run_control              '
+    WRITE ( 14 )  time_run_control
+    WRITE ( 14 )  'time_since_reference_point    '
+    WRITE ( 14 )  time_since_reference_point
+    WRITE ( 14 )  'time_sort_particles           '
+    WRITE ( 14 )  time_sort_particles
+    WRITE ( 14 )  'timestep_scheme               '
+    WRITE ( 14 )  timestep_scheme
+    WRITE ( 14 )  'topography                    '
+    WRITE ( 14 )  topography
+    WRITE ( 14 )  'topography_grid_convention    '
+    WRITE ( 14 )  topography_grid_convention
+    WRITE ( 14 )  'top_heatflux                  '
+    WRITE ( 14 )  top_heatflux
+    WRITE ( 14 )  'top_momentumflux_u            '
+    WRITE ( 14 )  top_momentumflux_u
+    WRITE ( 14 )  'top_momentumflux_v            '
+    WRITE ( 14 )  top_momentumflux_v
+    WRITE ( 14 )  'top_salinityflux              '
+    WRITE ( 14 )  top_salinityflux
+    WRITE ( 14 )  'tsc                           '
+    WRITE ( 14 )  tsc
+    WRITE ( 14 )  'turbulent_inflow              '
+    WRITE ( 14 )  turbulent_inflow
+    WRITE ( 14 )  'u_bulk                        '
+    WRITE ( 14 )  u_bulk
+    WRITE ( 14 )  'u_init                        '
+    WRITE ( 14 )  u_init
+    WRITE ( 14 )  'u_max                         '
+    WRITE ( 14 )  u_max
+    WRITE ( 14 )  'u_max_ijk                     '
+    WRITE ( 14 )  u_max_ijk
+    WRITE ( 14 )  'ug                            '
+    WRITE ( 14 )  ug
+    WRITE ( 14 )  'ug_surface                    '
+    WRITE ( 14 )  ug_surface
+    WRITE ( 14 )  'ug_vertical_gradient          '
+    WRITE ( 14 )  ug_vertical_gradient
+    WRITE ( 14 )  'ug_vertical_gradient_level    '
+    WRITE ( 14 )  ug_vertical_gradient_level
+    WRITE ( 14 )  'ug_vertical_gradient_level_ind'
+    WRITE ( 14 )  ug_vertical_gradient_level_ind
+    WRITE ( 14 )  'ups_limit_e                   '
+    WRITE ( 14 )  ups_limit_e
+    WRITE ( 14 )  'ups_limit_pt                  '
+    WRITE ( 14 )  ups_limit_pt
+    WRITE ( 14 )  'ups_limit_u                   '
+    WRITE ( 14 )  ups_limit_u
+    WRITE ( 14 )  'ups_limit_v                   '
+    WRITE ( 14 )  ups_limit_v
+    WRITE ( 14 )  'ups_limit_w                   '
+    WRITE ( 14 )  ups_limit_w
+    WRITE ( 14 )  'use_surface_fluxes            '
+    WRITE ( 14 )  use_surface_fluxes
+    WRITE ( 14 )  'use_top_fluxes                '
+    WRITE ( 14 )  use_top_fluxes
+    WRITE ( 14 )  'use_ug_for_galilei_tr         '
+    WRITE ( 14 )  use_ug_for_galilei_tr
+    WRITE ( 14 )  'use_upstream_for_tke          '
+    WRITE ( 14 )  use_upstream_for_tke
+    WRITE ( 14 )  'v_bulk                        '
+    WRITE ( 14 )  v_bulk
+    WRITE ( 14 )  'v_init                        '
+    WRITE ( 14 )  v_init
+    WRITE ( 14 )  'v_max                         '
+    WRITE ( 14 )  v_max
+    WRITE ( 14 )  'v_max_ijk                     '
+    WRITE ( 14 )  v_max_ijk
+    WRITE ( 14 )  'vg                            '
+    WRITE ( 14 )  vg
+    WRITE ( 14 )  'vg_surface                    '
+    WRITE ( 14 )  vg_surface
+    WRITE ( 14 )  'vg_vertical_gradient          '
+    WRITE ( 14 )  vg_vertical_gradient
+    WRITE ( 14 )  'vg_vertical_gradient_level    '
+    WRITE ( 14 )  vg_vertical_gradient_level
+    WRITE ( 14 )  'vg_vertical_gradient_level_ind'
+    WRITE ( 14 )  vg_vertical_gradient_level_ind
+    WRITE ( 14 )  'volume_flow_area              '
+    WRITE ( 14 )  volume_flow_area
+    WRITE ( 14 )  'volume_flow_initial           '
+    WRITE ( 14 )  volume_flow_initial
+    WRITE ( 14 )  'wall_adjustment               '
+    WRITE ( 14 )  wall_adjustment
+    WRITE ( 14 )  'w_max                         '
+    WRITE ( 14 )  w_max
+    WRITE ( 14 )  'w_max_ijk                     '
+    WRITE ( 14 )  w_max_ijk
+
+!
+!-- Set the end-of-file mark
+    WRITE ( 14 )  '*** end ***                   '
+
+
+ END SUBROUTINE write_var_list
Index: palm/tags/release-3.7/UTIL/Makefile
===================================================================
--- palm/tags/release-3.7/UTIL/Makefile	(revision 393)
+++ palm/tags/release-3.7/UTIL/Makefile	(revision 393)
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------!
+#
+# Actual revisions:
+# -----------------
+# Initial revision
+# 
+#
+# Former revisions:
+# -----------------
+# $Id $
+#
+# Description:
+# ------------
+# Makefile for generating the utility programs needed by mrun and palm
+#------------------------------------------------------------------------------!
+
+PROG1 =  ../SCRIPTS/combine_plot_fields.x
+PROG2 =  ../SCRIPTS/interpret_config.x
+
+OBJS1 =  combine_plot_fields.o
+OBJS2 =  interpret_config.o
+
+CC = cc
+CFLAGS = -O
+
+F90 =
+F90_SER =
+COPT =
+F90FLAGS =
+LDFLAGS =
+
+.SUFFIXES: $(SUFFIXES) .f90
+
+
+all: $(PROG1) $(PROG2)
+
+$(PROG1): $(OBJS1)
+	$(F90_SER) -o $(PROG1) $(OBJS1) $(LDFLAGS)
+
+$(PROG2): $(OBJS2)
+	$(F90_SER) -o $(PROG2) $(OBJS2) $(LDFLAGS)
+
+.f90.o:
+	$(F90_SER) $(F90FLAGS) $(COPT) -c $<
+
+
Index: palm/tags/release-3.7/UTIL/analyze_particle_data.f90
===================================================================
--- palm/tags/release-3.7/UTIL/analyze_particle_data.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/analyze_particle_data.f90	(revision 393)
@@ -0,0 +1,251 @@
+ PROGRAM analyze_particle_data
+
+!-------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! 
+!
+! Description:
+! ------------
+! This routine reads the particle data files generated by PALM
+! and does some statistical analysis on these data.
+!-------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+!
+!-- Variable definitions
+    CHARACTER (LEN=5)  ::  id_char
+    CHARACTER (LEN=80) ::  run_description_header
+
+    INTEGER, PARAMETER ::  spk = SELECTED_REAL_KIND( 6 )
+
+    INTEGER ::  class, danz = 0, i, id, maximum_number_of_particles, n,   &
+                number_of_intervalls, number_of_particles,                &
+                number_of_vertical_levels, timelevel = 1, vertical_level, &
+                total_number_of_particles
+
+    INTEGER, DIMENSION(:), ALLOCATABLE ::  class_table
+    
+    LOGICAL ::  found
+
+    REAL    ::  class_width, hdistance, km, km_x, km_y, particle_age, sigma, &
+                sigma_local, sigma_local_x, sigma_local_y, sigma_x, sigma_y, &
+                simulated_time, vertical_resolution
+    REAL, DIMENSION(:,:), ALLOCATABLE ::  diffusivities
+
+    TYPE particle_type
+       SEQUENCE
+       INTEGER ::  color, tailpoints
+       REAL    ::  age, origin_x, origin_y, origin_z, size, speed_x, speed_y, &
+                   speed_z, x, y, z
+    END TYPE particle_type
+
+    TYPE(particle_type), DIMENSION(:), ALLOCATABLE ::  particles
+
+
+!
+!-- Check, if file from PE0 exists and terminate program if it doesn't.
+    WRITE (id_char,'(''_'',I4.4)')  danz
+    INQUIRE ( FILE=id_char, EXIST=found )
+!
+!-- Find out the number of files (equal to the number of PEs which
+!-- have been used in PALM) and open them
+    DO  WHILE ( found )
+
+       OPEN ( danz+110, FILE=id_char, FORM='UNFORMATTED' )
+       danz = danz + 1
+       WRITE (id_char,'(''_'',I4.4)')  danz
+       INQUIRE ( FILE=id_char, EXIST=found )
+
+    ENDDO
+!
+!-- Info-output
+    PRINT*, ''
+    PRINT*, '*** analyze_particle_data ***'
+    IF ( danz /= 0 )  THEN
+       PRINT*, '*** ', danz, ' file(s) found'
+    ELSE
+       PRINT*, '+++ file _0000 not found'
+       PRINT*, '    program terminated'
+       STOP
+    ENDIF
+
+!
+!-- Loop over all timelevels of output 
+    DO
+       total_number_of_particles = 0
+       sigma   = 0.0
+       sigma_x = 0.0
+       sigma_y = 0.0
+!
+!--    Loop over all files (reading data of the subdomains)
+       DO  id = 0, danz-1
+!
+!--       Read file header
+          IF ( timelevel == 1 )  THEN
+             READ ( id+110 )  run_description_header
+!
+!--          Print header information
+             IF ( id == 0 )  THEN
+                PRINT*, '*** run: ', run_description_header
+                PRINT*, ' '
+                PRINT*, '--> enter class width in m:'
+                READ*, class_width
+                PRINT*, '--> enter number of class intervalls:'
+                READ*, number_of_intervalls
+                PRINT*, '--> enter vertical resolution in m:'
+                READ*, vertical_resolution
+                PRINT*, '--> enter number of vertical levels:'
+                READ*, number_of_vertical_levels
+!
+!--             Allocate table space
+                ALLOCATE( class_table( 0:number_of_intervalls ) )
+                class_table = 0
+                ALLOCATE( diffusivities(0:number_of_vertical_levels,5) )
+                diffusivities = 0.0
+             ENDIF
+          ENDIF
+!
+!--       Read time information and indices
+          READ ( id+110, END=10 )  simulated_time, maximum_number_of_particles,&
+                                   number_of_particles
+!
+!--       Print timelevel and number of particles
+          IF ( id == 0 )  THEN
+             PRINT*, ' '
+             PRINT*, '*** time: ', simulated_time
+          ENDIF
+          PRINT*, 'PE', id, ': ', number_of_particles, ' particles'
+!
+!--       Allocate array and read particle data
+          ALLOCATE( particles(maximum_number_of_particles) )
+          READ ( id+110 )  particles
+!
+!--       Analyze the particle data
+          DO  n = 1, number_of_particles
+!
+!--          Calculate horizontal distance from of particle from its origin
+             hdistance = SQRT( ( particles(n)%x - particles(n)%origin_x )**2 + &
+                               ( particles(n)%y - particles(n)%origin_y )**2 )
+             class = hdistance / class_width
+             sigma_local   = hdistance**2
+             sigma_local_x = ( particles(n)%x - particles(n)%origin_x )**2
+             sigma_local_y = ( particles(n)%y - particles(n)%origin_y )**2
+
+             vertical_level = particles(n)%origin_z / vertical_resolution
+             IF ( vertical_level > number_of_vertical_levels )  THEN
+                vertical_level = number_of_vertical_levels
+             ENDIF
+
+             IF ( class > number_of_intervalls )  THEN
+                class = number_of_intervalls
+!                PRINT*, 'x =',particles(n)%x,' y =',particles(n)%y
+!                PRINT*, 'xo=',particles(n)%origin_x,' yo=',particles(n)%origin_y
+             ENDIF
+
+             class_table(class) = class_table(class) + 1
+
+             diffusivities(vertical_level,1) = diffusivities(vertical_level,1) +&
+                                               sigma_local
+             diffusivities(vertical_level,2) = diffusivities(vertical_level,2) +&
+                                               sigma_local_x
+             diffusivities(vertical_level,3) = diffusivities(vertical_level,3) +&
+                                               sigma_local_y
+             diffusivities(vertical_level,4) = diffusivities(vertical_level,4) +&
+                                               1.0
+
+             vertical_level = particles(n)%z / vertical_resolution
+             IF ( vertical_level > number_of_vertical_levels )  THEN
+                vertical_level = number_of_vertical_levels
+             ENDIF
+             diffusivities(vertical_level,5) = diffusivities(vertical_level,5) +&
+                                               1.0
+
+!
+!--          Summation for variances
+             sigma = sigma + sigma_local
+             sigma_x = sigma_x + sigma_local_x
+             sigma_y = sigma_y + sigma_local_y
+             total_number_of_particles = total_number_of_particles + 1
+
+          ENDDO
+!
+!--       Store the particle age (it is provided that all particles have the
+!--       same age)
+          particle_age = particles(1)%age
+
+!
+!--       Deallocate particle array before data from next file are read
+          DEALLOCATE( particles )
+
+       ENDDO  ! next file
+!
+!--    Print statistics
+       PRINT*, ' '
+       PRINT*, '*** statistics for t = ', simulated_time
+       DO  n = 0, number_of_intervalls-1
+          WRITE ( *, 1 ) n*class_width, (n+1)*class_width, class_table(n)
+   1      FORMAT (F6.1,' - ',F6.1, ' m   n = ',I7)
+       ENDDO
+       WRITE ( *, 2 )  (number_of_intervalls+1)*class_width, &
+                       class_table(number_of_intervalls)
+   2   FORMAT (6X,' > ',F6.1,' m   n = ',I7)
+
+       sigma   = SQRT( sigma   / REAL( total_number_of_particles ) )
+       km      = sigma**2 / ( 2.0 * particle_age )
+       sigma_x = SQRT( sigma_x / REAL( total_number_of_particles ) )
+       km_x    = sigma_x**2 / ( 2.0 * particle_age )
+       sigma_y = SQRT( sigma_y / REAL( total_number_of_particles ) )
+       km_y    = sigma_y**2 / ( 2.0 * particle_age )
+       PRINT*, ' '
+       WRITE ( *, 3 )  sigma, km, sigma_x, km_x, sigma_y, km_y
+   3   FORMAT ('sigma   = ',F6.1,' m   Km   = ',F5.1,' m**2/s'/ &
+               'sigma_x = ',F6.1,' m   Km_x = ',F5.1,' m**2/s'/ &
+               'sigma_y = ',F6.1,' m   Km_y = ',F5.1,' m**2/s')
+
+       PRINT*, ' '
+       PRINT*, 'Height dependence of diffusivities:'
+       DO  i = 0, number_of_vertical_levels-1
+          IF ( diffusivities(i,4) == 0.0 )  diffusivities(i,4) = 1.0E-20
+          WRITE ( *, 4 )  i*vertical_resolution, (i+1.0)*vertical_resolution,&
+                          ( diffusivities(i,1) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          ( diffusivities(i,2) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          ( diffusivities(i,3) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          diffusivities(i,4), diffusivities(i,5)
+   4      FORMAT (F6.1,'-',F6.1,' m  Km=',F5.1,' Km_x=',F5.1, &
+                  ' Km_y=',F5.1,' n_o=',F7.0,' n=',F7.0)
+       ENDDO
+       IF ( diffusivities(number_of_vertical_levels,4) == 0.0 )  THEN
+          diffusivities(number_of_vertical_levels,4) = 1.0E-20
+       ENDIF
+          i = number_of_vertical_levels
+          WRITE ( *, 5 )  i*vertical_resolution,                        &
+                          ( diffusivities(i,1) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          ( diffusivities(i,2) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          ( diffusivities(i,3) / diffusivities(i,4) ) / &
+                                     ( 2.0 * particle_age ),            &
+                          diffusivities(i,4), diffusivities(i,5)
+   5   FORMAT (F6.1,'-...... m  Km=',F5.1,' Km_x=',F5.1, &
+                  ' Km_y=',F5.1,' n_o=',F7.0,' n=',F7.0)
+
+!
+!--    Initialize class table for next timelevel
+       class_table   =   0
+       diffusivities = 0.0
+       timelevel = timelevel + 1
+       
+    ENDDO  ! next timelevel
+
+10  PRINT*, '*** EOF reached on file PARTICLE_DATA/_0000'
+
+ END PROGRAM analyze_particle_data
Index: palm/tags/release-3.7/UTIL/analyze_particle_netcdf_data.f90
===================================================================
--- palm/tags/release-3.7/UTIL/analyze_particle_netcdf_data.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/analyze_particle_netcdf_data.f90	(revision 393)
@@ -0,0 +1,254 @@
+ PROGRAM analyze_particle_netcdf_data
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! Initial revision 12/07/05
+!
+!
+! Description:
+! ------------
+! This is an EXAMPLE routine how to read NetCDF particle data output by PALM.
+! As an example, the mean heigth and radius of all particles are calculated
+! and output for each output time available on the file
+!
+! 
+! Any additonal analyzation requested has to be added by the user by following
+! the steps given in this example!
+!
+!
+!
+! This routine must be compiled with:
+! decalpha:
+!    f95 -fast -r8 -I/usr/local/netcdf-3.5.1/include
+!    -L/usr/local/netcdf-3.5.1/lib -lnetcdf
+! IBM-Regatta:
+!    xlf95 -qsuffix=cpp=f90 -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /aws/dataformats/netcdf-3.5.0/netcdf-64-32-3.5.0/include_F90_64
+!    -L/aws/dataformats/netcdf-3.5.0/netcdf-64-32-3.5.0/lib -lnetcdf -O3
+! IBM-Regatta KISTI:
+!    xlf95 -qsuffix=cpp=f90 -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /applic/netcdf64/src/f90
+!    -L/applic/lib/NETCDF64 -lnetcdf -O3
+! IMUK:
+!    ifort analyze_particle_netcdf_data
+!    -I /muksoft/packages/netcdf/linux/include -axW -r8 -nbs -Vaxlib
+!    -L /muksoft/packages/netcdf/linux/lib -lnetcdf
+! NEC-SX6:
+!    sxf90 analyze_particle_netcdf_data.f90 
+!    -I /pool/SX-6/netcdf/netcdf-3.6.0-p1/include  -C hopt -Wf '-A idbl4'
+!    -D__netcdf -L/pool/SX-6/netcdf/netcdf-3.6.0-p1/lib -lnetcdf
+!------------------------------------------------------------------------------!
+
+    USE netcdf
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    CHARACTER (LEN=7)    ::  id_char
+    CHARACTER (LEN=2000) ::  string
+
+
+    INTEGER ::  f, fn, i, id_dim_time, id_var_rnop, id_var_r, id_var_time, &
+                id_var_x, id_var_y, id_var_z, n, nc_stat, ntl, start
+
+    INTEGER, DIMENSION(1000) ::  id_set
+    INTEGER, DIMENSION(1)    ::  id_dim_time_old
+
+    INTEGER, DIMENSION(:), ALLOCATABLE   ::  total_nop
+    INTEGER, DIMENSION(:,:), ALLOCATABLE ::  nop
+
+    LOGICAL ::  found
+
+    REAL ::  mean_r, mean_z
+    REAL, DIMENSION(:), ALLOCATABLE ::  prt_r, prt_x, prt_y, prt_z, tl
+
+!
+!-- Check, if file from PE0 exists. If it does not exist, PALM did not
+!-- create any output for this cross-section.
+    fn = 0
+    WRITE (id_char,'(''_'',I4.4)')  fn
+    INQUIRE ( FILE=id_char, EXIST=found )
+
+!
+!-- Find out the number of files (equal to the number of PEs which
+!-- have been used in PALM) and open them
+    IF ( .NOT. found )  THEN
+       PRINT*, '+++ no file _0000 found in current working directory'
+       STOP
+    ENDIF
+
+    DO  WHILE ( found )
+
+!
+!--    Open NetCDF dataset
+       nc_stat = NF90_OPEN( id_char, NF90_NOWRITE, id_set(fn) )
+       IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 1 )
+       fn = fn + 1
+       WRITE (id_char,'(''_'',I4.4)')  fn
+       INQUIRE ( FILE=id_char, EXIST=found )
+
+    ENDDO
+    fn = fn - 1
+
+    PRINT*, '*** ', fn+1, ' files found'
+
+!
+!-- Get the run description header and print it out
+    string = ' '
+    nc_stat = NF90_GET_ATT( id_set(0), NF90_GLOBAL, 'title', string )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 2 )
+    PRINT*, '*** run: ', TRIM( string )
+
+!
+!-- Get the available time levels
+    nc_stat = NF90_INQ_VARID( id_set(0), 'time', id_var_time )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 3 )
+
+    nc_stat = NF90_INQUIRE_VARIABLE( id_set(0), id_var_time, &
+                                     dimids = id_dim_time_old )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 4 )
+    id_dim_time = id_dim_time_old(1)
+
+    nc_stat = NF90_INQUIRE_DIMENSION( id_set(0), id_dim_time, len = ntl )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 5 )
+    ALLOCATE( tl(1:ntl) )
+    print*, 'ntl=',ntl
+
+    nc_stat = NF90_GET_VAR( id_set(0), id_var_time, tl )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 6 )
+
+    DO  n = 1, ntl
+       print*, '*** time_level(', n, ') =', tl(n)
+    ENDDO
+
+!
+!-- Get the number of particles used
+    nc_stat = NF90_INQ_VARID( id_set(0), 'real_num_of_prt', id_var_rnop )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 7 )
+
+    ALLOCATE( nop(1:ntl,0:fn), total_nop(1:ntl) )
+
+    DO  f = 0, fn
+
+       nc_stat = NF90_GET_VAR( id_set(f), id_var_rnop, nop(1:ntl,f) )
+       IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 8 )
+
+    ENDDO
+
+    total_nop = 0
+    DO  n = 1, ntl
+
+       DO  f = 0, fn
+          total_nop(n) = total_nop(n) + nop(n,f)
+       ENDDO
+
+       PRINT*, '*** time = ', tl(n), ' total # of particles: ', total_nop(n)
+
+    ENDDO
+
+!
+!-- Get the particle x and y coordinates
+    nc_stat = NF90_INQ_VARID( id_set(0), 'pt_x', id_var_x )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 9 )
+
+    nc_stat = NF90_INQ_VARID( id_set(0), 'pt_y', id_var_y )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 10 )
+
+    nc_stat = NF90_INQ_VARID( id_set(0), 'pt_z', id_var_z )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 11 )
+
+    nc_stat = NF90_INQ_VARID( id_set(0), 'pt_radius', id_var_r )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 12 )
+
+    PRINT*, ' '
+!
+!-- Loop over all timelevels
+    DO  n = 1, ntl
+
+       ALLOCATE( prt_x(total_nop(n)), prt_y(total_nop(n)), &
+                 prt_z(total_nop(n)), prt_r(total_nop(n)) )
+
+       start = 1
+
+!
+!--    Read the data from the files (one file per processor)
+       DO  f = 0, fn
+
+          nc_stat = NF90_GET_VAR( id_set(f), id_var_x,           &
+                                  prt_x(start:start+nop(n,f)-1), &
+                                  start = (/ 1, n /),            &
+                                  count = (/ nop(n,f), 1 /) )
+          IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 13 )
+
+          nc_stat = NF90_GET_VAR( id_set(f), id_var_y,           &
+                                  prt_y(start:start+nop(n,f)-1), &
+                                  start = (/ 1, n /),            &
+                                  count = (/ nop(n,f), 1 /) )
+          IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 14 )
+
+          nc_stat = NF90_GET_VAR( id_set(f), id_var_z,           &
+                                  prt_z(start:start+nop(n,f)-1), &
+                                  start = (/ 1, n /),            &
+                                  count = (/ nop(n,f), 1 /) )
+          IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 15 )
+
+          nc_stat = NF90_GET_VAR( id_set(f), id_var_r,           &
+                                  prt_r(start:start+nop(n,f)-1), &
+                                  start = (/ 1, n /),            &
+                                  count = (/ nop(n,f), 1 /) )
+          IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( nc_stat, 16 )
+
+          start = start + nop(n,f)
+
+       ENDDO
+
+       mean_z = 0.0
+       mean_r = 0.0
+       DO  i = 1, total_nop(n)
+          mean_z = mean_z + prt_z(i)
+          mean_r = mean_r + prt_r(i)
+       ENDDO
+       mean_z = mean_z / total_nop(n)
+       mean_r = mean_r / total_nop(n)
+
+       PRINT*, '*** time = ', tl(n), ' mean height = ', mean_z, &
+                                     ' mean radius = ', mean_r
+
+!
+!--    prt_x, prt_y, prt_z, and prt_r contain the particle coordinates and
+!--    radii, respectively. Please output these data or carry out the
+!--    requested analyzing in this program before you deallocate the arrays.
+
+       DEALLOCATE( prt_x, prt_y, prt_z, prt_r )
+
+    ENDDO
+
+
+ END PROGRAM analyze_particle_netcdf_data
+
+
+
+ SUBROUTINE handle_netcdf_error( nc_stat, position )
+!
+!-- Prints out a text message corresponding to the current NetCDF status
+
+    USE netcdf
+
+    IMPLICIT NONE
+
+    INTEGER, INTENT(IN) ::  nc_stat, position
+
+    IF ( nc_stat /= NF90_NOERR )  THEN
+       PRINT*, '+++ analyze_particle_netcdf_data'
+       PRINT*, '    netcdf error: ', TRIM( nf90_strerror( nc_stat ) )
+       PRINT*, '    position = ', position
+       STOP
+    ENDIF
+
+ END SUBROUTINE handle_netcdf_error
Index: palm/tags/release-3.7/UTIL/check_pegrid.f90
===================================================================
--- palm/tags/release-3.7/UTIL/check_pegrid.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/check_pegrid.f90	(revision 393)
@@ -0,0 +1,145 @@
+ PROGRAM check_pegrid
+
+!-------------------------------------------------------------------------------!
+! Beschreibung:
+! -------------
+! Ueberpruefung der Konsistenz von Prozessortopologie und gewaehlten Feldgrenzen
+!-------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1) ::  char = ''
+    INTEGER ::  i, j, k, maximum_grid_level, mg_levels_x, mg_levels_y,        &
+                mg_levels_z, numprocs, numproc_sqr, nx, nxanz, ny, nyanz, nz, &
+                pdims(2)
+
+!
+!-- Prozessoranzahl abfragen
+    PRINT*, '*** Anzahl der verfuegbaren PE''s:'
+    READ (*,*)  numprocs
+
+!
+!-- Prozessortopologie bestimmen
+    numproc_sqr = SQRT( REAL( numprocs ) )
+    pdims(1)    = MAX( numproc_sqr , 1 )
+    DO  WHILE ( MOD( numprocs , pdims(1) ) /= 0 )
+       pdims(1) = pdims(1) - 1
+    ENDDO
+    pdims(2) = numprocs / pdims(1)
+
+!
+!-- Prozessortopologie ausgeben
+    PRINT*, ' '
+    PRINT*, '*** berechnetes Prozessorgitter: (',pdims(1),',',pdims(2),')'
+
+!
+!-- Evtl. Uebersteuerung der Prozessortopologie durch den Benutzer
+    PRINT*, ' '
+    PRINT*, '*** soll dieses Prozessorgitter benutzt werden? (y/n/<return>=y)'
+    READ (*,'(A1)')  char
+    IF ( char /= 'y'  .AND.  char /= 'Y'  .AND.  char /= '' )  THEN
+       DO
+          PRINT*, ' '
+          PRINT*, '*** Bitte Prozessoranzahl in x- und y-Richtung angeben:'
+          READ (*,*)  pdims(1), pdims(2)
+          IF ( pdims(1)*pdims(2) == numprocs )  EXIT
+          PRINT*, '+++ berechnete Prozessoranzahl (', pdims(1)*pdims(2), &
+                  ') stimmt nicht mit vorgegebener Anzahl'
+          PRINT*, '    (', numprocs, ') ueberein!'
+       ENDDO
+    ENDIF
+
+!
+!-- Gitterpunktanzahl abfragen
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** bitte nx, ny und nz angeben:'
+    READ (*,*)  nx, ny, nz
+
+!
+!-- Pruefung, ob sich Gitterpunkte in x-Richtung glatt aufteilen lassen
+    IF ( MOD( nx+1 , pdims(1) ) /= 0 )  THEN
+       PRINT*,'+++ x-Richtung:  Gitterpunktanzahl (',nx+1,') ist kein ganz-'
+       PRINT*,'                 zahliges Vielfaches der Prozessoranzahl (',&
+                                &pdims(1),')'
+       STOP
+    ELSE
+       nxanz  = ( nx + 1 ) / pdims(1)
+    ENDIF
+
+!
+!-- Pruefung, ob sich Gitterpunkte in y-Richtung glatt aufteilen lassen
+    IF ( MOD( ny+1 , pdims(2) ) /= 0 )  THEN
+       PRINT*,'+++ y-Richtung:  Gitterpunktanzahl (',ny+1,') ist kein ganz-'
+       PRINT*,'                 zahliges Vielfaches der Prozessoranzahl (',&
+                                &pdims(2),')'
+       STOP
+    ELSE
+       nyanz  = ( ny + 1 ) / pdims(2)
+    ENDIF
+
+    PRINT*, ''
+    PRINT*, '*** Anzahl der Gitterpunkte in x- und y-Richtung je PE: (', &
+            nxanz,',',nyanz,')'
+
+!
+!-- Pruefen der Gitterpunktanzahl bzgl. Transposition
+    IF ( MOD( nz , pdims(1) ) /= 0 )  THEN
+       PRINT*,'+++ Transposition z --> x:'
+       PRINT*,'    nz=',nz,' ist kein ganzzahliges Vielfaches von pdims(1)=', &
+              &pdims(1)
+       PRINT*, ''
+       STOP
+    ENDIF
+    IF ( MOD( nx+1 , pdims(2) ) /= 0 )  THEN
+       PRINT*,'+++ Transposition x --> y:'
+       PRINT*,'    nx+1=',nx+1,' ist kein ganzzahliges Vielfaches von ',&
+              &'pdims(2)=',pdims(2)
+       PRINT*, ''
+       STOP
+    ENDIF
+    IF ( MOD( ny+1 , pdims(1) ) /= 0 )  THEN
+       PRINT*,'+++ Transposition y --> z:'
+       PRINT*,'    ny+1=',ny+1,' ist kein ganzzahliges Vielfaches von ',&
+              &'pdims(1)=',pdims(1)
+       PRINT*, ''
+       STOP
+    ENDIF
+
+!
+!-- Moegliche Anzahl von Gitterniveaus im Falle der Benutzung des
+!-- Mehrgitterverfahrens berechnen und die Gitterpunktanzahl des groebsten
+!-- Gitters ausgeben
+    mg_levels_x = 1
+    mg_levels_y = 1
+    mg_levels_z = 1
+
+    i = nxanz
+    DO WHILE ( MOD( i, 2 ) == 0  .AND.  i /= 2 )
+       i = i / 2
+       mg_levels_x = mg_levels_x + 1
+    ENDDO
+
+    j = nyanz
+    DO WHILE ( MOD( j, 2 ) == 0  .AND.  j /= 2 )
+       j = j / 2
+       mg_levels_y = mg_levels_y + 1
+    ENDDO
+
+    k = nz
+    DO WHILE ( MOD( k, 2 ) == 0  .AND.  k /= 2 )
+       k = k / 2
+       mg_levels_z = mg_levels_z + 1
+    ENDDO
+
+    maximum_grid_level = MIN( mg_levels_x, mg_levels_y, mg_levels_z )
+    i = nxanz / 2**(maximum_grid_level-1) 
+    j = nyanz / 2**(maximum_grid_level-1)
+    k = nz    / 2**(maximum_grid_level-1)
+
+    PRINT*, '    Anzahl der moeglichen Gitterniveaus: ', maximum_grid_level
+    PRINT*, '    Anz. Gitterpunkte auf groebstem Gitter (x,y,z): (', i, ',', &
+                 j,',',k,')'
+    PRINT*, ''
+
+ END PROGRAM check_pegrid
Index: palm/tags/release-3.7/UTIL/combine_plot_fields.f90
===================================================================
--- palm/tags/release-3.7/UTIL/combine_plot_fields.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/combine_plot_fields.f90	(revision 393)
@@ -0,0 +1,777 @@
+ PROGRAM combine_plot_fields
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 210 2008-11-06 08:54:02Z raasch
+! Size of pf3d adjusted to the required output size (1 gridpoint less, along
+! all three dimensions), because output of a subset of the data
+! (pf3d(nxa:nxe...) in the NF90_PUT_VAR statement caused segmentation fault
+! with the INTEL compiler.
+! Subdomain data are read into temporary arrays pf_tmp/pf3d_tmp in order to
+! avoid INTEL compiler warnings about (automatic) creation of temporary arrays
+! Bugfix: three misplaced #endif directives
+!
+! 114 2007-10-10 00:03:15Z raasch
+! Bugfix: model_string needed a default value
+!
+! Aug 07    Loop for processing of output by coupled runs, id_string does not
+!           contain modus any longer
+!
+! 18/01/06  Output of time-averaged data
+!
+! 25/05/05  Errors removed
+!
+! 26/04/05  Output in NetCDF format, iso2d and avs output only if parameter
+!           file exists
+!
+! 31/10/01  All comments and messages translated into English
+!
+! 23/02/99  Keine Bearbeitung komprimierter 3D-Daten
+! Ursprungsversion vom 28/07/97
+!
+!
+! Description:
+! ------------
+! This routine combines data of the PALM-subdomains into one file. In PALM
+! every processor element opens its own file and writes 2D- or 3D-binary-data
+! into it (different files are opened for xy-, xz-, yz-cross-sections and
+! 3D-data). For plotting or analyzing these PE-data have to be collected and
+! to be put into single files, which is done by this routine.
+! Output format is NetCDF. Additionally, a data are output in a binary format
+! readable by ISO2D-software (cross-sections) and by AVS (3D-data).
+!
+! This routine must be compiled with:
+! decalpha:
+!    f95 -cpp -D__netcdf -fast -r8 -I/usr/local/netcdf-3.5.1/include
+!    -L/usr/local/netcdf-3.5.1/lib -lnetcdf
+! IBM-Regatta:
+!    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /aws/dataformats/netcdf-3.6.0-p1/64-32/include-64
+!    -L/aws/dataformats/netcdf-3.6.0-p1/64-32/lib -lnetcdf -O3
+! IBM-Regatta KISTI:
+!    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /applic/netcdf64/src/f90
+!    -L/applic/lib/NETCDF64 -lnetcdf -O3
+! IBM-Regatta Yonsei (gfdl5):
+!    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /usr1/users/raasch/pub/netcdf-3.6.0-p1/include
+!    -L/usr1/users/raasch/pub/netcdf-3.6.0-p1/lib -lnetcdf -O3
+! IMUK:
+!    ifort combine...f90 -o combine...x
+!    -cpp -D__netcdf -I /muksoft/packages/netcdf/linux/include -axW -r8 -nbs
+!    -Vaxlib -L /muksoft/packages/netcdf/linux/lib -lnetcdf
+! NEC-SX6:
+!    sxf90 combine...f90 -o combine...x 
+!    -I /pool/SX-6/netcdf/netcdf-3.6.0-p1/include  -C hopt -Wf '-A idbl4'
+!    -D__netcdf -L/pool/SX-6/netcdf/netcdf-3.6.0-p1/lib -lnetcdf
+! Sun Fire X4600
+!    pgf95 combine...f90 -o combine...x
+!    -Mpreprocess -D__netcdf -I /home/usr5/mkanda/netcdf-3.6.1/src/f90 -r8
+!    -fast -L/home/usr5/mkanda/netcdf-3.6.1/src/libsrc -lnetcdf
+! FIMM:
+!    ifort combine...f90 -o combine...x
+!    -axW -cpp -openmp -r8 -nbs -convert little_endian -D__netcdf 
+!    -I /local/netcdf/include -Vaxlib -L/local/netcdf/lib -lnetcdf
+!------------------------------------------------------------------------------!
+
+#if defined( __netcdf )
+    USE netcdf
+#endif
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    CHARACTER (LEN=2)    ::  modus, model_string
+    CHARACTER (LEN=4)    ::  id_string
+    CHARACTER (LEN=10)   ::  dimname, var_name
+    CHARACTER (LEN=40)   ::  filename
+
+    CHARACTER (LEN=2000), DIMENSION(0:1) ::  var_list
+
+    INTEGER, PARAMETER ::  spk = SELECTED_REAL_KIND( 6 )
+
+    INTEGER ::  av, danz, i, id,             &
+                j, k, model, models, nc_stat, nxa, nxag, nxe, nxeg, nya,   &
+                nyag, nye, nyeg, nza, nzag, nze, nzeg, pos, time_step, xa, xe, &
+                xxa, xxe, ya, ye, yya, yye, za, ze, zza, zze
+
+    INTEGER, DIMENSION(0:1) ::  current_level, current_var, fanz, id_set, &
+         id_var_time, num_var
+
+    INTEGER, DIMENSION(4) ::  id_dims_loc
+
+    INTEGER, DIMENSION(0:1,4) ::  id_dims
+
+    INTEGER, DIMENSION(0:1,1000) ::  id_var, levels
+
+    LOGICAL ::  avs_output, compressed, found, iso2d_output, netcdf_output, &
+                netcdf_0, netcdf_1
+
+    REAL ::  dx, simulated_time
+    REAL, DIMENSION(:),   ALLOCATABLE   ::  eta, ho, hu
+    REAL, DIMENSION(:,:), ALLOCATABLE   ::  pf, pf_tmp
+    REAL(spk), DIMENSION(:,:,:), ALLOCATABLE ::  pf3d, pf3d_tmp
+
+    PRINT*, ''
+    PRINT*, ''
+    PRINT*, '*** combine_plot_fields ***'
+
+!
+!-- Find out if a coupled run has been carried out
+    INQUIRE( FILE='COUPLING_PORT_OPENED', EXIST=found )
+    IF ( found )  THEN
+       models = 2
+       PRINT*, '    coupled run'
+    ELSE
+       models = 1
+       PRINT*, '    uncoupled run'
+    ENDIF
+
+!
+!-- Do everything for each model
+    DO model = 1, models
+!
+!--    Set the model string used to identify the filenames
+       model_string = ''
+       IF ( models == 2 )  THEN
+          PRINT*, ''
+          PRINT*, '*** combine_plot_fields ***'
+          IF ( model == 2 )  THEN
+             model_string = '_O'
+             PRINT*, '    now combining ocean data'
+             PRINT*, '    ========================'
+          ELSE
+             PRINT*, '    now combining atmosphere data'
+             PRINT*, '    ============================='
+          ENDIF
+       ENDIF
+!
+!--    2D-arrays for ISO2D
+!--    Main loop for the three different cross-sections, starting with 
+!--    xy-section
+       modus = 'XY'
+       PRINT*, ''
+       DO  WHILE ( modus == 'XY'  .OR.  modus == 'XZ'  .OR.  modus == 'YZ' )
+!
+!--       Check, if file from PE0 exists. If it does not exist, PALM did not
+!--       create any output for this cross-section.
+          danz = 0
+          WRITE (id_string,'(I4.4)')  danz
+          INQUIRE ( &
+               FILE='PLOT2D_'//modus//TRIM( model_string )//'_'//id_string, &
+               EXIST=found )
+!
+!--       Find out the number of files (equal to the number of PEs which
+!--       have been used in PALM) and open them
+          DO  WHILE ( found )
+
+             OPEN ( danz+110, &
+                  FILE='PLOT2D_'//modus//TRIM( model_string )//'_'//id_string, &
+                  FORM='UNFORMATTED' )
+             danz = danz + 1
+             WRITE (id_string,'(I4.4)')  danz
+             INQUIRE ( &
+                  FILE='PLOT2D_'//modus//TRIM( model_string )//'_'//id_string, &
+                  EXIST=found )
+
+          ENDDO
+
+!
+!--       Inquire whether an iso2d parameter file exists
+          INQUIRE( FILE='PLOT2D_'//modus//'_GLOBAL'//TRIM( model_string ), &
+               EXIST=iso2d_output )
+
+!
+!--       Inquire whether a NetCDF file exists
+          INQUIRE( FILE='DATA_2D_'//modus//'_NETCDF'//TRIM( model_string ), &
+               EXIST=netcdf_0 )
+
+!
+!--       Inquire whether a NetCDF file for time-averaged data exists
+          INQUIRE( FILE='DATA_2D_'//modus//'_AV_NETCDF'//TRIM( model_string ),&
+               EXIST=netcdf_1 )
+
+          IF ( netcdf_0  .OR.  netcdf_1 )  THEN
+             netcdf_output = .TRUE.
+          ELSE
+             netcdf_output = .FALSE.
+          ENDIF
+
+!
+!--       Info-output
+          PRINT*, ''
+          PRINT*, '*** combine_plot_fields ***'
+#if defined( __netcdf )
+          IF ( netcdf_output )  PRINT*, '    NetCDF output enabled'
+#else
+          IF ( netcdf_output )  THEN
+             PRINT*, '--- Sorry, no NetCDF support on this host'
+             netcdf_output = .FALSE.
+          ENDIF
+#endif
+          IF ( danz /= 0 )  THEN
+             PRINT*, '    ',modus,'-section:  ', danz, ' file(s) found'
+          ELSE
+             PRINT*, '    no ', modus, '-section data available'
+          ENDIF
+
+          IF ( netcdf_output  .AND.  danz /= 0 )  THEN
+#if defined( __netcdf )
+             DO  av = 0, 1
+
+                IF ( av == 0  .AND.  .NOT.  netcdf_0 )  CYCLE
+                IF ( av == 1  .AND.  .NOT.  netcdf_1 )  CYCLE
+
+!
+!--             Open NetCDF dataset
+                IF ( av == 0 )  THEN
+                   filename = 'DATA_2D_'//modus//'_NETCDF' &
+                        //TRIM( model_string )
+                ELSE
+                   filename = 'DATA_2D_'//modus//'_AV_NETCDF' &
+                        //TRIM( model_string )
+                ENDIF
+                nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set(av) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 1 )
+
+!
+!--             Get the list of variables (order of variables corresponds with
+!--             the order of data on the binary file)
+                var_list(av) = ' '    ! GET_ATT does not assign trailing blanks
+                nc_stat = NF90_GET_ATT( id_set(av), NF90_GLOBAL, 'VAR_LIST', &
+                     var_list(av) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 2 )
+
+!
+!--             Inquire id of the time coordinate variable
+                nc_stat = NF90_INQ_VARID( id_set(av), 'time', id_var_time(av) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 3 )
+
+!
+!--             Count number of variables; there is one more semicolon in the
+!--             string than variable names
+                num_var(av) = -1
+                DO  i = 1, LEN( var_list(av) )
+                   IF ( var_list(av)(i:i) == ';' )  num_var(av) = num_var(av) +1
+                ENDDO
+
+!
+!--             Extract the variable names from the list and inquire their
+!--             NetCDF IDs
+                pos = INDEX( var_list(av), ';' )
+!
+!--             Loop over all variables
+                DO  i = 1, num_var(av)
+
+!
+!--                Extract variable name from list
+                   var_list(av) = var_list(av)(pos+1:)
+                   pos = INDEX( var_list(av), ';' )
+                   var_name = var_list(av)(1:pos-1)
+
+!
+!--                Get variable ID from name
+                   nc_stat = NF90_INQ_VARID( id_set(av), TRIM( var_name ), &
+                        id_var(av,i) )
+                   IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 4 )
+
+!
+!--                Get number of x/y/z levels for that variable
+                   nc_stat = NF90_INQUIRE_VARIABLE( id_set(av), id_var(av,i), &
+                        dimids = id_dims_loc )
+                   IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 5 )
+                   id_dims(av,:) = id_dims_loc
+
+!
+!--                Inquire dimension ID
+                   DO  j = 1, 4
+                      nc_stat = NF90_INQUIRE_DIMENSION( id_set(av), &
+                           id_dims(av,j), dimname, levels(av,i) )
+                      IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 6 )
+
+                      IF ( modus == 'XY' .AND. INDEX(dimname, 'z') /= 0 )  EXIT
+                      IF ( modus == 'XZ' .AND. INDEX(dimname, 'y') /= 0 )  EXIT
+                      IF ( modus == 'YZ' .AND. INDEX(dimname, 'x') /= 0 )  EXIT
+                   ENDDO
+
+                ENDDO
+
+             ENDDO   ! av = 0, 1
+
+#endif
+          ENDIF
+
+!
+!--       Read the arrays, as long as the end of the file is reached
+          fanz          =         0
+          current_level =         1
+          current_var   = 999999999
+
+          DO  WHILE ( danz /= 0 )
+
+!
+!--          Loop over all files (reading data of the subdomains)
+             DO  id = 0, danz-1
+!
+!--             File from PE0 contains special information at the beginning,
+!--             concerning the lower and upper indices of the total-domain used
+!--             in PALM (nxag, nxeg, nyag, nyeg) and the lower and upper indices
+!--             of the array to be writte by this routine (nxa, nxe, nya,
+!--             nye). Usually in the horizontal directions nxag=-1 and nxa=0
+!--             while all other variables have the same value (i.e. nxeg=nxe).
+!--             Allocate necessary arrays, open the output file and write
+!--             the coordinate informations needed by ISO2D.
+                IF ( id == 0  .AND.  fanz(0) == 0  .AND.  fanz(1) == 0 )  THEN
+                   READ ( id+110 )  nxag, nxeg, nyag, nyeg
+                   READ ( id+110 )  nxa, nxe, nya, nye
+                   ALLOCATE ( eta(nya:nye), ho(nxa:nxe), hu(nxa:nxe), &
+                        pf(nxag:nxeg,nyag:nyeg) )
+                   READ ( id+110 )  dx, eta, hu, ho
+
+                   IF ( iso2d_output )  THEN
+                      OPEN ( 2, FILE='PLOT2D_'//modus//TRIM( model_string ), &
+                           FORM='UNFORMATTED' )
+                      WRITE ( 2 )  dx, eta, hu, ho
+                   ENDIF
+                ENDIF
+!
+!--             Read output time
+                IF ( netcdf_output  .AND.  id == 0 )  THEN
+                   IF ( netcdf_1 )  THEN
+                      READ ( id+110, END=998 )  simulated_time, time_step, av
+                   ELSE
+!
+!--                   For compatibility with earlier PALM versions
+                      READ ( id+110, END=998 )  simulated_time, time_step
+                      av = 0
+                   ENDIF
+                ENDIF
+!
+!--             Read subdomain indices
+                READ ( id+110, END=998 )  xa, xe, ya, ye
+!
+!--             IF the PE made no output (in case that no part of the
+!--             cross-section is situated on this PE), indices have the
+!--             value -1
+                IF ( .NOT. ( xa == -1  .AND.  xe == -1  .AND. &
+                             ya == -1  .AND.  ye == -1 ) )  THEN
+!
+!--                Read the subdomain grid-point values
+                   ALLOCATE( pf_tmp(xa:xe,ya:ye) )
+                   READ ( id+110 )  pf_tmp
+                   pf(xa:xe,ya:ye) = pf_tmp
+                   DEALLOCATE( pf_tmp )
+                ENDIF
+                IF ( id == 0 )  fanz(av) = fanz(av) + 1
+
+             ENDDO
+!
+!--          Write the data of the total domain cross-section
+             IF ( iso2d_output )  WRITE ( 2 )  pf(nxa:nxe,nya:nye)
+       
+!
+!--          Write same data in NetCDF format
+             IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+!
+!--             Check if a new time step has begun; if yes write data to time 
+!--             axis
+                IF ( current_var(av) > num_var(av) )  THEN
+                   current_var(av) = 1
+                   nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), &
+                        (/ simulated_time /),        &
+                        start = (/ time_step /),     &
+                        count = (/ 1 /) )
+                   IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 7 )
+                ENDIF
+
+!
+!--             Now write the data; this is mode dependent
+                SELECT CASE ( modus )
+
+                   CASE ( 'XY' )
+                      nc_stat = NF90_PUT_VAR( id_set(av),                      &
+                                           id_var(av,current_var(av)),         &
+                                           pf(nxa:nxe,nya:nye),                &
+                             start = (/ 1, 1, current_level(av), time_step /), &
+                                      count = (/ nxe-nxa+1, nye-nya+1, 1, 1 /) )
+                      IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 8)
+                  
+                   CASE ( 'XZ' )
+                      nc_stat = NF90_PUT_VAR( id_set(av),                      &
+                                           id_var(av,current_var(av)),         &
+                                           pf(nxa:nxe,nya:nye),                &
+                             start = (/ 1, current_level(av), 1, time_step /), &
+                                      count = (/ nxe-nxa+1, 1, nye-nya+1, 1 /) )
+                      IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 9)
+
+                   CASE ( 'YZ' )
+                      nc_stat = NF90_PUT_VAR( id_set(av),                      &
+                                           id_var(av,current_var(av)),         &
+                                           pf(nxa:nxe,nya:nye),                &
+                             start = (/ current_level(av), 1, 1, time_step /), &
+                                      count = (/ 1, nxe-nxa+1, nye-nya+1, 1 /) )
+                      IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error(10)
+
+                END SELECT
+
+!
+!--             Data is written, check if max level is reached
+                current_level(av) = current_level(av) + 1
+                IF ( current_level(av) > levels(av,current_var(av)) )  THEN
+                   current_level(av) = 1
+                   current_var(av)   = current_var(av) + 1
+                ENDIF
+
+#endif
+             ENDIF
+
+          ENDDO
+
+998       IF ( danz /= 0 )  THEN
+!
+!--          Print the number of the arrays processed
+             WRITE (*,'(16X,I4,A)')  fanz(0)+fanz(1), ' array(s) processed'
+             IF ( fanz(1) /= 0 )  THEN
+                WRITE (*,'(16X,I4,A)')  fanz(1), ' array(s) are time-averaged'
+             ENDIF
+
+!
+!--          Close all files and deallocate arrays
+             DO  id = 0, danz-1
+                CLOSE ( id+110 )
+             ENDDO
+             CLOSE ( 2 )
+             DEALLOCATE ( eta, ho, hu, pf )
+          ENDIF
+
+!
+!--       Close the NetCDF file
+          IF ( netcdf_output  .AND.  danz /= 0 )  THEN
+#if defined( __netcdf )
+             IF ( netcdf_0 )  THEN
+                nc_stat = NF90_CLOSE( id_set(0) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 11 )
+             ENDIF
+             IF ( netcdf_1 )  THEN
+                nc_stat = NF90_CLOSE( id_set(1) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 12 )
+             ENDIF
+#endif
+          ENDIF
+
+!
+!--       Choose the next cross-section
+          SELECT CASE ( modus )
+             CASE ( 'XY' )
+                modus = 'XZ'
+             CASE ( 'XZ' )
+                modus = 'YZ'
+             CASE ( 'YZ' )
+                modus = 'no'
+          END SELECT
+
+       ENDDO
+
+
+!
+!--    Combine the 3D-arrays
+
+!
+!--    Inquire whether an avs fld file exists
+       INQUIRE( FILE='PLOT3D_FLD'//TRIM( model_string ), EXIST=avs_output )
+
+!
+!--    Inquire whether a NetCDF file exists
+       INQUIRE( FILE='DATA_3D_NETCDF'//TRIM( model_string ), EXIST=netcdf_0 )
+
+!
+!--    Inquire whether a NetCDF file for time-averaged data exists
+       INQUIRE( FILE='DATA_3D_AV_NETCDF'//TRIM( model_string ), EXIST=netcdf_1 )
+
+       IF ( netcdf_0  .OR.  netcdf_1 )  THEN
+          netcdf_output = .TRUE.
+       ELSE
+          netcdf_output = .FALSE.
+       ENDIF
+
+!
+!--    Check, if file from PE0 exists
+       danz = 0
+       WRITE (id_string,'(I4.4)')  danz
+       INQUIRE ( &
+            FILE='PLOT3D_DATA'//TRIM( model_string )//'_'//TRIM( id_string ),  &
+            EXIST=found )
+
+!
+!--    Combination only works, if data are not compressed. In that case, 
+!--    PALM created a flag file (PLOT3D_COMPRESSED)
+       INQUIRE ( FILE='PLOT3D_COMPRESSED'//TRIM( model_string ), &
+            EXIST=compressed )
+
+!
+!--    Find out the number of files and open them
+       DO  WHILE ( found  .AND.  .NOT. compressed )
+
+          OPEN ( danz+110, &
+               FILE='PLOT3D_DATA'//TRIM( model_string )//'_'//TRIM(id_string), &
+               FORM='UNFORMATTED')
+          danz = danz + 1
+          WRITE (id_string,'(I4.4)')  danz
+          INQUIRE ( &
+               FILE='PLOT3D_DATA'//TRIM( model_string )//'_'//TRIM(id_string), &
+               EXIST=found )
+
+       ENDDO
+
+!
+!--    Info-output
+       PRINT*, ' '
+       PRINT*, '*** combine_plot_fields ***'
+#if defined( __netcdf )
+       IF ( netcdf_output )  PRINT*, '    NetCDF output enabled'
+#else
+       IF ( netcdf_output )  THEN
+          PRINT*, '--- Sorry, no NetCDF support on this host'
+          netcdf_output = .FALSE.
+       ENDIF
+#endif
+       IF ( danz /= 0 )  THEN
+          PRINT*, '    3D-data:     ', danz, ' file(s) found'
+       ELSE
+          IF ( found .AND. compressed )  THEN
+             PRINT*, '+++ no 3D-data processing, since data are compressed'
+          ELSE
+             PRINT*, '    no 3D-data file available'
+          ENDIF
+       ENDIF
+
+       IF ( netcdf_output  .AND.  danz /= 0 )  THEN
+#if defined( __netcdf )
+          DO  av = 0, 1
+
+             IF ( av == 0  .AND.  .NOT.  netcdf_0 )  CYCLE
+             IF ( av == 1  .AND.  .NOT.  netcdf_1 )  CYCLE
+
+!
+!--          Open NetCDF dataset
+             IF ( av == 0 )  THEN
+                filename = 'DATA_3D_NETCDF'//TRIM( model_string )
+             ELSE
+                filename = 'DATA_3D_AV_NETCDF'//TRIM( model_string )
+             ENDIF
+             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set(av) )
+             IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 13 )
+
+
+!
+!--          Get the list of variables (order of variables corresponds with the
+!--          order of data on the binary file)
+             var_list(av) = ' '    ! GET_ATT does not assign trailing blanks
+             nc_stat = NF90_GET_ATT( id_set(av), NF90_GLOBAL, 'VAR_LIST', &
+                  var_list(av) )
+             IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 14 )
+
+!
+!--          Inquire id of the time coordinate variable
+             nc_stat = NF90_INQ_VARID( id_set(av), 'time', id_var_time(av) )
+             IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 15 )
+
+!
+!--          Count number of variables; there is one more semicolon in the
+!--          string than variable names
+             num_var(av) = -1
+             DO  i = 1, LEN( var_list(av) )
+                IF ( var_list(av)(i:i) == ';' )  num_var(av) = num_var(av) + 1
+             ENDDO
+
+!
+!--          Extract the variable names from the list and inquire their NetCDF
+!--          IDs
+             pos = INDEX( var_list(av), ';' )
+!
+!--          Loop over all variables
+             DO  i = 1, num_var(av)
+
+!
+!--             Extract variable name from list
+                var_list(av) = var_list(av)(pos+1:)
+                pos = INDEX( var_list(av), ';' )
+                var_name = var_list(av)(1:pos-1)
+
+!
+!--             Get variable ID from name
+                nc_stat = NF90_INQ_VARID( id_set(av), TRIM( var_name ), &
+                     id_var(av,i) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 16 )
+
+             ENDDO
+
+          ENDDO    ! av=0,1
+
+#endif
+       ENDIF
+
+!
+!--    Read arrays, until the end of the file is reached
+       current_var = 999999999
+       fanz = 0
+       DO  WHILE ( danz /= 0 )
+
+!
+!--       Loop over all files
+          DO  id = 0, danz-1
+!
+!--          File from PE0 contains special information at the beginning,
+!--          concerning the lower and upper indices of the total-domain used in
+!--          PALM (nxag, nxeg, nyag, nyeg, nzag, nzeg) and the lower and upper
+!--          indices of the array to be written by this routine (nxa, nxe, nya,
+!--          nye, nza, nze). Usually nxag=-1 and nxa=0, nyag=-1 and nya=0,
+!--          nzeg=nz and nze=nz_plot3d.
+!--          Allocate necessary array and open the output file.
+             IF ( id == 0  .AND.  fanz(0) == 0  .AND.  fanz(1) == 0 )  THEN
+                READ ( id+110 )  nxag, nxeg, nyag, nyeg, nzag, nzeg
+                READ ( id+110 )  nxa, nxe, nya, nye, nza, nze
+                ALLOCATE ( pf3d(nxa:nxe,nya:nye,nza:nze) )
+                IF ( avs_output )  THEN
+                   OPEN ( 2, FILE='PLOT3D_DATA'//TRIM( model_string ), &
+                        FORM='UNFORMATTED' )
+                ENDIF
+             ENDIF
+
+!
+!--          Read output time
+             IF ( netcdf_output  .AND.  id == 0 )  THEN
+                IF ( netcdf_1 )  THEN
+                   READ ( id+110, END=999 )  simulated_time, time_step, av
+                ELSE
+!
+!--                For compatibility with earlier PALM versions
+                   READ ( id+110, END=999 )  simulated_time, time_step
+                   av = 0
+                ENDIF
+             ENDIF
+
+!
+!--          Read subdomain indices and grid point values
+             READ ( id+110, END=999 )  xa, xe, ya, ye, za, ze
+             ALLOCATE( pf3d_tmp(xa:xe,ya:ye,za:ze) )
+             READ ( id+110 )  pf3d_tmp
+
+             xxa = MAX( nxa, xa )
+             xxe = MIN( nxe, xe )
+             yya = MAX( nya, ya )
+             yye = MIN( nye, ye )
+             zza = MAX( nza, za )
+             zze = MIN( nze, ze )
+             DO  k = zza, zze
+                DO  j = yya, yye
+                   DO  i = xxa, xxe
+                      pf3d(i,j,k) = pf3d_tmp(i,j,k)
+                   ENDDO
+                ENDDO
+             ENDDO
+
+             DEALLOCATE( pf3d_tmp )
+             IF ( id == 0 )  fanz(av) = fanz(av) + 1
+
+          ENDDO
+
+!
+!--       Write data of the total domain
+          IF ( avs_output )  WRITE ( 2 )  pf3d(nxa:nxe,nya:nye,nza:nze)
+       
+!
+!--       Write same data in NetCDF format
+          IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+!
+!--          Check if a new time step has begun; if yes write data to time axis
+             IF ( current_var(av) > num_var(av) )  THEN
+                current_var(av) = 1
+                nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), &
+                                     (/ simulated_time /),&
+                                     start = (/ time_step /), count = (/ 1 /) )
+                IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 17 )
+             ENDIF
+
+!
+!--          Now write the data
+             nc_stat = NF90_PUT_VAR( id_set(av), id_var(av,current_var(av)), &
+                                     pf3d, start = (/ 1, 1, 1, time_step /), &
+                              count = (/ nxe-nxa+1, nye-nya+1, nze-nza+1, 1 /) )
+             IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 18 )
+
+             current_var(av) = current_var(av) + 1
+
+#endif
+          ENDIF
+
+       ENDDO
+
+999    IF ( danz /= 0 )  THEN
+!
+!--       Print the number of arrays processed
+          WRITE (*,'(16X,I4,A)')  fanz(0)+fanz(1), ' array(s) processed'
+          IF ( fanz(1) /= 0 )  THEN
+             WRITE (*,'(16X,I4,A)')  fanz(1), ' array(s) are time-averaged'
+          ENDIF
+!
+!--       Close all files and deallocate array
+          DO  id = 0, danz-1
+             CLOSE ( id+110 )
+          ENDDO
+          CLOSE ( 2 )
+          DEALLOCATE ( pf3d )
+!
+!--       Close the NetCDF file
+          IF ( netcdf_output )  THEN
+#if defined( __netcdf )
+             IF ( netcdf_0 )  THEN
+                nc_stat = NF90_CLOSE( id_set(0) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 19 )
+             ENDIF
+             IF ( netcdf_1 )  THEN
+                nc_stat = NF90_CLOSE( id_set(1) )
+                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 20 )
+             ENDIF
+#endif
+          ENDIF
+       ENDIF
+
+    ENDDO  ! models
+
+
+ CONTAINS
+
+
+    SUBROUTINE handle_netcdf_error( errno )
+!
+!--    Prints out a text message corresponding to the current NetCDF status
+
+       IMPLICIT NONE
+
+       INTEGER, INTENT(IN) ::  errno
+
+#if defined( __netcdf )
+       IF ( nc_stat /= NF90_NOERR )  THEN
+          PRINT*, '+++ combine_plot_fields  netcdf: ', av, errno, &
+                  TRIM( nf90_strerror( nc_stat ) )
+       ENDIF
+#endif
+
+    END SUBROUTINE handle_netcdf_error
+
+
+ END PROGRAM combine_plot_fields
+
+
+
Index: palm/tags/release-3.7/UTIL/combine_plot_fields_single_open.f90
===================================================================
--- palm/tags/release-3.7/UTIL/combine_plot_fields_single_open.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/combine_plot_fields_single_open.f90	(revision 393)
@@ -0,0 +1,231 @@
+ PROGRAM combine_plot_fields
+
+!-------------------------------------------------------------------------------!
+! Aktuelle Aenderungen:
+! ---------------------
+! Prozessordateien werden einzeln geoeffnet und geschlossen
+!
+! Fruehere Aenderungen:
+! ---------------------
+! 23/02/99  Keine Bearbeitung komprimierter 3D-Daten
+! Ursprungsversion vom 28/07/97
+!
+!
+! Beschreibung:
+! -------------
+! Vereinigung der von PARLES im Parallelbetrieb erzeugten Teilfelder zu
+! gemeinsamen, das jeweilige Gesamtgebiet umfassenden Plotfeldern
+!-------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+!
+!-- Lokale Variablen
+    CHARACTER (LEN=2) ::  modus
+    CHARACTER (LEN=7) ::  id_char
+
+    INTEGER, PARAMETER ::  spk = SELECTED_REAL_KIND( 6 )
+
+    INTEGER ::  danz, fanz, id, nxa, nxag, nxe, nxeg, nya, nyag, nye, nyeg, &
+                nza, nzag, nze, nzeg, xa, xe, ya, ye, za, ze
+
+    LOGICAL ::  compressed, found
+
+    REAL ::  dx
+    REAL, DIMENSION(:),   ALLOCATABLE   ::  eta, ho, hu
+    REAL, DIMENSION(:,:), ALLOCATABLE   ::  pf
+    REAL(spk), DIMENSION(:,:,:), ALLOCATABLE ::  pf3d
+
+
+!
+!-- 2D-Felder fuer ISO2D
+!-- Hauptschleife ueber die 3 Schnittarten, beginnend mit xy-Schnitt
+    modus = 'XY'
+    PRINT*, ''
+    DO  WHILE ( modus == 'XY'  .OR.  modus == 'XZ'  .OR.  modus == 'YZ' )
+!
+!--    Pruefen, ob Basisdatei von PE0 vorhanden
+       danz = 0
+       WRITE (id_char,'(A2,''_'',I4.4)')  modus, danz
+       INQUIRE ( FILE='PLOT2D_'//id_char, EXIST=found )
+!
+!--    Anzahl der Dateien feststellen
+       DO  WHILE ( found )
+
+          danz = danz + 1
+          WRITE (id_char,'(A2,''_'',I4.4)')  modus, danz
+          INQUIRE ( FILE='PLOT2D_'//id_char, EXIST=found )
+
+       ENDDO
+!
+!--    Info-Ausgabe
+       PRINT*, ''
+       PRINT*, '*** combine_plot_fields ***'
+       IF ( danz /= 0 )  THEN
+          PRINT*, modus,'-Schnitt:  ', danz, ' Datei(en) gefunden'
+       ELSE
+          PRINT*, 'keine ', modus, '-Schnitte vorhanden'
+       ENDIF
+
+!
+!--    Einzelne Felder einlesen, bis keine mehr auf den Dateien vorhanden
+       fanz = 0
+       DO  WHILE ( danz /= 0 )
+
+!
+!--       Schleife ueber alle Dateien
+          DO  id = 0, danz-1
+!
+!--          Prozessordatei oeffnen
+             WRITE (id_char,'(A2,''_'',I4.4)')  modus, id
+             OPEN ( 1, FILE='PLOT2D_'//id_char, FORM='UNFORMATTED', &
+                       POSITION='ASIS' )
+
+!
+!--          Bei erster Datei und erstem eingelesenen Teilfeld Gesamtfeld
+!--          allokieren, Ausgabedatei oeffnen und Koordinateninformationen
+!--          schreiben
+             IF ( id == 0  .AND.  fanz == 0 )  THEN
+                READ ( 1 )  nxag, nxeg, nyag, nyeg
+                READ ( 1 )  nxa, nxe, nya, nye
+                ALLOCATE ( eta(nya:nye), ho(nxa:nxe), hu(nxa:nxe), &
+                           pf(nxag:nxeg,nyag:nyeg) )
+                READ ( 1 )  dx, eta, hu, ho
+
+                OPEN ( 2, FILE='PLOT2D_'//modus, FORM='UNFORMATTED' )
+                WRITE ( 2 )  dx, eta, hu, ho
+             ENDIF
+!
+!--          Teilfeld einlesen und ausgeben
+             READ ( 1, END=998 )  xa, xe, ya, ye
+!
+!--          Falls PE kein Teilfeld ausgegeben hat, sind Indices entsprechend
+!--          gesetzt
+             IF ( .NOT. ( xa == -1  .AND.  xe == -1  .AND. &
+                          ya == -1  .AND.  ye == -1 ) )  THEN
+                READ ( 1 )  pf(xa:xe,ya:ye)
+             ENDIF
+             IF ( id == 0 )  fanz = fanz + 1
+
+!
+!--          Prozessordatei schliessen
+             CLOSE ( 1 )
+
+          ENDDO
+!
+!--       Ausgabe des jeweiligen Gesamtfeldes
+          WRITE ( 2 )  pf(nxa:nxe,nya:nye)
+       
+       ENDDO
+
+998    IF ( danz /= 0 )  THEN
+!
+!--       Anzahl der bearbeiteten Felder ausgeben
+          PRINT*, modus, '-Schnitt:  ', fanz, ' Feld(er) ausgegeben'
+!
+!--       Dateien schliessen, allokierte Felder freigeben
+          CLOSE ( 1 )
+          CLOSE ( 2 )
+          DEALLOCATE ( eta, ho, hu, pf )
+       ENDIF
+!
+!--    Naechste Schnittebene
+       SELECT CASE ( modus )
+          CASE ( 'XY' )
+             modus = 'XZ'
+          CASE ( 'XZ' )
+             modus = 'YZ'
+          CASE ( 'YZ' )
+             modus = 'no'
+       END SELECT
+
+    ENDDO
+
+
+!
+!-- 3D-Felder fuer AVS
+!
+!-- Pruefen, ob Basisdatei von PE0 vorhanden
+    danz = 0
+    WRITE (id_char,'(I4.4)')  danz
+    INQUIRE ( FILE='PLOT3D_DATA_'//TRIM( id_char ), EXIST=found )
+
+!
+!-- Vereinigung darf nur erfolgen, wenn 3D-Daten unkomprimiert vorliegen
+    INQUIRE ( FILE='PLOT3D_COMPRESSED', EXIST=compressed )
+
+!
+!-- Anzahl der Dateien feststellen
+    DO  WHILE ( found  .AND.  .NOT. compressed )
+
+       danz = danz + 1
+       WRITE (id_char,'(I4.4)')  danz
+       INQUIRE ( FILE='PLOT3D_DATA_'//TRIM( id_char ), EXIST=found )
+
+    ENDDO
+
+!
+!-- Info-Ausgabe
+    PRINT*, ' '
+    PRINT*, '*** combine_plot_fields ***'
+    IF ( danz /= 0 )  THEN
+       PRINT*, '3D-Ausgabe:  ', danz, ' Datei(en) gefunden'
+    ELSE
+       IF ( found .AND. compressed )  THEN
+          PRINT*, '3D-Ausgabe nicht vorgenommen, da Daten komprimiert vorliegen'
+       ELSE
+          PRINT*, 'keine 3D-Ausgaben vorhanden'
+       ENDIF
+    ENDIF
+
+!
+!-- Einzelne Felder einlesen, bis keine mehr auf den Dateien vorhanden
+    fanz = 0
+    DO  WHILE ( danz /= 0 )
+
+!
+!--    Schleife ueber alle Dateien
+       DO  id = 0, danz-1
+!
+!--       Prozessordatei oeffnen
+          WRITE (id_char,'(I4.4)')  id
+          OPEN ( 1, FILE='PLOT3D_DATA_'//TRIM( id_char ), FORM='UNFORMATTED', &
+                    POSITION='ASIS' )
+!
+!--       Bei erster Datei und erstem eingelesenen Teilfeld Gesamtfeld
+!--       allokieren und Ausgabedatei oeffnen
+          IF ( id == 0  .AND.  fanz == 0 )  THEN
+             READ ( 1 )  nxag, nxeg, nyag, nyeg, nzag, nzeg
+             READ ( 1 )  nxa, nxe, nya, nye, nza, nze
+             ALLOCATE ( pf3d(nxag:nxeg,nyag:nyeg,nzag:nzeg) )
+             OPEN ( 2, FILE='PLOT3D_DATA', FORM='UNFORMATTED' )
+          ENDIF
+!
+!--       Teilfeld einlesen und ausgeben
+          READ ( 1, END=999 )  xa, xe, ya, ye, za, ze
+          READ ( 1 )  pf3d(xa:xe,ya:ye,za:ze)
+          IF ( id == 0 )  fanz = fanz + 1
+
+!
+!--       Prozessordatei schliessen
+          CLOSE ( 1 )
+
+       ENDDO
+!
+!--    Ausgabe des jeweiligen Gesamtfeldes
+       WRITE ( 2 )  pf3d(nxa:nxe,nya:nye,nza:nze)
+       
+    ENDDO
+
+999 IF ( danz /= 0 )  THEN
+!
+!--    Anzahl der bearbeiteten Felder ausgeben
+       PRINT*, '3D-Ausgabe:  ', fanz, ' Feld(er) ausgegeben'
+!
+!--    Dateien schliessen, allokierte Felder freigeben
+       CLOSE ( 1 )
+       CLOSE ( 2 )
+       DEALLOCATE ( pf3d )
+    ENDIF
+
+ END PROGRAM combine_plot_fields
Index: palm/tags/release-3.7/UTIL/compare_palm_logs.f90
===================================================================
--- palm/tags/release-3.7/UTIL/compare_palm_logs.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/compare_palm_logs.f90	(revision 393)
@@ -0,0 +1,281 @@
+ PROGRAM compare_palm_logs
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! 
+!
+! Former revisions:
+! -----------------
+!
+! Description:
+! ------------
+! This routine compares the log files from two different PALM runs.
+!
+! This routine must be compiled with:
+! decalpha:
+!    f95 -cpp -fast -r8
+! IBM-Regatta:
+!    xlf95 -qsuffix=cpp=f90 -qrealsize=8 -q64 -qmaxmem=-1 -Q -O3
+! IMUK:
+!    ifort compare...f90 -o compare...x
+!    -cpp -axW -r8 -nbs -Vaxlib
+! NEC-SX6:
+!    sxf90 compare...f90 -o compare...x 
+!    -C hopt -Wf '-A idbl4'
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    CHARACTER (LEN=5) ::  id_char
+    CHARACTER (LEN=80), DIMENSION(2)  ::  directory, log_message
+    CHARACTER (LEN=100), DIMENSION(2) ::  filename
+
+    INTEGER ::  count=0, i, id, i1(2), i2(2), j, j1(2), j2(2), k, k1(2), k2(2), &
+                n_err, n_files(2)
+
+    LOGICAL ::  found
+
+    REAL    ::  simtime(2)
+
+    INTEGER, DIMENSION(:,:),   ALLOCATABLE ::  array_2d_i_1, array_2d_i_2
+
+    REAL, DIMENSION(:,:),   ALLOCATABLE ::  array_2d_1, array_2d_2
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  array_1, array_2
+
+    directory(1) = 'const_log/'
+    directory(2) = 'const_log.1/'
+
+!
+!-- Check, if file from PE0 exists on directory 1. Stop, if it does not exist.
+    n_files(1) = 0
+
+    WRITE (id_char,'(''_'',I4.4)')  n_files(1)
+    INQUIRE ( FILE=TRIM( directory(1) )//id_char, EXIST=found )
+!
+!-- Find out the number of files (equal to the number of PEs which
+!-- have been used in PALM) and open them
+    DO  WHILE ( found )
+
+       OPEN ( n_files(1)+100, FILE=TRIM( directory(1) )//id_char, &
+              FORM='UNFORMATTED' )
+       n_files(1) = n_files(1) + 1
+       WRITE (id_char,'(''_'',I4.4)')  n_files(1)
+       INQUIRE ( FILE=TRIM( directory(1) )//id_char, EXIST=found )
+
+    ENDDO
+
+    IF ( n_files(1) == 0 )  THEN
+       PRINT*, '+++ no file _0000 in directory "', TRIM( directory(1) ), '"'
+       STOP
+    ELSE
+       PRINT*, '*** directory "', TRIM( directory(1) ), '": ', n_files(1), &
+               ' files found'
+    ENDIF
+
+!
+!-- Same for the second directory
+    n_files(2) = 0
+
+    WRITE (id_char,'(''_'',I4.4)')  n_files(2)
+    INQUIRE ( FILE=TRIM( directory(2) )//id_char, EXIST=found )
+
+    DO  WHILE ( found )
+
+       OPEN ( n_files(2)+200, FILE=TRIM( directory(2) )//id_char, &
+              FORM='UNFORMATTED' )
+       n_files(2) = n_files(2) + 1
+       WRITE (id_char,'(''_'',I4.4)')  n_files(2)
+       INQUIRE ( FILE=TRIM( directory(2) )//id_char, EXIST=found )
+
+    ENDDO
+
+!
+!-- Number of files must be identical
+    IF ( n_files(1) /= n_files(2) )  THEN
+       PRINT*, '+++ file number mismatch'
+       PRINT*, '    ', TRIM( directory(1) ), ': ', n_files(1), ' files'
+       PRINT*, '    ', TRIM( directory(2) ), ': ', n_files(2), ' files'
+       STOP
+    ENDIF
+
+!
+!-- Compare the data file by file
+    DO  id = 0, n_files(1)-1
+
+       count = 0
+
+       WRITE (filename(1),'(A,''_'',I4.4)')  TRIM( directory(1) ), id
+       WRITE (filename(2),'(A,''_'',I4.4)')  TRIM( directory(2) ), id
+
+       PRINT*, '*** comparing files "', TRIM( filename(1) ),'" "', &
+               TRIM( filename(2) ), '"'
+       DO
+          PRINT*,' '
+          READ ( id+100, END=100 )  log_message(1)
+          PRINT*,'    --- ', TRIM( log_message(1) )
+          READ ( id+200, END=900 )  log_message(2)
+
+          IF ( TRIM( log_message(1) ) /= TRIM( log_message(2) ) )  THEN
+             PRINT*,'    +++ log message on file 2 does not match:'
+             PRINT*,'        ', TRIM( log_message(2) )
+          ENDIF
+
+          count = count + 1
+          IF ( log_message(1)(1:2) == '3d' )  THEN
+             PRINT*,'    *** reading 3d array'
+             READ ( id+100, END=901 )  simtime(1), i1(1), i2(1), j1(1), j2(1), &
+                                       k1(1), k2(1)
+             PRINT*,'        time=', simtime(1)
+             PRINT*,'        array size=(',i1(1),':',i2(1), &
+                                       ',',j1(1),':',j2(1),',',k1(1),':',k2(1),')'
+             READ ( id+200, END=902 )  simtime(2), i1(2), i2(2), j1(2), j2(2), &
+                                       k1(2), k2(2)
+             IF ( simtime(1) /= simtime(2) .OR. i1(1) /= i1(2) .OR. &
+                  i2(1) /= i2(2) .OR. j1(1) /= j1(2) .OR. j2(1) /= j2(2) .OR. &
+                  k1(1) /= k1(2) .OR. k2(1) /= k2(2) )  THEN
+                PRINT*,'    +++ time/indices on file 2 does not match:'
+                PRINT*,'        time=', simtime(2)
+                PRINT*,'        array size=(',i1(2),':', &
+                                i2(2), ',',j1(2),':',j2(2),',',k1(2),':',k2(2),')'
+                STOP
+             ENDIF
+
+             ALLOCATE( array_1(i1(1):i2(1),j1(1):j2(1),k1(1):k2(1)), &
+                       array_2(i1(2):i2(2),j1(2):j2(2),k1(2):k2(2)) )
+
+             READ ( id+100, END=903 )  array_1
+             READ ( id+200, END=904 )  array_2
+
+             n_err = 0
+loop:        DO  k = k1(1), k2(1)
+loop1:           DO  j = j1(1), j2(1)
+                   DO  i = i1(1), i2(1)
+                      IF ( array_1(i,j,k) /= array_2(i,j,k) )  THEN
+                         PRINT*,'+++ data mismatch on element (',i,',',j,',',k,')'
+                         PRINT*,'    array_1: ', array_1(i,j,k)
+                         PRINT*,'    array_2: ', array_2(i,j,k)
+                         n_err = n_err + 1
+                         IF ( n_err > 5 )  EXIT loop
+                      ENDIF
+                   ENDDO
+                ENDDO loop1
+             ENDDO loop
+
+             DEALLOCATE( array_1, array_2 )
+
+          ELSEIF ( log_message(1)(1:2) == '2d' )  THEN
+             PRINT*,'    *** reading 2d array'
+             READ ( id+100, END=901 )  simtime(1), i1(1), i2(1), j1(1), j2(1)
+             PRINT*,'        time=', simtime(1)
+             PRINT*,'        array size=(',i1(1),':',i2(1), &
+                                       ',',j1(1),':',j2(1),')'
+             READ ( id+200, END=902 )  simtime(2), i1(2), i2(2), j1(2), j2(2)
+             IF ( simtime(1) /= simtime(2) .OR. i1(1) /= i1(2) .OR. &
+                  i2(1) /= i2(2) .OR. j1(1) /= j1(2) .OR. j2(1) /= j2(2) )  THEN
+                PRINT*,'    +++ time/indices on file 2 does not match:'
+                PRINT*,'        time=', simtime(2)
+                PRINT*,'        array size=(',i1(2),':', &
+                                i2(2), ',',j1(2),':',j2(2),')'
+             ENDIF
+
+             ALLOCATE( array_2d_1(i1(1):i2(1),j1(1):j2(1)), &
+                       array_2d_2(i1(2):i2(2),j1(2):j2(2)) )
+
+             READ ( id+100, END=903 )  array_2d_1
+             READ ( id+200, END=904 )  array_2d_2
+
+             IF ( i1(1) /= i1(2) )  i1(1) = i1(2)
+             IF ( i2(1) /= i2(2) )  i2(1) = i2(2)
+             IF ( j1(1) /= j1(2) )  j1(1) = j1(2)
+             IF ( j2(1) /= j2(2) )  j2(1) = j2(2)
+
+             n_err = 0
+loop2:       DO  j = j1(1), j2(1)
+                DO  i = i1(1), i2(1)
+                   IF ( array_2d_1(i,j) /= array_2d_2(i,j) )  THEN
+                      PRINT*,'+++ data mismatch on element (',i,',',j,')'
+                      PRINT*,'    array_1: ', array_2d_1(i,j)
+                      PRINT*,'    array_2: ', array_2d_2(i,j)
+                      n_err = n_err + 1
+                      IF ( n_err > 5 )  EXIT loop2
+                   ENDIF
+                ENDDO
+             ENDDO loop2
+
+             DEALLOCATE( array_2d_1, array_2d_2 )
+
+          ELSE
+             PRINT*,'    *** reading 2d int array'
+             READ ( id+100, END=901 )  simtime(1), i1(1), i2(1), j1(1), j2(1)
+             PRINT*,'        time=', simtime(1)
+             PRINT*,'        array size=(',i1(1),':',i2(1), &
+                                       ',',j1(1),':',j2(1),')'
+             READ ( id+200, END=902 )  simtime(2), i1(2), i2(2), j1(2), j2(2)
+             IF ( simtime(1) /= simtime(2) .OR. i1(1) /= i1(2) .OR. &
+                  i2(1) /= i2(2) .OR. j1(1) /= j1(2) .OR. j2(1) /= j2(2) )  THEN
+                PRINT*,'    +++ time/indices on file 2 does not match:'
+                PRINT*,'        time=', simtime(2)
+                PRINT*,'        array size=(',i1(2),':', &
+                                i2(2), ',',j1(2),':',j2(2),')'
+             ENDIF
+
+             ALLOCATE( array_2d_i_1(i1(1):i2(1),j1(1):j2(1)), &
+                       array_2d_i_2(i1(2):i2(2),j1(2):j2(2)) )
+
+             READ ( id+100, END=903 )  array_2d_i_1
+             READ ( id+200, END=904 )  array_2d_i_2
+
+             IF ( i1(1) /= i1(2) )  i1(1) = i1(2)
+             IF ( i2(1) /= i2(2) )  i2(1) = i2(2)
+             IF ( j1(1) /= j1(2) )  j1(1) = j1(2)
+             IF ( j2(1) /= j2(2) )  j2(1) = j2(2)
+
+             n_err = 0
+loop3:       DO  j = j1(1), j2(1)
+                DO  i = i1(1), i2(1)
+                   IF ( array_2d_i_1(i,j) /= array_2d_i_2(i,j) )  THEN
+                      PRINT*,'+++ data mismatch on element (',i,',',j,')'
+                      PRINT*,'    array_1: ', array_2d_i_1(i,j)
+                      PRINT*,'    array_2: ', array_2d_i_2(i,j)
+                      n_err = n_err + 1
+                      IF ( n_err > 5 )  EXIT loop3
+                   ENDIF
+                ENDDO
+             ENDDO loop3
+
+             DEALLOCATE( array_2d_i_1, array_2d_i_2 )
+
+          ENDIF
+
+!          IF ( count > 8 )  STOP
+       ENDDO
+
+100    PRINT*, '*** end of data on file "', TRIM( filename(1) ), '"'
+       PRINT*, '*** files seem to be identical'
+       PRINT*, ' '
+    ENDDO
+
+    STOP
+
+900 PRINT*,'+++ unexpected end on file "', TRIM( filename(2) ), '"'
+    STOP
+901 PRINT*,'+++ unexpected end on file "', TRIM( filename(1) ), '"'
+    PRINT*,'    while reading indices'
+    STOP
+902 PRINT*,'+++ unexpected end on file "', TRIM( filename(2) ), '"'
+    PRINT*,'    while reading indices'
+    STOP
+903 PRINT*,'+++ unexpected end on file "', TRIM( filename(1) ), '"'
+    PRINT*,'    while reading array data'
+    STOP
+904 PRINT*,'+++ unexpected end on file "', TRIM( filename(2) ), '"'
+    PRINT*,'    while reading array data'
+    STOP
+
+ END PROGRAM compare_palm_logs
+
+
+
Index: palm/tags/release-3.7/UTIL/find_palm_config.f90
===================================================================
--- palm/tags/release-3.7/UTIL/find_palm_config.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/find_palm_config.f90	(revision 393)
@@ -0,0 +1,336 @@
+ PROGRAM find_palm_config
+
+!------------------------------------------------------------------------------!
+! Description:
+! -------------
+! Find possible configurations for given processor and grid point numbers
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1) ::  char = ''
+    INTEGER ::  count = 0, i, ii(1), j, k, maximum_grid_level, mg_levels_x, &
+                mg_levels_y, mg_levels_z, n, numprocs, numprocs_max,        &
+                numprocs_min, nx, nxanz, nx_max, nx_min, ny, nyanz, ny_max, &
+                ny_min, nz, nz_max, nz_min, pdims(2)
+    INTEGER ::  numnx(10000), numpr(10000)
+    LOGICAL ::  cubic_domain = .FALSE., found, found_once = .FALSE., &
+                one_d_decomp = .FALSE., quadratic_domain_xy = .FALSE.
+    REAL    ::  grid_ratio, grid_ratio_new, maximum_grid_ratio, tolerance, &
+                tolerance_nx, tolerance_ny, tolerance_nz
+    REAL    ::  gridratio(10000)
+
+    TYPE configuration
+       REAL               ::  grid_ratio
+       INTEGER            ::  numprocs, pdims_1, pdims_2, nx, ny, nz, nxanz, &
+                              nyanz, grid_levels, nx_mg, ny_mg, nz_mg
+    END TYPE configuration
+
+    TYPE(configuration), DIMENSION(10000) ::  config
+
+!
+!-- Ask number of processors available
+    PRINT*, '*** number of PEs available + allowed tolerance:'
+    READ (*,*)  numprocs, tolerance
+    IF ( tolerance < 0.0 )  THEN
+       numprocs_max = numprocs
+       numprocs_min = numprocs * ( 1.0 + tolerance )
+    ELSE
+       numprocs_max = numprocs * ( 1.0 + tolerance )
+       numprocs_min = numprocs * ( 1.0 - tolerance )
+    ENDIF
+
+!
+!-- Ask for 1D-decomposition
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** shall a 1d-decomposition along x be used (y/n)?'
+    READ (*,*)  char
+    IF ( char == 'y' )  one_d_decomp = .TRUE.
+
+!
+!-- Ask for quadratic domain
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** shall a quadratic domain along x and y be used (y/n)?'
+    READ (*,*)  char
+    IF ( char == 'y' )  THEN
+       quadratic_domain_xy = .TRUE.
+       PRINT*, ' '
+       PRINT*, ' '
+       PRINT*, '*** shall also grid points along z be equal to x and y (y/n)?'
+       READ (*,*)  char
+       IF ( char == 'y' )  cubic_domain = .TRUE.
+    ENDIF
+
+!
+!-- Read number of gridpoints in each direction
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** please type nx + allowed tolerance:'
+    READ (*,*)  nx, tolerance_nx
+    IF ( tolerance_nx < 0.0 )  THEN
+       nx_max = nx
+       nx_min = nx * ( 1.0 + tolerance_nx )
+    ELSE
+       nx_max = nx * ( 1.0 + tolerance_nx )
+       nx_min = nx * ( 1.0 - tolerance_nx )
+    ENDIF
+    IF ( quadratic_domain_xy )  THEN
+       ny           = nx
+       tolerance_ny = tolerance_nx
+    ELSE
+       PRINT*, '*** please type ny + allowed tolerance:'
+       READ (*,*)  ny, tolerance_ny
+    ENDIF
+    IF ( tolerance_ny < 0.0 )  THEN
+       ny_max = ny
+       ny_min = ny * ( 1.0 + tolerance_ny )
+    ELSE
+       ny_max = ny * ( 1.0 + tolerance_ny )
+       ny_min = ny * ( 1.0 - tolerance_ny )
+    ENDIF
+    IF ( cubic_domain )  THEN
+       nz           = nx
+       tolerance_nz = tolerance_nx
+    ELSE
+       PRINT*, '*** please type nz + allowed tolerance:'
+       READ (*,*)  nz, tolerance_nz
+    ENDIF
+    IF ( tolerance_nz < 0.0 )  THEN
+       nz_max = nz
+       nz_min = nz * ( 1.0 + tolerance_nz )
+    ELSE
+       nz_max = nz * ( 1.0 + tolerance_nz )
+       nz_min = nz * ( 1.0 - tolerance_nz )
+    ENDIF
+
+!
+!-- Read maximum gridpoint-ratio for which results shall be printed
+    PRINT*, ' '
+    PRINT*, '*** please type maximum subdomain gridpoint-ratio'
+    PRINT*, '    ( ABS( nx_sub / ny_sub - 1.0 ) ) for which results shall be'
+    PRINT*, '    printed'
+    READ (*,*)  maximum_grid_ratio
+
+!
+!-- Loop over allowed numbers of processors
+g:  DO  n = numprocs_max, numprocs_min, -1
+
+!
+!--    Set initial configuration
+       numprocs   = n
+       pdims(1)   = numprocs + 1
+       pdims(2)   = 1
+
+!
+!--    Looking for practicable virtual processor grids
+p:     DO  WHILE ( pdims(1) > 1 )
+
+          pdims(1) = pdims(1) - 1
+
+!
+!--       Create the virtual PE-grid topology
+          IF ( MOD( numprocs , pdims(1) ) /= 0 )  THEN
+             CYCLE p
+          ELSE
+             IF ( one_d_decomp  .AND.  pdims(1) < numprocs )  CYCLE g
+          ENDIF
+          pdims(2) = numprocs / pdims(1)
+
+      xn: DO  nx = nx_min, nx_max
+!
+!--          Proof, if grid points in x-direction can be distributed without
+!--          rest to the processors in x- and y-direction
+             IF ( MOD(nx+1, pdims(1)) /= 0 .OR. &
+                  MOD(nx+1, pdims(2)) /= 0 )  CYCLE xn
+             nxanz  = ( nx + 1 ) / pdims(1)
+
+         yn: DO  ny = ny_min, ny_max
+!
+!--             Eventually exit in case of non quadratic domains
+                IF ( quadratic_domain_xy  .AND.  ny /= nx )  CYCLE yn
+!
+!--             Proof, if grid points in y-direction can be distributed without
+!--             rest to the processors in x- and y-direction
+                IF ( MOD( ny+1 , pdims(2) ) /= 0 .OR. &
+                     MOD( ny+1, pdims(1) ) /= 0 )  CYCLE yn
+                nyanz  = ( ny + 1 ) / pdims(2)
+
+                grid_ratio = ABS( REAL( nxanz ) / REAL( nyanz ) - 1.0 )
+
+            zn: DO  nz = nz_min, nz_max
+!
+!--                Eventually exit in case of non cubic domains
+                   IF ( cubic_domain  .AND.  nz /= nx )  CYCLE zn
+!
+!--                Proof, if grid points in z-direction can be distributed
+!--                without rest to the processors in x-direction
+                   IF ( MOD( nz, pdims(1) ) /= 0  .AND.  .NOT. one_d_decomp ) &
+                   THEN
+                      CYCLE zn
+                   ENDIF
+
+!
+!--                Store configuration found
+                   IF ( grid_ratio < maximum_grid_ratio )  THEN
+                      found = .TRUE.
+                      count = count + 1
+                      config(count)%grid_ratio = grid_ratio
+                      config(count)%numprocs   = numprocs
+                      config(count)%pdims_1    = pdims(1)
+                      config(count)%pdims_2    = pdims(2)
+                      config(count)%nx         = nx
+                      config(count)%ny         = ny
+                      config(count)%nz         = nz
+                      config(count)%nxanz      = nxanz
+                      config(count)%nyanz      = nyanz
+                      IF ( count == 10000 )  THEN
+                         PRINT*, '+++ more than 10000 configurations'
+                         EXIT g
+                      ENDIF
+                   ENDIF
+
+                   IF ( one_d_decomp )  CYCLE yn
+
+                ENDDO zn
+
+             ENDDO yn
+
+          ENDDO xn
+
+       ENDDO p
+
+    ENDDO g
+
+    IF ( .NOT. found )  THEN
+       PRINT*, ' '
+       PRINT*, '+++ No valid processor grid found for the given number of'
+       PRINT*, '    processors and gridpoints'
+       STOP
+    ENDIF
+
+!
+!-- Calculate number of possible grid levels and gridpoints of the coarsest grid
+!-- used by the multigrid method
+    DO  n = 1, count
+       mg_levels_x = 1
+       mg_levels_y = 1
+       mg_levels_z = 1
+
+       i =  config(n)%nxanz
+       DO WHILE ( MOD( i, 2 ) == 0  .AND.  i /= 2 )
+          i = i / 2
+          mg_levels_x = mg_levels_x + 1
+       ENDDO
+
+       j =  config(n)%nyanz
+       DO WHILE ( MOD( j, 2 ) == 0  .AND.  j /= 2 )
+          j = j / 2
+          mg_levels_y = mg_levels_y + 1
+       ENDDO
+
+       k =  config(n)%nz
+       DO WHILE ( MOD( k, 2 ) == 0  .AND.  k /= 2 )
+          k = k / 2
+          mg_levels_z = mg_levels_z + 1
+       ENDDO
+
+       maximum_grid_level = MIN( mg_levels_x, mg_levels_y, mg_levels_z )
+       config(n)%grid_levels = maximum_grid_level
+       config(n)%nx_mg = config(n)%nxanz / 2**(maximum_grid_level-1) 
+       config(n)%ny_mg = config(n)%nyanz / 2**(maximum_grid_level-1)
+       config(n)%nz_mg = config(n)%nz    / 2**(maximum_grid_level-1)
+    ENDDO
+
+!
+!-- Print the configurations computed above
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** print out results in ascending grid-ratio order (y/n)?'
+    READ (*,*)  char
+    IF ( char == 'y' )  THEN
+       gridratio = 10000.0
+       gridratio(1:count) = config(1:count)%grid_ratio
+       WRITE ( *, * )  ' '
+       WRITE ( *, * )  'Possible configurations found:'
+       WRITE ( *, * )  'sorted in ascending grid-ratio order'
+       WRITE ( *, 100 )
+       DO
+          ii = MINLOC( gridratio )
+          i = ii(1)
+          IF ( gridratio(i) /= 10000.0 )  THEN
+             WRITE ( *, 101 ) &
+                config(i)%grid_ratio, config(i)%numprocs, config(i)%pdims_1, &
+                config(i)%pdims_2, config(i)%nx, config(i)%ny, config(i)%nz, &
+                config(i)%nxanz, config(i)%nyanz, config(i)%grid_levels,     &
+                config(i)%nx_mg, config(i)%ny_mg, config(i)%nz_mg
+             gridratio(i) = 10000.0
+          ELSE
+             EXIT 
+          ENDIF
+       ENDDO
+    ENDIF
+
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** print out results in descending PE order (y/n)?'
+    READ (*,*)  char
+    IF ( char == 'y' )  THEN
+       numpr = 0
+       numpr(1:count) = config(1:count)%numprocs
+       WRITE ( *, * )  ' '
+       WRITE ( *, * )  'Possible configurations found:'
+       WRITE ( *, * )  'sorted after number of PEs'
+       WRITE ( *, 100 )
+       DO
+          ii = MAXLOC( numpr )
+          i = ii(1)
+          IF ( numpr(i) /= 0 )  THEN
+             WRITE ( *, 101 ) &
+                config(i)%grid_ratio, config(i)%numprocs, config(i)%pdims_1, &
+                config(i)%pdims_2, config(i)%nx, config(i)%ny, config(i)%nz, &
+                config(i)%nxanz, config(i)%nyanz, config(i)%grid_levels,     &
+                config(i)%nx_mg, config(i)%ny_mg, config(i)%nz_mg
+             numpr(i) = 0
+          ELSE
+             EXIT 
+          ENDIF
+       ENDDO
+    ENDIF
+
+    PRINT*, ' '
+    PRINT*, ' '
+    PRINT*, '*** print out results in descending grid size order (y/n)?'
+    READ (*,*)  char
+    IF ( char == 'y' )  THEN
+       numnx = 0
+       DO  i = 1, count
+          numnx(i) = config(i)%nx * config(i)%ny * config(i)%nz
+       ENDDO
+       WRITE ( *, * )  ' '
+       WRITE ( *, * )  'Possible configurations found:'
+       WRITE ( *, * )  'sorted after grid size'
+       WRITE ( *, 100 )
+       DO
+          ii = MAXLOC( numnx )
+          i = ii(1)
+          IF ( numnx(i) /= 0 )  THEN
+             WRITE ( *, 101 ) &
+                config(i)%grid_ratio, config(i)%numprocs, config(i)%pdims_1, &
+                config(i)%pdims_2, config(i)%nx, config(i)%ny, config(i)%nz, &
+                config(i)%nxanz, config(i)%nyanz, config(i)%grid_levels,     &
+                config(i)%nx_mg, config(i)%ny_mg, config(i)%nz_mg
+             numnx(i) = 0
+          ELSE
+             EXIT 
+          ENDIF
+       ENDDO
+    ENDIF
+
+100 FORMAT('ratio  PEs   PE-grid      nx   ny   nz   subdomain  grid_levels  ', &
+           'coarsest subd.')
+101 FORMAT(F4.2,2X,I4,' (',I4,',',I4,')',2X,I4,1X,I4,1X,I4,'  (',I4,',',I4,')', &
+           5X,I2,7X,'(',I3,',',I3,',',I3,')')
+
+ END PROGRAM find_palm_config
Index: palm/tags/release-3.7/UTIL/interpret_config.f90
===================================================================
--- palm/tags/release-3.7/UTIL/interpret_config.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/interpret_config.f90	(revision 393)
@@ -0,0 +1,556 @@
+ PROGRAM interpret_config
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
+! -----------------
+! bugfix in WRITE (2010) statement
+! mrun environment variables are read from NAMELIST instead of using GETENV.
+! Variables are allways assigned a value, also if they already got one. These
+! values are re-assigned later in mrun.
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 28/02/07 - Siggi - empty lines in configuration file are accepted
+! 01/11/05 - Siggi - s2b-Feld erlaubt den Wert locopt
+! 29/06/05 - Siggi - Fehlermeldung ins englische uebertragen und ergaenzt
+! 29/04/05 - Siggi - extin wird auch fuer Input-Dateien ausgegeben
+! 18/11/97 - Siggi - Komma in 2010-FORMAT hinzugefuegt
+! 21/07/97 - Siggi - Erste Fassung
+!
+! Description:
+! -------------
+! This program reads the mrun-configuration file .mrun.config and outputs
+! its content in form of ksh-commands, which can then be executed by mrun.
+! mrun is also able to directly read from the configuration file by using
+! the option "-S" (but with much slower speed).
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+    CHARACTER (LEN=1)   ::  bs = ACHAR( 92 )   ! backslash (auf vpp sonst n.
+                                               ! druckbar)
+    CHARACTER (LEN=20)  ::  do_remote, do_trace, host, localhost
+    CHARACTER (LEN=100) ::  config_file, icf
+    CHARACTER (LEN=300) ::  cond1, cond2, empty = REPEAT( ' ', 240 ),       &
+                            for_cond1, for_cond2, for_host, input_list,     &
+                            iolist, output_list, s1, s2, s2a, s2b, s2c, s3, &
+                            s3cond, s4, s5, s6, value, value_mrun, var, zeile
+
+    INTEGER ::  dummy, i, icomment = 0, icond1, icond2, idatver = 0, iec = 0,  &
+                ienvvar = 0, ifor_cond1, ifor_cond2, ifor_host, ihost,         &
+                iic = 0, iicf, iin = 0, iinput_list, il, ilocalhost,  ioc = 0, &
+                ios, iout = 0, ioutput_list, is1, is2, is2a, is2b, is2c,       &
+                is3, is3cond, is4, is5, is6, ivalue, ivar, izeile, linenr
+
+    LOGICAL ::  found
+
+    NAMELIST /mrun_environment/  cond1, cond2, config_file, do_remote,       &
+                                 do_trace, host, input_list, icf, localhost, &
+                                 output_list
+
+
+    OPEN ( 1, FILE='.mrun_environment', FORM='FORMATTED' )
+    READ ( 1, mrun_environment )
+    CLOSE ( 1 )
+
+    icond1       = LEN_TRIM( cond1 )
+    icond2       = LEN_TRIM( cond2 )
+    il           = LEN_TRIM( config_file )
+    ihost        = LEN_TRIM( host )
+    iinput_list  = LEN_TRIM( input_list )
+    iicf         = LEN_TRIM( icf )
+    ilocalhost   = LEN_TRIM( localhost )
+    ioutput_list = LEN_TRIM( output_list )
+
+    iolist = input_list(1:iinput_list) // output_list(1:ioutput_list)
+
+    IF ( do_trace(1:4) == 'true' )  THEN
+       PRINT*,'*** cond1="',cond1(1:icond1),'"'
+       PRINT*,'*** cond2="',cond2(1:icond2),'"'
+       PRINT*,'*** config_file="',config_file(1:il),'"'
+       PRINT*,'*** do_remote="',do_remote,'"'
+       PRINT*,'*** do_trace="',do_trace,'"'
+       PRINT*,'*** host="',host(1:ihost),'"'
+       PRINT*,'*** input_list="',input_list(1:iinput_list),'"'
+       PRINT*,'*** interpreted_config_file="',icf(1:iicf),'"'
+       PRINT*,'*** localhost="',localhost(1:ilocalhost),'"'
+       PRINT*,'*** output_list="',output_list(1:ioutput_list),'"'
+    ENDIF
+
+    OPEN ( 1, FILE=config_file(1:il), FORM='formatted' )
+    OPEN ( 2, FILE=icf(1:iicf), FORM='formatted' )
+
+    READ ( 1, '(A)', IOSTAT=ios )  zeile
+    linenr = 1
+
+
+    DO WHILE ( ios == 0 )
+
+       izeile = LEN_TRIM( zeile )
+
+       IF ( LEN_TRIM( zeile ) == 0 )  THEN
+
+          CONTINUE
+
+       ELSEIF ( zeile(1:1) == '#' )  THEN
+
+          icomment = icomment + 1
+
+       ELSEIF ( zeile(1:1) == '%' )  THEN
+
+          ienvvar = ienvvar + 1
+          i = INDEX( zeile, ' ' )
+          var = zeile(2:i-1)
+          ivar = i - 2
+
+          zeile(1:i) = empty(1:i)
+          zeile = ADJUSTL( zeile )
+          i = INDEX( zeile, ' ' )
+          value = zeile(1:i-1)
+          ivalue = i - 1
+
+          zeile(1:i) = empty(1:i)
+          zeile = ADJUSTL( zeile )
+          i = INDEX( zeile, ' ' )
+
+          IF ( i /= 1 )  THEN
+             for_host = zeile(1:i-1)
+             ifor_host = i - 1
+
+             zeile(1:i) = empty(1:i)
+             zeile = ADJUSTL( zeile )
+             i = INDEX( zeile, ' ' )
+
+             IF ( i /= 1 )  THEN
+                for_cond1 = zeile(1:i-1)
+                ifor_cond1 = i - 1
+
+                zeile(1:i) = empty(1:i)
+                zeile = ADJUSTL( zeile )
+                i = INDEX( zeile, ' ' )
+
+                IF ( i /= 1 )  THEN
+                   for_cond2 = zeile(1:i-1)
+                   ifor_cond2 = i - 1
+                ELSE
+                   for_cond2 = ''
+                   ifor_cond2 = 0
+                ENDIF
+             ELSE
+                for_cond1 = ''
+                ifor_cond1 = 0
+                for_cond2 = ''
+                ifor_cond2 = 0
+             ENDIF
+          ELSE
+             for_host = ' '
+             ifor_host = 1
+             for_cond1 = ''
+             ifor_cond1 = 0
+             for_cond2 = ''
+             ifor_cond2 = 0
+          ENDIF
+          IF ( do_trace(1:4) == 'true' )  THEN
+             PRINT*,'var="',var(1:ivar),'"'
+             PRINT*,'value="',value(1:ivalue),'"'
+             PRINT*,'for_host="',for_host(1:ifor_host),'"'
+             PRINT*,'for_cond1="',for_cond1(1:ifor_cond1),'"'
+             PRINT*,'for_cond2="',for_cond2(1:ifor_cond2),'"'
+          ENDIF
+!
+!--       Geltungsbereich pruefen und evtl. Variable ausgeben
+          IF ( for_host == ' '  .OR.  ( &
+               for_host(1:ifor_host) == host(1:ihost)  .AND. &
+               for_cond1(1:ifor_cond1) == cond1(1:icond1)  .AND. &
+               for_cond2(1:ifor_cond2) == cond2(1:icond2) &
+                                      )  .OR. ( &
+               INDEX( iolist, for_host(1:ifor_host) ) /= 0 &
+                                              ) )  THEN
+
+!
+!--          Zuerst Doppelpunkte durch Blanks ersetzen (aber doppelt
+!--          auftretende Doppelpunkte durch einen Doppelpunkt)
+             i = 0
+             DO
+                i = i + 1
+                IF ( i > ivalue )  EXIT
+                IF ( value(i:i) == ':' )  THEN
+                   IF ( value(i+1:i+1) == ':' )  THEN
+                      value = value(1:i) // value(i+2:ivalue)
+                      ivalue = ivalue - 1
+                   ELSE
+                      value(i:i) = ' '
+                   ENDIF
+                ENDIF
+             ENDDO
+
+!
+!--          Variable ausgeben
+             WRITE (2,2200)  var(1:ivar), bs, value(1:ivalue), bs, &
+                             var(1:ivar)
+ 2200        FORMAT ('eval ',A,'=',A,'"',A,A,'"'/'export ',A)
+
+             IF ( do_trace(1:4) == 'true' )  THEN
+                WRITE (2,2201)  bs, var(1:ivar), value(1:ivalue)
+ 2201           FORMAT ('printf "',A,'n*** ENVIRONMENT-VARIABLE ',A,' = ',A)
+             ENDIF
+
+          ENDIF
+
+!
+!--       Variable "host" muss gleich ausgewertet werden, da mit ihr ein
+!--       neuer Geltungsbereich festgelegt wird
+          IF ( var(1:ivar) == 'host' )  THEN
+
+             host  = value(1:ivalue)
+             ihost = ivalue
+
+!             IF ( host(1:ihost) /= localhost(1:ilocalhost) )  THEN
+!
+!                SELECT CASE ( value(1:ivalue) )
+!
+!                   CASE ( 'cray','hpcs','t3d','t3eb','t3eh','unics','vpp' )
+!
+!                      dummy = 1
+!
+!                   CASE DEFAULT
+!
+!                      WRITE (2,2202)  bs, bs, value(1:ivalue), bs, bs
+! 2202                 FORMAT ('printf "',A,'n +++ Auf Zielrechner ',A,'"',A,A,'" ist kein NQS-System vorhanden"'/ &
+!                              'printf "',A,'n     Programmlauf kann deshalb nicht gestartet werden"'/ &
+!                              'locat=nqs; exit')
+!                      STOP
+!
+!                END SELECT
+!
+!             ENDIF
+
+          ENDIF
+
+       ELSEIF ( zeile(1:3) == 'EC:' )  THEN
+!
+!--       Error-Kommandos
+          iec = iec + 1
+          IF ( iec < 10 )  THEN
+             WRITE (2,'(''err_command['',I1,'']="'',A,''"'')')  iec, &
+                                                                zeile(4:izeile)
+          ELSEIF ( iec < 100 )  THEN
+             WRITE (2,'(''err_command['',I2,'']="'',A,''"'')')  iec, &
+                                                                zeile(4:izeile)
+          ELSE
+             WRITE (2,'(''err_command['',I3,'']="'',A,''"'')')  iec, &
+                                                                zeile(4:izeile)
+          ENDIF
+
+       ELSEIF ( zeile(1:3) == 'IC:' )  THEN
+!
+!--       Input-Kommandos
+          iic = iic + 1
+          IF ( iic < 10 )  THEN
+             WRITE (2,'(''in_command['',I1,'']="'',A,''"'')')  iic, &
+                                                               zeile(4:izeile)
+          ELSEIF ( iic < 100 )  THEN
+             WRITE (2,'(''in_command['',I2,'']="'',A,''"'')')  iic, &
+                                                               zeile(4:izeile)
+          ELSE
+             WRITE (2,'(''in_command['',I3,'']="'',A,''"'')')  iic, &
+                                                               zeile(4:izeile)
+          ENDIF
+
+       ELSEIF ( zeile(1:3) == 'OC:' )  THEN
+!
+!--       Output-Kommandos
+          ioc = ioc + 1
+          IF ( ioc < 10 )  THEN
+             WRITE (2,'(''out_command['',I1,'']="'',A,''"'')')  ioc, &
+                                                                zeile(4:izeile)
+          ELSEIF ( ioc < 100 )  THEN
+             WRITE (2,'(''out_command['',I2,'']="'',A,''"'')')  ioc, &
+                                                                zeile(4:izeile)
+          ELSE
+             WRITE (2,'(''out_command['',I3,'']="'',A,''"'')')  ioc, &
+                                                                zeile(4:izeile)
+          ENDIF
+
+       ELSE
+!
+!--       Dateiverbindungen
+          idatver = idatver + 1
+!
+!--       Lokaler Name
+          i   = INDEX( zeile , ' ' )
+          s1  = zeile(1:i-1)
+          is1 = i-1
+!
+!--       Dateieigenschaften
+          zeile = ADJUSTL( zeile(i:izeile) )
+          i   = INDEX( zeile , ' ' )
+          s2  = zeile(1:i-1)
+          is2 = i-1
+!
+!--       Geltungsbereich
+          zeile = ADJUSTL( zeile(i:izeile) )
+          i   = INDEX( zeile , ' ' )
+          s3  = zeile(1:i-1)
+          is3 = i-1
+!
+!--       Pfadname
+          zeile = ADJUSTL( zeile(i:izeile) )
+          i   = INDEX( zeile , ' ' )
+          s4  = zeile(1:i-1)
+          is4 = i-1
+!
+!--       evtl. Extension
+          zeile = ADJUSTL( zeile(i:izeile) )
+          i = INDEX( zeile , ' ' )
+          IF ( i == 1 )  THEN
+             s5  = ' '
+             is5 = 1
+             s6  = ' '
+             is6 = 1
+          ELSE
+             s5  = zeile(1:i-1)
+             is5 = i-1
+!
+!--          evtl. 2. Extension
+             zeile = ADJUSTL( zeile(i:izeile) )
+             i = INDEX( zeile , ' ' )
+             IF ( i == 1 )  THEN
+                s6  = ' '
+                is6 = 1
+             ELSE
+                s6  = zeile(1:i-1)
+                is6 = i-1
+             ENDIF
+          ENDIF
+
+!
+!--       Dateieigenschaften aufspalten
+          i = INDEX( s2 , ':' )
+          IF ( i == 0 )  THEN
+             s2a  = s2
+             is2a = is2
+             s2b  = ''
+             is2b = 0
+             s2c  = ''
+             is2c = 0
+          ELSE
+             s2a  = s2(1:i-1)
+             is2a = i-1
+             s2   = s2(i+1:is2)
+
+             i = INDEX( s2 , ':' )
+             IF ( i == 0 )  THEN
+                s2b  = s2
+                is2b = LEN_TRIM( s2 )
+                s2c  = ''
+                is2c = 0
+             ELSE
+                s2b  = s2(1:i-1)
+                is2b = i-1
+                s2c  = s2(i+1:)
+                is2c = LEN_TRIM( s2c )
+             ENDIF
+          ENDIF
+!
+!--       Pruefung, ob Eingabedateiverbindung abgespeichert werden soll
+          IF ( s2a(1:is2a) == 'in'  .AND.  .NOT. (                     &
+               do_remote(1:4) == 'true'  .AND.                         &
+               ( s2b(1:is2b) == 'loc'  .OR.  s2b(1:is2b) == 'locopt' ) &
+                                                 ) )  THEN
+             found = .FALSE.
+             i = INDEX( s3 , ':' )
+             IF ( i == 0 )  THEN
+                s3cond  = s3
+                is3cond = LEN_TRIM( s3cond )
+             ELSE
+                s3cond  = s3(1:i-1)
+                is3cond = i-1
+                s3      = s3(i+1:)
+             ENDIF
+
+             DO WHILE ( s3cond(1:1) /= ' ' )
+
+                IF ( INDEX( input_list(1:iinput_list) , s3cond(1:is3cond) ) /= 0 &
+                     .OR.  s3cond(1:is3cond) == '-' )  THEN
+                   found = .TRUE.
+                ENDIF
+
+                IF ( s3(1:1) == ' ' )  THEN
+                   s3cond = ' '
+                ELSE
+                   i = INDEX( s3 , ':' )
+                   IF ( i == 0 )  THEN
+                      s3cond  = s3
+                      is3cond = LEN_TRIM( s3cond )
+                      s3      = ' '
+                   ELSE
+                      s3cond  = s3(1:i-1)
+                      is3cond = i-1
+                      s3      = s3(i+1:)
+                   ENDIF
+                ENDIF
+
+             ENDDO
+
+!
+!--          Wenn Geltungsbereich erfuellt, dann Dateiverbindung abspeichern
+             IF ( found )  THEN
+
+                iin = iin + 1
+                IF ( iin < 10 )  THEN
+                   WRITE (2,2000)  iin, s1(1:is1), iin, s2b(1:is2b), &
+                                   iin, s2c(1:is2c), &
+                                   iin, s3(1:is3), iin, s4(1:is4), &
+                                   iin, s5(1:is5), iin, s6(1:is6)
+2000               FORMAT ('localin[',I1,']="',A,'"; transin[',I1,']="',A, &
+                           '"; actionin[',I1,']="',A, &
+                           '"; typein[',I1,']="',A,'"'/'pathin[',I1,']="',A, &
+                           '"; endin[',I1,']="',A,'"; extin[',I1,']="',A,'"')
+                ELSEIF ( iin < 100 )  THEN
+                   WRITE (2,2001)  iin, s1(1:is1), iin, s2b(1:is2b), &
+                                   iin, s2c(1:is2c), &
+                                   iin, s3(1:is3), iin, s4(1:is4), &
+                                   iin, s5(1:is5), iin, s6(1:is6)
+2001               FORMAT ('localin[',I2,']="',A,'"; transin[',I2,']="',A, &
+                           '"; actionin[',I2,']="',A, &
+                           '"; typein[',I2,']="',A,'"'/'pathin[',I2,']="',A, &
+                           '"; endin[',I2,']="',A,'"; extin[',I2,']="',A,'"')
+                ELSE
+                   WRITE (2,2002)  iin, s1(1:is1), iin, s2b(1:is2b), &
+                                   iin, s2c(1:is2c), &
+                                   iin, s3(1:is3), iin, s4(1:is4), &
+                                   iin, s5(1:is5), iin, s6(1:is6)
+2002               FORMAT ('localin[',I3,']="',A,'"; transin[',I3,']="',A, &
+                           '"; actionin[',I3,']="',A, &
+                           '"; typein[',I3,']="',A,'"'/'pathin[',I3,']="',A, &
+                           '"; endin[',I3,']="',A,'"; extin[',I3,']="',A,'"')
+                ENDIF
+             ENDIF
+
+          ELSEIF ( s2a(1:is2a) == 'out'  .AND.  .NOT. ( &
+                   do_remote(1:4) == 'true'  .AND.  s2b(1:is2b) == 'loc' &
+                                                      ) )  THEN
+!
+!--          Pruefung, ob Ausgabedateiverbindung abgespeichert werden soll
+             found = .FALSE.
+             i = INDEX( s3 , ':' )
+             IF ( i == 0 )  THEN
+                s3cond  = s3
+                is3cond = LEN_TRIM( s3cond )
+             ELSE
+                s3cond  = s3(1:i-1)
+                is3cond = i-1
+                s3      = s3(i+1:)
+             ENDIF
+
+             DO WHILE ( s3cond(1:1) /= ' ' )
+
+                IF ( INDEX( output_list(1:ioutput_list) , s3cond(1:is3cond) ) /= 0 &
+                     .OR.  s3cond(1:is3cond) == '-' )  THEN
+                   found = .TRUE.
+                ENDIF
+
+                IF ( s3(1:1) == ' ' )  THEN
+                   s3cond = ' '
+                ELSE
+                   i = INDEX( s3 , ':' )
+                   IF ( i == 0 )  THEN
+                      s3cond  = s3
+                      is3cond = LEN_TRIM( s3cond )
+                      s3      = ' '
+                   ELSE
+                      s3cond  = s3(1:i-1)
+                      is3cond = i-1
+                      s3      = s3(i+1:)
+                   ENDIF
+                ENDIF
+
+             ENDDO
+!
+!--          Wenn Geltungsbereich erfuellt, dann Dateiverbindung abspeichern
+             IF ( found )  THEN
+
+                iout = iout + 1
+                IF ( iout < 10 )  THEN
+                   WRITE (2,2003)  iout, s1(1:is1), iout, s2c(1:is2c), &
+                                   iout, s3(1:is3), iout, s4(1:is4), &
+                                   iout, s5(1:is5), iout, s6(1:is6)
+ 2003              FORMAT ('localout[',I1,']="',A,'"; actionout[',I1,']="',A, &
+                           '"; typeout[',I1,']="',A,'"'/'pathout[',I1,']="',A, &
+                           '"; endout[',I1,']="',A,'"; extout[',I1,']="',A,'"')
+                ELSEIF ( iin < 100 )  THEN
+                      WRITE (2,2004)  iout, s1(1:is1), iout, s2c(1:is2c), &
+                                      iout, s3(1:is3), iout, s4(1:is4), &
+                                      iout, s5(1:is5), iout, s6(1:is6)
+ 2004              FORMAT ('localout[',I2,']="',A,'"; actionout[',I2,']="',A, &
+                           '"; typeout[',I2,']="',A,'"'/'pathout[',I2,']="',A, &
+                           '"; endout[',I2,']="',A,'"; extout[',I2,']="',A,'"')
+                ELSE
+                      WRITE (2,2005)  iout, s1(1:is1), iout, s2c(1:is2c), &
+                                      iout, s3(1:is3), iout, s4(1:is4), &
+                                      iout, s5(1:is5), iout, s6(1:is6)
+ 2005              FORMAT ('localout[',I3,']="',A,'"; actionout[',I3,']="',A, &
+                           '"; typeout[',I3,']="',A,'"'/'pathout[',I3,']="',A, &
+                           '"; endout[',I3,']="',A,'"; extout[',I3,']="',A,'"')
+                ENDIF
+             ENDIF
+
+          ELSEIF ( s2a(1:is2a) /= 'in'  .AND.  s2a(1:is2a) /= 'out' )  THEN
+!
+!--          Kein gueltiger Wert fuer I/O-Feld
+             WRITE (2,2010)  bs, bs, config_file(1:il), linenr, bs, bs, &
+                             s2a(1:is2a), bs, bs, bs, bs, bs
+ 2010        FORMAT ('printf "',A,'n',A,'n +++ I/O-field in configuration ', &
+                     'file ',A, ', line ', I5, ' has the illegal"'/          &
+                     'printf "',A,'n     value ',A,'"',A,A,'". Only ',       &
+                     A,'"in',A,'" or ',A,'"out',A,'" are allowed!"'          &
+                    )
+             WRITE (2,'(''locat=connect; exit'')')
+             STOP
+          ENDIF
+          
+       ENDIF
+
+       READ( 1, '(A)', IOSTAT=ios )  zeile
+       linenr = linenr + 1
+
+    ENDDO
+
+!
+!-- Ausgabe der Anzahl von gefundenen Zeilen
+    IF ( iec > 0 )  WRITE (2,'(''(( iec = '',I3,'' ))'')')  iec
+    IF ( iic > 0 )  WRITE (2,'(''(( iic = '',I3,'' ))'')')  iic
+    IF ( ioc > 0 )  WRITE (2,'(''(( ioc = '',I3,'' ))'')')  ioc
+    IF ( iin > 0 )  WRITE (2,'(''(( iin = '',I3,'' ))'')')  iin
+    IF ( iout > 0 )  WRITE (2,'(''(( iout = '',I3,'' ))'')')  iout
+
+    IF ( do_trace(1:4) == 'true' )  THEN
+       PRINT*,' '
+       PRINT*,'*** Inhalt von: ',config_file(1:il)
+       PRINT*,icomment,' Kommentarzeilen'
+       PRINT*,ienvvar,' Environment-Variablen-Vereinbarungen'
+       PRINT*,iec,' Error-Kommandos'
+       PRINT*,iic,' Input-Kommandos'
+       PRINT*,ioc,' Output-Kommandos'
+       PRINT*,idatver,' Dateiverbindungs-Anweisungen'
+       PRINT*,'Davon interpretiert:'
+       PRINT*,iin,' Eingabedateien'
+       PRINT*,iout,' Ausgabedateien'
+    ENDIF
+
+ END PROGRAM interpret_config
+
+
+
+ SUBROUTINE local_getenv( var, ivar, value, ivalue )
+
+    CHARACTER (LEN=*) ::  var, value
+    INTEGER           ::  ivalue, ivar
+
+    CALL GETENV( var(1:ivar), value )
+    ivalue = LEN_TRIM( value )
+
+ END SUBROUTINE local_getenv    
Index: palm/tags/release-3.7/UTIL/read_palm_netcdf_data.f90
===================================================================
--- palm/tags/release-3.7/UTIL/read_palm_netcdf_data.f90	(revision 393)
+++ palm/tags/release-3.7/UTIL/read_palm_netcdf_data.f90	(revision 393)
@@ -0,0 +1,198 @@
+ PROGRAM read_palm_netcdf_data
+
+!------------------------------------------------------------------------------!
+! This is an example program for reading PALM 2d/3d NetCDF datasets
+!
+! The user has to add his own code for further storing and analyzing of
+! these data!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!
+! The NetCDF include file and library has to be given with the respective
+! compiler options. Please find out the respective paths on your system and
+! set them appropriately.
+!
+! Here are some examples how this routine should be compiled:
+!
+! decalpha:
+!    f95 -fast -r8 -I/usr/local/netcdf-3.5.1/include
+!    -L/usr/local/netcdf-3.5.1/lib -lnetcdf
+! IBM-Regatta:
+!    xlf95 -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /aws/dataformats/netcdf-3.6.0-p1/64-32/include
+!    -L/aws/dataformats/netcdf-3.6.0-p1/64-32/lib -lnetcdf -O3
+! IBM-Regatta KISTI:
+!    xlf95 -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /applic/netcdf64/src/f90
+!    -L/applic/lib/NETCDF64 -lnetcdf -O3
+! IBM-Regatta Yonsei (gfdl5):
+!    xlf95 -qrealsize=8 -q64 -qmaxmem=-1 -Q
+!    -I /usr1/users/raasch/pub/netcdf-3.6.0-p1/include
+!    -L/usr1/users/raasch/pub/netcdf-3.6.0-p1/lib -lnetcdf -O3
+! IMUK:
+!    ifort read_palm...f90 -o read_palm...x
+!    -I /muksoft/packages/netcdf/linux/include -axW -r8 -nbs
+!    -Vaxlib -L /muksoft/packages/netcdf/linux/lib -lnetcdf
+! NEC-SX6:
+!    sxf90 read_palm...f90 -o read_palm...x 
+!    -I /pool/SX-6/netcdf/netcdf-3.6.0-p1/include  -C hopt -Wf '-A idbl4'
+!    -L/pool/SX-6/netcdf/netcdf-3.6.0-p1/lib -lnetcdf
+!------------------------------------------------------------------------------!
+
+    USE netcdf
+
+    IMPLICIT NONE
+
+!
+!-- Local variables
+    CHARACTER (LEN=10)   ::  dimname(4), var_name
+    CHARACTER (LEN=40)   ::  filename
+
+    CHARACTER (LEN=2000) ::  title, var_list
+
+    INTEGER ::  i, j, k, nc_stat, pos, time_step
+
+    INTEGER ::  current_level, current_var, id_set, id_var_time, num_var
+
+    INTEGER, DIMENSION(4) ::  id_dims, id_dims_loc, levels
+
+    INTEGER, DIMENSION(1000) ::  id_var
+
+    REAL ::  time(1)
+
+    REAL, DIMENSION(:,:,:), ALLOCATABLE ::  data_array
+
+
+    PRINT*, '*** Please type NetCDF filename to be read:'
+    READ*, filename
+
+    nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 1 )
+
+!
+!-- Get the run description header and output
+    title = ' '
+    nc_stat = NF90_GET_ATT( id_set, NF90_GLOBAL, 'title', title )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 2 )
+    WRITE (*,'(/A/A)')  '*** file created by:', TRIM( title )
+
+!
+!-- Get the list of variables (order of variables corresponds with the
+!-- order of data on the binary file)
+    var_list = ' '    ! GET_ATT does not assign trailing blanks
+    nc_stat = NF90_GET_ATT( id_set, NF90_GLOBAL, 'VAR_LIST', var_list )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 3 )
+
+!
+!-- Inquire id of the time coordinate variable
+    nc_stat = NF90_INQ_VARID( id_set, 'time', id_var_time )
+    IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 4 )
+
+!
+!-- Count number of variables; there is one more semicolon in the
+!-- string than variable names
+    num_var = -1
+    DO  i = 1, LEN( var_list )
+       IF ( var_list(i:i) == ';' )  num_var = num_var + 1
+    ENDDO
+    WRITE (*,'(/A,I3,A/)')  '*** file contains ', num_var, ' variable(s)'
+
+
+    pos = INDEX( var_list, ';' )
+!
+!-- Loop over all variables
+    DO  i = 1, num_var
+
+!
+!--    Extract variable name from list
+       var_list = var_list(pos+1:)
+       pos = INDEX( var_list, ';' )
+       var_name = var_list(1:pos-1)
+
+!
+!--    Get variable ID from name
+       nc_stat = NF90_INQ_VARID( id_set, TRIM( var_name ), id_var(i) )
+       IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 5 )
+
+!
+!--    Inquire the dimension IDs
+       nc_stat = NF90_INQUIRE_VARIABLE( id_set, id_var(i), &
+                                        dimids = id_dims_loc )
+       IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 6 )
+       id_dims = id_dims_loc
+
+!
+!--    Get number of x/y/z/time levels(gridpoints) for that variable
+       DO  j = 1, 4
+          nc_stat = NF90_INQUIRE_DIMENSION( id_set, id_dims(j),&
+                                            dimname(j), levels(j) )
+          IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 7 )
+       ENDDO
+
+       WRITE (*,100)  '*** reading variable "', TRIM(var_name),         &
+                      '", dimensioned as', TRIM(var_name), levels(1)-1, &
+                      levels(2)-1, levels(3)-1
+100    FORMAT (A,A,A/4X,A,'(0:',I4,',0:',I4,',0:',I4,')   (x/y/z)'/)
+
+!
+!--    Allocate the data array to be read
+       ALLOCATE( data_array(0:levels(1)-1,0:levels(2)-1,0:levels(3)-1) )
+
+!
+!--    Read the data from file for each timestep
+       DO  j = 1, levels(4)
+
+!
+!--        Get the time of the current timelevel and output
+           nc_stat = NF90_GET_VAR( id_set, id_var_time, time, start = (/ j /), &
+                                   count = (/ 1 /) )
+
+           IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 7+i )
+
+           WRITE (*,'(A,I3,A,F8.1,A)')  '    reading timelevel ', i, &
+                                        '    time = ', time(1), ' s'     
+
+           nc_stat = NF90_GET_VAR( id_set, id_var(i),                    &
+                                   data_array, start = (/ 1, 1, 1, j /), &
+                             count = (/ levels(1), levels(2), levels(3), 1 /) )
+
+           IF ( nc_stat /= NF90_NOERR )  &
+                                       CALL handle_netcdf_error( 7+levels(4)+i )
+!
+!--        ADD YOUR OWN CODE FOR FURTHER STORING OF THESE DATA HERE
+!--        --------------------------------------------------------
+
+
+       ENDDO
+
+       WRITE (*,'(/)')
+
+       DEALLOCATE( data_array )
+
+    ENDDO
+
+
+
+ CONTAINS
+
+
+    SUBROUTINE handle_netcdf_error( errno )
+!
+!--    Prints out a text message corresponding to the current NetCDF status
+
+       IMPLICIT NONE
+
+       INTEGER, INTENT(IN) ::  errno
+
+       IF ( nc_stat /= NF90_NOERR )  THEN
+          WRITE (*,'(A,1X,I3/4X,A)')                                           &
+                                   '+++ read_palm_netcdf_data  error handle:', &
+                                   errno, TRIM( nf90_strerror( nc_stat ) )
+          STOP
+       ENDIF
+
+    END SUBROUTINE handle_netcdf_error
+
+
+ END PROGRAM read_palm_netcdf_data
+
+
+
