Index: /palm/trunk/SCRIPTS/mrun
===================================================================
--- /palm/trunk/SCRIPTS/mrun	(revision 823)
+++ /palm/trunk/SCRIPTS/mrun	(revision 824)
@@ -247,4 +247,7 @@
      # 16/02/12 - BjornM - bugfix: replaced $localhost by $host in the ENVPAR
      #                     file, which is generated for the namelist file check
+     # 17/02/12 - Siggi  - -z included in description of options (mrun ?)
+
+
  
     # VARIABLENVEREINBARUNGEN + DEFAULTWERTE
@@ -597,4 +600,5 @@
     printf "\n        -Y    run coupled model, \"#1 #2\" with" 
     printf "\n              #1 atmosphere and #2 ocean processors    \"#/2 #/2\" depending on -X"
+    printf "\n        -z    no parameter file check                  ---"
     printf "\n "
     printf "\n      Possible values of positional parameter <modus>:"
Index: /palm/trunk/SOURCE/advec_particles.f90
===================================================================
--- /palm/trunk/SOURCE/advec_particles.f90	(revision 823)
+++ /palm/trunk/SOURCE/advec_particles.f90	(revision 824)
@@ -4,5 +4,7 @@
 ! Current revisions:
 ! ------------------
-!
+! droplet growth by condensation may include curvature and solution effects.
+! initialisation of temporary particle array for resorting removed.
+! particle attributes speed_x|y|z_sgs renamed rvar1|2|3.
 !
 ! Former revisions:
@@ -137,6 +139,7 @@
     IMPLICIT NONE
 
-    INTEGER ::  agp, deleted_particles, deleted_tails, i, ie, ii, inc, is, j,  &
-                jj, js, k, kk, kw, m, n, nc, nd, nn, num_gp, pse, psi,         &
+    INTEGER ::  agp, deleted_particles, deleted_tails, i, ie, ii, inc,         &
+                internal_timestep_count, is, j,  &
+                jj, js, jtry, k, kk, kw, m, n, nc, nd, nn, num_gp, pse, psi,   &
                 tlength, trlp_count, trlp_count_sum, trlp_count_recv,          &
                 trlp_count_recv_sum, trlpt_count, trlpt_count_recv,            &
@@ -150,17 +153,34 @@
     INTEGER ::  gp_outside_of_building(1:8)
 
+    INTEGER, PARAMETER ::  maxtry = 40   ! for Rosenbrock method
+
     LOGICAL ::  dt_3d_reached, dt_3d_reached_l, prt_position
 
-    REAL    ::  aa, arg, bb, cc, dd, delta_r, delta_v, dens_ratio, de_dt,      &
-                de_dt_min, de_dx_int, de_dx_int_l, de_dx_int_u, de_dy_int,     &
-                de_dy_int_l, de_dy_int_u, de_dz_int, de_dz_int_l, de_dz_int_u, &
-                diss_int, diss_int_l, diss_int_u, distance, dt_gap,            &
-                dt_particle, dt_particle_m, d_radius, d_sum, e_a, e_int,       &
-                e_int_l, e_int_u, e_mean_int, e_s, exp_arg, exp_term, fs_int,  &
-                gg, integral, lagr_timescale, lw_max, mean_r, new_r, p_int,    &
-                pt_int, pt_int_l, pt_int_u, q_int, q_int_l, q_int_u, ql_int,   &
-                ql_int_l, ql_int_u, random_gauss, sl_r3, sl_r4, t_int, u_int,  &
-                u_int_l, u_int_u,vv_int, v_int, v_int_l, v_int_u, w_int,       &
-                w_int_l, w_int_u, x, y 
+    REAL    ::  aa, afactor, arg, bb, cc, dd, ddenom, delta_r, delta_v, &
+                dens_ratio, de_dt, de_dt_min, de_dx_int, de_dx_int_l, &
+                de_dx_int_u, de_dy_int, de_dy_int_l, de_dy_int_u, de_dz_int, &
+                de_dz_int_l, de_dz_int_u, diss_int, diss_int_l, diss_int_u, &
+                distance, drdt, drdt_ini, drdt_m, dt_ros, dt_ros_last, &
+                dt_ros_next, dt_ros_sum, dt_ros_sum_ini, d2rdt2, d2rdtdr, &
+                dt_gap, dt_particle, dt_particle_m, d_sum, e_a, e_int, &
+                e_int_l, e_int_u, e_mean_int, e_s, err_ros, errmax, exp_arg, &
+                exp_term, fs_int, gg, g1, g2, g3, g4, integral, &
+                lagr_timescale, lw_max, mean_r, new_r, p_int, pt_int, &
+                pt_int_l, pt_int_u, q_int, q_int_l, q_int_u, ql_int, ql_int_l, &
+                ql_int_u, random_gauss, r_ros, r_ros_ini, sigma, sl_r3, sl_r4, &
+                t_int, u_int, u_int_l, u_int_u,vv_int, v_int, v_int_l, &
+                v_int_u, w_int, w_int_l, w_int_u, x, y
+!
+!-- Parameters for Rosenbrock method
+    REAL, PARAMETER ::  a21 = 2.0, a31 = 48.0/25.0, a32 = 6.0/25.0,        &
+                        a2x = 1.0, a3x = 3.0/5.0, b1 = 19.0/9.0, b2 = 0.5, &
+                        b3 = 25.0/108.0, b4 = 125.0/108.0, c21 = -8.0,     &
+                        c31 = 372.0/25.0, c32 = 12.0/5.0,                  &
+                        c41 = -112.0/125.0, c42 = -54.0/125.0,             &
+                        c43 = -2.0/5.0, c1x = 0.5, c2x= -3.0/2.0,          &
+                        c3x = 121.0/50.0, c4x = 29.0/250.0,                &
+                        errcon = 0.1296, e1 = 17.0/54.0, e2 = 7.0/36.0,    &
+                        e3 = 0.0, e4 = 125.0/108.0, gam = 0.5, grow = 1.5, &
+                        pgrow = -0.25, pshrnk = -1.0/3.0, shrnk = 0.5
 
     REAL, DIMENSION(1:30) ::  de_dxi, de_dyi, de_dzi, dissi, d_gp_pl, ei
@@ -337,29 +357,174 @@
 !
 !--       Change in radius by condensation/evaporation
-!--       ATTENTION: this is only an approximation for large radii
-          arg = particles(n)%radius**2 + 2.0 * dt_3d *                     &
-                        ( e_a / e_s - 1.0 ) /                              &
-                        ( ( l_d_rv / t_int - 1.0 ) * l_v * rho_l / t_int / &
-                          thermal_conductivity_l +                         &
-                          rho_l * r_v * t_int / diff_coeff_l / e_s )
-          IF ( arg < 1.0E-14 )  THEN
-             new_r = 1.0E-7
+          IF ( curvature_solution_effects .AND. particles(n)%radius < 1.0E-6 ) &
+          THEN
+!
+!--          Curvature and solutions effects are included in growth equation.
+!--          Change in Radius is calculated with 4th-order Rosenbrock method
+!--          for stiff o.d.e's with monitoring local truncation error to adjust
+!--          stepsize (see Numerical recipes in FORTRAN, 2nd edition, p. 731).
+!--          For larger radii the simple analytic method (see ELSE) gives
+!--          almost the same results.
+!
+!--          Surface tension after (Straka, 2009)
+             sigma = 0.0761 - 0.00155 * ( t_int - 273.15 )
+
+             r_ros = particles(n)%radius
+             dt_ros_sum  = 0.0      ! internal integrated time (s)
+             internal_timestep_count = 0
+
+             ddenom  = 1.0 / ( rho_l * r_v * t_int / ( e_s * diff_coeff_l ) +  &
+                               ( l_v / ( r_v * t_int ) - 1.0 ) *               &
+                               rho_l * l_v / ( thermal_conductivity_l * t_int )&
+                             )
+              
+             afactor = 2.0 * sigma / ( rho_l * r_v * t_int )
+
+             IF ( particles(n)%rvar3 == -9999999.9 )  THEN
+!
+!--             First particle timestep. Derivative has to be calculated.
+                drdt_m  = ddenom / r_ros * ( e_a / e_s - 1.0 -    &
+                                             afactor / r_ros +    &
+                                             bfactor / r_ros**3 )
+             ELSE
+!
+!--             Take value from last PALM timestep
+                drdt_m = particles(n)%rvar3
+             ENDIF
+!
+!--          Take internal timestep values from the end of last PALM timestep
+             dt_ros_last = particles(n)%rvar1
+             dt_ros_next = particles(n)%rvar2
+!
+!--          Internal timestep must not be larger than PALM timestep
+             dt_ros = MIN( dt_ros_next, dt_3d )
+!
+!--          Integrate growth equation in time unless PALM timestep is reached
+             DO WHILE ( dt_ros_sum < dt_3d )
+
+                internal_timestep_count = internal_timestep_count + 1
+
+!
+!--             Derivative at starting value
+                drdt = ddenom / r_ros * ( e_a / e_s - 1.0 - afactor / r_ros + &
+                                          bfactor / r_ros**3 )
+                drdt_ini       = drdt
+                dt_ros_sum_ini = dt_ros_sum
+                r_ros_ini      = r_ros
+
+!
+!--             Calculate time derivative of dr/dt
+                d2rdt2 = ( drdt - drdt_m ) / dt_ros_last 
+
+!
+!--             Calculate radial derivative of dr/dt
+                d2rdtdr = ddenom * ( ( 1.0 - e_a/e_s ) / r_ros**2 + &
+                                     2.0 * afactor / r_ros**3 -     &
+                                     4.0 * bfactor / r_ros**5 )
+!
+!--             Adjust stepsize unless required accuracy is reached
+                DO  jtry = 1, maxtry+1
+
+                   IF ( jtry == maxtry+1 )  THEN
+                      message_string = 'maxtry > 40 in Rosenbrock method'
+                      CALL message( 'advec_particles', 'PA0347', 2, 2, 0, 6, 0 )
+                   ENDIF
+
+                   aa    = 1.0 / ( gam * dt_ros ) - d2rdtdr
+                   g1    = ( drdt_ini + dt_ros * c1x * d2rdt2 ) / aa
+                   r_ros = r_ros_ini + a21 * g1
+                   drdt  = ddenom / r_ros * ( e_a / e_s - 1.0 - &
+                                              afactor / r_ros + &
+                                              bfactor / r_ros**3 )
+
+                   g2    = ( drdt + dt_ros * c2x * d2rdt2 + c21 * g1 / dt_ros )&
+                           / aa
+                   r_ros = r_ros_ini + a31 * g1 + a32 * g2
+                   drdt  = ddenom / r_ros * ( e_a / e_s - 1.0 - &
+                                              afactor / r_ros + &
+                                              bfactor / r_ros**3 )
+
+                   g3    = ( drdt + dt_ros * c3x * d2rdt2 + &
+                             ( c31 * g1 + c32 * g2 ) / dt_ros ) / aa
+                   g4    = ( drdt + dt_ros * c4x * d2rdt2 + &
+                             ( c41 * g1 + c42 * g2 + c43 * g3 ) / dt_ros ) / aa
+                   r_ros = r_ros_ini + b1 * g1 + b2 * g2 + b3 * g3 + b4 * g4
+
+                   dt_ros_sum = dt_ros_sum_ini + dt_ros
+
+                   IF ( dt_ros_sum == dt_ros_sum_ini )  THEN
+                      message_string = 'zero stepsize in Rosenbrock method'
+                      CALL message( 'advec_particles', 'PA0348', 2, 2, 0, 6, 0 )
+                   ENDIF
+!
+!--                Calculate error
+                   err_ros = e1*g1 + e2*g2 + e3*g3 + e4*g4 
+                   errmax  = 0.0
+                   errmax  = MAX( errmax, ABS( err_ros / r_ros_ini ) ) / eps_ros
+!
+!--                Leave loop if accuracy is sufficient, otherwise try again
+!--                with a reduced stepsize
+                   IF ( errmax <= 1.0 )  THEN
+                      EXIT
+                   ELSE
+                      dt_ros = SIGN(                                           &
+                                    MAX( ABS( 0.9 * dt_ros * errmax**pshrnk ), &
+                                         shrnk * ABS( dt_ros ) ),              &
+                                    dt_ros                                     &
+                                   )
+                   ENDIF
+
+                ENDDO  ! loop for stepsize adjustment
+
+!
+!--             Calculate next internal timestep
+                IF ( errmax > errcon )  THEN
+                   dt_ros_next = 0.9 * dt_ros * errmax**pgrow
+                ELSE
+                   dt_ros_next = grow * dt_ros
+                ENDIF
+
+!
+!--             Estimated timestep is reduced if the PALM time step is exceeded
+                dt_ros_last = dt_ros
+                IF ( ( dt_ros_next + dt_ros_sum ) >= dt_3d )  THEN
+                   dt_ros = dt_3d - dt_ros_sum
+                ELSE
+                   dt_ros = dt_ros_next
+                ENDIF
+
+                drdt_m = drdt
+
+             ENDDO
+!
+!--          Store derivative and internal timestep values for next PALM step
+             particles(n)%rvar1 = dt_ros_last
+             particles(n)%rvar2 = dt_ros_next
+             particles(n)%rvar3 = drdt_m
+
+             new_r = r_ros
+!
+!--          Radius should not fall below 1E-8 because Rosenbrock method may
+!--          lead to errors otherwise
+             new_r = MAX( new_r, 1.0E-8 )
+
           ELSE
-             new_r = SQRT( arg )
+!
+!--          Approximation for large radii, where curvature and solution
+!--          effects can be neglected
+             arg = particles(n)%radius**2 + 2.0 * dt_3d *                     &
+                           ( e_a / e_s - 1.0 ) /                              &
+                           ( ( l_d_rv / t_int - 1.0 ) * l_v * rho_l / t_int / &
+                             thermal_conductivity_l +                         &
+                             rho_l * r_v * t_int / diff_coeff_l / e_s )
+             IF ( arg < 1.0E-14 )  THEN
+                new_r = 1.0E-7
+             ELSE
+                new_r = SQRT( arg )
+             ENDIF
+
           ENDIF
 
           delta_r = new_r - particles(n)%radius
-
-! NOTE: this is the correct formula (indipendent of radius).
-!       nevertheless, it give wrong results for large timesteps
-!          d_radius =  1.0 / particles(n)%radius
-!          delta_r = d_radius * ( e_a / e_s - 1.0 - 3.3E-7 / t_int * d_radius + &
-!                                 b_cond * d_radius**3 ) /                      &
-!                    ( ( l_d_rv / t_int - 1.0 ) * l_v * rho_l / t_int /         &
-!                      thermal_conductivity_l +                                 &
-!                      rho_l * r_v * t_int / diff_coeff_l / e_s ) * dt_3d
-
-!          new_r = particles(n)%radius + delta_r
-!          IF ( new_r < 1.0E-7 )  new_r = 1.0E-7
 
 !
@@ -389,5 +554,5 @@
              WRITE( message_string, * ) '#1 k=',k,' j=',j,' i=',i,   &
                           ' e_s=',e_s, ' e_a=',e_a,' t_int=',t_int,  &
-                          ' &d_radius=',d_radius,' delta_r=',delta_r,&
+                          ' &delta_r=',delta_r,                      &
                           ' particle_radius=',particles(n)%radius
              CALL message( 'advec_particles', 'PA0144', 2, 2, -1, 6, 1 )
@@ -1965,12 +2130,12 @@
 !--             [-5.0*sigma, 5.0*sigma] in order to prevent the SGS velocities
 !--             from becoming unrealistically large.
-                particles(n)%speed_x_sgs = SQRT( 2.0 * sgs_wfu_part * e_int ) *&
-                                           ( random_gauss( iran_part, 5.0 )    &
+                particles(n)%rvar1 = SQRT( 2.0 * sgs_wfu_part * e_int ) *   &
+                                           ( random_gauss( iran_part, 5.0 ) &
                                              - 1.0 )
-                particles(n)%speed_y_sgs = SQRT( 2.0 * sgs_wfv_part * e_int ) *&
-                                           ( random_gauss( iran_part, 5.0 )    &
+                particles(n)%rvar2 = SQRT( 2.0 * sgs_wfv_part * e_int ) *   &
+                                           ( random_gauss( iran_part, 5.0 ) &
                                              - 1.0 )
-                particles(n)%speed_z_sgs = SQRT( 2.0 * sgs_wfw_part * e_int ) *&
-                                           ( random_gauss( iran_part, 5.0 )    &
+                particles(n)%rvar3 = SQRT( 2.0 * sgs_wfw_part * e_int ) *   &
+                                           ( random_gauss( iran_part, 5.0 ) &
                                              - 1.0 )
 
@@ -2003,9 +2168,9 @@
                 ENDIF
 
-                particles(n)%speed_x_sgs = particles(n)%speed_x_sgs -          &
-                       fs_int * c_0 * diss_int * particles(n)%speed_x_sgs *    &
+                particles(n)%rvar1 = particles(n)%rvar1 -                      &
+                       fs_int * c_0 * diss_int * particles(n)%rvar1 *          &
                        dt_particle / ( 4.0 * sgs_wfu_part * e_int ) +          &
                        ( 2.0 * sgs_wfu_part * de_dt *                          &
-                               particles(n)%speed_x_sgs /                      &
+                               particles(n)%rvar1 /                            &
                          ( 2.0 * sgs_wfu_part * e_int ) + de_dx_int            &
                        ) * dt_particle / 2.0                        +          &
@@ -2014,9 +2179,9 @@
                        SQRT( dt_particle )
 
-                particles(n)%speed_y_sgs = particles(n)%speed_y_sgs -          &
-                       fs_int * c_0 * diss_int * particles(n)%speed_y_sgs *    &
+                particles(n)%rvar2 = particles(n)%rvar2 -                      &
+                       fs_int * c_0 * diss_int * particles(n)%rvar2 *          &
                        dt_particle / ( 4.0 * sgs_wfv_part * e_int ) +          &
                        ( 2.0 * sgs_wfv_part * de_dt *                          &
-                               particles(n)%speed_y_sgs /                      &
+                               particles(n)%rvar2 /                            &
                          ( 2.0 * sgs_wfv_part * e_int ) + de_dy_int            &
                        ) * dt_particle / 2.0                        +          &
@@ -2025,9 +2190,9 @@
                        SQRT( dt_particle )
 
-                particles(n)%speed_z_sgs = particles(n)%speed_z_sgs -          &
-                       fs_int * c_0 * diss_int * particles(n)%speed_z_sgs *    &
+                particles(n)%rvar3 = particles(n)%rvar3 -          &
+                       fs_int * c_0 * diss_int * particles(n)%rvar3 *    &
                        dt_particle / ( 4.0 * sgs_wfw_part * e_int ) +          &
                        ( 2.0 * sgs_wfw_part * de_dt *                          &
-                               particles(n)%speed_z_sgs /                      &
+                               particles(n)%rvar3 /                      &
                          ( 2.0 * sgs_wfw_part * e_int ) + de_dz_int            &
                        ) * dt_particle / 2.0                        +          &
@@ -2038,7 +2203,7 @@
              ENDIF
 
-             u_int = u_int + particles(n)%speed_x_sgs
-             v_int = v_int + particles(n)%speed_y_sgs
-             w_int = w_int + particles(n)%speed_z_sgs
+             u_int = u_int + particles(n)%rvar1
+             v_int = v_int + particles(n)%rvar2
+             w_int = w_int + particles(n)%rvar3
 
 !
@@ -3378,6 +3543,6 @@
                 particles(n)%speed_z = -particles(n)%speed_z
                 IF ( use_sgs_for_particles  .AND. &
-                     particles(n)%speed_z_sgs > 0.0 )  THEN
-                   particles(n)%speed_z_sgs = -particles(n)%speed_z_sgs
+                     particles(n)%rvar3 > 0.0 )  THEN
+                   particles(n)%rvar3 = -particles(n)%rvar3
                 ENDIF
                 IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
@@ -3403,6 +3568,6 @@
                 particles(n)%speed_z = -particles(n)%speed_z
                 IF ( use_sgs_for_particles  .AND. &
-                     particles(n)%speed_z_sgs < 0.0 )  THEN
-                   particles(n)%speed_z_sgs = -particles(n)%speed_z_sgs
+                     particles(n)%rvar3 < 0.0 )  THEN
+                   particles(n)%rvar3 = -particles(n)%rvar3
                 ENDIF
                 IF ( use_particle_tails  .AND.  nn /= 0 )  THEN
@@ -4187,14 +4352,14 @@
 
           particles_temp => part_1
-          part_1 = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
-                                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
-                                  0.0, 0, 0, 0, 0 )
+!          part_1 = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+!                                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+!                                  0.0, 0, 0, 0, 0 )
 
        CASE ( 1 )
 
           particles_temp => part_2
-          part_2 = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
-                                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
-                                  0.0, 0, 0, 0, 0 )
+!          part_2 = particle_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+!                                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
+!                                  0.0, 0, 0, 0, 0 )
 
     END SELECT
Index: /palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- /palm/trunk/SOURCE/check_parameters.f90	(revision 823)
+++ /palm/trunk/SOURCE/check_parameters.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-!
+! check for curvature_solution_effects
 !
 ! Former revisions:
@@ -165,4 +165,5 @@
 
     USE arrays_3d
+    USE cloud_parameters
     USE constants
     USE control_parameters
@@ -660,4 +661,10 @@
     ENDIF
 
+    IF ( use_sgs_for_particles  .AND.  curvature_solution_effects )  THEN
+       message_string = 'use_sgs_for_particles = .TRUE. not allowed with ' // &
+                        'curvature_solution_effects = .TRUE.'
+       CALL message( 'check_parameters', 'PA0349', 1, 2, 0, 6, 0 )
+    ENDIF
+
 !
 !-- Timestep schemes:
Index: /palm/trunk/SOURCE/data_output_ptseries.f90
===================================================================
--- /palm/trunk/SOURCE/data_output_ptseries.f90	(revision 823)
+++ /palm/trunk/SOURCE/data_output_ptseries.f90	(revision 824)
@@ -4,5 +4,6 @@
 ! Current revisions:
 ! -----------------
-! 
+! mean particle radius added as output quantity.
+! particle attributes speed_x|y|z_sgs renamed rvar1|2|3.
 !
 ! Former revisions:
@@ -87,10 +88,7 @@
        pts_value_l(0,7)  = pts_value_l(0,7) + particles(n)%speed_y     ! mean v
        pts_value_l(0,8)  = pts_value_l(0,8) + particles(n)%speed_z     ! mean w
-       pts_value_l(0,9)  = pts_value_l(0,9) + &
-                                            particles(n)%speed_x_sgs ! mean sgsu
-       pts_value_l(0,10) = pts_value_l(0,10) + &
-                                            particles(n)%speed_y_sgs ! mean sgsv
-       pts_value_l(0,11) = pts_value_l(0,11) + &
-                                            particles(n)%speed_z_sgs ! mean sgsw
+       pts_value_l(0,9)  = pts_value_l(0,9) + particles(n)%rvar1     ! mean sgsu
+       pts_value_l(0,10) = pts_value_l(0,10) + particles(n)%rvar2    ! mean sgsv
+       pts_value_l(0,11) = pts_value_l(0,11) + particles(n)%rvar3    ! mean sgsw
        IF ( particles(n)%speed_z > 0.0 )  THEN
           pts_value_l(0,12) = pts_value_l(0,12) + 1.0  ! # of upward moving prts
@@ -101,6 +99,7 @@
                                             particles(n)%speed_z ! mean w down
        ENDIF
-       pts_value_l(0,15) = number_of_particles
+       pts_value_l(0,15) = pts_value_l(0,15) + particles(n)%radius
        pts_value_l(0,16) = number_of_particles
+       pts_value_l(0,17) = number_of_particles
 
 !
@@ -120,7 +119,7 @@
           pts_value_l(j,7)  = pts_value_l(j,7)  + particles(n)%speed_y
           pts_value_l(j,8)  = pts_value_l(j,8)  + particles(n)%speed_z
-          pts_value_l(j,9)  = pts_value_l(j,9)  + particles(n)%speed_x_sgs
-          pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%speed_y_sgs
-          pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%speed_z_sgs
+          pts_value_l(j,9)  = pts_value_l(j,9)  + particles(n)%rvar1
+          pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%rvar2
+          pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%rvar3
           IF ( particles(n)%speed_z > 0.0 )  THEN
              pts_value_l(j,12) = pts_value_l(j,12) + 1.0
@@ -129,6 +128,7 @@
              pts_value_l(j,14) = pts_value_l(j,14) + particles(n)%speed_z
           ENDIF
-          pts_value_l(j,15) = pts_value_l(j,15) + 1.0
+          pts_value_l(j,15) = pts_value_l(j,15) + particles(n)%radius
           pts_value_l(j,16) = pts_value_l(j,16) + 1.0
+          pts_value_l(j,17) = pts_value_l(j,17) + 1.0
 
        ENDIF
@@ -142,14 +142,14 @@
 
     IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
-    CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 14*inum, MPI_REAL, &
+    CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 15*inum, MPI_REAL, &
                         MPI_SUM, comm2d, ierr )
     IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
-    CALL MPI_ALLREDUCE( pts_value_l(0,15), pts_value(0,15), inum, MPI_REAL, &
+    CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, &
                         MPI_MAX, comm2d, ierr )
     IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
-    CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, &
+    CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum, MPI_REAL, &
                         MPI_MIN, comm2d, ierr )
 #else
-    pts_value(:,1:16) = pts_value_l(:,1:16)
+    pts_value(:,1:17) = pts_value_l(:,1:17)
 #endif
 
@@ -167,5 +167,5 @@
        IF ( pts_value(j,1) > 0.0 )  THEN
 
-          pts_value(j,2:14) = pts_value(j,2:14) / pts_value(j,1)
+          pts_value(j,2:15) = pts_value(j,2:15) / pts_value(j,1)
           IF ( pts_value(j,12) > 0.0  .AND.  pts_value(j,12) < 1.0 )  THEN
              pts_value(j,13) = pts_value(j,13) / pts_value(j,12)
@@ -186,21 +186,21 @@
     DO  n = 1, number_of_particles
 
-       pts_value_l(0,17) = pts_value_l(0,17) + ( particles(n)%x - &
+       pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%x - &
                            particles(n)%origin_x - pts_value(0,2) )**2 ! x*2
-       pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%y - &
+       pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%y - &
                            particles(n)%origin_y - pts_value(0,3) )**2 ! y*2
-       pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%z - &
+       pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%z - &
                            particles(n)%origin_z - pts_value(0,4) )**2 ! z*2
-       pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%speed_x - &
+       pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_x - &
                                                pts_value(0,6) )**2     ! u*2
-       pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_y - &
+       pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_y - &
                                                pts_value(0,7) )**2     ! v*2
-       pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_z - &
+       pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_z - &
                                                pts_value(0,8) )**2     ! w*2
-       pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_x_sgs - &
+       pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%rvar1 - &
                                                pts_value(0,9) )**2     ! u"2
-       pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%speed_y_sgs - &
+       pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%rvar2 - &
                                                pts_value(0,10) )**2    ! v"2
-       pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%speed_z_sgs - &
+       pts_value_l(0,26) = pts_value_l(0,26) + ( particles(n)%rvar3 - &
                                                pts_value(0,11) )**2    ! w"2
 !
@@ -209,21 +209,21 @@
           j = particles(n)%group
 
-          pts_value_l(j,17) = pts_value_l(j,17) + ( particles(n)%x - &
+          pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%x - &
                               particles(n)%origin_x - pts_value(j,2) )**2
-          pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%y - &
+          pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%y - &
                               particles(n)%origin_y - pts_value(j,3) )**2
-          pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%z - &
+          pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%z - &
                               particles(n)%origin_z - pts_value(j,4) )**2
-          pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%speed_x - &
+          pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_x - &
                                                   pts_value(j,6) )**2
-          pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_y - &
+          pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_y - &
                                                   pts_value(j,7) )**2
-          pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_z - &
+          pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_z - &
                                                   pts_value(j,8) )**2
-          pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_x_sgs - &
+          pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%rvar1 -   &
                                                   pts_value(j,9) )**2
-          pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%speed_y_sgs - &
+          pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%rvar2 -   &
                                                   pts_value(j,10) )**2
-          pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%speed_z_sgs - &
+          pts_value_l(j,26) = pts_value_l(j,26) + ( particles(n)%rvar3 -   &
                                                   pts_value(j,11) )**2
        ENDIF
@@ -231,9 +231,9 @@
     ENDDO
 
-    pts_value_l(0,26) = ( number_of_particles - pts_value(0,1) / numprocs )**2
+    pts_value_l(0,27) = ( number_of_particles - pts_value(0,1) / numprocs )**2
                                                  ! variance of particle numbers
     IF ( number_of_particle_groups > 1 )  THEN
        DO  j = 1, number_of_particle_groups
-          pts_value_l(j,26) = ( pts_value_l(j,1) - &
+          pts_value_l(j,27) = ( pts_value_l(j,1) - &
                                 pts_value(j,1) / numprocs )**2
        ENDDO
@@ -246,8 +246,8 @@
 
     IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
-    CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum*10, MPI_REAL, &
+    CALL MPI_ALLREDUCE( pts_value_l(0,18), pts_value(0,18), inum*10, MPI_REAL, &
                         MPI_SUM, comm2d, ierr )
 #else
-    pts_value(:,17:26) = pts_value_l(:,17:26)
+    pts_value(:,18:27) = pts_value_l(:,18:27)
 #endif
 
@@ -264,7 +264,7 @@
 
        IF ( pts_value(j,1) > 0.0 )  THEN
-          pts_value(j,17:25) = pts_value(j,17:25) / pts_value(j,1)
-       ENDIF
-       pts_value(j,26) = pts_value(j,26) / numprocs
+          pts_value(j,18:26) = pts_value(j,18:26) / pts_value(j,1)
+       ENDIF
+       pts_value(j,27) = pts_value(j,27) / numprocs
 
     ENDDO
Index: /palm/trunk/SOURCE/header.f90
===================================================================
--- /palm/trunk/SOURCE/header.f90	(revision 823)
+++ /palm/trunk/SOURCE/header.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! Output of cloud physics parameters/quantities complemented and restructured
 ! 
 ! Former revisions:
@@ -338,7 +338,4 @@
        ELSE
           WRITE ( io, 130 )
-          WRITE ( io, 131 )
-          IF ( radiation )      WRITE ( io, 132 )
-          IF ( precipitation )  WRITE ( io, 133 )
        ENDIF
     ENDIF
@@ -1470,4 +1467,18 @@
 
 !
+!-- Cloud physcis parameters / quantities / numerical methods
+    WRITE ( io, 430 )
+    IF ( humidity .AND. .NOT. cloud_physics .AND. .NOT. cloud_droplets)  THEN
+       WRITE ( io, 431 )
+    ELSEIF ( humidity  .AND.  cloud_physics )  THEN
+       WRITE ( io, 432 )
+       IF ( radiation )      WRITE ( io, 132 )
+       IF ( precipitation )  WRITE ( io, 133 )
+    ELSEIF ( humidity  .AND.  cloud_droplets )  THEN
+       WRITE ( io, 433 )
+       IF ( curvature_solution_effects )  WRITE ( io, 434 )
+    ENDIF
+
+!
 !-- LES / turbulence parameters
     WRITE ( io, 450 )
@@ -1521,5 +1532,5 @@
        IF ( particles_per_point > 1 )  WRITE ( io, 489 )  particles_per_point
        WRITE ( io, 495 )  total_number_of_particles
-       IF ( maximum_number_of_tailpoints /= 0 )  THEN
+       IF ( use_particle_tails  .AND.  maximum_number_of_tailpoints /= 0 )  THEN
           WRITE ( io, 483 )  maximum_number_of_tailpoints
           IF ( minimum_tailpoint_distance /= 0 )  THEN
@@ -1647,8 +1658,7 @@
 129 FORMAT (' --> Additional prognostic equation for the specific humidity')
 130 FORMAT (' --> Additional prognostic equation for the total water content')
-131 FORMAT (' --> Parameterization of condensation processes via (0%-or100%)')
-132 FORMAT (' --> Parameterization of long-wave radiation processes via'/ &
+132 FORMAT ('     Parameterization of long-wave radiation processes via'/ &
             '     effective emissivity scheme')
-133 FORMAT (' --> Precipitation parameterization via Kessler-Scheme')
+133 FORMAT ('     Precipitation parameterization via Kessler-Scheme')
 134 FORMAT (' --> Additional prognostic equation for a passive scalar')
 135 FORMAT (' --> Solve perturbation pressure via multigrid method (', &
@@ -1934,12 +1944,23 @@
 427 FORMAT (/'    Initial wind profiles (u,v) are interpolated from given'// &
                   ' profiles')
+430 FORMAT (//' Cloud physics quantities / methods:'/ &
+              ' ----------------------------------'/)
+431 FORMAT ('    Humidity is treated as purely passive scalar (no condensati', &
+                 'on)')
+432 FORMAT ('    Bulk scheme with liquid water potential temperature and'/ &
+            '    total water content is used.'/ &
+            '    Condensation is parameterized via 0% - or 100% scheme.')
+433 FORMAT ('    Cloud droplets treated explicitly using the Lagrangian part', &
+                 'icle model')
+434 FORMAT ('    Curvature and solution effecs are considered for growth of', &
+                 ' droplets < 1.0E-6 m')
 450 FORMAT (//' LES / Turbulence quantities:'/ &
               ' ---------------------------'/)
-451 FORMAT ('   Diffusion coefficients are constant:'/ &
-            '   Km = ',F6.2,' m**2/s   Kh = ',F6.2,' m**2/s   Pr = ',F5.2)
-452 FORMAT ('   Mixing length is limited to the Prandtl mixing lenth.')
-453 FORMAT ('   Mixing length is limited to ',F4.2,' * z')
-454 FORMAT ('   TKE is not allowed to fall below ',E9.2,' (m/s)**2')
-455 FORMAT ('   initial TKE is prescribed as ',E9.2,' (m/s)**2')
+451 FORMAT ('    Diffusion coefficients are constant:'/ &
+            '    Km = ',F6.2,' m**2/s   Kh = ',F6.2,' m**2/s   Pr = ',F5.2)
+452 FORMAT ('    Mixing length is limited to the Prandtl mixing lenth.')
+453 FORMAT ('    Mixing length is limited to ',F4.2,' * z')
+454 FORMAT ('    TKE is not allowed to fall below ',E9.2,' (m/s)**2')
+455 FORMAT ('    initial TKE is prescribed as ',E9.2,' (m/s)**2')
 470 FORMAT (//' Actions during the simulation:'/ &
               ' -----------------------------'/)
Index: /palm/trunk/SOURCE/init_cloud_physics.f90
===================================================================
--- /palm/trunk/SOURCE/init_cloud_physics.f90	(revision 823)
+++ /palm/trunk/SOURCE/init_cloud_physics.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! calculation of b_cond replaced by calculation of bfactor
 !
 ! Former revisions:
@@ -34,4 +34,5 @@
     USE arrays_3d
     USE cloud_parameters
+    USE constants
     USE control_parameters
     USE grid_variables
@@ -46,16 +47,12 @@
 
 !
-!-- Compute frequently used parameters
+!-- Calculate frequently used parameters
     l_d_cp = l_v / cp
     l_d_r  = l_v / r_d
     l_d_rv = l_v / r_v
-
 !
-!-- Constant b in equation for droplet growth by condensation / evaporation.
-!-- Factor 1E-3 is needed because formula is in cgs units
-    mass_of_solute = 1.0E-17            ! in kg
-    molecular_weight_of_solute = 58.5   ! NaCl
-    b_cond = 4.3 * 2.0 * mass_of_solute / molecular_weight_of_solute * 1.0E-6
-
+!-- Calculate factor used in equation for droplet growth by condensation
+    bfactor = 3.0 * vanthoff * mass_of_solute * molecular_weight_of_water &
+              / ( 4.0 * pi * rho_l * molecular_weight_of_solute )
 !
 !-- Calculate:
Index: /palm/trunk/SOURCE/init_particles.f90
===================================================================
--- /palm/trunk/SOURCE/init_particles.f90	(revision 823)
+++ /palm/trunk/SOURCE/init_particles.f90	(revision 824)
@@ -4,5 +4,6 @@
 ! Current revisions:
 ! -----------------
-! array particles implemented as pointer
+! particle attributes speed_x|y|z_sgs renamed rvar1|2|3.
+! array particles implemented as pointer.
 !
 ! Former revisions:
@@ -63,4 +64,5 @@
 
     USE arrays_3d
+    USE cloud_parameters
     USE control_parameters
     USE dvrp_variables
@@ -316,10 +318,21 @@
                             particles(n)%dvrp_psize    = dvrp_psize
                             particles(n)%e_m           = 0.0
+                            IF ( curvature_solution_effects )  THEN
+!
+!--                            Initial values (internal timesteps, derivative)
+!--                            for Rosenbrock method
+                               particles(n)%rvar1      = 1.0E-12
+                               particles(n)%rvar2      = 1.0E-3
+                               particles(n)%rvar3      = -9999999.9
+                            ELSE
+!
+!--                            Initial values for SGS velocities
+                               particles(n)%rvar1      = 0.0
+                               particles(n)%rvar2      = 0.0
+                               particles(n)%rvar3      = 0.0
+                            ENDIF
                             particles(n)%speed_x       = 0.0
-                            particles(n)%speed_x_sgs   = 0.0
                             particles(n)%speed_y       = 0.0
-                            particles(n)%speed_y_sgs   = 0.0
                             particles(n)%speed_z       = 0.0
-                            particles(n)%speed_z_sgs   = 0.0
                             particles(n)%origin_x      = pos_x
                             particles(n)%origin_y      = pos_y
Index: /palm/trunk/SOURCE/modules.f90
===================================================================
--- /palm/trunk/SOURCE/modules.f90	(revision 823)
+++ /palm/trunk/SOURCE/modules.f90	(revision 824)
@@ -4,5 +4,8 @@
 ! Current revisions:
 ! -----------------
-!
+! +bfactor, curvature_solution_effects, eps_ros, molecular_weight_of_water,
+! vanthoff, -b_cond in cloud_parameters,
+! dopts_num increased to 27, particle attributes speed_x|y|z_sgs renamed
+! rvar1|2|3
 !
 ! Former revisions:
@@ -332,5 +335,5 @@
     REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  rif_wall
 
-    REAL, DIMENSION(:,:,:), ALLOCATABLE :: var_x, var_y, var_z, gamma_x,        &
+    REAL, DIMENSION(:,:,:), ALLOCATABLE :: var_x, var_y, var_z, gamma_x,       &
                                            gamma_y, gamma_z
 
@@ -369,9 +372,16 @@
 !------------------------------------------------------------------------------!
 
-    REAL  ::  b_cond, cp = 1005.0, diff_coeff_l = 0.23E-4,                     &
-              effective_coll_efficiency, l_d_cp, l_d_r, l_d_rv, l_v = 2.5E+06, &
-              mass_of_solute, molecular_weight_of_solute,                      &
+    LOGICAL ::  curvature_solution_effects = .FALSE.
+
+    REAL  ::  bfactor, cp = 1005.0, diff_coeff_l = 0.23E-4,                    &
+              effective_coll_efficiency,                                       &
+              eps_ros = 1.0E-4,             &  ! accuracy of Rosenbrock method
+              l_d_cp, l_d_r, l_d_rv, l_v = 2.5E+06,                            &
+              mass_of_solute = 1.0E-17,              & ! soluted NaCl in kg
+              molecular_weight_of_solute = 0.05844,  & ! mol. mass NaCl (kg/mol)
+              molecular_weight_of_water = 0.01801528,& ! mol. mass H2O (kg/mol)
               prec_time_const = 0.001, ql_crit = 0.0005, rho_l = 1.0E3,        &
-              r_d = 287.0, r_v = 461.51, thermal_conductivity_l = 2.43E-2
+              r_d = 287.0, r_v = 461.51, thermal_conductivity_l = 2.43E-2,     &
+              vanthoff = 2.0                        ! van't Hoff factor (NaCl)
 
     REAL, DIMENSION(:), ALLOCATABLE   ::  pt_d_t, t_d_pt
@@ -1037,5 +1047,5 @@
 #endif
 
-    INTEGER, PARAMETER ::  dopr_norm_num = 7, dopts_num = 26, dots_max = 100
+    INTEGER, PARAMETER ::  dopr_norm_num = 7, dopts_num = 27, dots_max = 100
 
     INTEGER ::  dots_num = 23
@@ -1052,14 +1062,14 @@
           (/ 'tnpt   ', 'x_     ', 'y_     ', 'z_     ', 'z_abs  ', 'u      ', &
              'v      ', 'w      ', 'u"     ', 'v"     ', 'w"     ', 'npt_up ', &
-             'w_up   ', 'w_down ', 'npt_max', 'npt_min', 'x*2    ', 'y*2    ', &
-             'z*2    ', 'u*2    ', 'v*2    ', 'w*2    ', 'u"2    ', 'v"2    ', &
-             'w"2    ', 'npt*2  ' /)
+             'w_up   ', 'w_down ', 'radius ', 'npt_max', 'npt_min', 'x*2    ', &
+             'y*2    ', 'z*2    ', 'u*2    ', 'v*2    ', 'w*2    ', 'u"2    ', &
+             'v"2    ', 'w"2    ', 'npt*2  ' /)
 
     CHARACTER (LEN=7), DIMENSION(dopts_num) :: dopts_unit = &
           (/ 'number ', 'm      ', 'm      ', 'm      ', 'm      ', 'm/s    ', &
              'm/s    ', 'm/s    ', 'm/s    ', 'm/s    ', 'm/s    ', 'number ', &
-             'm/s    ', 'm/s    ', 'number ', 'number ', 'm2     ', 'm2     ', &
-             'm2     ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', &
-             'm2/s2  ', 'number2' /)
+             'm/s    ', 'm/s    ', 'm      ', 'number ', 'number ', 'm2     ', &
+             'm2     ', 'm2     ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', 'm2/s2  ', &
+             'm2/s2  ', 'm2/s2  ', 'number2' /)
 
     CHARACTER (LEN=7), DIMENSION(dots_max) :: dots_label = &
@@ -1230,6 +1240,6 @@
        SEQUENCE
        REAL    ::  age, age_m, dt_sum, dvrp_psize, e_m, origin_x, origin_y, &
-                   origin_z, radius, speed_x, speed_x_sgs, speed_y,         &
-                   speed_y_sgs, speed_z, speed_z_sgs, weight_factor, x, y, z
+                   origin_z, radius, rvar1, rvar2, rvar3, speed_x, speed_y, &
+                   speed_z, weight_factor, x, y, z
        INTEGER ::  color, group, tailpoints, tail_id
     END TYPE particle_type
Index: /palm/trunk/SOURCE/parin.f90
===================================================================
--- /palm/trunk/SOURCE/parin.f90	(revision 823)
+++ /palm/trunk/SOURCE/parin.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-!
+! +curvature_solution_effects in inipar
 !
 ! Former revisions:
@@ -122,4 +122,5 @@
     USE arrays_3d
     USE averaging
+    USE cloud_parameters
     USE control_parameters
     USE dvrp_variables
@@ -145,5 +146,6 @@
              canyon_wall_south, cfl_factor, cloud_droplets, cloud_physics, &
              collective_wait, conserve_volume_flow, conserve_volume_flow_mode, &
-             coupling_start_time, cthf, cut_spline_overshoot, &
+             coupling_start_time, cthf, curvature_solution_effects, &
+             cut_spline_overshoot, &
              cycle_mg, damp_level_1d, dissipation_1d, & !dissipation_control, &
              dp_external, dp_level_b, dp_smooth, dpdxy, drag_coefficient, &
Index: /palm/trunk/SOURCE/particle_boundary_conds.f90
===================================================================
--- /palm/trunk/SOURCE/particle_boundary_conds.f90	(revision 823)
+++ /palm/trunk/SOURCE/particle_boundary_conds.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! particle attributes speed_x|y|z_sgs renamed rvar1|2|3.
 !
 ! Former revisions:
@@ -549,5 +549,5 @@
 
           IF ( use_sgs_for_particles )  THEN
-             particles(n)%speed_z_sgs = - particles(n)%speed_z_sgs
+             particles(n)%rvar3 = - particles(n)%rvar3
           ENDIF
           reflect_z = .FALSE.
@@ -559,5 +559,5 @@
 
           IF ( use_sgs_for_particles )  THEN
-             particles(n)%speed_y_sgs = - particles(n)%speed_y_sgs
+             particles(n)%rvar2 = - particles(n)%rvar2
           ENDIF
           reflect_y = .FALSE.
@@ -569,5 +569,5 @@
 
           IF ( use_sgs_for_particles )  THEN 
-             particles(n)%speed_x_sgs = - particles(n)%speed_x_sgs
+             particles(n)%rvar1 = - particles(n)%rvar1
           ENDIF
           reflect_x = .FALSE.
Index: /palm/trunk/SOURCE/read_var_list.f90
===================================================================
--- /palm/trunk/SOURCE/read_var_list.f90	(revision 823)
+++ /palm/trunk/SOURCE/read_var_list.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! ------------------
-! 
+! +curvature_solution_effects
 !
 ! Former revisions:
@@ -99,4 +99,5 @@
     USE arrays_3d
     USE averaging
+    USE cloud_parameters
     USE control_parameters
     USE grid_variables
@@ -293,4 +294,6 @@
           CASE ( 'current_timestep_number' )
              READ ( 13 )  current_timestep_number
+          CASE ( 'curvature_solution_effects' )
+             READ ( 13 )  curvature_solution_effects
           CASE ( 'cut_spline_overshoot' )
              READ ( 13 )  cut_spline_overshoot
Index: /palm/trunk/SOURCE/write_var_list.f90
===================================================================
--- /palm/trunk/SOURCE/write_var_list.f90	(revision 823)
+++ /palm/trunk/SOURCE/write_var_list.f90	(revision 824)
@@ -4,5 +4,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! +curvature_solution_effects
 !
 ! Former revisions:
@@ -89,4 +89,5 @@
     USE arrays_3d
     USE averaging
+    USE cloud_parameters
     USE control_parameters
     USE grid_variables
@@ -213,4 +214,6 @@
     WRITE ( 14 )  'current_timestep_number       '
     WRITE ( 14 )  current_timestep_number
+    WRITE ( 14 )  'curvature_solution_effects    '
+    WRITE ( 14 )  curvature_solution_effects
     WRITE ( 14 )  'cthf                          '
     WRITE ( 14 )  cthf
