Index: palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- palm/trunk/SOURCE/check_parameters.f90	(revision 4564)
+++ palm/trunk/SOURCE/check_parameters.f90	(revision 4565)
@@ -24,4 +24,7 @@
 ! -----------------
 ! $Id$
+! added check for pt_surface_heating_rate
+! 
+! 4564 2020-06-12 14:03:36Z raasch
 ! Vertical nesting method of Huq et al. (2019) removed
 ! 
@@ -1384,4 +1387,9 @@
        CALL message( 'check_parameters', 'PA0066', 1, 2, 0, 6, 0 )
     ENDIF
+    IF ( constant_heatflux  .AND.  pt_surface_heating_rate /= 0.0_wp )  THEN
+       WRITE ( message_string, * )  'constant_heatflux = .TRUE. is not allo',                      &
+               'wed with pt_surface_heating_rate (/=0) = ', pt_surface_heating_rate
+       CALL message( 'check_parameters', 'PA0497', 1, 2, 0, 6, 0 )
+    ENDIF
 
 !
Index: palm/trunk/SOURCE/modules.f90
===================================================================
--- palm/trunk/SOURCE/modules.f90	(revision 4564)
+++ palm/trunk/SOURCE/modules.f90	(revision 4565)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! added pt_surface_heating_rate
+! 
+! 4536 2020-05-17 17:24:13Z raasch
 ! +qsurf_av, ssurf_av
 ! 
@@ -942,4 +945,5 @@
                                                                !< boundary of total domain
     REAL(wp) ::  pt_surface = 300.0_wp                         !< namelist parameter
+    REAL(wp) ::  pt_surface_heating_rate = 0.0_wp              !< namelist parameter
     REAL(wp) ::  pt_surface_initial_change = 0.0_wp            !< namelist parameter
     REAL(wp) ::  q_surface = 0.0_wp                            !< namelist parameter
Index: palm/trunk/SOURCE/parin.f90
===================================================================
--- palm/trunk/SOURCE/parin.f90	(revision 4564)
+++ palm/trunk/SOURCE/parin.f90	(revision 4565)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! added pt_surface_heating_rate
+! 
+! 4564 2020-06-12 14:03:36Z raasch
 ! Vertical nesting method of Huq et al. (2019) removed
 ! 
@@ -195,6 +198,6 @@
              nsor, nsor_ini, nudging, nx, ny, nz, ocean_mode, omega,           &
              omega_sor, outflow_source_plane, passive_scalar,                  &
-             prandtl_number, psolver, pt_damping_factor,        &
-             pt_damping_width, pt_reference, pt_surface,                       &
+             prandtl_number, psolver, pt_damping_factor,  pt_damping_width,    &
+             pt_reference, pt_surface, pt_surface_heating_rate,                &
              pt_surface_initial_change, pt_vertical_gradient,                  &
              pt_vertical_gradient_level, q_surface, q_surface_initial_change,  &
@@ -267,6 +270,6 @@
              nsor, nsor_ini, nudging, nx, ny, nz, ocean_mode, omega,           &
              omega_sor, outflow_source_plane, passive_scalar,                  &
-             prandtl_number, psolver, pt_damping_factor,                       &
-             pt_damping_width, pt_reference, pt_surface,                       &
+             prandtl_number, psolver, pt_damping_factor, pt_damping_width,     &
+             pt_surface_heating_rate, pt_reference, pt_surface,                &
              pt_surface_initial_change, pt_vertical_gradient,                  &
              pt_vertical_gradient_level, q_surface, q_surface_initial_change,  &
Index: palm/trunk/SOURCE/time_integration.f90
===================================================================
--- palm/trunk/SOURCE/time_integration.f90	(revision 4564)
+++ palm/trunk/SOURCE/time_integration.f90	(revision 4565)
@@ -25,4 +25,8 @@
 ! -----------------
 ! $Id$
+! added new surface temperature forcing method for bc_pt_b = 'dirichlet':
+! surface temperature pt(0) can be linearly increased by pt_surface_heating_rate (in K/h)
+! 
+! 4564 2020-06-12 14:03:36Z raasch
 ! Vertical nesting method of Huq et al. (2019) removed
 ! 
@@ -269,5 +273,6 @@
                multi_agent_system_end, multi_agent_system_start, nesting_offline, neutral,         &
                nr_timesteps_this_run, nudging, ocean_mode, passive_scalar, pt_reference,           &
-               pt_slope_offset, random_heatflux, rans_tke_e, run_coupled, salsa,                   &
+               pt_slope_offset, pt_surface, pt_surface_heating_rate, pt_surface_initial_change,    &
+               random_heatflux, rans_tke_e, run_coupled, salsa,                                    &
                simulated_time, simulated_time_chr, skip_time_do2d_xy, skip_time_do2d_xz,           &
                skip_time_do2d_yz, skip_time_do3d, skip_time_domask, skip_time_dopr,                &
@@ -944,4 +949,11 @@
 
 !
+!--       Increase temperature pt(0) according to pt_surface_heating_rate (convert from K/h to K/s)
+          IF ( pt_surface_heating_rate /= 0.0_wp ) THEN
+             pt(0,:,:) = pt_surface + pt_surface_initial_change +                                  &
+                         time_since_reference_point * pt_surface_heating_rate / 3600.0_wp
+          ENDIF
+
+!
 !--       Impose a turbulent inflow using the recycling method
           IF ( turbulent_inflow )  CALL inflow_turbulence
