Index: palm/trunk/SOURCE/netcdf_data_input_mod.f90
===================================================================
--- palm/trunk/SOURCE/netcdf_data_input_mod.f90	(revision 3019)
+++ palm/trunk/SOURCE/netcdf_data_input_mod.f90	(revision 3036)
@@ -25,81 +25,93 @@
 ! -----------------
 ! $Id$
+! Revision of input vars according to UC2 data standard
+!  - renamed 'orography_2D' to 'zt'
+!  - renamed 'buildings_2D' to 'buildings_2d'
+!  - renamed 'buildings_3D' to 'buildings_3d'
+!  - renamed 'leaf_are_density' to 'lad'
+!  - renamed 'basal_are_density' to 'bad'
+!  - renamed 'root_are_density_lad' to 'root_area_dens_r'
+!  - renamed 'root_are_density_lsm' to 'root_area_dens_s'
+!  - renamed 'ls_forcing_ug' to 'tend_ug'
+!  - renamed 'ls_forcing_vg' to 'tend_vg'
+!
+! 3019 2018-05-13 07:05:43Z maronga
 ! Improved reading speed of large NetCDF files
-! 
+!
 ! 2963 2018-04-12 14:47:44Z suehring
 ! - Revise checks for static input variables.
-! - Introduce index for vegetation/wall, pavement/green-wall and water/window 
+! - Introduce index for vegetation/wall, pavement/green-wall and water/window
 !   surfaces, for clearer access of surface fraction, albedo, emissivity, etc. .
-! 
+!
 ! 2958 2018-04-11 15:38:13Z suehring
 ! Synchronize longitude and latitude between nested model domains, values are
 ! taken from the root model.
-! 
+!
 ! 2955 2018-04-09 15:14:01Z suehring
-! Extend checks for consistent setting of buildings, its ID and type. 
+! Extend checks for consistent setting of buildings, its ID and type.
 ! Add log-points to measure CPU time of NetCDF data input.
-! 
+!
 ! 2953 2018-04-09 11:26:02Z suehring
 ! Bugfix in checks for initialization data
-! 
+!
 ! 2947 2018-04-04 18:01:41Z suehring
 ! Checks for dynamic input revised
-! 
+!
 ! 2946 2018-04-04 17:01:23Z suehring
-! Bugfix for revision 2945, perform checks only if dynamic input file is 
+! Bugfix for revision 2945, perform checks only if dynamic input file is
 ! available.
-! 
+!
 ! 2945 2018-04-04 16:27:14Z suehring
-! - Mimic for topography input slightly revised, in order to enable consistency 
+! - Mimic for topography input slightly revised, in order to enable consistency
 !   checks
 ! - Add checks for dimensions in dynamic input file and move already existing
-!   checks 
-! 
+!   checks
+!
 ! 2938 2018-03-27 15:52:42Z suehring
-! Initial read of geostrophic wind components from dynamic driver. 
-! 
+! Initial read of geostrophic wind components from dynamic driver.
+!
 ! 2773 2018-01-30 14:12:54Z suehring
 ! Revise checks for surface_fraction.
-! 
+!
 ! 2925 2018-03-23 14:54:11Z suehring
-! Check for further inconsistent settings of surface_fractions. 
+! Check for further inconsistent settings of surface_fractions.
 ! Some messages slightly rephrased and error numbers renamed.
-! 
+!
 ! 2898 2018-03-15 13:03:01Z suehring
-! Check if each building has a type. Further, check if dimensions in static 
-! input file match the model dimensions. 
-! 
+! Check if each building has a type. Further, check if dimensions in static
+! input file match the model dimensions.
+!
 ! 2897 2018-03-15 11:47:16Z suehring
 ! Relax restrictions for topography input, terrain and building heights can be
-! input separately and are not mandatory any more. 
-! 
+! input separately and are not mandatory any more.
+!
 ! 2874 2018-03-13 10:55:42Z knoop
 ! Bugfix: wrong placement of netcdf cpp-macros fixed
-! 
+!
 ! 2794 2018-02-07 14:09:43Z knoop
 ! Check if 3D building input is consistent to numeric grid.
-! 
+!
 ! 2773 2018-01-30 14:12:54Z suehring
 ! - Enable initialization with 3D topography.
 ! - Move check for correct initialization in nesting mode to check_parameters.
-! 
+!
 ! 2772 2018-01-29 13:10:35Z suehring
 ! Initialization of simulation independent on land-surface model.
-! 
+!
 ! 2746 2018-01-15 12:06:04Z suehring
 ! Read plant-canopy variables independently on land-surface model usage
-! 
+!
 ! 2718 2018-01-02 08:49:38Z maronga
 ! Corrected "Former revisions" section
-! 
+!
 ! 2711 2017-12-20 17:04:49Z suehring
-! Rename subroutine close_file to avoid double-naming.  
-! 
+! Rename subroutine close_file to avoid double-naming.
+!
 ! 2700 2017-12-15 14:12:35Z suehring
 !
 ! 2696 2017-12-14 17:12:51Z kanani
 ! Initial revision (suehring)
-! 
-! 
+!
+!
 !
 !
@@ -107,9 +119,9 @@
 ! --------
 ! @author Matthias Suehring
-! 
+!
 ! Description:
 ! ------------
-!> Modulue contains routines to input data according to Palm input data       
-!> standart using dynamic and static input files. 
+!> Modulue contains routines to input data according to Palm input data
+!> standart using dynamic and static input files.
 !>
 !> @todo - Order input alphabetically
@@ -120,5 +132,5 @@
 !------------------------------------------------------------------------------!
  MODULE netcdf_data_input_mod
- 
+
     USE control_parameters,                                                    &
         ONLY:  coupling_char, io_blocks, io_group
@@ -138,5 +150,5 @@
         ONLY:  ind_pav_green, ind_veg_wall, ind_wat_win
 !
-!-- Define type for dimensions. 
+!-- Define type for dimensions.
     TYPE dims_xy
        INTEGER(iwp) :: nx                             !< dimension length in x
@@ -149,5 +161,5 @@
 !
 !-- Define data type for nesting in larger-scale models like COSMO.
-!-- Data type comprises u, v, w, pt, and q at lateral and top boundaries. 
+!-- Data type comprises u, v, w, pt, and q at lateral and top boundaries.
     TYPE force_type
 
@@ -206,8 +218,8 @@
     TYPE init_type
 
-       INTEGER(iwp) ::  lod_msoil !< level of detail - soil moisture 
+       INTEGER(iwp) ::  lod_msoil !< level of detail - soil moisture
        INTEGER(iwp) ::  lod_pt    !< level of detail - pt
        INTEGER(iwp) ::  lod_q     !< level of detail - q
-       INTEGER(iwp) ::  lod_tsoil !< level of detail - soil temperature 
+       INTEGER(iwp) ::  lod_tsoil !< level of detail - soil temperature
        INTEGER(iwp) ::  lod_u     !< level of detail - u-component
        INTEGER(iwp) ::  lod_v     !< level of detail - v-component
@@ -221,12 +233,12 @@
        INTEGER(iwp) ::  nzw       !< number of vertical levels on w grid in dynamic input file
 
-       LOGICAL ::  from_file_msoil  = .FALSE. !< flag indicating whether soil moisture is already initialized from file 
+       LOGICAL ::  from_file_msoil  = .FALSE. !< flag indicating whether soil moisture is already initialized from file
        LOGICAL ::  from_file_pt     = .FALSE. !< flag indicating whether pt is already initialized from file
-       LOGICAL ::  from_file_q      = .FALSE. !< flag indicating whether q is already initialized from file  
-       LOGICAL ::  from_file_tsoil  = .FALSE. !< flag indicating whether soil temperature is already initialized from file 
-       LOGICAL ::  from_file_u      = .FALSE. !< flag indicating whether u is already initialized from file 
-       LOGICAL ::  from_file_ug     = .FALSE. !< flag indicating whether ug is already initialized from file 
-       LOGICAL ::  from_file_v      = .FALSE. !< flag indicating whether v is already initialized from file 
-       LOGICAL ::  from_file_vg     = .FALSE. !< flag indicating whether ug is already initialized from file 
+       LOGICAL ::  from_file_q      = .FALSE. !< flag indicating whether q is already initialized from file
+       LOGICAL ::  from_file_tsoil  = .FALSE. !< flag indicating whether soil temperature is already initialized from file
+       LOGICAL ::  from_file_u      = .FALSE. !< flag indicating whether u is already initialized from file
+       LOGICAL ::  from_file_ug     = .FALSE. !< flag indicating whether ug is already initialized from file
+       LOGICAL ::  from_file_v      = .FALSE. !< flag indicating whether v is already initialized from file
+       LOGICAL ::  from_file_vg     = .FALSE. !< flag indicating whether ug is already initialized from file
        LOGICAL ::  from_file_w      = .FALSE. !< flag indicating whether w is already initialized from file
 
@@ -262,11 +274,11 @@
 
 !
-!-- Define data structures for different input data types. 
+!-- Define data structures for different input data types.
 !-- 8-bit Integer 2D
     TYPE int_2d_8bit
        INTEGER(KIND=1) ::  fill = -127                      !< fill value
        INTEGER(KIND=1), DIMENSION(:,:), ALLOCATABLE ::  var !< respective variable
-       
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
+
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
     END TYPE int_2d_8bit
 !
@@ -276,5 +288,5 @@
        INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  var  !< respective variable
 
-       LOGICAL ::  from_file = .FALSE. !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE. !< flag indicating whether an input variable is available and read from file or default values are used
     END TYPE int_2d_32bit
 
@@ -282,5 +294,5 @@
 !-- Define data type to read 2D real variables
     TYPE real_2d
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
 
        REAL(wp) ::  fill = -9999.9_wp                !< fill value
@@ -291,7 +303,7 @@
 !-- Define data type to read 2D real variables
     TYPE real_3d
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
-
-       INTEGER(iwp) ::  nz   !< number of grid points along vertical dimension                      
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
+
+       INTEGER(iwp) ::  nz   !< number of grid points along vertical dimension
 
        REAL(wp) ::  fill = -9999.9_wp                  !< fill value
@@ -299,9 +311,9 @@
     END TYPE real_3d
 !
-!-- Define data structure where the dimension and type of the input depends 
-!-- on the given level of detail. 
-!-- For buildings, the input is either 2D float, or 3d byte. 
+!-- Define data structure where the dimension and type of the input depends
+!-- on the given level of detail.
+!-- For buildings, the input is either 2D float, or 3d byte.
     TYPE build_in
-       INTEGER(iwp)    ::  lod = 1                               !< level of detail                  
+       INTEGER(iwp)    ::  lod = 1                               !< level of detail
        INTEGER(KIND=1) ::  fill2 = -127                          !< fill value for lod = 2
        INTEGER(iwp)    ::  nz                                    !< number of vertical layers in file
@@ -310,5 +322,5 @@
        REAL(wp), DIMENSION(:), ALLOCATABLE ::  z                 !< vertical coordinate for 3D building, used for consistency check
 
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
 
        REAL(wp)                              ::  fill1 = -9999.9_wp !< fill values for lod = 1
@@ -317,12 +329,12 @@
 
 !
-!-- For soil_type, the input is either 2D or 3D one-byte integer. 
+!-- For soil_type, the input is either 2D or 3D one-byte integer.
     TYPE soil_in
-       INTEGER(iwp)                                   ::  lod = 1      !< level of detail                  
+       INTEGER(iwp)                                   ::  lod = 1      !< level of detail
        INTEGER(KIND=1)                                ::  fill = -127  !< fill value for lod = 2
        INTEGER(KIND=1), DIMENSION(:,:), ALLOCATABLE   ::  var_2d       !< 2d variable (lod = 1)
        INTEGER(KIND=1), DIMENSION(:,:,:), ALLOCATABLE ::  var_3d       !< 3d variable (lod = 2)
 
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
     END TYPE soil_in
 
@@ -333,5 +345,5 @@
        INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  nfracs         !< dimension array for fraction
 
-       LOGICAL ::  from_file = .FALSE. !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE. !< flag indicating whether an input variable is available and read from file or default values are used
 
        REAL(wp)                                ::  fill = -9999.9_wp !< fill value
@@ -339,5 +351,5 @@
     END TYPE fracs
 !
-!-- Data type for parameter lists, Depending on the given level of detail, 
+!-- Data type for parameter lists, Depending on the given level of detail,
 !-- the input is 3D or 4D
     TYPE pars
@@ -345,8 +357,8 @@
        INTEGER(iwp)                            ::  np              !< total number of parameters
        INTEGER(iwp)                            ::  nz              !< vertical dimension - number of soil layers
-       INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  layers          !< dimension array for soil layers 
+       INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  layers          !< dimension array for soil layers
        INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  pars            !< dimension array for parameters
 
-       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used  
+       LOGICAL ::  from_file = .FALSE.  !< flag indicating whether an input variable is available and read from file or default values are used
 
        REAL(wp)                                  ::  fill = -9999.9_wp !< fill value
@@ -358,8 +370,8 @@
     TYPE(dims_xy)    ::  dim_static  !< data structure for x, y-dimension in static input file
 
-    TYPE(force_type) ::  force     !< data structure for data input at lateral and top boundaries (provided by Inifor)  
+    TYPE(force_type) ::  force     !< data structure for data input at lateral and top boundaries (provided by Inifor)
 
     TYPE(init_type) ::  init_3d    !< data structure for the initialization of the 3D flow and soil fields
-    TYPE(init_type) ::  init_model !< data structure for the initialization of the model 
+    TYPE(init_type) ::  init_model !< data structure for the initialization of the model
 
 !
@@ -511,5 +523,5 @@
 ! Description:
 ! ------------
-!> Inquires whether NetCDF input files according to Palm-input-data standard 
+!> Inquires whether NetCDF input files according to Palm-input-data standard
 !> exist. Moreover, basic checks are performed.
 !------------------------------------------------------------------------------!
@@ -531,10 +543,10 @@
 
 !
-!--    As long as topography can be input via ASCII format, no distinction 
+!--    As long as topography can be input via ASCII format, no distinction
 !--    between building and terrain can be made. This case, classify all
 !--    surfaces as default type. Same in case land-surface and urban-surface
 !--    model are not applied.
        IF ( .NOT. input_pids_static )  THEN
-          topo_no_distinct = .TRUE. 
+          topo_no_distinct = .TRUE.
        ENDIF
 
@@ -553,5 +565,5 @@
        INTEGER(iwp) ::  ii       !< running index for IO blocks
 
-       IF ( .NOT. input_pids_static )  RETURN  
+       IF ( .NOT. input_pids_static )  RETURN
 
        DO  ii = 0, io_blocks-1
@@ -579,8 +591,8 @@
        ENDDO
 !
-!--    In case of nested runs, each model domain might have different longitude 
-!--    and latitude, which would result in different Coriolis parameters and 
-!--    sun-zenith angles. To avoid this, longitude and latitude in each model 
-!--    domain will be set to the values of the root model. Please note, this 
+!--    In case of nested runs, each model domain might have different longitude
+!--    and latitude, which would result in different Coriolis parameters and
+!--    sun-zenith angles. To avoid this, longitude and latitude in each model
+!--    domain will be set to the values of the root model. Please note, this
 !--    synchronization is required already here.
 #if defined( __parallel )
@@ -647,7 +659,7 @@
                                      TRIM( coupling_char ) , id_surf )
 !
-!--             At first, inquire all variable names. 
+!--             At first, inquire all variable names.
 !--             This will be used to check whether an optional input variable
-!--             exist or not. 
+!--             exist or not.
                 CALL inquire_num_variables( id_surf, num_vars )
 
@@ -657,14 +669,14 @@
 !
 !--             Read leaf area density - resolved vegetation
-                IF ( check_existence( var_names, 'leaf_area_density' ) )  THEN
-                   leaf_area_density_f%from_file = .TRUE. 
+                IF ( check_existence( var_names, 'lad' ) )  THEN
+                   leaf_area_density_f%from_file = .TRUE.
                    CALL get_attribute( id_surf, char_fill,                     &
                                        leaf_area_density_f%fill,               &
-                                       .FALSE., 'leaf_area_density' )  
+                                       .FALSE., 'lad' )
 !
 !--                Inquire number of vertical vegetation layer
                    CALL get_dimension_length( id_surf, leaf_area_density_f%nz, &
                                               'zlad' )
-!            
+!
 !--                Allocate variable for leaf-area density
                    ALLOCATE( leaf_area_density_f%var(                          &
@@ -672,19 +684,19 @@
                                                    nys:nyn,nxl:nxr) )
 
-                   CALL get_variable( id_surf, 'leaf_area_density',      &
+                   CALL get_variable( id_surf, 'lad',      &
                                       nxl, nxr, nys, nyn,                &
                                       leaf_area_density_f%var(:,nys:nyn, nxl:nxr) )
 
                 ELSE
-                   leaf_area_density_f%from_file = .FALSE. 
+                   leaf_area_density_f%from_file = .FALSE.
                 ENDIF
 
 !
 !--             Read basal area density - resolved vegetation
-                IF ( check_existence( var_names, 'basal_area_density' ) )  THEN
-                   basal_area_density_f%from_file = .TRUE. 
+                IF ( check_existence( var_names, 'bad' ) )  THEN
+                   basal_area_density_f%from_file = .TRUE.
                    CALL get_attribute( id_surf, char_fill,                     &
                                        basal_area_density_f%fill,              &
-                                       .FALSE., 'basal_area_density' )  
+                                       .FALSE., 'bad' )
 !
 !--                Inquire number of vertical vegetation layer
@@ -692,5 +704,5 @@
                                               basal_area_density_f%nz,         &
                                               'zlad' )
-!            
+!
 !--                Allocate variable
                    ALLOCATE( basal_area_density_f%var(                         &
@@ -698,18 +710,18 @@
                                                   nys:nyn,nxl:nxr) )
 
-                   CALL get_variable( id_surf, 'basal_area_density',     &
+                   CALL get_variable( id_surf, 'bad',                    &
                                       nxl, nxr, nys, nyn,                &
                                       basal_area_density_f%var(:,nys:nyn, nxl:nxr) )
                 ELSE
-                   basal_area_density_f%from_file = .FALSE. 
+                   basal_area_density_f%from_file = .FALSE.
                 ENDIF
 
 !
 !--             Read root area density - resolved vegetation
-                IF ( check_existence( var_names, 'root_area_density_lad' ) )  THEN
-                   root_area_density_lad_f%from_file = .TRUE. 
+                IF ( check_existence( var_names, 'root_area_dens_r' ) )  THEN
+                   root_area_density_lad_f%from_file = .TRUE.
                    CALL get_attribute( id_surf, char_fill,                     &
                                        root_area_density_lad_f%fill,           &
-                                       .FALSE., 'root_area_density_lad' )  
+                                       .FALSE., 'root_area_dens_r' )
 !
 !--                Inquire number of vertical soil layers
@@ -717,5 +729,5 @@
                                               root_area_density_lad_f%nz,      &
                                               'zsoil' )
-!            
+!
 !--                Allocate variable
                    ALLOCATE( root_area_density_lad_f%var                       &
@@ -723,9 +735,9 @@
                                                 nys:nyn,nxl:nxr) )
 
-                   CALL get_variable( id_surf, 'root_area_density_lad',  &
-                                      nxl, nxr, nys, nyn,                              &
+                   CALL get_variable( id_surf, 'root_area_dens_r',  &
+                                      nxl, nxr, nys, nyn,           &
                                       root_area_density_lad_f%var(:,nys:nyn, nxl:nxr) )
                 ELSE
-                   root_area_density_lad_f%from_file = .FALSE. 
+                   root_area_density_lad_f%from_file = .FALSE.
                 ENDIF
 !
@@ -739,12 +751,12 @@
           ENDDO
 !
-!--       Deallocate variable list. Will be re-allocated in case further 
-!--       variables are read from file.          
+!--       Deallocate variable list. Will be re-allocated in case further
+!--       variables are read from file.
           IF ( ALLOCATED( var_names ) )  DEALLOCATE( var_names )
 
        ENDIF
 !
-!--    Skip the following if no land-surface or urban-surface module are 
-!--    applied. This case, no one of the following variables is used anyway.  
+!--    Skip the following if no land-surface or urban-surface module are
+!--    applied. This case, no one of the following variables is used anyway.
        IF (  .NOT. land_surface  .OR.  .NOT. urban_surface )  RETURN
 !
@@ -762,7 +774,7 @@
 
 !
-!--          Inquire all variable names. 
-!--          This will be used to check whether an optional input variable exist 
-!--          or not. 
+!--          Inquire all variable names.
+!--          This will be used to check whether an optional input variable exist
+!--          or not.
              CALL inquire_num_variables( id_surf, num_vars )
 
@@ -792,5 +804,5 @@
 !--          Read soil type and required attributes
              IF ( check_existence( var_names, 'soil_type' ) )  THEN
-                   soil_type_f%from_file = .TRUE. 
+                   soil_type_f%from_file = .TRUE.
 !
 !--             Note, lod is currently not on file; skip for the moment
@@ -800,5 +812,5 @@
                 CALL get_attribute( id_surf, char_fill,                        &
                                     soil_type_f%fill,                          &
-                                    .FALSE., 'soil_type' ) 
+                                    .FALSE., 'soil_type' )
 
                 IF ( soil_type_f%lod == 1 )  THEN
@@ -808,5 +820,5 @@
                    DO  i = nxl, nxr
                       CALL get_variable( id_surf, 'soil_type',                 &
-                                         i, soil_type_f%var_2d(:,i) ) 
+                                         i, soil_type_f%var_2d(:,i) )
                    ENDDO
                 ELSEIF ( soil_type_f%lod == 2 )  THEN
@@ -820,7 +832,7 @@
                       DO  j = nys, nyn
                          CALL get_variable( id_surf, 'soil_type', i, j,        &
-                                            soil_type_f%var_3d(:,j,i) )   
+                                            soil_type_f%var_3d(:,j,i) )
                       ENDDO
-                   ENDDO 
+                   ENDDO
                 ENDIF
              ELSE
@@ -831,8 +843,8 @@
 !--          Read pavement type and required attributes
              IF ( check_existence( var_names, 'pavement_type' ) )  THEN
-                pavement_type_f%from_file = .TRUE. 
+                pavement_type_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     pavement_type_f%fill, .FALSE.,             &
-                                    'pavement_type' )  
+                                    'pavement_type' )
 !
 !--             PE-wise reading of 2D pavement type.
@@ -840,5 +852,5 @@
                 DO  i = nxl, nxr
                    CALL get_variable( id_surf, 'pavement_type',                &
-                                      i, pavement_type_f%var(:,i) )  
+                                      i, pavement_type_f%var(:,i) )
                 ENDDO
              ELSE
@@ -849,5 +861,5 @@
 !--          Read water type and required attributes
              IF ( check_existence( var_names, 'water_type' ) )  THEN
-                water_type_f%from_file = .TRUE. 
+                water_type_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill, water_type_f%fill,     &
                                     .FALSE., 'water_type' )
@@ -857,5 +869,5 @@
                 DO  i = nxl, nxr
                    CALL get_variable( id_surf, 'water_type', i,                &
-                                      water_type_f%var(:,i) ) 
+                                      water_type_f%var(:,i) )
                 ENDDO
              ELSE
@@ -865,5 +877,5 @@
 !--          Read surface fractions and related information
              IF ( check_existence( var_names, 'surface_fraction' ) )  THEN
-                surface_fraction_f%from_file = .TRUE. 
+                surface_fraction_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     surface_fraction_f%fill,                   &
@@ -874,5 +886,5 @@
                                            surface_fraction_f%nf,              &
                                            'nsurface_fraction' )
-!            
+!
 !--             Allocate dimension array and input array for surface fractions
                 ALLOCATE( surface_fraction_f%nfracs(0:surface_fraction_f%nf-1) )
@@ -889,13 +901,13 @@
                                    surface_fraction_f%frac(:,nys:nyn, nxl:nxr))
              ELSE
-                surface_fraction_f%from_file = .FALSE. 
+                surface_fraction_f%from_file = .FALSE.
              ENDIF
 !
 !--          Read building parameters and related information
              IF ( check_existence( var_names, 'building_pars' ) )  THEN
-                building_pars_f%from_file = .TRUE. 
+                building_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     building_pars_f%fill,                      &
-                                    .FALSE., 'building_pars' )  
+                                    .FALSE., 'building_pars' )
 !
 !--             Inquire number of building parameters
@@ -903,5 +915,5 @@
                                            building_pars_f%np,                 &
                                            'nbuilding_pars' )
-!            
+!
 !--             Allocate dimension array and input array for building parameters
                 ALLOCATE( building_pars_f%pars(0:building_pars_f%np-1) )
@@ -918,5 +930,5 @@
                                    building_pars_f%pars_xy(:,nys:nyn, nxl:nxr) )
              ELSE
-                building_pars_f%from_file = .FALSE. 
+                building_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -924,7 +936,7 @@
 !--          Read albedo type and required attributes
              IF ( check_existence( var_names, 'albedo_type' ) )  THEN
-                albedo_type_f%from_file = .TRUE. 
+                albedo_type_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill, albedo_type_f%fill,    &
-                                    .FALSE.,  'albedo_type' ) 
+                                    .FALSE.,  'albedo_type' )
 !
 !--             PE-wise reading of 2D water type.
@@ -932,5 +944,5 @@
                 DO  i = nxl, nxr
                    CALL get_variable( id_surf, 'albedo_type',                  &
-                                      i, albedo_type_f%var(:,i) )  
+                                      i, albedo_type_f%var(:,i) )
                 ENDDO
              ELSE
@@ -940,12 +952,12 @@
 !--          Read albedo parameters and related information
              IF ( check_existence( var_names, 'albedo_pars' ) )  THEN
-                albedo_pars_f%from_file = .TRUE. 
+                albedo_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill, albedo_pars_f%fill,    &
-                                    .FALSE., 'albedo_pars' )  
+                                    .FALSE., 'albedo_pars' )
 !
 !--             Inquire number of albedo parameters
                 CALL get_dimension_length( id_surf, albedo_pars_f%np,          &
                                            'nalbedo_pars' )
-!            
+!
 !--             Allocate dimension array and input array for albedo parameters
                 ALLOCATE( albedo_pars_f%pars(0:albedo_pars_f%np-1) )
@@ -959,9 +971,9 @@
                    DO  j = nys, nyn
                       CALL get_variable( id_surf, 'albedo_pars', i, j,         &
-                                         albedo_pars_f%pars_xy(:,j,i) )   
+                                         albedo_pars_f%pars_xy(:,j,i) )
                    ENDDO
                 ENDDO
              ELSE
-                albedo_pars_f%from_file = .FALSE. 
+                albedo_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -969,13 +981,13 @@
 !--          Read pavement parameters and related information
              IF ( check_existence( var_names, 'pavement_pars' ) )  THEN
-                pavement_pars_f%from_file = .TRUE. 
+                pavement_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     pavement_pars_f%fill,                      &
-                                    .FALSE., 'pavement_pars' )  
+                                    .FALSE., 'pavement_pars' )
 !
 !--             Inquire number of pavement parameters
                 CALL get_dimension_length( id_surf, pavement_pars_f%np,        &
                                            'npavement_pars' )
-!            
+!
 !--             Allocate dimension array and input array for pavement parameters
                 ALLOCATE( pavement_pars_f%pars(0:pavement_pars_f%np-1) )
@@ -986,13 +998,13 @@
                 CALL get_variable( id_surf, 'npavement_pars',                  &
                                    pavement_pars_f%pars )
-   
+
                 DO  i = nxl, nxr
                    DO  j = nys, nyn
                       CALL get_variable( id_surf, 'pavement_pars', i, j,       &
-                                         pavement_pars_f%pars_xy(:,j,i) )   
+                                         pavement_pars_f%pars_xy(:,j,i) )
                    ENDDO
                 ENDDO
              ELSE
-                pavement_pars_f%from_file = .FALSE. 
+                pavement_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -1001,8 +1013,8 @@
              IF ( check_existence( var_names, 'pavement_subsurface_pars' ) )   &
              THEN
-                pavement_subsurface_pars_f%from_file = .TRUE. 
+                pavement_subsurface_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     pavement_subsurface_pars_f%fill,           &
-                                    .FALSE., 'pavement_subsurface_pars' )  
+                                    .FALSE., 'pavement_subsurface_pars' )
 !
 !--             Inquire number of parameters
@@ -1011,9 +1023,9 @@
                                            'npavement_subsurface_pars' )
 !
-!--             Inquire number of soil layers 
+!--             Inquire number of soil layers
                 CALL get_dimension_length( id_surf,                            &
                                            pavement_subsurface_pars_f%nz,      &
                                            'zsoil' )
-!            
+!
 !--             Allocate dimension array and input array for pavement parameters
                 ALLOCATE( pavement_subsurface_pars_f%pars                      &
@@ -1027,5 +1039,5 @@
                 CALL get_variable( id_surf, 'npavement_subsurface_pars',       &
                                    pavement_subsurface_pars_f%pars )
-   
+
                 DO  i = nxl, nxr
                    DO  j = nys, nyn
@@ -1035,9 +1047,9 @@
                                   pavement_subsurface_pars_f%pars_xyz(:,:,j,i),&
                                   pavement_subsurface_pars_f%nz,               &
-                                  pavement_subsurface_pars_f%np )   
+                                  pavement_subsurface_pars_f%np )
                    ENDDO
                 ENDDO
              ELSE
-                pavement_subsurface_pars_f%from_file = .FALSE. 
+                pavement_subsurface_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -1046,5 +1058,5 @@
 !--          Read vegetation parameters and related information
              IF ( check_existence( var_names, 'vegetation_pars' ) )  THEN
-                vegetation_pars_f%from_file = .TRUE. 
+                vegetation_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     vegetation_pars_f%fill,                    &
@@ -1054,5 +1066,5 @@
                 CALL get_dimension_length( id_surf, vegetation_pars_f%np,      &
                                            'nvegetation_pars' )
-!            
+!
 !--             Allocate dimension array and input array for surface fractions
                 ALLOCATE( vegetation_pars_f%pars(0:vegetation_pars_f%np-1) )
@@ -1068,5 +1080,5 @@
                                    vegetation_pars_f%pars_xy(:,nys:nyn,nxl:nxr ) )
              ELSE
-                vegetation_pars_f%from_file = .FALSE. 
+                vegetation_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -1074,12 +1086,12 @@
 !--          Read root parameters/distribution and related information
              IF ( check_existence( var_names, 'soil_pars' ) )  THEN
-                soil_pars_f%from_file = .TRUE. 
+                soil_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
-                                    soil_pars_f%fill,                          & 
-                                    .FALSE., 'soil_pars' ) 
+                                    soil_pars_f%fill,                          &
+                                    .FALSE., 'soil_pars' )
 
                 CALL get_attribute( id_surf, char_lod,                         &
                                     soil_pars_f%lod,                           &
-                                    .FALSE., 'soil_pars' ) 
+                                    .FALSE., 'soil_pars' )
 
 !
@@ -1106,11 +1118,11 @@
 !
 !--             Read soil parameters, depending on level of detail
-                IF ( soil_pars_f%lod == 1 )  THEN      
+                IF ( soil_pars_f%lod == 1 )  THEN
                    ALLOCATE( soil_pars_f%pars_xy(0:soil_pars_f%np-1,           &
-                                                 nys:nyn,nxl:nxr) )       
+                                                 nys:nyn,nxl:nxr) )
                    DO  i = nxl, nxr
                       DO  j = nys, nyn
                          CALL get_variable( id_surf, 'soil_pars', i, j,        &
-                                            soil_pars_f%pars_xy(:,j,i) ) 
+                                            soil_pars_f%pars_xy(:,j,i) )
                       ENDDO
                    ENDDO
@@ -1124,10 +1136,10 @@
                          CALL get_variable( id_surf, 'soil_pars', i, j,        &
                                             soil_pars_f%pars_xyz(:,:,j,i),     &
-                                            soil_pars_f%nz, soil_pars_f%np )  
+                                            soil_pars_f%nz, soil_pars_f%np )
                       ENDDO
                    ENDDO
                 ENDIF
              ELSE
-                soil_pars_f%from_file = .FALSE. 
+                soil_pars_f%from_file = .FALSE.
              ENDIF
 
@@ -1135,14 +1147,14 @@
 !--          Read water parameters and related information
              IF ( check_existence( var_names, 'water_pars' ) )  THEN
-                water_pars_f%from_file = .TRUE. 
+                water_pars_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     water_pars_f%fill,                         &
-                                    .FALSE., 'water_pars' )  
+                                    .FALSE., 'water_pars' )
 !
 !--             Inquire number of water parameters
-                CALL get_dimension_length( id_surf,                            & 
+                CALL get_dimension_length( id_surf,                            &
                                            water_pars_f%np,                    &
                                            'nwater_pars' )
-!            
+!
 !--             Allocate dimension array and input array for water parameters
                 ALLOCATE( water_pars_f%pars(0:water_pars_f%np-1) )
@@ -1156,17 +1168,17 @@
                    DO  j = nys, nyn
                       CALL get_variable( id_surf, 'water_pars', i, j,          &
-                                         water_pars_f%pars_xy(:,j,i) )   
+                                         water_pars_f%pars_xy(:,j,i) )
                    ENDDO
                 ENDDO
              ELSE
-                water_pars_f%from_file = .FALSE. 
+                water_pars_f%from_file = .FALSE.
              ENDIF
 !
 !--          Read root area density - parametrized vegetation
-             IF ( check_existence( var_names, 'root_area_density_lsm' ) )  THEN
+             IF ( check_existence( var_names, 'root_area_dens_s' ) )  THEN
                 root_area_density_lsm_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     root_area_density_lsm_f%fill,              &
-                                    .FALSE., 'root_area_density_lsm' )
+                                    .FALSE., 'root_area_dens_s' )
 !
 !--             Obtain number of soil layers from file and allocate variable
@@ -1181,7 +1193,7 @@
                 DO  i = nxl, nxr
                    DO  j = nys, nyn
-                      CALL get_variable( id_surf, 'root_area_density_lsm',     &
+                      CALL get_variable( id_surf, 'root_area_dens_s',          &
                                          i, j,                                 &
-                                         root_area_density_lsm_f%var(:,j,i) )   
+                                         root_area_density_lsm_f%var(:,j,i) )
                    ENDDO
                 ENDDO
@@ -1193,8 +1205,8 @@
 !--          Read street type and street crossing
              IF ( check_existence( var_names, 'street_type' ) )  THEN
-                street_type_f%from_file = .TRUE. 
+                street_type_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     street_type_f%fill, .FALSE.,               &
-                                    'street_type' )  
+                                    'street_type' )
 !
 !--             PE-wise reading of 2D pavement type.
@@ -1202,5 +1214,5 @@
                 DO  i = nxl, nxr
                    CALL get_variable( id_surf, 'street_type',                  &
-                                      i, street_type_f%var(:,i) )  
+                                      i, street_type_f%var(:,i) )
                 ENDDO
              ELSE
@@ -1209,8 +1221,8 @@
 
              IF ( check_existence( var_names, 'street_crossing' ) )  THEN
-                street_crossing_f%from_file = .TRUE. 
+                street_crossing_f%from_file = .TRUE.
                 CALL get_attribute( id_surf, char_fill,                        &
                                     street_crossing_f%fill, .FALSE.,           &
-                                    'street_crossing' )  
+                                    'street_crossing' )
 !
 !--             PE-wise reading of 2D pavement type.
@@ -1218,5 +1230,5 @@
                 DO  i = nxl, nxr
                    CALL get_variable( id_surf, 'street_crossing',              &
-                                      i, street_crossing_f%var(:,i) )  
+                                      i, street_crossing_f%var(:,i) )
                 ENDDO
              ELSE
@@ -1244,6 +1256,6 @@
 !--    MPI datatypes or rewriting exchange_horiz.
 !--    Moreover, varialbes will be resized in the following, including ghost
-!--    points. 
-!--    Start with 2D Integer variables. Please note, for 8-bit integer 
+!--    points.
+!--    Start with 2D Integer variables. Please note, for 8-bit integer
 !--    variables must be swapt to 32-bit integer before calling exchange_horiz.
        IF ( albedo_type_f%from_file )  THEN
@@ -1294,9 +1306,9 @@
 !
 !--    Exchange 1 ghost point for 3/4-D variables. For the sake of simplicity,
-!--    loop further dimensions to use 2D exchange routines. 
+!--    loop further dimensions to use 2D exchange routines.
 !--    This should be revised later by introducing new MPI datatypes.
        IF ( soil_type_f%from_file  .AND.  ALLOCATED( soil_type_f%var_3d ) )    &
        THEN
-          ALLOCATE( var_dum_int_3d(0:nz_soil,nys:nyn,nxl:nxr) ) 
+          ALLOCATE( var_dum_int_3d(0:nz_soil,nys:nyn,nxl:nxr) )
           var_dum_int_3d = soil_type_f%var_3d
           DEALLOCATE( soil_type_f%var_3d )
@@ -1463,5 +1475,5 @@
              ENDDO
              DEALLOCATE( var_dum_real_4d )
-          ENDIF 
+          ENDIF
        ENDIF
 
@@ -1695,5 +1707,5 @@
        USE indices,                                                            &
            ONLY:  nbgp, nx, nxl, nxr, ny, nyn, nys, nzb, nzt
-                  
+
 
        IMPLICIT NONE
@@ -1712,5 +1724,5 @@
        INTEGER(iwp), DIMENSION(nys-nbgp:nyn+nbgp,nxl-nbgp:nxr+nbgp) ::  var_exchange_int !< dummy variables used to exchange 32-bit Integer arrays
 
-       REAL(wp) ::  dum           !< dummy variable to skip columns while reading topography file   
+       REAL(wp) ::  dum           !< dummy variable to skip columns while reading topography file
 !
 !--    CPU measurement
@@ -1720,5 +1732,5 @@
           IF ( ii == io_group )  THEN
 !
-!--          Input via palm-input data standard 
+!--          Input via palm-input data standard
              IF ( input_pids_static )  THEN
 #if defined ( __netcdf )
@@ -1726,10 +1738,10 @@
 !--             Open file in read-only mode
                 CALL open_read_file( TRIM( input_file_static ) //              &
-                                     TRIM( coupling_char ), id_topo )  
-
-!
-!--             At first, inquire all variable names. 
-!--             This will be used to check whether an  input variable exist 
-!--             or not. 
+                                     TRIM( coupling_char ), id_topo )
+
+!
+!--             At first, inquire all variable names.
+!--             This will be used to check whether an  input variable exist
+!--             or not.
                 CALL inquire_num_variables( id_topo, num_vars )
 !
@@ -1747,32 +1759,32 @@
 !
 !--             Terrain height. First, get variable-related _FillValue attribute
-                IF ( check_existence( var_names, 'orography_2D' ) )  THEN
-                   terrain_height_f%from_file = .TRUE. 
+                IF ( check_existence( var_names, 'zt' ) )  THEN
+                   terrain_height_f%from_file = .TRUE.
                    CALL get_attribute( id_topo, char_fill,                     &
                                        terrain_height_f%fill,                  &
-                                       .FALSE., 'orography_2D' ) 
+                                       .FALSE., 'zt' )
 !
 !--                PE-wise reading of 2D terrain height.
                    ALLOCATE ( terrain_height_f%var(nys:nyn,nxl:nxr)  )
                    DO  i = nxl, nxr
-                      CALL get_variable( id_topo, 'orography_2D',              &
-                                         i, terrain_height_f%var(:,i) )  
+                      CALL get_variable( id_topo, 'zt',                        &
+                                         i, terrain_height_f%var(:,i) )
                    ENDDO
                 ELSE
-                   terrain_height_f%from_file = .FALSE. 
-                ENDIF
-
-!
-!--             Read building height. First, read its _FillValue attribute, 
+                   terrain_height_f%from_file = .FALSE.
+                ENDIF
+
+!
+!--             Read building height. First, read its _FillValue attribute,
 !--             as well as lod attribute
-                buildings_f%from_file = .FALSE. 
-                IF ( check_existence( var_names, 'buildings_2D' ) )  THEN
-                   buildings_f%from_file = .TRUE. 
+                buildings_f%from_file = .FALSE.
+                IF ( check_existence( var_names, 'buildings_2d' ) )  THEN
+                   buildings_f%from_file = .TRUE.
                    CALL get_attribute( id_topo, char_lod, buildings_f%lod,     &
-                                       .FALSE., 'buildings_2D' )     
+                                       .FALSE., 'buildings_2d' )
 
                    CALL get_attribute( id_topo, char_fill,                     &
                                        buildings_f%fill1,                      &
-                                       .FALSE., 'buildings_2D' )
+                                       .FALSE., 'buildings_2d' )
 
 !
@@ -1781,11 +1793,11 @@
                       ALLOCATE ( buildings_f%var_2d(nys:nyn,nxl:nxr) )
                       DO  i = nxl, nxr
-                         CALL get_variable( id_topo, 'buildings_2D',           &
-                                            i, buildings_f%var_2d(:,i) ) 
+                         CALL get_variable( id_topo, 'buildings_2d',           &
+                                            i, buildings_f%var_2d(:,i) )
                       ENDDO
-                   ELSE 
+                   ELSE
                       message_string = 'NetCDF attribute lod ' //              &
                                        '(level of detail) is not set ' //      &
-                                       'properly for buildings_2D.'
+                                       'properly for buildings_2d.'
                       CALL message( 'netcdf_data_input_mod', 'NDI000',         &
                                      1, 2, 0, 6, 0 )
@@ -1795,15 +1807,15 @@
 !--             If available, also read 3D building information. If both are
 !--             available, use 3D information.
-                IF ( check_existence( var_names, 'buildings_3D' ) )  THEN
-                   buildings_f%from_file = .TRUE. 
+                IF ( check_existence( var_names, 'buildings_3d' ) )  THEN
+                   buildings_f%from_file = .TRUE.
                    CALL get_attribute( id_topo, char_lod, buildings_f%lod,     &
-                                       .FALSE., 'buildings_3D' )     
+                                       .FALSE., 'buildings_3d' )
 
                    CALL get_attribute( id_topo, char_fill,                     &
                                        buildings_f%fill2,                      &
-                                       .FALSE., 'buildings_3D' )
+                                       .FALSE., 'buildings_3d' )
 
                    CALL get_dimension_length( id_topo, buildings_f%nz, 'z' )
- 
+
                    IF ( buildings_f%lod == 2 )  THEN
                       ALLOCATE( buildings_f%z(nzb:buildings_f%nz-1) )
@@ -1817,13 +1829,13 @@
                       DO  i = nxl, nxr
                          DO  j = nys, nyn
-                            CALL get_variable( id_topo, 'buildings_3D',        &
+                            CALL get_variable( id_topo, 'buildings_3d',        &
                                                i, j,                           &
                                                buildings_f%var_3d(:,j,i) )
                          ENDDO
                       ENDDO
-                   ELSE 
+                   ELSE
                       message_string = 'NetCDF attribute lod ' //              &
                                        '(level of detail) is not set ' //      &
-                                       'properly for buildings_3D.'
+                                       'properly for buildings_3d.'
                       CALL message( 'netcdf_data_input_mod', 'NDI001',         &
                                      1, 2, 0, 6, 0 )
@@ -1831,29 +1843,29 @@
                 ENDIF
 !
-!--             Read building IDs and its FillValue attribute. Further required 
+!--             Read building IDs and its FillValue attribute. Further required
 !--             for mapping buildings on top of orography.
                 IF ( check_existence( var_names, 'building_id' ) )  THEN
-                   building_id_f%from_file = .TRUE. 
+                   building_id_f%from_file = .TRUE.
                    CALL get_attribute( id_topo, char_fill,                     &
                                        building_id_f%fill, .FALSE.,            &
                                        'building_id' )
-             
+
 
                    ALLOCATE ( building_id_f%var(nys:nyn,nxl:nxr) )
                    DO  i = nxl, nxr
                       CALL get_variable( id_topo, 'building_id',               &
-                                          i, building_id_f%var(:,i) ) 
+                                          i, building_id_f%var(:,i) )
                    ENDDO
                 ELSE
-                   building_id_f%from_file = .FALSE. 
-                ENDIF
-!
-!--             Read building_type and required attributes. 
+                   building_id_f%from_file = .FALSE.
+                ENDIF
+!
+!--             Read building_type and required attributes.
                 IF ( check_existence( var_names, 'building_type' ) )  THEN
-                   building_type_f%from_file = .TRUE. 
+                   building_type_f%from_file = .TRUE.
                    CALL get_attribute( id_topo, char_fill,                     &
                                        building_type_f%fill, .FALSE.,          &
-                                       'building_type' ) 
-                
+                                       'building_type' )
+
                    ALLOCATE ( building_type_f%var(nys:nyn,nxl:nxr) )
                    DO  i = nxl, nxr
@@ -1882,9 +1894,9 @@
                 skip_n_rows = 0
                 DO WHILE ( skip_n_rows < ny - nyn )
-                   READ( 90, * )  
+                   READ( 90, * )
                    skip_n_rows = skip_n_rows + 1
                 ENDDO
 !
-!--             Read data from nyn to nys and nxl to nxr. Therefore, skip 
+!--             Read data from nyn to nys and nxl to nxr. Therefore, skip
 !--             column until nxl-1 is reached
                 ALLOCATE ( buildings_f%var_2d(nys:nyn,nxl:nxr) )
@@ -1896,5 +1908,5 @@
 
                 GOTO 12
-          
+
  10             message_string = 'file TOPOGRAPHY'//TRIM( coupling_char )//    &
                                  ' does not exist'
@@ -1908,5 +1920,5 @@
                 buildings_f%from_file = .TRUE.
 
-             ENDIF 
+             ENDIF
 
           ENDIF
@@ -1920,10 +1932,10 @@
 !
 !--    Check for minimum requirement to setup building topography. If buildings
-!--    are provided, also an ID and a type are required. 
-!--    Note, doing this check in check_parameters 
+!--    are provided, also an ID and a type are required.
+!--    Note, doing this check in check_parameters
 !--    will be too late (data will be used for grid inititialization before).
        IF ( input_pids_static )  THEN
           IF ( buildings_f%from_file  .AND.                                    &
-               .NOT. building_id_f%from_file )  THEN                        
+               .NOT. building_id_f%from_file )  THEN
              message_string = 'If building heigths are prescribed in ' //      &
                               'static input file, also an ID is required.'
@@ -1932,6 +1944,6 @@
        ENDIF
 !
-!--    In case no terrain height is provided by static input file, allocate 
-!--    array nevertheless and set terrain height to 0, which simplifies 
+!--    In case no terrain height is provided by static input file, allocate
+!--    array nevertheless and set terrain height to 0, which simplifies
 !--    topography initialization.
        IF ( .NOT. terrain_height_f%from_file )  THEN
@@ -1940,5 +1952,5 @@
        ENDIF
 !
-!--    Finally, exchange 1 ghost point for building ID and type. 
+!--    Finally, exchange 1 ghost point for building ID and type.
 !--    In case of non-cyclic boundary conditions set Neumann conditions at the
 !--    lateral boundaries.
@@ -1956,6 +1968,6 @@
           ENDIF
           IF ( .NOT. bc_lr_cyc )  THEN
-             IF ( nxl == 0  )  building_id_f%var(:,-1)   = building_id_f%var(:,0)  
-             IF ( nxr == nx )  building_id_f%var(:,nx+1) = building_id_f%var(:,nx)        
+             IF ( nxl == 0  )  building_id_f%var(:,-1)   = building_id_f%var(:,0)
+             IF ( nxr == nx )  building_id_f%var(:,nx+1) = building_id_f%var(:,nx)
           ENDIF
        ENDIF
@@ -1975,6 +1987,6 @@
           ENDIF
           IF ( .NOT. bc_lr_cyc )  THEN
-             IF ( nxl == 0  )  building_type_f%var(:,-1)   = building_type_f%var(:,0)  
-             IF ( nxr == nx )  building_type_f%var(:,nx+1) = building_type_f%var(:,nx)        
+             IF ( nxl == 0  )  building_type_f%var(:,-1)   = building_type_f%var(:,0)
+             IF ( nxr == nx )  building_type_f%var(:,nx+1) = building_type_f%var(:,nx)
           ENDIF
        ENDIF
@@ -1986,5 +1998,5 @@
 ! ------------
 !> Reads initialization data of u, v, w, pt, q, geostrophic wind components,
-!> as well as soil moisture and soil temperature, derived from larger-scale 
+!> as well as soil moisture and soil temperature, derived from larger-scale
 !> model (COSMO) by Inifor.
 !------------------------------------------------------------------------------!
@@ -2014,5 +2026,5 @@
        INTEGER(iwp) ::  off_j      !< offset in y-direction used for reading the v-component
 
-       LOGICAL      ::  check_passed !< flag indicating if a check passed 
+       LOGICAL      ::  check_passed !< flag indicating if a check passed
 
 !
@@ -2021,13 +2033,13 @@
 !
 !--    Please note, Inifor is designed to provide initial data for u and v for
-!--    the prognostic grid points in case of lateral Dirichlet conditions. 
-!--    This means that Inifor provides data from nxlu:nxr (for u) and 
+!--    the prognostic grid points in case of lateral Dirichlet conditions.
+!--    This means that Inifor provides data from nxlu:nxr (for u) and
 !--    from nysv:nyn (for v) at the left and south domain boundary, respectively.
-!--    However, as work-around for the moment, PALM will run with cyclic 
-!--    conditions and will be initialized with data provided by Inifor 
-!--    boundaries in case of Dirichlet. 
+!--    However, as work-around for the moment, PALM will run with cyclic
+!--    conditions and will be initialized with data provided by Inifor
+!--    boundaries in case of Dirichlet.
 !--    Hence, simply set set nxlu/nysv to 1 (will be reset to its original value
 !--    at the end of this routine.
-       IF ( bc_lr_cyc  .AND.  nxl == 0 )  nxlu = 1  
+       IF ( bc_lr_cyc  .AND.  nxl == 0 )  nxlu = 1
        IF ( bc_ns_cyc  .AND.  nys == 0 )  nysv = 1
 
@@ -2042,8 +2054,8 @@
 !--          Open file in read-only mode
              CALL open_read_file( TRIM( input_file_dynamic ) //                &
-                                  TRIM( coupling_char ), id_dynamic )  
-
-!
-!--          At first, inquire all variable names. 
+                                  TRIM( coupling_char ), id_dynamic )
+
+!
+!--          At first, inquire all variable names.
              CALL inquire_num_variables( id_dynamic, num_vars )
 !
@@ -2053,5 +2065,5 @@
 !
 !--          Read vertical dimension of scalar und w grid. Will be used for
-!--          inter- and extrapolation in case of stretched numeric grid. 
+!--          inter- and extrapolation in case of stretched numeric grid.
 !--          This will be removed when Inifor is able to handle stretched grids.
              CALL get_dimension_length( id_dynamic, init_3d%nzu, 'z'     )
@@ -2060,5 +2072,5 @@
 !
 !--          Read also the horizontal dimensions. These are used just used fo
-!--          checking the compatibility with the PALM grid before reading. 
+!--          checking the compatibility with the PALM grid before reading.
              CALL get_dimension_length( id_dynamic, init_3d%nx,  'x'  )
              CALL get_dimension_length( id_dynamic, init_3d%nxu, 'xu' )
@@ -2068,8 +2080,8 @@
 !
 !--          Check for correct horizontal and vertical dimension. Please note,
-!--          checks are performed directly here and not called from 
-!--          check_parameters as some varialbes are still not allocated there.  
-!--          Moreover, please note, u- and v-grid has 1 grid point less on 
-!--          Inifor grid. 
+!--          checks are performed directly here and not called from
+!--          check_parameters as some varialbes are still not allocated there.
+!--          Moreover, please note, u- and v-grid has 1 grid point less on
+!--          Inifor grid.
              IF ( init_3d%nx-1 /= nx  .OR.  init_3d%nxu-1 /= nx - 1  .OR.      &
                   init_3d%ny-1 /= ny  .OR.  init_3d%nyv-1 /= ny - 1 )  THEN
@@ -2102,9 +2114,9 @@
              ENDIF
 !
-!--          Read initial geostrophic wind components at 
-!--          t = 0 (index 1 in file). 
-             IF ( check_existence( var_names, 'ls_forcing_ug' ) )  THEN
+!--          Read initial geostrophic wind components at
+!--          t = 0 (index 1 in file).
+             IF ( check_existence( var_names, 'tend_ug' ) )  THEN
                 ALLOCATE( init_3d%ug_init(nzb:nzt+1) )
-                CALL get_variable_pr( id_dynamic, 'ls_forcing_ug', 1,          &
+                CALL get_variable_pr( id_dynamic, 'tend_ug', 1,                &
                                       init_3d%ug_init )
                 init_3d%from_file_ug = .TRUE.
@@ -2112,7 +2124,7 @@
                 init_3d%from_file_ug = .FALSE.
              ENDIF
-             IF ( check_existence( var_names, 'ls_forcing_vg' ) )  THEN
+             IF ( check_existence( var_names, 'tend_vg' ) )  THEN
                 ALLOCATE( init_3d%vg_init(nzb:nzt+1) )
-                CALL get_variable_pr( id_dynamic, 'ls_forcing_vg', 1,          &
+                CALL get_variable_pr( id_dynamic, 'tend_vg', 1,                &
                                       init_3d%vg_init )
                 init_3d%from_file_vg = .TRUE.
@@ -2121,15 +2133,15 @@
              ENDIF
 !
-!--          Read inital 3D data of u, v, w, pt and q, 
+!--          Read inital 3D data of u, v, w, pt and q,
 !--          derived from COSMO model. Read PE-wise yz-slices.
-!--          Please note, the u-, v- and w-component are defined on different 
+!--          Please note, the u-, v- and w-component are defined on different
 !--          grids with one element less in the x-, y-,
 !--          and z-direction, respectively. Hence, reading is subdivided
-!--          into separate loops. Moreover, i and j are used 
+!--          into separate loops. Moreover, i and j are used
 !--          as start index in the NF90 interface.
-!--          The passed arguments for u, and v are (i,j)-1, respectively, 
+!--          The passed arguments for u, and v are (i,j)-1, respectively,
 !--          in contrast to the remaining quantities. This is because in case
-!--          of forcing is applied, the input data for u and v has one 
-!--          element less along the x- and y-direction respectively. 
+!--          of forcing is applied, the input data for u and v has one
+!--          element less along the x- and y-direction respectively.
 !--          Read u-component
              IF ( check_existence( var_names, 'init_u' ) )  THEN
@@ -2152,12 +2164,12 @@
                 ELSEIF ( init_3d%lod_u == 2 )  THEN
 !
-!--                Set offset value. In case of Dirichlet conditions at the left 
-!--                domain boundary, the u component starts at nxl+1. This case, 
+!--                Set offset value. In case of Dirichlet conditions at the left
+!--                domain boundary, the u component starts at nxl+1. This case,
 !--                the passed start-index for reading the NetCDF data is shifted
-!--                by -1.  
+!--                by -1.
                    off_i = 1 !MERGE( 1, 0, forcing )
 
                    DO  i = nxlu, nxr
-                      DO  j = nys, nyn    
+                      DO  j = nys, nyn
                          CALL get_variable( id_dynamic, 'init_u', i-off_i, j,  &
                                             u(nzb+1:nzt+1,j,i) )
@@ -2190,12 +2202,12 @@
                 ELSEIF ( init_3d%lod_v == 2 )  THEN
 !
-!--                Set offset value. In case of Dirichlet conditions at the south 
-!--                domain boundary, the v component starts at nys+1. This case, 
+!--                Set offset value. In case of Dirichlet conditions at the south
+!--                domain boundary, the v component starts at nys+1. This case,
 !--                the passed start-index for reading the NetCDF data is shifted
-!--                by -1.  
+!--                by -1.
                    off_j = 1 !MERGE( 1, 0, forcing )
 
                    DO  i = nxl, nxr
-                      DO  j = nysv, nyn   
+                      DO  j = nysv, nyn
                          CALL get_variable( id_dynamic, 'init_v', i, j-off_j,  &
                                             v(nzb+1:nzt+1,j,i) )
@@ -2239,6 +2251,6 @@
 !
 !--          Read potential temperature
-             IF ( .NOT. neutral )  THEN      
-                IF ( check_existence( var_names, 'init_pt' ) )  THEN   
+             IF ( .NOT. neutral )  THEN
+                IF ( check_existence( var_names, 'init_pt' ) )  THEN
 !
 !--                Read attributes for the fill value and level-of-detail
@@ -2267,5 +2279,5 @@
                       ENDDO
 
-                   ENDIF 
+                   ENDIF
                    init_3d%from_file_pt = .TRUE.
                 ENDIF
@@ -2385,5 +2397,5 @@
        CALL cpu_log( log_point_s(85), 'NetCDF input init', 'stop' )
 !
-!--    Finally, check if the input data has any fill values. Please note, 
+!--    Finally, check if the input data has any fill values. Please note,
 !--    checks depend on the LOD of the input data.
        IF ( init_3d%from_file_u )  THEN
@@ -2468,5 +2480,5 @@
 !
 !--    Workaround for cyclic conditions. Please see above for further explanation.
-       IF ( bc_lr_cyc  .AND.  nxl == 0 )  nxlu = nxl  
+       IF ( bc_lr_cyc  .AND.  nxl == 0 )  nxlu = nxl
        IF ( bc_ns_cyc  .AND.  nys == 0 )  nysv = nys
 
@@ -2476,5 +2488,5 @@
 ! Description:
 ! ------------
-!> Reads data at lateral and top boundaries derived from larger-scale model 
+!> Reads data at lateral and top boundaries derived from larger-scale model
 !> (COSMO) by Inifor.
 !------------------------------------------------------------------------------!
@@ -2501,7 +2513,7 @@
        INTEGER(iwp) ::  t          !< running index time dimension
 
-       REAL(wp) ::  dum           !< dummy variable to skip columns while reading topography file   
-
-       force%from_file = MERGE( .TRUE., .FALSE., input_pids_dynamic ) 
+       REAL(wp) ::  dum           !< dummy variable to skip columns while reading topography file
+
+       force%from_file = MERGE( .TRUE., .FALSE., input_pids_dynamic )
 !
 !--    Skip input if no forcing from larger-scale models is applied.
@@ -2518,10 +2530,10 @@
 !--          Open file in read-only mode
              CALL open_read_file( TRIM( input_file_dynamic ) //                &
-                                  TRIM( coupling_char ), id_dynamic )  
-!
-!--          Initialize INIFOR forcing. 
+                                  TRIM( coupling_char ), id_dynamic )
+!
+!--          Initialize INIFOR forcing.
              IF ( .NOT. force%init )  THEN
 !
-!--             At first, inquire all variable names. 
+!--             At first, inquire all variable names.
                 CALL inquire_num_variables( id_dynamic, num_vars )
 !
@@ -2567,7 +2579,7 @@
 
 !
-!--          Obtain time index for current input starting at 0. 
-!--          @todo: At the moment time, in INIFOR and simulated time correspond 
-!--                 to each other. If required, adjust to daytime. 
+!--          Obtain time index for current input starting at 0.
+!--          @todo: At the moment time, in INIFOR and simulated time correspond
+!--                 to each other. If required, adjust to daytime.
              force%tind = MINLOC( ABS( force%time - simulated_time ), DIM = 1 )&
                           - 1
@@ -2578,22 +2590,22 @@
              IF ( bc_lr_cyc  .AND.  bc_ns_cyc )  THEN
                 DO  t = force%tind, force%tind_p
-                   CALL get_variable_pr( id_dynamic, 'ls_forcing_ug', t+1,     &
+                   CALL get_variable_pr( id_dynamic, 'tend_ug', t+1,           &
                                          force%ug(t-force%tind,:) )
-                   CALL get_variable_pr( id_dynamic, 'ls_forcing_vg', t+1,     &
+                   CALL get_variable_pr( id_dynamic, 'tend_vg', t+1,           &
                                          force%ug(t-force%tind,:) )
                 ENDDO
-             ENDIF  
-!
-!--          Read data at lateral and top boundaries. Please note, at left and 
-!--          right domain boundary, yz-layers are read for u, v, w, pt and q. 
+             ENDIF
+!
+!--          Read data at lateral and top boundaries. Please note, at left and
+!--          right domain boundary, yz-layers are read for u, v, w, pt and q.
 !--          For the v-component, the data starts at nysv, while for the other
-!--          quantities the data starts at nys. This is equivalent at the north 
-!--          and south domain boundary for the u-component. 
+!--          quantities the data starts at nys. This is equivalent at the north
+!--          and south domain boundary for the u-component.
 !--          The function get_variable_bc assumes the start indices with respect
-!--          to the netcdf file convention (data starts at index 1). For this 
-!--          reason, nys+1 / nxl+1 are passed instead of nys / nxl. For the 
+!--          to the netcdf file convention (data starts at index 1). For this
+!--          reason, nys+1 / nxl+1 are passed instead of nys / nxl. For the
 !--          the u- and v-component at the north/south, and left/right boundary,
-!--          nxlu and nysv are passed, respectively, since these always starts 
-!--          at index 1 in case of forcing. 
+!--          nxlu and nysv are passed, respectively, since these always starts
+!--          at index 1 in case of forcing.
 
              IF ( force_bound_l )  THEN
@@ -2881,9 +2893,9 @@
 
 !
-!--    Finally, after data input set control flag indicating that vertical 
-!--    inter- and/or extrapolation is required. 
-!--    Please note, inter/extrapolation of INIFOR data is only a workaroud, 
-!--    as long as INIFOR delivers vertically equidistant data. 
-       force%interpolated = .FALSE. 
+!--    Finally, after data input set control flag indicating that vertical
+!--    inter- and/or extrapolation is required.
+!--    Please note, inter/extrapolation of INIFOR data is only a workaroud,
+!--    as long as INIFOR delivers vertically equidistant data.
+       force%interpolated = .FALSE.
 
     END SUBROUTINE netcdf_data_input_lsf
@@ -2911,5 +2923,5 @@
 !
 !--    Dynamic input file must also be present if initialization via inifor is
-!--    prescribed. 
+!--    prescribed.
        IF ( .NOT. input_pids_dynamic  .AND.                                    &
             TRIM( initializing_actions ) == 'inifor' )  THEN
@@ -2947,5 +2959,5 @@
        INTEGER(iwp) ::  n_surf !< number of different surface types at given location
 
-       LOGICAL      ::  check_passed !< flag indicating if a check passed 
+       LOGICAL      ::  check_passed !< flag indicating if a check passed
 
 !
@@ -2961,6 +2973,6 @@
        ENDIF
 !
-!--    Check if grid spacing of provided input data matches the respective 
-!--    grid spacing in the model. 
+!--    Check if grid spacing of provided input data matches the respective
+!--    grid spacing in the model.
        IF ( dim_static%x(1) - dim_static%x(0) /= dx  .OR.                      &
             dim_static%y(1) - dim_static%y(0) /= dy )  THEN
@@ -2973,19 +2985,19 @@
 !--    Check orography for fill-values. For the moment, give an error message.
 !--    More advanced methods, e.g. a nearest neighbor algorithm as used in GIS
-!--    systems might be implemented later. 
-!--    Please note, if no terrain height is provided, it is set to 0. 
+!--    systems might be implemented later.
+!--    Please note, if no terrain height is provided, it is set to 0.
        IF ( ANY( terrain_height_f%var == terrain_height_f%fill ) )  THEN
-          message_string = 'NetCDF variable orography_2D is not ' //           &
+          message_string = 'NetCDF variable zt is not ' //                     &
                            'allowed to have missing data'
           CALL message( 'netcdf_data_input_mod', 'NDI013', 2, 2, 0, 6, 0 )
        ENDIF
 !
-!--    If 3D buildings are read, check if building information is consistent 
-!--    to numeric grid. 
+!--    If 3D buildings are read, check if building information is consistent
+!--    to numeric grid.
        IF ( buildings_f%from_file )  THEN
           IF ( buildings_f%lod == 2 )  THEN
              IF ( buildings_f%nz > SIZE( zu ) )  THEN
                 message_string = 'Reading 3D building data - too much ' //     &
-                                 'data points along the vertical coordinate.' 
+                                 'data points along the vertical coordinate.'
                 CALL message( 'netcdf_data_input_mod', 'NDI014', 2, 2, 0, 6, 0 )
              ENDIF
@@ -3003,5 +3015,5 @@
 !--    Skip further checks concerning buildings and natural surface properties
 !--    if no urban surface and land surface model are applied.
-       IF (  .NOT. land_surface  .OR.  .NOT. urban_surface )  RETURN 
+       IF (  .NOT. land_surface  .OR.  .NOT. urban_surface )  RETURN
 !
 !--    Check for minimum requirement of surface-classification data in case
@@ -3017,11 +3029,11 @@
                            'soil_type and water_type are '//                   &
                            'required. If urban-surface model is applied, ' //  &
-                           'also building_type ist required' 
+                           'also building_type ist required'
           CALL message( 'netcdf_data_input_mod', 'NDI016', 1, 2, 0, 6, 0 )
        ENDIF
 !
 !--    Check for general availability of input variables.
-!--    If vegetation_type is 0 at any location, vegetation_pars as well as 
-!--    root_area_density_lsm are required.
+!--    If vegetation_type is 0 at any location, vegetation_pars as well as
+!--    root_area_dens_s are required.
        IF ( vegetation_type_f%from_file )  THEN
           IF ( ANY( vegetation_type_f%var == 0 ) )  THEN
@@ -3033,5 +3045,5 @@
              IF ( .NOT. root_area_density_lsm_f%from_file )  THEN
                 message_string = 'If vegegation_type = 0 at any location, ' // &
-                                 'root_area_density_lsm is required'
+                                 'root_area_dens_s is required'
                 CALL message( 'netcdf_data_input_mod', 'NDI018', 2, 2, 0, 6, 0 )
              ENDIF
@@ -3041,5 +3053,5 @@
 !--    If soil_type is zero at any location, soil_pars is required.
        IF ( soil_type_f%from_file )  THEN
-          check_passed = .TRUE. 
+          check_passed = .TRUE.
           IF ( ALLOCATED( soil_type_f%var_2d ) )  THEN
              IF ( ANY( soil_type_f%var_2d == 0 ) )  THEN
@@ -3054,5 +3066,5 @@
              message_string = 'If soil_type = 0 at any location, ' //          &
                               'soil_pars is required'
-             CALL message( 'netcdf_data_input_mod', 'NDI019', 2, 2, 0, 6, 0 )          
+             CALL message( 'netcdf_data_input_mod', 'NDI019', 2, 2, 0, 6, 0 )
           ENDIF
        ENDIF
@@ -3064,5 +3076,5 @@
                 message_string = 'If building_type = 0 at any location, ' //   &
                                  'building_pars is required'
-                CALL message( 'netcdf_data_input_mod', 'NDI020', 2, 2, 0, 6, 0 )          
+                CALL message( 'netcdf_data_input_mod', 'NDI020', 2, 2, 0, 6, 0 )
              ENDIF
           ENDIF
@@ -3075,6 +3087,6 @@
                 message_string = 'If albedo_type = 0 at any location, ' //     &
                                  'albedo_pars is required'
-                CALL message( 'netcdf_data_input_mod', 'NDI021', 2, 2, 0, 6, 0 )     
-             ENDIF     
+                CALL message( 'netcdf_data_input_mod', 'NDI021', 2, 2, 0, 6, 0 )
+             ENDIF
           ENDIF
        ENDIF
@@ -3086,6 +3098,6 @@
                 message_string = 'If pavement_type = 0 at any location, ' //   &
                                  'pavement_pars is required'
-                CALL message( 'netcdf_data_input_mod', 'NDI022', 2, 2, 0, 6, 0 )     
-             ENDIF     
+                CALL message( 'netcdf_data_input_mod', 'NDI022', 2, 2, 0, 6, 0 )
+             ENDIF
           ENDIF
        ENDIF
@@ -3098,6 +3110,6 @@
                 message_string = 'If pavement_type = 0 at any location, ' //   &
                                  'pavement_subsurface_pars is required'
-                CALL message( 'netcdf_data_input_mod', 'NDI023', 2, 2, 0, 6, 0 )     
-             ENDIF     
+                CALL message( 'netcdf_data_input_mod', 'NDI023', 2, 2, 0, 6, 0 )
+             ENDIF
           ENDIF
        ENDIF
@@ -3109,6 +3121,6 @@
                 message_string = 'If water_type = 0 at any location, ' //      &
                                  'water_pars is required'
-                CALL message( 'netcdf_data_input_mod', 'NDI024', 2, 2, 0, 6, 0 )     
-             ENDIF     
+                CALL message( 'netcdf_data_input_mod', 'NDI024', 2, 2, 0, 6, 0 )
+             ENDIF
           ENDIF
        ENDIF
@@ -3118,5 +3130,5 @@
           DO  j = nys, nyn
 !
-!--          For each (y,x)-location at least one of the parameters 
+!--          For each (y,x)-location at least one of the parameters
 !--          vegetation_type, pavement_type, building_type, or water_type
 !--          must be set to a nonÂ­missing value.
@@ -3132,5 +3144,5 @@
              ENDIF
 !
-!--          Note that a soil_type is required for each location (y,x) where 
+!--          Note that a soil_type is required for each location (y,x) where
 !--          either vegetation_type or pavement_type is a nonÂ­missing value.
              IF ( ( vegetation_type_f%var(j,i) /= vegetation_type_f%fill  .OR. &
@@ -3154,6 +3166,6 @@
              ENDIF
 !
-!--          Check for consistency of surface fraction. If more than one type 
-!--          is set, surface fraction need to be given and the sum must not 
+!--          Check for consistency of surface fraction. If more than one type
+!--          is set, surface fraction need to be given and the sum must not
 !--          be larger than 1.
              n_surf = 0
@@ -3164,5 +3176,5 @@
              IF ( pavement_type_f%var(j,i)   /= pavement_type_f%fill )         &
                 n_surf = n_surf + 1
-             
+
              IF ( n_surf > 1 )  THEN
                 IF ( ANY ( surface_fraction_f%frac(:,j,i) ==                   &
@@ -3181,6 +3193,6 @@
              ENDIF
 !
-!--          Check for further mismatches, e.g. vegetation_type is set but 
-!--          surface vegetation fraction is zero. 
+!--          Check for further mismatches, e.g. vegetation_type is set but
+!--          surface vegetation fraction is zero.
              IF ( ( vegetation_type_f%var(j,i) /= vegetation_type_f%fill  .AND.&
                  ( surface_fraction_f%frac(ind_veg_wall,j,i) == 0.0_wp .OR.    &
@@ -3197,5 +3209,5 @@
                    surface_fraction_f%frac(ind_wat_win,j,i) ==                 &
                                                      surface_fraction_f%fill ) &
-                  ) )  THEN 
+                  ) )  THEN
                 WRITE( message_string, * ) 'Mismatch in setting of '     //    &
                              'surface_fraction. Vegetation-, pavement-, or '// &
@@ -3206,6 +3218,6 @@
              ENDIF
 !
-!--          Check for further mismatches, e.g. vegetation_type is not set        
-!--          surface vegetation fraction is non-zero. 
+!--          Check for further mismatches, e.g. vegetation_type is not set
+!--          surface vegetation fraction is non-zero.
              IF ( ( vegetation_type_f%var(j,i) == vegetation_type_f%fill  .AND.&
                  ( surface_fraction_f%frac(ind_veg_wall,j,i) /= 0.0_wp .AND.   &
@@ -3222,5 +3234,5 @@
                    surface_fraction_f%frac(ind_wat_win,j,i) /=                 &
                                                      surface_fraction_f%fill ) &
-                  ) )  THEN 
+                  ) )  THEN
                 WRITE( message_string, * ) 'Mismatch in setting of '     //    &
                              'surface_fraction. Vegetation-, pavement-, or '// &
@@ -3232,6 +3244,6 @@
              ENDIF
 !
-!--          Check vegetation_pars. If vegetation_type is 0, all parameters 
-!--          need to be set, otherwise, single parameters set by 
+!--          Check vegetation_pars. If vegetation_type is 0, all parameters
+!--          need to be set, otherwise, single parameters set by
 !--          vegetation_type can be overwritten.
              IF ( vegetation_type_f%from_file )  THEN
@@ -3240,6 +3252,6 @@
                              vegetation_pars_f%fill ) )  THEN
                       message_string = 'If vegetation_type(y,x) = 0, all '  // &
-                                       'parameters of vegetation_pars at '//   &  
-                                       'this location must be set.' 
+                                       'parameters of vegetation_pars at '//   &
+                                       'this location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI031',         &
                                      2, 2, 0, 6, 0 )
@@ -3248,5 +3260,5 @@
              ENDIF
 !
-!--          Check root distribution. If vegetation_type is 0, all levels must 
+!--          Check root distribution. If vegetation_type is 0, all levels must
 !--          be set.
              IF ( vegetation_type_f%from_file )  THEN
@@ -3255,6 +3267,6 @@
                              root_area_density_lsm_f%fill ) )  THEN
                       message_string = 'If vegetation_type(y,x) = 0, all ' //  &
-                                       'levels of root_area_density_lsm ' //   &
-                                       'must be set at this location.' 
+                                       'levels of root_area_dens_s ' //        &
+                                       'must be set at this location.'
                       CALL message( 'netcdf_data_input_mod', 'NDI032',         &
                                      2, 2, 0, 6, 0 )
@@ -3263,5 +3275,5 @@
              ENDIF
 !
-!--          Check soil parameters. If soil_type is 0, all parameters  
+!--          Check soil parameters. If soil_type is 0, all parameters
 !--          must be set.
              IF ( soil_type_f%from_file )  THEN
@@ -3279,6 +3291,6 @@
                 ENDIF
                 IF ( .NOT. check_passed )  THEN
-                   message_string = 'If soil_type(y,x) = 0, all levels of '  //&  
-                                    'soil_pars at this location must be set.' 
+                   message_string = 'If soil_type(y,x) = 0, all levels of '  //&
+                                    'soil_pars at this location must be set.'
                    CALL message( 'netcdf_data_input_mod', 'NDI033',            &
                                   2, 2, 0, 6, 0 )
@@ -3287,5 +3299,5 @@
 
 !
-!--          Check building parameters. If building_type is 0, all parameters  
+!--          Check building parameters. If building_type is 0, all parameters
 !--          must be set.
              IF ( building_type_f%from_file )  THEN
@@ -3295,5 +3307,5 @@
                       message_string = 'If building_type(y,x) = 0, all ' //    &
                                        'parameters of building_pars at this '//&
-                                       'location must be set.' 
+                                       'location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI034',         &
                                      2, 2, 0, 6, 0 )
@@ -3332,5 +3344,5 @@
 !
 !--          Check if at each location where a building is present also an ID
-!--          is set and vice versa. 
+!--          is set and vice versa.
              IF ( buildings_f%from_file )  THEN
                 IF ( buildings_f%lod == 1 )  THEN
@@ -3356,5 +3368,5 @@
 !
 !--          Check if at each location where a building ID or a -type is set
-!--          also a bulding is defined. 
+!--          also a bulding is defined.
              IF ( buildings_f%from_file )  THEN
                 IF ( buildings_f%lod == 1 )  THEN
@@ -3377,5 +3389,5 @@
              ENDIF
 !
-!--          Check albedo parameters. If albedo_type is 0, all parameters  
+!--          Check albedo parameters. If albedo_type is 0, all parameters
 !--          must be set.
              IF ( albedo_type_f%from_file )  THEN
@@ -3385,5 +3397,5 @@
                       message_string = 'If albedo_type(y,x) = 0, all ' //      &
                                        'parameters of albedo_pars at this ' // &
-                                       'location must be set.' 
+                                       'location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI037',         &
                                      2, 2, 0, 6, 0 )
@@ -3393,5 +3405,5 @@
 
 !
-!--          Check pavement parameters. If pavement_type is 0, all parameters  
+!--          Check pavement parameters. If pavement_type is 0, all parameters
 !--          of pavement_pars must be set at this location.
              IF ( pavement_type_f%from_file )  THEN
@@ -3401,5 +3413,5 @@
                       message_string = 'If pavement_type(y,x) = 0, all ' //    &
                                        'parameters of pavement_pars at this '//&
-                                       'location must be set.' 
+                                       'location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI038',         &
                                      2, 2, 0, 6, 0 )
@@ -3408,6 +3420,6 @@
              ENDIF
 !
-!--          Check pavement-subsurface parameters. If pavement_type is 0, 
-!--          all parameters of pavement_subsurface_pars must be set  at this 
+!--          Check pavement-subsurface parameters. If pavement_type is 0,
+!--          all parameters of pavement_subsurface_pars must be set  at this
 !--          location.
              IF ( pavement_type_f%from_file )  THEN
@@ -3418,5 +3430,5 @@
                                        'parameters of '                  //    &
                                        'pavement_subsurface_pars at this '//   &
-                                       'location must be set.' 
+                                       'location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI039',         &
                                      2, 2, 0, 6, 0 )
@@ -3426,5 +3438,5 @@
 
 !
-!--          Check water parameters. If water_type is 0, all parameters  
+!--          Check water parameters. If water_type is 0, all parameters
 !--          must be set  at this location.
              IF ( water_type_f%from_file )  THEN
@@ -3434,5 +3446,5 @@
                       message_string = 'If water_type(y,x) = 0, all ' //       &
                                        'parameters of water_pars at this ' //  &
-                                       'location must be set.' 
+                                       'location must be set.'
                       CALL message( 'netcdf_data_input_mod', 'NDI040',         &
                                      2, 2, 0, 6, 0 )
@@ -3461,9 +3473,9 @@
        INTEGER(iwp) ::  kl      !< lower index bound along z-direction
        INTEGER(iwp) ::  ku      !< upper index bound along z-direction
-       INTEGER(iwp) ::  nz_file !< number of vertical levels on file 
-
-
-       REAL(wp), DIMENSION(:) ::  z_grid                  !< grid levels on numeric grid 
-       REAL(wp), DIMENSION(:) ::  z_file                  !< grid levels on file grid 
+       INTEGER(iwp) ::  nz_file !< number of vertical levels on file
+
+
+       REAL(wp), DIMENSION(:) ::  z_grid                  !< grid levels on numeric grid
+       REAL(wp), DIMENSION(:) ::  z_file                  !< grid levels on file grid
        REAL(wp), DIMENSION(:), INTENT(INOUT) ::  var      !< treated variable
        REAL(wp), DIMENSION(:), ALLOCATABLE   ::  var_tmp  !< temporary variable
@@ -3483,5 +3495,5 @@
                                        ( var(kk+1)        - var(kk)    ) /     &
                                        ( z_file(kk+1)     - z_file(kk) ) *     &
-                                       ( z_grid(k)        - z_file(kk) ) 
+                                       ( z_grid(k)        - z_file(kk) )
 
              ELSEIF ( z_file(kk) - z_grid(k) > 0.0_wp )  THEN
@@ -3489,14 +3501,14 @@
                                          ( var(kk)     - var(kk-1)    ) /      &
                                          ( z_file(kk)  - z_file(kk-1) ) *      &
-                                         ( z_grid(k)   - z_file(kk-1) ) 
+                                         ( z_grid(k)   - z_file(kk-1) )
              ENDIF
 !
 !--       Extrapolate
           ELSE
-     
+
              var_tmp(k) = var(ku) +   ( var(ku)    - var(ku-1)      ) /        &
                                       ( z_file(ku) - z_file(ku-1)   ) *        &
-                                      ( z_grid(k)  - z_file(ku)     )  
-    
+                                      ( z_grid(k)  - z_file(ku)     )
+
           ENDIF
 
@@ -3519,5 +3531,5 @@
     SUBROUTINE netcdf_data_input_interpolate_1d_soil( var, var_file,           &
                                                       z_grid, z_file,          &
-                                                      nzb_var, nzt_var,        & 
+                                                      nzb_var, nzt_var,        &
                                                       nzb_file, nzt_file )
 
@@ -3529,13 +3541,13 @@
        INTEGER(iwp) ::  kk       !< running index z-direction stretched model grid
        INTEGER(iwp) ::  ku       !< upper index bound along z-direction for varialbe from file
-       INTEGER(iwp) ::  nzb_var  !< lower bound of final array 
-       INTEGER(iwp) ::  nzt_var  !< upper bound of final array 
-       INTEGER(iwp) ::  nzb_file !< lower bound of file array 
-       INTEGER(iwp) ::  nzt_file !< upper bound of file array 
+       INTEGER(iwp) ::  nzb_var  !< lower bound of final array
+       INTEGER(iwp) ::  nzt_var  !< upper bound of final array
+       INTEGER(iwp) ::  nzb_file !< lower bound of file array
+       INTEGER(iwp) ::  nzt_file !< upper bound of file array
 
 !        LOGICAL, OPTIONAL ::  depth !< flag indicating reverse z-axis, i.e. depth instead of height, e.g. in case of ocean or soil
 
-       REAL(wp), DIMENSION(nzb_var:nzt_var)   ::  z_grid   !< grid levels on numeric grid 
-       REAL(wp), DIMENSION(nzb_file:nzt_file) ::  z_file   !< grid levels on file grid 
+       REAL(wp), DIMENSION(nzb_var:nzt_var)   ::  z_grid   !< grid levels on numeric grid
+       REAL(wp), DIMENSION(nzb_file:nzt_file) ::  z_file   !< grid levels on file grid
        REAL(wp), DIMENSION(nzb_var:nzt_var)   ::  var      !< treated variable
        REAL(wp), DIMENSION(nzb_file:nzt_file) ::  var_file !< temporary variable
@@ -3548,5 +3560,5 @@
           kk = MINLOC( ABS( z_file - z_grid(k) ), DIM = 1 )
 !
-!--       If closest index on Inifor grid is smaller than top index, 
+!--       If closest index on Inifor grid is smaller than top index,
 !--       interpolate the data
           IF ( kk < nzt_file )  THEN
@@ -3554,10 +3566,10 @@
                 var(k) = var_file(kk) + ( var_file(kk+1) - var_file(kk) ) /    &
                                         ( z_file(kk+1)   - z_file(kk)   ) *    &
-                                        ( z_grid(k)      - z_file(kk)   ) 
+                                        ( z_grid(k)      - z_file(kk)   )
 
              ELSEIF ( z_file(kk) - z_grid(k) > 0.0_wp )  THEN
                 var(k) = var_file(kk-1) + ( var_file(kk) - var_file(kk-1) ) /  &
                                           ( z_file(kk)   - z_file(kk-1)   ) *  &
-                                          ( z_grid(k)    - z_file(kk-1)   ) 
+                                          ( z_grid(k)    - z_file(kk-1)   )
              ENDIF
 !
@@ -3566,5 +3578,5 @@
              var(k) = var_file(ku) + ( var_file(ku) - var_file(ku-1) ) /       &
                                      ( z_file(ku)   - z_file(ku-1)   ) *       &
-                                     ( z_grid(k)    - z_file(ku)     )  
+                                     ( z_grid(k)    - z_file(ku)     )
 
           ENDIF
@@ -3592,9 +3604,9 @@
        INTEGER(iwp) ::  kl      !< lower index bound along z-direction
        INTEGER(iwp) ::  ku      !< upper index bound along z-direction
-       INTEGER(iwp) ::  nz_file !< number of vertical levels on file 
-
-
-       REAL(wp), DIMENSION(:) ::  z_grid                  !< grid levels on numeric grid 
-       REAL(wp), DIMENSION(:) ::  z_file                  !< grid levels on file grid 
+       INTEGER(iwp) ::  nz_file !< number of vertical levels on file
+
+
+       REAL(wp), DIMENSION(:) ::  z_grid                  !< grid levels on numeric grid
+       REAL(wp), DIMENSION(:) ::  z_file                  !< grid levels on file grid
        REAL(wp), DIMENSION(:,:), INTENT(INOUT) ::  var    !< treated variable
        REAL(wp), DIMENSION(:), ALLOCATABLE   ::  var_tmp  !< temporary variable
@@ -3617,5 +3629,5 @@
                                           ( var(kk+1,i)      - var(kk,i)  ) /  &
                                           ( z_file(kk+1)     - z_file(kk) ) *  &
-                                          ( z_grid(k)        - z_file(kk) ) 
+                                          ( z_grid(k)        - z_file(kk) )
 
                 ELSEIF ( z_file(kk) - z_grid(k) > 0.0_wp )  THEN
@@ -3623,14 +3635,14 @@
                                             ( var(kk,i)   - var(kk-1,i)  ) /   &
                                             ( z_file(kk)  - z_file(kk-1) ) *   &
-                                            ( z_grid(k)   - z_file(kk-1) ) 
+                                            ( z_grid(k)   - z_file(kk-1) )
                 ENDIF
 !
 !--          Extrapolate
              ELSE
-     
+
                 var_tmp(k) = var(ku,i) + ( var(ku,i)  - var(ku-1,i)    ) /     &
                                          ( z_file(ku) - z_file(ku-1)   ) *     &
-                                         ( z_grid(k)  - z_file(ku)     )  
-    
+                                         ( z_grid(k)  - z_file(ku)     )
+
              ENDIF
 
@@ -3664,7 +3676,7 @@
        INTEGER(iwp) ::  kl      !< lower index bound along z-direction
        INTEGER(iwp) ::  ku      !< upper index bound along z-direction
-       INTEGER(iwp) ::  nz_file !< number of vertical levels on file 
-
-       REAL(wp), DIMENSION(:) ::  z_grid                      !< grid levels on numeric grid 
+       INTEGER(iwp) ::  nz_file !< number of vertical levels on file
+
+       REAL(wp), DIMENSION(:) ::  z_grid                      !< grid levels on numeric grid
        REAL(wp), DIMENSION(:) ::  z_file                      !< grid levels on file grid
        REAL(wp), DIMENSION(:,:,:), INTENT(INOUT) ::  var      !< treated variable
@@ -3684,5 +3696,5 @@
              DO  k = kl, ku
 
-                kk = MINLOC( ABS( z_file - z_grid(k) ), DIM = 1 ) 
+                kk = MINLOC( ABS( z_file - z_grid(k) ), DIM = 1 )
 
                 IF ( kk < ku )  THEN
@@ -3691,5 +3703,5 @@
                                              ( var(kk+1,j,i) - var(kk,j,i) ) / &
                                              ( z_file(kk+1)  - z_file(kk)  ) * &
-                                             ( z_grid(k)     - z_file(kk)  ) 
+                                             ( z_grid(k)     - z_file(kk)  )
 
                    ELSEIF ( z_file(kk) - z_grid(k) > 0.0_wp )  THEN
@@ -3697,5 +3709,5 @@
                                              ( var(kk,j,i) - var(kk-1,j,i) ) / &
                                              ( z_file(kk)  - z_file(kk-1)  ) * &
-                                             ( z_grid(k)   - z_file(kk-1)  ) 
+                                             ( z_grid(k)   - z_file(kk-1)  )
                    ENDIF
 !
@@ -3705,5 +3717,5 @@
                                        ( var(ku,j,i)  - var(ku-1,j,i)   ) /    &
                                        ( z_file(ku)   - z_file(ku-1)    ) *    &
-                                       ( z_grid(k)    - z_file(ku)      )  
+                                       ( z_grid(k)    - z_file(ku)      )
 
                 ENDIF
@@ -3817,5 +3829,5 @@
 
        CHARACTER(LEN=*)            ::  attribute_name   !< attribute name
-       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name 
+       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)    ::  id               !< file id
@@ -3832,5 +3844,5 @@
           CALL handle_error( 'get_attribute_int32 global', 522 )
 !
-!--    Read attributes referring to a single variable. Therefore, first inquire 
+!--    Read attributes referring to a single variable. Therefore, first inquire
 !--    variable id
        ELSE
@@ -3838,5 +3850,5 @@
           CALL handle_error( 'get_attribute_int32', 522 )
           nc_stat = NF90_GET_ATT( id, id_var, TRIM( attribute_name ), value )
-          CALL handle_error( 'get_attribute_int32', 522 )       
+          CALL handle_error( 'get_attribute_int32', 522 )
        ENDIF
 #endif
@@ -3856,5 +3868,5 @@
 
        CHARACTER(LEN=*)            ::  attribute_name   !< attribute name
-       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name 
+       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)    ::  id               !< file id
@@ -3871,5 +3883,5 @@
           CALL handle_error( 'get_attribute_int8 global', 523 )
 !
-!--    Read attributes referring to a single variable. Therefore, first inquire 
+!--    Read attributes referring to a single variable. Therefore, first inquire
 !--    variable id
        ELSE
@@ -3877,5 +3889,5 @@
           CALL handle_error( 'get_attribute_int8', 523 )
           nc_stat = NF90_GET_ATT( id, id_var, TRIM( attribute_name ), value )
-          CALL handle_error( 'get_attribute_int8', 523 )       
+          CALL handle_error( 'get_attribute_int8', 523 )
        ENDIF
 #endif
@@ -3895,5 +3907,5 @@
 
        CHARACTER(LEN=*)            ::  attribute_name   !< attribute name
-       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name 
+       CHARACTER(LEN=*), OPTIONAL  ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)    ::  id               !< file id
@@ -3912,5 +3924,5 @@
           CALL handle_error( 'get_attribute_real global', 524 )
 !
-!-- Read attributes referring to a single variable. Therefore, first inquire 
+!-- Read attributes referring to a single variable. Therefore, first inquire
 !-- variable id
        ELSE
@@ -3918,5 +3930,5 @@
           CALL handle_error( 'get_attribute_real', 524 )
           nc_stat = NF90_GET_ATT( id, id_var, TRIM( attribute_name ), value )
-          CALL handle_error( 'get_attribute_real', 524 )       
+          CALL handle_error( 'get_attribute_real', 524 )
        ENDIF
 #endif
@@ -3938,5 +3950,5 @@
 
        CHARACTER(LEN=*)                ::  attribute_name   !< attribute name
-       CHARACTER(LEN=*), OPTIONAL      ::  variable_name    !< variable name 
+       CHARACTER(LEN=*), OPTIONAL      ::  variable_name    !< variable name
        CHARACTER(LEN=*), INTENT(INOUT) ::  value            !< read value
 
@@ -3953,5 +3965,5 @@
           CALL handle_error( 'get_attribute_string global', 525 )
 !
-!--    Read attributes referring to a single variable. Therefore, first inquire 
+!--    Read attributes referring to a single variable. Therefore, first inquire
 !--    variable id
        ELSE
@@ -3960,5 +3972,5 @@
 
           nc_stat = NF90_GET_ATT( id, id_var, TRIM( attribute_name ), value )
-          CALL handle_error( 'get_attribute_string',525 ) 
+          CALL handle_error( 'get_attribute_string',525 )
 
        ENDIF
@@ -3980,5 +3992,5 @@
        IMPLICIT NONE
 
-       CHARACTER(LEN=*)            ::  variable_name    !< dimension name 
+       CHARACTER(LEN=*)            ::  variable_name    !< dimension name
        CHARACTER(LEN=100)          ::  dum              !< dummy variable to receive return character
 
@@ -3994,5 +4006,5 @@
 !--    Inquire dimension length
        nc_stat = NF90_INQUIRE_DIMENSION( id, id_dim, dum, LEN = dim_len )
-       CALL handle_error( 'get_dimension_length', 526 ) 
+       CALL handle_error( 'get_dimension_length', 526 )
 
 #endif
@@ -4002,5 +4014,5 @@
 ! Description:
 ! ------------
-!> Reads a 1D integer variable from file. 
+!> Reads a 1D integer variable from file.
 !------------------------------------------------------------------------------!
      SUBROUTINE get_variable_1d_int( id, variable_name, var )
@@ -4010,5 +4022,5 @@
        IMPLICIT NONE
 
-       CHARACTER(LEN=*)            ::  variable_name    !< variable name 
+       CHARACTER(LEN=*)            ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)    ::  id               !< file id
@@ -4025,5 +4037,5 @@
 !--    Inquire dimension length
        nc_stat = NF90_GET_VAR( id, id_var, var )
-       CALL handle_error( 'get_variable_1d_int', 527 ) 
+       CALL handle_error( 'get_variable_1d_int', 527 )
 
 #endif
@@ -4033,5 +4045,5 @@
 ! Description:
 ! ------------
-!> Reads a 1D float variable from file. 
+!> Reads a 1D float variable from file.
 !------------------------------------------------------------------------------!
      SUBROUTINE get_variable_1d_real( id, variable_name, var )
@@ -4041,5 +4053,5 @@
        IMPLICIT NONE
 
-       CHARACTER(LEN=*)            ::  variable_name    !< variable name 
+       CHARACTER(LEN=*)            ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)    ::  id               !< file id
@@ -4056,5 +4068,5 @@
 !--    Inquire dimension length
        nc_stat = NF90_GET_VAR( id, id_var, var )
-       CALL handle_error( 'get_variable_1d_real', 527 ) 
+       CALL handle_error( 'get_variable_1d_real', 527 )
 
 #endif
@@ -4065,5 +4077,5 @@
 ! Description:
 ! ------------
-!> Reads a time-dependent 1D float variable from file. 
+!> Reads a time-dependent 1D float variable from file.
 !------------------------------------------------------------------------------!
     SUBROUTINE get_variable_pr( id, variable_name, t, var )
@@ -4074,5 +4086,5 @@
        IMPLICIT NONE
 
-       CHARACTER(LEN=*)                      ::  variable_name    !< variable name 
+       CHARACTER(LEN=*)                      ::  variable_name    !< variable name
 
        INTEGER(iwp), INTENT(IN)              ::  id               !< file id
@@ -4092,9 +4104,9 @@
        nc_stat = NF90_INQUIRE_DIMENSION( id, id_dim(1), LEN = n_file )
 !
-!--    Read variable. 
+!--    Read variable.
        nc_stat = NF90_GET_VAR( id, id_var, var,                                &
                                start = (/ 1,      t     /),                    &
                                count = (/ n_file, 1     /) )
-       CALL handle_error( 'get_variable_pr', 527 ) 
+       CALL handle_error( 'get_variable_pr', 527 )
 
 #endif
@@ -4105,7 +4117,7 @@
 ! Description:
 ! ------------
-!> Reads a 2D REAL variable from a file. Reading is done processor-wise, 
-!> i.e. each core reads its own domain in slices along x. 
-!------------------------------------------------------------------------------! 
+!> Reads a 2D REAL variable from a file. Reading is done processor-wise,
+!> i.e. each core reads its own domain in slices along x.
+!------------------------------------------------------------------------------!
     SUBROUTINE get_variable_2d_real( id, variable_name, i, var )
 
@@ -4139,6 +4151,6 @@
 ! Description:
 ! ------------
-!> Reads a 2D 32-bit INTEGER variable from file. Reading is done processor-wise, 
-!> i.e. each core reads its own domain in slices along x. 
+!> Reads a 2D 32-bit INTEGER variable from file. Reading is done processor-wise,
+!> i.e. each core reads its own domain in slices along x.
 !------------------------------------------------------------------------------!
     SUBROUTINE get_variable_2d_int32( id, variable_name, i, var )
@@ -4172,6 +4184,6 @@
 ! Description:
 ! ------------
-!> Reads a 2D 8-bit INTEGER variable from file. Reading is done processor-wise, 
-!> i.e. each core reads its own domain in slices along x. 
+!> Reads a 2D 8-bit INTEGER variable from file. Reading is done processor-wise,
+!> i.e. each core reads its own domain in slices along x.
 !------------------------------------------------------------------------------!
     SUBROUTINE get_variable_2d_int8( id, variable_name, i, var )
@@ -4249,5 +4261,5 @@
 ! Description:
 ! ------------
-!> Reads a 3D float variable from file.  
+!> Reads a 3D float variable from file.
 !------------------------------------------------------------------------------!
     SUBROUTINE get_variable_3d_real( id, variable_name, i, j, var )
@@ -4369,5 +4381,5 @@
 ! Description:
 ! ------------
-!> Reads a 4D float variable from file. Note, in constrast to 3D versions, 
+!> Reads a 4D float variable from file. Note, in constrast to 3D versions,
 !> dimensions are already inquired and passed so that they are known here.
 !------------------------------------------------------------------------------!
@@ -4411,5 +4423,5 @@
 ! Description:
 ! ------------
-!> Reads a 3D float variable at left, right, north, south and top boundaries. 
+!> Reads a 3D float variable at left, right, north, south and top boundaries.
 !------------------------------------------------------------------------------!
     SUBROUTINE get_variable_bc( id, variable_name, t_start,                    &
@@ -4431,5 +4443,5 @@
        INTEGER(iwp)                  ::  t_start         !< start index at time dimension with respect to netcdf convention
 
-       REAL(wp), DIMENSION(:), INTENT(INOUT) ::  var     !< input variable 
+       REAL(wp), DIMENSION(:), INTENT(INOUT) ::  var     !< input variable
 #if defined( __netcdf )
 
@@ -4440,6 +4452,6 @@
 !--    Get variable
        nc_stat = NF90_GET_VAR( id, id_var, var,                              &
-                               start = (/ i3_s, i2_s, t_start /),            & 
-                               count = (/ count_3, count_2, 1 /) )        
+                               start = (/ i3_s, i2_s, t_start /),            &
+                               count = (/ count_3, count_2, 1 /) )
 
        CALL handle_error( 'get_variable_bc', 532 )
@@ -4452,5 +4464,5 @@
 ! Description:
 ! ------------
-!> Inquires the number of variables in a file  
+!> Inquires the number of variables in a file
 !------------------------------------------------------------------------------!
     SUBROUTINE inquire_num_variables( id, num_vars )
@@ -4475,5 +4487,5 @@
 ! Description:
 ! ------------
-!> Inquires the variable names belonging to a file. 
+!> Inquires the variable names belonging to a file.
 !------------------------------------------------------------------------------!
     SUBROUTINE inquire_variable_names( id, var_names )
