Index: palm/trunk/SOURCE/Makefile
===================================================================
--- palm/trunk/SOURCE/Makefile	(revision 1305)
+++ palm/trunk/SOURCE/Makefile	(revision 1306)
@@ -20,5 +20,5 @@
 # Current revisions:
 # ------------------
-# 
+# +mod_kinds
 #
 # Former revisions:
@@ -161,7 +161,7 @@
 	lpm_set_attributes.f90 lpm_sort_arrays.f90 \
 	lpm_write_exchange_statistics.f90 lpm_write_restart_file.f90 \
-        ls_forcing.f90 \
-	message.f90 microphysics.f90 modules.f90 netcdf.f90 nudging.f90 \
-        package_parin.f90 palm.f90 parin.f90 plant_canopy_model.f90 poisfft.f90 \
+   ls_forcing.f90 message.f90 microphysics.f90 modules.f90 mod_kinds.f90 \
+   netcdf.f90 nudging.f90 \
+   package_parin.f90 palm.f90 parin.f90 plant_canopy_model.f90 poisfft.f90 \
 	poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 \
 	production_e.f90 prognostic_equations.f90 random_function.f90 \
Index: palm/trunk/SOURCE/mod_kinds.f90
===================================================================
--- palm/trunk/SOURCE/mod_kinds.f90	(revision 1306)
+++ palm/trunk/SOURCE/mod_kinds.f90	(revision 1306)
@@ -0,0 +1,59 @@
+ MODULE kinds
+
+!--------------------------------------------------------------------------------!
+! This file is part of PALM.
+!
+! PALM is free software: you can redistribute it and/or modify it under the terms
+! of the GNU General Public License as published by the Free Software Foundation,
+! either version 3 of the License, or (at your option) any later version.
+!
+! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
+! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along with
+! PALM. If not, see <http://www.gnu.org/licenses/>.
+!
+! Copyright 1997-2014  Leibniz University Hannover
+!--------------------------------------------------------------------------------!
+!
+! Current revisions:
+! ------------------
+!
+!
+! Former revisions:
+! -----------------
+! $Id$
+!
+! Initial revision
+!
+! Description:
+! ------------
+! Standard kind definitions
+! wp (working precision) and iwp (integer working precision) are the kinds
+! used by default in all variable declarations.
+! By default, PALM is using wp = dp (64bit), and iwp = isp (32bit).
+! If you like to switch to other precision, then please set wp/iwp
+! appropriately by assigning other kinds below.
+!------------------------------------------------------------------------------!
+
+    IMPLICIT NONE
+
+!
+!-- Floating point kinds
+    INTEGER, PARAMETER ::  sp = 4           ! single precision (32 bit)
+    INTEGER, PARAMETER ::  dp = 8           ! double precision (64 bit)
+
+!
+!-- Integer kinds
+    INTEGER, PARAMETER ::  isp = SELECTED_INT_KIND(  9 )   ! single precision (32 bit)
+    INTEGER, PARAMETER ::  idp = SELECTED_INT_KIND( 14 )   ! double precision (32 bit)
+
+!
+!-- Set kinds to be used as defaults
+    INTEGER, PARAMETER ::   wp =  dp          ! default real kind
+    INTEGER, PARAMETER ::  iwp = idp          ! default integer kind
+
+    SAVE
+
+ END MODULE kinds
Index: palm/trunk/SOURCE/poisfft.f90
===================================================================
--- palm/trunk/SOURCE/poisfft.f90	(revision 1305)
+++ palm/trunk/SOURCE/poisfft.f90	(revision 1306)
@@ -15,10 +15,11 @@
 ! PALM. If not, see <http://www.gnu.org/licenses/>.
 !
-! Copyright 1997-2012  Leibniz University Hannover
+! Copyright 1997-2014  Leibniz University Hannover
 !--------------------------------------------------------------------------------!
 !
 ! Current revisions:
 ! -----------------
-!
+! openmp sections removed from the overlap branch,
+! second argument removed from parameter list
 !
 ! Former revisions:
@@ -146,34 +147,17 @@
 ! Description:
 ! ------------
-! See below.
+! Original version by Stephan Siano (pois3d), as of July 23, 1996
+! Adapted for 2D-domain-decomposition by Siegfried Raasch, July 3, 1997
+!
+! Solves the Poisson equation with a 2D spectral method
+!        d^2 p / dx^2 + d^2 p / dy^2 + d^2 p / dz^2 = s
+!
+! Input:
+! real    ar   contains (nnz,nny,nnx) elements of the velocity divergence,
+!              starting from (1,nys,nxl)
+!
+! Output:
+! real    ar   contains the solution for perturbation pressure p
 !------------------------------------------------------------------------------!
-
-!--------------------------------------------------------------------------!
-!                             poisfft                                      !
-!                                                                          !
-!                Original version: Stephan Siano (pois3d)                  !
-!                                                                          !
-!  Institute of Meteorology and Climatology, University of Hannover        !
-!                             Germany                                      !
-!                                                                          !
-!  Version as of July 23,1996                                              !
-!                                                                          !
-!                                                                          !
-!        Version for parallel computers: Siegfried Raasch                  !
-!                                                                          !
-!  Version as of July 03,1997                                              !
-!                                                                          !
-!  Solves the Poisson equation with a 2D spectral method                   !
-!        d^2 p / dx^2 + d^2 p / dy^2 + d^2 p / dz^2 = s                    !
-!                                                                          !
-!  Input:                                                                  !
-!  real    ar                 contains in the (nnx,nny,nnz) elements,      !
-!                             starting from the element (1,nys,nxl), the   !
-!                             values for s                                 !
-!  real    work               Temporary array                              !
-!                                                                          !
-!  Output:                                                                 !
-!  real    ar                 contains the solution for p                  !
-!--------------------------------------------------------------------------!
 
     USE fft_xy
@@ -227,5 +211,5 @@
 
 #if ! defined ( __check )
-    SUBROUTINE poisfft( ar, ar_inv_test )
+    SUBROUTINE poisfft( ar )
 
        USE control_parameters,  ONLY : fft_method, transpose_compute_overlap
@@ -236,16 +220,14 @@
        IMPLICIT NONE
 
-       INTEGER ::  ind_even, ind_odd, ind_third, ii, iind, inew, jj, jind,  &
-                   jnew, ki, kk, knew, n, nblk, nnx_y, nny_z, nnz_t, nnz_x, &
-                   nxl_y_bound, nxr_y_bound
+       INTEGER ::  ii, iind, inew, jj, jind, jnew, ki, kk, knew, n, nblk, &
+                   nnx_y, nny_z, nnz_t, nnz_x, nxl_y_bound, nxr_y_bound
        INTEGER, DIMENSION(4) ::  isave
 
        REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr) ::  ar
-       REAL, DIMENSION(nys:nyn,nxl:nxr,1:nz) ::  ar_inv_test ! work array tend from pres
        !$acc declare create( ar_inv )
        REAL, DIMENSION(nys:nyn,nxl:nxr,1:nz) ::  ar_inv
 
-       REAL, DIMENSION(:,:,:),   ALLOCATABLE ::  f_in, f_inv, f_out_y, f_out_z
-       REAL, DIMENSION(:,:,:,:), ALLOCATABLE ::  ar1
+       REAL, DIMENSION(:,:,:),   ALLOCATABLE ::  ar1, f_in, f_inv, f_out_y, &
+                                                 f_out_z
 
 
@@ -408,45 +390,32 @@
           sendrecvcount_zx = nnx * nny * nnz_x
 
-          ALLOCATE( ar1(0:nx,nys_x:nyn_x,nzb_x:nzt_x,2) )
+          ALLOCATE( ar1(0:nx,nys_x:nyn_x,nzb_x:nzt_x) )
           ALLOCATE( f_in(nys:nyn,nxl:nxr,1:nz) )
 
-          DO  kk = 1, nblk+1
-             ind_odd  = MOD( kk,   2 ) + 1
-             ind_even = MOD( kk+1, 2 ) + 1
-!$OMP sections private(ki,knew,n)
-!$OMP section
-             IF ( kk <= nblk )  THEN
-
-                IF ( kk == 1 )  THEN
-                   CALL cpu_log( log_point_s(5), 'transpo forward', 'start' )
-                ELSE
-                   CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
-                ENDIF
-
-                DO  knew = 1, nz
-                   ki = kk + nblk * ( knew - 1 )
-                   f_in(:,:,knew) = f_inv(:,:,ki)
-                ENDDO
-
-                CALL transpose_zx( f_in, ar1(:,:,:,ind_odd))
-                CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
-
+          DO  kk = 1, nblk
+
+             IF ( kk == 1 )  THEN
+                CALL cpu_log( log_point_s(5), 'transpo forward', 'start' )
+             ELSE
+                CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
              ENDIF
 
-!$OMP section
-             IF ( kk >= 2 )  THEN
-
-                IF ( kk == 2 )  THEN
-                   CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
-                ELSE
-                   CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
-                ENDIF
-
-                n = isave(2) + kk - 2
-                CALL fft_x( ar1(:,:,:,ind_even), 'forward',  ar_2d = f_out_z(:,:,n))
-                CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
-
+             DO  knew = 1, nz
+                ki = kk + nblk * ( knew - 1 )
+                f_in(:,:,knew) = f_inv(:,:,ki)
+             ENDDO
+
+             CALL transpose_zx( f_in, ar1(:,:,:))
+             CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
+
+             IF ( kk == 1 )  THEN
+                CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
+             ELSE
+                CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
              ENDIF
-!$OMP end sections
+
+             n = isave(2) + kk - 1
+             CALL fft_x( ar1(:,:,:), 'forward',  ar_2d = f_out_z(:,:,n))
+             CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
 
           ENDDO
@@ -479,49 +448,34 @@
           sendrecvcount_xy = nnx_y * ( nyn_x-nys_x+1 ) * ( nzt_x-nzb_x+1 )
 
-          ALLOCATE( ar1(0:ny,nxl_y:nxr_y,nzb_y:nzt_y,2) )
+          ALLOCATE( ar1(0:ny,nxl_y:nxr_y,nzb_y:nzt_y) )
           ALLOCATE( f_in(nys_x:nyn_x,nzb_x:nzt_x,0:nx) )
 
-          DO  ii = 0, nblk+1
-             ind_odd  = MOD( ii+1, 2 ) + 1
-             ind_even = MOD( ii+2, 2 ) + 1
-!$OMP sections private(ki,knew,n)
-!$OMP section
-             IF ( ii <= nblk )  THEN
-
-                CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
-
-                DO  inew = 0, nx-1
-                   iind = ii + ( nblk + 1 ) * inew
-                   f_in(:,:,inew) = f_inv(:,:,iind)
-                ENDDO
-
-                CALL transpose_xy( f_in, ar1(:,:,:,ind_odd) )
-
-                CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
-
+          DO  ii = 0, nblk
+
+             CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
+
+             DO  inew = 0, nx-1
+                iind = ii + ( nblk + 1 ) * inew
+                f_in(:,:,inew) = f_inv(:,:,iind)
+             ENDDO
+
+             CALL transpose_xy( f_in, ar1(:,:,:) )
+
+             CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
+
+             IF ( ii == 1 )  THEN
+                CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
+             ELSE
+                CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
              ENDIF
 
-!$OMP section
-             IF ( ii >= 1 )  THEN
-
-                IF ( ii == 1 )  THEN
-                   CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
-                ELSE
-                   CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
-                ENDIF
-
-                nxl_y_bound = isave(2)
-                nxr_y_bound = isave(3)
-                n           = isave(2) + ii - 1
-!                CALL fft_y( ar1(:,:,:,ind_even), 'forward', ar_3d = f_out_y, &
-!                            ni = n )
-                CALL fft_y( ar1(:,:,:,ind_even), 'forward', ar_tr = f_out_y, &
-                            nxl_y_bound = nxl_y_bound, nxr_y_bound = nxr_y_bound, &
-                            nxl_y_l = n, nxr_y_l = n )
-
-                CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
-
-             ENDIF
-!$OMP end sections
+             nxl_y_bound = isave(2)
+             nxr_y_bound = isave(3)
+             n           = isave(2) + ii
+             CALL fft_y( ar1(:,:,:), 'forward', ar_tr = f_out_y,               &
+                         nxl_y_bound = nxl_y_bound, nxr_y_bound = nxr_y_bound, &
+                         nxl_y_l = n, nxr_y_l = n )
+
+             CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
 
           ENDDO
@@ -554,69 +508,54 @@
           sendrecvcount_yz = ( nxr_y-nxl_y+1 ) * nny_z * ( nzt_y-nzb_y+1 )
 
-          ALLOCATE( ar1(nxl_z:nxr_z,nys_z:nyn_z,1:nz,3) )
+          ALLOCATE( ar1(nxl_z:nxr_z,nys_z:nyn_z,1:nz) )
           ALLOCATE( f_in(nxl_y:nxr_y,nzb_y:nzt_y,0:ny) )
 
-          DO  jj = 0, nblk+2
-             ind_odd   = MOD( jj+3, 3 ) + 1
-             ind_even  = MOD( jj+2, 3 ) + 1
-             ind_third = MOD( jj+1, 3 ) + 1
-!$OMP sections private(ki,knew,n)
-!$OMP section
-             IF ( jj <= nblk )  THEN
-!
-!--             Forward Fourier Transformation
-!--             Transposition y --> z
-                CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
-
-                DO  jnew = 0, ny-1
-                   jind = jj + ( nblk + 1 ) * jnew
-                   f_in(:,:,jnew) =f_inv(:,:,jind)
-                ENDDO
-
-                CALL transpose_yz( f_in, ar1(:,:,:,ind_odd) )
-
-                IF ( jj == nblk )  THEN
-                   CALL cpu_log( log_point_s(5), 'transpo forward', 'stop' )
-                ELSE
-                   CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
-                ENDIF
-
+          DO  jj = 0, nblk
+!
+!--          Forward Fourier Transformation
+!--          Transposition y --> z
+             CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
+
+             DO  jnew = 0, ny-1
+                jind = jj + ( nblk + 1 ) * jnew
+                f_in(:,:,jnew) = f_inv(:,:,jind)
+             ENDDO
+
+             CALL transpose_yz( f_in, ar1(:,:,:) )
+
+             IF ( jj == nblk )  THEN
+                CALL cpu_log( log_point_s(5), 'transpo forward', 'stop' )
+             ELSE
+                CALL cpu_log( log_point_s(5), 'transpo forward', 'pause' )
              ENDIF
 
-             IF ( jj >= 2 )  THEN
-!
-!--             Inverse Fourier Transformation
-!--             Transposition z --> y
-!--             Only one thread should call MPI routines, therefore forward and
-!--             backward tranpose are in the same section
-                IF ( jj == 2 )  THEN
-                   CALL cpu_log( log_point_s(8), 'transpo invers', 'start' )
-                ELSE
-                   CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
-                ENDIF
-
-                CALL transpose_zy( ar1(:,:,:,ind_third), f_in )
-
-                DO  jnew = 0, ny-1
-                   jind = jj-2 + ( nblk + 1 ) * jnew
-                   f_inv(:,:,jind) = f_in(:,:,jnew)
-                ENDDO
-
-                CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
-
+!
+!--          Solve the tridiagonal equation system along z
+             CALL cpu_log( log_point_s(6), 'tridia', 'start' )
+
+             n = isave(2) + jj
+             CALL tridia_substi_overlap( ar1(:,:,:), n )
+
+             CALL cpu_log( log_point_s(6), 'tridia', 'stop' )
+
+!
+!--          Inverse Fourier Transformation
+!--          Transposition z --> y
+!--          Only one thread should call MPI routines, therefore forward and
+!--          backward tranpose are in the same section
+             IF ( jj == 0 )  THEN
+                CALL cpu_log( log_point_s(8), 'transpo invers', 'start' )
+             ELSE
+                CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
              ENDIF
 
-!$OMP section
-             IF ( jj >= 1  .AND.  jj <= nblk+1 )  THEN
-!
-!--             Solve the tridiagonal equation system along z
-                CALL cpu_log( log_point_s(6), 'tridia', 'start' )
-
-                n = isave(2) + jj - 1
-                CALL tridia_substi_overlap( ar1(:,:,:,ind_even), n )
-
-                CALL cpu_log( log_point_s(6), 'tridia', 'stop' )
-             ENDIF
-!$OMP end sections
+             CALL transpose_zy( ar1(:,:,:), f_in )
+
+             DO  jnew = 0, ny-1
+                jind = jj + ( nblk + 1 ) * jnew
+                f_inv(:,:,jind) = f_in(:,:,jnew)
+             ENDDO
+
+             CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
 
           ENDDO
@@ -650,50 +589,35 @@
           sendrecvcount_xy = nnx_y * ( nyn_x-nys_x+1 ) * ( nzt_x-nzb_x+1 )
 
-          ALLOCATE( ar1(0:ny,nxl_y:nxr_y,nzb_y:nzt_y,2) )
+          ALLOCATE( ar1(0:ny,nxl_y:nxr_y,nzb_y:nzt_y) )
           ALLOCATE( f_in(nys_x:nyn_x,nzb_x:nzt_x,0:nx) )
 
-          DO  ii = 0, nblk+1
-             ind_odd  = MOD( ii+1, 2 ) + 1
-             ind_even = MOD( ii+2, 2 ) + 1
-!$OMP sections private(ki,knew,n)
-!$OMP section
-             IF ( ii <= nblk )  THEN
-
-                CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
-
-                n = isave(2) + ii
-                nxl_y_bound = isave(2)
-                nxr_y_bound = isave(3)
-
-!                CALL fft_y( ar1(:,:,:,ind_even), 'backward', ar_3d = f_out_y, &
-!                            ni = n )
-                CALL fft_y( ar1(:,:,:,ind_even), 'backward', ar_tr = f_out_y, &
-                            nxl_y_bound = nxl_y_bound, nxr_y_bound = nxr_y_bound, &
-                            nxl_y_l = n, nxr_y_l = n )
-
-                IF ( ii == nblk )  THEN
-                   CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
-                ELSE
-                   CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
-                ENDIF
-
+          DO  ii = 0, nblk
+
+             CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
+
+             n = isave(2) + ii
+             nxl_y_bound = isave(2)
+             nxr_y_bound = isave(3)
+
+             CALL fft_y( ar1(:,:,:), 'backward', ar_tr = f_out_y,              &
+                         nxl_y_bound = nxl_y_bound, nxr_y_bound = nxr_y_bound, &
+                         nxl_y_l = n, nxr_y_l = n )
+
+             IF ( ii == nblk )  THEN
+                CALL cpu_log( log_point_s(7), 'fft_y', 'stop' )
+             ELSE
+                CALL cpu_log( log_point_s(7), 'fft_y', 'pause' )
              ENDIF
 
-!$OMP section
-             IF ( ii >= 1 )  THEN
-
-                CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
-
-                CALL transpose_yx( ar1(:,:,:,ind_odd), f_in )
-
-                DO  inew = 0, nx-1
-                   iind = ii-1 + (nblk+1) * inew
-                   f_inv(:,:,iind) = f_in(:,:,inew)
-                ENDDO
-
-                CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
-
-             ENDIF
-!$OMP end sections
+             CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
+
+             CALL transpose_yx( ar1(:,:,:), f_in )
+
+             DO  inew = 0, nx-1
+                iind = ii + (nblk+1) * inew
+                f_inv(:,:,iind) = f_in(:,:,inew)
+             ENDDO
+
+             CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
 
           ENDDO
@@ -727,47 +651,34 @@
           sendrecvcount_zx = nnx * nny * nnz_x
 
-          ALLOCATE( ar1(0:nx,nys_x:nyn_x,nzb_x:nzt_x,2) )
+          ALLOCATE( ar1(0:nx,nys_x:nyn_x,nzb_x:nzt_x) )
           ALLOCATE( f_in(nys:nyn,nxl:nxr,1:nz) )
 
-          DO  kk = 1, nblk+1
-             ind_odd  = MOD( kk,   2 ) + 1
-             ind_even = MOD( kk+1, 2 ) + 1
-!$OMP sections private(ki,knew,n)
-!$OMP section
-             IF ( kk <= nblk )  THEN
-
-                CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
-
-                n = isave(2) + kk - 1
-                CALL fft_x( ar1(:,:,:,ind_even), 'backward', f_out_z(:,:,n))
-
-                IF ( kk == nblk )  THEN
-                   CALL cpu_log( log_point_s(4), 'fft_x', 'stop' )
-                ELSE
-                   CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
-                ENDIF
-
+          DO  kk = 1, nblk
+
+             CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
+
+             n = isave(2) + kk - 1
+             CALL fft_x( ar1(:,:,:), 'backward', f_out_z(:,:,n))
+
+             IF ( kk == nblk )  THEN
+                CALL cpu_log( log_point_s(4), 'fft_x', 'stop' )
+             ELSE
+                CALL cpu_log( log_point_s(4), 'fft_x', 'pause' )
              ENDIF
 
-!$OMP section
-             IF ( kk >= 2 )  THEN
-
-                CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
-
-                CALL transpose_xz( ar1(:,:,:,ind_odd), f_in )
-
-                DO  knew = 1, nz
-                   ki = kk-1 + nblk * (knew-1)
-                   f_inv(:,:,ki) = f_in(:,:,knew)
-                ENDDO
-
-                IF ( kk == nblk+1 )  THEN
-                   CALL cpu_log( log_point_s(8), 'transpo invers', 'stop' )
-                ELSE
-                   CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
-                ENDIF
-
+             CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
+
+             CALL transpose_xz( ar1(:,:,:), f_in )
+
+             DO  knew = 1, nz
+                ki = kk + nblk * (knew-1)
+                f_inv(:,:,ki) = f_in(:,:,knew)
+             ENDDO
+
+             IF ( kk == nblk )  THEN
+                CALL cpu_log( log_point_s(8), 'transpo invers', 'stop' )
+             ELSE
+                CALL cpu_log( log_point_s(8), 'transpo invers', 'pause' )
              ENDIF
-!$OMP end sections
 
           ENDDO
Index: palm/trunk/SOURCE/pres.f90
===================================================================
--- palm/trunk/SOURCE/pres.f90	(revision 1305)
+++ palm/trunk/SOURCE/pres.f90	(revision 1306)
@@ -20,5 +20,5 @@
 ! Current revisions:
 ! ------------------
-!
+! second argument removed from routine poisfft
 !
 ! Former revisions:
@@ -414,5 +414,5 @@
        IF ( psolver == 'poisfft' )  THEN
 
-          CALL poisfft( d, tend )
+          CALL poisfft( d )
 
        ENDIF
