Index: palm/trunk/SOURCE/basic_constants_and_equations_mod.f90
===================================================================
--- palm/trunk/SOURCE/basic_constants_and_equations_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/basic_constants_and_equations_mod.f90	(revision 3361)
@@ -72,4 +72,5 @@
     REAL(wp), PARAMETER ::  lv_d_cp = l_v / c_p   !< precomputed l_v / c_p
     REAL(wp), PARAMETER ::  lv_d_rd = l_v / r_d   !< precomputed l_v / r_d
+    REAL(wp), PARAMETER ::  rd_d_rv = 0.622_wp !r_d / r_v  !< precomputed r_d / r_v
     REAL(wp), PARAMETER ::  rd_d_cp = 0.286_wp !r_d / c_p  !< precomputed r_d / c_p
     REAL(wp), PARAMETER ::  cp_d_rd = 1.0_wp/0.286_wp !c_p / r_d  !< precomputed c_p / r_d
Index: palm/trunk/SOURCE/biometeorology_mod.f90
===================================================================
--- palm/trunk/SOURCE/biometeorology_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/biometeorology_mod.f90	(revision 3361)
@@ -45,4 +45,7 @@
     USE arrays_3d,                                                             &
         ONLY:  hyp, p, pt, q, u, v, w
+
+    USE basic_constants_and_equations_mod,                                     &
+        ONLY:  rd_d_rv
 
     USE kinds  !< to set precision of INTEGER and REAL arrays according to PALM
@@ -231,5 +234,5 @@
                    CALL calculate_pet_static(                                      &
                            pt(k,j,i) * (hyp(k) / 100000.0_wp )**0.286_wp + t_zero, &  !< Air temperature (Â°C)
-                           q(k,j,i) * hyp(k) / ( q(k,j,i) + 0.622_wp ) / 100._wp,  &  !< Vapor pressure (hPa)
+                           q(k,j,i) * hyp(k) / ( q(k,j,i) + rd_d_rv ) / 100._wp,   &  !< Vapor pressure (hPa)
                            SQRT( MAX( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 +  &
                                       ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 +  &
@@ -380,5 +383,5 @@
                     CALL calculate_pet_static(                                      &
                        pt(k,j,i) * (hyp(k) / 100000.0_wp )**0.286_wp + t_zero, &  !< Air temperature (Â°C)
-                       q(k,j,i) * hyp(k) / ( q(k,j,i) + 0.622_wp ) / 100.0_wp, &  !< Vapor pressure (hPa)
+                       q(k,j,i) * hyp(k) / ( q(k,j,i) + rd_d_rv ) / 100.0_wp,  &  !< Vapor pressure (hPa)
                        SQRT( MAX( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 +  &
                                   ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 +  &
Index: palm/trunk/SOURCE/bulk_cloud_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 3361)
@@ -186,5 +186,5 @@
                molecular_weight_of_water, pi, rho_l, rho_s, r_d, r_v, vanthoff,&
                exner_function, exner_function_invers, ideal_gas_law_rho,       &
-               ideal_gas_law_rho_pt, barometric_formula
+               ideal_gas_law_rho_pt, barometric_formula, rd_d_rv
 
     USE control_parameters,                                                    &
@@ -3308,6 +3308,6 @@
 !
 !--       Computation of saturation mixing ratio:
-          q_s   = 0.622_wp * e_s / ( hyp(k) -  e_s )
-          alpha = 0.622_wp * lv_d_rd * lv_d_cp / ( t_l * t_l )
+          q_s   = rd_d_rv * e_s / ( hyp(k) -  e_s )
+          alpha = rd_d_rv * lv_d_rd * lv_d_cp / ( t_l * t_l )
           q_s   = q_s * ( 1.0_wp + alpha * q(k,j,i) ) /                        &
                         ( 1.0_wp + alpha * q_s )
@@ -3423,6 +3423,6 @@
 !
 !--       Computation of saturation mixing ratio:
-          q_s   = 0.622_wp * e_s / ( hyp(k) - e_s )
-          alpha = 0.622_wp * lv_d_rd * lv_d_cp / ( t_l * t_l )
+          q_s   = rd_d_rv * e_s / ( hyp(k) - e_s )
+          alpha = rd_d_rv * lv_d_rd * lv_d_cp / ( t_l * t_l )
           q_s   = q_s * ( 1.0_wp + alpha * q(k,j,i) ) /               &
                         ( 1.0_wp + alpha * q_s )
@@ -3803,6 +3803,6 @@
 !
 !--          Computation of saturation mixing ratio:
-             q_s   = 0.622_wp * e_s / ( hyp(k) - e_s )
-             alpha = 0.622_wp * lv_d_rd * lv_d_cp / ( t_l * t_l )
+             q_s   = rd_d_rv * e_s / ( hyp(k) - e_s )
+             alpha = rd_d_rv * lv_d_rd * lv_d_cp / ( t_l * t_l )
              q_s   = q_s * ( 1.0_wp + alpha * q(k,j,i) ) / ( 1.0_wp + alpha * q_s )
 !
@@ -4247,8 +4247,8 @@
 !
 !--    Computation of saturation mixing ratio:
-       q_s   = 0.622_wp * e_s / ( hyp(k) - e_s )
+       q_s   = rd_d_rv * e_s / ( hyp(k) - e_s )
 !
 !--    Correction factor
-       alpha = 0.622_wp * lv_d_rd * lv_d_cp / ( t_l * t_l )
+       alpha = rd_d_rv * lv_d_rd * lv_d_cp / ( t_l * t_l )
 !
 !--    Correction of the approximated value
Index: palm/trunk/SOURCE/land_surface_model_mod.f90
===================================================================
--- palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 3361)
@@ -486,5 +486,5 @@
 
     USE basic_constants_and_equations_mod,                                     &
-        ONLY:  c_p, g, lv_d_cp, l_v, magnus, rho_l, r_d, r_v
+        ONLY:  c_p, g, lv_d_cp, l_v, magnus, rho_l, r_d, r_v, rd_d_rv
 
     USE calc_mean_profile_mod,                                                 &
@@ -1999,5 +1999,5 @@
 !
 !--       Calculate vapour pressure
-          e  = surf%qv1(m) * surface_pressure / ( surf%qv1(m) + 0.622_wp )
+          e  = surf%qv1(m) * surface_pressure / ( surf%qv1(m) + rd_d_rv )
           f3 = EXP ( - surf%g_d(m) * (e_s - e) )
        ELSE
@@ -2040,5 +2040,5 @@
 !
 !--    Calculate saturation water vapor mixing ratio
-       q_s = 0.622_wp * e_s / ( surface_pressure - e_s )
+       q_s = rd_d_rv * e_s / ( surface_pressure - e_s )
 !
 !--    In case of dewfall, set evapotranspiration to zero
@@ -2079,5 +2079,5 @@
                        / ( surf_t_surface%var_1d(m) - 29.65_wp)**2 )
 
-       dq_s_dt = 0.622_wp * e_s_dt / ( surface_pressure - e_s_dt )
+       dq_s_dt = rd_d_rv * e_s_dt / ( surface_pressure - e_s_dt )
 !
 !--    Calculate net radiation radiation without longwave outgoing flux because
@@ -2350,5 +2350,5 @@
 !
 !--       Calculate mixing ratio at saturation
-          q_s = 0.622_wp * e_s / ( surface_pressure - e_s )
+          q_s = rd_d_rv * e_s / ( surface_pressure - e_s )
 
           resistance = surf%r_a(m) / ( surf%r_a(m) + surf%r_s(m) + 1E-5_wp )
Index: palm/trunk/SOURCE/lpm_droplet_condensation.f90
===================================================================
--- palm/trunk/SOURCE/lpm_droplet_condensation.f90	(revision 3359)
+++ palm/trunk/SOURCE/lpm_droplet_condensation.f90	(revision 3361)
@@ -143,5 +143,5 @@
     USE basic_constants_and_equations_mod,                                     &
         ONLY:  l_v, molecular_weight_of_solute, molecular_weight_of_water,     &
-               magnus, pi, rho_l, rho_s, r_v, vanthoff
+               magnus, pi, rho_l, rho_s, rd_d_rv, r_v, vanthoff
 
     USE control_parameters,                                                    &
@@ -223,5 +223,5 @@
 !
 !-- Current vapor pressure
-    e_a = q(kp,jp,ip) * hyp(kp) / ( q(kp,jp,ip) + 0.622_wp )
+    e_a = q(kp,jp,ip) * hyp(kp) / ( q(kp,jp,ip) + rd_d_rv )
 !
 !-- Thermal conductivity for water (from Rogers and Yau, Table 7.1)
Index: palm/trunk/SOURCE/lpm_init.f90
===================================================================
--- palm/trunk/SOURCE/lpm_init.f90	(revision 3359)
+++ palm/trunk/SOURCE/lpm_init.f90	(revision 3361)
@@ -1061,5 +1061,5 @@
     USE basic_constants_and_equations_mod,                                     &
         ONLY: molecular_weight_of_solute, molecular_weight_of_water, magnus,   &
-              pi, rho_l, r_v, rho_s, vanthoff
+              pi, rd_d_rv, rho_l, r_v, rho_s, vanthoff
 
     USE kinds
@@ -1201,5 +1201,5 @@
 
              e_s = magnus( t_int )
-             e_a = q(kp,jp,ip) * hyp(kp) / ( q(kp,jp,ip) + 0.622_wp )
+             e_a = q(kp,jp,ip) * hyp(kp) / ( q(kp,jp,ip) + rd_d_rv )
 
              sigma   = 0.0761_wp - 0.000155_wp * ( t_int - 273.15_wp )
Index: palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
===================================================================
--- palm/trunk/SOURCE/surface_layer_fluxes_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/surface_layer_fluxes_mod.f90	(revision 3361)
@@ -237,5 +237,5 @@
 
     USE basic_constants_and_equations_mod,                                     &
-        ONLY:  g, kappa, lv_d_cp, pi
+        ONLY:  g, kappa, lv_d_cp, pi, rd_d_rv
 
     USE chem_modules,                                                          &
@@ -1818,5 +1818,5 @@
                               EXP( 0.07_wp * ( MIN(pt(k-1,j,i),pt(k,j,i))      &
                                                - 273.15_wp ) )
-                   q(k-1,j,i) = 0.622_wp * e_s / ( surface_pressure - e_s )
+                   q(k-1,j,i) = rd_d_rv * e_s / ( surface_pressure - e_s )
                 ENDDO
              ENDIF
Index: palm/trunk/SOURCE/turbulence_closure_mod.f90
===================================================================
--- palm/trunk/SOURCE/turbulence_closure_mod.f90	(revision 3359)
+++ palm/trunk/SOURCE/turbulence_closure_mod.f90	(revision 3361)
@@ -170,5 +170,5 @@
 
     USE basic_constants_and_equations_mod,                                     &
-        ONLY:  g, kappa, lv_d_cp, lv_d_rd
+        ONLY:  g, kappa, lv_d_cp, lv_d_rd, rd_d_rv
 
     USE control_parameters,                                                    &
@@ -3006,6 +3006,6 @@
                          k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                  &
                                        ( q(k,j,i) - ql(k,j,i) ) *              &
-                              ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /       &
-                              ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *        &
+                              ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /        &
+                              ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *         &
                               ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                          k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3066,6 +3066,6 @@
                                k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *            &
                                           ( q(k,j,i) - ql(k,j,i) ) *           &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /    &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *      &
                                  ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                                k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3103,6 +3103,6 @@
                             k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *               &
                                           ( q(k,j,i) - ql(k,j,i) ) *           &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /    &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *      &
                                  ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                             k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3139,6 +3139,6 @@
                             k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *               &
                                           ( q(k,j,i) - ql(k,j,i) ) *           &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /    &
-                                 ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /     &
+                                 ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *      &
                                  ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                             k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3178,6 +3178,6 @@
                             k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *               &
                                        ( q(k,j,i) - ql(k,j,i) ) *              &
-                              ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /       &
-                              ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *        &
+                              ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /        &
+                              ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *         &
                               ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                             k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3794,6 +3794,6 @@
                    k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                        &
                                  ( q(k,j,i) - ql(k,j,i) ) *                    &
-                        ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /             &
-                        ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *              &
+                        ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /              &
+                        ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *               &
                         ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                    k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3851,6 +3851,6 @@
                         k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                   &
                                    ( q(k,j,i) - ql(k,j,i) ) *                  &
-                          ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /           &
-                          ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *            &
+                          ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /            &
+                          ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *             &
                           ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                         k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3888,6 +3888,6 @@
                        k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                    &
                                      ( q(k,j,i) - ql(k,j,i) ) *                &
-                            ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /         &
-                            ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *          &
+                            ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /          &
+                            ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *           &
                             ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                        k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3924,6 +3924,6 @@
                        k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                    &
                                      ( q(k,j,i) - ql(k,j,i) ) *                &
-                            ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /         &
-                            ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *          &
+                            ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /          &
+                            ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *           &
                             ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                        k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
@@ -3964,6 +3964,6 @@
                       k1 = ( 1.0_wp - q(k,j,i) + 1.61_wp *                     &
                                  ( q(k,j,i) - ql(k,j,i) ) *                    &
-                        ( 1.0_wp + 0.622_wp * lv_d_rd / temp ) ) /             &
-                        ( 1.0_wp + 0.622_wp * lv_d_rd * lv_d_cp *              &
+                        ( 1.0_wp + rd_d_rv * lv_d_rd / temp ) ) /              &
+                        ( 1.0_wp + rd_d_rv * lv_d_rd * lv_d_cp *               &
                         ( q(k,j,i) - ql(k,j,i) ) / ( temp * temp ) )
                       k2 = theta * ( lv_d_cp / temp * k1 - 1.0_wp )
