Index: /palm/trunk/SOURCE/advec_s_bc.f90
===================================================================
--- /palm/trunk/SOURCE/advec_s_bc.f90	(revision 3635)
+++ /palm/trunk/SOURCE/advec_s_bc.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 2718 2018-01-02 08:49:38Z maronga
 ! Corrected "Former revisions" section
 ! 
@@ -205,9 +208,5 @@
        REAL(wp) ::  fmax_l(2) !<
        
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
-#endif
 
        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a0   !<
Index: /palm/trunk/SOURCE/advec_s_pw.f90
===================================================================
--- /palm/trunk/SOURCE/advec_s_pw.f90	(revision 3635)
+++ /palm/trunk/SOURCE/advec_s_pw.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3547 2018-11-21 13:21:24Z suehring
 ! variables documented
 ! 
@@ -136,9 +139,5 @@
        REAL(wp)     ::  gv  !< local additional advective velocity
 
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
-#endif
  
 
@@ -207,9 +206,5 @@
        REAL(wp)     ::  gv  !< local additional advective velocity
 
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
-#endif
 
 
Index: /palm/trunk/SOURCE/advec_s_up.f90
===================================================================
--- /palm/trunk/SOURCE/advec_s_up.f90	(revision 3635)
+++ /palm/trunk/SOURCE/advec_s_up.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3547 2018-11-21 13:21:24Z suehring
 ! variables documented
 ! 
@@ -133,9 +136,6 @@
        REAL(wp) ::  vkomp !< advection velocity along y-direction 
        REAL(wp) ::  wkomp !< advection velocity along z-direction 
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !< treated scalar
-#else
+
        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !< treated scalar
-#endif
 
 
@@ -213,9 +213,5 @@
        REAL(wp) ::  wkomp !< advection velocity along z-direction 
        
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !< treated scalar
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !< treated scalar
-#endif
 
 
Index: /palm/trunk/SOURCE/bulk_cloud_model_mod.f90
===================================================================
--- /palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/bulk_cloud_model_mod.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3622 2018-12-12 09:52:53Z schwenkel
 ! Important bugfix in case of restart runs.
 ! 
@@ -185,11 +188,4 @@
 
     USE arrays_3d,                                                             &
-#if defined (__nopointer)
-        ONLY:  ddzu, diss, dzu, dzw, hyp, hyrho,                               &
-               nc,                   nc_p, nr,                   nr_p,         &
-               precipitation_amount, prr, pt, d_exner, pt_init, q, ql,         &
-               qc,                   qc_p, qr,                   qr_p,         &
-               exner, zu, tnc_m, tnr_m, tqc_m, tqr_m
-#else
         ONLY:  ddzu, diss, dzu, dzw, hyp, hyrho,                               &
                nc, nc_1, nc_2, nc_3, nc_p, nr, nr_1, nr_2, nr_3, nr_p,         &
@@ -197,5 +193,4 @@
                qc, qc_1, qc_2, qc_3, qc_p, qr, qr_1, qr_2, qr_3, qr_p,         &
                exner, zu, tnc_m, tnr_m, tqc_m, tqr_m
-#endif
 
     USE averaging,                                                             &
@@ -824,19 +819,11 @@
        INTEGER(iwp) ::  k !<
 !
-!--          Liquid water content
-#if defined( __nopointer )
-       ALLOCATE ( ql(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
+!--    Liquid water content
        ALLOCATE ( ql_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
 
 !
 !--    3D-cloud water content
        IF ( .NOT. microphysics_morrison )  THEN
-#if defined( __nopointer )
-          ALLOCATE( qc(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
           ALLOCATE( qc_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
        ENDIF
 !
@@ -851,12 +838,4 @@
 !
 !--       3D-cloud drop water content, cloud drop concentration arrays
-#if defined( __nopointer )
-          ALLOCATE( nc(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                      &
-                    nc_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
-                    qc(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                      &
-                    qc_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
-                    tnc_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                   &
-                    tqc_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
           ALLOCATE( nc_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
                     nc_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
@@ -865,5 +844,4 @@
                     qc_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
                     qc_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
        ENDIF
 
@@ -871,12 +849,4 @@
 !
 !--       3D-rain water content, rain drop concentration arrays
-#if defined( __nopointer )
-          ALLOCATE( nr(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                      &
-                    nr_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
-                    qr(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                      &
-                    qr_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
-                    tnr_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                   &
-                    tqr_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
           ALLOCATE( nr_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
                     nr_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
@@ -885,8 +855,6 @@
                     qr_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                    &
                     qr_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
        ENDIF
 
-#if ! defined( __nopointer )
 !
 !--    Initial assignment of the pointers
@@ -903,5 +871,4 @@
           nr => nr_1;  nr_p  => nr_2;  tnr_m  => nr_3
        ENDIF
-#endif
 
 
@@ -1032,14 +999,4 @@
        IF ( bulk_cloud_model )  THEN
 
-#if defined( __nopointer )
-          IF ( microphysics_morrison )  THEN
-             qc = qc_p
-             nc = nc_p
-          ENDIF
-          IF ( microphysics_seifert )  THEN
-             qr = qr_p
-             nr = nr_p
-          ENDIF
-#else
           SELECT CASE ( mod_count )
 
@@ -1067,5 +1024,4 @@
 
           END SELECT
-#endif
 
        ENDIF
Index: /palm/trunk/SOURCE/buoyancy.f90
===================================================================
--- /palm/trunk/SOURCE/buoyancy.f90	(revision 3635)
+++ /palm/trunk/SOURCE/buoyancy.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3634 2018-12-18 12:31:28Z knoop
 ! OpenACC port for SPEC
 ! 
@@ -168,9 +171,5 @@
        INTEGER(iwp) ::  wind_component !<
        
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  var
-#endif
 
 
@@ -261,9 +260,5 @@
        INTEGER(iwp) ::  wind_component !<
        
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  var
-#endif
 
 
Index: /palm/trunk/SOURCE/calc_mean_profile.f90
===================================================================
--- /palm/trunk/SOURCE/calc_mean_profile.f90	(revision 3635)
+++ /palm/trunk/SOURCE/calc_mean_profile.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3241 2018-09-12 15:02:00Z raasch
 ! omp_get_thread_num now declared in openmp directive,
 ! unused variable removed
@@ -110,9 +113,5 @@
        INTEGER(iwp) ::  tn                 !<
        
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(:,:,:) ::  var  !<
-#else
        REAL(wp), DIMENSION(:,:,:), POINTER ::  var
-#endif
 
 !
Index: /palm/trunk/SOURCE/chem_modules.f90
===================================================================
--- /palm/trunk/SOURCE/chem_modules.f90	(revision 3635)
+++ /palm/trunk/SOURCE/chem_modules.f90	(revision 3636)
@@ -27,4 +27,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3611 2018-12-07 14:14:11Z banzhafs
 ! Minor formatting
 !
@@ -43,7 +46,4 @@
 ! Initial revision
 !
-! 
-!
-!
 ! Authors:
 ! --------
@@ -56,6 +56,5 @@
 ! Description:
 ! ------------
-!> Definition of global palm-4u chemistry variables
-!> (Module written to define global palm-4u chemistry variables. basit 16Nov2017)
+!> Definition of global PALM-4U chemistry variables
 !------------------------------------------------------------------------------!
 !
@@ -115,11 +114,4 @@
     REAL(wp), DIMENSION(99,100)                       ::  cs_profile = 9999999.9_wp !< Namelist parameter: Chem conc for each spcs defined
 
-
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET   ::  cs                        !< chem spcs
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET   ::  cs_p                      !< prognostic value of chem spc
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET   ::  tcs_m                     !< weighted tendency of cs for previous sub-timestep (Runge-Kutta)
-
-#else                                                               
 !
 !-- Use pointers cs, cs_p and tcs_m to point arrays cs_1, cs_2, and cs_3
@@ -130,6 +122,4 @@
     REAL(wp), DIMENSION(:,:,:), POINTER               ::  cs_p                      !< pointer: prognostic value of sgs chem spcs 
     REAL(wp), DIMENSION(:,:,:), POINTER               ::  tcs_m                     !< pointer:
-
-#endif                                                                            
  
     CHARACTER (LEN=20)                ::  bc_cs_b             = 'dirichlet'         !< namelist parameter
Index: /palm/trunk/SOURCE/chemistry_model_mod.f90
===================================================================
--- /palm/trunk/SOURCE/chemistry_model_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/chemistry_model_mod.f90	(revision 3636)
@@ -22,9 +22,12 @@
 ! Current revisions:
 ! -----------------
-!
-!
+! 
+! 
 ! Former revisions:
 ! -----------------
 ! $Id$
+! nopointer option removed
+!
+! 3611 2018-12-07 14:14:11Z banzhafs
 ! Minor formatting             
 !
@@ -1674,15 +1677,12 @@
 
     IMPLICIT NONE
-!-- local variables
+
+!
+!-- Local variables
     INTEGER(iwp) ::  i                 !< running index for for horiz numerical grid points
     INTEGER(iwp) ::  j                 !< running index for for horiz numerical grid points
     INTEGER(iwp) ::  lsp               !< running index for chem spcs
     INTEGER(iwp) ::  lpr_lev           !< running index for chem spcs profile level
-!
-!-- NOPOINTER version not implemented yet
-! #if defined( __nopointer )
-!     message_string = 'The chemistry module only runs with POINTER version'
-!     CALL message( 'chemistry_model_mod', 'CM0001', 1, 2, 0, 6, 0 )      
-! #endif
+
 !
 !-- Allocate memory for chemical species
@@ -1703,5 +1703,5 @@
 
 
-    DO lsp = 1, nspec
+    DO  lsp = 1, nspec
        chem_species(lsp)%name    = spc_names(lsp)
 
Index: /palm/trunk/SOURCE/diffusion_s.f90
===================================================================
--- /palm/trunk/SOURCE/diffusion_s.f90	(revision 3635)
+++ /palm/trunk/SOURCE/diffusion_s.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3634 2018-12-18 12:31:28Z knoop
 ! OpenACC port for SPEC
 ! 
@@ -191,9 +194,7 @@
        REAL(wp), DIMENSION(1:surf_usm_v(3)%ns) ::  s_flux_usm_v_west  !< flux at west-facing vertical urban-type surfaces
        REAL(wp), DIMENSION(1:surf_def_h(2)%ns) ::  s_flux_t           !< flux at model top
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s  !< treated scalar
-#else
+
        REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !< treated scalar
-#endif
+
 
        !$ACC PARALLEL LOOP COLLAPSE(2) PRIVATE(i, j, k, m) &
@@ -522,9 +523,6 @@
        REAL(wp), DIMENSION(1:surf_usm_v(3)%ns) ::  s_flux_usm_v_west  !< flux at west-facing vertical urban-type surfaces
        REAL(wp), DIMENSION(1:surf_def_h(2)%ns) ::  s_flux_t           !< flux at model top
-#if defined( __nopointer )
-       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s !< treated scalar
-#else
+
        REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !< treated scalar
-#endif
 
 !
Index: /palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_3d_model.f90	(revision 3635)
+++ /palm/trunk/SOURCE/init_3d_model.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3609 2018-12-07 13:37:59Z suehring
 ! Furhter correction in initialization of surfaces in cyclic-fill case
 ! 
@@ -771,18 +774,4 @@
               tend(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
 
-#if defined( __nopointer )
-    ALLOCATE( pt(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                               &
-              pt_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-              u(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                                &
-              u_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                              &
-              v(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                                &
-              v_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                              &
-              w(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                                &
-              w_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                              &
-              tpt_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                            &
-              tu_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-              tv_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-              tw_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
     ALLOCATE( pt_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
               pt_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
@@ -799,5 +788,4 @@
        ALLOCATE( pt_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     ENDIF
-#endif
 
 !
@@ -824,26 +812,14 @@
 !
 !--    3D-humidity
-#if defined( __nopointer )
-       ALLOCATE( q(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-                 q_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
-                 tq_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                          &
-                 vpt(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
        ALLOCATE( q_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
                  q_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
                  q_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
                  vpt_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ) 
-#endif
 
        IF ( cloud_droplets )  THEN
 !
 !--       Liquid water content, change in liquid water content
-#if defined( __nopointer )
-          ALLOCATE ( ql(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                        &
-                     ql_c(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
           ALLOCATE ( ql_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                      &
                      ql_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
 !
 !--       Real volume of particles (with weighting), volume of particles
@@ -858,13 +834,8 @@
 !
 !--    3D scalar arrays
-#if defined( __nopointer )
-       ALLOCATE( s(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-                 s_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
-                 ts_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
        ALLOCATE( s_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
                  s_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
                  s_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
+
     ENDIF
 
@@ -1070,6 +1041,4 @@
     ENDIF
 
-
-#if ! defined( __nopointer )
 !
 !-- Initial assignment of the pointers
@@ -1095,5 +1064,4 @@
        s => s_1;  s_p => s_2;  ts_m => s_3
     ENDIF    
-#endif
 
 !
Index: /palm/trunk/SOURCE/land_surface_model_mod.f90
===================================================================
--- /palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/land_surface_model_mod.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3620 2018-12-11 12:29:43Z moh.hefny
 ! update the 3d rad_lw_out array
 !
@@ -655,17 +658,4 @@
                                    zs_layer = 9999999.9_wp         !< soil layer depths (edge)
                                  
-#if defined( __nopointer )
-    TYPE(surf_type_lsm), TARGET  ::  t_soil_h,    & !< Soil temperature (K), horizontal surface elements
-                                     t_soil_h_p,  & !< Prog. soil temperature (K), horizontal surface elements
-                                     m_soil_h,    & !< Soil moisture (m3/m3), horizontal surface elements
-                                     m_soil_h_p     !< Prog. soil moisture (m3/m3), horizontal surface elements
-
-    TYPE(surf_type_lsm), DIMENSION(0:3), TARGET  ::  &
-                                     t_soil_v,       & !< Soil temperature (K), vertical surface elements
-                                     t_soil_v_p,     & !< Prog. soil temperature (K), vertical surface elements
-                                     m_soil_v,       & !< Soil moisture (m3/m3), vertical surface elements
-                                     m_soil_v_p        !< Prog. soil moisture (m3/m3), vertical surface elements
-
-#else
     TYPE(surf_type_lsm), POINTER ::  t_soil_h,    & !< Soil temperature (K), horizontal surface elements
                                      t_soil_h_p,  & !< Prog. soil temperature (K), horizontal surface elements
@@ -689,18 +679,5 @@
                                      m_soil_v_1,  & !<
                                      m_soil_v_2     !<
-#endif    
-
-#if defined( __nopointer )
-    TYPE(surf_type_lsm), TARGET   ::  t_surface_h,    & !< surface temperature (K), horizontal surface elements 
-                                      t_surface_h_p,  & !< progn. surface temperature (K), horizontal surface elements 
-                                      m_liq_h,        & !< liquid water reservoir (m), horizontal surface elements 
-                                      m_liq_h_p         !< progn. liquid water reservoir (m), horizontal surface elements 
-
-    TYPE(surf_type_lsm), DIMENSION(0:3), TARGET   ::  &
-                                      t_surface_v,    & !< surface temperature (K), vertical surface elements 
-                                      t_surface_v_p,  & !< progn. surface temperature (K), vertical surface elements 
-                                      m_liq_v,        & !< liquid water reservoir (m), vertical surface elements 
-                                      m_liq_v_p         !< progn. liquid water reservoir (m), vertical surface elements 
-#else
+
     TYPE(surf_type_lsm), POINTER  ::  t_surface_h,    & !< surface temperature (K), horizontal surface elements 
                                       t_surface_h_p,  & !< progn. surface temperature (K), horizontal surface elements 
@@ -724,19 +701,9 @@
                                       m_liq_v_1,      & !<
                                       m_liq_v_2         !<
-#endif
-
-#if defined( __nopointer )
+
     REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET :: m_liq_av
-#else
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET :: m_liq_av
-#endif
-
-#if defined( __nopointer )
+
     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  t_soil_av, & !< Average of t_soil
                                                         m_soil_av    !< Average of m_soil
-#else
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  t_soil_av, & !< Average of t_soil
-                                                        m_soil_av    !< Average of m_soil
-#endif
 
     TYPE(surf_type_lsm), TARGET ::  tm_liq_h_m      !< liquid water reservoir tendency (m), horizontal surface elements 
@@ -4822,44 +4789,4 @@
 !--    even if they do not belong to the data type due to the 
 !--    pointer arithmetric (TARGET attribute is not allowed in a data-type). 
-#if defined( __nopointer )
-!
-!--    Horizontal surfaces
-       ALLOCATE ( m_liq_h_p%var_1d(1:surf_lsm_h%ns)                      )
-       ALLOCATE ( t_surface_h%var_1d(1:surf_lsm_h%ns)                    )
-       ALLOCATE ( t_surface_h_p%var_1d(1:surf_lsm_h%ns)                  )
-       ALLOCATE ( m_soil_h_p%var_2d(nzb_soil:nzt_soil,1:surf_lsm_h%ns)   )
-       ALLOCATE ( t_soil_h_p%var_2d(nzb_soil:nzt_soil+1,1:surf_lsm_h%ns) )
-
-!
-!--    Vertical surfaces
-       DO  l = 0, 3
-          ALLOCATE ( m_liq_v(l)%var_1d(1:surf_lsm_v(l)%ns)                        )
-          ALLOCATE ( m_liq_v_p(l)%var_1d(1:surf_lsm_v(l)%ns)                      )
-          ALLOCATE ( t_surface_v(l)%var_1d(1:surf_lsm_v(l)%ns)                    )
-          ALLOCATE ( t_surface_v_p(l)%var_1d(1:surf_lsm_v(l)%ns)                  )
-          ALLOCATE ( m_soil_v(l)%var_2d(nzb_soil:nzt_soil,1:surf_lsm_v(l)%ns)     )
-          ALLOCATE ( m_soil_v_p(l)%var_2d(nzb_soil:nzt_soil,1:surf_lsm_v(l)%ns)   )
-          ALLOCATE ( t_soil_v(l)%var_2d(nzb_soil:nzt_soil+1,1:surf_lsm_v(l)%ns)   )
-          ALLOCATE ( t_soil_v_p(l)%var_2d(nzb_soil:nzt_soil+1,1:surf_lsm_v(l)%ns) )
-       ENDDO
-!
-!--    Allocate soil temperature and moisture. As these variables might be 
-!--    already allocated in case of restarts, check this. 
-       IF ( .NOT. ALLOCATED( m_liq_h%var_1d ) )                                &
-          ALLOCATE ( m_liq_h%var_1d(1:surf_lsm_h%ns) )
-       IF ( .NOT. ALLOCATED( m_soil_h%var_2d ) )                               &
-          ALLOCATE ( m_soil_h%var_2d(nzb_soil:nzt_soil,1:surf_lsm_h%ns) )
-       IF ( .NOT. ALLOCATED( t_soil_h%var_2d ) )                               &
-          ALLOCATE ( t_soil_h%var_2d(nzb_soil:nzt_soil,1:surf_lsm_h%ns) )
-
-       DO  l = 0, 3
-          IF ( .NOT. ALLOCATED( m_liq_v(l)%var_1d ) )                          &
-             ALLOCATE ( m_liq_v(l)%var_1d(1:surf_lsm_v(l)%ns) )
-          IF ( .NOT. ALLOCATED( m_soil_v(l)%var_2d ) )                         &
-             ALLOCATE ( m_soil_v(l)%var_2d(nzb_soil:nzt_soil,1:surf_lsm_v(l)%ns) )
-          IF ( .NOT. ALLOCATED( t_soil_v(l)%var_2d ) )                         &
-             ALLOCATE ( t_soil_v(l)%var_2d(nzb_soil:nzt_soil,1:surf_lsm_v(l)%ns) )
-       ENDDO
-#else
 !
 !--    Horizontal surfaces
@@ -4884,5 +4811,5 @@
           ALLOCATE ( t_soil_v_2(l)%var_2d(nzb_soil:nzt_soil+1,1:surf_lsm_v(l)%ns) )
        ENDDO
-#endif
+
 !
 !--    Allocate array for heat flux in W/m2, required for radiation?
@@ -4986,6 +4913,4 @@
        ENDDO
 
-   
-#if ! defined( __nopointer )
 !
 !--    Initial assignment of the pointers
@@ -5001,6 +4926,4 @@
        m_soil_v    => m_soil_v_1;    m_soil_v_p    => m_soil_v_2
        m_liq_v     => m_liq_v_1;     m_liq_v_p     => m_liq_v_2
-
-#endif
 
 
@@ -5477,23 +5400,4 @@
        INTEGER, INTENT(IN) :: mod_count
 
-#if defined( __nopointer )
-!
-!--    Horizontal surfaces
-       t_surface_h  = t_surface_h_p
-       t_soil_h     = t_soil_h_p
-       IF ( humidity )  THEN
-          m_soil_h    = m_soil_h_p
-          m_liq_h  = m_liq_h_p
-       ENDIF
-!
-!--    Vertical surfaces
-       t_surface_v  = t_surface_v_p
-       t_soil_v     = t_soil_v_p
-       IF ( humidity )  THEN
-          m_soil_v    = m_soil_v_p
-          m_liq_v  = m_liq_v_p
-       ENDIF
-
-#else
     
        SELECT CASE ( mod_count )
@@ -5541,5 +5445,4 @@
 
        END SELECT
-#endif
 
     END SUBROUTINE lsm_swap_timelevel
Index: /palm/trunk/SOURCE/modules.f90
===================================================================
--- /palm/trunk/SOURCE/modules.f90	(revision 3635)
+++ /palm/trunk/SOURCE/modules.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3597 2018-12-04 08:40:18Z maronga
 ! Added flag parameter do_output_at_2m for automatic output of 2m-temperature
 ! 
@@ -882,55 +885,4 @@
     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  w_m_s       !< velocity data (w at south boundary) from time level t-dt required for radiation boundary condition
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  diss       !< TKE dissipation
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  diss_p     !< prognostic value TKE dissipation
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  e          !< subgrid-scale turbulence kinetic energy (sgs tke)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  e_p        !< prognostic value of sgs tke
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  nc         !< cloud drop number density
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  nc_p       !< prognostic value of cloud drop number density
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  nr         !< rain drop number density
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  nr_p       !< prognostic value of rain drop number density
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  p          !< perturbation pressure
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  prho       !< potential density
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  pt         !< potential temperature
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  pt_p       !< prognostic value of potential temperature
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  q          !< mixing ratio  
-                                                                   !< (or total water content with active cloud physics)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  q_p        !< prognostic value of mixing ratio 
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qc         !< cloud water content
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qc_p       !< cloud water content
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ql         !< liquid water content
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ql_c       !< change in liquid water content due to 
-                                                                   !< condensation/evaporation during last time step
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ql_v       !< volume of liquid water
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ql_vp      !< liquid water weighting factor
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qr         !< rain water content
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qr_p       !< prognostic value of rain water content 
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  rho_ocean  !< density of ocean
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  s          !< passive scalar
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  s_p        !< prognostic value of passive scalar
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  sa         !< ocean salinity
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  sa_p       !< prognostic value of ocean salinity
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tdiss_m    !< weighted tendency of diss for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  te_m       !< weighted tendency of e for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tnc_m      !< weighted tendency of nc for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tnr_m      !< weighted tendency of nr for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tpt_m      !< weighted tendency of pt for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tq_m       !< weighted tendency of q for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tqc_m      !< weighted tendency of qc for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tqr_m      !< weighted tendency of qr for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ts_m       !< weighted tendency of s for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tsa_m      !< weighted tendency of sa for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tu_m       !< weighted tendency of u for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tv_m       !< weighted tendency of v for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  tw_m       !< weighted tendency of w for previous sub-timestep (Runge-Kutta)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  u          !< horizontal velocity component u (x-direction)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  u_p        !< prognostic value of u
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  v          !< horizontal velocity component v (y-direction)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  v_p        !< prognostic value of v
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  vpt        !< virtual potential temperature
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  w          !< vertical velocity component w (z-direction)
-    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  w_p        !< prognostic value of w
-#else
     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  diss_1  !< pointer for swapping of timelevels for respective quantity
     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  diss_2  !< pointer for swapping of timelevels for respective quantity
@@ -1026,5 +978,4 @@
     REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  w          !< pointer: vertical velocity component w (z-direction)
     REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  w_p        !< pointer: prognostic value of w
-#endif
 
     REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::  tri    !<  array to hold the tridiagonal matrix for solution of the Poisson equation in Fourier space (4th dimension for threads)
@@ -1952,9 +1903,7 @@
 
           CHARACTER (LEN=*), INTENT(IN) ::  sk_char  !< string for treated scalar in Bott-Chlond scheme
-#if defined( __nopointer )
-          REAL(wp), DIMENSION(:,:,:) ::  sk  !< treated scalar array in Bott-Chlond scheme
-#else
+
           REAL(wp), DIMENSION(:,:,:), POINTER ::  sk  !< treated scalar array in Bott-Chlond scheme
-#endif
+
        END SUBROUTINE advec_s_bc
 
Index: /palm/trunk/SOURCE/ocean_mod.f90
===================================================================
--- /palm/trunk/SOURCE/ocean_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/ocean_mod.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3614 2018-12-10 07:05:46Z raasch
 ! unused variables removed
 ! 
@@ -64,12 +67,7 @@
  
 
-#if defined( __nopointer )
-    USE arrays_3d,                                                             &
-        ONLY:  prho, rho_ocean, sa, sa_init, sa_p, tsa_m
-#else
     USE arrays_3d,                                                             &
         ONLY:  prho, prho_1, rho_ocean, rho_1, sa, sa_init, sa_1, sa_2, sa_3,  &
                sa_p, tsa_m
-#endif
 
     USE control_parameters,                                                    &
@@ -1175,11 +1173,4 @@
     IMPLICIT NONE
 
-#if defined( __nopointer )
-    ALLOCATE( prho(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-              rho_ocean(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                        &
-              sa(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                               &
-              sa_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                             &
-              tsa_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#else
     ALLOCATE( prho_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                           &
               rho_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),                            &
@@ -1194,7 +1185,5 @@
     rho_ocean  => rho_1  ! routines calc_mean_profile and diffusion_e require
                          ! density to be a pointer
-#endif
-
-#if ! defined( __nopointer )
+
 !
 !-- Initial assignment of pointers
@@ -1204,5 +1193,4 @@
        sa => sa_1;  sa_p => sa_1;  tsa_m => sa_3
     ENDIF
-#endif
 
  END SUBROUTINE ocean_init_arrays
@@ -1786,10 +1774,5 @@
     INTEGER, INTENT(IN) ::  mod_count  !< flag defining where pointers point to
 
-#if defined( __nopointer )
-
-    sa = sa_p
-
-#else
-    
+
     SELECT CASE ( mod_count )
 
@@ -1805,6 +1788,4 @@
 
     END SELECT
-
-#endif
 
  END SUBROUTINE ocean_swap_timelevel
Index: /palm/trunk/SOURCE/pmc_interface_mod.f90
===================================================================
--- /palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3592 2018-12-03 12:38:40Z suehring
 ! Number of coupled arrays is determined dynamically (instead of a fixed value
 ! of 32)
@@ -328,14 +331,8 @@
 
 
-#if defined( __nopointer )
-    USE arrays_3d,                                                             &
-        ONLY:  diss, dzu, dzw, e, e_p, nc, nr, pt, q, qc, qr, s, u, u_p,       &
-               v, v_p, w, w_p, zu, zw
-#else
    USE arrays_3d,                                                              &
         ONLY:  diss, diss_2, dzu, dzw, e, e_p, e_2, nc, nc_2, nc_p, nr, nr_2,  &
                pt, pt_2, q, q_2, qc, qc_2, qr, qr_2, s, s_2,                   &
                u, u_p, u_2, v, v_p, v_2, w, w_p, w_2, zu, zw
-#endif
 
     USE control_parameters,                                                    &
@@ -3771,26 +3768,4 @@
 !    IF ( TRIM(name) == "z0" )    p_2d => z0
 
-#if defined( __nopointer )
-    IF ( ASSOCIATED( p_3d ) )  THEN
-       CALL pmc_s_set_dataarray( child_id, p_3d, nz_cl, nz )
-    ELSEIF ( ASSOCIATED( p_2d ) )  THEN
-       CALL pmc_s_set_dataarray( child_id, p_2d )
-    ELSEIF ( ASSOCIATED( i_2d ) )  THEN
-       CALL pmc_s_set_dataarray( child_id, i_2d )
-    ELSE
-!
-!--    Give only one message for the root domain
-       IF ( myid == 0  .AND.  cpl_id == 1 )  THEN
-
-          message_string = 'pointer for array "' // TRIM( name ) //            &
-                           '" can''t be associated'
-          CALL message( 'pmci_set_array_pointer', 'PA0117', 3, 2, 0, 6, 0 )
-       ELSE
-!
-!--       Avoid others to continue
-          CALL MPI_BARRIER( comm2d, ierr )
-       ENDIF
-    ENDIF
-#else
     IF ( TRIM(name) == "u"    )  p_3d_sec => u_2
     IF ( TRIM(name) == "v"    )  p_3d_sec => v_2
@@ -3829,5 +3804,4 @@
 
    ENDIF
-#endif
 
 #endif
Index: /palm/trunk/SOURCE/radiation_model_mod.f90
===================================================================
--- /palm/trunk/SOURCE/radiation_model_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/radiation_model_mod.f90	(revision 3636)
@@ -28,4 +28,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3633 2018-12-17 16:17:57Z schwenkel
 ! Include check for rrtmg files
 ! 
@@ -4862,10 +4865,10 @@
      REAL(wp)                          :: area_hor           !< total horizontal area of domain in all processor
 
-#if ! defined( __nopointer )
+
      IF ( plant_canopy )  THEN
          pchf_prep(:) = r_d * exner(nzub:nzut)                                 &
                      / (c_p * hyp(nzub:nzut) * dx*dy*dz(1)) !< equals to 1 / (rho * c_p * Vbox * T)
      ENDIF
-#endif
+
      sun_direction = .TRUE.
      CALL calc_zenith  !< required also for diffusion radiation
Index: /palm/trunk/SOURCE/salsa_mod.f90
===================================================================
--- /palm/trunk/SOURCE/salsa_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/salsa_mod.f90	(revision 3636)
@@ -26,4 +26,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3630 2018-12-17 11:04:17Z knoop
 ! - Moved the control parameter "salsa" from salsa_mod.f90 to control_parameters
 ! - Updated salsa_rrd_local and salsa_wrd_local
@@ -935,8 +938,5 @@
 !
 !-- Allocate prognostic variables (see salsa_swap_timelevel)
-#if defined( __nopointer )
-    message_string = 'SALSA runs only with POINTER Version'
-    CALL message( 'salsa_mod: salsa_init_arrays', 'SA0023', 1, 2, 0, 6, 0 )
-#else         
+
 !
 !-- Set derived indices:
@@ -1160,6 +1160,4 @@
     ENDIF
     
-#endif
-
  END SUBROUTINE salsa_init_arrays
 
@@ -1958,13 +1956,5 @@
     INTEGER(iwp) ::  g  !<
 
-!
-!-- Example for prognostic variable "prog_var"
-#if defined( __nopointer )
-    IF ( myid == 0 )  THEN
-       message_string =  ' SALSA runs only with POINTER Version'
-       CALL message( 'salsa_swap_timelevel', 'SA0022', 1, 2, 0, 6, 0 )
-    ENDIF
-#else
-    
+
     SELECT CASE ( mod_count )
 
@@ -2020,5 +2010,4 @@
 
     END SELECT
-#endif
 
  END SUBROUTINE salsa_swap_timelevel
Index: /palm/trunk/SOURCE/swap_timelevel.f90
===================================================================
--- /palm/trunk/SOURCE/swap_timelevel.f90	(revision 3635)
+++ /palm/trunk/SOURCE/swap_timelevel.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3589 2018-11-30 15:09:51Z suehring
 ! Move the control parameter "salsa" from salsa_mod to control_parameters 
 ! (M. Kurppa)
@@ -142,9 +145,4 @@
  
 
-#if defined( __nopointer )
-    USE arrays_3d,                                                             &
-        ONLY:  nc, nc_p, nr, nr_p, pt, pt_p, q, q_p, qc, qc_p, qr, qr_p, s,    &
-               s_p, sa, sa_p, u, u_p, v, v_p, w, w_p
-#else
     USE arrays_3d,                                                             &
         ONLY:  nc, nc_1, nc_2, nc_p, nr, nr_1, nr_2, nr_p, pt, pt_1, pt_2,     &
@@ -152,5 +150,4 @@
                qr_p, s, s_1, s_2, s_p, sa, sa_1, sa_2, sa_p, u, u_1, u_2, u_p, &
                v, v_1, v_2, v_p, w, w_1, w_2, w_p
-#endif
 
     USE bulk_cloud_model_mod,                                                  &
@@ -170,9 +167,4 @@
     USE gust_mod,                                                              &
         ONLY: gust_module_enabled, gust_swap_timelevel
-
-#if defined( __nopointer )
-    USE indices,                                                               &
-        ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt
-#endif
 
     USE land_surface_model_mod,                                                &
@@ -197,7 +189,4 @@
     IMPLICIT NONE
 
-#if defined( __nopointer )
-    INTEGER ::  i, j, k     !> loop indices
-#endif
     INTEGER ::  swap_level  !> swap_level for steering the pmc data transfer
 
@@ -208,35 +197,4 @@
 !
 !-- Swap of variables
-#if defined( __nopointer )
-    CALL cpu_log( log_point(28), 'swap_timelevel (nop)', 'start' )
-
-    DO  i = nxlg, nxrg
-       DO  j = nysg, nyng
-          DO  k = nzb, nzt+1
-             u(k,j,i)  = u_p(k,j,i)
-             v(k,j,i)  = v_p(k,j,i)
-             w(k,j,i)  = w_p(k,j,i)
-             pt(k,j,i) = pt_p(k,j,i)
-          ENDDO
-       ENDDO
-    ENDDO
-
-    IF ( humidity )  THEN
-       q = q_p
-    ENDIF
-
-    IF ( passive_scalar )  s = s_p             
-
-!
-!-- Swapping the timelevel of other modules
-    IF ( humidity  .AND.  bulk_cloud_model )  CALL bcm_swap_timelevel( 0 )
-    IF ( gust_module_enabled )                CALL gust_swap_timelevel( 0 )
-    IF ( land_surface )                       CALL lsm_swap_timelevel( 0 )
-    IF ( ocean_mode )                         CALL ocean_swap_timelevel( 0 )
-    CALL tcm_swap_timelevel( 0 )
-    IF ( urban_surface )                      CALL usm_swap_timelevel( 0 )
-
-    CALL cpu_log( log_point(28), 'swap_timelevel (nop)', 'stop' )
-#else
     CALL cpu_log( log_point(28), 'swap_timelevel', 'start' )
 
@@ -312,5 +270,4 @@
 
     CALL cpu_log( log_point(28), 'swap_timelevel', 'stop' )
-#endif
 
  END SUBROUTINE swap_timelevel
Index: /palm/trunk/SOURCE/turbulence_closure_mod.f90
===================================================================
--- /palm/trunk/SOURCE/turbulence_closure_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/turbulence_closure_mod.f90	(revision 3636)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3634 2018-12-18 12:31:28Z knoop
 ! OpenACC port for SPEC
 ! 
@@ -177,14 +180,8 @@
  
 
-#if defined( __nopointer )
-    USE arrays_3d,                                                             &
-        ONLY:  diss, diss_p, dzu, e, e_p, kh, km,                              &
-               mean_inflow_profiles, prho, pt, tdiss_m, te_m, tend, u, v, vpt, w
-#else
     USE arrays_3d,                                                             &
         ONLY:  diss, diss_1, diss_2, diss_3, diss_p, dzu, e, e_1, e_2, e_3,    &
                e_p, kh, km, mean_inflow_profiles, prho, pt, tdiss_m,           &
                te_m, tend, u, v, vpt, w
-#endif
 
     USE basic_constants_and_equations_mod,                                     &
@@ -911,14 +908,8 @@
     ALLOCATE( km(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
 
-#if defined( __nopointer )
-    ALLOCATE( e(nzb:nzt+1,nysg:nyng,nxlg:nxrg)    )
-    ALLOCATE( e_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  )
-    ALLOCATE( te_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-
-#else
     ALLOCATE( e_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     ALLOCATE( e_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     ALLOCATE( e_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-#endif
+
 !
 !-- Allocate arrays required for dissipation. 
@@ -928,11 +919,5 @@
     IF ( rans_mode  .OR.  use_sgs_for_particles  .OR.  wang_kernel  .OR.       &
          collision_turbulence  .OR.  nested_run )  THEN
-#if defined( __nopointer )
-       ALLOCATE( diss(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-       IF ( rans_tke_e )  THEN
-          ALLOCATE( diss_p(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  )
-          ALLOCATE( tdiss_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
-       ENDIF
-#else
+
        ALLOCATE( diss_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
        IF ( rans_tke_e  .OR.  nested_run )  THEN
@@ -940,8 +925,7 @@
           ALLOCATE( diss_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
        ENDIF
-#endif
+
     ENDIF
 
-#if ! defined( __nopointer )
 !
 !-- Initial assignment of pointers
@@ -955,5 +939,4 @@
        ENDIF
     ENDIF
-#endif
 
  END SUBROUTINE tcm_init_arrays
@@ -3731,10 +3714,7 @@
 #endif
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
+    REAL(wp)     ::  dissipation  !< TKE dissipation
+
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !< temperature
-#endif
-    REAL(wp)     ::  dissipation  !< TKE dissipation
 
 
@@ -3930,10 +3910,7 @@
     REAL(wp)     ::  var_reference  !< reference temperature
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
+    REAL(wp), DIMENSION(nzb+1:nzt) ::  dissipation  !< dissipation of TKE
+
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var     !< temperature
-#endif
-    REAL(wp), DIMENSION(nzb+1:nzt) ::  dissipation  !< dissipation of TKE
 
 !
@@ -4161,9 +4138,6 @@
     REAL(wp)     :: var_reference   !< var at reference height
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !< temperature
-#endif
+
 
     dvar_dz = atmos_ocean_sign * ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
@@ -4218,9 +4192,6 @@
     REAL(wp)     :: var_reference   !< var at reference height
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !< temperature
-#endif
+
 
     dvar_dz = atmos_ocean_sign * ( var(k+1,j,i) - var(k-1,j,i) ) * dd2zu(k)
@@ -4282,9 +4253,6 @@
     REAL(wp) ::  var_reference  !< reference temperature
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !< temperature
-#endif
+
 
 !
@@ -4488,9 +4456,6 @@
 #endif
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !< temperature
-#else
     REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !< temperature
-#endif
+
 
 !
@@ -4942,35 +4907,7 @@
 
 
-#if defined( __nopointer )
-    INTEGER(iwp) ::  i      !< loop index x direction
-    INTEGER(iwp) ::  j      !< loop index y direction
-    INTEGER(iwp) ::  k      !< loop index z direction
-#endif
     INTEGER, INTENT(IN) ::  mod_count  !< flag defining where pointers point to
 
-#if defined( __nopointer )
-
-    IF ( .NOT. constant_diffusion )  THEN
-       DO  i = nxlg, nxrg
-          DO  j = nysg, nyng
-             DO  k = nzb, nzt+1
-                e(k,j,i) = e_p(k,j,i)
-             ENDDO
-          ENDDO
-       ENDDO
-    ENDIF
-
-    IF ( rans_tke_e )  THEN
-       DO  i = nxlg, nxrg
-          DO  j = nysg, nyng
-             DO  k = nzb, nzt+1
-                diss(k,j,i) = diss_p(k,j,i)
-             ENDDO
-          ENDDO
-       ENDDO
-    ENDIF
-
-#else
-    
+
     SELECT CASE ( mod_count )
 
@@ -4996,5 +4933,4 @@
 
     END SELECT
-#endif
 
  END SUBROUTINE tcm_swap_timelevel
Index: /palm/trunk/SOURCE/urban_surface_mod.f90
===================================================================
--- /palm/trunk/SOURCE/urban_surface_mod.f90	(revision 3635)
+++ /palm/trunk/SOURCE/urban_surface_mod.f90	(revision 3636)
@@ -28,4 +28,7 @@
 ! -----------------
 ! $Id$
+! nopointer option removed
+! 
+! 3614 2018-12-10 07:05:46Z raasch
 ! unused variables removed
 ! 
@@ -393,9 +396,6 @@
 
     USE arrays_3d,                                                             &
-#if ! defined( __nopointer )
         ONLY:  hyp, zu, pt, p, u, v, w, tend, exner, hyrho, prr, q, ql, vpt
-#else
-        ONLY:  hyp,     pt,    u, v, w, tend, exner, hyrho, prr, q, ql, vpt
-#endif
+
     USE calc_mean_profile_mod,                                                 &
         ONLY:  calc_mean_profile
@@ -936,12 +936,4 @@
     END TYPE surf_type_usm
     
-#if defined( __nopointer )
-    TYPE(surf_type_usm), TARGET   ::  m_liq_usm_h,        & !< liquid water reservoir (m), horizontal surface elements 
-                                      m_liq_usm_h_p         !< progn. liquid water reservoir (m), horizontal surface elements 
-
-    TYPE(surf_type_usm), DIMENSION(0:3), TARGET   ::  &
-                                      m_liq_usm_v,        & !< liquid water reservoir (m), vertical surface elements 
-                                      m_liq_usm_v_p         !< progn. liquid water reservoir (m), vertical surface elements 
-#else
     TYPE(surf_type_usm), POINTER  ::  m_liq_usm_h,        & !< liquid water reservoir (m), horizontal surface elements 
                                       m_liq_usm_h_p         !< progn. liquid water reservoir (m), horizontal surface elements 
@@ -957,5 +949,4 @@
                                       m_liq_usm_v_1,      & !<
                                       m_liq_usm_v_2         !<
-#endif
 
     TYPE(surf_type_usm), TARGET ::  tm_liq_usm_h_m      !< liquid water reservoir tendency (m), horizontal surface elements 
@@ -1006,18 +997,4 @@
     REAL(wp), DIMENSION(:), ALLOCATABLE            :: zwn_green          !< normalized green layer depths (m)
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_wall_h           !< wall surface temperature (K) at horizontal walls
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_wall_h_p         !< progn. wall surface temperature (K) at horizontal walls
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_window_h    !< window surface temperature (K) at horizontal walls
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_window_h_p  !< progn. window surface temperature (K) at horizontal walls
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_green_h     !< green surface temperature (K) at horizontal walls
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_surf_green_h_p   !< progn. green surface temperature (K) at horizontal walls
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_wall_v
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_wall_v_p
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_window_v
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_window_v_p
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_green_v
-    TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  ::  t_surf_green_v_p
-#else
     REAL(wp), DIMENSION(:), POINTER                :: t_surf_wall_h
     REAL(wp), DIMENSION(:), POINTER                :: t_surf_wall_h_p 
@@ -1047,6 +1024,4 @@
     TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  :: t_surf_green_v_1
     TYPE(t_surf_vertical), DIMENSION(0:3), TARGET  :: t_surf_green_v_2
-    
-#endif
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -1055,31 +1030,4 @@
 !-- parameters of the land, roof and wall surfaces
 
-#if defined( __nopointer )
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h             !< Wall temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h_p           !< Prog. wall temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_window_h           !< Window temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_window_h_p         !< Prog. window temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_green_h            !< Green temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_green_h_p          !< Prog. green temperature (K)
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: swc_h              !< soil water content green building layer
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: swc_h_av              !< avg of soil water content green building layer
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: swc_h_p              !< Prog. soil water content green building layer
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: swc_sat_h          !< soil water content green building layer at saturation
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: swc_res_h          !< soil water content green building layer residual
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: rootfr_h           !< root fraction green green building layer
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: wilt_h             !< wilting point green building layer
-    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: fc_h               !< field capacity green building layer
-
-
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_wall_v             !< Wall temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_wall_v_p           !< Prog. wall temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_window_v           !< Window temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_window_v_p         !< Prog. window temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_green_v            !< Green temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_green_v_p          !< Prog. green temperature (K)
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: swc_v             !< Wall swc
-    TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: swc_v_p           !< Prog. swc
-    
-#else
     REAL(wp), DIMENSION(:,:), POINTER                :: t_wall_h, t_wall_h_p
     REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h_1, t_wall_h_2
@@ -1101,5 +1049,4 @@
     TYPE(t_wall_vertical), DIMENSION(:), POINTER   :: swc_v, swc_v_p
     TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: swc_v_1, swc_v_2
-#endif
 
 !-- Surface and material parameters classes (surface_type)
@@ -1417,54 +1364,4 @@
 
 !--     allocate wall and roof temperature arrays, for horizontal walls
-#if defined( __nopointer )
-        IF ( .NOT. ALLOCATED( t_surf_wall_h ) )                                     &
-           ALLOCATE ( t_surf_wall_h(1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( t_surf_wall_h_p ) )                                   &
-           ALLOCATE ( t_surf_wall_h_p(1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( t_wall_h ) )                                     &           
-           ALLOCATE ( t_wall_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) ) 
-        IF ( .NOT. ALLOCATED( t_wall_h_p ) )                                   &           
-           ALLOCATE ( t_wall_h_p(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )  
-        IF ( .NOT. ALLOCATED( t_surf_window_h ) )                              &
-           ALLOCATE ( t_surf_window_h(1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( t_surf_window_h_p ) )                            &
-           ALLOCATE ( t_surf_window_h_p(1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( t_window_h ) )                                   &           
-           ALLOCATE ( t_window_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) ) 
-        IF ( .NOT. ALLOCATED( t_window_h_p ) )                                 &           
-           ALLOCATE ( t_window_h_p(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )  
-        IF ( .NOT. ALLOCATED( t_surf_green_h ) )                               &
-           ALLOCATE ( t_surf_green_h(1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( t_surf_green_h_p ) )                             &
-           ALLOCATE ( t_surf_green_h_p(1:surf_usm_h%ns) )           
-        IF ( .NOT. ALLOCATED( t_green_h ) )                                    &           
-           ALLOCATE ( t_green_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) ) 
-        IF ( .NOT. ALLOCATED( t_green_h_p ) )                                  &           
-           ALLOCATE ( t_green_h_p(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )  
-        IF ( .NOT. ALLOCATED( swc_h ) )                                    &           
-           ALLOCATE ( swc_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( swc_sat_h ) )                                    &           
-           ALLOCATE ( swc_sat_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( swc_res_h ) )                                    &           
-           ALLOCATE ( swc_res_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( rootfr_h ) )                                    &           
-           ALLOCATE ( rootfr_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( wilt_h ) )                                    &           
-           ALLOCATE ( wilt_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-        IF ( .NOT. ALLOCATED( fc_h ) )                                    &           
-           ALLOCATE ( fc_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) ) 
-
-       IF ( .NOT. ALLOCATED( m_liq_usm_h%var_usm_1d ) )                            &
-          ALLOCATE ( m_liq_usm_h%var_usm_1d(1:surf_usm_h%ns) )
-
-!--    Horizontal surfaces
-       ALLOCATE ( m_liq_usm_h_p%var_usm_1d(1:surf_usm_h%ns)                      )
-!
-!--    Vertical surfaces
-       DO  l = 0, 3
-          ALLOCATE ( m_liq_usm_v_p(l)%var_usm_1d(1:surf_usm_v(l)%ns)                      )
-       ENDDO
-          
-#else
 !
 !--     Allocate if required. Note, in case of restarts, some of these arrays 
@@ -1529,42 +1426,6 @@
         wilt_h       => wilt_h_1
         fc_h       => fc_h_1
- 
-#endif
 
 !--     allocate wall and roof temperature arrays, for vertical walls if required
-#if defined( __nopointer )
-        DO  l = 0, 3
-           IF ( .NOT. ALLOCATED( t_surf_wall_v(l)%t ) )                             &
-              ALLOCATE ( t_surf_wall_v(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_surf_wall_v_p(l)%t ) )                           &
-              ALLOCATE ( t_surf_wall_v_p(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_wall_v(l)%t ) )                             &
-              ALLOCATE ( t_wall_v(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_wall_v_p(l)%t ) )                           &                 
-              ALLOCATE ( t_wall_v_p(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_surf_window_v(l)%t ) )                      &
-              ALLOCATE ( t_surf_window_v(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_surf_window_v_p(l)%t ) )                    &
-              ALLOCATE ( t_surf_window_v_p(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_window_v(l)%t ) )                           &
-              ALLOCATE ( t_window_v(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_window_v_p(l)%t ) )                         &                 
-              ALLOCATE ( t_window_v_p(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_green_v(l)%t ) )                            &
-              ALLOCATE ( t_green_v(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_green_v_p(l)%t ) )                          &                 
-              ALLOCATE ( t_green_v_p(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_surf_green_v(l)%t ) )                       &
-              ALLOCATE ( t_surf_green_v(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( t_surf_green_v_p(l)%t ) )                     &
-              ALLOCATE ( t_surf_green_v_p(l)%t(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( m_liq_usm_v(l)%var_usm_1d ) )                 &
-             ALLOCATE ( m_liq_usm_v(l)%var_usm_1d(1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( swc_v(l)%t ) )                             &
-              ALLOCATE ( swc_v(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-           IF ( .NOT. ALLOCATED( swc_v_p(l)%t ) )                           &                 
-              ALLOCATE ( swc_v_p(l)%t(nzb_wall:nzt_wall+1,1:surf_usm_v(l)%ns) )
-        ENDDO
-#else
 !
 !--     Allocate if required. Note, in case of restarts, some of these arrays 
@@ -1615,5 +1476,4 @@
         swc_v    => swc_v_1;    swc_v_p    => swc_v_2
 
-#endif
 !
 !--     Allocate intermediate timestep arrays. For horizontal surfaces.
@@ -4059,10 +3919,4 @@
         REAL(wp)     ::  z_agl                        !< height above ground
 
-!
-!-- NOPOINTER version not implemented yet
-#if defined( __nopointer )
-    message_string = 'The urban surface module only runs with POINTER version'
-    CALL message( 'urban_surface_mod', 'PA0452', 1, 2, 0, 6, 0 )
-#endif
 
         CALL cpu_log( log_point_s(78), 'usm_init', 'start' )
@@ -5175,5 +5029,4 @@
 !--         At horizontal surfaces. Please note, t_surf_wall_h is defined on a 
 !--         different data type, but with the same dimension.
-#if ! defined( __nopointer )
             DO  m = 1, surf_usm_h%ns
                i = surf_usm_h%i(m)            
@@ -5200,5 +5053,5 @@
                ENDDO
             ENDDO
-#endif
+
 !
 !--         For the sake of correct initialization, set also q_surface. 
@@ -6416,20 +6269,4 @@
           
              CASE ( 't_surf_wall_h' )
-#if defined( __nopointer )                   
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_wall_h ) )                         &
-                      ALLOCATE( t_surf_wall_h(1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_surf_wall_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_wall_h, tmp_surf_wall_h,                  &
-                                        surf_usm_h%start_index,                &  
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                  
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_wall_h_1 ) )                       &
@@ -6446,23 +6283,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_wall_v(0)' )
-#if defined( __nopointer )            
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_wall_v(0)%t ) )                    &
-                      ALLOCATE( t_surf_wall_v(0)%t(1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_surf_wall_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_wall_v(0)%t, tmp_surf_wall_v(0)%t,        &
-                                        surf_usm_v(0)%start_index,             &
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_wall_v_1(0)%t ) )                  &
@@ -6479,23 +6299,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                       
              CASE ( 't_surf_wall_v(1)' )
-#if defined( __nopointer )        
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_wall_v(1)%t ) )                    &
-                      ALLOCATE( t_surf_wall_v(1)%t(1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_surf_wall_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_wall_v(1)%t, tmp_surf_wall_v(1)%t,        &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )                 
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_wall_v_1(1)%t ) )                  &
@@ -6512,23 +6315,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_wall_v(2)' )
-#if defined( __nopointer )          
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_wall_v(2)%t ) )                    &
-                      ALLOCATE( t_surf_wall_v(2)%t(1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_surf_wall_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_wall_v(2)%t, tmp_surf_wall_v(2)%t,        &
-                                        surf_usm_v(2)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_wall_v_1(2)%t ) )                  &
@@ -6545,23 +6331,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                       
              CASE ( 't_surf_wall_v(3)' )
-#if defined( __nopointer )    
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_wall_v(3)%t ) )                    &
-                      ALLOCATE( t_surf_wall_v(3)%t(1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_surf_wall_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_wall_v(3)%t, tmp_surf_wall_v(3)%t,        &
-                                        surf_usm_v(3)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_wall_v_1(3)%t ) )                  &
@@ -6578,22 +6347,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_surf_green_h' )
-#if defined( __nopointer )                   
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_green_h ) )                   &
-                      ALLOCATE( t_surf_green_h(1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_surf_green_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_green_h, tmp_surf_green_h,      &
-                                        surf_usm_h%start_index,                & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_green_h_1 ) )                 &
@@ -6610,24 +6363,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_green_v(0)' )
-#if defined( __nopointer )            
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_green_v(0)%t ) )              &
-                      ALLOCATE( t_surf_green_v(0)%t(1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_surf_green_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_green_v(0)%t,                   &
-                                        tmp_surf_green_v(0)%t,                 &
-                                        surf_usm_v(0)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_green_v_1(0)%t ) )            &
@@ -6645,24 +6380,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                    
              CASE ( 't_surf_green_v(1)' )
-#if defined( __nopointer )        
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_green_v(1)%t ) )              &
-                      ALLOCATE( t_surf_green_v(1)%t(1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_surf_green_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_green_v(1)%t,                   &
-                                        tmp_surf_green_v(1)%t,                 &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )                 
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_green_v_1(1)%t ) )            &
@@ -6680,24 +6397,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_green_v(2)' )
-#if defined( __nopointer )          
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_green_v(2)%t ) )              &
-                      ALLOCATE( t_surf_green_v(2)%t(1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_surf_green_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_green_v(2)%t,                   & 
-                                        tmp_surf_green_v(2)%t,                 &
-                                        surf_usm_v(2)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_green_v_1(2)%t ) )            &
@@ -6715,24 +6414,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                    
              CASE ( 't_surf_green_v(3)' )
-#if defined( __nopointer )    
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_green_v(3)%t ) )              &
-                      ALLOCATE( t_surf_green_v(3)%t(1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_surf_green_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_green_v(3)%t,                   &
-                                        tmp_surf_green_v(3)%t,                 &
-                                        surf_usm_v(3)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_green_v_1(3)%t ) )            &
@@ -6750,22 +6431,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_surf_window_h' )
-#if defined( __nopointer )                   
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_window_h ) )                  &
-                      ALLOCATE( t_surf_window_h(1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_surf_window_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_window_h, tmp_surf_window_h,    &
-                                        surf_usm_h%start_index,                & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_window_h_1 ) )                &
@@ -6783,24 +6448,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_window_v(0)' )
-#if defined( __nopointer )            
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_window_v(0)%t ) )             &
-                      ALLOCATE( t_surf_window_v(0)%t(1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_surf_window_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_window_v(0)%t,                  &
-                                        tmp_surf_window_v(0)%t,                &
-                                        surf_usm_v(0)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_window_v_1(0)%t ) )           &
@@ -6818,24 +6465,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                    
              CASE ( 't_surf_window_v(1)' )
-#if defined( __nopointer )        
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_window_v(1)%t ) )             &
-                      ALLOCATE( t_surf_window_v(1)%t(1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_surf_window_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_window_v(1)%t,                  & 
-                                        tmp_surf_window_v(1)%t,                &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )                 
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_window_v_1(1)%t ) )           &
@@ -6853,24 +6482,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
 
              CASE ( 't_surf_window_v(2)' )
-#if defined( __nopointer )          
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_window_v(2)%t ) )             &
-                      ALLOCATE( t_surf_window_v(2)%t(1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_surf_window_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_window_v(2)%t,                  &
-                                        tmp_surf_window_v(2)%t,                &
-                                        surf_usm_v(2)%start_index,             &   
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_window_v_1(2)%t ) )           &
@@ -6888,24 +6499,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
                    
              CASE ( 't_surf_window_v(3)' )
-#if defined( __nopointer )    
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_surf_window_v(3)%t ) )             &
-                      ALLOCATE( t_surf_window_v(3)%t(1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_surf_window_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_surf_window_v(3)%t,                  &
-                                        tmp_surf_window_v(3)%t,                &
-                                        surf_usm_v(3)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else                      
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_surf_window_v_1(3)%t ) )           &
@@ -6923,22 +6516,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_wall_h' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_wall_h ) )                         &
-                      ALLOCATE( t_wall_h(nzb_wall:nzt_wall+1,1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_wall_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_wall_h, tmp_wall_h,                  &
-                                        surf_usm_h%start_index,                & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_wall_h_1 ) )                       &
@@ -6956,23 +6533,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_wall_v(0)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_wall_v(0)%t ) )                    &
-                      ALLOCATE( t_wall_v(0)%t(nzb_wall:nzt_wall+1,             &
-                                              1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_wall_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_wall_v(0)%t, tmp_wall_v(0)%t,        &
-                                        surf_usm_v(0)%start_index,             &    
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_wall_v_1(0)%t ) )                  &
@@ -6990,23 +6550,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_wall_v(1)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_wall_v(1)%t ) )                    &
-                      ALLOCATE( t_wall_v(1)%t(nzb_wall:nzt_wall+1,             &
-                                              1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_wall_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_wall_v(1)%t, tmp_wall_v(1)%t,        &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file ,                    &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file, nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_wall_v_1(1)%t ) )                  &
@@ -7024,23 +6567,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_wall_v(2)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_wall_v(2)%t ) )                    &
-                      ALLOCATE( t_wall_v(2)%t(nzb_wall:nzt_wall+1,             &
-                                              1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_wall_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_wall_v(2)%t, tmp_wall_v(2)%t,        &
-                                        surf_usm_v(2)%start_index,             &  
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_wall_v_1(2)%t ) )                  &
@@ -7058,23 +6584,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_wall_v(3)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_wall_v(3)%t ) )                    &
-                      ALLOCATE( t_wall_v(3)%t(nzb_wall:nzt_wall+1,             &
-                                              1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_wall_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_wall_v(3)%t, tmp_wall_v(3)%t,        &
-                                        surf_usm_v(3)%start_index,             &   
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_wall_v_1(3)%t ) )                  &
@@ -7092,23 +6601,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_green_h' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_green_h ) )                        &
-                      ALLOCATE( t_green_h(nzb_wall:nzt_wall+1,                 &
-                                          1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_green_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_green_h, tmp_green_h,                &
-                                        surf_usm_h%start_index,                & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_green_h_1 ) )                      &
@@ -7126,23 +6618,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_green_v(0)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_green_v(0)%t ) )                   &
-                      ALLOCATE( t_green_v(0)%t(nzb_wall:nzt_wall+1,            &
-                                               1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_green_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_green_v(0)%t, tmp_green_v(0)%t,      &
-                                        surf_usm_v(0)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_green_v_1(0)%t ) )                 &
@@ -7160,23 +6635,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_green_v(1)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_green_v(1)%t ) )                   &
-                      ALLOCATE( t_green_v(1)%t(nzb_wall:nzt_wall+1,            &
-                                               1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_green_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_green_v(1)%t, tmp_green_v(1)%t,      &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file ,                    &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_green_v_1(1)%t ) )                 &
@@ -7194,23 +6652,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_green_v(2)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_green_v(2)%t ) )                   &
-                      ALLOCATE( t_green_v(2)%t(nzb_wall:nzt_wall+1,            &
-                                               1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_green_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_green_v(2)%t, tmp_green_v(2)%t,      &
-                                        surf_usm_v(2)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_green_v_1(2)%t ) )                 &
@@ -7228,23 +6669,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_green_v(3)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_green_v(3)%t ) )                   &
-                      ALLOCATE( t_green_v(3)%t(nzb_wall:nzt_wall+1,            &
-                                               1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_green_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_green_v(3)%t, tmp_green_v(3)%t,      &
-                                        surf_usm_v(3)%start_index,             &  
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_green_v_1(3)%t ) )                 &
@@ -7262,23 +6686,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_window_h' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_window_h ) )                       &
-                      ALLOCATE( t_window_h(nzb_wall:nzt_wall+1,                &
-                                           1:surf_usm_h%ns) )
-                   READ ( 13 )  tmp_window_h
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_window_h, tmp_window_h,              &
-                                        surf_usm_h%start_index,                & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_window_h_1 ) )                     &
@@ -7296,23 +6703,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file, nxr_on_file )
-#endif
+
              CASE ( 't_window_v(0)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_window_v(0)%t ) )                  &
-                      ALLOCATE( t_window_v(0)%t(nzb_wall:nzt_wall+1,           &
-                                                1:surf_usm_v(0)%ns) )
-                   READ ( 13 )  tmp_window_v(0)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_window_v(0)%t, tmp_window_v(0)%t,    &
-                                        surf_usm_v(0)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file, nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_window_v_1(0)%t ) )                &
@@ -7331,23 +6721,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_window_v(1)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_window_v(1)%t ) )                  &
-                      ALLOCATE( t_window_v(1)%t(nzb_wall:nzt_wall+1,           &
-                                                1:surf_usm_v(1)%ns) )
-                   READ ( 13 )  tmp_window_v(1)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_window_v(1)%t, tmp_window_v(1)%t,    &
-                                        surf_usm_v(1)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file ,                    &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file, nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_window_v_1(1)%t ) )                &
@@ -7366,23 +6739,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_window_v(2)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_window_v(2)%t ) )                  &
-                      ALLOCATE( t_window_v(2)%t(nzb_wall:nzt_wall+1,           &
-                                                1:surf_usm_v(2)%ns) )
-                   READ ( 13 )  tmp_window_v(2)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_window_v(2)%t, tmp_window_v(2)%t,    &
-                                        surf_usm_v(2)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_window_v_1(2)%t ) )                &
@@ -7401,23 +6757,6 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE ( 't_window_v(3)' )
-#if defined( __nopointer )
-                IF ( k == 1 )  THEN
-                   IF ( .NOT.  ALLOCATED( t_window_v(3)%t ) )                  &
-                      ALLOCATE( t_window_v(3)%t(nzb_wall:nzt_wall+1,           &
-                                                1:surf_usm_v(3)%ns) )
-                   READ ( 13 )  tmp_window_v(3)%t
-                ENDIF
-                CALL surface_restore_elements(                                 &
-                                        t_window_v(3)%t, tmp_window_v(3)%t,    &
-                                        surf_usm_v(3)%start_index,             & 
-                                        start_index_on_file,                   &
-                                        end_index_on_file,                     &
-                                        nxlc, nysc,                            &
-                                        nxlf, nxrf, nysf, nynf,                &
-                                        nys_on_file, nyn_on_file,              &
-                                        nxl_on_file,nxr_on_file )
-#else
                 IF ( k == 1 )  THEN
                    IF ( .NOT.  ALLOCATED( t_window_v_1(3)%t ) )                &
@@ -7435,5 +6774,5 @@
                                         nys_on_file, nyn_on_file,              &
                                         nxl_on_file,nxr_on_file )
-#endif
+
              CASE DEFAULT
 
@@ -7632,5 +6971,5 @@
 
            IF ( usm_par(5,jw,iw) == 0 )  THEN
-#if ! defined( __nopointer )
+
               IF ( zu(kw) >= roof_height_limit )  THEN
                  surf_usm_h%isroof_surf(m)   = .TRUE.
@@ -7640,5 +6979,5 @@
                  surf_usm_h%surface_types(m) = land_category         !< default category for land surface
               ENDIF
-#endif
+
               surf_usm_h%albedo(:,m)    = -1.0_wp
               surf_usm_h%thickness_wall(m) = -1.0_wp
@@ -8188,5 +7527,5 @@
               lambda_surface_green = surf_usm_h%lambda_surf_green(m)
            ENDIF
-#if ! defined( __nopointer )
+
 !            pt1  = pt(k,j,i)
            IF ( humidity )  THEN
@@ -8199,11 +7538,11 @@
            rho_cp  = c_p * hyp(k) / ( r_d * surf_usm_h%pt1(m) * exner(k) )
 
-if (surf_usm_h%frac(ind_pav_green,m).gt.0.0_wp) then
-!
-!--         Calculate frequently used parameters
-            rho_lv    = rho_cp / c_p * l_v
-            drho_l_lv = 1.0_wp / (rho_l * l_v)
-endif
-#endif
+           IF ( surf_usm_h%frac(ind_pav_green,m) > 0.0_wp )  THEN
+!
+!--           Calculate frequently used parameters
+              rho_lv    = rho_cp / c_p * l_v
+              drho_l_lv = 1.0_wp / (rho_l * l_v)
+           ENDIF
+
 !
 !--        Calculate aerodyamic resistance. 
@@ -8637,5 +7976,4 @@
              lambda_surface_green = surf_usm_v(l)%lambda_surf_green(m)
 
-#if ! defined( __nopointer )          
 !            pt1  = pt(k,j,i)
            IF ( humidity )  THEN
@@ -8648,11 +7986,10 @@
              rho_cp  = c_p * hyp(k) / ( r_d * surf_usm_v(l)%pt1(m) * exner(k) )
              
-if (surf_usm_v(l)%frac(1,m).gt.0.0_wp) then
-!
-!--         Calculate frequently used parameters
-            rho_lv    = rho_cp / c_p * l_v
-            drho_l_lv = 1.0_wp / (rho_l * l_v)
-endif
-#endif
+            IF (surf_usm_v(l)%frac(1,m) > 0.0_wp )  THEN
+!
+!--            Calculate frequently used parameters
+               rho_lv    = rho_cp / c_p * l_v
+               drho_l_lv = 1.0_wp / (rho_l * l_v)
+            ENDIF
 
 !--          Calculation of r_a for vertical surfaces
@@ -9053,7 +8390,5 @@
 !--     pt and shf are defined on nxlg:nxrg,nysg:nyng
 !--     get the borders from neighbours
-#if ! defined( __nopointer )
         CALL exchange_horiz( pt, nbgp )
-#endif
 
 !--     calculation of force_radiation_call:
@@ -9188,20 +8523,8 @@
 
        INTEGER(iwp), INTENT(IN) ::  mod_count
+
       
-#if defined( __nopointer )
-       t_surf_wall_h    = t_surf_wall_h_p
-       t_wall_h    = t_wall_h_p
-       t_surf_wall_v    = t_surf_wall_v_p
-       t_wall_v    = t_wall_v_p
-       t_surf_window_h    = t_surf_window_h_p
-       t_window_h    = t_window_h_p
-       t_surf_window_v    = t_surf_window_v_p
-       t_window_v    = t_window_v_p
-       t_surf_green_h    = t_surf_green_h_p
-       t_surf_green_v    = t_surf_green_v_p
-       t_green_h    = t_green_h_p
-       t_green_v    = t_green_v_p
-#else
        SELECT CASE ( mod_count )
+
           CASE ( 0 )
 !
@@ -9239,5 +8562,4 @@
              t_green_v     => t_green_v_2;    t_green_v_p     => t_green_v_1
        END SELECT
-#endif
         
     END SUBROUTINE usm_swap_timelevel
