Index: palm/trunk/SOURCE/advec_s_bc.f90
===================================================================
--- palm/trunk/SOURCE/advec_s_bc.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_s_bc.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_s_pw.f90
===================================================================
--- palm/trunk/SOURCE/advec_s_pw.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_s_pw.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_s_up.f90
===================================================================
--- palm/trunk/SOURCE/advec_s_up.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_s_up.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_u_pw.f90
===================================================================
--- palm/trunk/SOURCE/advec_u_pw.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_u_pw.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_u_up.f90
===================================================================
--- palm/trunk/SOURCE/advec_u_up.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_u_up.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_v_pw.f90
===================================================================
--- palm/trunk/SOURCE/advec_v_pw.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_v_pw.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_v_up.f90
===================================================================
--- palm/trunk/SOURCE/advec_v_up.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_v_up.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_w_pw.f90
===================================================================
--- palm/trunk/SOURCE/advec_w_pw.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_w_pw.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_w_up.f90
===================================================================
--- palm/trunk/SOURCE/advec_w_up.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_w_up.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/advec_ws.f90
===================================================================
--- palm/trunk/SOURCE/advec_ws.f90	(revision 4359)
+++ palm/trunk/SOURCE/advec_ws.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/average_3d_data.f90
===================================================================
--- palm/trunk/SOURCE/average_3d_data.f90	(revision 4359)
+++ palm/trunk/SOURCE/average_3d_data.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/basic_constants_and_equations_mod.f90
===================================================================
--- palm/trunk/SOURCE/basic_constants_and_equations_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/basic_constants_and_equations_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/bulk_cloud_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/buoyancy.f90
===================================================================
--- palm/trunk/SOURCE/buoyancy.f90	(revision 4359)
+++ palm/trunk/SOURCE/buoyancy.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/calc_mean_profile.f90
===================================================================
--- palm/trunk/SOURCE/calc_mean_profile.f90	(revision 4359)
+++ palm/trunk/SOURCE/calc_mean_profile.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/check_for_restart.f90
===================================================================
--- palm/trunk/SOURCE/check_for_restart.f90	(revision 4359)
+++ palm/trunk/SOURCE/check_for_restart.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/check_open.f90
===================================================================
--- palm/trunk/SOURCE/check_open.f90	(revision 4359)
+++ palm/trunk/SOURCE/check_open.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- palm/trunk/SOURCE/check_parameters.f90	(revision 4359)
+++ palm/trunk/SOURCE/check_parameters.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/chem_gasphase_mod.f90
===================================================================
--- palm/trunk/SOURCE/chem_gasphase_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/chem_gasphase_mod.f90	(revision 4360)
@@ -41,5 +41,5 @@
 ! PALM. If not,see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !--------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/close_file.f90
===================================================================
--- palm/trunk/SOURCE/close_file.f90	(revision 4359)
+++ palm/trunk/SOURCE/close_file.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/compute_vpt.f90
===================================================================
--- palm/trunk/SOURCE/compute_vpt.f90	(revision 4359)
+++ palm/trunk/SOURCE/compute_vpt.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/coriolis.f90
===================================================================
--- palm/trunk/SOURCE/coriolis.f90	(revision 4359)
+++ palm/trunk/SOURCE/coriolis.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/cpulog_mod.f90
===================================================================
--- palm/trunk/SOURCE/cpulog_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/cpulog_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/cuda_fft_interfaces.f90
===================================================================
--- palm/trunk/SOURCE/cuda_fft_interfaces.f90	(revision 4359)
+++ palm/trunk/SOURCE/cuda_fft_interfaces.f90	(revision 4360)
@@ -14,5 +14,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !--------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_log.f90
===================================================================
--- palm/trunk/SOURCE/data_log.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_log.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_2d.f90
===================================================================
--- palm/trunk/SOURCE/data_output_2d.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_2d.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_3d.f90
===================================================================
--- palm/trunk/SOURCE/data_output_3d.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_3d.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_flight.f90
===================================================================
--- palm/trunk/SOURCE/data_output_flight.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_flight.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_mask.f90
===================================================================
--- palm/trunk/SOURCE/data_output_mask.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_mask.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_profiles.f90
===================================================================
--- palm/trunk/SOURCE/data_output_profiles.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_profiles.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_spectra.f90
===================================================================
--- palm/trunk/SOURCE/data_output_spectra.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_spectra.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/data_output_tseries.f90
===================================================================
--- palm/trunk/SOURCE/data_output_tseries.f90	(revision 4359)
+++ palm/trunk/SOURCE/data_output_tseries.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/diagnostic_output_quantities_mod.f90
===================================================================
--- palm/trunk/SOURCE/diagnostic_output_quantities_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/diagnostic_output_quantities_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/diffusion_s.f90
===================================================================
--- palm/trunk/SOURCE/diffusion_s.f90	(revision 4359)
+++ palm/trunk/SOURCE/diffusion_s.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/diffusion_u.f90
===================================================================
--- palm/trunk/SOURCE/diffusion_u.f90	(revision 4359)
+++ palm/trunk/SOURCE/diffusion_u.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/diffusion_v.f90
===================================================================
--- palm/trunk/SOURCE/diffusion_v.f90	(revision 4359)
+++ palm/trunk/SOURCE/diffusion_v.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/diffusion_w.f90
===================================================================
--- palm/trunk/SOURCE/diffusion_w.f90	(revision 4359)
+++ palm/trunk/SOURCE/diffusion_w.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/disturb_field.f90
===================================================================
--- palm/trunk/SOURCE/disturb_field.f90	(revision 4359)
+++ palm/trunk/SOURCE/disturb_field.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/disturb_heatflux.f90
===================================================================
--- palm/trunk/SOURCE/disturb_heatflux.f90	(revision 4359)
+++ palm/trunk/SOURCE/disturb_heatflux.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/dynamics_mod.f90
===================================================================
--- palm/trunk/SOURCE/dynamics_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/dynamics_mod.f90	(revision 4360)
@@ -15,14 +15,17 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !--------------------------------------------------------------------------------------------------!
 !
 ! Current revisions:
 ! -----------------
-! Bugfix for last commit.
+! 
 ! 
 ! Former revisions:
 ! -----------------
 ! $Id$
+! Bugfix for last commit.
+! 
+! 4359 2019-12-30 13:36:50Z suehring
 ! Refine post-initialization check for realistically inital values of mixing ratio. Give an error
 ! message for faulty initial values, but only a warning in a restart run. 
Index: palm/trunk/SOURCE/exchange_horiz.f90
===================================================================
--- palm/trunk/SOURCE/exchange_horiz.f90	(revision 4359)
+++ palm/trunk/SOURCE/exchange_horiz.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/exchange_horiz_2d.f90
===================================================================
--- palm/trunk/SOURCE/exchange_horiz_2d.f90	(revision 4359)
+++ palm/trunk/SOURCE/exchange_horiz_2d.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/fft_xy_mod.f90
===================================================================
--- palm/trunk/SOURCE/fft_xy_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/fft_xy_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/flow_statistics.f90
===================================================================
--- palm/trunk/SOURCE/flow_statistics.f90	(revision 4359)
+++ palm/trunk/SOURCE/flow_statistics.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/global_min_max.f90
===================================================================
--- palm/trunk/SOURCE/global_min_max.f90	(revision 4359)
+++ palm/trunk/SOURCE/global_min_max.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/gust_mod.f90
===================================================================
--- palm/trunk/SOURCE/gust_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/gust_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/header.f90
===================================================================
--- palm/trunk/SOURCE/header.f90	(revision 4359)
+++ palm/trunk/SOURCE/header.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/inflow_turbulence.f90
===================================================================
--- palm/trunk/SOURCE/inflow_turbulence.f90	(revision 4359)
+++ palm/trunk/SOURCE/inflow_turbulence.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- palm/trunk/SOURCE/init_3d_model.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_3d_model.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_advec.f90
===================================================================
--- palm/trunk/SOURCE/init_advec.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_advec.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_coupling.f90
===================================================================
--- palm/trunk/SOURCE/init_coupling.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_coupling.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_grid.f90
===================================================================
--- palm/trunk/SOURCE/init_grid.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_grid.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_masks.f90
===================================================================
--- palm/trunk/SOURCE/init_masks.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_masks.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_pegrid.f90
===================================================================
--- palm/trunk/SOURCE/init_pegrid.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_pegrid.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_pt_anomaly.f90
===================================================================
--- palm/trunk/SOURCE/init_pt_anomaly.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_pt_anomaly.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_rankine.f90
===================================================================
--- palm/trunk/SOURCE/init_rankine.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_rankine.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/init_slope.f90
===================================================================
--- palm/trunk/SOURCE/init_slope.f90	(revision 4359)
+++ palm/trunk/SOURCE/init_slope.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/lagrangian_particle_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/lagrangian_particle_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/lagrangian_particle_model_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/land_surface_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! Fix wrong location string in message call
+! 
+! 4356 2019-12-20 17:09:33Z suehring
 ! Correct single message calls, local checks must be given by the respective
 ! mpi rank.
@@ -1525,5 +1528,5 @@
           message_string = 'invalid soil layer configuration found ' //        &
                            '(dz_soil_center(k) <= 0.0)'
-          CALL message( 'lsm_rrd_local', 'PA0140', 1, 2, 0, 6, 0 )
+          CALL message( 'lsm_check_parameters', 'PA0140', 1, 2, 0, 6, 0 )
        ENDIF  
     ENDDO
@@ -4860,5 +4863,5 @@
           message_string = 'For non-pavement surfaces the combination ' //     &
                            ' lai = 0.0 and c_veg = 1.0 is not allowed.'
-          CALL message( 'lsm_rrd_local', 'PA0671', 2, 2, myid, 6, 0 )
+          CALL message( 'lsm_init', 'PA0671', 2, 2, myid, 6, 0 )
        ENDIF
 
@@ -4869,5 +4872,5 @@
              message_string = 'For non-pavement surfaces the combination ' //  &
                               ' lai = 0.0 and c_veg = 1.0 is not allowed.'
-             CALL message( 'lsm_rrd_local', 'PA0671', 2, 2, myid, 6, 0 )
+             CALL message( 'lsm_init', 'PA0671', 2, 2, myid, 6, 0 )
           ENDIF
        ENDDO
@@ -6590,5 +6593,5 @@
 !> Soubroutine reads lsm data from restart file(s)
 !------------------------------------------------------------------------------!
-SUBROUTINE lsm_rrd_local( k, nxlf, nxlc, nxl_on_file, nxrf, nxrc,              &
+ SUBROUTINE lsm_rrd_local( k, nxlf, nxlc, nxl_on_file, nxrf, nxrc,              &
                           nxr_on_file, nynf, nync, nyn_on_file, nysf, nysc,    &
                           nys_on_file, tmp_2d, found )
@@ -6643,288 +6646,174 @@
 
 
-       SELECT CASE ( restart_string(1:length) )
-
-           CASE ( 'ns_h_on_file_lsm' )
-              IF ( k == 1 )  THEN  
-                 READ ( 13 ) ns_h_on_file_lsm
-
-                 IF ( ALLOCATED( tmp_walltype_h_1d%var_1d ) )                  &
-                    DEALLOCATE( tmp_walltype_h_1d%var_1d )
-                 IF ( ALLOCATED( tmp_walltype_h_2d%var_2d ) )                  &   
-                    DEALLOCATE( tmp_walltype_h_2d%var_2d )
-                 IF ( ALLOCATED( tmp_walltype_h_2d2%var_2d ) )                 &
-                    DEALLOCATE( tmp_walltype_h_2d2%var_2d ) 
-
-!
-!--              Allocate temporary arrays to store surface data
-                 ALLOCATE( tmp_walltype_h_1d%var_1d(1:ns_h_on_file_lsm) )
-                 ALLOCATE( tmp_walltype_h_2d%var_2d(nzb_soil:nzt_soil+1,       &
-                                                    1:ns_h_on_file_lsm) )
-                 ALLOCATE( tmp_walltype_h_2d2%var_2d(nzb_soil:nzt_soil,        &
-                           1:ns_h_on_file_lsm)  )
-
-              ENDIF
-
-           CASE ( 'ns_v_on_file_lsm' )
-              IF ( k == 1 )  THEN
-                 READ ( 13 ) ns_v_on_file_lsm
-
-                 DO  l = 0, 3
-                    IF ( ALLOCATED( tmp_walltype_v_1d(l)%var_1d ) )            &
-                       DEALLOCATE( tmp_walltype_v_1d(l)%var_1d )
-                    IF ( ALLOCATED( tmp_walltype_v_2d(l)%var_2d ) )            &
-                       DEALLOCATE( tmp_walltype_v_2d(l)%var_2d )
-                    IF ( ALLOCATED( tmp_walltype_v_2d2(l)%var_2d ) )           &
-                       DEALLOCATE( tmp_walltype_v_2d2(l)%var_2d )
-                 ENDDO
-
-!
-!--              Allocate temporary arrays to store surface data
-                 DO  l = 0, 3
-                    ALLOCATE( tmp_walltype_v_1d(l)                             &
-                                 %var_1d(1:ns_v_on_file_lsm(l)) )
-                    ALLOCATE( tmp_walltype_v_2d(l)                             &
-                                 %var_2d(nzb_soil:nzt_soil+1,                  &
-                                         1:ns_v_on_file_lsm(l)) )
-                    ALLOCATE( tmp_walltype_v_2d2(l)                            &
-                                 %var_2d(nzb_soil:nzt_soil,                    &
-                                         1:ns_v_on_file_lsm(l))  )
-                 ENDDO
-
-              ENDIF
-
-
-           CASE ( 'c_liq_av' )
-              IF ( .NOT. ALLOCATED( c_liq_av ) )  THEN
-                 ALLOCATE( c_liq_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              c_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =              &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'c_soil_av' )
-              IF ( .NOT. ALLOCATED( c_soil_av ) )  THEN
-                 ALLOCATE( c_soil_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              c_soil_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =             &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'c_veg_av' )
-              IF ( .NOT. ALLOCATED( c_veg_av ) )  THEN
-                 ALLOCATE( c_veg_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              c_veg_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =              &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'lai_av' )
-              IF ( .NOT. ALLOCATED( lai_av ) )  THEN
-                 ALLOCATE( lai_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              lai_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'm_liq_av' )
-              IF ( .NOT. ALLOCATED( m_liq_av ) )  THEN
-                 ALLOCATE( m_liq_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              m_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =              &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'm_soil_av' )
-              IF ( .NOT. ALLOCATED( m_soil_av ) )  THEN
-                 ALLOCATE( m_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_3d(:,:,:)
-              m_soil_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =           &
-                 tmp_3d(nzb_soil:nzt_soil,nysf                                 &
-                        -nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'qsws_liq_av' )
-              IF ( .NOT. ALLOCATED( qsws_liq_av ) )  THEN
-                 ALLOCATE( qsws_liq_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF  
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              qsws_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =          &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-           CASE ( 'qsws_soil_av' )
-              IF ( .NOT. ALLOCATED( qsws_soil_av ) )  THEN
-                 ALLOCATE( qsws_soil_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF  
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              qsws_soil_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =         &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 'qsws_veg_av' )
-              IF ( .NOT. ALLOCATED( qsws_veg_av ) )  THEN
-                 ALLOCATE( qsws_veg_av(nysg:nyng,nxlg:nxrg) )
-              ENDIF  
-              IF ( k == 1 )  READ ( 13 )  tmp_2d
-              qsws_veg_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =          &
-                 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-
-           CASE ( 't_soil_av' )
-              IF ( .NOT. ALLOCATED( t_soil_av ) )  THEN
-                 ALLOCATE( t_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )
-              ENDIF
-              IF ( k == 1 )  READ ( 13 )  tmp_3d(:,:,:)
-              t_soil_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =           &
-                 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
-                 
-           CASE ( 'lsm_start_index_h', 'lsm_start_index_v'  )   
-                IF ( k == 1 )  THEN
-
-                   IF ( ALLOCATED( start_index_on_file ) )                     &
-                      DEALLOCATE( start_index_on_file )
-
-                   ALLOCATE ( start_index_on_file(nys_on_file:nyn_on_file,     &
-                   nxl_on_file:nxr_on_file) )
-
-                   READ ( 13 )  start_index_on_file
-
-                ENDIF
-                 
-           CASE ( 'lsm_end_index_h', 'lsm_end_index_v' )   
-                IF ( k == 1 )  THEN
-
-                   IF ( ALLOCATED( end_index_on_file ) )                       &
-                      DEALLOCATE( end_index_on_file )
-
-                   ALLOCATE ( end_index_on_file(nys_on_file:nyn_on_file,       &
-                      nxl_on_file:nxr_on_file) )
-
-                   READ ( 13 )  end_index_on_file
-
-                ENDIF
-           
-           CASE ( 't_soil_h' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_soil_h%var_2d ) )                    &
-                    ALLOCATE( t_soil_h%var_2d(nzb_soil:nzt_soil+1,             &
-                                              1:surf_lsm_h%ns) )
-                 READ ( 13 )  tmp_walltype_h_2d%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                         t_soil_h%var_2d,                      &
-                                         tmp_walltype_h_2d%var_2d,             &
-                                         surf_lsm_h%start_index,               & 
-                                         start_index_on_file,                  &
-                                         end_index_on_file,                    &
-                                         nxlc, nysc,                           &
-                                         nxlf, nxrf, nysf, nynf,               &
-                                         nys_on_file, nyn_on_file,             &
-                                         nxl_on_file,nxr_on_file )
-
-           CASE ( 't_soil_v(0)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_soil_v(0)%var_2d ) )                 &
-                    ALLOCATE( t_soil_v(0)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(0)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d(0)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_soil_v(0)%var_2d,                      &
-                                      tmp_walltype_v_2d(0)%var_2d,             &
-                                      surf_lsm_v(0)%start_index,               &  
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_soil_v(1)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_soil_v(1)%var_2d ) )                 &
-                    ALLOCATE( t_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(1)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d(1)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_soil_v(1)%var_2d,                      &
-                                      tmp_walltype_v_2d(1)%var_2d,             &
-                                      surf_lsm_v(1)%start_index,               &   
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_soil_v(2)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_soil_v(2)%var_2d ) )                 &
-                    ALLOCATE( t_soil_v(2)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(2)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d(2)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_soil_v(2)%var_2d,                      &
-                                      tmp_walltype_v_2d(2)%var_2d,             &
-                                      surf_lsm_v(2)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_soil_v(3)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_soil_v(3)%var_2d ) )                 &
-                    ALLOCATE( t_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(3)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d(3)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_soil_v(3)%var_2d,                      &
-                                      tmp_walltype_v_2d(3)%var_2d,             &
-                                      surf_lsm_v(3)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 'm_soil_h' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_soil_h%var_2d ) )                    &
-                    ALLOCATE( m_soil_h%var_2d(nzb_soil:nzt_soil+1,             &
-                                              1:surf_lsm_h%ns) )
-                 READ ( 13 )  tmp_walltype_h_2d2%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                        m_soil_h%var_2d,                       &
-                                        tmp_walltype_h_2d2%var_2d,             &
-                                        surf_lsm_h%start_index,                &  
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-
-           CASE ( 'm_soil_v(0)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_soil_v(0)%var_2d ) )                 &
-                    ALLOCATE( m_soil_v(0)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(0)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d2(0)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                     m_soil_v(0)%var_2d,                       & 
-                                     tmp_walltype_v_2d2(0)%var_2d,             &
-                                     surf_lsm_v(0)%start_index,                & 
+    SELECT CASE ( restart_string(1:length) )
+
+       CASE ( 'ns_h_on_file_lsm' )
+          IF ( k == 1 )  THEN  
+             READ ( 13 ) ns_h_on_file_lsm
+
+             IF ( ALLOCATED( tmp_walltype_h_1d%var_1d ) )                      &
+                DEALLOCATE( tmp_walltype_h_1d%var_1d )                         
+             IF ( ALLOCATED( tmp_walltype_h_2d%var_2d ) )                      &
+                DEALLOCATE( tmp_walltype_h_2d%var_2d )                         
+             IF ( ALLOCATED( tmp_walltype_h_2d2%var_2d ) )                     &
+                DEALLOCATE( tmp_walltype_h_2d2%var_2d )                        
+                                                                               
+!                                                                              
+!--          Allocate temporary arrays to store surface data                   
+             ALLOCATE( tmp_walltype_h_1d%var_1d(1:ns_h_on_file_lsm) )          
+             ALLOCATE( tmp_walltype_h_2d%var_2d(nzb_soil:nzt_soil+1,           &
+                                                1:ns_h_on_file_lsm) )          
+             ALLOCATE( tmp_walltype_h_2d2%var_2d(nzb_soil:nzt_soil,            &
+                       1:ns_h_on_file_lsm)  )                                  
+                                                                               
+          ENDIF                                                                
+                                                                               
+       CASE ( 'ns_v_on_file_lsm' )                                             
+          IF ( k == 1 )  THEN                                                  
+             READ ( 13 ) ns_v_on_file_lsm                                      
+                                                                               
+             DO  l = 0, 3                                                      
+                IF ( ALLOCATED( tmp_walltype_v_1d(l)%var_1d ) )                &
+                   DEALLOCATE( tmp_walltype_v_1d(l)%var_1d )                   
+                IF ( ALLOCATED( tmp_walltype_v_2d(l)%var_2d ) )                &
+                   DEALLOCATE( tmp_walltype_v_2d(l)%var_2d )                   
+                IF ( ALLOCATED( tmp_walltype_v_2d2(l)%var_2d ) )               &
+                   DEALLOCATE( tmp_walltype_v_2d2(l)%var_2d )                  
+             ENDDO                                                             
+                                                                               
+!                                                                              
+!--          Allocate temporary arrays to store surface data                   
+             DO  l = 0, 3                                                      
+                ALLOCATE( tmp_walltype_v_1d(l)                                 &
+                             %var_1d(1:ns_v_on_file_lsm(l)) )                  
+                ALLOCATE( tmp_walltype_v_2d(l)                                 &
+                             %var_2d(nzb_soil:nzt_soil+1,                      &
+                                     1:ns_v_on_file_lsm(l)) )                  
+                ALLOCATE( tmp_walltype_v_2d2(l)                                &
+                             %var_2d(nzb_soil:nzt_soil,                        &
+                                     1:ns_v_on_file_lsm(l))  )                 
+             ENDDO                                                             
+                                                                               
+          ENDIF                                                                
+                                                                               
+                                                                               
+       CASE ( 'c_liq_av' )                                                     
+          IF ( .NOT. ALLOCATED( c_liq_av ) )  THEN                             
+             ALLOCATE( c_liq_av(nysg:nyng,nxlg:nxrg) )                         
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          c_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                  &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'c_soil_av' )                                                    
+          IF ( .NOT. ALLOCATED( c_soil_av ) )  THEN                            
+             ALLOCATE( c_soil_av(nysg:nyng,nxlg:nxrg) )                        
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          c_soil_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                 &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'c_veg_av' )                                                     
+          IF ( .NOT. ALLOCATED( c_veg_av ) )  THEN                             
+             ALLOCATE( c_veg_av(nysg:nyng,nxlg:nxrg) )                         
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          c_veg_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                  &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'lai_av' )                                                       
+          IF ( .NOT. ALLOCATED( lai_av ) )  THEN                               
+             ALLOCATE( lai_av(nysg:nyng,nxlg:nxrg) )                           
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          lai_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                    &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'm_liq_av' )                                                     
+          IF ( .NOT. ALLOCATED( m_liq_av ) )  THEN                             
+             ALLOCATE( m_liq_av(nysg:nyng,nxlg:nxrg) )                         
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          m_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =                  &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'm_soil_av' )                                                    
+          IF ( .NOT. ALLOCATED( m_soil_av ) )  THEN                            
+             ALLOCATE( m_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )      
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_3d(:,:,:)                            
+          m_soil_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =               &
+             tmp_3d(nzb_soil:nzt_soil,nysf                                     &
+                    -nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                       
+                                                                               
+       CASE ( 'qsws_liq_av' )                                                  
+          IF ( .NOT. ALLOCATED( qsws_liq_av ) )  THEN                          
+             ALLOCATE( qsws_liq_av(nysg:nyng,nxlg:nxrg) )                      
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          qsws_liq_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =              &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+       CASE ( 'qsws_soil_av' )                                                 
+          IF ( .NOT. ALLOCATED( qsws_soil_av ) )  THEN                         
+             ALLOCATE( qsws_soil_av(nysg:nyng,nxlg:nxrg) )                     
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          qsws_soil_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =             &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 'qsws_veg_av' )                                                  
+          IF ( .NOT. ALLOCATED( qsws_veg_av ) )  THEN                          
+             ALLOCATE( qsws_veg_av(nysg:nyng,nxlg:nxrg) )                      
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_2d                                   
+          qsws_veg_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)  =              &
+             tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                   
+                                                                               
+       CASE ( 't_soil_av' )                                                    
+          IF ( .NOT. ALLOCATED( t_soil_av ) )  THEN                            
+             ALLOCATE( t_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )      
+          ENDIF                                                                
+          IF ( k == 1 )  READ ( 13 )  tmp_3d(:,:,:)                            
+          t_soil_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =               &
+             tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)                 
+                                                                               
+       CASE ( 'lsm_start_index_h', 'lsm_start_index_v'  )                      
+            IF ( k == 1 )  THEN                                                
+                                                                               
+               IF ( ALLOCATED( start_index_on_file ) )                         &
+                  DEALLOCATE( start_index_on_file )                            
+                                                                               
+               ALLOCATE ( start_index_on_file(nys_on_file:nyn_on_file,         &
+               nxl_on_file:nxr_on_file) )                                      
+                                                                               
+               READ ( 13 )  start_index_on_file                                
+                                                                               
+            ENDIF                                                              
+                                                                               
+       CASE ( 'lsm_end_index_h', 'lsm_end_index_v' )                           
+            IF ( k == 1 )  THEN                                                
+                                                                               
+               IF ( ALLOCATED( end_index_on_file ) )                           &
+                  DEALLOCATE( end_index_on_file )                              
+                                                                               
+               ALLOCATE ( end_index_on_file(nys_on_file:nyn_on_file,           &
+                  nxl_on_file:nxr_on_file) )                                   
+                                                                               
+               READ ( 13 )  end_index_on_file                                  
+                                                                               
+            ENDIF                                                              
+                                                                               
+       CASE ( 't_soil_h' )                                                     
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_soil_h%var_2d ) )                        &
+                ALLOCATE( t_soil_h%var_2d(nzb_soil:nzt_soil+1,                 &
+                                          1:surf_lsm_h%ns) )                   
+             READ ( 13 )  tmp_walltype_h_2d%var_2d                             
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                     t_soil_h%var_2d,                          &
+                                     tmp_walltype_h_2d%var_2d,                 &
+                                     surf_lsm_h%start_index,                   & 
                                      start_index_on_file,                      &
                                      end_index_on_file,                        &
@@ -6932,18 +6821,191 @@
                                      nxlf, nxrf, nysf, nynf,                   &
                                      nys_on_file, nyn_on_file,                 &
-                                     nxl_on_file,nxr_on_file )
-
-           CASE ( 'm_soil_v(1)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_soil_v(1)%var_2d ) )                 &
-                    ALLOCATE( m_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(1)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d2(1)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                     m_soil_v(1)%var_2d,                       &    
-                                     tmp_walltype_v_2d2(1)%var_2d,             &
-                                     surf_lsm_v(1)%start_index,                &  
+                                     nxl_on_file,nxr_on_file )                 
+                                                                               
+       CASE ( 't_soil_v(0)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_soil_v(0)%var_2d ) )                     &
+                ALLOCATE( t_soil_v(0)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(0)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d(0)%var_2d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_soil_v(0)%var_2d,                          &
+                                  tmp_walltype_v_2d(0)%var_2d,                 &
+                                  surf_lsm_v(0)%start_index,                   &  
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_soil_v(1)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_soil_v(1)%var_2d ) )                     &
+                ALLOCATE( t_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(1)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d(1)%var_2d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_soil_v(1)%var_2d,                          &
+                                  tmp_walltype_v_2d(1)%var_2d,                 &
+                                  surf_lsm_v(1)%start_index,                   &   
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_soil_v(2)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_soil_v(2)%var_2d ) )                     &
+                ALLOCATE( t_soil_v(2)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(2)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d(2)%var_2d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_soil_v(2)%var_2d,                          &
+                                  tmp_walltype_v_2d(2)%var_2d,                 &
+                                  surf_lsm_v(2)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_soil_v(3)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_soil_v(3)%var_2d ) )                     &
+                ALLOCATE( t_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(3)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d(3)%var_2d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_soil_v(3)%var_2d,                          &
+                                  tmp_walltype_v_2d(3)%var_2d,                 &
+                                  surf_lsm_v(3)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 'm_soil_h' )                                                     
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_soil_h%var_2d ) )                        &
+                ALLOCATE( m_soil_h%var_2d(nzb_soil:nzt_soil+1,                 &
+                                          1:surf_lsm_h%ns) )                   
+             READ ( 13 )  tmp_walltype_h_2d2%var_2d                            
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                    m_soil_h%var_2d,                           &
+                                    tmp_walltype_h_2d2%var_2d,                 &
+                                    surf_lsm_h%start_index,                    &  
+                                    start_index_on_file,                       &
+                                    end_index_on_file,                         &
+                                    nxlc, nysc,                                &
+                                    nxlf, nxrf, nysf, nynf,                    &
+                                    nys_on_file, nyn_on_file,                  &
+                                    nxl_on_file,nxr_on_file )                  
+                                                                               
+       CASE ( 'm_soil_v(0)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_soil_v(0)%var_2d ) )                     &
+                ALLOCATE( m_soil_v(0)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(0)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d2(0)%var_2d                         
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                 m_soil_v(0)%var_2d,                           & 
+                                 tmp_walltype_v_2d2(0)%var_2d,                 &
+                                 surf_lsm_v(0)%start_index,                    & 
+                                 start_index_on_file,                          &
+                                 end_index_on_file,                            &
+                                 nxlc, nysc,                                   &
+                                 nxlf, nxrf, nysf, nynf,                       &
+                                 nys_on_file, nyn_on_file,                     &
+                                 nxl_on_file,nxr_on_file )                     
+                                                                               
+       CASE ( 'm_soil_v(1)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_soil_v(1)%var_2d ) )                     &
+                ALLOCATE( m_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(1)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d2(1)%var_2d                         
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                 m_soil_v(1)%var_2d,                           &    
+                                 tmp_walltype_v_2d2(1)%var_2d,                 &
+                                 surf_lsm_v(1)%start_index,                    &  
+                                 start_index_on_file,                          &
+                                 end_index_on_file,                            &
+                                 nxlc, nysc,                                   &
+                                 nxlf, nxrf, nysf, nynf,                       &
+                                 nys_on_file, nyn_on_file,                     &
+                                 nxl_on_file,nxr_on_file )                     
+                                                                               
+                                                                               
+       CASE ( 'm_soil_v(2)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_soil_v(2)%var_2d ) )                     &
+                ALLOCATE( m_soil_v(2)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(2)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d2(2)%var_2d                         
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                 m_soil_v(2)%var_2d,                           & 
+                                 tmp_walltype_v_2d2(2)%var_2d,                 &
+                                 surf_lsm_v(2)%start_index,                    &   
+                                 start_index_on_file,                          &
+                                 end_index_on_file,                            &
+                                 nxlc, nysc,                                   &
+                                 nxlf, nxrf, nysf, nynf,                       &
+                                 nys_on_file, nyn_on_file,                     &
+                                 nxl_on_file,nxr_on_file )                     
+                                                                               
+                                                                               
+       CASE ( 'm_soil_v(3)' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_soil_v(3)%var_2d ) )                     &
+                ALLOCATE( m_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,              &
+                                             1:surf_lsm_v(3)%ns) )             
+             READ ( 13 )  tmp_walltype_v_2d2(3)%var_2d                         
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                 m_soil_v(3)%var_2d,                           & 
+                                 tmp_walltype_v_2d2(3)%var_2d,                 &
+                                 surf_lsm_v(3)%start_index,                    &  
+                                 start_index_on_file,                          &
+                                 end_index_on_file,                            &
+                                 nxlc, nysc,                                   &
+                                 nxlf, nxrf, nysf, nynf,                       &
+                                 nys_on_file, nyn_on_file,                     &
+                                 nxl_on_file,nxr_on_file )                     
+                                                                               
+                                                                               
+       CASE ( 'm_liq_h' )                                                      
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_liq_h%var_1d ) )                         &
+                ALLOCATE( m_liq_h%var_1d(1:surf_lsm_h%ns) )                    
+             READ ( 13 )  tmp_walltype_h_1d%var_1d                             
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                     m_liq_h%var_1d,                           &
+                                     tmp_walltype_h_1d%var_1d,                 &
+                                     surf_lsm_h%start_index,                   &  
                                      start_index_on_file,                      &
                                      end_index_on_file,                        &
@@ -6951,19 +7013,93 @@
                                      nxlf, nxrf, nysf, nynf,                   &
                                      nys_on_file, nyn_on_file,                 &
-                                     nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_soil_v(2)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_soil_v(2)%var_2d ) )                 &
-                    ALLOCATE( m_soil_v(2)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(2)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d2(2)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                     m_soil_v(2)%var_2d,                       & 
-                                     tmp_walltype_v_2d2(2)%var_2d,             &
-                                     surf_lsm_v(2)%start_index,                &   
+                                     nxl_on_file,nxr_on_file )                 
+                                                                               
+                                                                               
+       CASE ( 'm_liq_v(0)' )                                                   
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_liq_v(0)%var_1d ) )                      &
+                ALLOCATE( m_liq_v(0)%var_1d(1:surf_lsm_v(0)%ns) )              
+             READ ( 13 )  tmp_walltype_v_1d(0)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  m_liq_v(0)%var_1d,                           &
+                                  tmp_walltype_v_1d(0)%var_1d,                 &
+                                  surf_lsm_v(0)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+                                                                               
+       CASE ( 'm_liq_v(1)' )                                                   
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_liq_v(1)%var_1d ) )                      &
+                ALLOCATE( m_liq_v(1)%var_1d(1:surf_lsm_v(1)%ns) )              
+             READ ( 13 )  tmp_walltype_v_1d(1)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  m_liq_v(1)%var_1d,                           &
+                                  tmp_walltype_v_1d(1)%var_1d,                 &
+                                  surf_lsm_v(1)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+                                                                               
+       CASE ( 'm_liq_v(2)' )                                                   
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_liq_v(2)%var_1d ) )                      &
+                ALLOCATE( m_liq_v(2)%var_1d(1:surf_lsm_v(2)%ns) )              
+             READ ( 13 )  tmp_walltype_v_1d(2)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  m_liq_v(2)%var_1d,                           &
+                                  tmp_walltype_v_1d(2)%var_1d,                 &
+                                  surf_lsm_v(2)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 'm_liq_v(3)' )                                                   
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( m_liq_v(3)%var_1d ) )                      &
+                ALLOCATE( m_liq_v(3)%var_1d(1:surf_lsm_v(3)%ns) )              
+             READ ( 13 )  tmp_walltype_v_1d(3)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  m_liq_v(3)%var_1d,                           &
+                                  tmp_walltype_v_1d(3)%var_1d,                 &
+                                  surf_lsm_v(3)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+                                                                               
+       CASE ( 't_surface_h' )                                                  
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_surface_h%var_1d ) )                     &
+                ALLOCATE( t_surface_h%var_1d(1:surf_lsm_h%ns) )                
+             READ ( 13 )  tmp_walltype_h_1d%var_1d                             
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                     t_surface_h%var_1d,                       &
+                                     tmp_walltype_h_1d%var_1d,                 &
+                                     surf_lsm_h%start_index,                   & 
                                      start_index_on_file,                      &
                                      end_index_on_file,                        &
@@ -6971,216 +7107,83 @@
                                      nxlf, nxrf, nysf, nynf,                   &
                                      nys_on_file, nyn_on_file,                 &
-                                     nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_soil_v(3)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_soil_v(3)%var_2d ) )                 &
-                    ALLOCATE( m_soil_v(1)%var_2d(nzb_soil:nzt_soil+1,          &
-                                                 1:surf_lsm_v(3)%ns) )
-                 READ ( 13 )  tmp_walltype_v_2d2(3)%var_2d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                     m_soil_v(3)%var_2d,                       & 
-                                     tmp_walltype_v_2d2(3)%var_2d,             &
-                                     surf_lsm_v(3)%start_index,                &  
-                                     start_index_on_file,                      &
-                                     end_index_on_file,                        &
-                                     nxlc, nysc,                               &
-                                     nxlf, nxrf, nysf, nynf,                   &
-                                     nys_on_file, nyn_on_file,                 &
-                                     nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_liq_h' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_liq_h%var_1d ) )                     &
-                    ALLOCATE( m_liq_h%var_1d(1:surf_lsm_h%ns) )
-                 READ ( 13 )  tmp_walltype_h_1d%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                         m_liq_h%var_1d,                       &
-                                         tmp_walltype_h_1d%var_1d,             &
-                                         surf_lsm_h%start_index,               &  
-                                         start_index_on_file,                  &
-                                         end_index_on_file,                    &
-                                         nxlc, nysc,                           &
-                                         nxlf, nxrf, nysf, nynf,               &
-                                         nys_on_file, nyn_on_file,             &
-                                         nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_liq_v(0)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_liq_v(0)%var_1d ) )                  &
-                    ALLOCATE( m_liq_v(0)%var_1d(1:surf_lsm_v(0)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(0)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      m_liq_v(0)%var_1d,                       &
-                                      tmp_walltype_v_1d(0)%var_1d,             &
-                                      surf_lsm_v(0)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_liq_v(1)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_liq_v(1)%var_1d ) )                  &
-                    ALLOCATE( m_liq_v(1)%var_1d(1:surf_lsm_v(1)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(1)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      m_liq_v(1)%var_1d,                       &
-                                      tmp_walltype_v_1d(1)%var_1d,             &
-                                      surf_lsm_v(1)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-
-           CASE ( 'm_liq_v(2)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_liq_v(2)%var_1d ) )                  &
-                    ALLOCATE( m_liq_v(2)%var_1d(1:surf_lsm_v(2)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(2)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      m_liq_v(2)%var_1d,                       &
-                                      tmp_walltype_v_1d(2)%var_1d,             &
-                                      surf_lsm_v(2)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 'm_liq_v(3)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( m_liq_v(3)%var_1d ) )                  &
-                    ALLOCATE( m_liq_v(3)%var_1d(1:surf_lsm_v(3)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(3)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      m_liq_v(3)%var_1d,                       &
-                                      tmp_walltype_v_1d(3)%var_1d,             &
-                                      surf_lsm_v(3)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-
-           CASE ( 't_surface_h' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_surface_h%var_1d ) )                 &
-                    ALLOCATE( t_surface_h%var_1d(1:surf_lsm_h%ns) )
-                 READ ( 13 )  tmp_walltype_h_1d%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                         t_surface_h%var_1d,                   &
-                                         tmp_walltype_h_1d%var_1d,             &
-                                         surf_lsm_h%start_index,               & 
-                                         start_index_on_file,                  &
-                                         end_index_on_file,                    &
-                                         nxlc, nysc,                           &
-                                         nxlf, nxrf, nysf, nynf,               &
-                                         nys_on_file, nyn_on_file,             &
-                                         nxl_on_file,nxr_on_file )
-
-           CASE ( 't_surface_v(0)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_surface_v(0)%var_1d ) )              &
-                    ALLOCATE( t_surface_v(0)%var_1d(1:surf_lsm_v(0)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(0)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_surface_v(0)%var_1d,                   &
-                                      tmp_walltype_v_1d(0)%var_1d,             &
-                                      surf_lsm_v(0)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_surface_v(1)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_surface_v(1)%var_1d ) )              &
-                    ALLOCATE( t_surface_v(1)%var_1d(1:surf_lsm_v(1)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(1)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_surface_v(1)%var_1d,                   &
-                                      tmp_walltype_v_1d(1)%var_1d,             &
-                                      surf_lsm_v(1)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                & 
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_surface_v(2)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_surface_v(2)%var_1d ) )              &
-                    ALLOCATE( t_surface_v(2)%var_1d(1:surf_lsm_v(2)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(2)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_surface_v(2)%var_1d,                   &
-                                      tmp_walltype_v_1d(2)%var_1d,             &
-                                      surf_lsm_v(2)%start_index,               & 
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-           CASE ( 't_surface_v(3)' )
-            
-              IF ( k == 1 )  THEN
-                 IF ( .NOT.  ALLOCATED( t_surface_v(3)%var_1d ) )              &
-                    ALLOCATE( t_surface_v(3)%var_1d(1:surf_lsm_v(3)%ns) )
-                 READ ( 13 )  tmp_walltype_v_1d(3)%var_1d
-              ENDIF
-              CALL surface_restore_elements(                                   &
-                                      t_surface_v(3)%var_1d,                   &
-                                      tmp_walltype_v_1d(3)%var_1d,             &
-                                      surf_lsm_v(3)%start_index,               &   
-                                      start_index_on_file,                     &
-                                      end_index_on_file,                       &
-                                      nxlc, nysc,                              &
-                                      nxlf, nxrf, nysf, nynf,                  &
-                                      nys_on_file, nyn_on_file,                &
-                                      nxl_on_file,nxr_on_file )
-
-          CASE DEFAULT
-
-                found = .FALSE.
-
-       END SELECT
+                                     nxl_on_file,nxr_on_file )                 
+                                                                               
+       CASE ( 't_surface_v(0)' )                                               
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_surface_v(0)%var_1d ) )                  &
+                ALLOCATE( t_surface_v(0)%var_1d(1:surf_lsm_v(0)%ns) )          
+             READ ( 13 )  tmp_walltype_v_1d(0)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_surface_v(0)%var_1d,                       &
+                                  tmp_walltype_v_1d(0)%var_1d,                 &
+                                  surf_lsm_v(0)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_surface_v(1)' )                                               
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_surface_v(1)%var_1d ) )                  &
+                ALLOCATE( t_surface_v(1)%var_1d(1:surf_lsm_v(1)%ns) )          
+             READ ( 13 )  tmp_walltype_v_1d(1)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_surface_v(1)%var_1d,                       &
+                                  tmp_walltype_v_1d(1)%var_1d,                 &
+                                  surf_lsm_v(1)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    & 
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_surface_v(2)' )                                               
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_surface_v(2)%var_1d ) )                  &
+                ALLOCATE( t_surface_v(2)%var_1d(1:surf_lsm_v(2)%ns) )          
+             READ ( 13 )  tmp_walltype_v_1d(2)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_surface_v(2)%var_1d,                       &
+                                  tmp_walltype_v_1d(2)%var_1d,                 &
+                                  surf_lsm_v(2)%start_index,                   & 
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )                    
+                                                                               
+       CASE ( 't_surface_v(3)' )                                               
+                                                                               
+          IF ( k == 1 )  THEN                                                  
+             IF ( .NOT.  ALLOCATED( t_surface_v(3)%var_1d ) )                  &
+                ALLOCATE( t_surface_v(3)%var_1d(1:surf_lsm_v(3)%ns) )          
+             READ ( 13 )  tmp_walltype_v_1d(3)%var_1d                          
+          ENDIF                                                                
+          CALL surface_restore_elements(                                       &
+                                  t_surface_v(3)%var_1d,                       &
+                                  tmp_walltype_v_1d(3)%var_1d,                 &
+                                  surf_lsm_v(3)%start_index,                   &   
+                                  start_index_on_file,                         &
+                                  end_index_on_file,                           &
+                                  nxlc, nysc,                                  &
+                                  nxlf, nxrf, nysf, nynf,                      &
+                                  nys_on_file, nyn_on_file,                    &
+                                  nxl_on_file,nxr_on_file )
+
+       CASE DEFAULT
+
+          found = .FALSE.
+
+    END SELECT
 
 
Index: palm/trunk/SOURCE/large_scale_forcing_nudging_mod.f90
===================================================================
--- palm/trunk/SOURCE/large_scale_forcing_nudging_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/large_scale_forcing_nudging_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/local_stop.f90
===================================================================
--- palm/trunk/SOURCE/local_stop.f90	(revision 4359)
+++ palm/trunk/SOURCE/local_stop.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/local_system.f90
===================================================================
--- palm/trunk/SOURCE/local_system.f90	(revision 4359)
+++ palm/trunk/SOURCE/local_system.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/local_tremain.f90
===================================================================
--- palm/trunk/SOURCE/local_tremain.f90	(revision 4359)
+++ palm/trunk/SOURCE/local_tremain.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/local_tremain_ini.f90
===================================================================
--- palm/trunk/SOURCE/local_tremain_ini.f90	(revision 4359)
+++ palm/trunk/SOURCE/local_tremain_ini.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/message.f90
===================================================================
--- palm/trunk/SOURCE/message.f90	(revision 4359)
+++ palm/trunk/SOURCE/message.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/mod_kinds.f90
===================================================================
--- palm/trunk/SOURCE/mod_kinds.f90	(revision 4359)
+++ palm/trunk/SOURCE/mod_kinds.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/mod_particle_attributes.f90
===================================================================
--- palm/trunk/SOURCE/mod_particle_attributes.f90	(revision 4359)
+++ palm/trunk/SOURCE/mod_particle_attributes.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/model_1d_mod.f90
===================================================================
--- palm/trunk/SOURCE/model_1d_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/model_1d_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/module_interface.f90
===================================================================
--- palm/trunk/SOURCE/module_interface.f90	(revision 4359)
+++ palm/trunk/SOURCE/module_interface.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! Add pcm_rrd_local and pcm_wrd_local
+! 
+! 4331 2019-12-10 18:25:02Z suehring
 ! Change interface for doq_check_data_output, in order to perform further 
 ! output checks.
@@ -408,5 +411,7 @@
                pcm_header,                                                     &
                pcm_3d_data_averaging,                                          &
-               pcm_data_output_3d
+               pcm_data_output_3d,                                             &
+               pcm_rrd_local,                                                  &
+               pcm_wrd_local
 
     USE radiation_model_mod,                                                   &
@@ -1778,4 +1783,13 @@
                             ) ! ToDo: change interface to pass variable
 
+     IF ( .NOT. found )  CALL pcm_rrd_local(                                   &
+                               map_index,                                      &
+                               nxlf, nxlc, nxl_on_file,                        &
+                               nxrf, nxrc, nxr_on_file,                        &
+                               nynf, nync, nyn_on_file,                        &
+                               nysf, nysc, nys_on_file,                        &
+                               tmp_2d, tmp_3d, found                           &
+                                           )
+
     IF ( .NOT. found )  CALL ocean_rrd_local(                                  &
                                map_index,                                      &
@@ -1851,4 +1865,5 @@
     IF ( particle_advection )   CALL lpm_wrd_local
     IF ( land_surface )         CALL lsm_wrd_local
+    IF ( plant_canopy )         CALL pcm_wrd_local
     IF ( ocean_mode )           CALL ocean_wrd_local
     IF ( radiation )            CALL radiation_wrd_local
Index: palm/trunk/SOURCE/modules.f90
===================================================================
--- palm/trunk/SOURCE/modules.f90	(revision 4359)
+++ palm/trunk/SOURCE/modules.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/nesting_offl_mod.f90
===================================================================
--- palm/trunk/SOURCE/nesting_offl_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/nesting_offl_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/netcdf_data_input_mod.f90
===================================================================
--- palm/trunk/SOURCE/netcdf_data_input_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/netcdf_data_input_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/netcdf_interface_mod.f90
===================================================================
--- palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/outflow_turbulence.f90
===================================================================
--- palm/trunk/SOURCE/outflow_turbulence.f90	(revision 4359)
+++ palm/trunk/SOURCE/outflow_turbulence.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/palm.f90
===================================================================
--- palm/trunk/SOURCE/palm.f90	(revision 4359)
+++ palm/trunk/SOURCE/palm.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/palm_date_time_mod.f90
===================================================================
--- palm/trunk/SOURCE/palm_date_time_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/palm_date_time_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/parin.f90
===================================================================
--- palm/trunk/SOURCE/parin.f90	(revision 4359)
+++ palm/trunk/SOURCE/parin.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/plant_canopy_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/plant_canopy_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/plant_canopy_model_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 ! Copyright 2017-2019 Institute of Computer Science of the
 !                     Czech Academy of Sciences, Prague
@@ -27,4 +27,8 @@
 ! -----------------
 ! $Id$
+! - Bugfix, read restart data for time-averaged pcm output quantities
+! - Output of plant-canopy quantities will fill values
+! 
+! 4356 2019-12-20 17:09:33Z suehring
 ! Correct single message call, local check must be given by the respective
 ! mpi rank.
@@ -140,5 +144,5 @@
 !------------------------------------------------------------------------------!
  MODULE plant_canopy_model_mod
- 
+
     USE arrays_3d,                                                             &
         ONLY:  dzu, dzw, e, exner, hyp, pt, q, s, tend, u, v, w, zu, zw
@@ -146,13 +150,23 @@
     USE basic_constants_and_equations_mod,                                     &
         ONLY:  c_p, degc_to_k, l_v, lv_d_cp, r_d, rd_d_rv
-        
+
     USE bulk_cloud_model_mod,                                                  &
         ONLY: bulk_cloud_model, microphysics_seifert
 
     USE control_parameters,                                                    &
-        ONLY: average_count_3d, coupling_char, debug_output, dt_3d, dz,        &
-              humidity, message_string, ocean_mode, passive_scalar,            &
-              plant_canopy, urban_surface
-              
+        ONLY: average_count_3d,                                                &
+              coupling_char,                                                   &
+              debug_output,                                                    &
+              dt_3d,                                                           &
+              dz,                                                              &
+              humidity,                                                        &
+              length,                                                          &
+              message_string,                                                  &
+              ocean_mode,                                                      &
+              passive_scalar,                                                  &
+              plant_canopy,                                                    &
+              restart_string,                                                  &
+              urban_surface
+
     USE grid_variables,                                                        &
         ONLY:  dx, dy
@@ -163,10 +177,10 @@
 
     USE kinds
-    
+
     USE netcdf_data_input_mod,                                                 &
         ONLY:  input_pids_static, leaf_area_density_f
 
     USE pegrid
-        
+
     USE surface_mod,                                                           &
         ONLY: surf_def_h, surf_lsm_h, surf_usm_h
@@ -223,8 +237,16 @@
 !
 !-- Public functions
-    PUBLIC pcm_calc_transpiration_rate, pcm_check_data_output,                &
-           pcm_check_parameters, pcm_3d_data_averaging,                       &
-           pcm_data_output_3d, pcm_define_netcdf_grid,                        &
-           pcm_header, pcm_init, pcm_parin, pcm_tendency
+    PUBLIC pcm_calc_transpiration_rate,                                       &
+           pcm_check_data_output,                                             &
+           pcm_check_parameters,                                              &
+           pcm_3d_data_averaging,                                             &
+           pcm_data_output_3d,                                                &
+           pcm_define_netcdf_grid,                                            &
+           pcm_header,                                                        &
+           pcm_init,                                                          &
+           pcm_parin,                                                         &
+           pcm_rrd_local,                                                     &
+           pcm_tendency,                                                      &
+           pcm_wrd_local
 
 !
@@ -273,9 +295,17 @@
        MODULE PROCEDURE pcm_read_plant_canopy_3d
     END INTERFACE pcm_read_plant_canopy_3d
-    
+
+    INTERFACE pcm_rrd_local
+       MODULE PROCEDURE pcm_rrd_local
+    END INTERFACE pcm_rrd_local
+
     INTERFACE pcm_tendency
        MODULE PROCEDURE pcm_tendency
        MODULE PROCEDURE pcm_tendency_ij
     END INTERFACE pcm_tendency
+
+    INTERFACE pcm_wrd_local
+       MODULE PROCEDURE pcm_wrd_local
+    END INTERFACE pcm_wrd_local
 
 
@@ -685,5 +715,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_heating_rate(k,j,i)
                    ENDDO
@@ -693,5 +723,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_heatrate_av(k,j,i)
                    ENDDO
@@ -704,5 +734,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_latent_rate(k,j,i)
                    ENDDO
@@ -712,5 +742,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_latentrate_av(k,j,i)
                    ENDDO
@@ -723,5 +753,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_transpiration_rate(k,j,i)
                    ENDDO
@@ -731,5 +761,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = pcm_transpirationrate_av(k,j,i)
                    ENDDO
@@ -742,5 +772,5 @@
              DO  i = nxl, nxr
                 DO  j = nys, nyn
-                   DO  k = MAX( 1, nzb_do ), MIN( pch_index, nzt_do )
+                   DO  k = MAX( 1, nzb_do ), MIN( pch_index_ji(j,i), nzt_do )
                       local_pf(i,j,k) = lad_s(k,j,i)
                    ENDDO
@@ -1151,5 +1181,5 @@
                            MPI_MAX, comm2d, ierr)
 #endif
-
+!
 !--    Allocation of arrays pcm_heating_rate, pcm_transpiration_rate and pcm_latent_rate
        ALLOCATE( pcm_heating_rate(0:pch_index,nysg:nyng,nxlg:nxrg) )
@@ -1437,6 +1467,80 @@
         
     END SUBROUTINE pcm_read_plant_canopy_3d
-    
-    
+
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+!> Subroutine reads local (subdomain) restart data
+!------------------------------------------------------------------------------!
+    SUBROUTINE pcm_rrd_local( k, nxlf, nxlc, nxl_on_file, nxrf, nxrc,          &
+                              nxr_on_file, nynf, nync, nyn_on_file, nysf,      &
+                              nysc, nys_on_file, tmp_2d, tmp_3d, found )
+
+       INTEGER(iwp) ::  k               !< 
+       INTEGER(iwp) ::  nxlc            !< 
+       INTEGER(iwp) ::  nxlf            !< 
+       INTEGER(iwp) ::  nxl_on_file     !< 
+       INTEGER(iwp) ::  nxrc            !< 
+       INTEGER(iwp) ::  nxrf            !< 
+       INTEGER(iwp) ::  nxr_on_file     !< 
+       INTEGER(iwp) ::  nync            !< 
+       INTEGER(iwp) ::  nynf            !< 
+       INTEGER(iwp) ::  nyn_on_file     !< 
+       INTEGER(iwp) ::  nysc            !< 
+       INTEGER(iwp) ::  nysf            !< 
+       INTEGER(iwp) ::  nys_on_file     !< 
+
+       LOGICAL, INTENT(OUT)  :: found
+
+       REAL(wp), DIMENSION(nys_on_file-nbgp:nyn_on_file+nbgp,                  &
+                           nxl_on_file-nbgp:nxr_on_file+nbgp) :: tmp_2d   !< temporary 2D array
+
+       REAL(wp), DIMENSION(nzb:nzt+1,                                          &
+                           nys_on_file-nbgp:nyn_on_file+nbgp,                  &
+                           nxl_on_file-nbgp:nxr_on_file+nbgp) :: tmp_3d   !< temporary 3D array with entire vertical dimension
+
+       REAL(wp), DIMENSION(0:pch_index,                                        &
+                           nys_on_file-nbgp:nyn_on_file+nbgp,                  &
+                           nxl_on_file-nbgp:nxr_on_file+nbgp) :: tmp_3d2  !< temporary 3D array for entire vertical 
+                                                                          !< extension of canopy layer
+       found = .TRUE.
+
+       SELECT CASE ( restart_string(1:length) )
+
+          CASE ( 'pcm_heatrate_av' )
+             IF ( .NOT. ALLOCATED( pcm_heatrate_av ) )  THEN
+                ALLOCATE( pcm_heatrate_av(0:pch_index,nysg:nyng,nxlg:nxrg) )
+                pcm_heatrate_av = 0.0_wp
+             ENDIF  
+             IF ( k == 1 )  READ ( 13 )  tmp_3d2
+             pcm_heatrate_av(0:pch_index,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
+                        tmp_3d2(0:pch_index,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
+
+          CASE ( 'pcm_latentrate_av' )
+             IF ( .NOT. ALLOCATED( pcm_latentrate_av ) )  THEN
+                ALLOCATE( pcm_latentrate_av(0:pch_index,nysg:nyng,nxlg:nxrg) )
+                pcm_latentrate_av = 0.0_wp
+             ENDIF  
+             IF ( k == 1 )  READ ( 13 )  tmp_3d2
+             pcm_latentrate_av(0:pch_index,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
+                        tmp_3d2(0:pch_index,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
+
+          CASE ( 'pcm_transpirationrate_av' )
+             IF ( .NOT. ALLOCATED( pcm_transpirationrate_av ) )  THEN
+                ALLOCATE( pcm_transpirationrate_av(0:pch_index,nysg:nyng,nxlg:nxrg) )
+                pcm_transpirationrate_av = 0.0_wp
+             ENDIF  
+             IF ( k == 1 )  READ ( 13 )  tmp_3d2
+             pcm_transpirationrate_av(0:pch_index,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &
+                        tmp_3d2(0:pch_index,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
+
+          CASE DEFAULT
+
+             found = .FALSE.
+
+       END SELECT
+
+    END SUBROUTINE pcm_rrd_local
+
 !------------------------------------------------------------------------------!
 ! Description:
@@ -2188,4 +2292,28 @@
     END SUBROUTINE pcm_tendency_ij
 
+!------------------------------------------------------------------------------!
+! Description:
+! ------------
+!> Subroutine writes local (subdomain) restart data
+!------------------------------------------------------------------------------!
+    SUBROUTINE pcm_wrd_local
+
+       IF ( ALLOCATED( pcm_heatrate_av ) )  THEN
+          CALL wrd_write_string( 'pcm_heatrate_av' )
+          WRITE ( 14 )  pcm_heatrate_av
+       ENDIF
+
+       IF ( ALLOCATED( pcm_latentrate_av ) )  THEN
+          CALL wrd_write_string( 'pcm_latentrate_av' )
+          WRITE ( 14 )  pcm_latentrate_av
+       ENDIF
+
+       IF ( ALLOCATED( pcm_transpirationrate_av ) )  THEN
+          CALL wrd_write_string( 'pcm_transpirationrate_av' )
+          WRITE ( 14 )  pcm_transpirationrate_av
+       ENDIF
+
+    END SUBROUTINE pcm_wrd_local
+
 
  END MODULE plant_canopy_model_mod
Index: palm/trunk/SOURCE/pmc_child_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_child_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_child_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_general_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_general_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_general_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_handle_communicator_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_handle_communicator_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_handle_communicator_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_interface_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_mpi_wrapper_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_mpi_wrapper_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_mpi_wrapper_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_parent_mod.f90
===================================================================
--- palm/trunk/SOURCE/pmc_parent_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_parent_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pmc_particle_interface.f90
===================================================================
--- palm/trunk/SOURCE/pmc_particle_interface.f90	(revision 4359)
+++ palm/trunk/SOURCE/pmc_particle_interface.f90	(revision 4360)
@@ -16,5 +16,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/poisfft_mod.f90
===================================================================
--- palm/trunk/SOURCE/poisfft_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/poisfft_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/poismg_mod.f90
===================================================================
--- palm/trunk/SOURCE/poismg_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/poismg_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/poismg_noopt_mod.f90
===================================================================
--- palm/trunk/SOURCE/poismg_noopt_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/poismg_noopt_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/posix_calls_from_fortran.f90
===================================================================
--- palm/trunk/SOURCE/posix_calls_from_fortran.f90	(revision 4359)
+++ palm/trunk/SOURCE/posix_calls_from_fortran.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/pres.f90
===================================================================
--- palm/trunk/SOURCE/pres.f90	(revision 4359)
+++ palm/trunk/SOURCE/pres.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/print_1d.f90
===================================================================
--- palm/trunk/SOURCE/print_1d.f90	(revision 4359)
+++ palm/trunk/SOURCE/print_1d.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/prognostic_equations.f90
===================================================================
--- palm/trunk/SOURCE/prognostic_equations.f90	(revision 4359)
+++ palm/trunk/SOURCE/prognostic_equations.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/progress_bar_mod.f90
===================================================================
--- palm/trunk/SOURCE/progress_bar_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/progress_bar_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/radiation_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/radiation_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/radiation_model_mod.f90	(revision 4360)
@@ -18,5 +18,5 @@
 !                     Czech Academy of Sciences, Prague
 ! Copyright 2015-2019 Czech Technical University in Prague
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/random_function_mod.f90
===================================================================
--- palm/trunk/SOURCE/random_function_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/random_function_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/random_gauss.f90
===================================================================
--- palm/trunk/SOURCE/random_gauss.f90	(revision 4359)
+++ palm/trunk/SOURCE/random_gauss.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/random_generator_parallel_mod.f90
===================================================================
--- palm/trunk/SOURCE/random_generator_parallel_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/random_generator_parallel_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/read_restart_data_mod.f90
===================================================================
--- palm/trunk/SOURCE/read_restart_data_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/read_restart_data_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/run_control.f90
===================================================================
--- palm/trunk/SOURCE/run_control.f90	(revision 4359)
+++ palm/trunk/SOURCE/run_control.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/salsa_mod.f90
===================================================================
--- palm/trunk/SOURCE/salsa_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/salsa_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 !
 ! Copyright 2018-2019 University of Helsinki
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !--------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/sor.f90
===================================================================
--- palm/trunk/SOURCE/sor.f90	(revision 4359)
+++ palm/trunk/SOURCE/sor.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/spectra_mod.f90
===================================================================
--- palm/trunk/SOURCE/spectra_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/spectra_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/subsidence_mod.f90
===================================================================
--- palm/trunk/SOURCE/subsidence_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/subsidence_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/sum_up_3d_data.f90
===================================================================
--- palm/trunk/SOURCE/sum_up_3d_data.f90	(revision 4359)
+++ palm/trunk/SOURCE/sum_up_3d_data.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/surface_coupler.f90
===================================================================
--- palm/trunk/SOURCE/surface_coupler.f90	(revision 4359)
+++ palm/trunk/SOURCE/surface_coupler.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/surface_data_output_mod.f90
===================================================================
--- palm/trunk/SOURCE/surface_data_output_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/surface_data_output_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
===================================================================
--- palm/trunk/SOURCE/surface_layer_fluxes_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/surface_layer_fluxes_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !
 !------------------------------------------------------------------------------!
Index: palm/trunk/SOURCE/surface_mod.f90
===================================================================
--- palm/trunk/SOURCE/surface_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/surface_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !
 !------------------------------------------------------------------------------!
Index: palm/trunk/SOURCE/time_integration.f90
===================================================================
--- palm/trunk/SOURCE/time_integration.f90	(revision 4359)
+++ palm/trunk/SOURCE/time_integration.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/time_integration_spinup.f90
===================================================================
--- palm/trunk/SOURCE/time_integration_spinup.f90	(revision 4359)
+++ palm/trunk/SOURCE/time_integration_spinup.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/time_to_string.f90
===================================================================
--- palm/trunk/SOURCE/time_to_string.f90	(revision 4359)
+++ palm/trunk/SOURCE/time_to_string.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/timestep.f90
===================================================================
--- palm/trunk/SOURCE/timestep.f90	(revision 4359)
+++ palm/trunk/SOURCE/timestep.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/timestep_scheme_steering.f90
===================================================================
--- palm/trunk/SOURCE/timestep_scheme_steering.f90	(revision 4359)
+++ palm/trunk/SOURCE/timestep_scheme_steering.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/transpose.f90
===================================================================
--- palm/trunk/SOURCE/transpose.f90	(revision 4359)
+++ palm/trunk/SOURCE/transpose.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/tridia_solver_mod.f90
===================================================================
--- palm/trunk/SOURCE/tridia_solver_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/tridia_solver_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/urban_surface_mod.f90
===================================================================
--- palm/trunk/SOURCE/urban_surface_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/urban_surface_mod.f90	(revision 4360)
@@ -18,5 +18,5 @@
 ! Copyright 2015-2019 Institute of Computer Science of the 
 !                     Czech Academy of Sciences, Prague
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_data_output_mask.f90
===================================================================
--- palm/trunk/SOURCE/user_data_output_mask.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_data_output_mask.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_flight.f90
===================================================================
--- palm/trunk/SOURCE/user_flight.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_flight.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_3d_model.f90
===================================================================
--- palm/trunk/SOURCE/user_init_3d_model.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_3d_model.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_flight.f90
===================================================================
--- palm/trunk/SOURCE/user_init_flight.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_flight.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_grid.f90
===================================================================
--- palm/trunk/SOURCE/user_init_grid.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_grid.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_land_surface.f90
===================================================================
--- palm/trunk/SOURCE/user_init_land_surface.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_land_surface.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_plant_canopy.f90
===================================================================
--- palm/trunk/SOURCE/user_init_plant_canopy.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_plant_canopy.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_radiation.f90
===================================================================
--- palm/trunk/SOURCE/user_init_radiation.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_radiation.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_init_urban_surface.f90
===================================================================
--- palm/trunk/SOURCE/user_init_urban_surface.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_init_urban_surface.f90	(revision 4360)
@@ -16,5 +16,5 @@
 !
 ! Copyright 2015 Czech Technical University in Prague
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !--------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_lpm_advec.f90
===================================================================
--- palm/trunk/SOURCE/user_lpm_advec.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_lpm_advec.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_lpm_init.f90
===================================================================
--- palm/trunk/SOURCE/user_lpm_init.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_lpm_init.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_module.f90
===================================================================
--- palm/trunk/SOURCE/user_module.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_module.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/user_spectra.f90
===================================================================
--- palm/trunk/SOURCE/user_spectra.f90	(revision 4359)
+++ palm/trunk/SOURCE/user_spectra.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/vertical_nesting_mod.f90
===================================================================
--- palm/trunk/SOURCE/vertical_nesting_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/vertical_nesting_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 ! Copyright 2017-2018 Karlsruhe Institute of Technology
 !------------------------------------------------------------------------------!
Index: palm/trunk/SOURCE/virtual_flight_mod.f90
===================================================================
--- palm/trunk/SOURCE/virtual_flight_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/virtual_flight_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/wind_turbine_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/wind_turbine_model_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/wind_turbine_model_mod.f90	(revision 4360)
@@ -16,5 +16,5 @@
 !
 ! Copyright 2009-2019 Carl von Ossietzky Universitaet Oldenburg
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/wrd_write_string.f90
===================================================================
--- palm/trunk/SOURCE/wrd_write_string.f90	(revision 4359)
+++ palm/trunk/SOURCE/wrd_write_string.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
Index: palm/trunk/SOURCE/write_restart_data_mod.f90
===================================================================
--- palm/trunk/SOURCE/write_restart_data_mod.f90	(revision 4359)
+++ palm/trunk/SOURCE/write_restart_data_mod.f90	(revision 4360)
@@ -15,5 +15,5 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2019 Leibniz Universitaet Hannover
+! Copyright 1997-2020 Leibniz Universitaet Hannover
 !------------------------------------------------------------------------------!
 !
