Index: /palm/trunk/DOC/app/chapter_3.5.1.html
===================================================================
--- /palm/trunk/DOC/app/chapter_3.5.1.html	(revision 45)
+++ /palm/trunk/DOC/app/chapter_3.5.1.html	(revision 46)
@@ -159,5 +159,5 @@
 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>
+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>
@@ -197,5 +197,7 @@
     </tr>
 
-    <tr valign="top">
+    <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">
Index: /palm/trunk/DOC/app/chapter_4.1.html
===================================================================
--- /palm/trunk/DOC/app/chapter_4.1.html	(revision 45)
+++ /palm/trunk/DOC/app/chapter_4.1.html	(revision 46)
@@ -7386,5 +7386,5 @@
       
       
-      <p><span style="font-style: italic;">'initialize_vortex'</span> </p>
+      <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>
 
 
@@ -7538,7 +7538,6 @@
       <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>
-and <span style="font-style: italic;">'set_1d-model_profiles'</span>
-must not be given at the same time.</p>
+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>
 
 
Index: /palm/trunk/DOC/app/chapter_4.2.html
===================================================================
--- /palm/trunk/DOC/app/chapter_4.2.html	(revision 45)
+++ /palm/trunk/DOC/app/chapter_4.2.html	(revision 46)
@@ -1829,8 +1829,8 @@
 default, the maximum file size of the NetCDF files opened by PALM is 2
 GByte. Using netcdf_64bit = .TRUE. allows file sizes larger than 2
-GByte.<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>
+GByte.<br><br>The 64 bit offset format can be separately switched off for those NetCDF files containing 3d volume date (<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>) using <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.<br><br>This switch&nbsp;only comes into effect if <a href="#netcdf_64bit">netcdf_64bit</a> = .TRUE.. It allows to switch off separately 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>).</td></tr><tr>
       <td style="vertical-align: top;">
       <p><a name="ngsrb"></a><b>ngsrb</b></p>
Index: /palm/trunk/DOC/app/chapter_4.6.html
===================================================================
--- /palm/trunk/DOC/app/chapter_4.6.html	(revision 45)
+++ /palm/trunk/DOC/app/chapter_4.6.html	(revision 46)
@@ -111,5 +111,4 @@
 -->
   </style></head>
-
 <body style="direction: ltr;" lang="en-US">
 
@@ -11889,5 +11888,5 @@
       <td>NetCDF files will have 64 bit offset format.</td>
     </tr>
-    <tr valign="top">
+    <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">
 
 
Index: /palm/trunk/DOC/app/index.html
===================================================================
--- /palm/trunk/DOC/app/index.html	(revision 45)
+++ /palm/trunk/DOC/app/index.html	(revision 46)
@@ -148,7 +148,7 @@
 <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;&nbsp; 3.1a<br>
+version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1c<br>
 <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/Aenderungen.html"><span class="GramE">Last</span></a></span><span style="font-family: Thorndale;"><a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/Aenderungen.html"><span style="" lang="EN-GB"> change of</span></a></span><span style="font-family: Thorndale;" lang="EN-GB"> this
-documentation:&nbsp;&nbsp;&nbsp; 15/03/06 <o:p></o:p></span></p>
+documentation:&nbsp;&nbsp;&nbsp; 05/03/07 <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>
Index: /palm/trunk/SOURCE/CURRENT_MODIFICATIONS
===================================================================
--- /palm/trunk/SOURCE/CURRENT_MODIFICATIONS	(revision 45)
+++ /palm/trunk/SOURCE/CURRENT_MODIFICATIONS	(revision 46)
@@ -2,15 +2,10 @@
 ---
 
-A heatflux can be prescribed at the top with new inipar parameters
-top_heatflux and use_top_fluxes. New 2d-arrays qswst, qswst_m, tswst and
-tswst_m are used to store this flux. Use of fluxes are controlled with new
-index variable nzt_diff. A Neumann boundary condition for
-temperature can be applied under these conditions. Additionally, a Dirichlet
-condition for temperature can be used at the top.
+new d3par-parameter netcdf_64bit_3d to switch on 64bit offset only for 3D files
 
-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
+new initializing action "by_user" calls user_init_3d_model and allows the
+initial setting of all 3d arrays
+
+check_open, check_parameters, header, init_3d_model, modules, parin, user_interface
 
 
@@ -18,17 +13,8 @@
 -------
 
-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).
+Move call of user_actions( 'after_integration' ) below increment of times
+and counters
 
-The default top boundary condition for temperature has been renamed to
-"initial gradient".
-
-dvrp_output_local, which was commented out for a long time, is now activated
-for all streams.
-
-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
+time_integration
 
 
@@ -36,11 +22,5 @@
 ------
 
-Bugfix: 3d-array p is not a pointer any more.
+Bugfix: preset of tendencies te_em, te_um, te_vm in init_1d_model
 
-Bugfix in init_particles: MPI_REAL in MPI_ALLREDUCE replaced by
-MPI_INTEGER (caused error on NEC only)
-
-Bugfix:  ddzw dimensioned 1:nzt"+1"
-
-diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w,
-init_particles, modules
+init_1d_model
Index: /palm/trunk/SOURCE/check_open.f90
===================================================================
--- /palm/trunk/SOURCE/check_open.f90	(revision 45)
+++ /palm/trunk/SOURCE/check_open.f90	(revision 46)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! +netcdf_64bit_3d to switch on 64bit offset only for 3D files
 !
 ! Former revisions:
@@ -989,5 +989,5 @@
 !
 !--          Create a new NetCDF output file
-             IF ( netcdf_64bit )  THEN
+             IF ( netcdf_64bit .AND. netcdf_64bit_3d )  THEN
 #if defined( __netcdf_64bit )
                 nc_stat = NF90_CREATE( filename,                               &
Index: /palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- /palm/trunk/SOURCE/check_parameters.f90	(revision 45)
+++ /palm/trunk/SOURCE/check_parameters.f90	(revision 46)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! "by_user" allowed as initializing action
 !
 ! Former revisions:
@@ -292,5 +292,5 @@
 
              CASE ( 'set_constant_profiles', 'set_1d-model_profiles', &
-                    'initialize_vortex',     'initialize_ptanom' )
+                    'by_user', 'initialize_vortex',     'initialize_ptanom' )
                 action = action(position+1:)
 
@@ -308,4 +308,18 @@
        IF ( myid == 0 )  PRINT*, '+++ check_parameters: initializing_actions', &
           '"set_constant_profiles" and "set_1d-model_profiles" are not', &
+          ' allowed simultaneously'
+       CALL local_stop
+    ENDIF
+    IF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0  .AND. &
+         INDEX( initializing_actions, 'by_user' ) /= 0 )  THEN
+       IF ( myid == 0 )  PRINT*, '+++ check_parameters: initializing_actions', &
+          '"set_constant_profiles" and "by_user" are not', &
+          ' allowed simultaneously'
+       CALL local_stop
+    ENDIF
+    IF ( INDEX( initializing_actions, 'by_user' ) /= 0  .AND. &
+         INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
+       IF ( myid == 0 )  PRINT*, '+++ check_parameters: initializing_actions', &
+          '"by_user" and "set_1d-model_profiles" are not', &
           ' allowed simultaneously'
        CALL local_stop
Index: /palm/trunk/SOURCE/header.f90
===================================================================
--- /palm/trunk/SOURCE/header.f90	(revision 45)
+++ /palm/trunk/SOURCE/header.f90	(revision 46)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! Output of netcdf_64bit_3d
 !
 ! Former revisions:
@@ -696,5 +696,5 @@
           output_format = ''
           IF ( netcdf_output )  THEN
-             IF ( netcdf_64bit )  THEN
+             IF ( netcdf_64bit .AND. netcdf_64bit_3d )  THEN
                 output_format = 'netcdf (64 bit offset)'
              ELSE
Index: /palm/trunk/SOURCE/init_1d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_1d_model.f90	(revision 45)
+++ /palm/trunk/SOURCE/init_1d_model.f90	(revision 46)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! Bugfix: preset of tendencies te_em, te_um, te_vm
 !
 ! Former revisions:
@@ -128,4 +128,11 @@
 
 !
+!-- 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 )
Index: /palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_3d_model.f90	(revision 45)
+++ /palm/trunk/SOURCE/init_3d_model.f90	(revision 46)
@@ -7,5 +7,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! New initializing action "by_user" calls user_init_3d_model
 !
 ! Former revisions:
@@ -422,4 +422,10 @@
           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
 
Index: /palm/trunk/SOURCE/modules.f90
===================================================================
--- /palm/trunk/SOURCE/modules.f90	(revision 45)
+++ /palm/trunk/SOURCE/modules.f90	(revision 46)
@@ -5,11 +5,15 @@
 ! Actual revisions:
 ! -----------------
+! +netcdf_64bit_3d
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! 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
 !
-! Former revisions:
-! -----------------
-! $Id$
 ! RCS Log replace by Id keyword, revision history cleaned up
 !
@@ -279,4 +283,5 @@
                 mg_switch_to_pe0 = .FALSE., moisture = .FALSE., &
                 netcdf_output = .FALSE., netcdf_64bit = .FALSE., &
+                netcdf_64bit_3d = .TRUE., &
                 outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., &
                 outflow_s = .FALSE., passive_scalar = .FALSE., &
Index: /palm/trunk/SOURCE/parin.f90
===================================================================
--- /palm/trunk/SOURCE/parin.f90	(revision 45)
+++ /palm/trunk/SOURCE/parin.f90	(revision 46)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! +netcdf_64bit_3d in d3par
 !
 ! Former revisions:
@@ -100,5 +100,5 @@
                        dt_do2d_yz, dt_do3d, dt_restart, dt_run_control, &
                        end_time, force_print_header, mg_cycles, &
-                       mg_switch_to_pe0_level, netcdf_64bit, &
+                       mg_switch_to_pe0_level, netcdf_64bit, netcdf_64bit_3d, &
                        ngsrb, normalizing_region, nsor, nz_do3d, omega_sor, &
                        prandtl_number, profile_columns, profile_rows, psolver, &
Index: /palm/trunk/SOURCE/time_integration.f90
===================================================================
--- /palm/trunk/SOURCE/time_integration.f90	(revision 45)
+++ /palm/trunk/SOURCE/time_integration.f90	(revision 46)
@@ -4,5 +4,6 @@
 ! Actual revisions:
 ! -----------------
-! 
+! Move call of user_actions( 'after_integration' ) below increment of times
+! and counters
 !
 ! Former revisions:
@@ -243,8 +244,4 @@
 
 !
-!--    Execute user-defined actions
-       CALL user_actions( 'after_integration' )
-
-!
 !--    Increase simulation time and output times
        current_timestep_number = current_timestep_number + 1
@@ -279,4 +276,8 @@
        time_dopr_listing          = time_dopr_listing        + dt_3d
        time_run_control   = time_run_control + dt_3d
+
+!
+!--    Execute user-defined actions
+       CALL user_actions( 'after_integration' )
 
 !
Index: /palm/trunk/SOURCE/user_interface.f90
===================================================================
--- /palm/trunk/SOURCE/user_interface.f90	(revision 45)
+++ /palm/trunk/SOURCE/user_interface.f90	(revision 46)
@@ -4,5 +4,6 @@
 ! Actual revisions:
 ! -----------------
-! 
+! New routine user_init_3d_model which allows the initial setting of all 3d
+! arrays under control of the user
 !
 ! Former revisions:
@@ -228,4 +229,28 @@
 
  END SUBROUTINE user_init_grid
+
+
+
+ SUBROUTINE user_init_3d_model
+
+!------------------------------------------------------------------------------!
+!
+! 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
 
 
