Index: /palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_3d_model.f90	(revision 2349)
+++ /palm/trunk/SOURCE/init_3d_model.f90	(revision 2350)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! Bugfix in nopointer version
+! 
+! 2339 2017-08-07 13:55:26Z gronemeier
 ! corrected timestamp in header
 ! 
@@ -616,5 +619,5 @@
                           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) 
+                          tnc_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg),             & 
                           tqc_m(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
 #else
Index: /palm/trunk/SOURCE/pmc_interface_mod.f90
===================================================================
--- /palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 2349)
+++ /palm/trunk/SOURCE/pmc_interface_mod.f90	(revision 2350)
@@ -26,4 +26,7 @@
 ! -----------------
 ! $Id$
+! Bugfix and error message for nopointer version.
+! 
+! 2318 2017-07-20 17:27:44Z suehring
 ! Get topography top index via Function call 
 ! 
@@ -171,6 +174,6 @@
 #if defined( __nopointer )
     USE arrays_3d,                                                             &
-        ONLY:  dzu, dzw, e, e_p, nc, nr, pt, pt_p, q, q_p, qc, qr, u, u_p, v,  &
-               v_p, w, w_p, zu, zw
+        ONLY:  dzu, dzw, e, e_p, nc, nr, pt, pt_p, q, q_p, qc, qr, s, u, u_p,  &
+               v, v_p, w, w_p, zu, zw
 #else
    USE arrays_3d,                                                              &
@@ -504,4 +507,10 @@
     INTEGER(iwp)         ::  pmc_status   !:
 
+!
+!-- NOPOINTER version not implemented yet
+#if defined( __nopointer )
+    message_string = 'The pmc interface only runs with POINTER version'
+    CALL message( 'pmc_interface_mod', 'PA0420', 1, 2, 0, 6, 0 )
+#endif
 
     CALL pmc_init_model( world_comm, nesting_datatransfer_mode, nesting_mode,   &
Index: /palm/trunk/SOURCE/swap_timelevel.f90
===================================================================
--- /palm/trunk/SOURCE/swap_timelevel.f90	(revision 2349)
+++ /palm/trunk/SOURCE/swap_timelevel.f90	(revision 2350)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! Bugfix in nopointer version
+! 
+! 2292 2017-06-20 09:51:42Z schwenkel
 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 
 ! includes two more prognostic equations for cloud drop concentration (nc)  
@@ -108,6 +111,6 @@
 #if defined( __nopointer )
     USE arrays_3d,                                                             &
-        ONLY:  e, e_p, 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
+        ONLY:  e, e_p, 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,                                                             &
Index: /palm/trunk/SOURCE/urban_surface_mod.f90
===================================================================
--- /palm/trunk/SOURCE/urban_surface_mod.f90	(revision 2349)
+++ /palm/trunk/SOURCE/urban_surface_mod.f90	(revision 2350)
@@ -26,4 +26,9 @@
 ! -----------------
 ! $Id$
+! Bugfix and error message for nopointer version. 
+! Additional "! defined(__nopointer)" as workaround to enable compilation of 
+! nopointer version.
+! 
+! 2318 2017-07-20 17:27:44Z suehring
 ! Get topography top index via Function call 
 ! 
@@ -135,6 +140,8 @@
  MODULE urban_surface_mod
 
+#if ! defined( __nopointer )
     USE arrays_3d,                                                             &
         ONLY:  zu, pt, pt_1, pt_2, p, u, v, w, hyp, tend
+#endif
 
     USE cloud_parameters,                                                      &
@@ -441,7 +448,7 @@
 
 #if defined( __nopointer )
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_wall_h             !< Wall temperature (K)
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_wall_h_av          !< Average of t_wall
-    REAL(wp), DIMENSION(:), ALLOCATABLE, TARGET    :: t_wall_h_p           !< Prog. wall temperature (K)
+    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h             !< Wall temperature (K)
+    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h_av          !< Average of t_wall
+    REAL(wp), DIMENSION(:,:), ALLOCATABLE, TARGET    :: t_wall_h_p           !< Prog. wall temperature (K)
 
     TYPE(t_wall_vertical), DIMENSION(0:3), TARGET  :: t_wall_v             !< Wall temperature (K)
@@ -3156,5 +3163,11 @@
         INTEGER(iwp) ::  i, j, k, l, m            !< running indices
         REAL(wp)     ::  c, d, tin, exn
-        
+
+!
+!-- 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' )
@@ -3221,4 +3234,5 @@
 !--         At horizontal surfaces. Please note, t_surf_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)            
@@ -3239,5 +3253,5 @@
                ENDDO
             ENDDO
-
+#endif
       
 !--         initial values for t_wall
@@ -3519,10 +3533,10 @@
         INTEGER(iwp), DIMENSION(0:3) :: reorder = (/ 1, 0, 3, 2 /)
         
-        
+#if ! defined( __nopointer )
         IF ( plant_canopy )  THEN
             pchf_prep(:) = r_d * (hyp(nzub:nzut) / 100000.0_wp)**0.286_wp &
                         / (cp * hyp(nzub:nzut) * dx*dy*dz) !< equals to 1 / (rho * c_p * Vbox * T)
         ENDIF
-
+#endif
         sun_direction = .TRUE.
         CALL calc_zenith  !< required also for diffusion radiation
@@ -3782,4 +3796,5 @@
 
 !--     push heat flux absorbed by plant canopy to respective 3D arrays
+#if ! defined( __nopointer )
         IF ( plant_canopy )  THEN
             pc_heating_rate(:,:,:) = 0._wp
@@ -3795,4 +3810,5 @@
             ENDDO
         ENDIF
+#endif
 !
 !--     Transfer radiation arrays required for energy balance to the respective data types
@@ -4293,5 +4309,4 @@
                                               t_surf_h, tmp_surf_h,            &
                                               surf_usm_h%start_index )
-                      ENDIF
 #else                      
                       IF ( kk == 1 )  THEN
@@ -4315,5 +4330,4 @@
                                               t_surf_v(0)%t, tmp_surf_v(0)%t,  &
                                               surf_usm_v(0)%start_index )
-                      ENDIF
 #else                      
                       IF ( kk == 1 )  THEN
@@ -4459,5 +4473,4 @@
                                               t_wall_v(2)%t, tmp_wall_v(2)%t,  &
                                               surf_usm_v(2)%start_index )
-                      ENDIF
 #else
                       IF ( kk == 1 )  THEN
@@ -4812,4 +4825,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.
@@ -4819,4 +4833,5 @@
                  surf_usm_h%surface_types(m) = land_category         !< default category for land surface
               ENDIF
+#endif
               surf_usm_h%albedo_surf(m)    = -1.0_wp
               surf_usm_h%thickness_wall(m) = -1.0_wp
@@ -5038,6 +5053,7 @@
 
         dxdir = (/dz,dy,dy,dx,dx/)
-        
+#if ! defined( __nopointer )
         exn(:) = (hyp(nzub:nzut) / 100000.0_wp )**0.286_wp          !< Exner function
+#endif
 !        
 !--     First, treat horizontal surface elements
@@ -5058,9 +5074,10 @@
               lambda_surface = surf_usm_h%lambda_surf(m)
            ENDIF
-            
+#if ! defined( __nopointer )
            pt1  = pt(k,j,i)
 !
 !--        calculate rho * cp coefficient at surface layer
            rho_cp  = cp * hyp(k) / ( r_d * pt1 * exn(k) )
+#endif
 !
 !--        Calculate aerodyamic resistance. 
@@ -5138,5 +5155,7 @@
 !--        pt(k,j,i) is calculated for all directions in diffusion_s
 !--        using surface and wall heat fluxes
+#if ! defined( __nopointer )
            pt(k-1,j,i) = t_surf_h_p(m) / exn(k)  ! not for vertical surfaces
+#endif
 
 !--        calculate fluxes
@@ -5172,9 +5191,10 @@
 !--          stratification is not considered in this case.
              lambda_surface = surf_usm_v(l)%lambda_surf(m)
-            
+#if ! defined( __nopointer )          
              pt1  = pt(k,j,i)
 !
 !--          calculate rho * cp coefficient at surface layer
              rho_cp  = cp * hyp(k) / ( r_d * pt1 * exn(k) )
+#endif
 
 !--          Calculation of r_a for vertical surfaces
@@ -5201,7 +5221,9 @@
 !--          obtained by simple linear interpolation. ( An alternative would
 !--          be an logarithmic interpolation. )
+#if ! defined( __nopointer )
              u1 = ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp
              v1 = ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp
              w1 = ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp
+#endif
                 
              Ueff   = SQRT( u1**2 + v1**2 + w1**2 )
@@ -5317,5 +5339,7 @@
 !--     pt and shf are defined on nxlg:nxrg,nysg:nyng
 !--     get the borders from neighbours
+#if ! defined( __nopointer )
         CALL exchange_horiz( pt, nbgp )
+#endif
 
 
