Index: /palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- /palm/trunk/SOURCE/check_parameters.f90	(revision 2742)
+++ /palm/trunk/SOURCE/check_parameters.f90	(revision 2743)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
+! 
+! 2742 2018-01-12 14:59:47Z suehring
 ! Enable output of surface temperature
 ! 
@@ -1047,6 +1050,7 @@
 
 !
-!-- When the land surface model is used, the flux output must be dynamic.
-    IF ( land_surface )  THEN
+!-- When the land- or urban-surface model is used, the flux output must be 
+!-- dynamic.
+    IF ( land_surface  .OR.  urban_surface )  THEN
        flux_output_mode = 'dynamic'
     ENDIF
@@ -3351,4 +3355,12 @@
              IF ( TRIM( var ) == 'z0*'    )  unit = 'm'
              IF ( TRIM( var ) == 'z0h*'   )  unit = 'm'
+!
+!--          Output of surface latent and sensible heat flux will be in W/m2 
+!--          in case of natural- and urban-type surfaces, even if 
+!--          flux_output_mode is set to kinematic units.
+             IF ( land_surface  .OR.  urban_surface )  THEN
+                IF ( TRIM( var ) == 'shf*'   )  unit = 'W/m2'
+                IF ( TRIM( var ) == 'qsws*'  )  unit = 'W/m2'
+             ENDIF
 
           CASE DEFAULT
Index: /palm/trunk/SOURCE/data_output_2d.f90
===================================================================
--- /palm/trunk/SOURCE/data_output_2d.f90	(revision 2742)
+++ /palm/trunk/SOURCE/data_output_2d.f90	(revision 2743)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
+! 
+! 2742 2018-01-12 14:59:47Z suehring
 ! Enable output of surface temperature
 ! 
@@ -194,12 +197,13 @@
 
     USE arrays_3d,                                                             &
-        ONLY:  dzw, e, nc, nr, p, pt, precipitation_amount, precipitation_rate,&
+        ONLY:  dzw, e, heatflux_output_conversion, nc, nr, p, pt,              &
+               precipitation_amount, precipitation_rate,                       &
                prr, q, qc, ql, ql_c, ql_v, ql_vp, qr, rho_ocean, s, sa,        &
-               tend, u, v, vpt, w, zu, zw
+               tend, u, v, vpt, w, zu, zw, waterflux_output_conversion
         
     USE averaging
         
     USE cloud_parameters,                                                      &
-        ONLY:  hyrho, l_d_cp, pt_d_t
+        ONLY:  cp, hyrho, l_d_cp, l_v, pt_d_t
                
     USE control_parameters,                                                    &
@@ -809,18 +813,26 @@
              CASE ( 'qsws*_xy' )        ! 2d-array
                 IF ( av == 0 ) THEN
+!
+!--                In case of default surfaces, clean-up flux by density.
+!--                In case of land- and urban-surfaces, convert fluxes into
+!--                dynamic units
                    DO  m = 1, surf_def_h(0)%ns
                       i = surf_def_h(0)%i(m)
                       j = surf_def_h(0)%j(m)
-                      local_pf(i,j,nzb+1) = surf_def_h(0)%qsws(m)
+                      k = surf_def_h(0)%k(m)
+                      local_pf(i,j,nzb+1) = surf_def_h(0)%qsws(m) *            &
+                                            waterflux_output_conversion(k)
                    ENDDO
                    DO  m = 1, surf_lsm_h%ns
                       i = surf_lsm_h%i(m)
                       j = surf_lsm_h%j(m)
-                      local_pf(i,j,nzb+1) = surf_lsm_h%qsws(m)
+                      k = surf_lsm_h%k(m)
+                      local_pf(i,j,nzb+1) = surf_lsm_h%qsws(m) * l_v
                    ENDDO
                    DO  m = 1, surf_usm_h%ns
                       i = surf_usm_h%i(m)
                       j = surf_usm_h%j(m)
-                      local_pf(i,j,nzb+1) = surf_usm_h%qsws(m)
+                      k = surf_usm_h%k(m)
+                      local_pf(i,j,nzb+1) = surf_usm_h%qsws(m) * l_v
                    ENDDO
                 ELSE
@@ -901,18 +913,26 @@
              CASE ( 'shf*_xy' )        ! 2d-array
                 IF ( av == 0 ) THEN
+!
+!--                In case of default surfaces, clean-up flux by density.
+!--                In case of land- and urban-surfaces, convert fluxes into
+!--                dynamic units.
                    DO  m = 1, surf_def_h(0)%ns
                       i = surf_def_h(0)%i(m)
                       j = surf_def_h(0)%j(m)
-                      local_pf(i,j,nzb+1) = surf_def_h(0)%shf(m)
+                      k = surf_def_h(0)%k(m)
+                      local_pf(i,j,nzb+1) = surf_def_h(0)%shf(m) *             &
+                                            heatflux_output_conversion(k)
                    ENDDO
                    DO  m = 1, surf_lsm_h%ns
                       i = surf_lsm_h%i(m)
                       j = surf_lsm_h%j(m)
-                      local_pf(i,j,nzb+1) = surf_lsm_h%shf(m)
+                      k = surf_lsm_h%k(m)
+                      local_pf(i,j,nzb+1) = surf_lsm_h%shf(m) * cp
                    ENDDO
                    DO  m = 1, surf_usm_h%ns
                       i = surf_usm_h%i(m)
                       j = surf_usm_h%j(m)
-                      local_pf(i,j,nzb+1) = surf_usm_h%shf(m)
+                      k = surf_usm_h%k(m)
+                      local_pf(i,j,nzb+1) = surf_usm_h%shf(m) * cp
                    ENDDO
                 ELSE
Index: /palm/trunk/SOURCE/sum_up_3d_data.f90
===================================================================
--- /palm/trunk/SOURCE/sum_up_3d_data.f90	(revision 2742)
+++ /palm/trunk/SOURCE/sum_up_3d_data.f90	(revision 2743)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! In case of natural- and urban-type surfaces output surfaces fluxes in W/m2.
+! 
+! 2742 2018-01-12 14:59:47Z suehring
 ! Enable output of surface temperature
 ! 
@@ -157,6 +160,8 @@
 
     USE arrays_3d,                                                             &
-        ONLY:  dzw, e, nc, nr, p, pt, precipitation_rate, q, qc, ql, ql_c,     &
-               ql_v, qr, rho_ocean, s, sa, u, v, vpt, w
+        ONLY:  dzw, e, heatflux_output_conversion, nc, nr, p, pt,              &
+               precipitation_rate, q, qc, ql, ql_c,                            &
+               ql_v, qr, rho_ocean, s, sa, u, v, vpt, w,                       &
+               waterflux_output_conversion
 
     USE averaging,                                                             &
@@ -173,5 +178,5 @@
 
     USE cloud_parameters,                                                      &
-        ONLY:  l_d_cp, pt_d_t
+        ONLY:  cp, l_d_cp, l_v, pt_d_t
 
     USE control_parameters,                                                    &
@@ -740,18 +745,23 @@
 
           CASE ( 'qsws*' )
+!
+!--          In case of default surfaces, clean-up flux by density.
+!--          In case of land- and urban-surfaces, convert fluxes into
+!--          dynamic units.
              DO  m = 1, surf_def_h(0)%ns
                 i = surf_def_h(0)%i(m)
                 j = surf_def_h(0)%j(m)
-                qsws_av(j,i) = qsws_av(j,i) + surf_def_h(0)%qsws(m)
+                qsws_av(j,i) = qsws_av(j,i) + surf_def_h(0)%qsws(m) *          &
+                                              waterflux_output_conversion(k)
              ENDDO
              DO  m = 1, surf_lsm_h%ns
                 i = surf_lsm_h%i(m)
                 j = surf_lsm_h%j(m)
-                qsws_av(j,i) = qsws_av(j,i) + surf_lsm_h%qsws(m)
+                qsws_av(j,i) = qsws_av(j,i) + surf_lsm_h%qsws(m) * l_v
              ENDDO
              DO  m = 1, surf_usm_h%ns
                 i = surf_usm_h%i(m)
                 j = surf_usm_h%j(m)
-                qsws_av(j,i) = qsws_av(j,i) + surf_usm_h%qsws(m)
+                qsws_av(j,i) = qsws_av(j,i) + surf_usm_h%qsws(m) * l_v
              ENDDO
 
@@ -813,18 +823,23 @@
 
           CASE ( 'shf*' )
+!
+!--          In case of default surfaces, clean-up flux by density.
+!--          In case of land- and urban-surfaces, convert fluxes into
+!--          dynamic units.
              DO  m = 1, surf_def_h(0)%ns
                 i = surf_def_h(0)%i(m)
                 j = surf_def_h(0)%j(m)
-                shf_av(j,i) = shf_av(j,i) + surf_def_h(0)%shf(m)
+                shf_av(j,i) = shf_av(j,i) + surf_def_h(0)%shf(m)  *            &
+                                            heatflux_output_conversion(k)
              ENDDO
              DO  m = 1, surf_lsm_h%ns
                 i = surf_lsm_h%i(m)
                 j = surf_lsm_h%j(m)
-                shf_av(j,i) = shf_av(j,i) + surf_lsm_h%shf(m)
+                shf_av(j,i) = shf_av(j,i) + surf_lsm_h%shf(m) * cp
              ENDDO
              DO  m = 1, surf_usm_h%ns
                 i = surf_usm_h%i(m)
                 j = surf_usm_h%j(m)
-                shf_av(j,i) = shf_av(j,i) + surf_usm_h%shf(m)
+                shf_av(j,i) = shf_av(j,i) + surf_usm_h%shf(m) * cp
              ENDDO
 
