Index: /palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_3d_model.f90	(revision 784)
+++ /palm/trunk/SOURCE/init_3d_model.f90	(revision 785)
@@ -7,5 +7,5 @@
 ! Current revisions:
 ! ------------------
-! 
+! initialization of rdf_sc
 !
 ! Former revisions:
@@ -184,5 +184,5 @@
               sums_divnew_l(0:statistic_regions),                           &
               sums_divold_l(0:statistic_regions) )
-    ALLOCATE( dp_smooth_factor(nzb:nzt), rdf(nzb+1:nzt) )
+    ALLOCATE( dp_smooth_factor(nzb:nzt), rdf(nzb+1:nzt), rdf_sc(nzb+1:nzt) )
     ALLOCATE( ngp_2dh_outer(nzb:nzt+1,0:statistic_regions),                 &
               ngp_2dh_outer_l(nzb:nzt+1,0:statistic_regions),               &
@@ -1471,5 +1471,6 @@
 !
 !-- Initialize Rayleigh damping factors
-    rdf = 0.0
+    rdf    = 0.0
+    rdf_sc = 0.0
     IF ( rayleigh_damping_factor /= 0.0 )  THEN
        IF ( .NOT. ocean )  THEN
@@ -1493,4 +1494,5 @@
        ENDIF
     ENDIF
+    IF ( scalar_rayleigh_damping )  rdf_sc = rdf
 
 !
Index: /palm/trunk/SOURCE/modules.f90
===================================================================
--- /palm/trunk/SOURCE/modules.f90	(revision 784)
+++ /palm/trunk/SOURCE/modules.f90	(revision 785)
@@ -5,5 +5,5 @@
 ! Current revisions:
 ! -----------------
-!
+! +scalar_rayleigh_damping, rdf_sc
 !
 ! Former revisions:
@@ -264,7 +264,7 @@
     REAL, DIMENSION(:), ALLOCATABLE ::                                         &
           ddzu, ddzu_pres, dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor,  &
-          km_damp_x, km_damp_y, lad, l_grid, pt_init, q_init, rdf, sa_init,    &
-          ug, u_init, u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs,  &
-          zu, zw
+          km_damp_x, km_damp_y, lad, l_grid, pt_init, q_init, rdf, rdf_sc,     &
+          sa_init, ug, u_init, u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, &
+          w_subs, zu, zw
 
     REAL, DIMENSION(:,:), ALLOCATABLE ::                                       &
@@ -538,9 +538,9 @@
                 outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., &
                 outflow_s = .FALSE., passive_scalar = .FALSE., &
-                plant_canopy = .FALSE., &
-                prandtl_layer = .TRUE., precipitation = .FALSE., &
-                profil_output = .FALSE., radiation = .FALSE., &
-                random_heatflux = .FALSE., run_control_header = .FALSE., &
-                run_coupled = .TRUE., sloping_surface = .FALSE., &
+                plant_canopy = .FALSE., prandtl_layer = .TRUE., &
+                precipitation = .FALSE., profil_output = .FALSE., &
+                radiation = .FALSE., random_heatflux = .FALSE., &
+                run_control_header = .FALSE., run_coupled = .TRUE., &
+                scalar_rayleigh_damping = .TRUE., sloping_surface = .FALSE., &
                 stop_dt = .FALSE., synchronous_exchange = .FALSE., &
                 terminate_run = .FALSE., turbulent_inflow = .FALSE., &
Index: /palm/trunk/SOURCE/parin.f90
===================================================================
--- /palm/trunk/SOURCE/parin.f90	(revision 784)
+++ /palm/trunk/SOURCE/parin.f90	(revision 785)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! +scalar_rayleigh_damping
 !
 ! Former revisions:
@@ -161,9 +161,10 @@
              rif_max, rif_min, roughness_length, sa_surface, &
              sa_vertical_gradient, sa_vertical_gradient_level, scalar_advec, &
-             scalar_exchange_coefficient, statistic_regions, &
-             subs_vertical_gradient, subs_vertical_gradient_level, &
-             surface_heatflux, surface_pressure, surface_scalarflux, &
-             surface_waterflux, s_surface, s_surface_initial_change, &
-             s_vertical_gradient, s_vertical_gradient_level, timestep_scheme, &
+             scalar_exchange_coefficient, scalar_rayleigh_damping, &
+             statistic_regions, subs_vertical_gradient, &
+             subs_vertical_gradient_level, surface_heatflux, surface_pressure, &
+             surface_scalarflux, surface_waterflux, s_surface, &
+             s_surface_initial_change, s_vertical_gradient, &
+             s_vertical_gradient_level, timestep_scheme, &
              topography, topography_grid_convention, top_heatflux, &
              top_momentumflux_u, top_momentumflux_v, top_salinityflux, &
Index: /palm/trunk/SOURCE/prognostic_equations.f90
===================================================================
--- /palm/trunk/SOURCE/prognostic_equations.f90	(revision 784)
+++ /palm/trunk/SOURCE/prognostic_equations.f90	(revision 785)
@@ -4,4 +4,5 @@
 ! Current revisions:
 ! -----------------
+! new factor rdf_sc allows separate Rayleigh damping of scalars
 !
 ! Former revisions:
@@ -511,5 +512,5 @@
                                      sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
                                    ) -                                         &
-                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
           ENDDO
 
@@ -602,5 +603,5 @@
                                      sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
                                       ) -                                      &
-                              tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                              tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
                 IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
              ENDDO
@@ -723,5 +724,5 @@
                                       sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
                                      ) -                                       &
-                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
                 IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
              ENDDO
@@ -1216,5 +1217,5 @@
                                tsc(2) * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
                                    ) -                                      &
-                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
           ENDDO
 
@@ -1266,5 +1267,5 @@
                                tsc(2) * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
                                       ) -                                   &
-                             tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                             tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
                 IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
              ENDDO
@@ -1346,5 +1347,5 @@
                                 tsc(2) * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
                                      ) -                                    &
-                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
                 IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
              ENDDO
@@ -1846,5 +1847,5 @@
                                      sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
                                    ) -                                         &
-                           tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
+                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
           ENDDO
        ENDDO
@@ -1940,5 +1941,5 @@
                                      sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
                                       ) -                                      &
-                              tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
+                              tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
                 IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
              ENDDO
@@ -2065,5 +2066,5 @@
                                       sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
                                      ) -                                       &
-                             tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
+                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
                 IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
              ENDDO
Index: /palm/trunk/UTIL/interpret_config.f90
===================================================================
--- /palm/trunk/UTIL/interpret_config.f90	(revision 784)
+++ /palm/trunk/UTIL/interpret_config.f90	(revision 785)
@@ -4,5 +4,6 @@
 ! Actual revisions:
 ! -----------------
-! 
+! Character length extended to 1000 in order to account for long lines in the
+! configuration file
 !
 ! Former revisions:
@@ -32,12 +33,12 @@
     IMPLICIT NONE
 
-    CHARACTER (LEN=1)   ::  bs = ACHAR( 92 )   ! backslash (auf vpp sonst n.
+    CHARACTER (LEN=1)    ::  bs = ACHAR( 92 )   ! backslash (auf vpp sonst n.
                                                ! druckbar)
-    CHARACTER (LEN=20)  ::  do_remote, do_trace, host, localhost
-    CHARACTER (LEN=100) ::  config_file, icf
-    CHARACTER (LEN=300) ::  cond1, cond2, empty = REPEAT( ' ', 240 ),       &
-                            for_cond1, for_cond2, for_host, input_list,     &
-                            iolist, output_list, s1, s2, s2a, s2b, s2c, s3, &
-                            s3cond, s4, s5, s6, value, value_mrun, var, zeile
+    CHARACTER (LEN=20)   ::  do_remote, do_trace, host, localhost
+    CHARACTER (LEN=100)  ::  config_file, icf
+    CHARACTER (LEN=1000) ::  cond1, cond2, empty = REPEAT( ' ', 240 ),       &
+                             for_cond1, for_cond2, for_host, input_list,     &
+                             iolist, output_list, s1, s2, s2a, s2b, s2c, s3, &
+                             s3cond, s4, s5, s6, value, value_mrun, var, zeile
 
     INTEGER ::  dummy, i, icomment = 0, icond1, icond2, idatver = 0, iec = 0,  &
